메뉴 건너뛰기

박영식 홈페이지

[도서] 진짜 소프트웨어 개발 이야기

lispro062015.10.14 05:12조회 수 113댓글 0

    • 글자 크기

당신이 생각하는 것과 달리 매일 할 일을 반복하는 것은 실제 훈련이라고 보기 어렵다. 회의에 참석한다고 해서 사람을 다루는 기술이 연마되는 것도 아니다. 이메일에 답장을 쓴다고 해서 타이핑 실력이 느는 것은 아닌 것과 마찬가지다. 뭔가에 대한 실력을 키우려면 별도의 시간을 마련해서 집중적으로 훈련해야만 한다. ~중략~

내가 알고 있는 한 뛰어난 엔지니어는 바로 이처럼 끊임없이 이뤄지는 훈련 덕분에 그 정도의 실력을 유지한다. 신체적으로 좋은 몸매를 유지하고 있는 사람은 정기적으로 운동을 하고, 계속 운동을 한다. 그렇게 하지 않으면 몸매가 망가지기 때문이다. 프로그래밍과 엔지니어링도 이와 마찬가지다. 97쪽


제가 제안하고자 하는 것은 다른 접근법입니다. 하나를 더 가지려고 하는 것이 아니라, 하나를 적게 가지려고 하는 겁니다. 더 많이 하는 것이 아니라 더 적게 하는 겁니다. 경쟁자를 이기기 위해 오히려 더 적게 하는 방법입니다. 122쪽


하지만 대다수의 사람도 책을 읽지 않는다. 쓰지도 않는다. 대다수의 소프트웨어 개발자들은 소프트웨어 개발에 대한 책을 읽지 않는다. 소프트웨어 개발에 대한 웹사이트를 읽지 않는다.

프로그래머들이 책을 읽지 않는다면 프로그래밍을 어떻게 배우는 것일까? 그들은 고전적인 방법을 통해 배운다. 소매를 걷어 올리고 실제로 코드를 작성하면서 두 번째 창에 열려 있는 인터넷에 존재하는 집단 지성을 활용하는 것이다. 인터넷은 프로그래밍 서적을 쓸모없는 것으로 만들었다. 인터넷은 더 빠르고, 더 효율적이다. 그렇기 때문에 프로그래밍과 관련된 정보를 인터넷에서 찾아보는 것은 당연히 더 현명한 행동이다. 나는 더그 맥쿠인이 '나는 왜 책을 읽지 않는가에서 적절하게 설명한 자신의 경험이 상당히 일반적이라고 생각한다. 271쪽


조엘의 책 이후 좋은 책을 발견했다. 번역은 임백준

lispro06 (비회원)
    • 글자 크기

댓글 달기

[도서] 밤의 도서관

[원문보기]

 낮 동안에 도서관은 질서의 세계이다. 나는 분명한 목적하에 문자로 쓰인 글들을 읽어가며 이름이나 목소리를 찾고, 주에에 따라 내 관심에 맞는 책을 찾아낸다. 도서관의 구조는 난해하지 않다. 직선들로 이루어진 미로이지만, 방향을 잃게 하기 위한 미로가 아니라 원하는 걸 쉽게 찾기 위한 미로이다. 누가 봐도 논리적인 분류법에 따라 분할된 공간이며, 알파벳과 숫자를 이용해 기억하기 쉽게 맞추어진 분류 체계와 미리 결정된 목록에 따라 배치된 공간이다. 20쪽


과리노에 따르면, 말을 하는 것은 독서가의 소화력에 도움을 준다. "말을 하면 열이 올라 피가 묽어지고, 정맥을 말끔히 씻어내고 동맥을 활짝 열어주어, 음식을 흡수해 소화하는 혈관에 불필요한 습기가 남아 있는 걸 허용하지 않기 때문이다." 단어의 소화도 마찬가지이다. 나는 글을 쓰려고 도서관 뒤에 마련한 한 귀퉁이, 아무도 내 목소리를들을 수 없는 그곳에서 가끔 크게 소리 내어 읽는다. 글을 좀 더 깊이 음미하며 이를 내 것으로 더욱 공고하게 만들고 싶어서. 187쪽

