본문 바로가기

실용주의프로그래머10

실용주의 프로그래머 Assignment #15 - 9장. 실용주의 프로젝트 오늘 TIL 3줄 요약 버전관리, 테스트, 자동화 실용주의 기법 요약 실용주의 시작 도구 TIL (Today I Learned) 날짜 2022-04-05 오늘 읽은 범위 9장. 실용주의 프로젝트 책에서 기억하고 싶은 내용을 써보세요. 안정적인 소프트웨어를 위한 마법 삼총사인 버전관리, 테스트, 자동화 프로그래머는 고양이 같은 면이 잇다. 호기심 많고 제멋대로이며, 고집이 세고, 독립적인 데다, 가끔은 인터넷에서 숭배를 받기도 한다. 팀 전체에 실용주의 기법들을 어떻게 적용 할 수 있는지 간략한 요약 깨진 창문을 없애라 - 사소한 결점을 아무도 고치지 않고 놔두어서는 안되고, 제품의 품질에 책임을 져야한다. 삶은 개구리 - 개구리는 서서히 변화하는 환경을 감지하지 못하고 결국 삶아진다. 팀은 개인보다 더 .. 2022. 4. 6.
실용주의 프로그래머 Assignment #14 - 미션(3) 연습문제 33 다음 문장들이 진정한 요구사항인가? 가능하다면 진정한 요구사항이 아닌것을 좀 더 유용하게 고쳐보라 응답시간은 500ms이하여야한다. 요구사항이 맞다고 생각한다. 코드 자체의 효율성도 중요하겠지만 응답 시간을 향상 시키기 위해서는 서버나 데이터베이스의 성능 또한 중요하다고 생각된다. -> 해답 : 요구사항처럼 보인다. 환경 대문에 애플리케이션에 제약을 추가할 수 있다. 모달 창의 바탕색은 회색이다. 요구사항이 맞다고 생각한다. -> 해답 : 이 문장만으로는 진짜 요구사항이 아니다. 무엇이 필요한지 알기 위해서 "왜?"라는 질문을 할 필요가 있다. 애플리케이션은 프론트엔드 프로세스 몇개와 백엔드 서버로 구성된다 요구사항이 아니라고 생각한다. 몇개의 프론트엔드와 백엔드 서버로 구현할지는 고객의 .. 2022. 4. 4.
실용주의 프로그래머 Assignment #13 - 8장. 프로젝트 전에 오늘 TIL 3줄 요약 요구사항 사용자와 함께 일하라 짝 프로그래밍과 몹 프로그래밍 TIL (Today I Learned) 날짜 2022-04-03 오늘 읽은 범위 8장 프로젝트 전에 책에서 기억하고 싶은 내용을 써보세요. 신입 개발자들이 자주 범하는 실수는 이런 요청 사항을 받았을 때 바로 해결책을 구현해 버리는 것이다. 하지만 의뢰인이 미처 고려해보지 않은 문제도 있을 것이다. 좋은 개발자라면 협상 능력을 키울 수 있는 상황이기도 하다. 요구사항은 피드백을 반복하며 알게된다. 말로 표현하기 어려울 때도 있다. 목업이나 프로토타입을 만들어서 의뢰인에게 직접 다루어 볼 수 있도록 한다. 만든 모형이나 프로토 타입이 이리저리 바꾸기 쉬워서 의뢰인과 대화하는 도중에도 계속 바꿀 수 있다면 이상적이다. 실용주.. 2022. 4. 3.
실용주의 프로그래머 Assignment #10 - 6장. 동시성 오늘 TIL 3줄 요약 동시성과 병렬성 공유 상태 없는 동시성을 위하여 액터를 사용하라. 칠판 시스템 TIL (Today I Learned) 날짜 2022.03.29 오늘 읽은 범위 6장. 동시성 책에서 기억하고 싶은 내용을 써보세요. 동시성(Concurrency): 둘 이상의 코드 조각이 실행될 때 동시에 실행 중인 것처럼 행동하는 것 병렬성(Parallelism): 실제로 동시에 실행되는것 모든 일에는 동시성이 있다. 여러분의 애플리케이션이 실제 세상을 다루기 원한다면 동시성은 필수다. 세상은 비동기적이기 때문이다. 동시성이나 병렬성을 지원하는 코드를 쓰는 건 왜 어려울까? 한가지 이유는 우리가 프로그래밍을 순차적 시스템으로 배워서다. 순차적으로 사용할 땐 비교적 안전하지만, 동시에 두가지 일이 일어.. 2022. 3. 29.
실용주의 프로그래머 Assignment #08 - 5장. 구부러지거나 부러지거나 오늘 TIL 3줄 요약 결합도 줄이기 설정데이터 - 정적 설정, 서비스형 설정 이벤트 TIL (Today I Learned) 날짜 2022.03.26 오늘 읽은 범위 5장. 구부러지거나 부러지거나 책에서 기억하고 싶은 내용을 써보세요. 결합도 줄이기 가능한 한 느슨하고 유연한 코드를 작성해야한다. 그렇지 않으면 코드는 금세 낡고 수정하기 어려워지고, 결국 기억 저편으로 사라질 것이다. 유연함을 유지하는 한 가지 좋은 방법은 물론 가능한 한 코드를 적게 작성하는 것이다. 코드 수정은 새로운 버그가 생기는 계기이기도하다. 높은 결합도는 변경의 적이다. 결합도가 낮은 코드가 바꾸기 쉽다. 소프트웨어 구조는 유연해야한다. 다음과 같은 결합의 증상을 놓치지 않도록 주의해라 개발자가 수정하는 부분이 시스템에 어떤 .. 2022. 3. 27.
실용주의 프로그래머 Assignment #06 - 4장. 실용주의 편집증 오늘 TIL 3줄 요약 완벽한 소프트웨어를 만드는 것은 불가능하다. "그런 일은 절대 일어날리 없다"는 없다. 작은 단계를 밟아라. 언제나. TIL (Today I Learned) 날짜 2022년 3월 24일 오늘 읽은 범위 4장. 실용주의 편집증 책에서 기억하고 싶은 내용을 써보세요. 여러분은 완벽한 소프트웨어를 만들 수 없다. 삶의 공리로 인정하고 받아들여라. 그리고 축하하라. 완벽한 소프트웨어는 존재하지 않기 때문이다. 그리 길지 않은 컴퓨터 역사를 통틀어 어느 누구도 완벽한 소프트웨어를 만들지 못했다. (중략) 그래봐야 일관성을 확인하고 데이터베이스 칼럼에 제약을 거는 정도로 뿌듯해 하는 경우가 대부분이다. 모든 프로그래머가 자기 경력을 쌓는 초기부터 암기해야 하는 계명이 있는것 같다. 요구사항,.. 2022. 3. 24.
실용주의 프로그래머 Assignment #05 - 3장. 기본도구 오늘 TIL 3줄 요약 도구 사용법에 익숙해져라 버전관리를 하라 일지를 써라 TIL (Today I Learned) 날짜 2022.03.23 오늘 읽은 범위 3장. 기본도구 책에서 기억하고 싶은 내용을 써보세요. 도구는 여러분의 재능을 증폭한다. 도구가 더 훌륭하고 여러분이 더 사용법에 능숙해질수록 여러분의 생산성은 더 높아질 것이다. 마우스나 트랙패드를 치워라 프로젝트 허브로서의 버전관리 디버깅은 단지 문제풀이일 뿐이라는 사실을 받아들이고, 그런 마음으로 공략하라. 비난 대신 문제를 해결하라 경계조건과 실제 최종사용자의 패턴 모두를 철저히 테스트 해야한다. 엔지니어링 일지 - 기억보다 더 믿을 만하다. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 오늘은 다양한 도구에 대한 이야기였다. 이미 내.. 2022. 3. 24.
실용주의 프로그래머 Assignment #03 - 2장.실용주의 접근법 오늘 TIL 3줄 요약 ETC 원칙 - 바꾸기 더 쉽게 다른 사람의 소스 코드와 문서 읽고 배우고, 기억하기 높은 응집도와 낮은 결합도 TIL (Today I Learned) 날짜 2022. 03. 20 오늘 읽은 범위 2장. 실용주의 접근법 책에서 기억하고 싶은 내용을 써보세요. ETC원칙 - 바꾸기 더 쉽게 왜 결합도를 줄이면 좋은가? 관심사를 분리함으로써 각각이 더 바꾸기 쉬워지기 때문이다. 왜 단일 책임 원칙이 유용한가? 요구사항이 바뀌더라도 모듈 하나만 바꿔서 반영 할 수 있기 때문이다. 왜 이름 짓기가 중요한가? 이름이 좋으면 코드가 읽기 쉬워지고, 코드를 바꾸려면 코드를 읽어야 하기 때문이다. ETC는 규칙이 아닌 가치이다. 파일을 저장할때, 테스트를 쓸때, 버그를 수정할 때도 '바꾸기 더 .. 2022. 3. 21.
실용주의 프로그래머 Assignment #02 - 1장.실용주의 철학 오늘 TIL 3줄 요약 깨진 창문은 바로 수리하자 현재 상황이 마음에 들지 않는다면, 나는 상황을 바꿀 수 있다. 성장하고자 하기 TIL (Today I Learned) 날짜 2022. 03. 19 오늘 읽은 범위 1장. 실용주의 철학 책에서 기억하고 싶은 내용을 써보세요. 많은 개발자들이 불만에 가득 차있다. 그 종류는 다양해서, 누군가는 자신의 성과를 몰라준다고, 월급이 너무 적다고, 팀 분위기가 좋지 않다고, 재택근무를 하고 싶어하기도 한다. 변화를 기피하는 개발자들이 많다. 스스로의 행동을 직접 결정 할 수 있는 힘이 있고, 내가 내 조직을 바꿀 수 있다.(이직을 하거나, 현재 조직을 변화 시킨다는 두가지 의미로) 팀 내의 신뢰가 절대적으로 필요하다. 나도 편하게 말할 수 있어야 하고, 다른 팀원.. 2022. 3. 20.
실용주의 프로그래머 Assignment #01 - 책 인증 21일간 매일 기록남기기 2022. 3. 18.
반응형