www.youtube.com/watch?v=BST_UxSqy4Q

기업가! 속성을 제대로 갖고 있는 이 사람! 주식회사라면 투자하고 싶어진다.

주식을 해서인지 모르지만서도...

 

그리고 앞부분에 100년 밖에 아닌 인생 가치에 대한 물음이 대단하다!

 

난 뭔하고 있지!

 

하튼 맥주를 잘 만들고 싶으면 농장도 가본다는 말에 카페로 스타벅스를 이길려면 커피 농장도 가보고 커피에 대한 열정이 아주 커야 됨을... 우리나라 커피 전문가?! 블루보틀, 스타벅스 그리고 그 외로 나뉜다. 빵은 엔젤리너스가 좋더라만!

 

난 시크릿 이다.

이 영상 보기 전에 본 영상이 이거였다.

참고용으로 연결 www.youtube.com/watch?v=rH8jWxTV8Mw

김성주씨를 싫어해 보고 싶어도 안보는 프로그램인데, 나온 청년이 나온 막걸리 나왔을때 본 기억이 잠시 더 보면서, 그런데 위 전동근씨와 비교해보자! 아래는 전 우주가 그를 도와주고 있고, 전동근씨는 자신이 다 끌고 가고 있다! 그렇다!

 

 

강연 읽는 시간 - 최고의 강연을 내 것으로 만드는 확실한 방법

초판2쇄 2018.1.25 / 신디 지음 / 지식 너머

 

이 책은 나에게 아주 좋았다. 그래서 읽기를 미뤘다. 왜냐면 아껴먹고 싶은 맘, 이게 실수다. 그렇게 알았다. 내생각엔 [지적 대화를 위한 넓고 얕은 지식] 이상 일줄 알았다. 그런데 역시 내것화 시키는 부분에서 약했다는 것을 나중에 알았기에... 요약은 정말 좋았는데.

 

그래도 이 책 내용 정도는 제대로 내것화 시켜둬야... 안에서 찾기 전에 내 밖에서 타인의 이야길 들어보자!

 

파트1

행복happiness

=> 행복은 목적이 아님만 알면 된다! 마왕이 이야기 했듯 태어난 것으로 모든게 다 이뤘으니, 행복하면 된다는 것으로 이해했고, 괜한 질문을 안하고 있는 상태다. 그 바탕엔 생활과 생존의 파동에서 생존보단 생활에 집중!

 

100년 인생에 50년 살고 나서 할 이야기가 있음을, 그러나 말하기 머뭇거리는, 20대가 어리다고 무시한다는게 아니라 호기심을 잃지 않고 50년은 살아보고 이야기 하자는 것. 논의하지 말자는게 아니라 어리면, 그냥 삶의 무게에 대해선 생각하지 말고 나아가자! (나에게 하는 말일수도)

 

1강 잘 사는 것의 진짜 의미

Positive emotion/Engagement/Relationship/Meaning/Accomplishment PERMA

긍정심리학은 인간을 행복하게 하고 성장하게 하는 조건들을 과학적 근거를 토대로 한 학문이다.-23

'感 Book' 카테고리의 다른 글

미래의료 4.0  (0) 2021.03.25
자바 코딩의 기술 - 코딩 잘 할 수 있는  (0) 2021.03.23
그림으로 공부하는 IT 인프라 구조  (0) 2021.03.18
모두의 SQL  (0) 2021.03.17
실용주의 프로그래머  (0) 2021.03.15

그림으로 공부하는 IT 인프라 구조 ( 개정판이 나왔다고해서 ... 그림 정리 좀 하고 절판 된 것 재출간 한 듯 )

초판 2쇄 2015년 8월31일 야마자키 야스시,미나와 요시코,아제카츠 요헤이, 사토 타카히코 지음/김완섭 옮김/제이펍

 

전산학 개론을 읽고,요새는 컴퓨터를 어릴 때 부터 하니 외려 IT 인프라 책을 읽어보는 것도 나쁘지 않지 않을까 하는 생각이 들었다.

 

특히 전산학과/컴퓨터 공학을 전공하는 이들이 학문이 아닌 직업인이 되기 위한 길을 먼저 생각해보는 건 정말 필요한 것 같다. 그런 면에서 이 책을 이해 여부를 떠나 그림'만'이라도 보는 것을 추천할 뿐.

 

 

