본문 바로가기
[실용주의 프로그래머] 동그라미와 화살표 [실용주의 프로그래머] 동그라미와 화살표 -개발 실천방법과 개발 능력의 맥락 안에 그것을 넣어보지도 않고 맹목적으로 받아들이는 것은 단지 실망을 맛보기 위한 비법이다. 형식적 방법의 노예가 되지 마라. -대부분의 형식적 방법은 다이어그램과 거기에 추가된 설명의 조합을 이용해서 요구사항을 포착한다.이런 그림들이 요구사항에 대한 설계자의 이해를 표현한다.하지만 대개의 최종 사용자는 이런 다이어그램들을 전혀 이해하지 못하므로, 설계자가 해석해 주어야 한다.따라서 실제 시스템의 사용자들이 정말 형식적 확인을 통해 요구사항을 점검하는 일은 없는 셈이다. -형식적 방법들은 전문화를 권장하는 것처럼 보인다. 한 집단은 데이터 모델 작업을 하고, 다른 집단은 아키텍처를 보는 동안, 요구사항 수집자들은 유스 케이스를 모.. 2018. 11. 12.
[실용주의 프로그래머] 요구사항의 구렁텅이 [실용주의 프로그래머] 요구사항의 구렁텅이 -완성이라는 것은 더 이상 더할 것이 없을 때가 아니라, 더 이상 빼낼 것이 없을 때 얻게 되는 것이다. - 생택쥐페리 -요구사항이 지면에 놓여져 있는 경우는 퍽 드물다. 보통은 가정과 오해, 정치의 지층들 속 깊이 묻혀져 있다. -요구사항을 수집하지 말고 채굴하라. -어느 것이 진정한 요구사항인지 어떻게 분간할 수 있을까?요구사항이란, 어떤 것이 성취되어야 한다는 진술이다. ex) 직원 기록은 지명된 사람들만 볼 수 있다. 해당 직원의 관리자와 인사부에서만 그의 기록을 열람할 수 있다. -> 비지니스 정책이 내포된 진술로 수시로 바뀔 수 있다. 요구사항에 이를 고정하는 건 그리 좋은 생각이 아니다.실린더헤드 온도는 임계값을 넘으면 안 되며, 이는 엔진마다 다르.. 2018. 11. 8.
[도서 정리] 안드로이드 앱 성능 최적화 #7 네트워크 성능 안드로이드 앱 성능 최적화 #7 네트워크 성능 이 글은 “안드로이드 앱 성능 최적화” 의 일부 내용만 정리한 것입니다.자세한 내용은 책을 구매하여 보세요~7.1. 와이파이와 무선 통신망 신호 -인터넷에 연결될 때 성능의 제약을 만드는 두 가지 요소는 “대역폭” 과 “지연시간” 이다. 7.1.1. 와이파이 -이상적 환경에서 와이파이의 대역폭은 상당히 좋고, 지연시간도 짧다.또한 대부분의 경우 사용량에 따라 요금이 부과되지도 않는다. -앱이 와이파이 네트워크 연결을 시도할 때는 최소한의 대기시간만 필요하다.연결되고 나면 무선신호를 전송하기 위해 높은 전력을 사용한다.이후 데이터가 다 전송되면 무선신호는 거의 바로 꺼진다.와이파이 무선신호를 켜고 끄는 데는 최소한의 지연시간만 필요하다. ( 측정시, 켤 때는 .. 2018. 6. 28.
[Effective Objective-C] #14 클래스 객체가 무엇인지 이해하라 [Effective Objective-C] #14 클래스 객체가 무엇인지 이해하라 출처 : Effective Objective-C -객체 타입은 컴파일 시간에 결정되지 않고 실행 시간에 찾는다. -컴파일러는 리시버가 이해할 수 없다고 생각되는 메시지를 보내는 것에 경고를 보낼 수 있다.반대로 id 타입의 객체는 모든 메시지에 응답할 수 있다고 여긴다. -실행 시간에 객체 타입을 알아내는 것을 내성(introspection)이라 하고, 이는 Foundation 프레임워크의 NSObject 의 프로토콜로 녹아 들어간 강렬하고 유용한 기능이다.이 프로토콜은 모든 공통 최상위 클래스(NSObject 와 NSProxy) 를 상속받는 모든 객체가 따르는 프로토콜이다.객체의 클래스를 직접 비교하는 것보다는 이런 메서.. 2017. 8. 16.
[android] Bitmap 변환시 exif 정보 유지시키기 [android] Bitmap 변환시 exif 정보 유지시키기 -Bitmap.createScaledBitmap 을 사용해서 이미지 크기를 변경하면 exif 정보가 날아간다. -exif 정보는 Exchangeable Image File Format ( 교환 이미지 파일 형식 ) 의 약자로, 이미지 파일에 이미지에 대한 정보를 포함하는 메타데이터가 들어있다. jpeg, tiff, riff, wav 포맷에 사용되며, png, gif 에서는 지원되지 않는다. -보통의 exif 정보는 날짜, 시간, 카메라 설정, 저작권, 위치 등의 정보가 저장된다. -여튼 exif 를 유지시켜주려면 아래와 같이 하면 된다.ExifInterface srcExif = new ExifInterface(srcFile.getAbsolut.. 2015. 11. 9.
내 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.
반응형