본문 바로가기
[실용주의 프로그래머] 소통하라! [실용주의 프로그래머] 소통하라! 출처 : 실용주의 프로그래머 -나는 무시당하느니 차라리 샅샅이 훑어보는 시선이 낫다고 봐요 - 메이 웨스트 -뭘 가졌느냐 만이 아니라 그걸 어떻게 포장하느냐도 중요하다.최고의 아이디어, 최상의 코드 혹은 가장 실용주의적인 사고 등이 있다고 해도 다른 사람들과 소통할 수 없다면 그것들은 궁극적으로 아무 효용이 없다.효과적인 소통 없이는 어떤 훌륭한 아이디어도 고아에 지나지 않는다. -말하고 싶은게 무엇인지 알아야 한다.무엇을 말할지 미리 계획하라.개요를 작성하라.그리고 자문하라. “이게 내가 말하고자 하는 것을 잘 전달하는가?”그렇게 될 때까지 다듬어라. 의사소통하고 싶은 아이디어들을 적은 다음,제대로 전달하기 위해 필요한 전략을 몇 개 세워라. -청중을 알아야 한다.청중.. 2016. 7. 29.
[실용주의 프로그래머] 지식 포트폴리오 [실용주의 프로그래머] 지식 포트폴리오 출처 : 실용주의 프로그래머 -지식에 대한 투자가 언제나 최고의 이윤을 낸다. - 벤자민 프랭클린 -포트폴리오 만들기 * 주기적인 투자 자신의 지식 포트폴리오에 주기적으로 투자해야 한다. 비록 소량일지라도 그 습관 자체가 금액의 합계만큼이나 중요하다. * 다각화 여러 가지를 알면 알수록 자신의 가치는 더욱 높아진다. 기본적으로 현재 작업에 사용하는 특정 기술의 등장과 퇴장을 알아야 한다. * 리스크 관리 여러분의 기술 달걀을 한 바구니에 모두 담지 마라. * 싸게 사서 비싸게 팔기 새롭게 떠오르는 기술이 인기를 끌기 전에 미리 알고 학습하는 것은 저평가된 주식을 찾아내는 것만큼이나 어려울 수 있지만, 이익 또한 그만큼 클 수 있다. * 검토 및 재조정 이 산업은 매.. 2016. 7. 28.
[실용주의 프로그래머] 적당히 괜찮은 소프트웨어 [실용주의 프로그래머] 적당히 괜찮은 소프트웨어 출처 : 실용주의 프로그래머-우리는 종종 뭔가 나아지게 하려다가 괜찮은 것마저 망친다. - 리어왕 -적당히 괜찮은 - 사용자, 미래의 유지보수자 혹은 자기 마음의 평화를 유지하기에 적당히 괜찮은 - 소프트웨어를 만들도록 자신을 단련할 수 있다. -“적당히 괜찮은” 이라는 문구는 너절하거나 형편없는 코드를 의미하지 않는다.시스템이 성공하려면 사용자의 요구사항을 충족해야 한다.당신이 생산해 낸 것이 어느 정도면 적당히 괜찮은지를 결정하는 과정에사용자가 참가할 기회를 가져야 한다는 걸 알아야 한다. -품질을 요구사항으로 만들어라. -오늘의 훌륭한 소프트웨어는 많은 경우, 내일의 완벽한 소프트웨어보다 낫다.사용자들에게 뭔가 직접 만져볼 수 있는 것을 일찍 준다면,.. 2016. 7. 27.
[실용주의 프로그래머] 돌멩이 수프와 삶은 개구리 [실용주의 프로그래머] 돌멩이 수프와 삶은 개구리 출처 : 실용주의 프로그래머 -무엇을 해야 하는지, 어떻게 해야 하는지 정확히 아는 상황이 있다.전체 시스템이 눈앞에 그냥 드러난다.여러분은 그 시스템이 옳다는 걸 안다.하지만 일을 착수하려고 허락을 구하는 때부터, 뭔가가 지연되거나 사람들이 멍한 눈으로 여러분을 바라본다.위원회가 생길 테고, 예산 승인이 필요하고, 일들이 복잡해지기 시작한다.모든 사람이 각자 자신의 자원을 지키려고 할 것이다.때때로 이걸 “시작 피로(start-up fatigue)” 라고 부른다. 돌맹이를 내놔야 할 때다.큰 무리 없이 요구할 수 있을 만한 것을 찾아내라.그리고 그걸 잘 개발하라.일단 되면, 사람들에게 보여 주고, 그들이 경탄하게 하라.그리고는 “물론 만약 xxx 를 추.. 2016. 7. 26.
[실용주의 프로그래머] 소프트웨어 엔트로피 [실용주의 프로그래머] 소프트웨어 엔트로피 출처 : 실용주의 프로그래머 -엔트로피(entropy)는 시스템 내의 “무질서” 한 정도를 가르키는 물리학 용어이다. -깨진 창문을 내버려두지 말라. -깨진 창문(나쁜 설계, 잘못된 결정, 혹은 형편없는 코드)을 고치지 않은 채로 내버려 두지 마라.발견하자마자 바로 고쳐라.적절히 고칠 시간이 충분치 않다면 판자로 덮는 것만이라도 하라.불쾌한 코드를 주석처리 하거나, 아직 구현되지 않았음이라는 주석을 달거나, dummy 데이터로 대치해 놓거나 하라.더 이상의 손상을 예방하기 위해 어떤 조치든 취하고 현 상황을 잘 관리하고 있다는 것을 보여 줘라. -깨진 창문이 꽤 있는 프로젝트를 한다면, “나머지 코드가 전부 쓰레기니까 나도 그렇게 하지 뭐” 라는 사고로 빠져들기.. 2016. 7. 25.
[실용주의 프로그래머] 고양이가 내 소스를 삼켰어요. [실용주의 프로그래머] 고양이가 내 소스를 삼켰어요. 출처 : 실용주의 프로그래머 - 가장 큰 약점은 약점을 보일 것에 대한 두려움이다. - 보쉬에 - 실용주의 프로그래머는 경력에 대한 책임을 지고, 자신의 무지나 실수를 인정하기를 두려워하지 않는다. - 누군가에게 어떤 일을 할 수 없다고, 혹은 늦어지거나 뭔가가 고장났다고 말하려고 다가가기 전에 잠깐 멈추고 자신의 목소리를 들어보라. 변명이 그럴싸하게 들리는가 아니면 멍청하게 들리는가? 상관에게는 또 어떻게 들릴까? 머리 속에서 대화를 진행시켜 보라. - 실수를 저지르거나 잘못된 판단을 내렸다면, 정직하게 인정하고 변명 대신에 다른 방안(대안)을 제안하도록 노력하라. “고양이가 내 소스코드를 삼켰어요” 라고 상관에게 말하는 것은 별 도움이 안 될 것이.. 2016. 7. 24.
[android] Binder Tokens 에 대해 이해해보자. [android] Binder Tokens 에 대해 이해해보자. Binder Tokens -Binder object 는 system 에서 하나의 Unique ID ( 32-bit )를 갖는다.Binder 가 system 안에서 Unique ID 를 갖는것은 security 문제를 해결하는 데 도움이 된다. - Binder 가 쓰이는 가장 대표적인 예는 Service의 aidl 연결이나 WakeLock 등이 있겠다. Window Tokens -WIndow Token 은 Window manager 가 사용하는 특별한 token 이다. 각 window 를 구별하는 데 사용된다. - WindowToken 은 다른 허가되지 않은 앱이 다른 app 위에 무언가를 그리는 것을 불허한다. Window 를 새로 add .. 2016. 5. 26.
starUML 에서 final field 마킹(표시)하는 방법 starUML 에서 final field 마킹(표시)하는 방법 final field 를 마킹(표시)하면 해당 field 의 오른쪽에 {frozen} 이라는 기호가 붙는다. final 로 마킹하고 싶은 field 를 선택한 후 [Properties] - [Detail] - [Changeability] 를 CHANGABLE 에서 "FROZEN" 으로 변경해주면 된다. changability, CHANGABLE, changeability, detail, Final, final field, Frozen, properties, StarUML, starUML 에서 final field 마킹(표시)하는 방법, 마킹, 방법, 표시 2016. 5. 24.
Good Engineer 의 5가지 조건 Good Engineer 의 5가지 조건 * Good Engineer 는 게으르다. Good Engineer 는 무엇이 고장났는지 정확히 모르는 상황에서 그것을 신경쓰고 시간을 쓰지 않는다. * Good Engineer 는 이기적이다. Good Engineer 는 가려운 곳이 있으면 스스로 가려운 곳을 긁을 product 를 생산해내며, 그것에 강하게 motivated 된다. 사실 가장 어려운 것은 고객이 원하는 것이 무엇인가 찾는 것인데, Engineer 자신이 고객이 된다면 feedback cycle 은 매우 빠르다. * Good Engineer 는 무식하다. 좋은 아이디어를 죽이는 한가지 방법은 그것에 대해 너무 많이 아는 것이다. 존재하는 모든 solution 에 대해 그리고 그것의 제약사항을 알.. 2016. 5. 3.
반응형