오늘/Today I..
-
23/11/3 끝나지않던 스프링의 끝오늘/Today I.. 2023. 11. 3. 23:22
WHAT I DID TODAY 스프링 2주차 마무리 DETAILS IoC/DI IoC 컨테이너와 Bean JPA Entity Persistence Context 에 대하여 스프링부트의 JPA JPA Auditing 쿼리 메소드 목차만 보면 짧아보이지만 상당히 많은 것을 배웠다. 물론 스프링부트 JPA 부분은 그냥 머리에 쑤셔넣었기에 빠르게 복습하지 않으면 아마 기억나지 않을듯 그 외 오늘 공부하며 배운 내용을 아래에 정리해본다. 좋은 코드를 위한 Spring 의 IoC 와 DI 좋은 코드란? 논리가 간단해야한다. 중복의 제거 및 명확한 표현 코드를 처음보는 사람들도 쉽게 이해해야 한다. 의존성 최소화 새로운 기능이 추가되더라도 구조의 변경이 많지 않아야한다. 좋은 코드를 작성하는 능력을 기르는 법 - 많..
-
23/11/2 계속되는 스프링오늘/Today I.. 2023. 11. 2. 19:55
WHAT I DID TODAY 스프링 1주차 끝 2주차 AMAP DETAILS @Path Variable 과 @Request Param HTTP 데이터 객체 처리 스프링에서 @ModelAttribute @RequestParam 모두 생략가능한데 어떻게 구분할까? 스프링은 해당 매개변수가 SimpleValueType(원시타입, 래퍼타입, Date) 이라면 @RequestParam 으로 간주 그외에는 @ModelAttribute라고 판단한다. 메모장을 통한 CRUD 구현 JDBC 3 Layer Architecture 의 개념과 작성한 코드를 이에 맞게 분리하기 IoC/ DI DTO (Data Transfer Object) 데이터 전송 및 이동을 위해 생성되는 객체를 의미 클라이언트에서 보내는 데이터를 객체로..
-
23/11/1 스프링 기초 학습오늘/Today I.. 2023. 11. 1. 20:22
WHAT I DID TODAY 스프링 1주차 학습 DETAILS 스프링 강의를 들으며 기록해둘만한 것들을 TMI 정리 형식으로 남겨보았다. [1주차] 새로배운 것들 정리 (1) 강의가 리뉴얼 되어 저번 강의는 사실상 0주차가 되었고, 진짜 1주차가 들어왔다. 현재까지 나간 진도에서 새로 배운 내용과 기록할만한 것들을 정리해보았다. Web Server 클라이언트의 요청을 받 like-it-too.tistory.com ANYTHING 저걸 왜 쓰는걸까. 지금 쓰는 코드의 의미는 뭘까 저 리턴값이 왜 저 클래스를 호출하는걸까 애너테이션 엄청 많이 쓰는데 저것들의 의미가 뭘까 이런 스프링의 기초에 대한 의문이 풀리고 있다. THIS WEEK'S GOAL 스프링 1주차 완강 ~11/1 스프링 2주차 완강 ~11/..
-
23/10/31 10월 진짜 마지막 (깃, 스프링 오류 해결)오늘/Today I.. 2023. 10. 31. 20:17
WHAT I DID TODAY 스프링 강의 1주차 끝 깃 특강 자바 제네릭스와 쓰레드 (예정) DETAILS 선지급된 1주차강의를 들으며 어느정도 스프링에서 CRUD를 구현하는 방법을 배웠다. 기존에 보고 있던 김영한님 강의와 다른 설명을 들으며 "저때 왜 이걸 쓰지?" 이런 궁금증을 일부 해소할 수 있었고, 어느정도 스프링 기초에 대해 이해할 수 있는 강의였다. [문제해결] 새 데이터를 받아오지 않는 H2 문제발생 강의를 듣던 중 H2 데이터베이스가 계속 다른 강의 (전에 들은) 의 데이터를 가져오고 현재 듣고 있는 강의의 데이터를 보여주지 않는 문제가 발생했다. 해결 시도 먼저 인텔리제이 내 like-it-too.tistory.com 또한 데이터베이스 연결에 대해 심각한 에러를 겪어보고, 연결 및 관..
-
23/10/30 10월의 마무리오늘/Today I.. 2023. 10. 30. 20:44
WHAT I DID TODAY 정석 컬렉션 프레임워크 마무리 스프링 1주차 마무리 DETAILS 오늘 제공받은 스프링은 총 강의 시간이 3시간 밖에 되지 않아 오늘 끝까지 다 듣고 정리하려고 한다. 자세한 내용은 아래 링크에 기록할 예정이다. [1주차] 강의 첫번째. 프로토콜 (Protocol) 원격에서 서로에 대한 정보가 없는 메세지의 송/수신자가 서로 필요한 요청과 응답을 할 수 있도록 미리 규약을 정해 놓은것. 웹상에서는 HTTP라는 프로토콜을 통 like-it-too.tistory.com 컬렉션 프레임워크는 이번 프로젝트를 하며 엄청난 빈도로 사용하였기에 복습하는데 막히는 부분이 없었다. ANYTHING 오늘이 10월의 마지막날은 아니지만 뭔가 오늘 끝나는 것들이 많아서 마무리라는 제목을 붙여보았..
-
23/10/27오늘/Today I.. 2023. 10. 27. 18:50
WHAT I DID TODAY 팀프로젝트 예외처리 남는 시간 정석 9시 이후 자바의 신 (예정) DETAILS 팀프로젝트 예외처리를하며 막히는 부분이 많아서 오늘도 튜터님의 도움을 받았다. 우선 try-catch에서 catch문이 실행되면 try문의 모든 로직이 사실상 사용불가능한 상태이기 때문에 catch문에서 변수 등을 새로 선언해줘야한다. 그리고 스캐너를 사용하는 경우 try-catch를 쓰는것이 좋다. 스캐너가 엮인 코드에서 거의 대부분의 예외는 스캐너를 통한 입력에서 발생하기 때문에 미리 예외처리를 해두어 실행 시 오작동을 방지하는 것이다. ANYTHING 남의 코드 보는건 역시 어렵다. THIS WEEK'S GOAL
-
23/10/25 String Buffer와 String Builder오늘/Today I.. 2023. 10. 25. 18:59
WHAT I DID TODAY 프로젝트 끝? StringBuffer StringBuilder DETAILS 프로젝트가 거의 다 완성되었다. 난 뭘한거지??? Q. 그래서 둘이 무슨 차인데? A. 동기화 유무 차이 스트링버퍼는 동기화가 되어있어서 멀티쓰레드에 안전하다. (thread safe) Q. 그럼 스트링버퍼가 더 좋은거 아니야? A. 아니다. 멀티쓰레드로 작성되지 않은 상황에서 스트링버퍼의 동기화는 쓸모없이 성능만 떨어뜨린다. 그래서 동기화를 하지않은 스트링빌더가 있는것. Q. 동기화가 무슨 문제야? A. 싱글스레드에서는 불필요한 동기화가 오버헤드를 초래할 수 있기 때문 Q. 그럼 왜 String 안쓰고 이 둘을 권장하나 A. String은 문자열을 추가할때마다 새로 할당되기 때문에 누적되면 성능이..