내 도서관에는 목록이 없다. 하지만 한 권 한 권을 내 손으로 서가에 꽂았기 때문에 도서관의 구조만 떠올리면 모든 책의 위치를 어렴풋이나마 기억할 수 있다. 따라서 빛과 어둠은 내가 책을 찾는 데 별다를 영향을 미치지 않는다. 머릿속에 기억된 순서는 내 안에 심겨진 패턴으로 도서관의 형태와 구분을 따른다. 221쪽


강남역 근처에도 도서관이 있었다. 가봐야겠다.

[도서] 녹지대

[원문보기]

박경리의 소설이다.

 

"무슨 일이든 할 때까지가 좋지. 다 이루어좋고 보면 쓸쓸하고 외로워지는 거지." 83쪽

 

"원래 연애란 순탄하지 않어." 238쪽

 

 

문학이 끊긴,........ 북카페를 떠올려 줄만한 책.

 

대학생 때, 시화전을 보았던게 떠오른다. 요즘에도 대학 축제 때 시화전을 하는지.....

[잡담] 사기의 성립 요건

[원문보기]

사기는 피의자와 피해자의 상호 동의(?)에 의해 이루어진다.


피해자의 요행을 바라는 마음을 이용해 피의자는 제안을 한다.


세상은 모두 사기로 이루어져 있다.


적절한 가격(직접 생산보다 유리한 구매 행위를 위한 금액)이라 생각하는 것도 피해자가 편의를 위해 선택한 동의이다.


부동산? 불로소득을 위한 노력 없는 잔머리로 이득을 취하는 투기 행위이다.


사기를 당하는 사람과 가해하는 사람들은 결국 zero-sum 게임에 대한 피해가 발생하게 된다.


그 피해를 감소 시키기 위해 또 다른 사기 행위가 이어지게 되고, 사기에 사기가 더해져 리스크는 커져만 간다.


세상은 폭탄 돌리기를 하며, 사기 행위를 이어 가므로 결국은 망하게 되어 있는데, 피라미드 아래에 있는 이들이 그 피해를 다 가져가므로 피라미드 상위의 사기꾼들은 리스크를 전가하게 되는 것이다.


사기를 치고, 사기를 당하며 돌아가는 세상은 돌고 도는 돈 처럼 폭탄 돌리기를 하고 있다.


작은 폭탄들이 터지면서 리스크가 분산되지만, 강력한 핵으로 발전되는 폭탄은 열대성 저기압 형태의 태풍과 같다.


일본 열도를 강타한 태풍은 많은 피해를 내고 소멸하게 되지만, 그 피해는 막대하다.


태풍이 몰려오고 있다.


그 태풍이 다른 곳으로 가기만을 바라는 사람들은 사기꾼이든 피해자든 언젠가 그 태풍을 맞이하게 되리라는 두려움에 노출되어 있다.


그래도 그 태풍이 이번엔 내 차례가 아니므로 안도의 한숨을 쉬며, 또 다른 사기에 빠져든다.


아래는 마일리지로 일부 납부한 주민세이다. 언젠가는 다시 내야할 돈일 듯.


[GCP] STT 성능 테스트

[원문보기]

하기 사이트를 통해 테스트 해봤다. 지하철 안내음 http://www.seoulmetro.co.kr/kr/board.do?menuIdx=548&bbsIdx=2208138 으로 해봤는데, 고유명사(지명, 역명 등)는 처리가 잘 안되는 듯 하다.

 

1분 내의 wav ( mono, 16000 khz) https://online-audio-converter.com/ko/ 로 변환하여 했을 때, 샘플 코드로 동작 시킬 수 있었다.

 