또한,개발자도 궁금한 IT 인프라 추천해봄.

'感 Book' 카테고리의 다른 글

자바 코딩의 기술 - 코딩 잘 할 수 있는  (0) 2021.03.23
강연 읽는 시간 - 밖에서 우선 찾기  (0) 2021.03.18
모두의 SQL  (0) 2021.03.17
실용주의 프로그래머  (0) 2021.03.15
오라클 10g + PL/SQL 입문  (0) 2021.03.15

개발자도 궁금한 IT 인프라

2018.6.11 1쇄 / 정송화, 김영선, 전성민 지음 / 주식회사 제이펍

 

팝캐스트도 있는데, 읽어보니 좋고, 현업 경험이 많아 좋더라! 그러나, 전산/컴퓨터공학과 나와서 직업인이 되려는 학생들은 상상력을 줄이게 하는 단점(?)도 있으나, 감을 잡지 못한 사람이라면 한번 읽고, 들어봐도 좋을 듯.

 

그러나 경험에 따라 엔트로피 증가함으로 중심을 잡고 읽어야 함!

 

추천하기 보다 이런 류의 책이 있어서 연결] 그림으로 공부하는 IT인프라 구조

www.youtube.com/watch?v=2QZBxregaSM

현재 ep3까지 있던데 ep2 내용을 보면서 고수!

배우자. 느끼자. 나도 고수가 되자! 내가 되고 싶은 것에!

모두의 SQL sql for everyone

ePub 전자책 발행 2018.10.15 김도연 지음 | (주)도서출판 길벗

 

입문서 일까?

 

1장 관계형 데이터베이스와 SQL

 

독도 보다 (중요하지 않다는게 아니라),

역사에서 사실을 어떻게 다뤄야 하는지 

배웠다.

 

한번은 종이책을 구입했으나.. 그후로는 쉽게 전자책으로 구입.

 

현재의 행동이 역사!!

 

내가 구입한 호사카 유지님 책.

 

 

www.youtube.com/channel/UCa6GZxWJenXYyqQXYQhh7jw

 

호사카유지TV

