전체 글

개인 공부/토비의 스프링 3.1

[토비의 스프링] 1.1 초난감 DAO

1장 오브젝트와 의존관계 자바의 객체지향 프로그래밍 -> 스프링이 스프링에서 가장 가치를 두는 것 오브젝트에 대한 관심 오브젝트간 관계, 사용, 소멸 전 과정 오브젝트의 설계 -> 객체지향 설계 재활용 가능한 설계방법 = 디자인 패턴 깔끔한 구조로 개선 = 리팩토링 오브젝트가 정상적으로 동작하는지 = 단위 테스트 스프링이 제공하는 것 오브젝트의 효과적인 설계, 구현, 사용 및 개선의 기준 객체지향 기술과 설계, 구현에 관한 실용적인 전략 검증된 베스트 프랙티스 오브젝트의 설계와 구현, 동작원리에 집중! 1.1 초난감 DAO DAO(Data Access Object): DB를 사용해 데이터를 조회하거나 조작하는 기능을 하게 만든 오브젝트 자바빈(JavaBean): 비주얼 툴에서 조작 가능한 컴포넌, 일반적..

개인 공부/JAVA

[Java/Spring] SOLID 5원칙

객체지향 설계에서 지켜야 할 SOLID 5원칙에 대해 알아보겠다. SRP(Single Responsibility Principle, 단일 책임 원칙) 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐 작성된 클래스는 하나의 기능만 가지며 클래스가 제공하는 서비스는 하나에만 집중이 되어있어야 한다. 이렇게 작성 시 책임 영역이 확실해지며 책임의 연쇄반응으로부터 자유로워 질 수 있다. OCP(Open-Closed Principle, 개방-폐쇄 원칙) 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에 대해서는 열려 있어야 하지만 변경에 대해서는 닫혀있어야 함 캡슐화를 통해 여러 객체에서 사용하는 같은 기능들을 하나의 인터페이스로 정의 OCP를 가능하게 하는 중요한 메커니즘은 추상화와 다형성 LSP(The L..

개인 공부/토비의 스프링 3.1

[토비의 스프링] 0. 토비의 스프링 공부 계획

자바 스프링을 공부하면서 스프링의 기본적인 원리를 파악하면서 공부하고자 하는 욕심이 생겼다. 선배님들의 조언을 얻어 토비의 스프링을 구매했던 기억이 떠오르며 몇 장 못 읽고 포기했던 때가 생각났다. 이번에는 그래도 스프링을 공부하는 사람으로서 꼭 읽어봐야 한다는 토비의 스프링을 완독해보고자 한다. 공부계획은 다음과 같다. 한 주에 한 챕터씩 읽고 모르는 부분을 정리하며 진행하려 한다. 기본적으로 정리한 요약은 블로그를 통해 올리고 책 내부 소스코드는 깃허브를 통해 올리도록 하겠다. 깃허브: https://github.com/naekang/toby-spring naekang/toby-spring 토비의 스프링을 공부하는 중입니다. Contribute to naekang/toby-spring developm..

개인 공부/자바스크립트 공부

[자바스크립트] 모던 자바스크립트 DeepDive 공부 #20

Chapter20 - strict mode 20.1 strict mode란? 암묵적 전역(Implicit global)은 오류를 발생시킬 수 있는 원인이 될 수 있으므로 반드시 var, const, let으로 변수 선언한 뒤 사용해야함 이러한 암묵적 전역을 예방하기 위해 strict mode가 도입 꿀Tip! : ESLint 사용하기 20.2 strict mode의 적용 전역의 선두 또는 함수의 몸체에 'use strict'; 추가하기 20.3 전역에 strict mode를 적용하는 것은 피하자 전역에 적용한 strict mode는 스크립트 단위로 적용 전역에 사용하면 non-strict mode 서드파티 라이브러리와 충돌을 일으킬 수 있음 20.4 함수 단위로 strict mode를 적용..

개인 공부/JAVA

[Java/Spring] Eclipse vs IntelliJ

구분 장점 단점 Eclipse 1. 오픈소스로 무료 2. 여러 프로젝트를 동시에 관리 가능 1. JVM위에서 실행하여 다른 IDE에 비해 느림 2. 잔버그가 많은 편 3. 다른 언어 사용이 불편 IntelliJ 1. 플러그인 설치가 편함 2. 스마트 자동완성 기능이 잘되어 있음 3. Git과 같이 사용하기에 편함 4. 개인적으로 UI가 너무 이쁨... 1. 유료(가장 큰 고려사항이 아닐까 싶다) 2. 기존 Eclipse로 진행되던 프로젝트에서 넘어갈 때 잘 맞지 않는 경우가 생길 수 있음 IntelliJ는 학생들은 Ultimate 버전까지 무료로 사용할 수 있다. 학생 인증을 하고 IntelliJ의 많은 기능을 이용해본 나로서는 Eclipse로 돌아가는 건 힘들 거 같다. 이참에 회사에서 많이 사용하는 ..

개인 공부/JAVA

[Java/Spring] 객체 지향의 4대 특성

1. 캡슐화(Encapsulation) 변수는 private, 메서드는 public으로 선언 getter, setter를 제외하고 public Method는 입력된 매개변수를 Validation 한 후 실행 2. 상속(Inheritance) 하위로 내려갈 수록 구체화 재사용성, 확장성, 유지보수성 향상 3. 추상화(Abstraction) 모델링 공통부분 또는 특정 특성을 분리하여 재조합 4. 다형성(Polymorphism) 하나의 개체가 여러개의 형태로 변화하는 것 오버라이딩을 통해 가능

내캉
주간비행