Choi solyi 19

실용주의 프로그래머 Assignment #15 - 9장. 실용주의 프로젝트

오늘 TIL 3줄 요약 버전관리, 테스트, 자동화 실용주의 기법 요약 실용주의 시작 도구 TIL (Today I Learned) 날짜 2022-04-05 오늘 읽은 범위 9장. 실용주의 프로젝트 책에서 기억하고 싶은 내용을 써보세요. 안정적인 소프트웨어를 위한 마법 삼총사인 버전관리, 테스트, 자동화 프로그래머는 고양이 같은 면이 잇다. 호기심 많고 제멋대로이며, 고집이 세고, 독립적인 데다, 가끔은 인터넷에서 숭배를 받기도 한다. 팀 전체에 실용주의 기법들을 어떻게 적용 할 수 있는지 간략한 요약 깨진 창문을 없애라 - 사소한 결점을 아무도 고치지 않고 놔두어서는 안되고, 제품의 품질에 책임을 져야한다. 삶은 개구리 - 개구리는 서서히 변화하는 환경을 감지하지 못하고 결국 삶아진다. 팀은 개인보다 더 ..

Choi solyi/책 2022.04.06

실용주의 프로그래머 Assignment #14 - 미션(3)

연습문제 33 다음 문장들이 진정한 요구사항인가? 가능하다면 진정한 요구사항이 아닌것을 좀 더 유용하게 고쳐보라 응답시간은 500ms이하여야한다. 요구사항이 맞다고 생각한다. 코드 자체의 효율성도 중요하겠지만 응답 시간을 향상 시키기 위해서는 서버나 데이터베이스의 성능 또한 중요하다고 생각된다. -> 해답 : 요구사항처럼 보인다. 환경 대문에 애플리케이션에 제약을 추가할 수 있다. 모달 창의 바탕색은 회색이다. 요구사항이 맞다고 생각한다. -> 해답 : 이 문장만으로는 진짜 요구사항이 아니다. 무엇이 필요한지 알기 위해서 "왜?"라는 질문을 할 필요가 있다. 애플리케이션은 프론트엔드 프로세스 몇개와 백엔드 서버로 구성된다 요구사항이 아니라고 생각한다. 몇개의 프론트엔드와 백엔드 서버로 구현할지는 고객의 ..

Choi solyi/책 2022.04.04

실용주의 프로그래머 Assignment #13 - 8장. 프로젝트 전에

오늘 TIL 3줄 요약 요구사항 사용자와 함께 일하라 짝 프로그래밍과 몹 프로그래밍 TIL (Today I Learned) 날짜 2022-04-03 오늘 읽은 범위 8장 프로젝트 전에 책에서 기억하고 싶은 내용을 써보세요. 신입 개발자들이 자주 범하는 실수는 이런 요청 사항을 받았을 때 바로 해결책을 구현해 버리는 것이다. 하지만 의뢰인이 미처 고려해보지 않은 문제도 있을 것이다. 좋은 개발자라면 협상 능력을 키울 수 있는 상황이기도 하다. 요구사항은 피드백을 반복하며 알게된다. 말로 표현하기 어려울 때도 있다. 목업이나 프로토타입을 만들어서 의뢰인에게 직접 다루어 볼 수 있도록 한다. 만든 모형이나 프로토 타입이 이리저리 바꾸기 쉬워서 의뢰인과 대화하는 도중에도 계속 바꿀 수 있다면 이상적이다. 실용주..

Choi solyi/책 2022.04.03

실용주의 프로그래머 Assignment #12 - 7장. 코딩하는 동안

오늘 TIL 3줄 요약 프로토타이핑 의도적으로 프로그래밍하기 우연에 맡기지 않기 TIL (Today I Learned) 날짜 2022.04.02 오늘 읽은 범위 7장 책에서 기억하고 싶은 내용을 써보세요. 가면증후군 : 자신이 가진 능력이 과대평가 받았고 자신은 자격이 없는 사람이라고 생각하며 불안해하는 것 코드가 잘 안 써질때가 있다. 그럴때는 일단 멈추고, 뇌가 정리 할 수 있는 약간의 시간과 공간을 확보하라. 산책을 하거나 점심을 먹거나 수다를 떨거나.. 이 방법이 잘 통하지 않는다면 코드에 대한 그림을 그리거나, 동료에게 설명을 해보라. 사람이 없다면 고무오리라도 괜찮다. 그래도 어렵다면 프로토타이핑으로 만들어라. 코드를 우연에 맡기지말아라. 왜 잘 돌아가는지 몰라서는 안된다 인터넷 검색으로 찾은..

Choi solyi/책 2022.04.03

실용주의 프로그래머 Assignment #10 - 6장. 동시성

오늘 TIL 3줄 요약 동시성과 병렬성 공유 상태 없는 동시성을 위하여 액터를 사용하라. 칠판 시스템 TIL (Today I Learned) 날짜 2022.03.29 오늘 읽은 범위 6장. 동시성 책에서 기억하고 싶은 내용을 써보세요. 동시성(Concurrency): 둘 이상의 코드 조각이 실행될 때 동시에 실행 중인 것처럼 행동하는 것 병렬성(Parallelism): 실제로 동시에 실행되는것 모든 일에는 동시성이 있다. 여러분의 애플리케이션이 실제 세상을 다루기 원한다면 동시성은 필수다. 세상은 비동기적이기 때문이다. 동시성이나 병렬성을 지원하는 코드를 쓰는 건 왜 어려울까? 한가지 이유는 우리가 프로그래밍을 순차적 시스템으로 배워서다. 순차적으로 사용할 땐 비교적 안전하지만, 동시에 두가지 일이 일어..

Choi solyi/책 2022.03.29