https://webnautes.tistory.com/1247

 

C:\Users\user\AppData\Local\Programs\Python\Python36\Scripts>python quickstart.py

Transcript: 오늘도 지하철을 이용해 주셔서 감사합니다이 열차는 열차를 타시기 바랍니다

 

C:\Users\user\AppData\Local\Programs\Python\Python36\Scripts>python quickstart.py

Transcript: 승객 여러분 출입문이 다칠 때는 몸을 기대거나 추리물을 손으로 짚으면 위험하니  조심하시기 바랍니다 그리고 열차운행에 지장을 줄 수 있으니 추리물의 이물질이 끼지 않도록 주의해 주시기 바랍니다

 

C:\Users\user\AppData\Local\Programs\Python\Python36\Scripts>python quickstart.py

Transcript: 오늘도 지하철을 이용해 주셔서 감사합니다이 열차는 열차를 타시기 바랍니다

 

C:\Users\user\AppData\Local\Programs\Python\Python36\Scripts>python quickstart.py

Transcript: 안녕하세요 임산부배려석에 분홍 자리에 앉아 계시는 이모 삼촌 우리 엄마가 지금도 너무 힘들대요 그런데 배가 아직 안 나와서 자리 한번 받기가 어렵나 봐요 우리 엄마를 위해서 저를 위해서 자리 좀 양보해 주세요 고맙습니다

 

C:\Users\user\AppData\Local\Programs\Python\Python36\Scripts>python quickstart.py

Transcript: 비워 둔 거예요 구리의 우리 모두 비워도요 핑크색 자리는 우리의 자리를 비워 주세요

 

C:\Users\user\AppData\Local\Programs\Python\Python36\Scripts>python quickstart.py

Transcript: 이번 역은 왕십리 성동구청 역입니다 내리실 문은 오른쪽입니다 방화 1동 마천 당면은 경의중앙선 수원 방면은 선으로 갈아타시기 바랍니다

[잡담] 노력 봉사 보다는 후원

[원문보기]

20대 후반 이후로는 동년배들의 봉사 활동을 볼 수 없다.


관리하는 사람들이 젊다 보니 그들보다 나이 많은 사람을 받을 수 없는 이유가 있을 듯 하다.


야학이나 교육 쪽에 수요를 알아 보았으나, 이제 내 나이는 꼰대 나이라 수요가 없다.


꼰대 나이는 실질적인 것보다 자기 자랑을 하기 일쑤이며, 수혜자와 나이 차이도 많이 나서 말도 잘 안 통한다.


젊고 예쁜 대학생들만 봉사가 가능하다. 30대는 금방 지치고 말만 많다.


대학생 때 돈이 안 되었고, 괴롭긴 했지만, 그 때 아니면 못하는 봉사였기에 아직도 기억이 난다.


노력 봉사보다는 후원이나 해야 하는 나이에 익숙해진지 오래다.


스팸 지우다가 30개 정도의 글을 날려버렸다

[원문보기]

2월 이후의 글들은 사라져 버렸다.


앞으로는 휴지통을 이용해야겠다.


분명 잘 계산해서 지웠는데, 3개월 동안의 기록은 찾을 수가 없겠지..T.T;


죽으라는 법은 없다. 구글에서 검색해, 저장된 페이지를 이용해 다시 옮겨 놓았다!

[필담] 불평은 그만하자

[원문보기]

부끄러움은 나의 몫

여의도. 불꽃 축제가 끝나고 예상된 반응. 쓰레기.

나는 가지도 않았고, 즐기지도 않았는데, 얼굴이 화끈거려야 했다. 부끄러움은 나의 몫이다.


긴 연휴기간을 맞아 고속도로 통행료를 무료로 했다고 한다.

나와 상관 없는 일이며, 역차별에 분노한다.


편한 직장 생활을 하기 위해 공무원을 준비하는 그들.