호사카유지TV입니다. (Hello I'm Fact TV for Hosaka Yuji.) 이 TV 는 이 세상에서 우리가 알아야할 팩트를 제공합니다. (This TV is the most popular in this world, to be known.) 여러분들의 많은 구독을 부탁드립니다.

www.youtube.com

www.youtube.com/watch?v=u1ZzEnD2b0Y

우연을 통계(과학)으로 볼 수 있다는, 그것도 류가 있으니 특히 그렇다.

스포츠에서 꾸준히 성과를 낼 수가 없는데,

류투수는 꾸준히. 좋다는게 아니라 야구 볼맛을 그렇게. 한국 사람이 도구로 하는게 아니라 맨몸으로 하는 운동에서 두각을 나타내고 있음이.

 

멍하니 멍하니 듣는다. 언제나 강정호가 연결하지만!

나도 조심해야지! 그리고 다행이다. 다행이다. 죄가 될 정도의 그 넘어가지 않은 것에 다행함과,

나도 인격도야 계속해야지! 그렇게 배운다. 그렇게 야구를 볼때면 강정호와

나도 더 낮춰야 됨을.

 

www.youtube.com/watch?v=hx-81kMJbAo

좋은 질문, 탁월한 질문, 복합적 접근

 

이책을 좋아했고, 천기자(기레기? 판단은 유보지만 이 분 기사를 몇개 복사까지 해서 줄긋기까지 했다는: 시사인을 안봄 )가 나와서 더 집중했네요. 최소 두 번은 들어야겠군요! / 사회자는 책에 경도, 그걸 경험론으로 중심을 세워주는 유작가님. 좋네요. www.esckorea.org 가입하고 싶은데, 과학자일까에 대한 쓸데 없는 질문을?

 

생각의 힘을 드리는? 으로 시작하는 사회자. 공감이 안되는데, 호모 사피엔스는 인정하고 시작해야 되는데, 생각 구두쇠라는 건 알고 있어, 의도를 이해하면 괜히 딴지거는 거지만, 의도 파악전 사실을 제대로 전달하는 게.

 

생각하지 않는 사람들 (10주년 개정증보판)

세계적인 경영컨설턴트이자 IT 미래학자인 니콜라스 카의 베스트셀러 《생각하지 않는 사람들》이 출간 10주년을 맞아 개정증보판으로 돌아왔다. 우리 시대 가장 중요한 논쟁거리의 토대가 되

www.aladin.co.kr

https://www.esckorea.org 김범준 세부전공: 통계물리

 

ESC-변화를 꿈꾸는 과학기술인 네트워크

[김범준의 세상물정] 날씨·주가 예측보다 어려운 ‘이것’ | 김범준 성균관대 교수 코로나19의 전 세계 확산이 벌써 1년 넘게 진행 중이다. 다양한 분야의 과학자가 현실 데이터에 기반한 여러

www.esckorea.org

https://www.sisain.co.kr 천관율기자.

 

시사IN

정직한 사람들이 만드는 정통 시사 주간지 <시사IN>

www.sisain.co.kr

'To World (output)' 카테고리의 다른 글

심권호 - 고수  (0) 2021.03.17
스포츠의 우연을 통계로 보는 유일한 .  (0) 2021.03.17
실용주의 프로그래머의 Tip  (0) 2021.03.13
신용재 - 계급장 - 샤이니  (0) 2021.03.07
시지프스  (0) 2021.03.04

실용주의 프로그래머- '숙련공에서 마스터로From Joumeyman to Master'

2016년2월4일 신판2쇄 앤드류 헌트, 테이비드 토머스 지음/ 김창준, 정지호 옮김 /  인사이트

 

이 책을 경전화 하면 안된다. 가볍게 읽고, 나쁜 습관을 고쳐나가면 되는 것이지! 그리고 The Pragmatic Programmer, LLC (TPP) 에서 나온 책 추천.

 

원서/이전 한글판을 간독했으나, 다시 읽고 싶었다.

 

'숙련공에서 마스터로From Joumeyman to Master' 이 부제가 나의 숙제다! 숙련공은 맞는 것 같은데 Master라 불리기엔 나 스스로가 겸손이 아니라 실력없을 알기에 그렇다.

 

규칙, 격언, 직관

'感 Book' 카테고리의 다른 글

그림으로 공부하는 IT 인프라 구조  (0) 2021.03.18
모두의 SQL  (0) 2021.03.17
오라클 10g + PL/SQL 입문  (0) 2021.03.15
나만 알고 싶은 오라클 실무 테크닉  (0) 2021.03.15
그림으로 공부하는 오라클 구조  (0) 2021.03.13

오라클 10g + PL/SQL 입문

2011년3월2일 11쇄 성윤정, 이은정 지음 / 도서출판 대림

 

 

'感 Book' 카테고리의 다른 글

모두의 SQL  (0) 2021.03.17
실용주의 프로그래머  (0) 2021.03.15
나만 알고 싶은 오라클 실무 테크닉  (0) 2021.03.15
그림으로 공부하는 오라클 구조  (0) 2021.03.13
한계를 넘는 기술  (0) 2021.03.13

나만 알고 싶은 오라클 실무 테크닉 - 7인의 전문가가 밝히는 오라클 운용.관리의 비법

2014.8.29 오다 케이지, 오오츠카 노부오, 이가라시 켄페이, 타니 아츠오, 미야자키 히로유키, 칸다 타츠나리, 무라카타 히토시 지음/ 이민재 옮김 /제이펍

 

2012년에 나온 책을 2014년에 번역해서 낼 정도로 자료가 없었을까? 아니면 그들만 가지는 좋은 내용이 있나 궁금했다.

 

오라클 운영에 관한 이야기와 cost base 옵티마이저에 대한 내용 등등 개발자 입장에서 sql문 능력을 올리고 싶을 때 읽은 책은 아님.

 

오라클이 실행되고 운영 되는 방법 등을 참고할 수 있는 책

 

 

그림으로 공부하는 오라클 구조

2015.09.10 오다 케이지 지음/ 이민재 옮김/ 제이펍

 

저자의 신조가 '오라클도 OS에서 움직이는 애플리케이션에 지나지 않는다'

역자는 나만 알고 싶은 오라클 실무 테크닉이란 책도 있음.

 

오라클 제품은 오라클에서 만든 교재를 보면 되는데 굳이 이런 책을 볼 필요가 있을까? 특히 현업 도메인에 관계된 암묵지라면 또 모르겠는데 말이지, 그래도 구입안하고 빌려 읽으니 생략.

 

oracle express edtion이 나오면서 오라클 운영이 아닌 오라클을 데이터베이스로 개발할 프로그래머에겐 그런 교재보단 이런 책이 더 쉽게 이해할 수 있는 바탕이 되게 해주겠군! 건데 웬만해선 오라클을 윈도 계열 보단 유닉스나 리눅스에서 운영할테고 운영이나 튜닝은 또 다른 분야인데, 역자는 이 책부터 보고 오라클 실무 테크닉을 보라는 추천을 하는데, 난 잉! 했다.

 

아무말 대잔치

적확한 접근을 해보면, 오라클을 사용한다는 건 그래도 중견 기업은 될테고 그렇다면 운영과 튜닝은 따로 할 사람이 있을테고, db 관련 종사자 말고 오라클 접할 사람은 sql문을 잘하는게 베스트라고 보는게 정상적이다. 거기에 sql 표준에서 통계나 성능에 관련된 추가 함수나 키워드를 제대로 배우는게 나을텐데... 물론 개발자라면 그바탕엔 odbc/jdbc 표준에 맞는 반복적인 코드 부분이야 기본이다. 난 odbc/mfc로 했었고, java/jdbc 으로 구현했고, 이젠 mybatis도 현업해서 적용해본 입장에서 데이터베이스 접근 쿼리는 달라지지만 넓게 보면  odbc에서 벗어나지 않는다는 것을 이해했다. jpa로 넘어오면서 java로 query를 대체한다고 하고, 게시판 모듈 같은데 더 빨라졌다고 하지만 궁극에 접근해서 결과값 가져와 보여주려면 oracle native sql문이 최고라는 생각엔 변함없다.

당연히 이런 경험을 이기고자 하기에 지금 시작하는 개발자는 그걸 건너뛴 그무엇이라면 sql문보단 jpa라고 하지만 그것 역시 환경을 잘 이해하고 구현하지 않으면 사이드 이펙트가 아주 많은 것 같더라. 개인적으로 인프런이란 곳에서 jpa 두강좌를 개인비용으론 고가에 들었지만, 딱 입문 수준이었고, join했을 경우의 성능 부분도 메모리에 로딩이 되던데 gc가 잘 처리 되는 것을 이해하지 못하면. 여기까지. 거기에 난 sql문을 그런대로 아니 jpa보단 mybatis가 제품 딜리버리 하는 데 개발시간 면에서 낫기 때문이기도 하다. 알고 있는 것을 잊어버릴 필요는 없으니.

 

어제 올린 박재호씨의 영상에서 레거시 정의를 현재 돈을 벌어다 주는 시스템이라고 했는데, 이런 측면으로 이해하면 나이먹어 일자리 고민보단, 새로운 것 배우는 것도 좋지만 현재 시스템을 잘 운영하는 것도 아주 쓸모있는, 가치 있는 일이란 걸...

 

 

 

책을 보니 디스크 부터 나옴. 아흐 SSD 시대인데 ㅋㅋ. 거기에 하드디스크 물리적 구조부터 설명하는 건 오버라고 본다. 왜냐면 물리적인 하드디스크를 이해 안해도 잘 작동 되게 오라클 개발자들이 잘 만들었고, 그것을 개념화한 교재도 있는데, 저런 설명은 굳이. 오라클 9 수업 돈내고 들었기에 이런 말은 해도 되겠지?! 들었다고 다 아는 건 아니지만.

 

SQL*Plus

'여러 사용자나 프로그램이 데이터베이서의 데이터를 공유하고 있다' -p19 =>db 사용자가 multi user라는 건 당연한 이야기인데,

오라클은 서버 프로세스라고 불리는 SQL문을 처리하는 프로세스와 백그라운드 프로세스라고 불리느, 주로 서버 프로세스를 도와주는 프로세스로 구성되어 있습니다.-p24 => 이것은 오라클 만든 사람이 이렇게 설계했다고 생각하는게 더쉬운 이해가 된다.

 

sql문의 수신

sql문의 파싱

데이터 읽기

데이터 기록

sql문의 결과 회신

로그 기록

각종 정리

로그 보관

 

오라클에서 데이터 캐시(버퍼 캐시)

오라클은 '블록'이라고 하는 단위로 데이터를 관리

SGA

PGA

DB_CACHE_SIZE

LRU알고리즘

DBWR 프로세스

 

hint 예) /* + index (A B) */ A 테이블의 B라고 하는 인덱스를 사용하라는 뜻.