[책] 주니어개발자가 읽어 본 소프트웨어 아키텍처 101

회사 상사분과 대화를 나누며 책 이야기가 나왔을 때 개발자로서의 가이드라인을 제시해주신 적이 있다. 지금은 입사 초반이므로 객체지향 언어에 대한 대한 서적을 먼저 필독이라고 알려주셨고, 그다음으로는 알고리즘 혹은 디자인 패턴에 대해 공부하라고 알려주셨다. 그 뒤에 5년 정도의 경력이 쌓인 후 아키텍처에 대해서 공부해보면 좋을 거라고 하셨다. 개발 관련 문서나 블로그 등을 읽다 보면 아키텍처, 아키텍트라는 단어가 자주 보이곤 하지만 그 뜻을 정확하게 이해하고 있진 않았다. 그러다가 만나게 된 소프트웨어 아키텍처 101이라는 책. 아직 개발 실무 경험도 많지 않고 여러모로 공부하는 단계여서 아직 읽기는 이를 수도 있다고 생각했지만 모르는 분야이지만 언젠가 공부해야 한다면 미리 읽고 용어들에 익숙해져 두는 것..

실용주의 프로그래머 Assignment #08 - 5장. 구부러지거나 부러지거나

오늘 TIL 3줄 요약 결합도 줄이기 설정데이터 - 정적 설정, 서비스형 설정 이벤트 TIL (Today I Learned) 날짜 2022.03.26 오늘 읽은 범위 5장. 구부러지거나 부러지거나 책에서 기억하고 싶은 내용을 써보세요. 결합도 줄이기 가능한 한 느슨하고 유연한 코드를 작성해야한다. 그렇지 않으면 코드는 금세 낡고 수정하기 어려워지고, 결국 기억 저편으로 사라질 것이다. 유연함을 유지하는 한 가지 좋은 방법은 물론 가능한 한 코드를 적게 작성하는 것이다. 코드 수정은 새로운 버그가 생기는 계기이기도하다. 높은 결합도는 변경의 적이다. 결합도가 낮은 코드가 바꾸기 쉽다. 소프트웨어 구조는 유연해야한다. 다음과 같은 결합의 증상을 놓치지 않도록 주의해라 개발자가 수정하는 부분이 시스템에 어떤 ..

Choi solyi/책 2022.03.27

실용주의 프로그래머 Assignment #06 - 4장. 실용주의 편집증

오늘 TIL 3줄 요약 완벽한 소프트웨어를 만드는 것은 불가능하다. "그런 일은 절대 일어날리 없다"는 없다. 작은 단계를 밟아라. 언제나. TIL (Today I Learned) 날짜 2022년 3월 24일 오늘 읽은 범위 4장. 실용주의 편집증 책에서 기억하고 싶은 내용을 써보세요. 여러분은 완벽한 소프트웨어를 만들 수 없다. 삶의 공리로 인정하고 받아들여라. 그리고 축하하라. 완벽한 소프트웨어는 존재하지 않기 때문이다. 그리 길지 않은 컴퓨터 역사를 통틀어 어느 누구도 완벽한 소프트웨어를 만들지 못했다. (중략) 그래봐야 일관성을 확인하고 데이터베이스 칼럼에 제약을 거는 정도로 뿌듯해 하는 경우가 대부분이다. 모든 프로그래머가 자기 경력을 쌓는 초기부터 암기해야 하는 계명이 있는것 같다. 요구사항,..

Choi solyi/책 2022.03.24

실용주의 프로그래머 Assignment #05 - 3장. 기본도구

오늘 TIL 3줄 요약 도구 사용법에 익숙해져라 버전관리를 하라 일지를 써라 TIL (Today I Learned) 날짜 2022.03.23 오늘 읽은 범위 3장. 기본도구 책에서 기억하고 싶은 내용을 써보세요. 도구는 여러분의 재능을 증폭한다. 도구가 더 훌륭하고 여러분이 더 사용법에 능숙해질수록 여러분의 생산성은 더 높아질 것이다. 마우스나 트랙패드를 치워라 프로젝트 허브로서의 버전관리 디버깅은 단지 문제풀이일 뿐이라는 사실을 받아들이고, 그런 마음으로 공략하라. 비난 대신 문제를 해결하라 경계조건과 실제 최종사용자의 패턴 모두를 철저히 테스트 해야한다. 엔지니어링 일지 - 기억보다 더 믿을 만하다. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 오늘은 다양한 도구에 대한 이야기였다. 이미 내..

Choi solyi/책 2022.03.24

실용주의 프로그래머 Assignment #03 - 2장.실용주의 접근법

오늘 TIL 3줄 요약 ETC 원칙 - 바꾸기 더 쉽게 다른 사람의 소스 코드와 문서 읽고 배우고, 기억하기 높은 응집도와 낮은 결합도 TIL (Today I Learned) 날짜 2022. 03. 20 오늘 읽은 범위 2장. 실용주의 접근법 책에서 기억하고 싶은 내용을 써보세요. ETC원칙 - 바꾸기 더 쉽게 왜 결합도를 줄이면 좋은가? 관심사를 분리함으로써 각각이 더 바꾸기 쉬워지기 때문이다. 왜 단일 책임 원칙이 유용한가? 요구사항이 바뀌더라도 모듈 하나만 바꿔서 반영 할 수 있기 때문이다. 왜 이름 짓기가 중요한가? 이름이 좋으면 코드가 읽기 쉬워지고, 코드를 바꾸려면 코드를 읽어야 하기 때문이다. ETC는 규칙이 아닌 가치이다. 파일을 저장할때, 테스트를 쓸때, 버그를 수정할 때도 '바꾸기 더 ..

Choi solyi/책 2022.03.21