본문 바로가기

TIL72

실용주의 프로그래머 5장: 구부러지거나 부러지거나 5장. 구부러지거나 부러지거나 되돌릴 수 있는 의사 결정을 내리는 구체적인 방법 28. 결합도 줄이기 TDA: Tell, Don't Ask.다른 객체의 내부 상태에 따라 판단을 내리고 그 객체를 갱신해서는 안된다.객체의 내부 상태를 물으면 encapsulation의 강점이 모두 사라짐 LoD: Law of Demeter- 메서드 호출을 엮지 말라 글로벌화의 문제점: 어디서나 접근할 수 있는 데이터는 컴포넌트 간의 결합을 만든다.  29. 실세계를 갖고 저글링하기 이벤트에 잘 반응하는 어플리케이션 만들기- 유한 상태 기계- 감시자 패턴- 게시-구독- 반응형 프로그래밍과 스트림 그리고 이벤트  31. 상속세 상속을 쓸 필요가 없게 해 주는 세 가지 기법인터페이스와 프로토콜자바의 인터페이스에는 가능함을 뜻하는.. 2024. 7. 20.
실용주의 프로그래머 4장: 실용주의 편집증 3장 기본 도구 누구도 완벽한 프로그래머를 만들 수 없다는 현실을 어떻게 장점으로 바꿀 수 있을까? 에 대한 장실용주의 프로그래머는 자신도 믿지 않기 때문에 실수에 대비한 방어책을 마련한다.  23. 계약에 의한 설계  소프트웨어 모듈에서도 "계약"이라는 방식을 사용할 수 있다. DBC: Design By Contract정확한 프로그램은 더 많지도, 적지도 않게 딱 그만큼만 하는 프로그램 선행 조건precondition: 루틴의 요구 사항, 위반되었을 경우에는 루틴을 호출하지 않는다.후행 조건postcondition: 루틴이 완료되었을 때 세상의 상태. 루틴이 결국은 할 일을 한 후 종료될 것임을 보장한다.클래스 불변식class invariant: 루틴이 끝난 시점에는 불변식이 참이 되어야 한다. → 호.. 2024. 7. 4.
실용주의 프로그래머 3장 3장 기본 도구 도구는 재능을 증폭하고 생산성을 높인다.아무리 흐린 먹물일지라도 가장 훌륭한 기억력보다 낫다.  16. 일반 텍스트의 힘  일반 텍스트는 그 자체만으로 의미를 드러낼 수 있다.HTML, JSON, YAML 등은 모두 일반 텍스트 +) 유닉스 철학: 작고 예리한 각각의 도구가 한 가지 일만 잘하도록 만들자  17. 셸 가지고 놀기  텍스트 파일을 다루는 프로그래머에겐 명령어 셸이 작업대이다.GUI보다 작업 자동화와 가용한 역량을 온전히 사용하는 데에 장점이 있다.GUI는 설계자가 의도한 범위 내에 제한된다. 개발자도 셸을 자기에게 맞추어야 한다.- 색 조합- 프롬프트 설정- alias와 셸 함수- 명령어 자동 완성  18. 파워 에디팅  에디터를 여러 개 쓸 거라면 각각에 유창해지도록 해라.. 2024. 6. 23.
실용주의 프로그래머 2장 2장 실용주의 접근법 소프트웨어 개발에 적용 가능한 프로세스나 아이디어, 접근법 등을 정리하기 위한 장  8. 좋은 설계의 핵심  +) 데메테르 법칙(이라고 나와 있는데 디미터의 법칙이라고 많이 하는 듯 하다) Law of Demeter: 각 객체는 현재 객체와 근접한 객체만 실행시킨다.: 한 줄에 점을 하나만 찍는다! ex. getA().more().end()는 보다는 한 번에getA().more()까지만 해라: 최소 지식 원칙이라고도 하며, 객체 간의 결합도를 낮추는 방법이다.  ETC: Easy To Change - 결합도를 줄이면 분리되어 각각이 더 바꾸기 쉬워진다. - ETC는 규칙이 아니라 가치이다 (선택할 때 도움을 받자) - 교체 가능하기 위해서는 결합도를 낮추고 응집도를 높여라  9. D.. 2024. 6. 22.
실용주의 프로그래머 1장 서문 실용주의가 필요한 이유: 특정 기술에 매이면 안 된다!  실용주의 프로그래머들은 다음 특징들 중 다수를 공유한다.얼리 어댑터 또는 새로운 것에 빨리 적응하는 사람호기심 많은 사람비판적인 사고의 소유자 > 곧이곧대로 믿지 않는다현실주의자 > 문제의 근본적인 특성을 이해하려 한다다방면에 능숙한 사람   1장 실용주의 철학  실용주의 프로그래머의 다른 점은 문제와 해법에 접근하는 태도와 방식, 철학에서의 차이업무 환경이 마음에 들지 않거나 하는 일이 지루하다면, 직접 그 문제를 고치기 위해 노력하라.  > 하지만 너무 오래 노력하지는 말아라  문제가 일어났을 때 전문가답게 처리하는 방법은 솔직해지는 것이다. 소프트웨어 엔트로피 > 깨진 창문을 내버려 두지 말아라 적절히 고칠 시간이 없다면 일단 판자로 덮.. 2024. 6. 20.
리액트 프로젝트 시작하기 프로젝트 생성$ npx create-react-app [appname] # npm 아님 주의!  라우터 설치$ npm install react-router-dom  프리티어 설치 $ npm install --global prettier  CSS 라이브러리 설치 (styled-components)$ npm i styled-components   +) 프리티어 기본 설정 코드 (파일 위치: 프로젝트 제일 상단 (src와 동등 위치))이거 추가해도 안 되는 경우 vscode 등 auto 설정 확인해보기 // prettierrc.json{ "tabWidth": 2, "semi": true, "singleQuote": true, "trailingComma": "all", "printWidth": 150.. 2024. 5. 21.
728x90