2020년 5월 25일 입사하여 벌써 한달이 지났습니다. 처음엔 스프링 인 액션 3주 완성 스터디 한다고 공부를 했고, 급하게 한 것 같으면서도 머리속에 지식이 남아있던것이 무척 신기했습니다. 불가능하다 생각했던 것은 성공했고, 사람은 뭐든 할 수 있는 존재라는걸 느꼈습니다. 자바 스크립트 교육자 리뷰도 듣고, 실전 스프링5를 활용한 리액티브 프로그래밍 스터디도 진행하며 한창 리액티브를 공부하던 중 다른건 몰라도 비동기와 기초적인 리액티브 사용법은 머리속에 콕콕 박혔습니다. 자바 스크립트 또한 다른 것은 몰라도 버블링과 캡쳐링에 대한건 완전히 머리속에 남아 누가 물어보면 말 할 수 있을 정도인 것 같습니다. 학원 동기가 회사 동기까지 되니 적응하는것도 무척 빨랐던 것 같습니다. 동기인 라임에게 치얼스 라..
이 전 글에서 설명한 사용자 정의 (User-Defined) ClassLoader에 속한 3가지의 웹 로직(WebLoagic) ClassLoader를 알아보려한다. · EJB-JAR ClassLoader EJB를 JAR 형식으로 배포하게 되면 1개의 JAR마다 EJB-JAR ClassLoader가 생성된다. 즉 JAR을 5개 배포한다면 EJB-JAR ClassLoader도 5개가 생성되는 것이다. EJB-JAR ClassLoader는 부모 ClassLoader로 System ClassLoader을 가지고 있다. 여기서도 부모 ClassLoader의 Class 참조 여부에 대해 JAVA의 상속 관계와 비슷한 형태를 보인다. ? EJB (Enterprise JavaBeans) ? Enterprise 개발을 ..
ClassLoader가 어떻게 동작하는지 알고 난 뒤 바로 JVM을 정리하려다 ClassLoader의 종류가 여러 개라는 것을 알게 되었다. 처음에는 여러 가지의 ClassLoader 중 한 가지만 JVM에서 사용하는 줄 알았더니 여러 개를 사용한다길래 찾아보았다. 설명할 것이 가장 긴 계층적 특징은 맨 마지막에 설명할 예정이다. - 4가지 특징? - ClassLoader는 Java의 상속 관계와 닮았다는 느낌을 많이 받았다. 그 예시가 바로 계층적 특징과 가시적인 규약 특징 때문이었다. · 계층적 (Hierarchical) 코드를 구현하다 보면 중복을 줄이기 위해 상속을 사용하게 된다. 부모 Class를 가진 자식 Class처럼 ClassLoader도 계층적으로 생성이 가능하다. 바로 아래 이미지의 부..
JVM을 공부하다 보면 Class Loader라는 녀석을 발견할 수 있다. 도통 이것이 무슨 역할을 하는지 몰라 아래 링크를 참고하여 정리해보았다. https://goodgid.github.io/Java-Class-Loader/ - JVM 전까지의 순서 - 컴파일러는 .java File을 바이트 코드인 .Class File로 바꿔주는데 이것을 클래스 로더가 읽어오고, 클래스 로더 안에는 기본적으로 로딩, 링킹, 초기화 3가지를 통해 jvm의 각 영역에 저장한다. - 로딩 (Loading) - 클래스 로더는 .Class File을 읽어온 뒤 바이너리 데이터로 변경해준다. 바이너리 데이터로 변경된 것은 Method Area 영역에 Type 정보(Class, interface, enum), Method와 변수..
문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 문제 해석 2016년은 변하지 않기에 월과 일만 검증하면 된다. private Map weeks = new HashMap(); public String solution(int a,..
지금까지 실습한 결과 html 파일은 불러오지만, 그 외 js, css 등의 stylesheet 파일은 제대로 호출해오지 못했다. 이것을 알기 위해선 우선 html 파일을 볼 필요가 있다. 스승님께서 구현하신 index.html 파일에 들어가면 상단 Head에 css 외에 js 등 웹 페이지를 꾸미는데 필요한 파일 경로가 있다. 클라이언트가 /index.html을 호출하면 html 파일에 지정된 파일들의 개수만큼 n번의 쓰레드가 생성된다. 즉 index.html을 호출하는 요청 외에도 index.html을 이루는 파일 n개의 요청이 생성된다는 것이다. 그럼 도대체 왜 지금까지 아래 이미지와 같이 웹 페이지를 봤던 걸까? 그 이유는 바로 Header값에 있는 Content-Type으로 인한 것이다. 코드의..
특정 홈페이지에 들어가서 login을 하면 logout을 하기 전까지 계속 login이 된 상태 였거나, 브라우저를 다시 켰을 때 자동 로그인이 되는 것도 경험해봤을 것이다. 이런 기능을 할 수 있게 도와주는 것이 바로 Session과 Cookie다. Token이나 다른 것도 있지만 이번에 다룰 것은 Cookie 값을 할당하는 것이니 간략하게 내가 이해하고 있는 것을 기반으로 그림을 그려보았다. 자세한 내용은 다음에 다루기로 하고 이번에 기억해야 할 점은 'Session은 server에서 관리하고 Cookie는 클라이언트가 가지고 있는다' 는 점이다. - 어떻게 Cookie를 생성할 수 있을까? - Login이 실패하면 Cookie의 값은 false, 성공하면 true가 될테니 setCookie Meth..
전 글에서 200 ok와 302 Found의 차이를 알아보았다. 자세한 내용은 아래 링크로 들어가면 볼 수 있다. https://resian-programming.tistory.com/57 Request handler - 302Found Spring boot로 작업을 하다 보면 Controller에서 redirect를 이용해 원하는 곳에 요청을 보낼 수가 있다. HTTP에도 이와 비슷한 것이 있는데 바로 302 Found다. 위 사진은 Response의 Header에 200 OK를 보내고.. resian-programming.tistory.com - 회원가입 시 302 Found 적용하기 - 이제 코드를 실제로 구현하기 위해 response302Header라는 Method를 생성하고 200 OK와는 달리..
Spring boot로 작업을 하다 보면 Controller에서 redirect를 이용해 원하는 곳에 요청을 보낼 수가 있다. HTTP에도 이와 비슷한 것이 있는데 바로 302 Found다. 위 사진은 Response의 Header에 200 OK를 보내고 그 외 필요한 Header값을 넣어주고 있다. 그 후 Connection이 연결되면 동작하는 Method로 돌아와 확인해보니 ResponseHeader와 ResponseBody를 할당해주는 것을 볼 수 있다. 참고로 둘 중 하나라도 없으면 잘못된 응답을 전송했다며 이러한 창이 뜬다. 그렇기에 요청의 끝에는 Response Header와 body가 존재해야 하지만 302 Found는 예외다. 302 Found는 한마디로 요청을 한 번 더 보내는 것이기 때..
이 전 글에서 body의 값을 가져왔으니 그 값에 해당하는 객체를 만드는 작업을 하겠다. https://resian-programming.tistory.com/53 위 링크에 있는 글에서 data 변수는 Header 중에서도 body의 해당하는 값을 가지고 있다. 이 값을 이용하여 User 객체를 생성할 것인데 스승님께서 구현하신 parseQueryString Method 사용할 예정이다. parseQueryString은 body의 값과 어떤 값으로 split 할 것인지 parseValues Method에 파라미터로 전달하고 parseValues Method는 파라미터의 값을 통해 body의 값이 없을 때의 null 처리와 람다를 이용하여 Map에 Key, Value로 값을 할당하는 역할을 한다. 우선 ..
- Total
- Today
- Yesterday
- 개발일지
- 스터디 회고
- 모듈
- 한 입 크기로 잘라먹는 리액트
- JavaScript
- Request Handler
- 멀티모듈
- Gradle
- 인텔리J
- springboot
- body
- MySQL
- graphQL
- 개발
- 일지
- HTTP
- JAR
- web
- mapping
- 회고
- 자바스크립트
- Java
- Spring
- 프로그래머스
- RequestHandler
- Spring Boot
- @Autowired
- spring-boot
- header
- homebrew
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |