독서(Reading)/오늘의 책(Today's book)20 (Java/자바) 모던 자바 인 액션 chapter 1, 4(2022.10.10) chapter 1. 자바 8, 9, 10, 11 : 무슨 일이 일어나고 있는가? - 메서드 참조 : ::('이 메서드를 값으로 사용하라') - 자바 8부터는 메서드가 이급 값이 아닌 일급 값에 해당한다. - 프레디케이트(predicate) : 인수로 값을 받아 true or false 값을 반환하는 함수 - 익명함수/람다를 통해 일회성 메서드 정의 오버헤드를 줄일 수 있다. - 외부 반복 : for-each 루프를 이용해서 각 요소를 반복하면서 작업을 수행한다. - 내부 반복 : 스트림 API에서 라이브러리 내부에서 모든 데이터가 처리된다. - 컬렉션 : 어떻게 데이터를 저장하고 접근할지에 중점 - 스트림 : 스트림 내의 요소를 쉽게 병렬로 처리할 수 있는 환경을 제공 -> 컬렉션을 필터링할 수 있는 가.. 독서(Reading)/오늘의 책(Today's book) 2022. 10. 10. 클린코드 - 로버트 C.마틴 / 박재호,이해영 옮김 - 코드는 요구사항을 표현하는 언어 - 르블랑의 법칙 / 나중은 결코 오지 않는다 - 나쁜 코드는 개발 속도를 크게 떨어뜨린다. - 나쁜 코드가 쌓일수록 팀 생산성은 떨어진다. - 일정에 쫓기더라도 대다수 관리자는 좋은 코드를 원한다. 그들이 일정과 요구사항을 강력하게 밀어붙이는 이유는 그것이 그들의 책임이기 때문이다. 좋은 코드를 사수하는 일은 바로 우리 프로그래머들의 책임이다. - 나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못하다. - 빨리가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다. - 깨끗한 코드를 작성하는 프로그래머는 빈 캔퍼스를 우아한 작품으로 바꿔가는 화가와 같다. - 깨끗한 코드는 우아하다(보기에 즐겁다). 깨끗한 코드는 한 가.. 독서(Reading)/오늘의 책(Today's book) 2022. 9. 24. 2022년 7월 2주차 SQL 코딩의 기술(pp.118 ~ 175) BETTER WAY 18. 설계를 변경할 수 없을 때는 뷰로 데이터를 간소화하자 사용자에게 직관적인 데이터를 제공하려면 뷰를 사용한다. 사용자가 정확히 필요한 데이터를 보거나 더는 필요 없는 데이터를 보지 않게 제한하려며 뷰를 사용한다. 필요하면 WITH CHECK OPTION을 사용한다. 복잡한 쿼리를 숨기고 재사용하려면 뷰를 사용한다. 여러 테이블에 있는 데이터를 취합해 보고용 데이터를 만들 때는 뷰를 사용한다. 뷰를 사용하면 코딩 규칙이나 명명법을 강화할 수 있다. 특히 기존 데이터베이스 설계를 변경해서 작업할 때 특히 유용하다. BETTER WAY 19. 비관계형 데이터를 정보성 데이터로 변환할 때는 ETL을 사용하자 BETTER WAY 20. 요약 테이블을 만들어 관리하자. BETTER WAY .. 독서(Reading)/오늘의 책(Today's book) 2022. 7. 14. 2022년 7월 1주차 SQL 코딩의 기술 Chapter 1. 데이터 모델 설계 데이터 모델을 잘못 설계하면 '효율적'인 SQL 작성은 시작도 할 수 없다. BETTER WAY 1.모든 테이블에 기본키가 있는지 확인하자 기본키가 없으면 데이터를 걸러 낼 때 일치하는 로우가 없거나 딱 한 개인 조건은 보장할 수 없다. 기본키가 없는 테이블 간의 관계를 모델링하는 것은 일반적으로 불가능하다. 테이블에 기본키가 없으면 반복적이고 일관성 없는 데이트가 쌓여 쿼리 수행 속도가 느리고, 부정확한 정보를 조회하는 등 모든 종류의 문제를 일으킬 수 있다. 유일한 값을 가져야 한다. NULL 값을 가질 수 없다 값을 갱신할 필요가 없어야 한다. 가능한 한 간단한 형태여야 한다(문자나 부동소수점보다는 정수형, 여러 컬럼보다는 단일 컬럼이 낫다) 참조 무결성을 준수.. 독서(Reading)/오늘의 책(Today's book) 2022. 7. 5. 2022년 7월 1주차 나는 LINE개발자입니다 - 나를 일관되게 이끌어줄 생각과 개발의 원칙을 설정하고 연습해야할 필요성을 항상 느낀다(p.85) - 그 모든 이의 실력은, 사람 말이든 프로그램 코드든 분명한 언어에 담겨서 드러난다.(p.88) - 장래를 해결하고 나면 거의 즉시 장애 보고서를 작성하기 시작한다. 장애의 영향 범위와 현상, 원인과 조치 내역을 시간순으로 기록한 보고서를 ~(p.101) 더 많이 성장하고 싶은 주니어 개발자의 공부 팁(pp.104 ~ 106) - 개발에 대한 흥미 잃지 않기 : 기술 블로그(awesome-devblog 참고) - 이미 잘 만들어진 소프트웨어에서 배우기 : 내게 익숙한 소프트웨어를 따라 만들어보기 - 이론까지 탄탄한 개발자되기 : 소프트웨어 개발은 복잡성을 다루는 일이다. 이론적인 부분이 흔들리면 문제해결.. 독서(Reading)/오늘의 책(Today's book) 2022. 7. 3. 2022년 7월 1주차 면접을 위한 CS 전공지식 노트 - SECTION 2.2 SECTION 2.2 TCP/IP 4계층 모델 인터넷 프로토콜 스위트(Internet Protocol Suite) 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 집합 계층구조 TCP/IP 계층과 달리 OSI 계층은 애플리케이션 계층을 애플리케이션, 프레젠테이션, 세션 계층 세 개로 쪼개고 링크 계층을 데이터 링크 계층, 물리 계층으로 나눠서 표현하며, 인터넷 계층을 네트워크 계층으로 부름 레이어 아키텍처 특성상 특정 계층의 변경이 다른 계층에 영향을 받지 않도록 설계 애플리케이션 계층 FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이 사용되는 프로토콜 계층 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 층 FTP : 장치와 장치 간의 파일 전송 표준 통신.. 독서(Reading)/오늘의 책(Today's book) 2022. 7. 3. 2022년 7월 1주차 - 소프트스킬(평범한 개발자의 인생 전략 71가지) (pp.322~347) Chapter 44. 반복 행위의 중요성 매일 하는 일이 당신을 만든다. 스스로 변하는 마음이 있어도 시간을 들여 꾸준히 실천하는 것은 어렵다. 조금 더디더라도 확실히 원하는 방향으로 당신을 이끌어줄 반복 행위를 만들어두어야 한다. 꿈을 향해 나아가기 위해 실제로 매일 노력하고 있는가? 매일 아침 한 시간 또는 두 시간 정도를 가장 중요한 목표를 이루는 데 할당하라 구체적일수록 좋다. 매일 아침 처음 할 일을 정하자 매일 또는 매주 반복할 작업을 몇 가지 골라보자 반복 행우에 너무 강박관념을 갖지 않도록 주의하라. Chapter 45. 코드ㅡ 손질하듯 습관 개발하기 당신이 반복하는 일이 당신을 규정한다. 위대함은 하나의 행위가 아니라 습관에서 온다. 신호, 반복 행위, 보상 보상을 얻을 수 있는지 또는 .. 독서(Reading)/오늘의 책(Today's book) 2022. 7. 3. 2022년 7월 1주차 - 1일 1로그 100일 완성 IT지식(pp.22~46) 컴퓨터는 디지털 처리 장치다 : 불연속적인 덩어리로 입력받고, 불연속적인 값을 갖는 정보를 저장, 처리한다. 불연속성 = 이산적 컴퓨터는 정보를 비트로 처리한다 : 비트는 이진 숫자로, 0 또는 1인 수이다. 비트는 모여서 더 큰 정보를 표현한다. 아날로그 - 유사하다는 analogous와 어원이 같고, 다른 어떤 것이 변함에 따라 연속적으로 변하는 값이라는 개념을 전달하는 단어 압축, 암호화, 병합, 복사, 이동, 저장 등 디지털 데이터가 다루기 쉬우며 디지털 매체 간의 확장이 용이하다. 1픽셀 = R,G,B 검출 소자 1개씩 들어 있음 / 4000 x 3000 픽셀 = 1천 2백만 화소 파형의 디지털 표현 : 측정한 일련의 수 MP3 : MPEG Audio Layer 3 AAC : Advanced A.. 독서(Reading)/오늘의 책(Today's book) 2022. 7. 3. 2022년 6월 5주차 - 면접을 위한 CS 전공지식 노트 - 네트워크의 기초 SECTION 2.1 네트워크의 기초 네트워크 노드와 링크가 서로 연결되어 있거나 연결되어 있지 않은 집합체 노드 : 서버, 라우터, 스위치 등 네트워크 장치 링크 : 유선 또는 무선 처리량과 지연시간 좋은 네트워크란 많은 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크 처리량(throughput) 링크를 통해 전달되는 단위 시간당 데이터양 단위 : bps(bits per second) 초당 전송 또는 수신되는 비트 수 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치 하드웨어 스펙에 영향을 받음 대역폭 : 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수 지연시간(latency) .. 독서(Reading)/오늘의 책(Today's book) 2022. 6. 29. 2022년 6월 5주차 - 소프트스킬(평범한 개발자의 인생 전략 71가지) (p.292~p.321) chapter 39. 할당 체계를 도입해 생산성을 높여라 미리 설정해둔 기간 내에 얼마나 처리할 것인지 목표를 세우자 어떤 작업이든 반복하고 나면 반복 빈도를 정의한 뒤 할당량을 부여하고 비가 오나 눈이 오나 변함없이 할당량을 완수하자 주기를 명확하게 설정하자 어떤 단위로 주기를 설정할 지 단위를 고민해보자 제대로 실천한다는 말의 의미는 능력이 허락하는 한도 내에서 최대한 전념하여 완수 해낸다라는 뜻 물리적인 한계를 제외하고는 작업을 완료할 때까지 사실상 그 무어도 장애물이 될 수 없다는 의미 목표했던 일을 해내는 것 외에는 다른 어떤 선택지도 두지 마라 마음속에서 실패란 단어를 아예 지워버려라 한 번이라도 실수를 용납하면 다시 실수하게 되고, 이내 '할당량'은 아무런 기능도 하지 못할 것 제대로 실천하.. 독서(Reading)/오늘의 책(Today's book) 2022. 6. 29. 2022년 6월 5주차 - 1일 1로그 100일 완성 IT지식 - 3일차 HARDWARE 3. HDD와 SSD의 차이 보조 기억 장치 전원이 꺼져 있을 때도 정보를 유지 자기 디스크 = 하드 디스크(Hard Disk) 또는 하드 드라이브(Hard Drive) SSD(Solid State Drive) 휘발성을 띠지 않아서 전력 공급이 없더라도 저장된 정보 유지됨 데이터, 명령어, 다른 모든 정보는 보조 기억 장치에 장기간 저장되고, 주 기억 장치로는 일시적으로만 옮겨짐 디스크는 트랙 간에 이동하는 센서를 이용하여 데이터를 읽고 씀 디스크 표면은 분당 5,400회 이상의 고속으로 회전하며, 윙윙 또는 딸깍 소리는 디스크가 센서를 금속 표면의 적절한 위치로 옮기면서 내는 소리 용량면에서 RAM보다 바이트당 100배 정도 저렴하지만 정보 접근 속도가 느림 금속 표면의 특정 트랙에 접.. 독서(Reading)/오늘의 책(Today's book) 2022. 6. 29. 2022년 6월 5주차 면접을 위한 CS 전공지식 노트(주홍철 저) - 프로그래밍 패러다임 SECTION 1.2 프로그래밍 패러다임 프로그래밍 패러다임 프로그래머에게 프로그래밍의 관점을 갖게 해주는 역할을 하는 개발 방법론 선언형 '무엇을' 풀어내는가에 집중하는 패러다임이며, "프로그램은 함수로 이루어진 것이다."라는 명제가 담겨 있는 패러다임 함수형 프로그래밍 - 작은 '순수 함수'들을 블록처럼 쌓아 로직을 구현하고 '고차 함수'를 통해 재사용성을 높인 프로그래밍 패러다임 순수 함수 : 출력이 입력에만 의존하는 것 고차 함수 - 함수가 함수를 값처럼 매개변수로 받아 로직을 생성할 수 있는 것 일급 객체 변수나 메서드에 함수를 할당할 수 있음 함수 안에 함수를 매개변수로 담을 수 있음 함수가 함수를 반환할 수 있음 커링, 불변성 등 많은 특징이 있으므로 추천 명령형 객체지향 프로그래밍 - 객체.. 독서(Reading)/오늘의 책(Today's book) 2022. 6. 28. 이전 1 2 다음 728x90