옵티마이저(파서)가 sql문을 분석하고 '실행 계획(excute plan)'이라고 하는 처리 방법을 생성해 주기 때문이다.

오라클에서는 처리 시간이나 I/O 횟수를 예측하기 위해서 '비용'이라고 불리는 수치를 이용합니다. 비용을 단순하게 이야기하며, '처리에 필요하다고 생각되는 시간 또는 자원 사용량'입니다.

 

비용을 계산하기 위한 기초 수치, '통계 정보' dbms_stats

 

tnsnames.ora - JDBC Thin  드라이브는 제외

listener.ora - lsnrctl

 

PCTFREE, PCTUSED

 

1. 자신의 기술craft에 관심과 애정을 가져라.
소프트웨어 개발을 잘 해보려는 생각이 없다면 왜 인생을 그 일을 하면서 보내는가?

2. 자신의 일에 대해 생각하면서 일하라!
자동 조종 장치를 끄고 직접 조종하라. 스스로의 작업을 지속적으로 비판하고 평가하라.

3. 어설픈 변명을 만들지 말고 대안을 제시하라.
변명하는 대신 대안을 제시하라. 그 일은 할 수 없다고 말하지 말고, 무엇을 할 수 있는지에 대해 설명하라.

4. 깨진 창문을 내버려두지 말라.
눈에 뜨일 때마다 나쁜 설계, 잘못된 결정, 좋지 않은 코드를 고쳐라.

