Skip to content

Instantly share code, notes, and snippets.

@appkr
Last active January 30, 2019 11:05
Show Gist options
  • Save appkr/87579e1351292a4c783bf5bb98f483ab to your computer and use it in GitHub Desktop.
Save appkr/87579e1351292a4c783bf5bb98f483ab to your computer and use it in GitHub Desktop.
Inspiring Citation

당신이 사용하는 언어를 탓하지 말라. 코드를 아름답게 만드는 것은 프로그래머이다.

  • Ward Cunningham

코드는 한편의 잘 쓴 산문처럼 읽혀야한다

  • Martin Fowler

Function should do one thing, do it well, do it only

  • Robert C. Martin

주석을 읽는 사람들이 감사해야 가치있는 주석이다.

  • Martin Fowler

객체지향이란 High Level Policy를 Low Level Detail로 부터 보호 하는 것. 바꾸어 말하면, High Level Policy가 Low Level Detail에 의존해서는 안된다.

  • Robert C. Martin

Data structure 는 public 변수만 있고 메서드가 없다(like c struct). 반면 클래스는 private 변수가 있고 public 메서드가 있다.

  • ??

Getter/Setter - 다 줘봐. 내가 판단해서 변경한 다음에 넣어 줄게. Which is NOT cohesive. No encapsulation.

  • 백명석

객체지향은 기능이 추가 되면 취약하다(sub class에 영향). 반면 타입 추가에 자유롭다.

  • Robert C. Martin

소스코드가 곧 디자인이다 -Jack Reeves


Tables are artificial constructs that represent the current state of the system, not the events that occurred.

  • ??

DDD in a nutshell - Separating implementation from policy. Policy and implementatin should follow business language.

  • ??

Boundary(layer) means knowledge. AND KNOWLEDGE MEANS DEPENDENCY.

  • ??

Three magic words of OO - encapsulation, inheritance, polymorphism

  • ??

What is bad code - rigidity, fragility, non-reusable

  • ??

The web is just a delivery mechanism. In other word, low level detail.

  • Robert C. Martin

OO is managing dependency.

  • Robert C. Martin

Architecture is about intent.

  • Robert C. Martin

Make QA find nothing.

  • Robert C. Martin

정원사가 되려면 일단 정원일을 직접 해보고, 그 다음에는 정원사 공동체에 들어가야 하고, 그 다음에는 다른 사람들에게 정원일을 가르쳐 보아야 한다. 그런 다음에야 정원사라고 할 수 있다. 익스트림 스타일로 프로그래밍하고, XP의 가치를 공유하며, 최소한 여러분의 실천방법 가운데 일부를 공유하는 사람들의 공동체에 참여하고, 그런 다음 여러분이 아는 것을 다른 사람과 공유해야만 익스트림 프로그래머가 될 수 있다.

  • 익스트림 프로그래밍 by 켄트벡

소프트웨어의 모든 것은 변한다. 요구사항은 변한다. 설계도 변한다. 비즈니스도 변한다. 기술도 변한다. 팀도 변한다. 팀 구성원도 변한다. 변화는 반드시 일어나기 때문에, 문제가 되는 것은 변화가 아니다. 그보다는 변화를 극복하지 못하는 우리의 무능력이 문제다.

  • 익스트림 프로그래밍 by 켄트벡

오래 전에 작성했던 코드를 지금에 와서도 고칠 부분이 없어 보인다면, 그것은 그동안 배운 것이 없다는 뜻이다.

  • 소프트웨어 장인 by 산드로 만쿠소 (p.77)

Leave the campground cleaner than you found it (캠프장은 처음 왔을 때보다 더 깨끗하게 해 놓고 떠나라).

You don't have to be great to start, but you start to be great!

  • ??

가장 흐릿한 글씨라도 최고의 또렷한 기억보다 낫다.

  • 중국 속담

당신이 태어났을 때 세상에 있는 것들은 모두 일반적이고 평범한 것이며 세상이 돌아가는 방식의 자연스러운 한 부분이다. 당신이 열다섯 살에서부터 서른다섯 살 사이에 발명된 것은 새롭고 신나고 혁명적인 것이며 그걸로 경력을 쌓을 수도 있다. 서른 다섯 이후에 발명된 것들은 모두 자연의 질서에 반하는 것이다.

  • 더글라스 애덤스, 의심의 연어

정신은 그 자체로 지옥의 천국을 만들 수도, 천국의 지옥을 만들 수도 있다.

  • 밀턴, 실락원

우리가 증명할 수 있는 것은 논리가 있기 때문이고, 우리가 발견할 수 있는 것은 직관이 있기 때문이다.

  • 앙리 푸앵카레

어디로 가고 있는지 모른다면 조심해야한다. 그곳에는 도달하지 못할 테니까.

  • 요기베라

상추를 심었는데 잘 자라지 않는다면 상추를 탓하지 마세요. 왜 잘 안 자라는지 이유를 찾으세요. 비료가 부족할 수도 있고 물이 더 필요하거나, 햇빛을 줄여야 할 수도 있습니다. 결코 상추를 비난하지 마세요. -틱 낫 한


