WIL 2

murphytklee·2023년 4월 15일
0

WIL

목록 보기
2/9

2023.04.10 ~ 2023.04.16

4월 10일 (월)

TO DO

  • JVM 공부
  • WIL 작성
  • object 공부
  • Wrapper 클래스 공부
  • 클래스, 인스턴스, 인터페이스 공부
  • 기술매니저님께 블로그 노션 둘다 해야하는지 물어보기
  • Java 문법 종합 5주차듣기

오늘 한 일

  • 기술 매니저님이 찾아보라고 하셨던 JVM에 대해 조사해보았다.
  • 저번주 WIL 작성했다. 블로그에 올리는 걸 추천하시는데 노션이 너무 편해서 영 자신이 없다… 그래도 하루에 하나씩 옮겨보기로 하자
    • 일주일마다 회고하려고 하니 막상 집어넣을 내용도 너무 많고 정리하기 어려워 TIL을 모아 WIL로 쓰려고 한다.
  • 시니어 멘토님과 그룹 면담
    • interface와 abstract의 차이
      • abstract는 override를 하게 되어있음 → 쓰는 사람이 재정의하게 되어있다. → 목적에 대해서 공부해보기
    • 다형성 → 가독성을 위해 많이 쓴다.
      • 안쓰면 소스가 많아진다. 파라미터가 10개면 10개의 메소드가 나와야한다.
    • 인프런 김영환 → 스프링 중심의 강의라서 나중에 고민해봐야겠다
      • 백엔드 sql , 데이터베이스의 구조(인덱스) 인덱스나 자료구조 , 파이썬 , 스크립트 언어,
      • dba → 시스템, OS, …
      • 데이터사이언스 → 통계, 수학, …
  • 기술매니저님 면담
    • 클래스 상속, 추상클래스 ↔ 인터페이스 차이점 찾아보기
  • 부족한점과 해야할 일들을 정리하다보니 결정적으로 Java 기초 부족이었다. Udemy가 떠올라 당장 들어가서 java 강의를 하나 골랐다.

내일 할 일

  • Udemy Java 강의 듣기
  • 프로그래머스 문제 마저풀기
  • velog에 하나 포스팅하기

4월 11일 (화)

TO DO

  • 프로그래머스 Java Lv 1 (3)
  • Udemy Java 강의 듣기

오늘 한 일

  • 프로그래머스 Java Lv.1 (3)
  • 7년차 연봉1억 현직자 특강
    • 모르는 것을 알자 - 메타인지
    • 채용시장에서 나의 무기를 계속해서 점검하자.
      • 어떤 서비스를 출시하고 있는지, 재무제표에서 어떤 분야가 가장 높고 낮은지 → 왜?
      • 현재 서비스에서 어떤 부분들이 사용자에게서 피드백이 들어오는지 파악 → 개선되야되는 부분 찾기
    • 살아온 과정과 그 과정에서 내렸던 결정들과 그 이유
      • 직접 겪었던 문제가 무엇이었고 어떻게 해결했는지 생각해보기
  • 모르는 것
    • 자바 정규식 Regex
    • Wrapper 클래스 왜 쓰는지
    • 함수 생성과 호출하는 법과 정확한 의미, 위치의 의미 알기
    • Comparator
    • 람다식
    • LinkedList와 List의 차이
  • 알게된 점
    • Stack, Set, Tree 써보기
    • TreeSet → 중복값을 허용하지 않고 오름차순으로 자동 정렬되어 저장됨
    • 알고리즘 문제 intelliJ에서 찍어보면서 푸는법

내일 할 일

  • 자바 강의듣기
  • 프로그래머스 마지막 14문제는 자바공부하고 풀까싶다 모르는게 많아 막힌다
  • 모르는거 정리해서 하나씩 공부하기

4월 12일 (수)

오늘 한 일

  • 모르는 것 정리하기
  • Udemy Java 강의듣기
    • 클래스, 객체이자 클래스의 인스턴스, 클래스에 데이터 추가하기, 클래스에 동작을 추가하는 법
    • 생성자 → 객체지향 프로그래밍으로 객체를 만들 때 해당 객체의 최초 상태를 설정해야하며 생성자를 통해 할 수 있다.
      • 생성자의 메서드명은 곧 클래스명이자 매개변수의 명칭
      • 생성자는 리턴타입을 필요로 하지 않는다.
    • eclipse
  • 프로그래머스 문제풀기
  • 프로그래머스 Java Lv.1 (4)

내일 할 일

  • 시험
  • 프로그래머스 마저풀기
  • udemy 듣기

4월 13일 (목)