5. 변화의 촉매가 되라.
사람들에게 변화를 강요할 수는 없다. 대신, 미래가 어떤 모습일지 그들에게 보여주고 미래를 만드는 일에 그들이 참여하도록 도우라.

6. 큰 그림을 기억하라.
주변에 무슨 일이 일어나는지 점검하는 일을 잊어버릴 정도로 세부사항에 빠지지 말라.

7. 품질을 요구사항으로 만들어라.
프로젝트의 진짜 품질 요구사항을 결정하는 자리에 사용자를 참여시켜라.

8. 지식 포트폴리오에 주기적으로 투자하라.
학습을 습관으로 만들어라.

9. 읽고 듣는 것을 비판적으로 분석하라.
벤더, 매체들의 야단법석, 도그마에 흔들리지 말라. 여러분과 여러분 프로젝트의 관점에서 정보를 분석하라.

10. 무엇을 말하는가와 어떻게 말하는가 모두 중요하다.
효과적으로 전달하지 못한다면 좋은 생각이 있어봐야 소용없다.

11. DRY(Don’t Repeat Yourself)-반복하지 마라
어떤 지식 한 조각도 하나의 시스템 안에서는 모호하지 않고, 권위 있고, 단 하나뿐인 표현을 가져야 한다.

12. 재사용하기 쉽게 만들라.
재사용하기 쉽다면, 사람들이 재사용할 것이다. 재사용을 촉진하는 환경을 만들라.


13. 관련 없는 것들 간에 서로 영향이 없도록 하라.
컴포넌트를 자족적이고, 독립적이며, 단 하나의 잘 정의된 목적만 갖도록 설계하라.


14. 최종 결정이란 없다.
돌에 새겨진 것처럼 불변하는 결정은 없다. 그렇게 생각하는 대신, 모든 결정이 해변의 백사장 위에 쓴 글자와 같다고 생각하고 변화에 대비하라.


