개발 공부
-
1. 인터넷 프로토콜과 URI의 개념개발 공부/Network 2021. 4. 18. 16:29
본 게시물은 김영한님의 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 듣고 정리한 내용입니다. 따라서 모든 저작권은 인프런과 김영한님께 있음을 밝힙니다. 혹시라도 문제가 된다면 삭제하겠습니다. 댓글에 남겨주세요. 1. 인터넷 네트워크 인터넷 통신 클라이언트와 서버가 만약 바로 옆에 있다면, 인터넷이 필요없이 케이블만 연결하면 될 것이다. 하지만 실제 세계에서는 클라이언트와 서버가 물리적으로 굉장히 떨어져 있다. 따라서 중간에 인터넷이라고 하는 서버 노드들의 집합을 통해서 통신을 하게 된다. 과연 어떤 과정을 통해서 통신이 이루어질까? 이를 위해 일단 IP의 개념을 알아야 한다! IP (인터넷 프로토콜) 클라이언트와 서버는 각각 고유의 IP 주소를 가진다. 인터넷 프로토콜은 지정한 IP 주소에 데이..
-
로버트 C.마틴의 클린코드(Clean Code) - 3) 함수개발 공부/Clean Code 2020. 12. 3. 20:15
프로그래밍에서 기본이 되는 함수. 혹시나 여태까지 정말 아무 생각 없이 함수를 작성하고 있지는 않았을까? 과연 우아하고 깨끗한 함수란 무엇인가? 3장 "함수"에서 그 해결책을 조금이나마 제시해주었습니다. 차근차근 보시죠. 작게 만들어라! 함수를 만드는 첫째 규칙은 '작게!'다. 함수를 만드는 둘째 규칙은 '더 작게!'다. 함수는 무조건 작게 만드는 게 좋다. 얼마나? 200줄? 100줄? 50줄???? 최소한 함수는 15줄 이내로 만드는 것이 베스트다. 또한 함수에서는 들여 쓰기(indent)가 1단 혹은 2단을 넘어가서는 안된다. 중첩 구조가 생길 만큼 함수가 커져서는 안 된다는 뜻이다. 예를 들면, 아래 renderPageWithSetupsAndTeardowns( PageData pageData, b..
-
로버트 C.마틴의 클린코드(Clean Code) - 2) 의미 있는 이름개발 공부/Clean Code 2020. 11. 28. 17:28
안녕하세요! 오늘은 Uncle Bob의 클린 코드에서 2장 의미 있는 이름에 대해서 써보려고 합니다. 사실 저는 여태까지 코딩이라고 해봤자 졸업 프로젝트나 알고리즘 문제를 푸는 정도였는데요. 계속 변수나 함수의 이름을 진짜 그냥 data, list, a, b, x, y 이런 식으로 짓는 경우가 많았던 것 같아요. 책을 읽으면서 이런 자신을 반성하게 되었고 정말 습관이라는 게 굉장히 중요하다고 느꼈습니다. 그럼 이제부터 한번 변수, 함수, 클래스에 어떻게 의미 있는 이름을 짓는지 알아보도록 하겠습니다. 1. 의도를 분명히 밝혀라 좋은 이름을 지으려면 시간이 오래 걸리지만, 좋은 이름으로 절약하는 시간이 훨씬 많다. 변수, 함수, 클래스의 이름은 다음과 같은 굵직한 질문에 모두 답해야 한다. 변수, 함수, ..
-
로버트 C.마틴의 클린코드(Clean Code) - 1) 깨끗한 코드란?개발 공부/Clean Code 2020. 11. 26. 17:08
운이 좋게 우아한 테크코스의 프리코스 과정을 진행하게 되었는데, 로버트 C.마틴 (Uncle Bob으로 더 유명하죠)의 클린 코드라는 책이 워낙 유명하고 박재성 님의 추천 도서이기도 해서 읽어보게 되었습니다. 책이 두껍기도 하고, 소설책 처럼 술술 읽는다고 이해되는 책이 아니기 때문에 앞으로 시간을 충분히 가지면서 차근차근 하나씩 게시물을 올려볼 생각입니다. 죽은 글이 아니라 살아있는 글을 만들라고 했던 박재성 님의 말씀처럼, 이 게시물들은 언제나 내용이 수정되거나 추가될 수 있음을 미리 밝힙니다. 코드가 존재하리라! 마치 성경의 "빛이 있으라!" 처럼, 이 책은 처음에 "코드가 존재하리라!"라는 말로 시작한다. 물론 나도 그랬지만, 몇몇 사람들은 코드의 중요성에 대해 깊게 생각하지 않는 경향이 있다. ..
-
[Java]STEP2 - 2) 제네릭 메소드(Generic Method), 와일드카드, 제네릭 타입의 상속과 구현개발 공부/Java 2020. 11. 24. 19:43
본 게시글은 도서 "이것이 자바다" 동영상 강의를 듣고 기록하는 TIL(Today I Learned) 입니다. 모든 저작권은 출판사 한빛미디어와 신용권님께 있음을 알립니다.👍 이번 게시물은 저번 게시물에 이어서 제네릭에 대해서 더 알아보겠습니다. 제네릭 메소드란 무엇이고, 와일드 카드의 개념, 제네릭 타입의 상속과 구현에 대해 알아보겠습니다. ◈ 제네릭 메소드 (Generic Method) 제네릭 메소드(Generic Method)란 매개 타입과 리턴 타입으로 타입 파라미터를 갖는 메소드를 말한다. 다음과 같이 선언 할 수 있다. // 제네릭 메소드 선언 // 매개 변수 타입: T // 리턴 타입: Box public Box boxing(T t) { Box box = new Box(); box.set(t..
-
[Java]STEP2 - 1) 제네릭(Generic)이란?, 제네릭의 등장 배경과 필요성개발 공부/Java 2020. 11. 24. 19:01
본 게시글은 도서 "이것이 자바다" 동영상 강의를 듣고 기록하는 TIL(Today I Learned) 입니다. 모든 저작권은 출판사 한빛미디어와 신용권님께 있음을 알립니다.👍 안녕하세요. 오랜만에 글을 쓰는 것 같습니다. 지난 게시물을 끝으로 "이것이 자바다"의 1권을 마무리 했습니다. 이번 게시물 부터는 Java STEP2로써, "이것이 자바다"의 2권에 대한 내용을 작성하도록 하겠습니다. 이번 게시물에서는 자바의 제네릭(Generic)에 대해 학습해보도록 하겠습니다. 제네릭은 자바 5부터 등장한 개념인데요. 도대체 제네릭이란 무엇인지! 왜 필요하게 되었는지! 알아보겠습니다. ◈ 제네릭(Generic)의 개념과 필요성 제네릭(Generic)은 클래스와 인터페이스, 그리고 메소드를 정의할 때 타입(typ..
-
[Java]STEP1 - 22) Date 클래스, Calendar 클래스, Format 클래스개발 공부/Java 2020. 10. 19. 19:12
본 게시글은 도서 "이것이 자바다" 동영상 강의를 듣고 기록하는 TIL(Today I Learned) 입니다. 모든 저작권은 출판사 한빛미디어와 신용권님께 있음을 알립니다.👍 이번 게시물에서는 날짜와 달력을 표현하는 Date, Calendar 클래스와 문자열의 형식을 지정하는 Format 클래스에 대해서 알아보겠습니다. 1. Date 클래스 Date 클래스는 날짜를 표현하는 클래스이다. Date() 생성자만 주로 사용한다. 컴퓨터의 현재 날짜를 읽어 Date 객체로 만든다. 현재 날짜를 문자열로 얻고 싶다면 toString() 메소드를 사용하면 된다. 만약 특정 문자열 형식으로 현재 날짜를 얻고 싶다면 java.text.SimpleDateFormat 클래스를 이용한다. Date now = new Date..
-
[Java]STEP1 - 21) Wrapper(포장) 클래스, Math 클래스, Random 클래스개발 공부/Java 2020. 10. 18. 18:23
본 게시글은 도서 "이것이 자바다" 동영상 강의를 듣고 기록하는 TIL(Today I Learned) 입니다. 모든 저작권은 출판사 한빛미디어와 신용권님께 있음을 알립니다.👍 이번 게시물에서는 Wrapper 클래스, Math 클래스, Random 클래스에 대해서 알아보겠습니다. 1. Wrapper(포장) 클래스 자바는 기본 타입(byte, char, short, int, long, float, double, boolean)의 값을 갖는 객체를 생성할 수 있는데, 이런 객체를 포장(Wrapper) 객체라고 한다. 포장 클래스는 java.lang 패키지에 포함되어 있고 기본 타입에 대응되는 클래스들은 다음과 같다. 1) byte : Byte 2) char : Character 3) short : Short ..