전체 글
-
우테코 레벨 1이 끝나고 다시 보는 SOLID백엔드/객체지향 | 디자인패턴 2023. 4. 6. 00:55
https://hello70825.tistory.com/530 [SOLID] 객체지향 설계 원칙 우아한테크코스 프리코스를 할 때, 인터넷에서 뒤적뒤적 거리면서 공부를 했었지만 간단한 코드와 글만 봐서는 이해가 되지 않았었다. 그런데 지금 객체지향 책을 읽어보니 이해가 되어서 나중 hello70825.tistory.com 우테코 프리코스가 끝나고, 본 과정을 시작하기 직전에 SOLID에 대한 글을 포스팅 했었다. 하지만 이때에는 실제 코드로 적용을 하면 어떻게 될지 제대로 가늠이 안갔는데, 레벨 1을 진행하면서 어느정도는 알게 되었다고 말할 수 있다. TDD를 하면서 SRP가 무엇인지 제대로 알게 되었고, 체스 미션에서 다중 if문을 제거하면서 OCP가 얼마나 중요한지 알게 되었다. 이외에도 다른 원칙들이..
-
[후기] 스프링 입문을 위한 자바 객체지향의 원리와 이해후기/책 후기 2023. 3. 1. 09:00
표지에 개구리가 있어서 개구리책으로도 불리는 책이다. 메모리 → 객체지향 → 디자인 패턴 → 스프링 입문 순서로 책이 진행된다. 여기서 디자인 패턴을 제외하고는 자세하게 설명되어 있다. 장점 - 예시 코드를 순차적으로 실행한다고 가정하며 T 메모리 구조에 대해 굉장히 자세하게 알려준다. - SOLID에 대한 감을 어느정도 잡게 해준다. 특히 다른 책들에 나오는 비슷한 설명과는 다르게 좀 더 쉬운 방법, 명확한 방법으로 설명해줘서 잘 이해할 수 있게 되었다. - IoC / DI를 스프링의 역사를 통해 알려준다. 처음엔 XML 파일로 일일이 설정했던 것을 @Autowired와 @Resource로 오기까지의 설명을 해준다. 이 부분을 읽기 전에는 XML 파일을 왜 사용한거지 의아했는데, 코드를 수정하지 않고서..
-
[Java] @BeforeAll과 static block의 차이백엔드/Java 2023. 3. 1. 09:00
책에서 메모리 구조를 공부하다가 갑자기 테스트 어노테이션을 찾아보라는 말이 나왔다. @BeforeClass를 찾아보라고 했는데, JUnit4가 @BeforeClass이고, JUnit5는 @BeforeAll을 사용한다. @BeforeAll @Target({ ElementType.ANNOTATION_TYPE, ElementType.METHOD }) @Retention(RetentionPolicy.RUNTIME) @Documented @API(status = STABLE, since = "5.0") public @interface BeforeAll { } - 어노테이션이나 메서드에 @BeforeEach를 붙일 수 있다. - 런타임(프로그램 종료 전까지)동안 어노테이션이 남아있다. - JavaDoc을 생성할 때..
-
[우아한테크코스 5기] 3주차 후기백엔드/우아한테크코스 5기 2023. 2. 27. 10:23
기간: 2023/02/20 (월) ~ 2023/02/26 (일) 자바 메모리 관리에 대해 블로그 포스팅을 하려다가 여기에 쏟는 시간이 생각보다 너무 오래 걸리고, 이렇게까지 글을 올려야하나라는 생각이 들어서 거의 후기글만 올릴 것 같다. 지금 공부에 다음달엔 데이터엔지니어쪽 공부도 추가로 하기로 결정했다. 블로그 포스팅하는 시간이 줄었으니까 나름 시간이 생기지 않을까라는 생각이 든다. 캡틴 포비와 이야기를 나누었다. 책에 T 메모리라는 키워드가 계속 나와서 JVM의 Runtime Data Area와 뭐가 다른지 검색하고 있었는데, 포비와 인사를 한 뒤 포비가 메모리에서의 힙과 스택의 차이점을 말해보라고 하였다. JVM에 대해서도 아직 공부하기 전이라 자료구조 스택에 대해 말을 했는데, 다시 물어보아서 이..
-
[Java] Enum 내부 코드 확인하기백엔드/Java 2023. 2. 22. 08:34
사다리 미션을 하는데 리뷰어님이 Enum 내부 코드를 통해 답변을 해준 것이 기억났다. 그래서 Enum 코드를 확인하는데 다른 내부 코드들보다 만만해보여서 해석을 해보기로 했다. 전체적인 코드는 아래와 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 public abstract class Enum implements Comparable, Serializable { private final String name; public final String n..
-
[Java] 표준 어노테이션백엔드/Java 2023. 2. 21. 08:00
자바 코드를 보다가 내부 코드가 궁금해져서 확인해봤는데, 이런 내용의 코드가 있었다. @Test는 어떤 동작을 수행하길래 이런 어노테이션들이 붙어 있는 것일까? 그래서 찾아보니 자바의 정석을 통해 어노테이션을 정리하는 사람들이 많았다. 표준 어노테이션은 크게 두가지로 나뉜다. 하나는 어노테이션을 정의하는데 사용하는 메타 어노테이션, 하나는 일반 어노테이션이다. 이 글에서는 메타 어노테이션부터 설명한다. 1. 메타 어노테이션 오라클 공식 홈페이지 튜토리얼을 확인해보면 메타 어노테이션은 다른 어노테이션에 사용되는 어노테이션이라고 나와있다. 어노테이션을 정의하는 어노테이션이라고 생각하면 될 것 같다. [@Retension] 이 어노테이션이 들어있으면 어디까지 어노테이션 내용을 저장하는지 대한 내용을 지정할 수..
-
[후기] 자바의 정석후기/책 후기 2023. 2. 20. 10:26
[읽은 챕터] Ch.1 자바를 시작하기 전에 Ch.6 객체지향 프로그래밍 1 Ch.7 객체지향 프로그래밍 2 Ch.8 예외처리 Ch.11 컬렉션 프레임워크 Ch.12 제네릭(generic), 열거형(enum), 어노테이션(annotation) Ch.13 쓰레드 Ch.14 람다와 스트림 Ch.15 입출력 Ch.16 네트워킹 잠까지 줄여가면서 읽었더니 거의 일주일만에 다 읽었다. 금요일날 샷 4개 추가라는 롱 블랙을 마셔도 피곤해서 주말에 많이 쉬었다. 페어들을 만나면서 내가 기본기가 참 많이 부족하다는 느낌을 많이 받았다. 그래서 어차피 레벨1에서 객체지향, 자바에 대해 배우니까 첫 공부 시작으로 자바의 정석을 읽기로 했다. 결과는 정말 읽기 잘했다는 생각이다. 더 자세히 알아봐야겠다는 내용을 키워드도 정..
-
[우아한테크코스 5기] 2주차 후기백엔드/우아한테크코스 5기 2023. 2. 20. 01:00
기간 : 2023/02/13 (월) ~ 2023/02/19 (일) 저번주 일요일부터 ChatGPT에게 CS 지식에 대해 궁금한 점을 물어보며 유용하게 사용하고 있다. ChatGPT 성능이 이정도이면 GPT-4의 활용 용도는 얼마나 넓어질지 궁금해진다. 빨리 변수, 메서드, 클래스 이름을 자동으로 추천해주는 언어 모델이나 만들어졌으면 좋겠다. 요즘 가고 싶은 기업이 바뀌었다. 출퇴근마다 너무 피곤해서 나중에 취업을 하게 된다면 재택근무하는 회사에 들어가고 싶어졌다. 그게 아니면 지하철을 최대한 타지 않고 충분히 회사에 도착할 수 있는 거리로 이사를 하거나.. 경의중앙선 저녁 시간 지하철보다 더 심하다. 알고리즘 대회 스태프로 참여하게 됐다. 반년전만 하더라도 대회에 참가해서 수상 목표로 달리고 싶었다. 그..