15. 목표물을 찾기 위해 예광탄을 써라.
예광탄은 이것저것을 시도해보고 그것들이 목표와 얼마나 가까운 데 떨어지는지 보는 방법으로 목표를 정확히 맞추게 해준다.


16. 프로토타입을 통해 학습하라.
프로토타이핑은 배움의 경험이다. 프로토타이핑의 가치는 만들어낸 코드에 있지 않고, 여러분이 배운 교훈에 있다.


17. 문제 도메인에 가깝게 프로그래밍하라.
사용자의 언어를 사용해서 설계와 코딩을 하라.

18. 추정을 통해 놀람을 피하라.
시작하기 전에 추정부터 하라. 잠재적인 문제점들을 미리 찾아내게 될 것이다.


19. 코드와 함께 일정도 반복하며 조정하라.
구현하면서 얻는 경험을 이용해서 프로젝트의 시간 척도를 세밀히 조정하라.


20. 지식을 일반 텍스트로 저장하라.
일반 텍스트 형식은 시일이 지났다고 못쓰게 되는 일이 없다. 일반 텍스트 형식은 여러분의 작업을 활용하고 디버깅과 테스팅을 쉽게 만드는 데 도움이 된다.


21. 명령어 셸의 힘을 사용하라.
그래픽 사용자 인터페이스로는 할 수 없는 일에 셸을 이용하라.


22. 하나의 에디터를 잘 사용하라.
에디터를 마치 손의 연장延長으로 자유자재로 다루어야 한다. 여러분이 사용하는 에디터는 설정을 바꿀 수 있고, 확장가능하고, 프로그램 가능해야 한다.


23. 언제나 소스코드 관리 시스템을 사용하라.
소스코드 관리는 여러분 작업을 위한 타임머신이다. 언제라도 과거로 돌아갈 수 있게 해준다.


24. 비난 대신 문제를 해결하라.
버그가 여러분 잘못인지 다른 사람 잘못인지는 별로 중요하지 않다. 그것은 여전히 여러분의 문제이며, 여전히 고쳐야 할 필요가 있다.


25. 디버깅을 할 때 당황하지 마라.
숨을 깊게 들이 쉬고, 무엇이 버그를 일으키는지 ‘생각하라!’


26. ‘select’는 망가지지 않았다.
OS나 컴파일러의 버그를 발견하는 일는 정말 드물게 일어나며, 심지어 써드파티 제품이나 라이브러리일지라도 드문 일이다. 버그는 애플리케이션에 있을 가능성이 가장 크다.


27. 가정하지 마라. 증명하라.
진짜 데이터와 경계 조건이 있는 실제 환경에서 여러분이 내렸던 가정들을 증명하라.

28. 텍스트 처리 언어를 하나 익혀라.
여러분은 하루 가운데 많은 시간을 텍스트와 씨름하며 보낸다. 왜 여러분 대신 컴퓨터가 그 일의 일부를 하게끔 만들지 않는가?


29. 코드를 작성하는 코드를 작성하라.
코드 생성기는 생산성을 증가시키며 중복을 막는 일에도 도움이 된다.


30. 완벽한 소프트웨어는 만들 수 없다.
소프트웨어는 완벽할 수 없다. 피할 수 없이 나타나는 에러로부터 여러분의 코드와 사용자들을 보호하라.


31. 계약에 따른 설계를 하라.
코드가 실제로 하기로 한 것을 문서화하고 검증하기 위해 계약을 사용하라.


32. 일찍 작동을 멈추게 하라.
보통은 죽은 프로그램이 절름발이 프로그램보다 해를 훨씬 덜 끼친다.


33. 단정문을 사용해서 불가능한 상황을 예방하라.
단정은 여러분이 세운 가정을 검증해준다. 확실한 것이 없는 세상에서 여러분의 코드를 보호하려면 단정문을 사용하라.


34. 예외는 예외적인 문제에 사용하라.
예외를 잘못 쓰면 고전적 스파게티 코드의 모든 가독성과 유지보수 문제를 그대로 겪을지도 모른다. 예외는 예외적인 일들만을 위해 남겨두어라.


35. 시작한 것은 끝내라.
가능하다면, 리소스를 할당한 루틴이나 객체가 해제도 책임져야 한다.


