TIL
-
함수형 프로그래밍TIL 2021. 1. 18. 20:27
함수형 프로그래밍 (Functional Programming) 함수형 프로그래밍(functional programming)은 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다. 프로그래밍 패러다임 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 프로그래밍 패러다임(programming paradigm)은 프로그래밍의 패러다임 형태이다. 소프트웨어 공학을 할 때의 패러다임 형태인 방법 ko.wikipedia.org 하나의 프로그래밍 패러다임, (패러다임 : 한 시대의 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식의 체계) 소프트웨어에서의 패러다임은 방법론 -> 프로그래머에게 프로그래밍의 관점을..
-
2021.01.18 기록장TIL 2021. 1. 17. 21:23
To Do 문제 해결 책 읽기 Done 문제 해결 Bad 책 읽기를 하지 않았다. Good 함수형 프로그래밍에 대해 조금 알게 되었다. Feeling 함수형 프로그래밍 처음에는 감도 안 잡혔는데 끝날 때쯤 되니 조금 알 것 같다. 메서드와 비슷한 역할을 하는 거 같다. 단 리턴 타입이나 매개변수로 사용할 수 있다는 점이 plus 되었지만. 맨 처음에는 직접 함수 인터페이스를 만들었는데 이미 java에서는 지원하는 함수 인터페이스가 많았다. 그래서 후반에는 이미 있는 함수 인터페이스만 사용해서 문제를 해결했다.
-
Solid 란TIL 2021. 1. 17. 13:47
로버트 마틴이 2000년대 명명한 객체지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 마이클 페더스가 앞글자를 따서 소개한 것. 목적은 유지보수와 확장이 쉬운 시스템 개발을 위해. 두문자 약어 개념 S SRP 단일 책임 원칙 : 한 클래스는 하나의 책임만 가져야 한다. O OCP 개방-폐쇄 원칙 : 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. L LSP 리스코프 치환 원칙 : 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다. I LSP 인터페이스 분리 원칙 : 인터페이스는 분리가 되면 쪼개라 D DIP 의존관계 역전 원칙 : 프로그래머는 "추상화에 의존해야지, 구체화에 의존하면 안된다." 의존성 주입은 이 원칙을 따르는 방법 중..
-
2021.01.17 기록장TIL 2021. 1. 16. 22:37
To Do solid 학습 및 정리 알고리즘 문제 풀기 책 읽기 Done solid 학습 및 정리 백기선 님 study 하트 글 읽기 책 읽기 Bad 알고리즘 문제 풀기는 너무 어렵다. 쉬운 거부터 풀어야 하나 Good 책 읽음, 학습 정리함 Feeling 오늘은 전송계층에 대해 읽었다. 안전한 전송을 하기 위한 계층으로 연결형 통신과 비연결형 통신이 있다. 연결형 통신의 대표적인 프로토콜은 tcp로 안전한 통신을 하게 해 준다. 3 웨이 핸드 셰이크를 통해 연결을 확인하고 데이터 보내고 잘 도착했는지 확인하고. 데이터 양은 상대 컴퓨터의 버퍼를 확인해서 알맞게 보내주고 (윈도 사이즈) 포트번호도 앞에 포함한다. 네트워크 계층에서 ip를 통해 컴퓨터를 찾아가면 전송계층에서는 포트번호를 통해 해당 프로그램..
-
OOP에 관해서TIL 2021. 1. 16. 14:05
oop에 대해 공부하기 위해 자료를 찾던 중 재밌는 글을 봐서 공유한다. rinae.dev/posts/the-faster-you-unlearn-oop-the-better-for-you-and-your-software-kr [번역] OOP를 빨리 잊을 수록 여러분과 여러분의 소프트웨어에 좋습니다 OOP를 향한 신랄한 비판(?) 번역 (not about functional programming) - 비판적으로 읽어주세요 rinae.dev 중간에 '나는 바나나를 원했는데 결과는 바나나를 들고 있는 고릴라와 정글을 얻었다.'라는 글이 있는데 이번에 코드를 작성하면서 본인이 느낀 점에 딱 맞았던 거 같다. 설계자에게 중요한 것은 어디까지 세분화할 것인지 같다. 인간을 오장육부로 분리할 건지, 세포단위까지 분리할 ..
-
2021.01.16 기록장TIL 2021. 1. 15. 22:35
To Do 코쿼 학습 정리 작성 책 읽기 Done 코쿼 학습 정리 작성 책 읽기 Bad 학습 정리의 마지막인 solid 원칙을 정리하지 않았다. 오늘 유튜브를 많이 봤다. Good 코쿼 학습 정리 작성 책 읽기 Feeling oop를 학습 하기 위해서 우형의 객체지향에 관한 유튜브를 봤다. 의존성을 중요시 생각해서 의존성을 약하게 하는 여러 방법을 설명하는 것을 들었다. 리포지토리를 생성하여 인스턴스를 대체하거나 중간 객체를 만드는 모습들을 보았다. 책은 모두의 네트워크 책을 읽었다. osi 7 계층에서 각 계층이 하는 역할을 일단 물리, 데이터, 네트워크 계층까지 읽었다. 물리 계층은 비트를 전기신호로 바꾸고 데이터 링크 계층은 이더넷등을 활용해 랜선 네트워크를 할 수 있게 한다. 네트워크 계층은 더 ..
-
2021.01.15 기록장TIL 2021. 1. 14. 21:43
To Do cs미션 끝내기 람다와 스트림 최대한 사용하기 코쿼 목표 설정 책 읽기 Done cs미션 끝내기 람다와 스트림 최대한 사용하기 선배기수 코드 해석 중 책 읽기 Bad oop 깊이 있게 학습 코쿼 목표 설정 Good 람다를 최대한 억지로 사용해 봤다. Feeling 코쿼선배의 좌표 코드를 봤는데 이해가 잘 가지 않아서 한 시간 정도 봤다. 근데 회사 코드가 더 어려울 거 같아서 덜컥 겁이 나기도 한다. 일단 미션에서의 에러를 해결했다. 그리고 TDD를 한 팀원을 보고 약간의 동기부여가 됬다. 다음 미션부터는 미션 제출보다 완성도와 테스트 코드 작성에 힘을 실어야겠다. 근데 람다와 스트림을 곁들인..