오늘 한 일

  • 2주차 시험 [항해99 14기] 알고리즘 테스트
  • Udemy
    • 어떻게 메모리에 저장되는지 (Heap, Stack)
    • String
    • Wrapper class
  • 기술매니저님 면담
    • 알고리즘같은 경우에는 효율성을 많이 따지게 되지만 실제 서비스를 구현할 때, 물론 빠르게 동작해야할 수도 있지만 그렇지 않아도 되는 경우에는 협업의 특성상 가독성이 성능보다 중요하게 여겨질 때도 있으니 참고하자. 변수명, 메서드명 정하는 것과 남에게 이해하기 쉽도록 계속 생각하면서 코드를 짜자
    • 프로젝트로 커리큘럼이 넘어가도 알고리즘 문제 하루에 하나씩이라도 꾸준히 풀자.

내일 할 일

  • 새로운 발제 확인
  • 알고리즘 문제 하나이상
  • Udemy 한 섹션 이상
  • 모르는거 조사 하나 이상

4월 14일 (금)

오늘 한 일

  • 주특기 Spring 시작
  • 3계층 나누는법 controller, repository, service
  • 싱글톤 패턴 → 생성자를 private로 만들어서 new 되지 않게끔 → autowired , component/service
    • 왜 굳이 service ? → 단순하게 서비용으로 비즈니스 로직으로 빈이라고 하는 컨테이너에 담아 둠
  • 어노테이션 으로 스프링이랑 소통한다
  • spring에서 관리 → bean
  • 디자인패턴 책추천 : 헤드퍼스트의 디자인패턴
  • @GeneratedValue → auto → id를 공유 , idendity

4월 15일 (토)

오늘 한 일

  • 기술매니저님 면담
    • entity → repo → service → controller → dto 순으로 (처음이니까)
    • 원래는 그 역순으로 하심
  • @ → 어노테이션 → 메타정보를 알려준다
  • dto → data transfer object → 계층 간 데이터 전송을 위해 도메인 모델 대신 사용되는 객체
    이다. 이때, 계층이란 Presentation(View, Controller), Business(Service), Persistence(DAO, Repository) 등을 의미한다.
  • Spring 1주차 과제 시작
    1. CRUD를 Controller에서 모든 로직을 수행하게 만들어 보기
    2. Controller, Service, Repository로 3계층 분리 해보기
    3. Bean 등록과 의존성 주입 해보기

내일 할 일

  • JPA만으로 적용하면서 JPA의 Low 코드 눈으로 보기
  • Spring + JPA, Spring Data JPA로 전환하기
  • 과제 진행하기
    • param, query, body 중 어떤 방식으로 사용할지 알아보기 → html 필요한지 찾아보기
    • request에 pw, response에 createdAt, modifiedAt 넣고 api마다 반환하는법 찾기
    • 마무리하고 유스케이스랑 API 명세서 작성하기

4월 16일 (일)

일주일 회고

  • 알고리즘과 함께 기초 문법을 병행하면서 공부하니 Java의 구조를 점점 알아가는 것 같다. 토이프로젝트로 python을 하다와서 그런지 너무 익숙하지 않았고 C언어와 비슷하다고 느꼈다. Java가 C언어에서 진화된 언어라는게 이런거였구나 느꼈다. (public, private, static, class, wrapper, interface, abstract, 다형성, 상속, 추상클래스 등.. ) 이름만 듣고는 너무 이해하기 어렵고 따로 찾아봐도 무슨말인지 이해가 안되서 뒤쳐지는게 아닌가 싶었다. 금요일부터 Spring 1주차에 들어가면서 java로 먼저 CRUD를 구축했는데 여러 패키지와 클래스를 만들어 연결해보면서 그때마다 왜 이렇게 쓰는지 찾아보니 점점 익숙해지는 것 같다.

  • 이번 일주일 동안 크게 JVM → java가 어떻게 컴파일 되는지 어떻게 메모리를 할당하고 관리하는지에 대해 알았고 알고리즘을 풀면서 자료구조와 java로 로직을 만드는법에 대해 배웠다. public, private, static, class, wrapper, 매개변수, 반환타입, 객체, 이노테이션, bean, 생성자, 메서드 등에 대해서는 익숙해진 것 같고 interface, abstract, 다형성, 상속, 추상클래스 등에 대해서는 아직 낯설어 더 알아봐야겠다.

  • 시니어 분들의 특강도 의미있었다. 계속해서 내가 뭘 모르는지에 대해 생각해보다 보니 우선순위가 잡히는 것 같다.

  • 토요일은 HTTP와 MVC에 대해 특강을 들었다. 정적 컨텐츠를 제공하는 HTTP와 동적컨텐츠를 제공하는 WAS의 서버 통신에 대한 개념과 API와 URI URL 차이, WAS가 제공하는 컨테이너인 Servelt과 Tomcat, properties ↔ yaml 등… 어느정도 윤곽이 보이긴 한데 한 개념씩 정리하면서 이해하는 시간이 필요할 것 같다.

0개의 댓글