36. 모듈간의 결합도를 최소화하라.
디미터 법칙을 적용하고‘부끄럼 타는shy’ 코드를 작성해서 결합이 생기는 일을 피하라.

37. 통합하지 말고 설정하라.
애플리케이션에서 기술 선택을 설정 옵션으로 구현하고, 통합하거나 만들어 넣지 말라.


38. 코드에는 추상화를, 메타데이터에는 세부 내용을.

프로그램은 최대한 일반화해서 만들고, 세부 사항들은 가능하면 컴파일된 코드 기반 바깥으로 빼라.


39. 작업흐름분석을 통해 동시성을 개선하라.

사용자의 작업흐름이 허용하는 동시성을 최대한 활용하라.


40. 서비스를 사용해서 설계하라.

서비스, 곧 잘 정의되고 일관성 있는 인터페이스를 통해 의사소통하는 독립적이고 동시성 있는 객체들의 관점에서 설계하라.


41. 언제나 동시성을 고려해 설계하라.

동시성이 가능하도록 설계하면, 더 적은 가정만 내리고서도 더 깔끔한 설계를 할 수 있다.


42. 모델에서 뷰를 분리하라.
애플리케이션을 모델과 뷰의 관점으로 설계해서 적은 비용만 들이고도 유연함을 얻어내라.


43. 칠판을 사용해 작업흐름을 조율하라.
참여하는 요소들의 독립성independence과 고립성isolation을 유지하면서도 개별적인 사실과 에이전트를 잘 조율하려면 칠판을 사용하라.


44. 우연에 맡기는 프로그래밍을 하지 말라.
정말 믿을 만한 것만 믿어야 한다. 우발적인 복잡함을 조심하고, 우연한 행운을 목적의식을 가지고 만든 계획과 착각하지 말라.


45. 여러분의 알고리즘의 차수를 추정하라.
코드를 작성하기 전에, 실행 시간이 대략 얼마나 걸릴지 감을 잡아 놓아라.


46. 여러분의 추정을 테스트하라.
알고리즘의 수학적 분석이 모든 것을 다 알려주지는 않는다. 실제 대상 환경에서 코드의 수행 시간을 측정해보라.


47. 일찍 리팩터링하고, 자주 리팩터링하라.
정원의 잡초를 뽑고 식물 배치를 조정하는 것과 똑같이, 코드도 필요할 때면 언제라도 다시 작성하고 다시 작업하고 다시 아키텍처를 만들라. 문제의 근원을 해결하라.


48. 테스트를 염두에 두고 설계하라.
코드를 한 줄이라도 쓰기 전에 테스팅에 대해 생각하기 시작해야 한다.


49. 소프트웨어를 테스트하라. 그렇지 않으면 사용자가 테스트하게 될 것이다.

가차 없이 테스트하라. 사용자가 여러분을 위해 버그를 찾게 만들지 말라.


50. 자신이 이해하지 못하는, 마법사가 만들어준 코드는 사용하지 말라.

마법사는 엄청난 양의 코드를 만들 수 있다. 그것들을 프로젝트에 통합해 넣기 전에 그 코드 내용을 전부 이해하는지 확실히 해놓도록 하라.


51. 요구사항을 수집하지 말고 채굴하라.
요구사항이 지면에 놓여져 있는 경우는 퍽 드물다. 보통은 가정과 오해, 정치政治의 지층들 속 깊이 묻혀 있다.


52. 사용자처럼 생각하기 위해 사용자와 함께 일하라.
시스템이 정말로 어떻게 사용될지 통찰력을 얻을 수 있는 가장 좋은 방법이다.


53. 구체적인 것보다 추상적인 것이 더 오래간다.

구현 말고 추상에 투자하라. 추상은 서로 다른 구현이나 새로운 기술의 출현 때문에 빗발치듯 생기는 변화를 견뎌내고 살아남을 수 있다.


54. 프로젝트 용어사전을 사용하라.
프로젝트에서 쓰이는 특정 용어와 어휘들의 유일한 출처를 만들고 유지하라.

55. 생각의 틀을 벗어나지 말고, 틀을 찾아라.

