분류 전체보기
-
모두의 네트워크기타/내용 2021. 1. 20. 22:06
네트워크에 대한 지식은 대학교 때 시험을 위해 외웠던 기억밖에 없다. 물데네전세표응 이 책은 대화 형식으로 지식을 전달하는데 처음은 네트워크의 개념부터, 그리고 네트워크를 위한 장비 스위치와 라우터 등 후에는 osi7 계층과 tcp를 알려준다. 요즘은 7계층 말고 tcp를 사용해서 통신을 한다. 응용 계층에서 예로 웹서버에 요청을 보내면 전송계층에서 포트번호를 붙이고 네트워크 계층에서 ip번호를 붙이고 데이터 링크 계층에서 mac주소를 붙이고 물리 계층에서 전기신호로 바꿔서 이제 컴퓨터 밖으로 나간다. 중간에 스위치와 라우터를 만나는데 각자 한 번씩 데이터를 까보고 가야 할 곳으로 인도를 해준다. 결국에 데이터가 도착을 하게 되면 웹서버는 역순으로 캡슐화를 까 본다. 이런 식으로 네트워크가 이뤄진다. 네..
-
람다와 StreamTIL 2021. 1. 19. 16:10
함수형 프로그래밍이란? 하나의 공정을 하는 함수를 만들어 사용하는 것이다. 단 여러 조건이 붙는(불변성, 1급 시민, 순수 함수 등..) gsmesie692.tistory.com/267 Java 8과 함수형 프로그래밍: Lambda, Stream, Functional Interface Intro. 왜 Java 8인가? Java 8 (=Java 1.8) 은 2014년에 발표된 자바 버전이다. 내가 대학에서 자바를 배웠던 것은 Java 8이 발표되기 전이었다. 당연히 Java 8의 신기능에 대해서 대학 수업에서는 배우지 못했 gsmesie692.tistory.com 람다식 이란? 기본 문법 (타입 매개변수,...) -> {실행문;...} , (int a)-> {System.out.println(a);} 지금..
-
2021.01.19 기록장TIL 2021. 1. 18. 22:13
To Do 문제 해결 책 읽기 Done 백기선 님 study 정리 문제 해결 Bad 책을 못 읽었다. Good stream 공부를 했고 study를 통해 thread도 조금 알았다. Feeling 오늘은 stream에 대해 공부했었다. 객체에서 값을 뽑아내는 것을 보고 멋져서 깊게 공부했는데 스트림을 병렬적으로 처리할 수 있게 해주는 것도 공부를 했다. 근데 성능 이슈가 잦아서 조심해서 사용하던가 사용하지 말던가 해야 된다. 그렇게 공부를 하고 study를 정리하는데 마치 주제가 멀티스레드라 여기서도 병렬 처리 관련 글들을 보게 됐었다. 예전에는 둘 다 잘 몰라서 연관 짓지 못했을 텐데 조금씩 알아가니 지식이 선을 잇는 느낌이 들었다. 아 또 Runnable도 열어보니 이번에 배운 함수 인터페이스였다. ..
-
함수형 프로그래밍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 의존관계 역전 원칙 : 프로그래머는 "추상화에 의존해야지, 구체화에 의존하면 안된다." 의존성 주입은 이 원칙을 따르는 방법 중..