1. 자동차 경주 PR 링크 1단계 미션 PR 2단계 미션 PR 학습 키워드 TDD : 단위테스트 및 TDD 시작(JUnit 5). 테스트 가능한 부분과 아닌 부분의 분리(테스트 가능하게 만들기) MVC : UI로직과 비지니스 로직의 분리 페어 프로그래밍 깃허브 PR 과정 원시값 포장, 일급컬렉션, 불변객체 정적팩토리메서드, 생성자 체이닝 각 객체의 역할과 책임 알아가기 2. 로또 PR 링크 1단계 미션 PR 2단계 미션 PR 학습 키워드 일급컬렉션, 방어적 복사, 캐싱 final, Generics, Enum Interface를 이용한 다형성 및 테스트 진행 점진적 리팩토링 방식 DTO, VO 3. 블랙잭 PR 링크 1단계 미션 PR 2단계 미션 PR 학습 키워드 상속, interface, abstrac..
STEP 1,2,3 PR링크 학습로그 1-1 [Java] Functional Interface - 3 내용 - Consumer 타입은 인자로 받아 리턴하지 않고 소진한다. - Command 명령어를 Consumer 를 받아 함수 표현식을 accept()로 실행가능하다. if 분기문을 줄일 수 있다. - Function 값으로 표현식을 받아 apply()로 실행가능하다. [Java] StreamAPI - 3 내용 - reduce(BinaryOperator accumulator) => Optional - reduce(T identity, BinaryOperator accumulator) => T - reduce(U identity, BiFunction accumulator, BinaryOperator com..
우아한테크코스 한 달 생활기: 피드백을 통한 성장 한 달 동안 겪은 우아한테크코스는 피드백을 통한 성장이다. 피드백은 다음 단계를 위한 발판이라고 생각한다. 지금과 다른 발전을 하고 싶다면 피드백을 통해 현재 상태에서 어떻게 변화할 수 있는지 방향을 잡을 수 있다. 우아한테크코스에서는 수많은 피드백을 진행한다. 이를 통해서 개개인에 맞는 성장, 자발적인 성장이 가능하도록 해준다. 어떤 부분에서 피드백을 얻었고 발전했는지 생각해보았다. 크루가 되는 것: 안정감 취업준비를 할 때, 가장 힘든 점은 막연한 불안감이라고 한다. 아마 합격이라는 긍정의 피드백을 언제 받을 수 있을까하는데서 오는 불안감일 것이다.우아한테크코스의 크루가 되기 전까지, 프로그래밍을 학습하면서 가장 힘들었던 것은 막연한 불안감이었다. 혼..
람다란? 익명클래스 익명클래스는 자바의 지역클래스와 비슷한 개념이라고 한다. 익명클래스는 이름이 없는 클래스를 의미한다. 클래스 선언과 인스턴스화를 동시에 진행할 수 있다. public class AppleMachine { public boolean isGreen(Apple apple){ return GREEN.equals(apple); } } 위와 같은 클래스가 있다면 이 클래스를 사용하기 위해서 new 예약어를 통해 생성하고 이름을 부여한다. (아래의 예시는 AppleMachine 인스턴스에 goldAppleMachine이라는 이름을 부여한 것이다.) AppleMachine goldAppleMachine = new AppleMachine(); 하지만 익명클래스로 만들면 선언과 동시에 인스턴스화가 가능..
테스트 가능한 구조로 만들어라 테스트 가능한 구조를 구성하다보면 유연한 구조가 되는 경우가 많다. 따라서 경험이 적은 나 같은 사람들은 테스트 가능한 방식을 계속해서 생각해보는 것이 유연한 구조를 만드는데 도움이 된다. 의존성 주입 의존성 주입은 객체에서 사용될 값을 강한 의존관계에서 벗어나게 한다. 의존객체를 주입시켜주고, 해당 객체는 계약관계에 의해 사용될 시점에 생성되게 해준다. 의존성주입은 객체 내부에서 직접 생성하는 것이 아니라 사용할 내용을 외부로 이동시켜 변경 가능한 구조로 만들어 준다. 1. 생성자를 통해 주입하는 경우, Cars 내부에서 재사용이 많이 된다면 매번 객체를 넣어주지 않아도 되는 장점이 있다. 2. 메서드에서 인자를 통해 주입하는 경우, 매번 생성하여 인자를 통해 주입해야하지..
상태패턴 기능이 상태에 따라 다르게 동작해야할 때 사용하는 패턴이다. 상태별로 처리코드를 분리함으로써 컨텍스트의 코드가 간결해지고 새로운 상태가 추가되더라도 콘텍스트가 받는 영향이 최소화 된다. 상태에 따라 동일한 기능 요청의 처리를 다르게 함 콘텍스트(사용하는 문맥)이 상태를 가지고 있다. 상태 인터페이스를 구현한 상태 콘크리트 클래스를 생성한다. 상태변경은 누가하는가? 상태를 변경하는 주체는 콘텍스트나 상태 객체 둘 중 하나다. 컨텍스트가 상태를 변경하는 경우 상태객체는 자신이 할 작업만 처리한다. 비교적 상태 개수가 적고 상태 변경 규칙이 거의 바뀌지 않는 경우 유리하다. 상태 객체에서 상태를 변경하는 경우 컨텍스트에 영향을 주지 않으면서 상태를 추가하거나 상태 변경 규칙을 바꿀 수 있다. 블랙잭 ..
포비의 수업인 엘레강트 뽀개기 수업을 듣고 재정리한 내용입니다 :) 수업내용 객체를 존중하라(방법: 원시값과 문자열을 포장한다.) 인자의 값으로 null을 허용하지 않는다. 객체가 null인지 체크하지 않고, 객체가 존재함은 객체의 존재여부를 스스로 결정했을 것이라고 믿는다. 상속 클래스는 final이거나 abstract이다. 상속을 위해 설계한 클래스를 제외하고는 클래스 상속을 막아 상속으로 생길 수 있는 문제를 줄인다. 클래스 이름 짓기 클래스는 객체의 factory이다. 객체의 라이프 사이클을 관리하는 능동적 관리자이다. 즉, 객체의 storage, warehouse 이다. -er로 끝나는 이름을 사용하지 않는다. 클래스는 객체를 분류하는 개념이라고 생각한다. 그래서 각 고유한 객체가 무엇인지에(w..
SOLID S: 단일 책임 원칙(Single responsibility principle: SRP) 클래스는 단 하나의 책임을 가져야 한다. 단일책임원칙을 지키지 않으면 작은 이유로도 다수의 클래스가 변경될 수 있다. O: 개방-폐쇄 원칙(Open-closed principle: OCP) 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다. 즉, 기능은 변경하거나 확장할 수 있으면서 그 기능을 사용하는 코드는 수정하지 않는다. ✨변화하는 부분을 추상화한다. 개방폐쇄원칙이 깨질 때 주요 증상 다운캐스팅, instanceof와 같은 타입 확인 연산자 사용 비슷한 if-else문이 존재 L: 리스코프 치환 원칙(Liskov substitution principle: LSP) 상위 타입의 객체를 하위 타입의..
- Total
- Today
- Yesterday
- React
- 코드스쿼드
- 카카오
- 운영체제
- DB
- 개발공부일지
- TIL
- Transaction
- 학습로그
- python
- 객체지향
- 회고
- 내부코드
- TCP/IP
- OS
- 글쓰기미션
- 인증
- JS
- 알고리즘
- 마스터즈코스
- java
- CS
- Spring
- JPA
- 네트워크
- javascript
- 우테코수업
- 월간회고
- 모의면접준비
- 우아한테크코스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |