*_외부 io 에 관한 async *_에서 처리가 안되면 에러를 회신한다. https://velog.io/@codemcd/Sync-VS-Async-Blocking-VS-Non-Blocking-sak6d01fhx https://grip.news/archives/1304 https://www.youtube.com/watch?v=ReZGUG0f2Zs 목차 NIO 소개 파일과 디렉토리 버퍼(Buffer) 파일 채널(FileChannel) TCP 동기(블로킹) 채널 TCP 넌블로킹 채널 UDP 채널 비동기 파일 채널 TCP 비동기 채널 NIO 소개 NIO(New Input/Output) 기존 java.io.API 와 다른 새로운 입출력 API를 말한다. 자바 4에 처음 추가 되어 자바 7부터 네트워크 지원이 강화..
학습 목표 세션ㅣ 기본 객체와 세셩 session 속성 세션을 사용한 로그인 처리 서버 세션을 이용해 클라이언트의 상태를 저장할 수 있다. 쿠키와의 차이점은 세션은 웹브라우저가 아니라 서버에 값을 저장한다는 것이다. 서버는 세션을 사용해 클라이언트 상태를 유지할 수 있기 때문에, 로그인한 사용자의 정보를 유지하기 떄문에, 로그인한 사용자 정보를 유지하기 위한 목적으로 세션을 사용한다. 세션 사용하기: session 기본 객체 세션은 웹브라우저와 연관된 서버 영역의 저장공간이다. '웹 컨테이너'는 기본적으로 한 웹 브라우저 마다 한 세션을 생성한다. 즉, 같은 JSP 페이지라도 웹 브라우저에 따라 서로 다른 세션을 사용하낟. 웹 브라우저별 세션이 존재해, 세션은 웹 브라우저와 연관된 정보를 저장하기에 알맞..
학습 목표 쿠키란 쿠키 생성과 사용 쿠키를 이용한 로그인 처리 웹서버는 쿠키를 이용해 웹 브라우저에 정보를 전송할 수 있다. 웹 서버로부터 쿠키를 전달받은 웹 브라우저는 이후에 웹 서버에 요청을 보낼 때, 쿠키를 함께 전송한다. 이를 사용하면, 사용해 웹 서버와 웹 브라우저는 필요한 값을 공유하고 상태를 유지할 수 있다. 쿠키 사용하기 쿠키는 웹브라우저가 보관하는 데이터이다. 웹 브라우저는 웹 서버에 요청할때, 쿠키를 함께 전송하고, 웹 서버는 웹 브라우저가 전송한 쿠키를 사용해 필요한 데이터를 읽을 수 있다. JSP 에서 생성하는 쿠키는 웹 서버에서 생성하는 쿠키이다. [ 쿠키의 동작 방식] 쿠키 생성단계: 쿠키를 사용하려면 먼저 쿠키를 생성해야한다. JSP 프로그래밍에서 쿠키는 웹서버 측에서 생성한다..
학습 목표 jsp 소스 코드가 어떤 과정을 거펴서 웹 브라우저의 서비스 요청에 응답하는지와 출력 버퍼가 응답과정에서 어떻게 동작하는지 살펴볼 것이다. jsp 의 요청 처리 과정 출력 버퍼 웹 어플리케이션 폴더 구조 war 파일 jsp 처리 과정 JSP 에 해당하는 서블릿이 존재하지 않는 겨웅 JSP 페이지로부터 자바 코드를 생성한다. 자바 코드를 컴파일해서 서블릿 클래스를 생성한다. 서블릿에 클라이언트 요청을 전달한다. 서블릿이 요청을 처리한 결과를 응답으로 생성한다. 응답을 웹 브라우저에 전송한다. JSP 에 해당하는 서블릿에 존재하는 경우 서블릿에 클라이언트 요청을 전달한다. 서블릿이 요청을 처리한 결과를 응답으로 생성한다. 응답을 웹브라우저에 전달한다. 톰캣은 work 폴더에 JSP 를 변환한 자바..
정적 컨텐츠(정적 파일 딱) MVC 와 템플릿 엔진(서버 가공 후 딱) API(json 던지기) 정적 컨텐츠 스프링 부트 정적 컨텐츠 기능 https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-bootfeatures.html#boot-features-spring-mvc-static-content 실행 http://localhost:8080/hello-static.html 정적 컨텐츠 이미지 MVC와 템플릿 엔진 MVC: Model, View, Controller Controller ㅣ 비즈니스 로직,서버 처리 @Controller public class HelloController { @GetMapping("hello-mv..
프로젝트 생성 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 https://start.spring.io 프로젝트 선택 Project: Gradle Project Spring Boot: 2.3.x Language: Java Packaging: Jar Java: 11 Project Metadata groupId: hello artifactId: hello-spring Dependencies: Spring Web, Thymeleaf IntelliJ Gradle 대신에 자바 직접 실행 최근 IntelliJ 버전은 Gradle을 통해서 실행 하는 것이 기본 설정이다. 이렇게 하면 실행속도가 느리다. 다음과 같이 변경하면 자바로 바로 실행해서 실행속도가 더 빠르다. Preferences➡ Build, ..
[intelly j ] 자바 버전, 프로젝트 초기 세팅 test 실행 빨리 되게 하려면 intelliJ 에서 바로 빌드 하게 것 jvm 버전 체크 [intelly j ] spring html 파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경 https://velog.io/@bread_dd/Spring-Boot-Devtools) 참고: spring-boot-devtools 라이브러리를 추가하면, html 파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경이 가능하다. 인텔리J 컴파일 방법: 메뉴 build Recompile 자바 버전 안맞아서 java: invalid source release: 11에러일 경우 https://countryxide.tistory.com/92 reforma..
목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 마감일시 2021년 1월 23일 토요일 오후 1시까지. 스레드란? JVM 이 시작되면, JAVA 프로세스가 시작란다. 이 프로세스라는 울타리 안에서 여러 쓰레드가 아둥바둥 살게됩니다. 어느 프로세스 간에 쓰레드가 하나 이상 수행됩니다. JVM 은 기본적으로 아무런 옵션 없이 실행하면, os 마다 다르지만, 적어도 32MB ~ 64MB 의 물리 메모리를 점유합니다. 이에 반해, 쓰레드를 하나 추가하면, 1MB 이내의 메모리를 점유합니다. 이러한 이유로, 쓰레드를 경량 프로세스, 실행 컨텍스트(Execution Context)..
- Total
- Today
- Yesterday
- 쉘스크립트
- CKA
- 마크다운
- 주피터노트북 설치
- 패스트 캠퍼스
- 유용한웹사이트
- vim
- 자바 인강
- 세션불일치
- 자스계의백과사전
- 스프링 프레임워크 핵심 기술
- 환경세팅
- 디비
- hot
- EC2
- AWS
- 파이참
- pycharm
- django
- 자바
- https://cupjoo.tistory.com/96
- 쿠버네티스
- 자바 인강이 듣고 싶다면 => https://bit.ly/3ilMbIO
- 언제나 함께해요
- 참고 링크
- 배포
- linter
- 크론탭
- 자바인강
- 패스트캠퍼스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |