본문 바로가기
반응형

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

2018.10.11 (목) 코드스쿼드 10일차 내가 일을 하는 행위가 돈을 버는 주 축이 되는 회사에 가야 역량을 크게 키울 수 있다. 상속 자기 자신 클래스에 메서드가 구현이 되어있는지 보고 있다면 그 메서드를 실행자기 자신 클래스에 메서드가 구현 되어있지 않다면 부모 메서드를 실행 상속을 쓰지 않고 중복 제거하는법? 조합 : composition ( = has a )Ex) Public class Coffee { Private CaffeineBeverage cb; Public Coffee(){ cb= new CaffeineBeverage(); } Void prepareRecipe(){ cb.boilWater(); } } 상속 ( is a) => 자식이 부모가 될 수 있는포함 (has a) 상속이 좋을까? 조합이 좋을까? 상속이 .. 2018. 11. 11.
2018.10.08 (월) 코드스쿼드 9일차 MVC Model (클래스들의 묶음) 의 재사용성이 좋아짐. 현업에서 가장 변경 사항이 많은 부분은 View 다. why ? 시대의 흐름에 따라 디자인이 계속 바뀌기 때문 따라서, MVC 패턴으로 구현하면 각각이 독립적으로 역할 분담을 하기 때문에 UI 부분을 바꾸고 싶다면 View 만 바꾸면 됨. MVC는 항상 컨트롤러를 통해서 이뤄지므로, View 와 Model 이 직접 연결되면 안됨 Controller 는 보통 1개이지만, 프로그램이 커지면 여러개가 될 수 있다.(sub 컨트롤러1, sub 컨트롤러2 …) DTO 단순히 데이터만 전달하므로 로직이 많으면 안된다. Ex) CarDto => 자동차 목록, 우승자 목록 자바 빈 규약에 따라 Setter, Getter 허용 (Setter .. 2018. 11. 11.
2018.10.04 (목) 코드스쿼드 8일차 짝 프로그래밍 주제좌표계산기 기능 구현입력 값을 받았을 때 두 점 사이의 거리를 구해라!조건객체지향적으로 프로그래밍 한다.테스트 코드 작성 후 프로덕션 코드를 작성한다. 매번 이론 수업을 진행하던 Pobi 가 뜬금없는 짝 프로그래밍 제안을 해서 살짝 당황했지만, 나는 동료 인 Peter 와 짝 프로그래밍을 진행하였다.진행 방법은 간단하다. 둘 중 한명이 코딩을 시작하고 옆사람은 훈수를 두는 방식으로, 10분이 지나면 그 즉시 키보드에서 손을 떼고 교대를 해야한다. 우리는 가위바위보를 통해 순서를 정했고, 내가 이겨서 Peter 가 먼저 시작을 하게 되었다. 입력값은 "(1,2)-(3,4)" 로 입력받는다는 가정하에 진행하였고, 작은 단위부터 하나씩 쪼개면서 들어가자고 제안하였다.그래서 .. 2018. 10. 25.
2018.10.01 (월) 코드스쿼드 7일차 핵심 강의 내용 DTO VO Java Bean Equals, hashcode, toString DTO DTO 는 Data Transfer Object 의 약어로, 데이터를 전달하기 위한 목적을 가진 객체를 말한다. DTO를 처음 배웠을 때 나는 몇가지 의문점이 들었는데, 예를들면 자동차 경주게임 예제에서 컨트롤러인 RacingGame 클래스가 자동차 목록을 가지고 있으니까 그냥 get 메서드를 사용해서 resultView 클래스로 전달하면 되는거 아니야? 굳이 이걸 왜쓰지? 라고 생각했었다. 하지만, Car 클래스에 상태값을 바꾸는 코드를 넣어주면 실수로 누군가가 Car 를 호출해서 상태값을 바꾸는 치명적인 오류를 범할 수 있다. 그래서 상태값을 바꾸는 기능 없이 오로지 출력만을 위한 .. 2018. 10. 25.
2018.09.24 (월) 코드스쿼드 6일차 원래 월요일에 수업을 진행하여야 했지만, 아쉽게도 추석 시즌이라 오늘 수업을 진행하였다.추석을 보내고 잠시 헤이해졌던 정신을 차리고 다시 공부에 집중해보자! 실력 늘리기 새로운 API 기능을 알고 싶으면 심심할 때마다 하나씩 테스트 케이스를 작성해서 연습해라!그래야 자바 프로그래밍에 익숙해진다. 회사에서 물어보는 단골 면접 질문 "문자열 뒤집기" 난의도 최하. 하지만 많은 개발자들이 이 질문에 답을 하지 못함. String name = “성건희”; char[] original = name.toCharArray(); char[] target = new char[original.length]; for(int i = 0; i < original.length; i++){ target[i] = .. 2018. 10. 22.
2018.09.20 (목) 코드스쿼드 5일차 MVC Model View Controller 의 약어로, 에플리케이션을 세가지의 역할로 구분한 개발 방법론이다.MVC 패턴 구조를 유지하면서 프로그래밍을 구현하면 큰 틀에서의 분리가 가능하다.ex) 만약 콘솔 뷰를 웹이나, 모바일로 바꾸고 싶다면 View 부분만 바꾸면 된다. Controller사용자가 접근 한 URL에 따라서 사용자의 요청사항을 파악한 후에 그 요청에 맞는 데이터를 Model에 의뢰하고, 데이터를 View에 반영해서 사용자에게 알려준다. 보통 Main 메서드가 컨트롤러에 속한다. Domain (= Model)뷰와 컨트롤러는 모델에 의존하지만 모델은 뷰와 컨트롤러와는 독립적이다.즉, 모델에 대한 작업이 뷰나 컨트롤러에 영향을 주지 않는다.이 부분에서 단위 테스트를 가장.. 2018. 10. 22.