전체 글(408)
-
(TIL) 20220304
📕Facts(한 것) 클린 코드 독서 TCP 공부하기 📕Findings(배운 것) TCP에 대해서 김영한님 강의를 듣고 간략하게 정리해봤다. TCP가 뭘까? 앞선 IP 관련 게시글을 보고 온 분은 IP만 가지고는 원활한 인터넷 통신이 어렵다는 사실을 인지하고 있을 것이다. 그리고 그러한 문제들을 해결하기 위해서 TCP/UDP 가 존재한다. TCP/UDP를 이해하기 mirrorofcode.tistory.com 클린 코드 3장을 읽었다. 함수에 관한 내용이었고, 어떻게 하면 함수를 잘 작성할 수 있는지, 어떤 함수가 좋은 함수인지에 대해 서술하고 있다. 코드 컴플리트의 '어떤 루틴이 좋은 루틴인가?'와 비슷하다. (TIL) 20211124 (어떤 루틴이 좋은 루틴인가?) 📕Facts(한 것) 백준 문제 풀기..
2022.03.04 -
(클린코드) 2장. 의미 있는 이름
클린코드 2장, 의미 있는 이름 챕터를 정리한 글이다. 오른 쪽에 유명한 통계가 있다. 개발자들이 가장 힘들어 하는 것은 바로 '이름 짓기' 이다. 왜 이름 짓기가 가장 힘들어 하는 일일까? 그냥 a,b,c,d 로 이름을 지으면 안 될까? for 문에서는 i, j, k를 사용해서 처리하며 안 될까? 클린코드 2장에서 어떻게 하면 이름을 잘 지을 수 있는지에 대해 알아보자. 의도를 명확히 밝혀라 모두가 공감할 만한 제목이다. 의도를 명확히 밝힌 클래스명, 변수명은 가독성을 올려줌으로서 (명확하지 않은 것에 비해) 이해하는 시간을 훨씬 줄여준다. 그럼 어떻게 '의도를 명확히' 밝힐 수 있을까? 책에서는 이에 대한 수단으로 다음과 같은 굵직한 질문에 대답해야한다고 한다. '변수(혹은 함수나 클래스)의 존재 이..
2022.03.04 -
(TIL) 20220303
📕Facts(한 것) 클린 코드 독서 Java 문법 복습(Java 8 중심) 알고리즘 문제 풀기 프로젝트 코드 리팩터링 및 예제데이터 추가 📕Findings(배운 것) 미루고 미뤘던 좋아요를 클릭여부 로직을 변경했다. 기존에는 게시글을 조회하고, 좋아요도 따로 조회요청을 해야한다고 생각했는데 두번 요청하는것이 비효율적이면서, 아무런 상호작용이 일어나지도 않았는데 조회요청하는게 이상하다고 생각해서 게시글, 리뷰글을 조회할 때 바꾸는 로직으로 변경했다. \클린 코드 2장을 읽었다. 코드 컴플리트랑 내용이 일맥상통 하면서도 좀 더 재밌다. 클린코드 2장에 대한 내용 정리은 아래에. (클린코드) 2장. 의미 있는 이름 클린코드 2장, 의미 있는 이름 챕터를 정리한 글이다. 오른 쪽에 유명한 통계가 있다. 개발자..
2022.03.03 -
(네트워크) IP란 뭘까?
컴퓨터 전공이 아니어도 IP라는 말을 우리는 자주 사용한다. (아닌가?) 그럼에도 우리는 IP가 정확하게 뭔지 모르고 사용할 때가 많다. 그런 의미에서 우리는 오늘 IP에 대해서 알아보려고 한다. 🏴 IP(internet protocol), 가까운 듯 먼 그대 내 컴퓨터와 내 친구 컴퓨터간 통신을 하고 싶다. 그럼 이 두 컴퓨터는 어떻게 통신할 수 있을까? 이 때 사용하는 것이 바로 IP 주소이다. 통신에는 송신자와 수신자가 필요하고, 이 송/수신자 모두 IP 주소를 가지고 있어야 통신이 가능하다. 그럼 IP는 어디다 쓰냐, 바로 IP주소에 데이터 전달의 역할을 한다. 이 데이터는 패킷(Packet)이라는 통신 단위로 전달한다. 그럼 이 통신 단위, 패킷에는 뭐가 들어갈까? 여기에 바로 출발지..
2022.03.03 -
(TIL)20220228, 당근 끝!
📕Facts(한 것) 당근마켓 과제 완료! 📕Findings(배운 것) 당근 마켓 과제를 드디어 끝냈다. Spring Batch라는 기술을 처음 사용해봤다. 왜 Spring Batch 였을까? 스프링 배치는 대용량 데이터 처리에 아주 적합하다. 왜 적합할까? 기존의 MVC구조는 대용량 데이터 처리에 왜 부적합 할까? MVC구조에서 JPA findAll()을 준다고 해보자. 그럼 DB에 있는 모든 데이터를 불러올게 아닌가? 그렇다면 많은 트래픽이 발생할 것이고, 이는 하드웨어 자원을 갉아 먹을 것이다. 하지만 스프링 배치는 그렇지 않다. 읽어 들이는 사이즈를 조절 할 수 있어서 데이터를 천천히, 많이, 하드웨어 자원을 아끼면서 가져올 수 있다. 스프링 배치에 대해서 서적으로 출판 된 것이 아주 적다. 나는..
2022.03.01 -
logging이란?
🏴Debugging에 대한 이해 아이러니하게도 Logging에 대한 이해가 있으려면 Log에 대해 알아야하고, Log에 대한 이해가 있으려면 Debugging에 대한 이해가 있어야한다. 그럼 디버깅이 뭘까? De + bug + ing 버그는 실행파일 안에 존재하는 오류들을 버그라고 한다. 그래서 디버깅은 이 오류들을 제거하거나 억제하는 행위라고 할 수 있다. 그럼 왜 로그와 디버깅이 연관관계가 있을까? 그것은 바로 디버깅의 과정을 로그를 확인하며 진행하기 때문이다. 🏴Log에 대한 간단한 이해 로깅이 무엇인지 이해하기 위해서는 '로그'가 뭔지 알고 있어야한다. 로그가 뭘까? 로그는 '정보를 제공하는 일련의 기록'(from HowToBeAProgrammer)이다. 그러니까 시스템상에서 일..
2022.02.23