TIL

    🚀 bitcamp TIL (21.09.01)

    📌 알게 된 점 로그인 정보가 저장되있으면 로그인 된 것 로그인 정보가 저장되어 있지 않으면 로그인이 되지 않는다. 직접 사용하던지 게터로 사용하던지 하지만 유지보수에는 게터로 꺼내는게 좋다. 인스턴스 필드를 직접 사용하지말고 게터로 쓰는게 유지보수에 좋다. 회원관리를 하는 핸들러와 dto를 따로 만들어서 거기에서만 멤버를 관리한다. 등록된 멤버를 확인하는 핸들러이다. 로그아웃 로그인 된 것을 null로 하면됨 기존코드를 손 대지 않는 것이 깔끔하다 손 대더라도 최소한으로 대야함 버그가 생길 가능성이 있다. 이를 해결하기 위해서 나온게 command 디자인 패턴 메서드를 먼저 만들고 코드를 작성해도되고 코드를 완성하고 메서드를 호출해도 된다. 게시글을 삭제했다고 게시글 번호가 당겨지지 않는다. 주민번호 ..

    🚀 bitcamp TIL (21.08.24)

    📌 41일차(2021-08-24,화) 자바 객체지향 문법(eomcs-java/com.eomcs.oop) ex12(Exam0210 ~ ): 람다(lambda) 기본 사용법 자바 컬렉션 API(eomcs-java/com.eomcs.basic) ex03: ArrayList 사용법(계속) 📌알게 된 점 람다식인지 어떻게 아냐? 앞에 타입보고 안다 왜나면 functional interface만 람다식을 사용할 수 있기 때문에 해당 인터페이스에는 추상메서드가 1개다. 그 1개를 구현한 것이다. 익명클래스는 클래스를 상속받거나 인터페이스를 구현하거나 팩토리 메서드 디자인 패턴 메서드가 인스턴스를 만들어서 준다. 인스턴스 생성 과정이 복잡한 경우 사용 바깥메서드의 로컬변수를 사용함다면 인스턴스 필드랑 로컬 변수를 사용..

    🚀 bitcamp TIL (21.08.19-20)

    📌 38일차(2021-08-19,목) 프로젝트 개발 방법론 요구사항 식별 방법 액터와 유스케이스 식별 방법(계속) 실전 프로젝트(eomcs-java-project) 10-i. 리팩토링 : 추상 클래스 적용 11-a. 자료 구조 다루기 : 스택 구현과 사용 📌 39일차(2021-08-20,금) 실전 프로젝트(eomcs-java-project) 11-b. 자료 구조 다루기 : 리팩토링 - 클래스 및 패키지 이동 11-c. 자료 구조 다루기 : 제네릭이 필요한 이유와 사용법 11-d. 자료 구조 다루기 : 자바 컬렉션 API 사용하기 프로젝트 개발 방법론 요구사항 식별 방법 액터와 유스케이스 식별 방법(계속) 📌 알게 된 점 처음부터 잘 짜려고 과도한 고민을하지마라 힘들어서 지치지말고 우리에겐 리팩토링이 있다..

    🚀 bitcamp TIL (21.08.18)

    📌 37일차(2021-08-18,수) 팀 별 프로젝트 발표 요구사항 식별 방법 액터와 유스케이스 식별 방법 📌 알게 된 점 방법론(methodolgy) 어떤 사항에 대해 이론이나 경험적 사실을 정리하고 표준화 한 것. 표준화 개인이나 조직에 상관없이 일관성 있는 개발을 유지하고 협업을 수행할 수 있게 함. 주제선정 요구사항 식별 구현 할 기능 선정 구현 및 테스트 발표 관리할 수 있는 작은 단위로 쪼갠다. (요리 레시피) 그래야 시작과 끝이 명확하다. 너무 덩어리가 크면 관리가 어렵다 너무 덩어리가 작으면 관리가 번거롭다. 📌 팀별 주제 선정 - 1차 주제 선정 발표 - 반계령,배서연,하선영,김제이,김주창(2개) - 당근마켓, 스터디위더스 - 김태호,조주리,신현지,김진현(1개) - 멘탈케어 - 변민성,위..

    🚀 bitcamp TIL (21.08.17)

    📌 36일차(2021-08-17,화) 자바 객체지향 문법(eomcs-java/com.eomcs.oop) ex11(c:Exam0310 ~ e): 중첩 클래스, 로컬 클래스 사용법 📌 알게 된 점 nested class , inner class, local class inner 객체는 바깥 객체의 주소를 가지고 있다. 바깥클래스명.this를 기억해라 인스턴스 메서드를 호출하려면 반드시 해당 클래스의 인스턴스 주소가 필요!! 인스턴스 멤버는 인스턴스 주소를 사용한다. this가 생략되어서 바로 호출하는 것 처럼 보인다. 인스턴스 메서드는 인스턴스 주소를 담고 있는 this 변수가 있다. 그래서 inner class 를 사용할 수 있다. X obj = this.new X(); 바깥 클래스의 인스턴스를 필요로 하..

    🚀 bitcamp TIL (21.08.13)

    📌 35일차(2021-08-13,금) 자바 객체지향 문법(eomcs-java/com.eomcs.oop) ex09(i ~ j): 인터페이스 활용 ex11(a ~ c:Exam0240): 중첩 클래스 사용 📌 알게 된 점 - 인터페이스 vs 클래스 vs 추상클래스 추상메서드를 재정의 하는 것도 오버라이딩이다. 패키지에 직접 소속된 클래스 = Top Level Class 필드와 메서드 static import (클래스명 생략가능) 중첩클래스는 static을 적지 않는다. import static 으로 미리 스태틱 멤버의 패키지 정보를 알려주면, 마치 같은 클래스의 멤버인양 클래스 이름 없이 사용할 수 있다. 인스턴스 메서드를 호출할 때 인스턴스 주소가 메서드의 내장변수인 this에 저장된다. 바깥 클래스의 인스..

    🚀 bitcamp TIL (21.08.12)

    📌 알게 된 점 concrete => 인스턴스를 생성할 수 있는 일반 클래스 추상 클래스의 목적은 서브 클래스에게 공통 필드와 공통 메서드를 상속해주는 것이다. 인터페이스의 메서드 중에서 서브 클래스가 구현해야만 의미가 있는 메서드의 경우 추상 클래스에서 미리 구현할 필요가 없다. 인터페이스는 객체 사용 규칙을 정의 메서드를 통해 객체(클래스)를 사용 인터페이스를 바꾸게 되면 인터페이스를 구현한 기존 클래스에 영향을 끼친다. 인터페이스의 메서드를 변경하거나 제거, 추가하는 순간 이 인터페이스를 구현한 모든 클래스들에서 컴파일 오류가 발생하게 된다. 자기가 만든 인터페이스를 다른 개발자들이 그들 프로젝트에 사용하는 입장이라면? not 읽을 때 !this.use 사용 상태가 아니라면 이라고 읽는다. true..

    🚀 bitcamp TIL (21.08.11)

    📌 33일차(2021-08-11,수) 자바 기본 클래스 사용법(eomcs-java/com.eomcs.basic) ex02: Wrapper, Date, Calendar 클래스 사용법 📌 알게 된 점 String 레퍼런스 = String 변수 (s 변수라고 한다) 클래스, 추상클래스, 인터페이스 퉁 쳐서 type이라고 부른다. primitive type은 다형적 변수로 활용할 수 없다. 함께 묶을 수 없다. primitive type를 Object 레퍼런스에 담기 위해서 등장한 wrapper 클래스 유사한 일을 하는데 객체 사용법이 다르다면 쓰기가 매우 불편하다. 유사한 일을 하는 객체에 대해 사용법을 통일하자. (메서드 이름을 통일하자) 객체를 사용한다 = 문맥에 따라 달라져야함 객체 사용을 통일한다 = ..