# 실용주의프로그래머

14개의 포스트

요구사항의 구렁텅이 [실용주의 프로그래머]

"요구사항의 수집" 은 "수집" 이라는 단어를 사용해서 이미 널려있는 요구사항을 주워담기만 하면 된다는 느낌을 주지만 실제로는 "수집" 의 느낌보다는 요구사항은 보이지 않는 땅속에 묻혀있는것과 같아 "채굴" 에 더 가깝다고 한다. 요구사항 채굴하기 요구사항은 어떤

2021년 2월 15일
·
0개의 댓글

테스트하기 쉬운 코드 [실용주의 프로그래머]

테스트 가능성이 높은 코드는 디자인이 좋다. 재미있게도, 디자인을 잘 만들려고 할 때보다 테스트 가능성을 높이려고 했을 때 결과 코드의 디자인이 더 나은 경우가 많다.by 김창준유닛테스트에 관한 메타포로 IC칩을 예로 들기 적절하다. IC 칩은 테스트 할 수 있게 설계

2021년 2월 9일
·
0개의 댓글
post-thumbnail

칠판 시스템 [실용주의 프로그래머]

어떤 시스템에 다양한 객체나 코드 모듈이 참여하고 그들의 관심사가 제각각이며 실행속도도 제각각인데 비동기적으로 처리되어야 하는데 이것을 구현하려면 각각의 상황마다 처리 순서를 다르게 해줘야 하고 상호작용하는 모듈마다 인터페이싱를 각각 제작 해 줘야 하는데 이렇게 하면

2021년 1월 27일
·
0개의 댓글

출판-구독 모델 [실용주의 프로그래머]

이벤트를 이용하면 객체들 사이의 결합을 최소화 할 수 있다. 이벤트는 어떤 흥미를 갖을만한 일이 발생했다는 것이고 한가지 이벤트를 발생시키면 이벤트의 수신자는 저마다 중요하게 여기는 관점에서 각자 이벤트를 처리 할 수 있다. 다만 한가지 이벤트가 발생 했을때 모든 객체

2021년 1월 26일
·
0개의 댓글
post-thumbnail

동시성을 고려한 설계 [실용주의 프로그래머]

우리는 프로그램을 설계할 때 시간적 결합(temporal coupling). 을 만들게 된다. 예를 들어 메서드 A는 메서드 B보다 먼저 호출 되어야 한다 등의 제약이다. 만약 독립되어 실행 할 수 있는 작업은 동시성을 허용 할 필요가 있고 앞의 경우와 같은 시간적 결

2021년 1월 25일
·
0개의 댓글

메타프로그래밍 [실용주의 프로그래머]

외부 환경의 변화로 인해 코드를 자꾸 변경하게 되면 새로 코드를 짜는 일은 상당히 번거로운 일이고 새로운 버그가 발생 할 수 있다. 이러한 언제든지 변할 수 있는 세부 사항 (배경 색, 프롬프트 텍스트, 알고리즘의 선택, 사용할 데이터베이스 등)을 코드 밖으로 빼서 설

2021년 1월 21일
·
0개의 댓글

결합도 줄이기와 디미터 법칙 [실용주의 프로그래머]

유지보수가 유용한 코드를 만들기 위해서 코드를 작은 단위로 나눠 모듈화를 시킨다. 모듈화가 잘 된 코드의 경우 뛰어난 유연성과 가역성을 갖게 되고 특정 부분을 수정하더라도 다른 부분에 주는 영향을 최소화 시킨다. 이렇게 모듈간의 의존 정도를 줄이는것을 decouplin

2021년 1월 20일
·
0개의 댓글

리소스 사용의 균형 [실용주의 프로그래머]

최근 웹 개발에 주로 사용하는 언어들은 garbage collecting 이 지원되는 언어들이기 때문에 메모리 자원 관리를 자동으로 해주는 편이지만 그렇지 않은 경우를 위한 리소스 할당과 해제에 관한 내용이다.실용주의 프로그래머 Tip 35시작한것은 끝내라이것은 단순히

2021년 1월 19일
·
0개의 댓글
post-thumbnail

[django]magic grid, articleapp

게시물의 표현을 입체적이고 개성있게 표현하기 위해 자바스크립트 라이브러리 중 하나인 magic grid를 사용하게 됩니다.즉, 우리가 아는 핀터레스트 레이아웃을 만들기 위한 도구에요.github에서 magicgird repository로 가서 JSFIDDLE이라는 링크

2020년 12월 17일
·
0개의 댓글

[django] get_success_url

현재 우리가 프로필 정보를 수정하고 나면메인 화면으로 가게 되어있어요. 사실상 프로필 수정 입력화면 -> 프로필 화면으로 가는 것이 자연스럽습니다. 이를 수정할게요.그런데 그냥 단순히 success_url = reverse_lazy('accountapp:detail'

2020년 12월 17일
·
0개의 댓글

[django] Profileapp Closure

목표 : profileapp을 종결 시킬게요. 🤗 view 작성 template 작성 url decorator view > 기존 ProfileCreateView 상속하면 되요! 하지만!!!! 그대로 복붙하면 되는 문제점이 있다는거 하나, 그건 상속 받을 제네릭

2020년 12월 15일
·
0개의 댓글
post-thumbnail

롱런하는 개발자가 가져야 할 5가지 덕목

함께 일하는 팀원의 추천을 받아 The Pragmatic Programmer (실용주의 프로그래머) 라는 책을 읽기 시작했습니다. 적절한 비유와 설명 덕에 쉽게 읽힐 뿐만 아니라 일터에서 기억하고 적용해 보면 좋을 포인트가 많습니다. 그중 가장 첫 장에서 말하는 실용적

2020년 11월 29일
·
1개의 댓글
post-thumbnail

[TIL] 2020. 06. 05. Practical_Programmer_2_2

GUI 인터페이스가 보편적으로 보급됨에 따라 이전부터 쓰이던 CLI는 그 가치를 잃는가? 저자는 이 질문에 대해 단호히 아니라고 말한다. 'GUI 인터페이스는 훌륭한 것이고, 몇 가지 간단한 조작에는 그게 더 빠르고 편리할 수도 있다.' 면서도 '모든 작업을 GUI로

2020년 6월 5일
·
2개의 댓글
post-thumbnail

[TIL] 2020. 06. 04. Pratical_Programmer_2_1

깨진 창문이론은 깨진 창문을 방치하면 그 지역의 치안유지가 제대로 이루어지지 않고 흉악범죄가 더 많이 발생한다는 이론이다. 이는 반대로 깨진 창문만 없도록 해도 범죄율이 줄어든다는 것을 의미하기도 한다.이 책의 저자들(?)은 그것이 소프트웨어 개발에도 적용된다고 생각한

2020년 6월 4일
·
0개의 댓글