이책은 스택오버플로우창립자가 쓴 책이다.
어떤 프로그래머를 뽑을 것인가에 대한 내용을 시작으로 한다.
그리고 좋은 프로그래머에게 제공되어야 하는 것들과 어떤 프로그래머를 목표로 하는가를 생각하게 하는 책인것 같다.
사용자를 염두에 두고 설계하기
-사용자 인터페이스가 애플리케이션이다. 사용자의 경험이 중요하다는것이다.
-ui를 우선시 하는 소프트웨어 개발.
우리는 흔한 컴퓨터사이언스 문제를 효율적으로 해결하는 알고리즘을 구현하는 방법은 배우지만 좋은 UI를 디자인하는것은 배우지 않는다. 이말 또한 사용성을 향상시키는데 많은 노력을 해야한다는것이다.
-쪽수매기기의종말. 수천개의 항목이 있다면, 쪽수매기기로 해결하지말고 검색과 필터링을 잘 써라.
- 피츠의 법칙과 무한한 넓이.
맥킨토시의 풀다운메뉴가 윈도우에 더 빠르다. 바로 맥킨토시의 메뉴는 애플리케이션창에 붙어 있지 않다. 늘 화면의 꼭대기에 놓여있다. 그리고 커서가 화면의 끝부분에서 멈추기 때문에 피츠의 법칙을 계산에따르면 맥킨토시 메뉴의 높이는 무한한 크기를 갖는다. 그래서 사용자의 사용서이 더 빠른것이다. ( 오 놀랍다ㅎㅎㅎ )
- 좋은 인터렉션션 디자인을 수행하는 프로그래머가되라. 인터렉션 디자인의 과학을 학습하라.
보안의기초
- 웹트래픽전체를 암호화해라.
https 로 사용자데이터를 보호해라. https는 http에 비해 느리지만 하지만 전보다 빨라졌다. 그리고 구글의 SPDY 프로토콜은 보다 더나은 성능을 낼뿐더러 암호화를 기본으로 내장하고있다.
-로그인 실패 회수가 커지면 로그인시간이 더 오래 걸리도록 만드는것이 좋은 방법이다. 또는 특정회수초과시 화면에 캡차를 나타내는것도 좋은 방법이다.
-빠른해싱.
많은글을 읽을수없는 개발자라면, 보안을 지켜야할 모든것에대해 bcrypt, PBKDF2를 사용하라. 이런 해시는 GPU를 이용해 계산하기 어렵게 고안됐다.
'이것저것(독후감같은거)' 카테고리의 다른 글
phantomJs include jquery file and clipRect(object) (0) | 2015.11.10 |
---|---|
mysql 퍼포먼스 최적화를 읽고.. (0) | 2015.11.10 |
RSS 2.0 spec (0) | 2015.11.10 |
(git flow) delete local branch : git branch -D feature/nflash (0) | 2015.11.10 |
git merge to feature/blabla from develop (0) | 2015.11.10 |