1마일이 몇 피트냐는 질문에, "글쎄요? 쉽게 찾아 볼 수 있는 것들로 제 뇌를 채우지 않습니다."라고 답했다고 합니다.

  • 이 분은 아인슈타인

초보자의 마음을 가지면 많은 기회가 있지만 전문가 중에서 그런 사람은 드물다

  • 순류 스즈키 로시

경험이 많은 개발자는 손이 빨라서 일을 더 많이 하기때문에 조직에 도움이 되는게 아니다.

경험이 많은 개발자는 불필요한 일을 줄이기 때문에 도움이 된다. 그리고 그들은 비 본질적 복잡성은 제거하고 본질적 복잡성은 단순화해서 문제를 처리하기 좋게 만든다.

박성철님


개발 현장에서 가장 문제가 되는 건 [여기가 아닌가벼]가 아닐까 한다. 이 라이브러리, 혹은 기술 스택을 쓰면 될 거 같았는데, 실제로 해보니 동작을 안한다던가, 원하는 퍼포먼스가 안나온다던가, 생각만큼 깔끔하게 안나온다던가... 그럼 그때까지 들인 시간이 날라간다. 물론 다른 스택으로 바꾼다고 해서 잘 되리라는 보장은 없다. 그냥 원점으로 돌아가는 것이다. 전문 용어로 삽질했다고도 한다.

어느 정도 개발 경력이 되면 코드 퀄리티의 차이보다는 이런 차이가 더 커진다. 그래서 시니어 개발자가 필요한 상황에서는 시니어를 쓰는 게 돈을 절약하는 길이다.

박종희님


지혜있는 리더들은

  • 육체적으로는 고통보다는 즐거움을 경험하도록
  • 심리적으로는 자기 가치를 찾도록
  • 영적으로는 의미와 목적으로 찾도록

조직을 건설한다. 이러한 가치들을 일터에 통합시킬때, 평범한 사람들을 통해 엄청난 성과를 창출하는 것이 가능해진다.

릭 워렌

좋은 품질의 기계는 언제나 동일한 생산성을 유지합니다. 사람은 다릅니다. 일의 의미를 찾을 수 있을 때, 스스로 참여하고 결정할 수 있을 때, 배우고 성장한다는 것을 느낄 때, 존중받고 칭찬받을수록 점점 더 일에 몰입하게 되고, 그에 맞춰 생산성도 높아집니다. 평범한 사람들로 탁월한 성과를 창출하는 것, 경영의 묘미가 여기에 있습니다.


인간의 신체는 최근 2년동안 먹었던 음식으로 이루어져 있다고 한다. 몸속 세포의 수명이 보통 6개월인데, 분열/생성과 소멸을 반복하며 모든 세포가 갈아 엎어지는 주기가 2년이라고 하니 말이다. 그래서 2년만 잘 먹으면 체질을 바꿀 수가 있다고 한다.

인간의 사회적 관계 또한 비슷함을 느낀다. 나의 경우는 최근 3년 동안 만났던 사람들에 의해 변화하는 것 같다. 많은 사람들을 만나서 많은 이야기를 나누고, 많이 느끼며 많이 배우다 보니 생각하는 방법 또한 많이 달라졌음을 느낀다. 그리고 그들을 이해하는 방법 자체도 달라졌음을 느낀다.

Ralf Yang님


보지 않아도 될 것은 보지 말고 듣지 않아도 될 소리는 듣지 말고 먹지 않아도 될 음식은 먹지 말고 읽지 않아도 될 글은 읽지 말아야 한다.

될 수 있는 한 적게 보고, 적게 갖고, 적게 만나고, 적게 말하는 습관을 가져야 한다.

법정 스님


늘 하는 이야기지만 사람은 자신의 행운을 (by definition) 계획할 수 없다. 하지만 행운이 발생할 확률이 높은 곳으로 자신을 보낼 수는 있다. 불운도 마찬가지, 완벽하게 막을 수는 없지만 슬쩍 피할 수는 있는 것이다. 결국 뭔가를 결정할 때 행운에 노출될 확률도 중요한 고려사항이라는 것.

커리어 무브에서 이 행운(=동료/상사운)을 절대 간과하면 안되는 것 같다. 연봉이고 직급이고 나발이고, 실제로는 누구 밑에서 또는 어떤 사람들과 일하느냐가 자기발전과 삶의 질, 자존감 및 성취감을 상당 부분 좌우하기 때문. 반대로 나 역시 그렇게 사람들에게 행운을 줄 수 있는 시람인가 하면..(먼산)

@shinhh님


가족에 대한 책임이 커질수록 꿈은 작아진다.

맹호규님


복싱을 잘하려면 주먹이 날아들 때 눈을 감으면 안되고, 홈런을 치려면 번트를 대면 안된다. 만화에서 배운 인생의 진리다.

박종희님


Public API는 여러분의 서비스와 파트너 서비스와의 약속입니다. 한번 API가 배포되면 파트너 쪽에서 해당 API를 호출하는 한 계속 관리되어야 합니다.

