| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 인텔리제이
- spring
- 스프링스터디
- 개발서적
- REST API
- springboot
- mysql
- 노마드코더
- 북스터디
- Dao
- JPA
- 객체지향특징
- 딥러닝
- 머신러닝
- 스프링컨테이너
- requestbody
- Deep Learning
- valid
- 클린코드
- 북클럽
- 스프링어노테이션
- 스프링프레임워크
- til
- 노개북
- 인공신경망
- 개발필독서
- NullCheck
- 임팩트커리어스터디
- Machine Learing
- IntelliJ
- Today
- Total
목록분류 전체보기 (27)
dev.jaieve 공부기록
DAY 5 🚀 오늘 읽은 범위 : 3장 함수 🔥 책에서 기억하고 싶은 내용 함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다.(p. 44) 의미 있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 하는 셈이다.[G34] 함수 당 추상화 수준은 하나로! 함수가 확실히 ‘한 가지’ 작업만 하려면 함수 내 모든 문장의 추상화 수준이 동일해야 한다.(p. 45) 근본 개념과 세부사항을 뒤섞기 시작하면, 깨어진 창문처럼 사람들이 함수에 세부사항을 점점 더 추가한다.(p. 46) 서술적인 이름을 사용하라! 함수가 하는 일을 좀 더 잘 표현하므로 훨씬 좋은 이름이다. ... 함수가 작고 단순할수록 서술적인 이름을 고르기도 쉬워진다.(p.49) 객체를 생성해 인수를..
DAY 4 🚀 오늘 읽은 범위 : 다른 사람들의 TIL 🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보자! leeq님 링크 1장을 읽고 작성한 TIL을 읽으면서 leeq님만이 느끼신 공감대에 대해서 알 수 있었다. 역시 공학계열이라면 무엇인가 일맥상통하는 부분이 있을 수 밖에 없다는 생각을 장난삼아 해봤다. leeq님의 개인적인 견해를 읽고 큰 공감을 했다. 작년 8월 회사에 첫 입사를 하고 클린코드에 대해 고민하면서, 이 책을 어떤 사람에게 추천하고 싶은지 고민해봤었는데 그 사람은 바로 sysout을 마구잡이로 뽑아내던 동기였다. 그리고 기본적인 Naming convension과 indent조차 지키지 않는 초보 개발자들에게는 이 책의 개념이 아무리 어려워도 프그래머로 돈을 벌어먹겠다는 생각을 해..
DAY 3 🚀 오늘 읽은 범위 : 2장 의미있는 이름 🔥 책에서 기억하고 싶은 내용 클래스 이름과 객체 이름은 명사나 명사구가 적합하다. ... 메서드 이름은 동사나 동사구가 적합하다(p. 32) 우수한 프로그래머와 설계자라면 해법 영역과 문제 영역을 구분할 줄 알아야한다. 문제 영역 개념과 관련이 깊은 코드라면 문제 영역에서 이름을 가져와야 한다.(p. 35) 일반적으로 짧은 이름이 긴 이름보다 좋다. 단, 의미가 분명한 경우에 한해서다. 이름에 불필요한 맥락을 추가하지 않도록 주의한다.(p. 37) 🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보자! 검색하기 쉬운 이름을 사용하라 변수나 상수를 코드 여러 곳에서 사용한다면 검색하기 쉬운 이름이 바람직하다.(p. 26) 실제로 회사에서 특정 클래스..
* 이 글은 howToDoInJava.com의 원문을 학습용으로 번역한 글로 잘못된 해석이 있을 수 있음을 사전에 알려드립니다! 1. Spring bean Stereotype Annotations 1.1 @Component 어노테이션 @Component 어노테이션은 Spring의 component-scanning 메커니즘에 의해 bean을 스프링컨테이너 ApplicationContext에 만들어 넣어준다. @Component public class EmployeeDAOImpl implements EmployeeDAO { ... } 1.2 @Repository 어노테이션 @Component 의 기본 특성에 DAO에 특화된 추가적인 기능을 제공하는 어노테이션으로 기능은 @Component와 거의 유사하다. ..
스프링 컨테이너란 스프링 컨테이너를 스프링의 Bean을 생성하고 관리한다. 기본적으로 빈은 싱글통으로 생성된다. 스프링 컨테이너는 2가지 유형이 있다고 한다. Bean Factory ApplicationContext Bean Factory 스프링 설정파일(@Configuration)에 등록된 Bean 객체를 생성하고 관리하는 기본적인 기능을 제공하는 IoC컨테이너이다. 하지만 실제 Bean의 생성 및 관리에는 추가적 기능이 필요해서 스프링컨테이너 두 번째 유형이자 Bean Factory를 상속받아 확장된 ApplicationContext을 주로 사용한다고 한다. ApplicationContext란? 컨테이너의 기본적인 기능(Bean 생성 및 관리)뿐만 아니라 트랜잭션 관리, 메시지 기반의 다국어 처리, ..
DAY 2 🚀 오늘 읽은 범위 : 추천사 ~ 1장 깨끗한 코드 🔥 책에서 기억하고 싶은 내용 기능을 추가할수록 코드는 엉망이 되어갔고, 결국은 감당이 불가능한 수준에 이르렀다. 회사가 망한 원인은 바로 나쁜 코드 탓이었다. 프로그래머라면 누구나 당연히 나쁜 코드로 고생한 경험이 있다. 그렇다면 묻겠다. 어째서 나쁜 코드를 짰는가? 급해서? 서두르느라? 아마 그랬으리라. 제대로 짤 시간이 없다고 생각해서, 코드를 다듬느라 시간을 보냈다가 상사한테 욕먹을까 봐, 지겨워서 빨리 끝내려고, 다른 업무가 너무 밀려 후딱 해치우고 밀린 업무로 넘어가려고...... 모두가 겪어본 상황이다. 우리 모두는 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. (p.4) ... 다시 돌아와 나중에 정리..
개념 및 정의 비교 Database 데이터베이스는 체계적인 데이터 모음으로 데이터 저장 및 조작을 지원한다. 스토리지에 저장된 데이터를 더욱 사용하기 쉽게 만들어주는 것이 데이터베이스 서버라고 생각하면 된다. Storage 컴퓨터에 데이터를 저장하는 저장소의 역할을 수행하는 부품으로, 하드디스크와 동일한 역할을 수행하는 부품이다.(비휘발성 기억장치) 스토리지는 직접 서버에 연결할 수 있고, 대용량의 데이터를 저장하기 위해 별도의 스토리지용 네트워크를 구성할 수 도 있다. Storage에도 종류가 다양하며(DAS/NAS/SAN), 연결방식 등에 의해 구분된다. 스토리지는 하드웨어 기반의 장비이기때문에 장비의 성능에 따라 혹은 안정성에 따라서 성능이 좌지우지된다. 차이점 1. Physical vs Logic..
Null 체크부터 Exception 까지의 흐름 DTO란? Data Transfer Object의 약자로, 컨트롤 layer(controller)에서 받아온 데이터를 서비스 layer(service)로 넘겨줄 때 이용한다. HTTP 통신시 API의 request와 response를 통해 Object가 호출된다. 하지만 Object의 domain에서의 여러 변수가 항상 필요하지는 않다.(ID만 가져오거나, nickname만 필요하거나 등등) API마다 request 및 response하는 parameter가 다르기 때문에 필요한 데이터만 정의되는 클래스가 필요하다. DTO가 바로 그 역할을 한다. DTO에서 필수 값에 대한 조건 체크를 하는 것은 DTO에서 Domain으로 변환하는 로직이고, 요청된 Dom..
JPA의 DTO와 JSP의 DAO의 차이점 DTO는 Controller와 Service 계층을 이어주는 객체이고, DAO는 서비스와 DB를 이어주는 객체이다. 때문에 DTO를 사용하는 경우 DB와 연결되는 계층이 필요한데 domain이 그 역할을 맡는다. 이렇게 이해하면 초보자이거나 입문자 입장에서는 Entity == DAO 라고 쉽게 이해할수 있지만 DAO와 domain의 Entity는 의미론적으로 다르기 때문에 같다고 생각해서는 안된다. DAO는 연결할 DB의 설정정보와 같은 정보들을 갖고 있는 계층이다. 하지만 JPA의 경우 이런 db properties를 application.properties 또는 application.yml이란 파일에 설정해두고 JPA가 알아서 Connection 객체를 생성..
JAR, WAR, EAR는 모두 Java의 jar 툴을 이용하여 생성된 압축(아카이브)파일이다. (JDK에서는 각 압축파일들에 접근하여 압축 해제없이 사용할 수 있음.) 압축 파일의 주 역할은 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성파일 등)들을 패키징하는 것이다. Maven 을 이용하여 프로젝트 빌드를 관리했을 경우 다운로드된 라이브러리들은 class파일들이 묶인 jar파일로 구성되어 있는 것을 확인할 수 있다. 그리고 서비스 배포시에는 프로젝트를 WAR 포맷으로 묶어서 /wepapps 등의 지정된 경로에 넣고 Tomcat 등의 웹 컨테이너(Web container)를 이용하여 deploy하는 식으로 서비스를 많이 올린다. JAR(Java Archive) .jar 확장자..