해결이 불가능해 보이는 문제와 마주쳤을 때, 진짜 제약 조건을 찾아라. 스스로에게 이렇게 물어보라. ‘정말로 반드시 이런 방식으로 해야 하는 일인가? 꼭 해야만 하는 일이긴 한 건가?’


56. 준비가 되었을 때 시작하라.
여러분은 살아오면서 경험을 쌓아왔다. 자꾸 거슬리는 의혹을 무시하지 말라.


57. 어떤 일들은 설명하기보다 실제로 하는 것이 더 쉽다.

명세의 나선에 빠지지 말라. 언젠가는 코딩을 시작해야 한다.


58. 형식적 방법의 노예가 되지 마라.
여러분의 개발 실천방법과 개발 능력의 맥락 안에 넣어보지 않고, 맹목적으로 어떤 기법을 채택하지 말라.


59. 비싼 도구가 더 좋은 설계를 낳지는 않는다.
벤더들의 과장, 어떤 분야의 도그마 그리고 가격표의 휘광에 넘어가지 말라. 도구 자체의 장점만 갖고 판단하라.


60. 팀을 기능 중심으로 조직하라.
설계자와 코더를, 테스트 담당자와 데이터 모델 담당자를 분리시키지 말라. 코드를 만드는 방식에 맞춰 팀을 만들어라.


61. 수작업 절차를 사용하지 말라.
셸 스크립트나 배치 파일은 똑같은 명령을, 똑같은 순서로, 어느 때라도 반복해서 실행해준다.


62. 일찍 테스트하고, 자주 테스트하라. 자동으로 테스트하라.

매번 빌드할 때마다 실행되는 테스트가 책꽂이의 테스트 계획보다 훨씬 효과적이다.


63. 모든 테스트가 통과하기 전엔 코딩이 다 된게 아니다.

뭐 더 할 말 있나?


64. 파괴자를 써서 테스트를 테스트하라.

코드의 별도 복사본을 만들고, 그 복사본에 고의로 버그를 넣은 다음 테스트가 잡아내는지 검증하라.


65. 코드 커버리지보다 상태 커버리지를 테스트하라.

중요한 프로그램 상태들을 파악해서 테스트하라. 단지 많은 코드 줄 수를 테스트 범위 안에 넣는 것만으로는 충분하지 않다.


66. 버그는 한 번만 잡아라.
인간 테스터가 버그를 찾아내면, 그 때가 인간 테스터가 그 버그를 찾는 마지막 순간이 되어야 한다. 그 순간 이후부터는 자동화된 테스트가 그 버그를 담당하도록 만들라.


67. 한국어도 하나의 프로그래밍 언어인 것처럼 다루라.

코드를 작성하는 것처럼 문서도 작성하라. DRY 원칙을 존중하고, 메타데이터를 사용하고, MVC 모델을 쓰고, 자동 생성을 이용하고 등등.


68. 문서document가 애초부터 전체의 일부가 되게하고, 나중에 집어넣으려고 하지 말라.

코드와 떨어져서 만든 문서가 정확하거나 최신 정보를 반영하기는 더 힘들다.


69. 사용자의 기대를 부드럽게 넘어서라.
사용자들이 무엇을 기대하는지 이해한 다음, 그것보다 약간 더 좋은 것을 제공하라.


70. 자신의 작품에 서명하라.
옛날 장인들은 자신의 작업 결과물에 서명하는 일을 자랑스럽게 여겼다. 여러분도 마찬가지여야 한다.

 

출처: 원서/한글

한계를 넘는 기술(폭발적 성장을 이껄어내는 영리한 노력의 다섯 가지 비밀)

2018년 12월 09일  /구디엔 지음/ 김희정 옮김/흐름출판

 

잉 룬샷도 흐름출판사에서 나왔던데 다음 잡은 책도 흐름출판사. 읽는데 전혀 관련 없을 수 있는 것임에..

 

전자책을 넘기는데 더 이상 노력이 중요하지 않은 시대란다. 표지에 보니 "21세기형 노력은 양이 아니라 방향이다!"라는 문구와 노력의 배신에 힘겨워하는 이들을 위한 성장력 대폭발 프로젝트 라는 문구에.

벡트는 방향, 크기(힘)이라 보면 벡트를 배워야 하는걸까?!

+ Recent posts