Programming120 동기와 비동기 (synchronous, Asynchronous ) 목차 동기 - synchronous 비동기 - Asynchronous 정리 javascript의 ajax, JAVA 외부 API 등을 호출하다 보면 데이터를 주고받을 때 동기 방식 혹은 비동기 방식으로 할지 정합니다. 각각의 정의와 특징을 알아보고 비교해봅시다. 동기 - synchronous 요청과 결과가 동시에 일어난다는 것입니다. 요청을 했으면 응답이 주어질 때까지 대기합니다. 위 화면에서 "확인" 버튼을 누르면 다음과 같은 프로세스가 이뤄질겁니다. 현재 비밀번호가 일치하지 않는다면 3번까지만 진행됩니다. 즉 1번 요청에 대한 응답이 이뤄져야만 그다음 4번 요청을 하게 됩니다. 동시에 일어난다는 것은 요청에 따른 응답(결과)이 동시에 일어난다는 의미입니다. 따라서 위 프로세스는 아래와 같이 순차적으로.. 2022. 1. 24. System.out.println 보단 logger System.out.println API 패키지 : java.lang (Java 기본 API) System.out.println("Hello World!"); 추후 logger를 배우게 되면서 위 API를 호출하는 것이 아니라 여러 JAVA 로깅 라이브러리 (log4j2, logback) 중 하나를 선택하여 로깅을 하게 됩니다. Logger 라이브러리 : slf4j, log4j2, logback 등 import org.slf4j.Logger; import org.slf4j.LoggerFactory; ... private static final Logger logger = LoggerFactory.getLogger(HomeController.class); ... logger.debug("Hello Worl.. 2022. 1. 18. [TOMCAT] 다중 Context(톰캣) 세션 충돌 문제 이슈 하나의 서버에 포트를 달리하여 여러 프로젝트를 운영하는 경우 (1 IP, 1 Tomcat, multiple Context) 하나의 서버에 여러 톰캣을 설치하여 여러 프로젝트를 운영하는 경우 (1 IP, multiple Tomcat, multiple Context) 위 2가지 경우에 서로 사이트를 교차해서 접속하다보면 세션이 종료(충돌)되는 경우가 발생한다. 원인 이는 WAS가 JESSIONID 쿠키를 여러 Context에 발급해주면서 발생하는 문제이다. * Context = Tomcat (was)에 올라가는 하나의 web aplication 해결방안 톰캣이 각 Context의 JESSIONID를 다른 이름으로 발급해주도록 설정해준다. ../tomcat/conf/server.xml .... ... 2022. 1. 17. 세션과 쿠키, JESSIONID 목차 쿠키와 세션이 왜 필요한가. HTTP 프로코톨의 2가지 특징 쿠키 (Cookie) 세션 (Session) 쿠키와 세션의 차이 쿠키와 세션이 왜 필요한가. HTTP 프로토콜의 2가지 특징 connectionless stateless 클라이언트 (브라우저)와의 통신 (request -> response)가 끝나면 연결을 끊어버립니다. (1.connectionless) 통신이 끊기고 나면 서로의 상태정보를 유지하지 않습니다. (2.stateless) 쿠키와 세션이 없다면 로그인후 페이지를 이동(request)할 떄마다 사용자는 로그인을 해야합니다. 클라이언트의 state(로그인 상태)를 서버에 알려주기 위해서말이죠. 쿠키 (Cookie) 쿠키는 클라이언트가 가지고 있는 텍스트 형식 데이터파일입니다. 쿠키.. 2022. 1. 14. JAVA logging framework (기본) - slf4j, log4j와 logback 목차 로깅이란? 로깅을하는 이유 log4j logback log4j2 slf4j (공통 추상체) log4j2 vs logback log4j2 보안 이슈 로깅이란? 시스템의 동작 시 상태 / 동작 정보 등을 시간의 경과에 따라 기록한 것을 로그, 이렇게 기록하는 행위를 로깅이라 함. 로깅을 하는 이유 로그는 프로그램 동작 과정, 기록 그 자체입니다. 로그를 통해 시스템의 동작 과정, 사용자의 이용 패턴 등을 분석할 수 있고 나아가 법적인 분쟁이슈, 증거자료 등에도 충분히 쓰일 수 있습니다. JAVA에서 많이들 사용하는 logging framework에는 크게 2가지(log4j, logback)가 있고 그 상위에 구현체 한가지 (slf4j)가 있습니다. 이 글에서는 이 것들을 명확히 구분하여 인식하고자 합니.. 2022. 1. 14. [SPRING] @Qualifier : 동일한 이름의 bean이 존재한다면? @Component public class Car{ ... } public class Ray implements Car{ ... } public class Genesis implements Car{ ... } public class test{ @Autowired private Car car; ... } 레이, 제네시스 둘다 Car.java를 구현했다. 그리고 test.java에서 car객체의 의존성 주입을 했고, 컨테이너 초기화시 Exception을 발생했다! 이는 컨테이너가 car를 빈으로 등록하려하자 등록할 수 있는 후보가 여러개이기 때문에 발생한다. 이를 해결해주는 어노테이션이 @Qualifier이다. @Component public class Car{ ... } @Qualifier("ray") /.. 2022. 1. 14. 이전 1 ··· 17 18 19 20 다음