?? at AWSSummit Seoul 2018


제 가장 큰 숙제는 제 이름보다 유명한 회사를 만드는 것이었습니다. 커뮤니티에 허명이 너무 팔려서 회사 이름이 가리는 경우가 많았는데, 지금 하는 회사는 제 이름보다 더 유명한 회사를 만들고자 합니다.

양수열님


거짓말이다. 시간이 가장 많이 걸리는 작업은 IE에서 웹 사이트를 동작하게 만드는 것이다. 이 작업을 할 때는 수명도 깎여나간다.

미상


다음에 포트를 정해야 하면 18323으로 정해야겠네. 최범균님

ㄴ탄핵기념 17310, 대선기념 17509 최범균님

ㄴ그런데... 서버가 계속 리소스를 숨기면 어떻하죠(해당 포트에서만 ㅋㅋㅋ) 강대명님


친한 동생이 모임에서 만난 사람이 했던 이야기라며 내게 물었다.

"형님 IT에서는 마흔 대여섯 되면 떠날 준비를 해야 한다면서요?"

"누가 그러던데?"

"모임에서 만난 마흔두살 형님인데 IT는 좀 그렇다네요."

"내가 봤을땐 그 사람이 IT가 아니라 농사를 지어도 그렇게 얘기할 것 같은데? 보험을 하던 주식을 하던 자기 나이랑 환경을 제한짓고 탓하면서 살것 같은데? 그래서 그 사람은 그럼 떠날 준비를 위해서 지금 뭘하고 있다는데? 뭘 위해 노력하고 있다는데?"

"고민 중이라 하네요"

"그 고민은 아마 20대에 IT 들어와서 개발 시작할때부터 했을걸? 만날 고민만 하다보니 마흔둘이 되었겠지.. IT 개발자들이 제일 못하는게 뭔지 알아?"

"뭔데요"

"자기개발이야. 자기개발도 못하는 사람이 회사 제품 개발은 퍽이나 잘하겠어? 자기개발 잘하는 사람들은 제품 개발도 잘해."

사람은 어디에서 무엇을 하고 있어서 생각을 그렇게 하는가 보다는, 어떤 생각을 가지고 어디에서 어떻게 살기 위해 노력하고 있는가가 더 중요하다고 생각한다.

Ralf Yang님


마윈 왈,

세상에서 같이 일하기 가장 힘든 사람은 가난한 사람이라 했다. 작은걸 하자하면 돈 별로 못번다 그러고, 큰 걸 하자하면 돈이 없다 그러고, 새로운 걸 하자하면 전문가가 없다는 사람.

마윈은 이들에게 공통점이 있다고 말한다. 구글이나 포털에 물어보기 좋아하고, 희망이 없는 친구들에게 의견 듣기를 좋아하고, 스스로 대학교 수보다 많은 생각을 한다고 자부하지만, 제대로 하는 일은 하나도 없다는 것.

마윈이 말한 가난은 마음의 가난이다. 구체적으로 말하면 자존감이 낮은 사람이다.

가난한 자들은 완벽주의자다. 그들에게는 항상 일을 시작하지 말아야 할 일천가지의 이유가 있다. 본인이 일을 해야하는 경우나, 이미 일이 시작된 경우에는 달성 불가능한 이상적인 목표를 설정한다. 그래야 실패해도 내 탓이 아닌게 되기때문이다. 자존감 낮은 사람은 내 탓이 생기면 스트레스로 자아가 무너져버리기에 그런 이해 안되는 행동을 한다.

이런 사람이 조직에 하나 있으면 온갖 부정적인 말들을 쏟아내면서 조직의 사기 전체를 바닥으로 끌어내린다. 둘 있으면 세력을 형성하고 일하는 조직을 정치하는 조직으로 변모시킨다. 가난한 사람은 스스로 성취를 만들 자신이 없고 실패에 대한 두려움이 크기 때문에 사람을 공격하여 감정을 소모시키고 자신과 같은 수준으로 끌어내리는 것에 몰두한다.


기능 개발에 몰두하지 말고 서비스를 하세요. 디자인이 없어도 기다리지 말고 서비스를 그냥 진행하세요. 스타트업의 생명은 속도라고 알면서도 개발이 다 될때까지, 디자인이 나올때까지 기다리며 사업을 중단해 버려요.

고객이 원하는 것은 서비스지, 소프트웨어 기능이나 디자인이 아니에요.

권도균님


무한 경쟁 환경에서, 더 나은 것에 대한 갈망은 사람을 성장시킨다. 제한 경쟁 환경에서, 더 나은 것에 대한 갈망은 담합과 타협을 만든다. 경쟁이 없는 환경에서, 더 나은 것에 대한 갈망은 부정을 일으킨다.

대학교 1학년때 배우는 경제학 101이다. 경쟁 == 효율성 == 생산성

  • appkr

사람은 1) 다양한 인간 군상에 대한 관찰과 2) 일에 대한 실패와 성공(=경험), 3) 깊은 사유, 4) 남의 지식을 습득(=독서/비디오/강의 등)을 통해 성장한다.

  • ??
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment