본문 바로가기
반응형

코딩 교육 기관21

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.
2018.09.17 (월) 코드스쿼드 4일차 코드스쿼드 4일차 수업 시간에 우리는 다음과 같은 질문을 Pobi 에게 던졌다. 질문 TIme 필드/ method 를 static 으로 언제 쓰는지? 라인을 언제 띄워야 할까? Getter / Setter 를 쓰지 않는 이유 생성자 필드/ method 를 static 으로 언제 쓰는지? 변수 앞에 static 이 붙어 있으면 클래스 변수이고, 붙어 있지 않으면 인스턴스 변수이다.마찬가지로, 메서드 앞에 static 이 붙어 있으면 클래스 메서드이고, 붙어 있지 않으면 인스턴스 메서드이다.클래스 메서드로 정의하면, 객체 생성을 하지 않고도 클래스명.메서드명() 으로 호출이 가능하다.인스턴스 메서드는 인스턴스 변수와 관련된 작업을 하는 메서드이다. 인스턴스 변수나 인스턴스 메서드는 객체를 .. 2018. 10. 17.
2018.09.13 (목) 코드스쿼드 3일차 Coding Convention클래스 구현 순서 클래스의 구현 순서는 다음 원칙에 따라 구현 한다. class A{ 상수(static final) 또는 클래스 변수 인스턴스 변수 생성자 메소드 } 들여쓰기, 공백 IntelliJ 의 formatting 기능을 활용한다. 단축키 : Mac (Alt + Cmd + L) / Windows (Ctrl + Alt + L) 이름짓기 변수명에 타입 (String, int ...)은 쓰지마라! - ex) pointsArr why ? : int 였던 변수를 String 으로 바꾸게 된다면 이름을 또 바꿔야함 함수 함수는 한 가지를 해야 한다. 그 한 가지를 잘해야 한다. 그 한 가지만 해야 한다. 함수를 만드는 규칙은 '작게'다. 함수를 만드는 둘째 규.. 2018. 10. 16.