분류 전체보기
-
[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의 활용 용도는 얼마나 넓어질지 궁금해진다. 빨리 변수, 메서드, 클래스 이름을 자동으로 추천해주는 언어 모델이나 만들어졌으면 좋겠다. 요즘 가고 싶은 기업이 바뀌었다. 출퇴근마다 너무 피곤해서 나중에 취업을 하게 된다면 재택근무하는 회사에 들어가고 싶어졌다. 그게 아니면 지하철을 최대한 타지 않고 충분히 회사에 도착할 수 있는 거리로 이사를 하거나.. 경의중앙선 저녁 시간 지하철보다 더 심하다. 알고리즘 대회 스태프로 참여하게 됐다. 반년전만 하더라도 대회에 참가해서 수상 목표로 달리고 싶었다. 그..
-
[Selenium] AutoCloseable이 없는 이유공부/etc 2023. 2. 19. 23:12
자바의 정석 예외처리 파트를 읽고 있는데, try-with-resources문을 사용하는 것이 좋아보였다. 실제로 이게 좋은 것인가?하고 찾아보니 이펙티브 자바에도 이런 내용이 있어서 개선할 코드가 있으면 직접 수정하는 것도 좋아보였다. 그래서 작년에 했던 산학프로젝트에 ChromeDriver를 try-with-resources로 적용해 PR을 보내려고 했는데, 빨간줄이 나와 내부 코드를 확인해보니 AutoCloseable 인터페이스를 상속하지 않은 상태였다. 기여를 해볼만하다는 생각이 들어서 셀레니움 깃허브에 들어갔는데, 이미 나와 같은 생각을 했던 사람들이 여러명 존재했다. 사실 별 기대조차 안했다. 내가 이걸 발견할 정도면 이미 다른 사람들이 발견했을테니... 이유 1. close() 이름 중복 내..
-
[Java] var는 사용해도 되는 것일까?백엔드/Java 2023. 2. 13. 00:05
자동차 경주 미션 2단계의 코드 예시에서는 var를 사용하고 있다. 자바에서 var를 보는 것은 처음이었고, 자바스크립트에서 var는 사용을 지양하라고 나와있어서 선입견 때문에 이걸 과연 사용해도 될까? 라는 생각이 들었다. 1. 자바스크립트에서 var 사용을 지양하는 이유 [호이스팅 현상] console.log(foo); undefined var foo = 1; console.log(foo); 1 자바스크립트는 변수를 설정하면 변수가 속하는 유효 범위(scope) 안에 최상단으로 올려져 선언을 하게 된다. 사실상 중간에 변수를 선언해도 최상단에 선언하는 것과 같은 효과라서 위와 같은 코드가 나와도 첫번째 줄의 console.log(foo);가 작동하게 된다. [중복 선언] var foo = 1; var..
-
[Java] final을 자주 사용하는 이유백엔드/Java 2023. 2. 12. 22:10
우테코를 진행하는데 코치님도 그렇고, 리뷰어님도 final을 자주 사용해서 왜 final을 많이 사용하는지 궁금해졌다. 내가 final을 사용하는 이유는 상수 아니면 멤버 변수에만 사용했는데, 메서드 인자에도 final을 최대한 붙이는 편이라고 해서 관련된 내용을 찾아보았다. 1. final 키워드 자바에서 final 키워드는 변수, 메서드, 클래스에 적용할 수 있다. 변수 - 단 한 번만 초기화가 가능하다. - 원시 타입에 final을 붙이면 값을 변경할 수 없다. - 객체 타입에 final을 붙이면 다른 객체로 변경하지 못하는 것이지, 객체 내부 데이터는 변경할 수 있다. - 메서드 인자에 final을 붙이면 원시 타입, 객체 타입에 따라 각각의 규칙이 적용된다. 메서드 - 상속 받은 클래스의 어떤 ..
-
[우아한테크코스 5기] 1주차 후기백엔드/우아한테크코스 5기 2023. 2. 12. 15:11
기간: 2023/02/07 (화) ~ 2023/02/12 (일) 온보딩 기간으로 크게 수업, 연극 준비, 페어프로그래밍을 하게 된다. 온보딩으로 연극을 하는데 1일차부터 추노하고 싶었다.. ㅋㅋ 1. 연극 연극의 경우엔 주제 선정부터 뭘해야할지 고민했는데, 크루들이 다들 좋은 주제를 말해가지고 생각보다 쉽게 선정한 것 같다. 온보딩 크루들이 나 말고는 인싸 같았고, 나 혼자 템포를 못쫓아가서 나와는 완전히 다른 분위기라 우테코를 괜히 했나..?? 라는 생각도 많이 들었다 😭 우리 학교는 엄청 작기 때문에 다들 건너건너 이름을 자주 들었던 사람들이라 이미 다들 누군지 어느정도 알고 있는 상태에서 만나서 크게 부담감이 없었다. 그런데 처음 보는 사람들끼리 만나서 이야기를 나누니까 이거만큼 힘든 일도 없는 것..
-
[후기] 개발자가 반드시 정복해야 할 객체지향과 디자인 패턴후기/책 후기 2023. 1. 29. 23:23
책 이름처럼 객체지향에 대한 내용을 배운 뒤에 대표적인 디자인 패턴에 대해 알려주는 책이다. 책은 크게 3가지 파트로 나뉜다. 1) 객체지향 '왜 객체지향적으로 코드를 작성해야 하는지?', '이론을 실전에 적용하려면 어떻게 해야하는지?'에 대한 답을 코드를 보며 이해할 수 있다. 다만 아쉬운 점은 이 책은 객체지향 개념만을 중점으로 설명하는 책은 아니다. 그렇기 때문에 객체지향 입문서를 읽어본 후에 책을 읽어보는 것이 더 도움이 되지 않을까 생각한다. 2) SOLID, DI와 서비스 로케이터 객체지향에 대한 기본적인 내용을 배웠다면, 객체지향 설계 원칙인 SOLID와 의존성 주입(DI), 서비스 로케이터에 대해 알아보게 된다. 다른 파트의 내용도 잘 작성했지만, 개인적으로 여기 파트가 핵심만 잘 파악해서..