내 세금으로 저질 공공 서비스를 받으며 분개한다.


대학에서 일체형 책상(의자와 책상이 붙어 있는 형태)에서 수업을 받은 적이 있다.

학생회에서는 등록금 인상에 대한 반대만 했지, 이런 실제적인 외침은 없었다.

왜 이제서야 이슈가 되어 교체가 이루어진 거지?

정당한 권리를 요구하는 사회가 되어서 좋기는 한데, 정당하지 않은 무리한 요구를 하는 이들이 있다.


기자의 자기반성이 보이지 않는다.

기자수첩을 통해 열심히 공부하는 기자의 모습을 보고 응원하고 싶어졌다.


휴게소 맛집이나, 유아용 시트를 소개하는 기사를 보며 상대적 박탈감을 느낀다.

오늘 자전거로 압구정을 지나오며, 자동차 전시장에 갈일이 없음에 소외감을 느꼈다.


[다름] SIM은 스마트폰의 심장

[원문보기]

스마트폰, 휴대폰이라고 부를 수도 있다.


기기글 바꾸면 새것이라고 느낄 수 있지만, 통화가 되어야 '폰'을 붙일 수 있다.


기기에 SIM을 넣으면 새로운 생명을 얻는다.


WiFi는 연결, 즉 영속적이지 않다. 끊기면 답이 없다.


하지만, SIM을 품으면 신호를 보내주는 곳에서 놓치지 않는 이상 계속 쿵쾅거릴 수 있다.


쓰던 기기에 새로운 SIM을 꽂아 살아났을 때, 그 기기기는 굉장한 힘을 얻게 된다.


신기하게도 배터리가 더 잘 충전되는 느낌까지 받게된다.


SIM은 심장이다.


기기가 진동되지 않으면 죽은 것이다.


게다가 시한부나 제한이 있지 않다면 젊은 사람처럼 파워풀해진다.


SIM이 SIM인 이유는 심장같아서 그럴 것이다.


죽은 기기에 살아있는 SIM을 꽂으면 WiFi에 붙어 있지 않아도 자체적으로 살아갈 수 있다.


새로운 심장을 단 기기 처럼 힘차게 박동하는 사람.


아, 눈이야!

[리뷰] 헤밍웨이가 자바스크립트로 코딩한다면

[원문보기]

요즘 리뷰 안썼었는데, 글쓰기에 대한 생각을 정리하기 위해 리뷰로 대체한다.


코딩은 글쓰기의 한 종류이다.


자동화 또는 문서화된 프로세스를 프로그래밍(코딩) 하면 생각대로 움직인다.


업무 명세가 모델/뷰/컨트롤러가 되어 데이터 베이스 스키마(컬럼)을 보면 다루는 정보와 업무를 알 수 있다.


코드명은 업무의 특성을 가장 잘 추상화한 완벽한 집합이다.


프로그래밍은 그 집합에 정의된 일을 체계적으로 수행할 수 있도록 유기적인 연결을 상세한다.


프로그래밍/코딩은 글쓰기 이다.


우리는 어떻게 업무를 하겠다, 하고 있다는 상태, 입력/결과에 대한 내용을 말해준다.


구현하고자 하는 프로그램의 명세를 프로그램밍 코드가 가장 잘 표현하고 있을 때, 오류도 적고 수정하기도 편하다.


생각한대로 동작하도록 오래걸리더라도 잘 풀어서 쓰는 게 유지보수 비용을 줄 일 수 있는 좋은 방법이다.


글쓰기도 마찬가지이다. 작가의 생각을 독자에게 전달함이 목적이므로 독자가 잘 이해하고 감화를 받도록 써야한다.


의미를 대충 전달하게 되면, 감화는 커녕 오동작으로 이어질 것이다.


이전 1 ... 48 49 50 51 52 53 54 55 56 57... 76다음
첨부 (1)
B7118865707_l.jpg
123.5KB / Download 50
위로