본문 바로가기
반응형

코딩 교육 기관/코드스쿼드 백엔드 레벨216

2018.11.01 (목) 코드스쿼드 16일차 SOLID 객체 지향의 5 원칙 객체지향의 5원칙(SOLID)을 제대로 알면스프링 에서 Dependency Injection (DI) 가 왜 필요한지 동기 부여가 확실히 됨 SRP (단일 책임 원칙) "어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다." - 로버트 C. 마틴 클래스를 역할과 책임에 따라 분리해서 각각 하나의 역할과 책임만 갖게 해라. OCP (개방 폐쇄 원칙) "소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에 대해서는 열려 있어야 하지만 변경에 대해서는 닫혀 있어야 한다." - 로버트 C. 마틴 즉 , 자신의 확장에는 열려 있고, 주변의 변화에 대해서는 닫혀 있어야 한다. 는 의미 LSP (리스코프 치환 원칙) "서브 타입은 언제나 자신의 기반 타입으로.. 2018. 11. 11.
2018.10.29 (월) 코드스쿼드 15일차 stream 스트림을 활용하면 배열이나 컬렉션뿐만 아니라 파일에 저장된 데이터도 모두 같은 방식으로 다룰 수 있다. 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드들을 정의해 놓음. 데이터 소스를 추상화 한다는 의미는 데이터 소스가 무엇이든 간에 같은 방식으로 다룰 수 있게 되었다는 것, 코드의 재사용성이 높아진다는 것을 의미. 스트림은 데이터 소스를 변경하지 않는다. 스트림은 일회용이다. 스트림은 작업을 내부 반복으로 처리한다. 람다 (lambda) 람다는 익명 함수의 다른 표현이다. 즉, 함수는 함수인데 이름이 없는 경우를 의미한다. 인터페이스의 메서드가 1개이면 모두 람다 표현식으로 표현이 가능하다. @FunctionalInterface => 얘는 메서드를 하나.. 2018. 11. 11.
2018.10.25 (목) 코드스쿼드 14일차 데일리 미팅테스트 코드를 작성하고 프로덕션 코드를 작성하는 연습을 해야한다!하지만 잘 되지 않는다. 우리는 항상 프로덕션 코드를 먼저 작성해왔기 때문에.이것을 짝 프로그래밍을 통해서 해결하도록 한다. Exception 오늘은 Skull 과 짝 프로그래밍을 진행하였다.예외처리 로직을 구현하는 과정에서 알게된 내용은 다음과 같다. 테스트를 할때는 경계값에 대해서 테스트하는 것이 좋다ex 값의 범위가 0 ~ 24 일경우, -1 과 25를 테스트한다. RuntimeException : 유저가 만든 익셉션 CompileTimeException : Exception throw : 익셉션 인스턴스를 만들고 throw 를 통해 익셉션을 반환 ( 던진다 )(= return 과 동일) throws : .. 2018. 11. 11.
2018.10.22 (월) 코드스쿼드 13일차 최근 회사들은 협업 경험이 중요하게 작용함따라서 레벨 4를 진행할 때는 가급적 팀 프로젝트로 진행하라 (매달 44만원) 1월 - 취업준비2월 - 면접 (취업 될 때 까지) 2월까지 포비가 강의하고, 이 후에는 다른 마스터 분이 오시므로 기간 내에 취업하도록 노력 취업 준비를 하는 순간 학습에 집중할 수가 없다. 한 가지 일만 하는 것도 어려운데.따라서, 1월까지는 학습에 집중하고 그 이후에는 취업 준비를 하라. 포비 : 교육받은 인윈은 평생 피드백을 주고 관계를 맺을 생각이므로, 내가 떠나더라도 취업에 관한 피드백은 얼마든지 수용한다. Enum JDK1.5 부터 새로 추가된 기능으로 열거형이라고도 불린다. enum은 값뿐만 아니라 타입까지 체크하기 때문에 보다 논리적인 오류를 줄일 수.. 2018. 11. 11.
2018.10.17 (수) 코드스쿼드 12일차 로또 프로그램에 관한 미션으로 짝 프로그래밍 진행 2018. 11. 11.
2018.10.15 (월) 코드스쿼드 11일차 Interface 구현되지 않은 메서드(행위)의 조합 implements 를 한 클래스는 반드시 인터페이스 메서드를 구현 해야함 인터페이스는 행위를 표현하는 것이지 특정 상태 값을 가지진 않음 ( ex) 인스턴스 변수..) 규격을 만들어 놓으면 좋은 점? 공급자나 수요자가 조작하기 쉬움 인터페이스는 내부의 숨겨진 녀석들을 밖으로 노출할 때 쓰는 것이므로, public 키워드를 추가하지 않아도 default 가 public 임 인터페이스는 기능 제공 명세만 해줌 사용자가 사용하기 쉬움 보안상 안전, 반면 abstract 는 상당수의 코드가 노출이 됨ex) public interface Figure { List points; }인터페이스가 외부에 노출될때 행위만 노출함 이것이 ArrayL.. 2018. 11. 11.