본문 바로가기
[실용주의 프로그래머] 메타 프로그래밍 [실용주의 프로그래머] 메타 프로그래밍 -아무리 뛰어난 천재라도 세부사항에 집착하면 그 재능이 발휘되지 않는 법이다. - 레비의 8번째 법칙 -세부사항은 우리의 깔끔한 코드를 어질러 놓는다.특히 변화가 잦을 때는 더욱 그러하다. -세부사항을 코드에서 몰아내라.이렇게 함으로써 우리의 코드는 매우 설정 가능(configurable)하게 되고 ‘소프트’해진다.즉, 변화에 쉽게 적응할 수 있게 되는 것이다. 동적 설정 -시스템을 되도록 설정가능하게 만들어야 한다.배경 색, 프롬프트 텍스트 뿐 아니라 알고리즘의 선택, 사용할 데이터베이스 제품, 미들웨어 기술, 사용자 인터페이스 스타일 등 시스템의 심층까지 말이다.이런 아이템들은 통합하거나 엔지니어링하지 말고 설정 옵션으로 구현해야 한다. -통합하지 말고 설정하라.. 2018. 10. 30.
[실용주의 프로그래머] 가역성 [실용주의 프로그래머] 가역성 -당신이 가진 생각이 딱 하나밖에 없다면, 그것만큼 위험한 것은 없다. - 에밀 사르티에 -무언가를 구현하는 방법에는 여러 가지 길이 있고, 보통 하나의 솔루션에는 여러 벤더의 제품이 존재한다."이것은 이 방법으로만 해결할 수 있어"와 같은 근시안적인 생각을 갖고 프로젝트에 참여한다면 아마도 예상치 못했던 경우에 의해 한숨지을 일이 많을 것이다.많은 프로젝트 팀들이 프로젝트를 진행하면서 어쩔 수 없이 고통스럽게 그들의 근시안을 조금씩 수정하게 된다. 가역성 -유연하고, 적응 가능한 소프트웨어를 만드는 방법은 DRY 원리, 결합도 줄이기, 메타데이터 사용하기 등이 있다.이들을 따른다면 중요하면서도 되돌릴 수 없는 결정을 가능한 한 줄일 수 있게 될 것이다.이는 우리가 프로젝트.. 2018. 10. 1.
[Objective-C] 선언 프로퍼티 [Objective-C] 선언 프로퍼티 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 7. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 7.1. 프로퍼티란 * 7.1.1. 프로퍼티를 사용한 프로그래밍 -선언 프로퍼티 관련 기능은.. 접근자 메서드 생성 인스턴스 변수를 지정해서 전형적인 접근자 메서드를 생성할 수 있다. 게터와 세터 모두 생성할지 게터만 생성할지 지정할 수 있다. 대응하는 접근자를 스스로 정의할 수도 있다. 인스턴스 변수 생성 프로퍼티를 인스턴스 변수에 없는 이름으로 선언하면 접근자 메서드와 동시에 자동으로 인스턴스 변수도 생성된다. 접근자 .. 2017. 12. 28.
[Django] 파이썬 웹 프로그래밍 - 웹 프로그래밍의 이해 [Django] 파이썬 웹 프로그래밍 - 웹 프로그래밍의 이해 -책을 읽으며 Remind 하는 내용, 핵심 내용, 모르던 내용을 정리한 것입니다. 예문 및 자세한 설명은 책을 구매하여 보세요~ * 1.2.1. 웹 브라우저를 사용하여 요청 * 1.2.2. 리눅스 curl 명령을 사용하여 요청 -curl 명령은 HTTP/HTTPS/FTP 등 여러 가지의 프로토콜을 사용하여 데이터를 송 수신할 수 있는 명령이다. * 1.2.3. Telnet 을 사용하여 요청 -telnet 명령은 터미널 창에서 입력하는 내용을 그대로 웹 서버에 전송한다.telnet 명령모드에서 나가려면 아래 두 라인을 입력해야 한다. ^] ( Ctrl + ] )quit .. 2016. 12. 6.
내 Rest API 가 정말 Restful 한지 체크하기. 내 Rest API 가 정말 Restful 한지 체크하기. 1. API 의 Endpoint 가 오직 한개인가? 2. CRUD ( GET, POST, PUT, DELETE ) 를 적절하게 섞어 쓰고 있는가? 3. 응답에 대한 메타데이터를 Body 에 포함하는가? 처리 결과는 HTTP Status 값으로 표현한다. 메타 데이터 ( 결과값, 세션 키 등 ) 은 최대한 HTTP 헤더로 선언하고, 실제 데이터는 Body 에 embed 해서 보내야 한다. 4. URL 에 동사가 포함 되어 있으면 안된다. 5. URL 에 RPC 호출 메서드 명이 없어야 한다. API, body, crud, Delete, end point, Get, HTTP header, http status, method call, Post, pu.. 2013. 11. 22.
반응형