전체 글 44

War와 Jar 파일 차이점

- War 파일 War 파일은 Jar 파일과 다르게 내장 웹 애플리케이션 서버(WAS)가 존재하지 않아, 웹 애플리케이션 서버(WAS)를 별도로 설치 후에 WAS 기반 위에서 실행된다. 개발 환경에서도 별도록 WAS와 연동되도록 추가 설정을 해주어야 한다. - Jar 파일 Jar 파일 빌드 시에 내장 톰켓을 포함하고 있다. Jar 파일을 실행하기만 하면 톰캣(Was)가 함께 실행된다. 개발환경에서 WAS를 별도로 연동하기 위한 설정을 진행하지 않아도 된다.

java spring 2023.12.26

javascript location 객체

location 객체란 Windows 객체의 Property로 문서의 주소에 대한 객체이다. 해당 객체를 통해 원도우 문서에 대한 정보를 얻거나 수정할 수 있다. 원도우의 문서가 위치하는 Url GET 함수 console.log(location.toString(), location.href); Url 변경 location.href = "http://egoing.net"; location = "http://egoing.net"; Url Parsing Example : https://opentutorials.org:80/module/904/663#bookmark 1. location.protocol console.log(location.protocol); result : https: 2. location.h..

카테고리 없음 2022.08.28

팩토리 패턴(factory pattern)

팩토리 패턴이란? 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴이자 상속관계에 있는 두 클래스에서 상위 클래스가 중요한 벼대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴 class Latte { constructor() { this.name = "latte" } } class Espresso { constructor() { this.name = "Espresso" } } class LatteFactory() { static createCoffee() { return new Latte(); } } class EspressoFactory() { static createCoffee() { return new Espresso(); } } const factory..

카테고리 없음 2022.08.15

JSTL 삼항연산자 (if, contains 사용)

taglib 선언 반복문 ( If 문 ) System.out.println("hello world"); if - else 문을 사용해야 하는 경우 태그를 통해 전체적으로 묶어준다. System.out.println(" if "); System.out.println(" else if "); System.out.println(" else "); JSTL 값 비교 연산자 연산자 의미 eq 값이 동일한지 물어보는 연산자 (=) ne 값이 동일하지 않은지 물어보는 연산자 (!=) empty 값이 null 또는 빈값인지 물어보는 연산자 System.out.println(" eq "); System.out.println(" ne "); System.out.println(" empty "); 값에 따라 css 변경하기..

카테고리 없음 2022.08.15

Spring boot에 log4j2 적용하기

- Log4j2 사용 배경 신입 1개월 차에 회사에서 Spring boot로 Proxy 서버를 만드는 과제를 받았다. Proxy 서버의 기능이 어느정도 구현된 이후에 PO님께 미션을 받았다. PO님 : 이제 이걸 백그라운드로 배포해야 하는데. log4j로 로그가 파일로 남기게 설정해주세요~ 개발한 코드의 사후관리를 위해서는 모니터링이 꼭 필요하다. 이 모니터링을 위해서 애플리케이션의 로그를 파일로 남겨지도록 해야한다. - Log4j2 적용 방법 1. build.gradle에 dependency 추가 Spring boot를 사용한다면 다음과 같이 dependency가 추가되어 있을 것이다. dependencies { implementation 'org.springframework.boot:spring-bo..

java spring 2022.02.27

싱글톤 패턴(Singleton Pattern)

싱글톤 패턴이란? 어플리케이션이 시작될 때, 어떠한 클래스가 한번만 생성되어 최초의 한번만 메모리가 할당되게 하는 것이다. 하나의 객체를 여러 클래스에서 공유해야 할 때 사용된다. 예제 ) 다크모드와 라이트모드를 지원하는 어플리케이션이 있다. 애플리케이션은 각각의 화면에 따라 클래스를 다르게 구성한다. 이 과정에서 애플리케이션이 현재 다크모드인지 라이트모드인지 상태가 공유되지 않을 수 있다. 이런 경우를 대비하기 위해 싱클톤 패턴을 사용한다. public class FirstPage { // 라이트모드, 다크모드 여부 // new Setting() 가 아니라 getSettings()로 불러옴. private Settings settings = Settings.getSetti..

디자인 패턴 2022.02.27

자바 전역 변수, 지역 변수 선언 차이점

자바는 선언 위치에 전역 변수, 지역 변수로 나누어 진다. - 전역변수 : 어디서든 사용 가능한 변수 - 지역변수 : 특정 지역에서 선언되어, 선언된 지역에서만 사용 가능한 변수 전역변수는 초기화가 꼭 필요하지 않지만, 지역변수는 초기화가 필요하다. [예제] public class Test() { String str1; // 정상 public static void main(String[] args) { String str2; // 선언시에는 정상, 초기화 안하고 사용시 컴파일 에러 String str2 = ""; // 정상 String str2 = new String(""); // 정상 } }

카테고리 없음 2022.02.22

HttpClient WARNING: Cookie rejected: Illegal domain attribute 해결방법

RestTemplate을 사용하여 특정 Url을 조회하는 코드를 포함한 Spring boot 프로젝트를 서버를 배포하던 중 다음과 같은 오류가 발생하였다. 2022-01-28 13:17:32.243 WARN 10664 --- [ restartedMain] o.a.h.c.protocol.ResponseProcessCookies : Invalid cookie header: "Set-Cookie: AWSALB=GLC7UzreO+rTzXNlwMuiB6mONl3Ih++VelqGEo8WUnZ8XsW7l9RwIDsOXFipfqfNFHjkWEwl2vbSpLuPj30vNHsti8uYx8pNudxsFmF2g5z5WK4dMyiAN8AKy4ng; Expires=Thu, 12 Aug 2021 04:17:32 GMT; Path=..

java spring 2022.01.30

Git과 SVN 차이점

About Git 리눅스 기반 형상관리 툴. 매우 빠른 속도로 동작한다. 서버에 접속하지 않아도 나중에 연결되었을 때 서버에 반영 가능하다. 소스코드 분실 가능성이 매우 낮다. 단점은 소스코드를 편집 시 Lock을 걸지 못한다. 그래서 충돌이 나면 해결 후 업로드해야 한다. SVN과 Git의 차이점 중앙 저장소 SVN은 저장소에 중앙 서버가 있고, commit할 시에 코드가 중앙 서버로 전달된다. 그래서 인터넷이 안되는 환경이나 중아서버에 문제가 발생한 경우에는 협업이 불가능하다. Git은 각 클라이언트가 모두 저장소를 가진다. 그래서 서버에 문제가 생겨도 지속적인 작업이 가능하다. 중앙집중식 이외에 다양한 워크플로우가 구현가능하다. 스테이지 영역 SVN은 커밋할 때 모든 변경사항을 커밋 대상이 된다. ..

Git 2022.01.05