- 머신러닝 기초지식
- 머신러닝 시작하기
- 머신러닝 소개
- 데이터를 이용해서 명시적으로 정의되지 않은 패턴을 컴퓨터로 학습하여 결과를 만들어내는 학문 분야
- 데이터
- 패턴 인식
- 사용자가 일일이 정해놓은 패턴(알고리즘)으로 데이터를 분석하는 것이 아닌 데이터를 보고 패턴을 추리는 것(알고리즘을 찾아나는 것)이 머신러닝의 핵심
- 딥러닝도 '패턴을 찾아내려고 학습한다'는 점에서 목표 동일
- 데이터를 이용해서 명시적으로 정의되지 않은 패턴을 컴퓨터로 학습하여 결과를 만들어내는 학문 분야
- 머신러닝을 이해하는 데 필요한 배경지식
- 수학(선형대수, 미분, 통계, 확률)
- 프로그래밍
- 머신러닝 발전사
- 신경망 시대 - 데이터가 굉장히 한정적이라 , 신경망 성능이 생각보다 신통치 않고 , 결과가 좋지 않음
- 통계학적 머신러닝 시대 - 통계학과 전산학의 접목, 대규모 데이터에서 패턴을 찾음, 데이터에 더 큰 비중
- 딥러닝 시대 : 기존의 신경망보다 훨씬 더 복잡한, 즉 깊이기 같은 신경망 + 통계학적 머신 러닝과 접목
- 현재 트렌드 : 대량의 데이터를 바탕으로 하는 딥러닝 기법을 주로 사용
-
- 머신 러닝의 분류
- 풀고자 하는 목표
- 지도학습 - 주어진 데이터와 레이블을 이용해서 미지의 상태나 값을 예측
- 회귀 - 숫자값을 예측
- 분류 - 주어진 항목으로 나눔 / downtime solution suggestion system
- 추천 - 사용자 선호도를 예측/ 입력과 출력이 아닌 , 다양한 관계를 고려
- 랭킹 - 데이터의 순위 / 영화 10편 추천
- 비지도 학습 - 유용한 패턴을 찾아내는 학습 방법 / 데이터의 성질을 직접적으로 추측
- 군집화 - 비슷한 데이터들을 묶어서 큰 단위로 만듬 / 문서 하나를 클러스터 하나로 분류
- 토픽 모델링 - 주로 텍스트 데이터에 사용 / 관련정도를 확률로 표현
- 밀도 추정 - 관측한 데이터로 부터 데이터를 생선한 원래의 분포를 추측
- 차원 축소 - 데이터의 차원을 낮춘다 / 데이터가 복잡하고 높은 차원을 가져서 시각화 하기 어려울때 2차원, 3차원으로 표현
- 강화학습 - 상호작용(선택과 피드백의 반복)을 통해 장기적으로 얻는 이득(reward)를 최대화 / 알파고
- 지도학습 - 주어진 데이터와 레이블을 이용해서 미지의 상태나 값을 예측
- 풀어내는 기법 / 위 목표를 통계적인 방법으로 풀수도, 딥러닝 방법으로 풀수도
- 통계
- 딥러닝
- 머신 러닝의 한 종류로 , 사용하는 기법이 특정 형태를 가지는 것
- 데이터 양에 의존하는 기법으로 , 큰 테이터에서 잘 동작하는 방법
- 풀고자 하는 목표
- 머신러닝 소개
- 머신러닝 주요개념 : 좀 더 공부해야 함.
- 모델 : 문제를 바라보는 관점
- 손실 함수 : 모델의 수식화된 학습목표
- 최적화: 실제로 학습을 하는 방법
- 모델 평가 : 실제 활용에서 성능을 평가하는 방법
- 머신러닝 시작하기
- 머신러닝 주요모델
- 데이터와 문제
- 데이터형
- 데이터 양과 품질
- 데이터 표준화
- 문제 유형
- 구매 이력데이터를 이용한 사용자 그룹 만들기
- 문서 분석 시스템 만들기
- 영화 추천 시스템 만들기
- 이미지 인식 시스템 만들기
- 머신러닝의 다양한 문제점 해결하기 : 공부 필요
- 모델문제
- 좋은 모델을 좀 더 수월하게 찾는 방법
- 간단한 모델부터 적용하기
- 간단한 모델은 구현이 쉽고 학습도 쉽습니다.
- 간단한 모델의 성능은 다른 모델이 얼마나 잘 동작하는지에 대한 지표가 됩니다.
- 간단한 모델은 원인을 파악하기가 상대적으로 쉽습니다.
- 데이터와 모델 시각화 하기
- 데이터 이상 파악
- 데이터 특성 파악
- 모델 동작 방식 이해
- 간단한 모델부터 적용하기
- 모델의 최대 성능 가늠하기
- 머신러닝 시스템과 사람의 성능비교
- 이론상 성능의 한계나 보장된 값이 존재할 때
- 좋은 모델을 좀 더 수월하게 찾는 방법
- 데이터 문제
- 데이터가 너무 많을 때
- 과소표집 - 데이터를 무작위 확률로 선택해서 , 이루어진 데이터 셋을 사용
- 중요도 표집 - 데이터의 중요도에 따라 선택활률을 변동하여 샘플링
- 피처 선책 - 중용한 피처만 선택해서 전체 학습률과 성능을 증가시키는 방법
- 데이터가 너무 적을 때
- 레이블된 데이터는 별로 없지만 일반적인 데이터가 많은 경우(표현형 학습)
- 데이터의 일반적인 특성을 배우는 학습을 수행하여 얻어진 정보를 이용해서 추가로 학습
- 전이학습
- 성격이 다른 데이터셋을 이용해서 학습시킨 모델을 현재 데이터셋에 적용하는 방법
- 레이블된 데이터는 별로 없지만 일반적인 데이터가 많은 경우(표현형 학습)
- 데이터가 좀 치우처 있을때
- 레이블이 한쪽으로 치우쳐 있을 때
- 데이터값이 치우처 있을때
- 데이터가 너무 많을 때
- 속도 문제
- 백터 연산
- 넘파이나 사이파이를 사용해서 반복연산을 한번에 처리하는 함수를 사용
- 머신러닝을 효율적으로 수행하기 위한 시스템
- 하드웨어
- 네트워크 구성
- 운영체제
- 분산 처리
- 데이터분산 처이
- 디스크 - 분산형 저장 방식 , 하둡 / Mahout 라이브러리 / 딥러닝 구현 어려움 / 협업 필터링, 군집화
- 메모리 - 메모리에 올려 작업 속도를 높인 기술이 스파크 , Mlib 라이브러리 제공 / 맵리듀스에 기반 복잡한 머신러닝 모델을 구현하기에는 적합하지 않음
- 연산 분산 처리
- 텐서플로 - 연산 자체를 분산 처리하기 쉽게 구성 / 비동기 학습도 순쉽게 가능
- 데이터분산 처이
- 결론
- 딥러닝 - 텐서플로
- 큰 데이터를 클러스터에 나누어 저장한 뒤 통계학 기법을 이용, 빠른 속도로 살펴볼 때 - 스파크
- 데이터가 너무 커서 메모리에 올라가지 않아 스카크가 비효율적일 떄 - 하둡
- 백터 연산
- 모델문제
- 데이터와 문제
- 머신러닝 시스템구현
- 머신러닝 소프트웨어 소개
- 라이브러리
- 넘파이 : 파이썬에서 고속 수치 연산을 지원하는 라이브러리, 다차원 배열, 행렬 및 이를 이용한 계산 함수
- 싸이파이 : 수학 과학 연산을 위한 다향한 함수를 지원
- 사이킷런 : 파이썬 용 머신러닝 라이브러리
- 머신 러닝 라이브러리
- 사이킷런 : 지도학습, 비지도학습 알고리즘을 구현 , 넘파이와 사이파이를 이용 고속화 , 학계와 현장에서 가장 많이 사용
- 판다스 : 데이터 가공에 사용되는 라이브러리
- NLTK : 자연어 툴킷
- Nllib : 스파크용 머신러닝 라이브러리 / 파이썬, 스칼라, 자바 인터페이스 지원 , 분류/회괴 관련 함수/ 군집화 함수, 협업 필터링, 모델 선택 및 파라미터 튜닝 기능도 제공
- 딥러닝 라이브러리
- 텐서플로 : 구글개발한 딥러닝 라이브러니 / TFLearn , Keras 등 텐서플로를 더 쉽게 사용할 수 있는 고수준 래퍼를 제공 \
- 파이토치
- 카페
- 테아노
- 연산관련 라이브러리 : 딥러닝은 그래픽 가속연산을 통해서 학습을 빠르게
- CUDA : 엔비디아 GPU
- OpenCL : 애플 AMD , 인텔 환경
- 라이브러리
- 구매 이력 데이터를 이용한 사용자 그룹 만들기 - 실전
- 문서 분석 시스템 만들기 - 실전
- 영화 추천 시스템 만들기 - 실전
- 이미지 인식 시스템 만들기 - 실전
- 머신러닝 소프트웨어 소개
'Inforamtion Technology'에 해당되는 글 281건
- 2022.02.04 2020.03.20 처음배우는 머신러닝 1
- 2022.02.04 2022.01.31 나는 퇴근 후 사장이 된다
- 2022.02.04 2022.01.17 Airbnb Story 1
- 2022.02.04 2017.10.12 Grit - 열정적 끈기의 힘
- 2019.11.22 Functional Programming in C#
- 2019.10.08 폴부처 7가지 동시성 모델
- 2019.01.09 해커와 화가
- 2018.07.20 누워서 읽는 알고리즘
- 2018.06.11 IT 전문가로 사는 법
- 2018.02.09 Pragmatic Programmer 실용주의 프로그래머
Website - https://susie-moore.com/
- 왜 기다리는가?
- 이 소중한 삶을 걸고 당신이 라려는 일은 무엇인가요? 내가 지금 하는 일은 아니야..ㅠㅠ
- 새로운 걸 만들고 싶었죠. 새로운 아이디어 , 제품, 회사를 - stratim 창업자
- 부업으로 지하철을 타고가면서, 옷 매장 앞에서 줄을 서며, 점심시간에 기사를 썼다.
- 어느 달에는 4000달러 수입 vs 일주일에 평범한 미국인은 티비를 33시간 이상 시청
- 부업을 통해 여유 수입을 얻고, 본업에서 잠자고 있는 재능을 활용, 불확실한 고용에 대비
- 당신은 이 일에 전념해야 한다. <왕자의 게임>에 푹 빠져 지내던 시간을 포기, 술자리에서 가장 먼저 일어나야 하기도. 재미로 하는 일인데 그걸로 돈을 받아도 되나 하는 의구심 극복
- 결국 연봉 50만 달러 본업을 그만두고 , 라이프 코칭 일을 선택. 그만큼 사랑, 확장 가능성을 믿음
- 인생에서 자유를 찾고 일에 대한 소유권을 얻고 싶지 않은가?
- 좋아하는 일을 하면서 자기 나름의 방식대로 세상에 의미 있는 변화를 일으키고 싶어한다.
- 열정 프로젝트에 발을 들여놓고 성공을 거머쥘 방법을 알려줄 로드맵
퇴근 후 할 일 - 자신의 강점과 꿈꾸는 직업을 목록으로 나열
- 나는 사람들의 어떤 문제에 도움을 주는가?
- 나를 살아 있다고 느끼게 하는 것은 무엇인가?
- 돈이 문제가 안 된다면 어떤 일을 하겠는가?
-
- 당신은 경력을 쌓는 게 아니라 인생을 사는 것이다. 셰릴 스트레이드
- 행복이란 잠재성을 향해 나아갈 때 느끼는 기쁨이다.
- 두려움 극복하기
- 변화와 두려움은 우리가 인생에서 무언가를 바꾸는 데에 가장 큰 걸림돌이 된다.
- 모든 두려움은 다음과 같은 생각 때문에 생겨난다.
- 나는 모자란 사람이야
- 나는 가진 게 넉넉하지 않아
- 거절과 거절에 대한 우려움은 사람들이 자기 자신을 선택하지 못하게 하는 가장 큰 방해물로 작용한다.
- 엉뚱한 이유로 어떤 행돋을 감행한다.
- 대외적인 인정을 갈망한 나머지 다름 사람의 의견과 도덕적 의무감이 행동의 동기
- 억지로 짜내지 말고 좋아하는 일을 하세요(동기) - natureMapr 애런 클로젠
- 성공의 비결 - 자기 자신이 되어라 - The Muse 알렉스 카불라코스
- 나에게 가장 좋은게 무엇인지 알려면 남의 규칙과 지침으로 먼저 실험해보고 수많은 시행착오를 거치면서 깨달아야 한다.
퇴근 후 할 일
- 두려움 때문에 위험할 수도 있었던 일을 하지 않은 두가지 경우 생각
- 결과는 어땠는가? 이럴 때는 두려움에 고마워해도 좋다.
- 할 수 있다는 마음의 준비가 되지 않아서 두려움이 들었지만 어떻게든 용기를 내어 해쳐나가 일 3가지
- 각각의 경험에서 얻은 긍적적인 점
- 지금 느끼는 큰 두려움을 한 가지 떠올려보라 - 대중 앞에서 발표하고 설득하는 일 두렵다.
- 위험으로 인한 두려움? - 두려움에 감사하고 하지 마라
- 자아로 인한 두려움 - 두려움과 이별하고 , 알아서 해라.
- 가진 게 넉넉하지 않거나 , 모자라 사람이라고 느껴져 생기는 두려움
- 일이 어떻게 해결되었는가?
- 그 일을 해내서 기쁜가?
- 이런 일을 겪어보니 다음에는 어떻게 해야겠다는 생각이 드는가?
-
- 실패보다 실패의 두려움이 미래의 꿈을 죽인다.
- 의심은 배반자다. 의심하면 시도하는 것이 두려워져 얻을 수 있는 좋은 것을 얻지 못하게
- 어떻게 하면 두려움에서 벗어날 수 있을까?
- 인생의 운전석에 앉은 사람은 당신의 두려움이 아니다. 바로 당신이다.
- 두려움에는 통제력이 없다. 통제력은 당신에게 있다.
- 새로운 도전에 더 많이 임할수록 두려움이 잦아든다는 것이다.
- 두려움에 관한 2가지 격언
- 겁나는 일을 하기 전이 아니라 하고 난 뒤에야 그 일을 할 용기를 얻는다.
- 용기는 두려움이 없는 상태가 아니라 두려움보다 더 중요한 것이 있다고 판단하는 상태
- 힘든 순간이 오면 당신에게 가장 중요한 게 무엇인지 자문해보라
- 꿈을 향해 달려가는 것인가?
- 힘든 하루가 알아서 지나가게 숨죽이고 버티는 일인가?
- 하고 싶은 일을 하는 사람이 되는 것인가?
- 생각지도 않을 frenemy의 비판을 걱정하는 것인가
- 이제는 실행에 나설 때다.
- 스스로 2개의 데드라인을 부여하라.
- 24시간 데드라인
- 7일 데드라인
- 스스로 2개의 데드라인을 부여하라.
- '문제가 있을 때마다. '전부 잘될 것이다. 모든 것이 나에게 좋은 방향으로 돌아가고 있다. 지금 상황에서 오직 좋은 일만 일어날 것이고 나는 안전하다' 반복하라.
- 나는 너무나 익숙해져 버린 것을 버릴 준비가 되어 있다는 사실을 마음속 깊이 알고 있었다.
- 교훈 2가지
- 인맥이 풍부해야 한다. - 창업으로 가는 여정에 중대한 연결고리를 역할을 해줄 사람은?
- 저명한 사람들은 생각보다 접근하기 쉽다.
- 실패에 대한 두려움 극복
- 회복을 못할 정도라면 수입이 괜찮을 일자리를 구해서 빚을 갚고 그 다음에 할일을 결정
- 부업을 시작할 때 벌어질 수 있는 최악의 사태
- 준비 비용으로 돈을 날린다.
- 부업 아이디어에 대한 처음 생각이 달라진다.
- 부업에 관해 이야기하면 사람들이 비웃는다.
- 무엇을 해야 하는지, 혹은 어떻게 시작해야 하는지 모른다. <=
- 시작했다 금방 관둔다.
- 전혀 수익을 내지 못한다. <=
- 회사/상사가 협조적이지 않다.
- 열정이 기대에 못미친다. <=
- 부업에 대한 역량이 딱히 뛰어나지 않다.
- 누군가에게서 '그러게 내가 뭐랬어'라는 말을 듣는다.
- 내가 가장 원하는 것은 안녕(well-being)이다.
- 내가 사랑하는 일에서 역량을 꾸준히 개선한다.
- 내가 사랑하는 친구나 사람들과의 관계를 꾸준히 개선한다.
- 사기꾼 증후군에 관한 중요한 사실
- '내가 뭐 대단한 사람 이라고 …." 하는 생각
- 자신이 이룬 성취는 우연이나 적절한 타이밍 때문이거나 , 내가 그럴만한 인물이 아니다.
- 완벽하게 준비된 때는 오지 영영 오지 않는다.
- 원하는 바를 손에 넣는 사람은 어쨌든 전진한다.
- "두려워도 도전한다" 아무것도 잃을 게 없고 행동을 취함으로써 얻을 수 있는 게 훨씬 많음을 알기 때문이다.
- 많이 도전해볼 수도록 점차 쉬워진다.
- 나의 훌륭함을 믿고 일을 시작할 경우 벌어질 수 있는 가장 좋은 일은 무엇인가?
퇴근 후 할 일
- 당신의 우려를 전부 적어본다.
- 일을 시작할 경우 가장 최고의 상황을 적어보자. 무엇을 기대하는가?
-
- 두려움은 당신에게 멈추라고만 말한다. 창조성,용기,영감은 계속 나아가기를 바란다.
- 두려움은 대부분 자신의 정신능력을 잘못 관리한 결과일 뿐이다.
- 부업을 찾는 방법
- 부업으로 크게 성공을 거둔 사람들
- 최기 비용이 거의 들지 않고
- 규모가 커짐에 따라 쉽게 확장이 가능하며
- 본업과 잘 맞아떨어지고
- 자신의 열정과 창의성을 십분 활용하며
- 무엇보다도 마음껏 즐길 수 있는 사업을 구축했다.
- 핵심은 꿈을 이용하는 것이다.
- (돈이 되는) 스킬을 발견하기 위한 3단계 증류법
- 당신이 해결한 중요한 문제 혹은 당신이 이룬 성과 세가지를 떠올려본다.
- ASE – Enterprise Information system
- Conti – MES implementation
- CrossTeam - Moblie App 안정화
- 오답노트 - 서버 구축 및 , 어려운 api 문제해결
- 그 세가지를 달성하는 데에 도움이 된 스킬이 무엇인지 파악한다.
- 프로그래밍 스킬 및 검색 스킬
- 데이타 분석 및 꼼꼼함
- 유저 혹은 요청자와 커뮤니 케이션
- 스킬을 새로운 방식으로 활용할 수 있는 방법을 생각해본다.
- 당신이 가진 능력으로 할 수 있는 최선을 다하는 것이 중요하다.
- 인맥과 강한 공동체 의식에 기대는 것도 좋은 방법
- 지금 당장 모든 것을 다 알 필요는 없다. 시작하는 데 꼭 필요한 정도만 알면된다.
- 가까운 사람들에게 당신이 무엇을 잘하는지 물어보라
- 당신이 해결한 중요한 문제 혹은 당신이 이룬 성과 세가지를 떠올려본다.
- 아이디어가 현실적인지 의심이 들기 시작할 것이다=> 그러지말라 열의를 붙잡고 아이디어가 성장하게 내버려 두어라.
- 부업이 풀타임 본업과 맞먹을 수준으로 완전히 자립적인 상태에 이르기 전까지는 퇴사를 고려하면 안된다.
- 어떤 부업을 할지 명확히 결정
- 나는 업무 중 게으름을 피울 때 무엇을 하는가?
- 어렸을 때 어떤 활동이 즐거웠는가?
- 어떤 블로그와 책을 즐겨 읽는가?
- 돈이 문제가 되지 않는다면 하루 종일 하고 싶은 일은 무엇인가?
- 일주일 동안 다른 사람으로 살 수 있다면 누구로 살 것인가?
- 그마나 내세울 만한 강점은 무엇인가?
- 무엇이 내게 순수하고 단순한 즐거움을 주는가?
- 절대 지루해지지 않는 대화 주제가 있는가?
- 나와 같은 부족은 누구인가?
- 다음 7일 동안 열정을 현실로 만들기 위해 내가 할 수 있는 일 세가지를 해라
- Ex1 - 교육용 영상을 업로드 해라
- 핼러윈 파티 플래너 역활 , 이용후기를 써달라고 부탁
- 마케팅 분야에 존경하는 분에게 커피를 사줄 테니 20분만 시간을 내달라고 하라.
- 그 다음 주에도 3가지를 실행 , 이 작을 꾸준히 하라
- 다음에 부합하는 한가지만 선택
- 그 일에 대한 재능이 있어야 한다.
- 사람들이 그 일을 원하고 필요로 해야 한다.
- 그 일을 하면서 돈을 벌 수 있어야 한다.
- 너무 깊이 생각하지는 말라. 사업의 형태는 지나면서 달라질테니 일단 시작하라
- 부업으로 크게 성공을 거둔 사람들
-
- 부업은 반드시 사랑하는 일이어야 한다. 밤에도, 주말에도, 그리고 자투리 시간이 나는 대로 매달리게 될 일이기 때문이다.
- 회사일이든 창업을 하던 중요한 문제를 해결하라.
- 사람들을 위해 문제를 해결하면, 그들은 당신과 함께 일하고 싶어하고
- 당신의 제품이나 서비스를 사주고, 거기에 대한 보상을 지불하려 할 것이다.
퇴근 후 할 일
- 부업 아이디어 10개를 브레인스토밍
- 열정, 소질, 아이디어의 실현 가능성을 기준으로 각 항목에 점수
- 친구에게 질문
- 이게 내 아이디어야 어떻게 생각해?
- 이 중에서 내가 제일 잘하는 게 머지?
- 혹시 내가 빠뜨린 게 있나?
- 목록의 범위를 한 가지로 좁힌 다음 아래 질문
- 누가 이미 하고 있는가? 잠재적인 경쟁자 혹은 파트너는?
- 그들은 제품이나 서비스를 판매하기 위해 어떤 플랫폼/형식을 사용하고 있는가?
- 가격 구조는 어떠한가?
- 그들은 제품이나 서비스를 어떻게 마케팅/브랜딩하고 있는가?
- 고객/구족자들과 어떻게, 얼마나 자주 소통하는가?
- 무료 온라인 리소스, 혹은 저렴한 책 중에서 활용하거나 읽을 수 있는 자료가 있는가?
- 나의 제품과 서비스, 브랜드를 어떻게 차별화 시킬 수 있는가?
- 누가 이미 하고 있는가? 잠재적인 경쟁자 혹은 파트너는?
- 비전 보드: 무슨 일을 할지 모르겠다면
- 인생의 비전은 가급적이면 높고 웅장하게 세워라. 당신은 당신이 믿는 대로 될 것이기 때문
- 최고의 성공 비결 - 구체적인 의도, 명료한 비전, 계획적 행동 , 명료함을 유지하는 능력을 갖추는 것이다.
- "준비된 상태"는 오지 않는다
- 사업이라는 위험천만한 여정을 시작하기에 딱 좋은 시기 따위는 존재하지 않는다.
- 지금 시작하면 목적지에 더 빨리 도착한다는 차이가 있다.
- 지식은 '잠재력'에 불과한다. 반드시 행동이 뒤따라야 한다. => 시장에 나가야 한다.
- 부업은 수입을 창출하기 전까지는 부업이 아니다. 취미의 함정에 걸리지 말라
- "당장 고객을 몇 명 받으세요. 가장 빠른 길을 처음 그들을 확보하는 것이다" - 스트라팀 창엄자
- 다음 항목에 대한 투자에 주의를 기울여라
- 번지르르한 마케팅 자료
- '사업과 브랜드'에 돈을 쓰지만 아무런 수익도 내지 못하는 사람
- 돈을 쓰기 전에 벌어야 한다고 굳게 믿는 사람이다.
- 홍보
- 최고의 PR은 당신이 쌓는 인간관계와 당신이 제공하는 가치에서 나온다.
- 값비싼 온/오프라인 광고
- 광고에 비용을 지출할 때는 매우 신중, 손해를 만회하려다 더큰 손해
- 연달아 수업 수강하기
- 수업만 듣고 아무런 행동을 취하지 않는다.
- 배워야만 할 수 있는 일들은 직접 해봐야만 배울 수 있다
- 번지르르한 마케팅 자료
- "내가 원하는 게 머지?"라고 질문하지 말고 "어떻게 하면 내가 가장 잘 기여할 수 있지?"라고 물어라 . 이 질문을 부업의 만트라(진언)으로 삼아도 좋다.
- 성공적인 출발, 행동을 위한 팁
- 집중할 시간을 정해두어라
- 일주일에 최소 4시간을 따로 일정에 , 타협하지 않는 시간
- 어떠한 핑계도 용납하지 말라
- 당신의 꿈을 믿어주지 않는 사람들과 어울리는 시간을 제한
- 부정적인 생각을 버려라
- 방해 요인을 없애라
- 휴대폰을 멀리, 모든 소셜 미디어에서 로그 아웃
- 실질적인 전진을 이루려면 초집중할 필요가 있다.
- 마감일을 정하라
- 최종 결과물을 염두에 두고, 그것을 이루기 위해 명확하고 달성 가능하며 현실적인 마감일을 스스로 정하라. - 7월 31일 낮 12시까지는 소설을 완성하겠다.
- 과정을 즐려라
- 싫어하는 일도 태연히 감수하라. 재미있는 일은 더 알차게 즐겨라.
- 사업 운영이 제1의 우선 순위에요. 좋아하는 일을 하는 시간은 15퍼센트에 불과
- 기념하라
- 중간중간의 작은 성과를 기념해야 한다
- 스캔 앱 광고 수입 1달려 성과
- 크로스빔 연봉 2.5천의 성과
- 오답노트 릴리즈 성과를 기념
- 중간중간의 작은 성과를 기념해야 한다
- 집중할 시간을 정해두어라
-
- 아마추어는 앉아서 영감을 기다리지만 프로는 일어나서 일하러 간다.
- 앞서 가는 비밀은 시작하는 것이다. 시작하는 비밀은 복잡하고 과중한 작업을 내가 감당할 수 있을 만큼의 작은 업무로 나누어, 그것의 첫 번째 업무부터 시작하는 것이다.
- 어떻게 시간을 내죠?
- 그레이의 50가지 그림자는 출퇴근을 하는 열차 안에서 대부분 집필 됨
- 중요한 것 시잔 자체보다 우선순위를 정하는 일이다.
- 시간 절약 팁
- 출퇴근 시간을 지혜롭게 활용하라
- '대기 시간'을 잘 활용하라.
- 필요하다면 단호히 거절하라
- 가능하다면 업무 시간 중 볼일을 처리하라
- 이동 중에 통화를 하라
- 구독을 취소하라
- 다른 프로젝트를 포기하라
- 자신을 용서하라
- 텔레비전을 보며 허드렛일을 하라
- 아웃소싱 하라
- 인터뷰하려는 사람의 자료 조사
- 웹사이트 업데이트
- 기본적인 장부 정리
- 신체 리듬을 파악하라
- 언제 최고의 몸 상태에 이르는지 당신의 신체 리듬을 파악하라
- 가장 생산적인 시간에 부업을 할애하라
- 창업가 친구들로부터 배운 팁
- 전화 통화를 할 떄는 걸어다니거나, 방을 정돈하거나, 냉장고를 비우거나, 빨래를
- 휴대폰과 노트북의 소셜 미디어 알림을 꺼둔다.
- 누군가를 기다릴 때 , 할 일 목록을 작성하거나 묵혀 둔 이메일과 문자에 회신한다.
- 머리를 말리거나 양치를 하는 동안 스쿼트를 한다.
- 요리를 하는 동안 사람들과 스카이프 한다.
- 2분의 법칙 - 2분 안에 끝낼 수 있는 일이라면 지금 당장
- 일요일 밤마다 4분을 할애애 다가오는 한주를 계획
퇴근 후 할일
- 다음 주 캘린더를 보고 생략할 수 있는 일정 세가지를 찾아라
-
- 바쁘게 지내는 것보다 생산성을 높이는 데에 초점을 맞추어라
- 방해요인으로부터 스스로를 차단하라
- 생각은 크게, 시작은 작게
- 성장을 돈으로 해결하려 하지 말고 성장하는 방법을 배울 필요가 있습니다.
- 사업을 시작하는데 꼭 필요한 한 가지는 열정이에요. 자본은 언제든 구할 수 있고 시장도 언제들 찾을 수 있지만 열정이 없다면 곤란해요.
- 성공하려면 시간이 걸린다. 부업의 장점 풀타임으로 전념할 준비가 될 때까지 본업을 충실히 수행하면서 시간을 두고 조금씩 키워 나갈 수 있다.
- 제품을 출시해보고 첫 파티을 열어보고 몇 권의 책을 내보면 길이 보이기 시작한다. 어떻게 개선을 해야할 지 판단이 선다. 그다음으로 할 일이 무엇인지도 깨닫는다.
- 장애물을 만난 후에도 계속 전진한다면 사람들은 당신을 눈여겨볼 것이다.
-
- 결과에 대한 두려움은 언제나 결과 자체보다 크다
- 부정적인 시각으로 문제에 접근하면 반드시 실패하게 되어 있다.
퇴근 후 할일
- 부업을 위한 할 일 목록을 만든다. 우선 순위에 따라 순서를 매긴다. 6가지로 유지
- 토니와 통화해 웹사이트에 관한 조언을 얻는다.
- 새 엘러베이터 피치*를 구성하고 연습한다.
- 비굴해지지 않고 영업하는 확실한 방법
- 매출을 내지 못한다면 부업은 취미일 뿐 그 이상은 아니다.
- 부업이 속들을 안겨주지 않는 한 당신의 인생을 바꿀 힘도 없다.
- 고객들에게 제품이나 서비스를 가치있게 포지셔닝하는 방법
- 당신 자신을 프로로 자리매김해야 한다.
- 자신의 제아느,제품이나 서비스에 대해 이야기하고 그것을 잘 포장하여 적절하게 포지셔닝하고 그 대가로 원하는 바를 요구할 줄 아는 사람은 커다란 우위를 선점하게 된다.
- 자기 자신을 저 바깥에 내놓을 준비를 하세요. 모든 대화가 일로 연결될 수 있습니다.
- 자마린 까페에서 크로스팀 일을 발견해서 1년 부업으로 연결
- 자신을 인정하라
- 당신이 잘하는 일에 대해 분명하고 구체적이며 자신감 넘치는 태도를 보여라
- 이해할 수 있게 설명하라
- 단 한 문장으로 당신의 부업을 설명할 수 있는가?
- 요구하기 전에 많이 베풀어라
- 똑똑한 회사들은 요구하기 전에 먼저 베푼다.
- 에어비앤비 호스트는 초기에 낮은 가격을 제시하여 신뢰도를 쌓는다.
- 유러피언 왁스 센터 - 첫 회는 50퍼센트 할인
- 똑똑한 회사들은 요구하기 전에 먼저 베푼다.
- 다른 사람들에게 투자하라
- 당신의 시간과 에너지, 경우에 따라서는 약산의 돈도 내어주어라
- 마음을 열고 직감을 믿어라
- 중심은 당신이어야 한다.
- 매일 목표를 달성하기 위해 무언가를 하세요.
- 어디서는 갑자기 떠오르는 경감에 대비하라
퇴근 후 할일
- 당신의 제품이나 서비스를 구매하고 싶어 하는 사람들을 온라인과 오프라인 어디에서 찾을 수 있을지 생각해보라. 500~800 단어로 그들에게 가르쳐 줄 수 있는 내용은 무엇인가?
-
- 받으려면 우선 주어야 한다.
- 자기 홍보에 대한 모든 것
- 당신을 홍보하는 것은 다른 누구의 일이 아니라 반드시 '당신'이 해야 할 일이다.
- 동영상을 정기적으로 올리고 새로운 영상이 나올 때마다 긴장과 흥분을 동시에 느낀다.
- 유튜브 시작? Appbakehouse 홍보
- 이메일 수신자 명단을 늘려가며 , 나의 무료 주간 웰니스 뉴스레터에 이름을 올려도 좋을지 허락을 구함 , 링크드인을 하면서 구축한 3000명의 인맥을 이용
- 다른 사람들의 삶에 영행을 주려고 존재하는 부업을 홍보하는 일에 왜 두려움을 느껴야 하는가?
- 그레이티스트의 창립자
- 사업 초기에는 도움을 청하는 걸 부끄럽거나 당혹스럽게 여겨서는 안된다.
- 도움을 청하는 것 얼마나 막강한 힘을 발휘할 수 있는지 깨달음.항상 많은 도움이 필요했다.
- 제가 답을 아는 문제는 적고, 도움을 청하면 도움을 받을 기회가 열리죠
- 엘리베이터 피치를 작성하라
- 자신의 프로젝트에 관해 편안하게 이야기할 수 있어야 한다.
- "당신은 누구십니까"에 대한 답이다. 당신의 서비스에 대한 열성적인 설명이어야 한다.
- 판매하려는 제품이나 서비스가 무엇이고
- 잠재적인 고객이 누구이면
- 그걸 전달하는 사람이 당신이어야 하는 이유
- 예) 제 이름은 조너선 입니다. 저는 소셜 미디어 전문가에요. 전문 분야는 기업용 인스타그램이죠. 제가 하는 일을 사람들이 가장 적절한 소셜 미디어 채널을 이용해 신규 고객을 유인하도록 돕는 거에요. 저의 특장점은 페이스북에서 근무한 경험 덕분에 내부 알고리즘의 비밀을 안다는 거죠. 6개월 만에 팔로잉 수를 3만 명까지 늘리기도 했답니다. 지인 중에서 사업을 성장시키는 데에 관심 있을 만한 분이 계신가요? 토요일 오후에 신규 고객 상담을 받고 있어요.
- 새로운 사람을 만날 때 엘리베이터 피치가 자동으로 튀어나오게 연습하라. 이것은 첫 인상과 직결되는 문제임을 기억하라. 짧고 기억하기 쉬우며 자신감 있게 전달하라.
- 콘텐츠 마케팅을 이용하라
- 미래의 판매를 염두에 두고 가치 있는 콘텐츠를 만들어서 무료로 배포
- 폭넓은 청중을 대상으로 한다.
- 블로그 게시물, 유튜브 , 짤막한 웹 세미나, 무료제품 - 구매전 시험 사용을 희망
- 생산과 홈보에 어떻게 시간을 배분해야 할지 모른다. 보여주는 일이 중요하다.
- 가격 책정에 관한 조언
- 가격을 너무 높게 매기는 경우
- 충분한 수의 내편을 만드는 데 어려움
- 가격을 너무 낮게 매기는 경우 , 부업에서 더 자주 문제가 됨
- 이윤이 줄고 제품/서비스가 '싸구려'처럼 부일 우려가 있다.
- 사기꾼 증후군 때문에 겁을 내서 시장가격 수준으로 올리기가 두려울 뿐이다.
- 당신은 특별하고 고유한 무언가를 제공하고 있다.
- 경쟁사를 참고해서 가격 책정을 하라
- 분야에서 존경받는 사람이나 기업 다섯에서 일곱군데를 조사
- 너무 많은 가격 등급을 두지 말라. 시작도 하기 전에 사람들을 지치고 혼란스럽게 한다.
- 가격을 너무 높게 매기는 경우
-
- 나는 내가 하는 일을 믿고 그 점을 인정한다.
- 자신이 하는 일과 자신의 예술 혹은 음악에 신념이 있는 사람
퇴근 후 할 일
- 당신을 믿어주는 사람에게 엘리베이터 피치를 연습할 수 있게 도와달라고 부탁
- 가격 체계를 만들어보라 - 당신이 투자한 시간의 가치를 반영하고 당신자신을 과소평가 하지않는지 다시 확인
- 콘텐츠 마케팅을 통해 주기적으로 대중들과 소통할 수 있는 방법을 브레인스토밍
- 어떤 형식, 매체를 사용할 것인가.
- 어떤 주기로 진행
- 최고의 콘텐츠 마케터들은 아무것도 판매하지 않고 몇 달을 공들인다.
- 이메일 구독자들에게 자신감을 높여주는 메시지를 무료로 보내준다.
- 실패에 대해 당신이 몰랐던 사실
- 거절의문제는 거절자체가 아니라,그 순간 거절 뒤에 가려진 더 큰계획을 이해하지 못하는데 있다.
- 부업을 하다보면 분명히 실패처럼 느껴질 수 있는 좌절을 경험하게 될 것이고, 그로 인해 너무 오래 낙담하지 않는 게 중요하기 때문이다.
- 처음 시작할 때는 한 번에 최대 한두 가지 일에만 집중하라. 보폭이 커지는 대로 더 추가하면 된다.
- 전체 영업 사원의 94퍼센트가 네 번째 방문 후에 포기한다는 뜻이다. 그러나 모든 판매의 60퍼센트는 다섯 번째 방문에서 이루어진다. 역량도 중요하지만 끈기도 반드시 있어야 한다.
- 성공하려면 구하고, 구하고, 구하고, 구하라!
- 해고를 당함으로써 적성에 맞지 않는 일이 무엇인지 깨닫고 잘하는 일이 무엇인지 재평가되었다.
- 실패에서 좋은 점을 발견하라. 좋은 점은 항상 있다.
-
- 인간이 하는 모든 일은 결과를 낳는다. 실패는 판단이다. 하나의 의견일 뿐이다.
- 걱정은 지식이나 통제력이 없는 일에 대해 통제력이 있는 척하는 한 가지 방법이다.
퇴근 후 할 일
- 개인적으로나 업무적으로 최근에 겪은 실패 한 가지
- 작년, 올해 릴리즈한 앱을 아무도 알지 못한다. => 홍보에 눈을 떠야 한다.
- 특화된 서비스를 만들어야 한다. 열정을 가지고.
- 재능을 이용해 돈을 버는 방법
- 당신이 푹 빠져있고 자립적으로 성장 가능하며 규모가 커져서 더 많은 창의력, 시간, 에너지를 쏟아야 하더라도 짜증스럽지 않을 취미여야 하다. 그런 취미가 있다면 당장 사업을 시작하라.
- 성공의 비결은 풍부한 자원
- 네트워크를 활용
- 사업을 시작했다는 사실을 주변 지인들에게 알려라
- 수셜 디미어에 부업과 관련한 결과물을 게시하고
- 새로운 사람을 만날 때마다 엘리베이터 피치를 던지고
- 이메일 명단을 작성해서 당신의 소식을 업데이트
- 본업의 거래처 고객들은 가장 열렬한 후원자가 되고, 코칭 의뢰를 함
- 네트워크를 활용
- 부업을 소득을 창출한다는 점에서 취미와 차별화된다.
- 매월 수천 달러의 부수입을 내기 시작한 후에야 쉡사이트와 명함을 만듬
- 지금의 위치에서 지금 가진 것으로 시작하라
- 소문을 내고, 주문이나 서비스 요청을 받고 일단 시작하라
- 초기 비용은 0달러였다. 부업으로 자체 비용을 충당하는 것이 원칙
- 유료 고객이 생기기 전까지는 사업에 1센트도 지출하지 않음
- 수신자 명단을 늘리고 소셜 미디어 입지를 다지며 브랜드를 구축하기 위해 당신이 할 수 있는 일
- 소셜 미디어, 개인 이메일 디렉터리 등 당신의 네트워크 안에 이미 들어와 있는 사람들에게 초대를 보내라
- 다른 업체, 프로그램, 웹사이트, 블로그를 위해 게스트 발표자, 블로거가 되어주고, 사람들이 당신의 사이트/뉴스레터에 가입할 있도록 링크를 추가하라
- 가입 신청 또는 정보 수신 동의 페이지를 눈에 띄게 배치하라
- '가입 환영 선물'을 마련하라
- 수신자 명단과 잠재 가입자를 잘 관리하라.
- 재정적으로 완전히 자립하기까지 2년 정도 시간을 확보하세요.
- 첫해에는 당신을 좋아하는 의뢰인과 고객을 만드는데 주력해야 해요
- 글, 동영상, 소셜에서 공유하는 무료 콘텐츠, 받은 편지함으로 보내는 이메일 등 여러가지 방법을 사용,
- 돈 생각은 일절하지 말고 계속 베풀어야 해요.
- 예전 만큼 정신없이 일하지는 앖고 있구나, 벌어들이는 돈도 초창기보다 두세 배 늘어나 있을꺼에요
- 다중 수입원에 관한 멋진 진실
- 현금이 궁해지면 절대 최선의 성과를 낼 수 없다.
- 주머니 사정이 곤궁하면 스트레스에 지쳐 창의성이 넘쳐으를 수 없다.
- 사업을 다각화하여 완충 자금을 든든하게 지켜내라!
-
- 당신에게는 쉬운 일이지만 남에게는 경이롭다.
퇴근 후 할 일
- 당신의 진출하고 싶은 분야에서 일하고 잇는 사람들에 관해 조사
- 그들의 아이디어에서 영감을 얻어라
- 해당 분야에 경쟁자가 있다는 것은 시장이 존재한다는 증거이고. 그것은 멋진일
- 기회가 닫는 대로 부업을 하는 사람들이나 창업가들과 협력하라 . 당신의 부족을 찾아라.
- 당신이 반드시 부업을 시작해야 하는 첫 번째 이유
- 고대 그리스인 들은 매일 '죽음 연습'을 하곤 했다.
- 자기 자신에게 승부를 걸기로 결심한 사람들이 결국 최고를 순간을 맞이한다.
- 당신이 사랑하는 일을 자기 방식대로 한다는 뜻
- 당신에게 만족감을 주는 활동에 인생을 써라
- 세상에 영향을 끼치고 싶고 거기에 마음이 강렬하게 이끌린다면 부업을 시작하지 않을 수 없다.
- 열정을 바탕으로 부업을 시작해서 사업을 일구는 목적이 돈 때문만은 아니다. 그것은 삶의 질을 개선하고 당신의 비전을 보살피고, 목적의식을 키우는 일이다.
- 부업에 헌신하는 것은 당신 자신에게 헌신하는 것임을 잊지 말라
-
- 다른 누군가의 삶을 완벽하게 모방하며 사는 것보다 자신의 운명을 불환전하게 살아내는 것이 더 낫다.
- 당신이 여기 온 이유를 세상에 알리고 열정을 다해 그 일을 하라. 못다 부른 음악을 품은 채로 죽지 말라
퇴근 후 할 일
- 여근 살의 당신이 보내는 편지를 써라
- "소중한 나에게, 두려워하지 않고 인생을 살아서 너무 기쁘다. 내가 ...한 것이 참으로 감사하다.' 시작
- 마음속으로만 하고 싶어 했돈 모든 일을 나이든 당신의 관점으로 적어보라.
- 내가 정말,진심으로 원하는 것은 무엇인가
- 나는 어느 부분에서 망설이고 있는가
- 지금 당장 어떤 일을 실행할 용기를 내여야 나 자신에게 축하를 보내게 될 것인가?
- 나의 어떤 부분을 진심으로 존중해 주고 거기에 충실해야 하는가.
- 무엇이 나를 정말로 행복하고 살아있다는 느낌이 들게 하는가?
- 어떻게 하면 행복과 진실성을 제일의 우선순위로 만들 수 있는가?
- 당신이 반드시 부업을 시작해야 하는 두 번째 이유
- 핵심적인 이유
- 불확실한 경제에 대비
- 돈을 더 벌 수 있다.
- 새로운 스킬 습득 - 회계 , 세무 , 영업, 마케팅, 협상, 인맥관리, 워드 프레서 ,
- 준비 비용이 거의 들지 않는다.
- 스케쥴에 맞추어 일할 수 있다.
- 프리랜서로 활동할 수 있다.
- 돈을 아낄 수 있다.
- 언젠가 상사에게 일을 관두겠다고 말할 수 있다.
- 사람들에게 도움이 될 수 있다.
- 기회가 무한정하다. 유리 천장도 없고 연봉 격차도 없다.
- 당신은 어떻게 부업에 몰입할 생각인가?
- 부업이 본업에서의 협상력을 높여준다는 사실
- 당신이 부업으로 월급과 동일하거나 그 이상의 소득을 벌고 있음을 알면 권력관계의 추는 당신 쪽으로 움직인다. 특별한 대우, 추가적인 휴가, 급여 인상요구가 쉬워진다.
- 삶의 기술이나 우리가 겪는 경험 중 미래의 경험에 도움이 되지 않는 고립된 경험은 없다.
- "어떻게 하는지 몰라요"는 결코 최종적인 답이 될 수 없다. 남들이 할 수 있다면 당신도 방법을 배울 수 있다.
- 어떤 기회나 도전이 다가오든 대비할 수 있다.
- 부업이 본업에서의 협상력을 높여준다는 사실
- 부업의 또다른 실제적 혜택
- 자신의 시간을 스스로 설계한다.
- 추가 소득으로 채무를 상환하거나 구체적인 목표를 위해 돈을 모은다.
- 새로 익힐 기술을 이용하고 향후 구직 활동에서 매력도를 높인다.
- 정리해고나 실직에 대비할 수 있다.
- 드라마 재방송을 보는 것은 장기적인 목표달성에 아무런 도움이 되지 않는다. 부수입을 올리는 데에 전념하고 금전적인 목교치와 목적을 설정해 책임을 다하라.
- 핵심적인 이유
-
- 하고 싶은 일을 할 수 있을 때까지 해야하는 일을 하라
- 음.....나라고 왜 못해?
퇴근 후 할일
- 이 사업을 구축하는데 주당 몇 시간을 할애 할 수 있는가?
- 다음 단계를 향해 나아가기 위해 활용할 수 있는 기존의 인맥이나 영향력 있는 인물이 있는가?
- 현재 받는 월급을 대신하고 끊어진 복리후생을 충당하려면 월소득이 얼마나 되어야 햐는가?
- 부업에 유리하게 쓰일 만한 스킬은 무엇인가?
- 꼭 생각한 대로는 아니더라도 이 일이 어떤 식으로 성공할 수 있는가?
- 가능성은 무궁무진하다.
- 꿈을 향해 걷고 행동을 취하고 바쁘게 몸을 움직여 탄력을 얻으면 우주가 당신을 절반쯤 마중나옴
- 남들이 생각하거나 이야기하는 편견에 꼭 부합해야만 멋진 성과를 달성할 수 있는 것 아니다.
- 나라고 왜 못해?
- 엄청난 근면함과 믿음으로 단기간에 이루어 낼 수 있는 것
- 가장 큰 계약은 , 새로 알게 된 인맥이 귀뜀해준 뜻밖의 조언
- 가능성에 관한 자기 인식에 도전장을 내밀어라. 온라인으로 접근 방법을 찾아라.
- 부업을 시작해야만 하는 이유
- 당신이 꼭 해야 할 일이기 때문이다.
- 당신의 능력이 충분하기 때문이다.
- 당신은 중요한 사람이기 때문이다.
- 당신의 기여야 중요하기 때문이다.
- 중요한 것은 당신 내면의 지혜다. 뭔가를 창조하라고 당신을 충돌질 하는 지혜다. 당신을 앞으로 나아가게 하는 속삭임, 마음이 올적할 때도 가라앉지 않는 그 속삭임이다. 착실히 밀고 나가라고 촉구하는 그 목소리다.
- 그 지혜를 존중하라. 그건 잘못이 아니다. 지혜는 당신에게 묻는다. "만약 잘되면 어떨 건데?"
-
- 인간은 자신이 믿는 대로 되는 경향이 있다 - 간디
- 꿈을 품는다는 것은 사실 계획을 세우는 것이나 다름없다
체크인 - 가난한 세 청년은 어떻게 산업을 파괴시켰는가?
- 괴짜 청년들과의 첫 만남
- 관습을 뛰어넘어 숨어 있던 기회를 발견하다
- 에어비앤비가 꿈꾸는 담대한 미래
- 좌충우돌의 시절 - 어떻게 새로운 아이디어는 한순간에 시장을 파괴하는가?
- 일상 속 작은 문제를 기회로 인식하다
- '미국 산업디자인협회 컨퍼런스' 참가자에게 숙소 제공 - 월세를 벌려고 ㅋㅋ
- "우리 아파타의 빈 공간과 침대를 컨퍼런스 참가자들에게 빌려주고 아침 식사를 제공하면 되는 거 아냐?"
- 아이디어의 뼈대와 대강의 이미지를 그리고, 기초적인 웹사이트를 html로 구축할 수 있는 프리렌서 한 명을 고용해 '에어베드앤블랙퍼스트'라고 이름 붙였다
- "두 명의 디자이너가 이번 컨퍼런스에 참가할 수 있는 새로운 방법을 만들다! 80달라면 충분하다"
- 여러 디자인 블로거들과 컨퍼런스 운영자들에게 이메일을 보내 자신들의 웹사이트를 홍보해달라고 요청했다. 운영자들은 무시했고, 디자인 블로거들은 흔쾌히 돕겠다고 나섰다.
- 정말로 이 일을 계속해야 하는 걸까?
- 일주일만에 1000달러를 벌었다. 허나 이때까지만 해도 이 아이디어가 엄청난 비즈니스가 될 줄은 꿈에도 상상하지 못했다. 그저 집세를 충당하고 빚을 지지 않겠다는 단기 방편에 지나지 않았으니 말이다. 가능하면 진짜로 멋진 아이디어를 생각해낼때까지 금전적인 어려움에 처하지 않기만을 바랄 뿐이었다.
- 네이선 블레차르지크 합류
- 14살에 온라인으로 의뢰받은 고객에게 돈을 받고 소프트웨어 개발
- 고등학교 마칠 무렵 , 마케팅 소프트웨어 개발 100만달러 벌어 하버드 대학교
- 교육관련 스타트업을 창업했다가 쫄딱 망해서 업계를 떠날 참이었다.
- '룸에미트-매칭' 웹사이트를 구축하자는 아이디어, 이미 그런 비즈니스 모델이 존재한다는 사실을 발견하고 좌절, 다른 계획이 필요
- 어머니 "너는 사업가가 아니고, 실직을 한거야"
- 기초를 튼튼히 다지다
- 전국 이곳저곳에서 개최되는 컨퍼런스들을 찾고, 그곳에서 숙소를 마련하지 못해 발을 동동 구를 참가자들을 대상으로 서비스를 확장하기로 했다.
- 게비아는 자신들의 아이디어가 지나치게 거창하다는 사실을 깨달았다. "네이트는 돌아버릴꺼야. 우리는 규모를 좀 줄여야해"
- 몇 주만에 기술적으로 실행에 옮길 수 있는 '축소판 버전'을 만들었다. 프로그래밍 코드를 반으로 줄여도 뛰어난 서비스가 되도록 만들었다.
- 체스키, 무료로 자유롭게 공유 => 게비아와 블레차르지크는 '비지니스'가 되야 한다. 돈이 되어야 한다.
- 서비스를 론칭했지만 아무도 알지 못하면 계속 론칭할 수밖에 없습니다. 우리는 론칭을 계속했고 사람들은 그것에 관해 글을 썼죠. 고객을 확보할 때까지 계속 론칭하면 된다고 생각했습니다. (체스키가 젊은 창업가들에게 주는 첫 번째 조언)
- '사우스바이 페스티벌'을 통해 사업상으로는 아무것도 이루지 못했지만, 스스로 사이트들 이용해본 체스키는 대금 지불 프로세스에 몇 가지 문제점이 있음을 발견했다. => 더 정교한 대금 지불 시스템을 구축해야 한다고 생각했다. => 다른 고객들이 이용하려 했지만 단호하게 '노'라고 답했다.
- 만지기조차 꺼려지는 '방사능'같은 아이디어 - 였던 에어비앤비 by 투자자들
- 스타트업 육성 프로그램 or 엔질투자자
- CEO 세이벨, God Founder - 체스키와 게비아가 아이디어를 다듬고, 매주 세이벨로부터 피드백과 조언을 들었다. "우리가 궤도를 이탈할 때마다 ' 친구들, 지금 머하는 건가요? 원래대로 돌아와요'
- 블레차르지크가 떠나려는 시점에 자신들의 비전을 계속 다듬고 세이벨로부터 피드백을 받으며 그를 설득했다. (이 떄 수립된 비전은 에어비앤비의 현재 비전과 본질적으로 동일하다) => 고객들이 사이트 안해서 모든 거래를 처리할 수 있도록 정교한 대금 지불 시스템이 있어야 했고, 전체적으로 더 강력한 웹사이트를 구축해야했다.
- 블레차르지크 광고 사업을 포기하기로 결심했는데, 기술적인 전문성보다는 비즈니스 콘셉트가 더 필요하다는 것을 깨달았기 때문이었다.
- 엔젤 투자자와 미팅을 했지만 전부 거절의 메시지였다.
- 회사의 가치를 150만달러라 생각하고 희사 지분의 10퍼센트를 15만 달러에 인수할 투자자를 찾고 있었다.
- 다시 출발점으로 돌아가다
- 사업 아이디어를 다듬어나가고 시스템을 정교하게 수정하고, 새로이 리뷰 시스템을 추가, '현지인의 집에 머물면서 여행을 즐기세요!"라는 새로운 마케팅 슬로건을 내걸었다.
- 민주당 전당대회 - 언론에서 심각한 객실 부족 사태가 우려된다는 기사 => 완벽한 기회
- 세번 째 사이트를 론칭 , 끈질긴 부탁을 통해 유명 기술 블로그인 '테크크런치'에 간신이 호봉글을 올릴 수 있었고 '에어빈앤비는 숙박을 완전히 새로운 수준으로 끌어올렸다"라는 광고 => 접속이 쇄도해 사이트가 다운될 지경이었다.
- 발표자료 보다 사이트를 보여줄 예정이었지만 다운되어 , 투자자로 부터 투자 받지 못함
- 또 다른 문제 => 그 누구도 자신의 집을 선뜻 리스트에 올리기를 원하지 않던 것이다.
- '많은 사람이 이용할수록 더 많은 가치를 창출하고 더 많은 사람을 끌어들인다'는 '네트워크 효과'를 불러일으키기는 커녕, 땅에서 발을 떼기도 불가능했다.
- 언론을 이용 - 작은 블로거들을 섭외하며 사업을 전파 => 큰 블로거 => 지역방송국=> 전국적인 매체에 소개
- 모든 대금 지불 시스템으로 페이팔 계정을 사용했는데, 갑작스런 거래 증가로 페이팔은 계3명 창업자의 계정을 중지시켰다. => 서비스 담당자와 사정을 설명하고, 고객들에게 애원하고 , 주말이 되서야 계정은 다시 살아났다.
- 성공은 오래가지 못했다. 서버가 다운되고, 예약이 쇄도했지만 전당대회가 끝나자 사이트의 접속량은 다시 '0'으로 뚝 떨어져버렸다. => 정치적 이벤트가 매주 열려야만 성장하고 생존할 수 있다?
- 바퀴벌레보다 강인한 생존력으로
- 빚만 떠안고 아무도 접속하지 않는 냉담한 현실
- 호스트들에게 공짜 아침 식사거리를 보내주고 그들이 게스트들에게 무료로 아침 식사를 제공하게 만든다는 아이디어를 다시 꺼내들었다.
- 오바마 오즈라는 가상의 브랜드를 만들고, 시리얼박스를 디자인, '모든 그릇에 희망을'이라는 슬로건을 삽입했다. 음악작곡가가 광고 음악을 만들어줌
- 1만개 2불짜리 시리얼 박스를 팔아 2만달러 빚을 돌려막기
- 오바마 오즈는 3일만에 매진
- 핵심 비즈니스로는 5000달러도 못벌었지만 시리얼 판매로는 2~3만달러를 벌었다 ㅋㅋ
- 블레차르지크는 보스턴으로 돌아가서 컨설팅 사업을 재개했고 여자친구와 약혼
- 호스트들에게 공짜 아침 식사거리를 보내주고 그들이 게스트들에게 무료로 아침 식사를 제공하게 만든다는 아이디어를 다시 꺼내들었다.
- "걱정이 된 어머니는 적어도 우유는 사먹어야 하지 않겠냐고 말씀하셨어요. 그러지만 저는 확신이 있었죠. '아니에요. 저희는 어려운 고비를 넘는 중이에요. 언제가는 지금이 좋았다고 말할 때가 올거에요!'라고 대답했으니까요
- '와이 콤비네이터'에 지원- 론칭도 못한 신생기업들을 대상
- 세이벨 - "당신들을 좀 보라고요. 당신들은 죽어가고 있어요! 자존심을 버리고지원하세요 그리고 도움을 받으세요"
- 와이 콤비네이터와의 인터뷰
- 체스키가 가져온 시리얼박스를 그레이엄(인터뷰어)에게 주면 어떻게 회사를 자금을 모았는지 설명 => 그레이엄은 "와우! 당신들은 정말 바퀴벌레 같군요. 절대 죽지 않을 겁니다."
- 인터뷰 통과 - 시리얼 박스 때문에 , "그들이 5달러짜리 시리얼을 40달러에 사도록 사람들을 설득할 수 있다면, 다른 사람의 집에 들어가 에어베드 위에서도 잠을 자도록 설득할 수 있을 거라 판단했습니다"
- 와이 콤비네이터 지원 - 2만달러 / 회사 지분의 6퍼센트를 내주었다. 3개월간의 지원
- 빚만 떠안고 아무도 접속하지 않는 냉담한 현실
- 고객이 있는 곳에 해답이 있다.
- 와이 콤비네이터 -
- 스타트업 공장 , 대학교 같기도 하면 벤처 캐피탈 회사 같기도 한 것
- 들어가는 과정이 쉽지 않는 만큼 스타트업들은 기본적으로 5000달러의 초기 사업 자금에 창업자당 5000달러의 추가 자금을 지원받고 , 같은 매길 수 없는 지식과 인맥, 운영 지원 등 많은 혜택을 제공받는다.
- ' 사람들이 원하는 것을 만들자' - 전통적인 MBA와 배치되는 기본원칙
- 체스키는 연설이나 인터뷰를 할 때는 와이 콤비네이터를 졸업했다고 말할 정도로 그들의 시스템의 막대한 영향을 받았다.
- 3개월동안 자신들의 모든 시간과 노력을 바치기로 '협정'을 맺었다. 주말도 없이 프로젝트에만 열중했다. 투자를 받지 못하면 각자의 길을 가기로 약속했다.
- 배워야 할 양은 끝도 없었지만 세 사람은 모든 것을 흡수하기 위해 최선을 다했다.
- 그레이엄 조언
- 서비스가 괜찮다고 여기는 고객이 100만명 있는 것보다 '서비스를 사랑하는' 100명의 고객이 있는 게 훨씬 더 낮다. => 규모와 성장을 우선시하는 전통적인 실리콘벨리의 지혜에 위배되는 교리 , 충분히 이해 나는 BMW를 너무 좋아한다.
- 사용자들이 대부분이 있는 뉴욕으로 가라고 소리쳤다.
- 모든 사용자를 가가호호 방문해 이야기를 나누고 그들의 집에서 숙박을 해결했다. 고객과 이야기를 통해 책상 앞에서는 결코 배울 수 없었던 가르침을 얻었다.
- 자신의 공간을 얼마의 가격으로 임대해야 하는지
- 사동자들은 공간이 멋지게 나오도록 사진을 잘 찍지 못했고
- 호스트의 집에 전문사진사를 보내 사진을 찍어주는 서비스를 무료 제공
- 체스키는 ' 1인 결제 시스템' 역할을 하기도 했다.
- 모든 집을 찾아가 호스트와 미팅을 했고, 사람들에게 서비스를 이용하면 아파트로 돈을 벌 수 있다고 설명하고 회원으로 가입을 시켰다.
- 매주 고객의 피드백을 사이트를 변경하고 개선해나갔다.
- 모든 사용자를 가가호호 방문해 이야기를 나누고 그들의 집에서 숙박을 해결했다. 고객과 이야기를 통해 책상 앞에서는 결코 배울 수 없었던 가르침을 얻었다.
- 워싱턴 오바마 취임식에 사이트를 런칭해서 , 공동체적 삶에 대한 동경 마케팅=> 700개의 숙소를 확보하고 , 150여건의 예약을 접수했다.
- 이러한 경험은 사업을 면밀히 돌아보게 되는 계기가 됐다
- 아침 식사 제공 요건을 삭제
- 집 전체를 빌려줘도 괜찮다.
- 에어베드라는 이름을 빼서 , 에어비앤비 탄생
- 체스키와 게비아는 가능한 모든 것을 배우기 위해 와이 콤비네이터가 주최하는 모든 행사에 1등으로 도착
- 매주 그레이엄과 공식적인 미팅 - ' 저는 지독하게도 그들과 많은 이야기를 나눴습니다'
- 그레이엄 - 거처간 수많은 스타트업이 한 가지 공통된 패턴
- 크게 성공한 기업을 보면 언제나 열정적으로 참여한 창업자가 있었다.
- 성공적인 아이디어 덕분에 성장한 기업은 많지 않습니다. 성공한 기업들을 보년 과거에는 늘 형편없었으니까요
- 데모데이가 다가오면서 , '희망의 꿈틀거림'이라고 부르는 성과가 견인되는 신호를 얻기 시작 => 일주인에 매출 1000달러 목표
- 와이 콤비네이터 -
- 마침내 '에어비앤비'라는 로켓을 발사하다.
- 세콰이어로부터 61만 5000달러 투자를 받았다. 에어비앤비의 가치를 240만 달러로 평가 했다.
- "스타트업 창업자에게 있어 가장 절실한 것은 '자신감'과 '의지'입니다. 우리는 오랬돈안 형편없다는 평가를 받았죠. 하지만 그제야 열정적이라는 말을 들을 수 있었습니다"
- 세콰이어가 투자한 59만 5000달러는 , 약 45억 달러로 불어났다. 휴~~~
- 8월이 되자 하루 20~30건에 불과하던 예약이 70건까지 늘어났다.
- 자신들에게 각각 6만 달러의 연봉을 책정할 수 있었다. ---- 멋지다...자신의 연봉을 책정한다니.
- 블레차르지크 - "당신이 어떤 일에 성공했다면, 그 일은 지금껏 겪은 일 중 가장 힘든일이었을 것입니다"
- 체스키 - " 재미있고 그립고 낭만이 가득했던 시절이만, 그때는 전혀 그렇게 느껴지지 않았습니다. 정말로 두렵고 암울했던 시절이었죠"
- 그레이엄
- "사업을 하겠다고 말하는 사람은 엄청나게 많습니다. 하지만 실제로 그것을 해내는 사람들의 수는 거의 없습니다. 하지만 드들은 결국 해냈죠.
- 그들은 자신들의 사업에 대해서는 극단적일만큼 진지했다, 우언가 풀리지 않는 문제가 있으면 집으로 돌아가 밤을 새워서라도 그것을 해결하기 위해 열중했다."
- 그들은 아이디어 기획에 많은 시간을 쏟지 않았습니다. 곧바로 론칭을 했죠. 실행하는 힘이 대단한 팀이었습니다.
- 유니온 스퀘어 벤처스 공동창업자
- 우리는 당시에 그들이 하던 일에만 지나치게 초점을 맞췄다. 그들이 할 수 있는 것들, 할 것들, 해낸 것들에는 별로 관심을 두지 못했다.
- 일상 속 작은 문제를 기회로 인식하다
-
- 체스키가 게비아에게 "네가 비행기에 오륵 전 너에게 해줄 말이 있어. 우리는 언젠가 회사를 창업할 것이고 사람들은 그 회사에 대해 책을 쓸꺼야."
- 게비아는 어렸을 때부터 비즈니스와 예술을 융합하는 데에 두각을 나타냈다.
- 체스키가 센프란시스코로 가며, 직장에 매여 그토록 오랫동안 머릿속을 떠나지 않았던 답답함을 끊어내리라 다짐했고, 자신이 삶이 텅 빈 도로와는 같지 않을 거라고 생각했다. 이 길은 분명 그 길과는 달랐다. 샌프란시스코로 향하는 길은 '가능성의 길'이었다.
- 위대한 기업의 탄생
- 성장으로 가는 '공짜 고속도로'를 발견하다.
- 더 많은 사용자를 확보했지만, 대중적인 인지도를 높지는 일이 가장 큰 과제였다.
- 대규모 컨벤션 행사장을 찾아다니며 호스트들과 미팅
- 여러가지 게릴라 마케팅을 구사하며 숙소와 사용자 수를 늘려나갔다.
- 블레차르지크 - 새로운 도구와 기술을 기발하게 다룰 줄 아는 인재
- 애드워즈, 구글 과고 서비스와 인터페이스 기술을 개발해 에어비앤비가 특정 도시의 잠재적 사용자들에게 효과적으로 노출될 수 있도록
- 크레이그리스트로 통하는 백도어를 구축하는 등, 홍보에 유용한 도구들을 앉은 자리에서 즉석으로 만들어냈다.
- 에어비앤비가 보낸 이메일 속 버튼을 한 번만 클릭하면 동시에 크레이그리스트 상에도 숙소 리스트가 나타나게 하여 양사이트의 사용자들 모두에게 숙소가 노출되도록 했다.그러고 예약은 에어비앤비에서 진행하도록 프로그램을 설계했다.
- 가속도가 붙기 시작하면서 점차 위력을 잃어갔지만, 그 중요성은 아무리 강조해도 지나치지 않는다.
- 네트워크 효과가 만드는 거대한 성장의 힘
- 비즈니스 모델은 , 이베이와 매우 유사하다.
- 파는 사람과 사는 사람을 연결시키고, 서비스료라고 하는 수수료를 취한다.
- 웹사이트에는 에어비앤비가 24시간 내내 운영되고 고객을 지원하기 위해 모든 예약에 부과하는 금액이라고 공손하게 표현
- 2가지 측면을 지닌 온라인 마켓플레이스
- 여행객과 잠재적 여행객을 대상으로 한 서비스(수요)
- 자신의 공간을 임대하는 사람들을 위한 서비스(공급)
- 신규 시장에 진입하기 위해 막대한 돈을 들여 새로운 마케팅 방법을 구사하거나 직원을 채용해야 하는 기업들(예 우버)과 차별화된다.
- 에어비앤비를 성장시킨 일등공신
- 사용자들의 여행패턴
- 세계적인 네트워크
- 에어비엔비의 투자자들이 그들을 가장 좋아하는 이유
- 효율성 - 저비용으로 확장이 가능 , 8년동안 고작 3억 달러미만의 투자
- 성장 - 매주 140만명의 사용자를 추가, 1억 6000만개의 어라이벌(2017년 상반기)
- 파는 사람과 사는 사람을 연결시키고, 서비스료라고 하는 수수료를 취한다.
- 비즈니스 모델은 , 이베이와 매우 유사하다.
- 스티브 잡스의 '클릭 세 번의 법칙'
- 에어비엔비의 성공, 다른 임대사이트와 다른 점은 , '제품' 그 자체에 있다.
- 웹사이트나 애플리케이션, 기술력 , 사용자 경험
- 워드프레스 웹사이트 => 개발 웹사이트 => 좋은 사용자 경험 웹사이트
- 24시간 내내 문제 없으며
- 연령에 관계없이 누구나 이용하기 쉬워야
- 숙소리스는 무조건 멋지게
- 예약 할 때 가능한 세번의 클릭
- 워드프레스 웹사이트 => 개발 웹사이트 => 좋은 사용자 경험 웹사이트
- 웹사이트나 애플리케이션, 기술력 , 사용자 경험
- 개발자가 아닌 디자이너의 강점이 들어남
- 제품에서 인터페이스 => 사용자 경험으로 '행동을 설계하는 방법'
- 후에 조직 문화를 구축하고 사무 공간을 설계할 때 , 그리고 회사의 구조를 짜고 이사회를 운영할 때 등 에어비앤비에 모든 측면에 스며들었다.
- 에어비엔비의 성공, 다른 임대사이트와 다른 점은 , '제품' 그 자체에 있다.
- 셰계에서 가장 가치 있는 기술 기업으로
- 상당히 정교하고 까다로운 기술들이 요구됐다.
- 대금지불
- 아마존 클라우드 대금 지불 서비스, 사용자경험이 나빠짐
- 아마존 방식 폐기하고 , 대금을 받으면 계좌에 넣었다가 송금 => 오로지 사용자 경험을 간단하기 만들기 위해
- 임시 방편으로 페이팔을 이용
- 결국에는 사용자가 대금 지불 시스템을 구축
- 매칭 매커니즘을 구축 - 게스트가 원하는 장소를 선별해서 보여주는
- 사업 초창기 시절 - 검색기능은 아주 단순 (지역, 여행객 수, 날짜,시설)
- 사업 중기 - 숙소의 품질 , 호스트의 행동패턴, 예약 선호사항
- 서로간의 발생할 불만을 억제함은 물론, 게스트가 호스트로부터 거절당할 가능성을 줄여나감
- 지금 - 머신러닝 엔진을 보유해서 , 사용자가 좋아할 만한 5~6개의 숙소를 매우 신속하게 추출해내는 수준
- 다른 서비스의 확장
- 위시리스트 기능
- 유명 인사들이 만들어놓은 위시리스트를 공개적으로 볼수 있으며
- 페이스북 계정과 연동
- 사진 촬영 서비스를 1개월에 1000장에서 5000장 => 예약쇄도
- 전문 사진 촬영 서비스가 시장 평균보다 2-2배 더 많은 예약
- 위시리스트 기능
- 아마존 웹서비스에 모든 온라인 인프라를 구축
- 대금지불
- 초창기 도구들 자체가 미성숙했기 댸문에 자잘한 문제들이 갑자기 터지거나 무작위롤 발생
- 블레차르지크는 사업 추기 18개월 동안, 이후에도 하루종일 플랫폼이 그저 온전히 작동하도록 유지하는 일에만 매진했다.
- 일이 거의 이틀에 한 번꼴로 발생했고, 한밤중에도 종종 터짐
- 상당히 정교하고 까다로운 기술들이 요구됐다.
- 대담한과 당돌함으로 '빅 리그'에 진입하다.
- 호프만- 세 창업자들에게 매혹됐던 가장 큰 이유는 아이디어뿐만 아니라 그들이 보여준 '대담함'과 '당돌함' 때문이었다.
- 온라인 마켓플레이스 비즈니스를 시작하는 창업가들에게 최우선적으로 요구되는 소양
- 독창적으로 사고하고
- 기꺼이 논쟁에 발을 담그려는 당돌함
- 모방자의 습격
- 독일의 세형제, '로켓 인터넷' 벤처 캐피탈 , '빔두'를 만듬
- 원조 회사에 미국 시장에 집중하는 사이 유럽 복제판 웹사이트를 재빨리 론칭
- 성장을 시키는 데에만 비용을 물 쓰듯이 투자,그 복제 회사를 원조회사에 매각
- 원조회사는 자기 브랜드의 소유권을 되찾기 위해 울며 겨자 먹기로 프리미엄을 지불
- '그루폰'을 공량해 성공을 거둠
- 실리콘 벨리의 지성들과 상의
- 그루폰 - 메이슨 : 빔두가 에어비앤비를 죽일 만한 잠재력이 충분
- 주커버그 - 최고를 서비스를 가진자가 승리, 빔두를 매입하지 마라
- 그레이엄 - 에어비엔비 창업자는 '선교사' , 빔두의 창업자는 '장사꾼' 선교사가 승리한다.
- 빔두를 매입하지 않음
- 400명이나 되는 빔두의 직원들을 받아들일 용의가 없음
- 에어비앤비가 내세우는 햄심 가치에도 부합하지 않음
- 세형제는 자신들의 회사를 운영하는데 관심이 없음
- 대신 '아콜레오' 를 인수 , 빔두와 같은 착취 기업은 아님
- 독일의 세형제, '로켓 인터넷' 벤처 캐피탈 , '빔두'를 만듬
- 회사를 뒤흔든 최악의 사태
- 게스트들이 호스트의 집을 엉망으로 망가트리고, 물건을 훔치고 , 카드를 사용
- 호스트는 고객 서비스팀이 완전히 자취를 감취고 창업자중 한 명이 글을 내려줄 것을 요청했다. 회사가 안전을 보장할 어떠한 조치도 취하지 않은채 보상도 하지 않았다라고 블로그에 올림
- 호스트들을 보호하기 위해 5만달러를 보상하겠다고 발표(이후 100만달러)
- 24시간 고객 핫라인을 운영하고, 고객지원 인력을 두 배로 늘리겠다고 발표
- 이 조치는 어드바이저들의 조언과 반대 , 어드바이저들은 사건이 잠잠해질 때까지 최대한 몸을 숨겨야 한다.
- 이 경험으로 체스키는 '여러 사람의 합으로 의사 결정을 내려서는 안된다'는 중요한 경험을 얻었다. 중용을 지키는 것처럼 보이나, 최악의 의사결정이 될 수 있다.
- 커뮤니케이션 전문가가 필요함을 사실 - 야후에 일한 킴 루베이를 채용
- 생존을 넘어 진화의 단계로
- 사업 아이디어를 현실화 시키기 위해 절박한 마음으로 , 목표는 그저 '생존'
- 'PMF'는 고사하고 장기적인 관전에서 생각한다는 일이 가당치도 않음
- 2단계에서 5단계롤 (진화)
- 유사 모방 스타트업들 - 보트바운드(보트 대여), 두카나(설비 대여), 도그버케이(강아지 대여)
- 현재 2500명의 이상의 직원들
- 더 많은 사용자를 확보했지만, 대중적인 인지도를 높지는 일이 가장 큰 과제였다.
- 성장으로 가는 '공짜 고속도로'를 발견하다.
-
- PMF(product-marker-fit)에 도달 - 스타트업이 누릴 수 있는 최고의 명예이자 생존의 증거
- 2009년 4월에 PMF에 도달, 1주일 매출 1만달러, 평균예약 규모는 10만달러
- 회사의 규모가 커질수록 장기적인 비전과 계획, 전략의 필요성 절감
- 직원도 뽑고 , 조직문화도 정립해야 했다
- 제품은 있었지만 함께 만들어가고 성장시킬 '회사'를 세워야 했다.
- 가장 시급한 미션 '첫 엔지니어 채용하기'
- 체스키는 조직 문화에 대한 책을 닥치는 읽었는데, 채용이야 경영자가 신중히 접근해야하는 분야, 좋은 인재를 뽑으면 그 사람이 자신과 비슷한 수백 명의 직원을 불러들일 것이라 확신 , '첫 엔지니어를 뽑는 일은 여러분의 기업에 DNA를 심는 것과 마찬가지입니다'
- 그들이 닮고 싶은 조직 문화를 가진 기업들을 리스트업했다.
- 온라인 쇼핑몰업체 재포스 ceo와 만남
- 리스트한 기업들을 견학
- 강력한 미션을 가지고 있으며
- 핵심 가치로 단단히 무장
- 핵심가치 10가지 선정 후에 인터뷰를 시작
- 부지런히 일하는 올림픽 선수
- 가족같은 분위기 구축
- 에어비앤비를 향한 열정 등 열가지
- 인터뷰 과정은 실리콘벨리의 엔지니어 채용 기준에 따라 매우 엄격하게 진행
- 조 자테(바이오 엔지니어링 박사) , 지금 제품 담당 부사장 , 15시간 인터뷰, 3시간으로 제한된 프로그래밍 과제를 마치고 입사
- 자테 왈 - "문을 열자마자 열기가 느껴질 만큼 그들은 완전히 미쳐 있었습니다"
- 에어비앤비 이용한 친구로 부터 회사를 알게되었다.
- 조 자테(바이오 엔지니어링 박사) , 지금 제품 담당 부사장 , 15시간 인터뷰, 3시간으로 제한된 프로그래밍 과제를 마치고 입사
- 2010년 직원이 25명으로 늘러났다. 침실은 회의실이 되고 , 계단이나 화장실 혹은 지붕 위에서 지원자들과 면접을 진행했다.
- 문화를 창조하는 법
- 상품이 아닌 인간화 그 자체
- 상업화된 호텔 체인들의 대한 고객들의 불만을 해소
- 20년 전 여행객은 깨끗한 방과 서비스 => 관광지에 커스터마이즈든 된 숙소
- 고급식 식사 => 로컬 가정식 식사
- 조금 엉성하지만 특별한 여행 경험을 더 선호
- 호텔이 인간적인 '정'을 잃어버렸을 때, 여행을 인간적인 경험으로
- 선택지가 파격적인다.
- 호텔들은 대부분 상업지역 => 도시의 변두리, 틈새지역에도 방이 있다
- 덜 상업화되어 있지만 훨씬 더 독특하다
- 관광객이 아닌 현지인이 된 것 같은 기분을 느끼게 해준다
- 상업화된 호텔 체인들의 대한 고객들의 불만을 해소
- '어디에서나 우리 집처럼' 느끼는 여행의 시작
- '벨로' 로고 - 사람, 장소, 사랑, 에어비앤비 가치를 상징
- 리브랜딩 계획 - 37분동안 고객들과 화상채팅을 하며 계획을 나눔
- 고객을 리브랜딩 과정에 진짜로 소속 시킴
- 에어비앤비에서 묶는다면 , 그곳은 친밀한 장소가, 호스트가 모아놓은 예술 작품, 결혼사진등등을 통해 호스트와 연결된다. 그것은 대량생산화된 시대에 우리가 잃어버린 무언가를 떠올리게 한다.
- '소비자-브랜드 참여율'은 기존 거대 브랜드 기업들을 훨씬 뛰어넘었다.
- 서비스가 성숙해지면서 사용자 기반은 크게 확산
- 게스트의 평균연령은 35세, 호스트 평균연럭은 43 , 현재는 60세 이상 사람이 증가
- 힙스터 유목민의 탄생
- 핵심적인 사용자 '유목민'이라는 불리는 소수의 세계 일주 여행자들이다.
- 캠벨부부(71세,60세) - 시애틀의 집을 팔고 전 셰계를 여행 , 시니어노마드 닷컴에 연재
- 300만개의 숙소를 통제하는 법
- 에어비앤비 생태계를 유지하는 집단은 게스트가 아닌 '호스트'들이다.
- 이 회사는 어떤 숙소도 소유하지 못할 뿐만 아니라, 호스트의 행동을 통제하지도 못한다.
- 콘리에게 도움 요청
- '인간 동기 욕구의 5단계'를 적용 - 최대의 잠재력에 도달하기 위해 만족시켜야할 심리적,신체적 욕구 피라미드
- 호스트들에게 접객 노하우를 전달하는 데 주력
- 숙박 서비스 교육체계를 수립하고 표준을 정립
- 호스트들이 각자의 성공 사례를 공유할 수 있도록 블로그와 뉴스레터, 온라인 커뮤니티 개설
- 멘토링 프로그램을 개발
- 숙박 후 호스트와 게스트가 서로를 평가 할 수 있도록 독려하는 '쌍방 리뷰 시스템'을 운영하여 약점을 보완 - 숙박의 70퍼센트 이상이 리뷰를 받는다. 양측 모두를 통제하는데 효과가 높다.
- 특정 호스트의 숙소를 상단에 노출
- 리뷰가 좋은 호스트들은 상단에 , 낮은 호스트들은 하단에
- 수퍼호스트라는 지위를 부여
- 공유경제 시대, 호랑이 등에 올라탄 신흥 강자들
- 에어비엔비의 부가적인 서비스를 지원하는 스타트업들
- 게스티 - 이스라엘
- 호스트가 게스티에게 에어비앤비 계정에 접속할 수 있는권한을 주면, 3퍼센트의 수수료를 받고 모든 서비스를 대신해준다.
- 필로우 - 필라델피아
- 숙소를 등록, 청소 도우미를 고용하고, 열쇠를 관리, 최적의 가격 결정 도움
- 아너텝 - 에어비앤비 숙소에 미니바를 운영
- 에어북트 - 호스트에 가격을 결정할 수 있는 도구를 제공, 수익 관리의 괴짜가 설립
- 키카페 - 게스트에게 열쇠를 전달하는 어려움을 해결
- 호스트는 한달에 12.95달서의 금액을 내고 , 무인 단말기에 이용
- 게스트는 어플리케이션을 통해 고유 접근 코드를 받아 무인 단말기 사용
- 까페나 술집은 유동인구를 유발 시킬 수 있음
- 게스티 - 이스라엘
- 에어비엔비의 부가적인 서비스를 지원하는 스타트업들
- 에어비앤비를 특별하게 만드는 힘, 인간적 유대감
- '어디에서나 우리 집처럼' 100년의 슬로건 , 진짜로 의미하는 것은?
- 느낌이 아니라 , 에어비앤비로 여행을 할 때 사람들이 경험하는 일종의 변화의 여정
- 타인(호스트)로 부터 받은 몇 통의 메시지, 엽서 우리가 일상헤서는 경험하기 어려운 인간적인 정 , 에어비앤비의 차별되는 가장 큰 강점
- 우버는 거래 지향적인 기업입니다. 반면 우리는 인간 지향적인 기업입니다.
- '어디에서나 우리 집처럼' 100년의 슬로건 , 진짜로 의미하는 것은?
- 상품이 아닌 인간화 그 자체
-
- 에어비앤비가 단 몇년만에 이루어냈고, 기업을 경영해본 경험이 없는데 회사를 키움
- 2500명의 이상의 직원, ' 문화'는 지구의 수백만 명의 사람이 함께 만들어낸 결과
- '니즈의 빈틈' - 사람들이 원하는 것을 만들지 못하면, 수많은 고객을 창출할 수 없음
- 진화과정
- 카우치서핑
- 이글루와 성 단계 - 성장이 본격화
- 기네스 펠트로 단계 - 사용자와 숙소 리스트가 크게 확장된 시기
- 기네스 펠트로가 1박에 8000달러인 멕시코 푼타미타의 숙소를 이용
- 까다로운 사람들도 이용
- 모든 사람을 대상으로 할 만큼 거대한 플랫폼
- 300만개의 리스트 모두는 하나같이 독특한 매력을 자랑하고, 각각의 특징이
- 20달러 에어메트리스 부터 , 9000달러의 정원에 vip 호텔서비스 3층 아파트까지
- 에어비앤비는 '문화적인 대화'를 나눌 수 있는 공간
- '어떤 대선 후보에게 에어비앤비 집을 빌려주고 싶은가?' ㅎㅎ
- 기업들은 자신들의 브랜드로 설정한 숙소를 등록, 마케팅 플랫폼
- 예상치 못한 최악의 위기
- 안전을 최우선으로 디자인하다
- EJ 사건을 계기로 , 핵심 직원들은 집중적으로 위기 관리 방안을 수립
- 호스트 개런티, 24시간 핫라인
- 신뢰 및 안전 부서 신설
- 커뮤니티 대응팀
- 제품팀 - 범죄를 저지를 가능성이 높은 예약 건이 무엇인지를 감지하기 위해 행동모델을 구축하는 데이터 과학자들, 머신러닝 엔지니어
- 사건 전문 변호사, 보험 전무가, 사이버 보안 분야
- 리뷰 시스템 - 사용자의 온라인 id와 신분 간의 일치 여부 확인 강화
- 개인 정보 노출하지 않음
- EJ 사건을 계기로 , 핵심 직원들은 집중적으로 위기 관리 방안을 수립
- 선의의 사람들과 불행한 사고들
- 2014년에 모든 호스트를 대상으로 2차 법적 책임 발생에 대해 100만 달러를 보상
- 호스트의 주거래 보험 회사가 보험금 청구를 거절하면, 에어비앤비가 대신 보상
- '우리 집처럼'의 반대말, 인종차별과 싸우다.
- 하버드 조교수 루카 , 조사 발표
- 비흑인 호스트들이 흑인 호스트들에 비해 약 12퍼센트 높은 숙박료를 책정
- 흑인 호스트들이 위치가 좋지 않다는 이유로 숙박료 책정 시 더 큰 불이익
- 흑인 게스트들은 백인 이름의 게스트들에 비해 예약 수락율이 16퍼센트 낮음
- 외부 전문가를 영입해 전면적인 진단 실시 , 32페이지 보고서 공개
- 커뮤니티 준수 사항에 서명 요구
- 오픈 도어즈 정책
- 차별 철폐를 전담하는 새로운 제품팀을 발족
- 체스키 - 우리의 미션은 사람들을 한데 묶는 것입니다. 차별은 우리 미션의 최대의 장애물이죠. 우리가 그 문제를 단순하게 대응하려 한다면, 결코 미션을 달성하지 못할 것입니다.
- 하버드 조교수 루카 , 조사 발표
- 반대의 물결
- 많은 지역이 에어비앤비의 비즈니스 모델, 현행법 위반으로 간주
- 에어비엔비는 많은 지역과 논의를 거처 그들의 비즈니스가 합법적으로 운영될 수 있게끔 규정을 개정
- 뉴욕 주지사가 '30일 미만으로 집을 임대하기 위해 개인이 아파트를 광고하는 행위'가 불법이라는 법규에 사인함
- 대세가 된 아이디어는 결코 죽일 수 없다.
- 전문가들은 자기적으로 에어비앤비 쪽에 승산이 있고 , 운영의 재량을 갖게 될 것이다.
- 소비자들이 에어비앤비를 원한다.
- 규제 가관들을 흔들어댈 수 있는 존재는 1억 4000여명의 게스트들
- 대중은 이미 그곳에 가 있습니다. 정치인들은 대중이 움직이는 쪽을 따르기 마련이다.
- 왜 소비자들은 이토록 에어비앤비를 원하는 걸까?
- 저렴하게 여행하거나, 집을 돈이 되는 무언가로 만들고 싶다는 의지
- 너무 비싸고 상업화된 숙박 업계에 대한 피로감
- 더 특이하고 , 더 다양하고, 더 본질적이며, 더 진정한 여행 방식 원한다.
- 중산층을 중심으로 정부에 대한 신뢰가 무너져, 개별적으로 자급할 수 있는 경제수단을 찾으려는 현상
- 성공하면 거의 항상 합법성 문제가 떠오릅니다. 트렌비와 같은 명품 플랫폼도 비슷하네
- 체스키 - 이성적인 사람은 자신을 환경에 적응시킨다. 비이성적인 사람은 환경을 자신에게 적응 시킨다. 그러므로 모든 진보는 비이성적인 사람들에게 달려있다.
- 세이벨
- 거대 산업의 룰을 파괴하고 그 속에서 자리를 차지하려고 한다면 언제나 다양한 이익 단체들이 압력을 가해올 겁니다.
- 호텔업체들이 10억 달려 규모의 시장을 일구었는데, 새로이 등장한 산업 파괴자를 향해 어떻게 압력을 가할지 방법을 모르겠습니까?
- 결국 가장 중요한 것은 많은 사람을 움직이게 만드는 것입니다. 투표권을 가진 소비자들이 할 수 있는데, 보통은 소비자들이 이깁니다.
- 가장 중요한 질문 - 사람들이 에어비엔지를 좋아하는가? 원하는가?
- 모든 사람들이 원하는 것을 만들어냈다면 어떤 어려움도 분명 해결할 수 있습니다.
- 전문가들은 자기적으로 에어비앤비 쪽에 승산이 있고 , 운영의 재량을 갖게 될 것이다.
- 안전을 최우선으로 디자인하다
-
- 캐나나 캘거리 킹 부부 - 게스트가 마약파티, 집을 완전히 파괴
- 로페즈 - 스페인 호스트에게 강간당하는 사건
- 위급 상황일 경우, 직원이 직접 경찰에 연락을 취하도록
- 여행객이 비상연락망을 올리도록 하여, 가족 및 친구에게 모든 정보를 공유
- 7년 이나 지나는 동안 위급상황에 대한 정책이 수립되지 않았는지?
- 체스키 - 명백한 우리의 실수라고 인정
- 에어비엔비의 방어책 - 사건이 매우 드물게 일어난다. 0.002퍼센트
- 파괴와 혁신의 역사
- 룰파괴자가 시장을 먹어치우는 법
- 에어비엔비는 대형 이벤트가 개최대도 숙소의 공급이 즉각적으로 늘어나는 수요를 맞출 수 있다. 호텔은 한정적인 룸으로 가격이 올라가지만
- 호텔산업의 핵심인 '비즈니스 출장'까지 확장
- 비즈니스 트레블 레디 론칭 -
- 자격을 갖춘 숙소에 특별한 로고 부여
- 고액 연봉자와 비즈니스맨에게 로고가 부착된 숙소를 잘 보이게
- 큰 기업을 대상으로 하는 여행사 몇 군대와 파트너쉽
- '출장 여행 업계'가 에어비앤ㅂ를 받아들이고 있음
- 출장 영업이 에어비앤비의 매출에서 20퍼센트를 차지할정도로 성장
- 레저와 출장을 겸하려는 여행객이 늘어나는 트렌드
- 신혼여행을 위한 숙소 시장도 공략
- 비즈니스 트레블 레디 론칭 -
- 호텔산업이 두려워해야 할 것은 '사용자들이 에어비앤비를 얼마나 좋아하는가'이다
- 골드만 삭스 '사용자간 숙박 나눔' 인신 24=> 40퍼센트로 상승
- 건방진 놈들의 도전
- 에어비앤비 '사용자 간 수소 공유'는 호텔업계가 최초로 직면한 '대안적 숙박 모델'
- 역공에 나서다
- 공유경제에 대항하여 싸우는 것과 마찬가지로, 새로운 콘셉트와, 새로운제안, 새로운 서비스에 대항하여 싸우는 것은 정말로 바보 같고 무책임한 일입니다.
- 이것이 우리가 가야 할 길입니다. 이 모든 새로운 서비스는 대단히 강력하고 잘 구현되어 실행되고 있습니다. 우리는 그것을 받아들어야 합니다.
- 빈틈을 노린 라스트무버의 등장
- 단기대여라는 대담하고 새로운 아이디어 점점 시장에서 인정
- 원파인스테이 - 고도의 품질과 감성을 지닌 단기 대여 서비스
- 오아시스 컬렉션스 - 애체된 부티크 호텔 , 비즈니스 모델
- 손더 - 하이브리드(호텔과 단기 대여) 기업 / 홈텔
- 단기대여라는 대담하고 새로운 아이디어 점점 시장에서 인정
- 밀레니얼 세대, 산업의 지형을 바꾸다
- 젊은 세대는 에어비앤비가 있는 세상에 더 익숙하다. 디지털 원주민, 에어비앤비 원주민
- 에어비앤비가 세대 전체를 교육했다. 회사가 강해질 수록 데이터를 활용해 소비자가 원하는 것을 더욱 정밀하게 제공할 수 있게 될 거라고 말했다.
- 적과의 동침인가, 파트너쉽의 시작인가
- 결국에는 거대 호텔들이 양쪽 시장(호텔과 단기대여)에 최선을 다하기 위해서 단기 대여 사이트들과 더 많은 파트너십을 맺을 것이다.
- 전 세계적으로 30만개 이상의 주택과 공간들이 전문적인 숙박 서비스제공자난 민박웅영자에 의한 숙소로 분류
- 룰파괴자가 시장을 먹어치우는 법
-
- 리더로 성장하는 길
- 진짜 답은 오직 최고만이 알고 있다.
- 체스키 리더로서 성장하는 데 필수적인 두 가지 스킬
- 우두머리 노릇을 하던 재주
- 호기심
- 나머지 도구를 얻기 위해 멘토를 찾아 도움을 청함, 체계적이고 지겹도록
- 열명의 사람에게 의견을 묻고 그것을 평균하거나 종합하는 대신 누가 가장 최적의 해결책을 내놓을 수 있는지부터 찾은 뒤, 그 사람에게만 질문
- 워렌 버킷과 만남
- 세상의 이런저런 말과 소문에 휘둘리지 말라
- 그는 하루종인 독서를 합니다. 하루에 한 번 미팅을 하고 종종 묵상을 즐깁니다.
- 누군가의 조언이나 비난에 휘둘리기 끌려다니기보다는 자기만의 주관과 생각을 키우는 일이 더 중요하다.
- 체스키는 학습하는 기계 - 가장 큰 장정, 무한한 학습자
- 스스로 학습한 내용과 멘토로부터 받은 교훈을 공유하는데에도 강박적인
- 2015년 부터 일요일 밤마다 전직원들에게 자신의 비전과 원칙에 이메일 보냄
- '큰 기업의 경영자라면 공적인 연설과 글쓰기에 능해야 합니다. 경영의 도구이므로'
- 꾸준히 매모를 한다. 에버노트에 기록을 한다. 그것에 대해 생각하고, 좀 더 많은 사람과 이야기를 나눈 다음 자신의 의견을 정리한다.
- 체스키 리더로서 성장하는 데 필수적인 두 가지 스킬
- 돈보다 소중한 가치를 꿈꾸는 리더
- 체스키와 가까운 사람들은 그가 '앞을 내다보는 능력'의 소유자
- 무엇보다도 더 높은 목표를 행한 체스키의 광적인 믿음과 헌신,그 자신과 회사를 움직이게 만드는 가장 큰 힘이다.
- 체스키는 '머리끝부터 발끝까지 홈셰어리을 믿는 사람' '어디에서 우리 집처러'이라는 말을 끊임없이 반복한다.
- 그는 자신이 믿는 것을 사람들로 하여금 실행하도록 만드는 리더.
- "오늘 제가 들어야 할 나쁜 소식이 있나요?"
- 게비아
- 어떻게하면 조직의 분위기를 창의적으로 유지, 직원들이 아이디어를 거리낌없이 제안 할수 있을까요?
- 거대 규모의 조직을 관리하는 리더보다 작은 팀 안에서 독창적인 아이디어를 구상하는 타입
- 회부 컨설턴트를 고용하여 자기 자신에 대해 360도 평가를 진행
- 낙천적이고 긍정정인 리더이지만, 동시에 피곤하리라만틈 완벽주의자
- 프로젝트가 제대로 진행되지 않을 때면 그에게 솔직히 이야기하는 것이 두려움 => 빠르게 해결해야 할 나쁜 소식들을 그에게 전하기를 꺼려했다.
- 간단한 의사 결정에도 오랜 시간이 걸리고, 회사의 걸림돌이 됨
- 제품이 덜 완벽해도 회사 문밖으로 나갈수 있다는 여유로운 마음가짐 배움
- 경영자라면 현재 벌어지고 있는 일에 대해 직원들이 솔직하게 말할 수 있는 시간과 공간을 마련해줘야 한다
- 수백명의 직원에게 자신이 배운 내용,피드백,바꾸기 위한 노력을 이야기 함
- '코끼리, 죽은 물고기, 배설' - 상사와 부하직원 간에 어려운 대화 도움 도구
- 게비아
- 마르지 않는 아이디어 샘, 사마라의 탄생
- 게비아 본인 자신을 위해 또 다른 진로를 계획 - 디자이너, 새로운 아이디어에 대한 열망
- 3개월 동안 뉴욕에서 프로토타입을 합숙하며 개발하고, 베타 테스트
- '사마라'라는 내부 디자인 스튜디오를 론칭해 게비아가 관장
- 홈셰어링의 미래와 사회적 변화를 촉발하는데 도움이 되는 새로운 모델을 제시
- 각종 디자인과 혁신적인 아이디어를 지우너하고 기회
- '요시노 시더 하우스' 일본 요시노 현에 공동 숙박 시설, 매력적인 여행지로 만듬
- '더 랩' 실험적인 상품과 아이디어들을 최대한 신속하게 테스트하는 역할
- 가장 완벽한 창업가팀의 조건
- 브레차르지크는 프로그래밍 분야의 '독보적인 천재'
- 체스키 - 그를 합류시키는 것이 엔지니어 세사람을 확보하는 것과 같다
- 회사가 성장하기 위해 필요한 '공짜 마케팅 시스템'을 모조리 찾아냈다.
- 대금 지불 시스템 구출 , 엔지니어 커뮤니티에서 전설
- 사업 지행적인 마인드를 갖고 있었다.
- 경영 대학원에 입학하기 위해 시험을 보고
- 자신만의 소셜 광고 네트워크 사업을 시도
- 복잡한 문제를 단순화하는데 특히 소질
- '저는 아주 분석적인 사람입니다. 스킬 중 한가지 복잡한 문제를 가져와 하나의 아이디어로 압축시키는 일입니다.
- 'ISTJ' 유형 - 세상의 소금형
- 사업 전략에 대한 관심 - 데이타 과학 부서
- 활동 지도라는 프로그램 - 제한적인 공급과 급성장하는 수요간의 불균형 발견
- 공급 성장률을 높이기 위한 방법을 찾아냄
- '숙소 및 호스팅 전략과 운영'을 관장하는 훨씬 더 넒은 역할
- 체계적으로 사고할줄 아는 사람이라서 여러 사람이 제시한 정보를 취합하고 그 모든 것을 한꺼번에 처리하여 사람들에게 의사 결정할 수 있도록 다시 넘겨줍니다.
- 체크키, 게비아, 브레차르지크는 최상의 조합
- 브레차르지크는 프로그래밍 분야의 '독보적인 천재'
- 구글보다 더 일하고 싶은 회사
- 조직 문화를 망치는 것은 제품을 생산하는 기계를 망가뜨리는 것이다.
- 조직 문화가 강할수록 '나는 세상에 이로운 일을 수행하고 있다'라는 믿을을 갖게되어 , 공식적인 규칙과 프로세스 없이도 알아서 잘 움직이게 된다.
- 체스키 - 회사를 죽이는 것은 규제기관이나 경쟁자가 아니라 '무언가에 미치는 능력'을 잃어버리는 것입니다.
- 직원들을 그들은 에어패밀리 혹은 에어팸이라고 부른다. 단단한 결속력을 자랑
- 직원들은 누가 시키지 않아도 '어디에서나 우리 집처럼'이라는 말을 떠들고 다닌다.
- 2016년 최고의 직장 1위
- 조직이 커질 때 발생하는 문제들
- '다양성 책임자'를 새로이 임명해 소수인종의 비중을 10~11퍼센트까지 끌어올린다는 계획
- 혁신을 멈추는 순간, 기겁의 진화도 멈춘다
- 숙박에서 여행의 나머지 시장으로 진입
- 진짜 답은 오직 최고만이 알고 있다.
-
- 창업 8년만에 250억 달러(30조) , 여전히 '급성장 단계'
- 체스키
- 사업초기에는 무언가를 배우고 쌓아간다는 느낌이 아니라 , 새로운 과제를 풀어가는 느낌
- 학습을 위한 시간은 없었습니다. 전장 한복판에 선 병사나 스타트업을 경영하고 있는 기업가에게
- 에어비엔비의 시스템은 훨씬 더 복잡한 기술적 구조를 필요로 했다.
- 세계적인 확장 시도
- 각 국가에 사무실과 직원 보여, 사업을 국제적으로 운영
- 세계적으로 수십억 달러 상당의 거래를 처리하는 대금처리 회사
- 규제에 관한 문제도 자주 발생 , 도시 단위로 문제에 대응할 시간과 노력, 정책인력 필요
- 에어비앤비가 꿈꾸는 미래
- 에어비앤비를 향한 화살, 기업공개
- 벤처 캐피탈리스트들과 주식시장은 성격이 완전히 다르다
- 주식시장은 높은 성장률에만 관심, 10년ㅇ 후 비전에 대해서 궁금하지 않음
- 규제 리스크나 경쟁자들과의 관계에 더욱 민감 - 홈어웨이(경쟁자) 1200만개 숙소
- 벤처 캐피탈리스트들과 주식시장은 성격이 완전히 다르다
- 덩치가 커져도 '핵심 가치'를 지킬 수 있을까?
- 초기 사용자들이 , 초장기에 지녔던 특별함과 본질을 잃어버린것 같다고 불만을 가짐
- 호텔급 서비스를 원하는 게스트들로 가득하다. 호스트들은 그런 게스트를 좋아하지 않음
- 그들이 꿈꾸면 미래가 된다.
- '끈질긴 바퀴벌레 정신을 가진 놈이 살아 남는다'는 업계의 교훈을 몸소 보여주었다.
- 세 번의 론칭에도 불구하고 아이디어를 포기하지 않으면, 스타트업의 구루들에게 조언과 피드백을 구했을 만큼 저돌적이었다.
- 자신들이 축적한 부와 함께 뒤따라오는 책임을 받아들이려고 노력 (각각 33억 달러, 4조)
- 체크키 - 우리는 평범하고 가난한 세 명의 학생들, 우리에게는 미래를 내다볼 수 아는 직감과 그것을 만들어낼 만한 무모한 용기가 있었습니다.
- 에어비앤비를 향한 화살, 기업공개
-
- 기술 기업은 ' 새로운 카테고리로 들어가려는 자발성에 달려 있다'
- CEO가 기존 사업보다 새로운 모험을 우선시하고 그 프로젝트를 직접 챙기려하는 의지
- 체스키 - 2년동안 업무시간 중 절반을 새로운 프로젝트에만 열중
- '트립스'의 운영 프로세스를 수립 - 디즈니 엔터프라이즈를 본따
- 엘론 머스트 - 관리의 시대를 주의 - 창조의 시대와 구축의 시대가 끝난 후 사업성장률이 10~20퍼센트로 안정괘도에 돌입했을 때
체크아웃 - 우리 눈에 보이는 '에어비앤비'는 이제 막 시작에 불과하다
- 게비아 - 얼리아답터가 되려면 용기가 필요합니다. '기괴하다'고 평가받아도 흔들리지 말고 계속 밀고 나가야 합니다.
- 프롤로그
- 천재의 정의 - 매일, 조금씩, 될때까지 탁월성을 추구하는 사람
- 재능이 아닌 '열정과 연습'이 완벽의 경지에 이르게 해준다는 사실을 설명
- 매일 스스로에게 도전하고, 넘어지면 다시 일어날 거고요, 거기서 가장 똑똑한 사람은 못 되더라도 집념이 강한 사람이 되려고 노력할 겁니다.
- 그릿이란 무엇인가?
- 그릿, 성공의 필요조건
- 훈련을 포기하는 신병 - 능력이 부족해서인 경우는 드물었다. 그보다 중요한 것은 '절대 포기하지 않는'태도였다.
- 성공한 사람들은 끊임없이 발전을 추구했다. 큰 업적을 달성한 사람들은 끈기가 남달랐다.
- 회복력이 강하고 근면, 자신이 원하는 바가 무엇인지 매우 깊이 이해
- 결단력 + 방향을 알고 있다. => 열정과 결합된 끈기 = 그릿
- 우리가 잠재력을 갖고 있는 것과 그 잠재력이 발휘는 별개라는 사실
- 우리는 왜 재능에 현혹되는가?
- 지능보다 근면성이 남달랐다.
- 얼마나 배움을 갈방하는 학생이었는지. 수업시간에 완전히 몰입, 수업 후에는 좀 더 어려운 과제를 달라고 공손히 부탁했다.
- 음악을 너무 사랑해서, / 제가 한거에요, 제가 하고 싶어서요. 연주 실력 향상을 바라면서
- 재능보다 두 배 더 중요한 노력
- 최상급 기량은 사실 수십 개의 작은 기술 및 동작 하나하나를 배우거나 우연히 깨치고ㅡ, 주의 깊은 연습을 통해 습관으로 만들고, 전체 동작으로 종합해서 나온 결과물
- 모든 완전한 것에 대해 우리는 그것이 어떻게 생겨났는지 묻지 않는다. 대신 우리는 마치 그것이 마법에 의해 땅에서 솟아난 것처럼 현재의 사실만을 즐긴다.
- 우리는 허영심과 자기애가 천재 숭배를 조장한다. 왜나야하면 천재를 마법적인 존재로 생각한다면 우리 자신과 비교하고 우리의 부족함을 느끼지 않아도 되기 때문이다. 누군가를 '신적인 존재'로 부르면 '우리는 그와 경쟁할 필요가 없어진다 '
- 한 영역에서 실력을 차근차근 쌓아가는 쪽이 여러 영역에서 아마추어로 머누르는 것보다 만족스럽다는 사실
- 오랜 시간 꾸준한 노력이 가장중요하다.
- 당신의 그릿을 측정하라
- 이 분야에서 저 분야로, 이 기술에서 저기술로 옮겨 다닌다면 그것은 그릿이 있는 사람의 행동이 아니죠.
- 그 기술들을 적용해서 사람들에게 가치가 있는 재화와 용력을 생산해야 해요.
- 열정의 지속성 , 게틀먼은 열정을 찾으러 다닌 것이 아니라 열정을 만들어냈다.
- 당신은 인생철학이 있습니까? 그는 당신이 인생에서 이루려는 일을 묻는다.
- 상위 목표일수록 그 자체가 목적이고, 하위 목표일수록 목적을 위한 수단이 된다.
- 내가 말하는 열정은 단순히 관심 있는 일이 있다는 의미가 아니다. 그 것은 동일한 최상위 목표에 변함없이 성실하고 꾸준하게 관심을 둔다.
- 열정은 우선순위를 확실하게 만든다.
- 매우 다른 상위 수준의 목표들로 활동이 분산되면 앞으로 나아갈 수 없다. 궁극적인 목표는 단 하나여야 한다.
- 하위 목표를 포기하는 행동은 용인할 수 있을 뿐 아니라 때로는 꼭 필요하다
- 어떤 장거리 여행이든 돌아갈 일이 생길 수 있다. 하지만 상위 수준의 목표일수록 이를 고수하는 것이 옳다.
- 그릿의 성장
- 우리는 필요할 때 변한다. 필요는 적응의 어머니다.
- 우리가 성장해온 시대 문화에 의해 그릿이 결정된다, 나이가 들수록 그릿이 강해진다.
- 관심,연습,목적, 희망의 네가지 심리적 자산을 당신을 길러나갈 수 있다.
- 그릿, 성공의 필요조건
- 내 안에서 그릿을 기르는 법
- 관심사를 분명히 하라
- 인터뷰마다 반복해서 나왔던 한 가지는 '나는 내 일을 사랑한다'는 이야기
- 매일 아침 일어나면서 일이 기대돼요. 당장 스튜디오에 나가고 싶어요. 새로운 프로젝트를 얼른 시작하고 싶어요.
- 좋아하는 일을 하라는 것에 대한 조언
- 개인적 관심과 일치하는 일을 할때 직업에 훨씬 만족감을 느낀다.
- 사람들은 일이 흥미로울 때 높은 성과를 올린다.
- 우리가 어떤 일을 시도했을 때 얼마나 좋은 결과를 얻을지 그 '결정권'을 쥐고 있는 것은 '열망과 열정, (우리) 관심의 정도이다.
- 열정은 발견하고 키우는 것
- 진정한 열정을 발견하는 데 40년이나 걸렸지 머에요.
- 열정은 계시처럼 오지 않는다.
- 한동안 일해보고 상당히 깊이 관여해봐야 미묘한 사항들을 알게 되고 기쁨을 느낄 수 있는 일도 많습니다.
- 일을 꾸준히 해봐야만 재미없고 하찮아 보이던 일이 좋아하는 일인지 알게 된다.
- 자기 일에 대한 열정을 발견하는 것은 시작일 뿐 그 열정을 지속적으로 발전시키고 평생 심화시켜야 한다.
- 아동기에는 너무 어리기 때문에 커서 무엇이 되고 싶은지 알지 못한다.
- 관심사는 자기 성찰을 통해 발견되지 않는다. 오히려 외부 세계와의 상호작용이 계기가 되어 흥미가 생긴다.
- 관심사를 발견한 뒤 오랜 시작 주도적으로 관심을 발전시켜야 한다. 처음에 관심이 생긴 후에도 계속 그 일을 경험함으로써 거듭거듭 흥미를 유발하는 일이 대단히 중요하다.
- 관심은 부모 , 교사, 코치, 또래 등 여러 지지자들의 격려가 있을 때 점점 깊어진다. 타인은 어떤 일이 점점 좋아지는 데 필수요소인 자극과 정보를 계속 제공해주기 때문이다. 긍적적인 피드백이 우리에게 주는 행복감과 자신감, 안정감은 더욱 명백한 이유가 될 것이다.
- 열정과 끈기를 만들어주는 부모의 역활
- 관심을 발전시키는 중에도 해야 할 일이 있다. 연습하고 , 공부하고, 배워야 한다.
- 싫어하는 일에 더욱 서툴다. => 공부보다는 놀이가 먼저다.
- 벤저민 블룸 - 기술발전의 세단계
- 초기 - 관심사를 발견하고 발전시키는 시기다.
- 중기 - 연습 => 의식적인 연습
- 후기 - 목적 => 자기 일의 '더 큰 목적과 의미' 가 마침내 분명해지는 시기
- 윌 쇼츠 - 나는 늘 공부합니다.
- 투지가 강한 사람일수록 진로를 수정하는 일이 적다는 사실
- 전문가들 - 일에 대해 알아갈수록 이해하지 못하는 것들이 늘어간다.
- 우리가 아는 것은 얼마나 적은가, 우리는 얼마나 배움에 목마른가 ?
- 초보자에게 새로움은 이전에 접촉한 적이 없는 대상
- 전문가에게 새로움은 이전과 미묘한 차이가 있는 대상
- 질적으로 다른 연습을 하라
- 투지가 강한 아이들이 투지가 약한 아이들보다 연습을 더 많이 한다는 사실을 발견
- 끊임없이 더 잘하고 싶다는 욕구
- 불만으로 뒤돌아보는 것이 아니라 앞을 바라보며 성장하기를 바라는 마음
- 최고가 되고 싶다면 '의식적인 연습'을 하라
- 자기 분야에 대해 알아갈수록 하루하루 향상되는 폭은 경미해진다.
- 전문가들이 더 '오래' 연습한다는 것이 아니다. 더 중요한 것은 전문가들의 연습 ' 다르다' 점이다. '의식 적인 연습'을 수천, 수만 시간 동안 한다.
- 의식적인 연습방법
- 전체 기술 중에 아주 일부분에 집중한다. 이미 잘하는 부분에 집중하기 보다 뚜렷한 약점을 개선하려고 노력한다.
- 가능한 한 빨리 자신의 수행에 대한 피드백을 받고 싶어한다. 앞으로 고처나가야 할 틀린 부분에 더 관심이 많은 것이다. 피드백을 적극적으로 수용
- 처음부터 다시 반복, 또 반복한다. 목표를 완벽히 달성할 때까지, 능숙하게 해날 때까지, 기술 부족이 무의식적인 자신감으로 바뀔 때까지 반복
- 구체적 약점들에 초점을 맞추고 끈질기게 반복 연습했다.
- 의식적인 연습이 몹시 힘든 이유가 신체적 스트레스만큼 큰 정신적 스트레스
- 투지가 강한 사람은 의식적인 연습을 더 많이 하고 몰입도 더 많이 경험한다.
- 힘들지만 의식적인 연습을 하게 만드는 주요 동기는 자신의 기술을 향상시키겠다는 의지다.
- 반면에 몰입하는 동안의 지배적 동기는 완전히 다르다. 몰입 상태는 본질적으로 즐겁다.
- 열심히 하는 거죠, 재미가 없을 때도 해야 할 일은 해야죠. 왜냐하면 결과를 달성하면 엄청 즐거우니까요. 마지막에 '아하!' 하는 즐거움 , 그것 때문에 먼 길을 참고 가는 것입니다.
- 수영 연습을 끝나고 케이티는 좋았어.라고 대답하고 몇 초 후에 힘들었어. 그리고 웃는다. 그 미소가 모든 것을 말해준다. 케이티는 어떤 연습이들 그런태도로 한다.
- 의식적인 연습을 100% 활용하는 법
- 심사숙고해서 목표를 정하고 하루 최대 몇 시간씩 '양질의 훈련'을 하라
- 연습을 습관화 하라.
- 같은 시간과 장소에서 계속 연습하다 보년 의식적으로 생각하면 시작했던 일들은 점차 자동으로 하게 된다.
- 연습을 경험하는 방식을 바꾸라 /. 즐겁게 하라.
- 도전을 즐기는 데 방해가 되는 판단에서 자신을 해방
- 영유아는 실수에 개의치 않고 배움에만 몰두한다
- 높은 목적의식을 가져라
- 열정의 원천이 되는 한 가지는 흥미다. 그리고 다른 원천은 타인의 행복에 기여하겠다는 의도다. 성숙한 열정은 이 두 가지에 의해 결정된다.
- 그릿의 기초가 되는 동기 - 이타성
- 그릿이 높은 사람들은 의미 있고 타인중심적 삶을 추구하는 공기가 다른 사람들보다 대단히 강한 것으로 나타난다. => 자신의 궁극적 목적이 자신보다 큰 세계와 밀접히 관련되어 있다고 생각한다는 의미이다.
- 장기가 열정으 유지하기 위해서는 관심도 매우 중요하지만 타인과 관계를 맺고 그들은 좁고 싶은 욕구 또한 대단히 중요하다고 본다.
- 생업과 직업 , 그리고 천직
- 자신의 일을 천직이라고 생각하는 행운아들은 "내 일이 세상을 더 나은 곳으로 만들어준다"고 단언
- 천직은 어느 날 갑자기 찾아오지 않는다.
- 자기 일을 바라보는 시각이 직함보다 중요하다. 일자리를 바꾸지 않더라도 생업에서 직업, 나아가 천직이 될 수 있다는 의미이다.
- 천직은 찾아내기만 하면 되는 환성품이 아닙니다.
- 훨씬 동적이조, 관리인이든 최고경영자이든 끊임없이 자신이 하는 일이 타인이나 전체 사회와 어떤 연관이 있는지, 자신이 가장 중시하는 가치를 표현할 수 있는지 질문해야 합니다.
- 즉 , 이전에는 벽돌을 쌓고 있다고 대답했던 벽돌공이 언제가는 신의 성전을 짓고 있다고 인식하는 벽돌공이 될 수도 있는 것이다.
- 마음챙김 ( 개인적 관심 + 타인 중심의 목적을 통합)을 통한 행복추구
- 승자가 되면서 동시에 타인을 돕는 법
- 우리는 기다리고 또 기다렸다 요청하고 또 요청했다. 우리 자신이 아니라 더 큰 목적을 위해 하는일이었기 때문에 그럴 수 있었다.
- 대부분의 사람들은 자기지향적 동기와 타인지향적 동기는 배타적이라고 생각합니다. 하지만 그 두가지 동기가 같이 있을 수도 있고 둘다 없을 수도 있습니다. =>. 승자가 되기를 원하는 동시에 타인을 돕겠다는 동기를 동시에 가질 수 있다.
- 자기지향적 동기와 타인지향적 동기를 함께 언급했던 청소년들은 한 가지 동기만 언급했던 동급생들보다 학업을 개인적으로 의미 있는 일로 평가. => 그래서 가족중심적인 동양학생들이 학업에서 우수한 성적을 얻나??
- 좋아하는 일을 할 때 목적의식이 생긴다.
- 기폭제는 바로 자신이 관심있는 일이었습니다.
- 콜은 어머니의 근면함과 유익한 사람이 되겠다는 뿌리 깊은 욕구, 두가지 모두를 본받았다.
- 목적의식을 기르는 세가지 방법
- 어떻게 하면 세상이 더 살이 좋은 곳이 될 수 있는가?
- 왜 가난한 애들에게 신경을 쓰니? 가족도 아니고 알지도 못하는 애들인데! 이제 나는 그 이유를 안다. 어머니를 통해. 한 사람이 많은 사람을 어떻게 도울 수 있는지 평생 봐왔기 때문이다. 목적의 힘을 목격했던 것이다.
- 다시 일어서는 자세, 희망을 품어라
- 내일은 나아질 것 같은 '느낌'이 아니라 나은 내일을 만들겠다는 '결심'이다.
- 통제할 수 없다는 생각에 가로막힐 때
- 무력감을 낳는 요인은 고통 그 자체가 아니라는 시실을 입증했다. 문제는 자신이 '통제할 수 없다'고 생각하는 고통이었다.
- 낙관론자는 으레 자신의 고통에 대해 일시적이고 구체적인 이유를 찾는 반면 , 비관론자는 여구적이고 전반적인 원인을 탓했다.
- 낙관론자는 이런 원인들을 전부 일시적이고 특수한 원인으로 해결 가능석이 있기 때문에 문제를 극복할 동기를 부여해준다.
- 관심사를 분명히 하라
- 아이들의 그릿을 기르는 법
- 그릿을 길러주는 양육방식
- 그릿을 기르는 운동장
- 강력한 그릿 문화의 힘
- 천재가 아닌 모든 이들에게
참고 post
https://nearsoft.com/blog/functional-programming-concepts-applied-using-c/
http://hamidmosalla.com/2019/04/25/functional-programming-in-c-sharp-a-brief-guide/
---------------------------------------------------------------------------------------------
아래 내용은 https://www.youtube.com/watch?v=jnefwbiK11Q 를 참고해서 작성
- Mutable value를 사용하는 대신 , 새로 Imutable instance를 생성해서 변경
- 함수를 새로 만들어 호출하는 대신 Func를 사용하여 캡슐화
- 일급 함수 , 함수를 파라미터로 받아들이고 , 리턴하는 함수
- Statement 내부 Mutable variable은 병렬처리 시에 문제를 일으키 소지가 있다.
Express을 사용해서 부작용을 제거
- 일급함수는 function을 리턴하므로 Method chaining pattern이 가능
- Class 내부에 함수를 생성하지 말고 Extension Methods를 사용 , 많이 사용하자
Interface를 수정하지 않아 구현이 편할 뿐만 아니라 Chaining pattern을 가능하게 함
- Mutable이므로 부작용을 일으킬 수 있으므로 Extra Temp Data list을 제거하자.
심지어 코드도 깔끔하다.
- Data class를 새로 만들어 사용하기 보다 Tuple을 사용해서 Data structure를 구성
[Functional programming workshop#]
1. Statement 를 Expression로 변경
2. Extension method(ToAlike)을 사용해서 expression을 사용
3. Get Score 함수를 Statement에서 expression으로 정의해서 Chaining을 가능하게
옮긴이의 말, 추천의 말, 시작하는 말
-
쓰레드와 잠금장치를 이용해서 코드를 작성하는 것이 이렇게 어렵고 복잡한 일이었언가?
-
코드가 멀티스레드 지원이라는 관점에서 보았을때 완전히 엉망인 코드라는 사실
-
잠금장치가 없는 자료구조(lock-free data structure), STM(software transaction memory), 액터 모델(AKKA 라이브러리)
-
스스로 잠금장치, 세마포어, 뮤택스 등를 만들고 있는 개발자라면 이책을 반드시 읽어야 한다.
-
멀티코어, 멀티 스레딩, 동시성, 병력성과 같은 주제가 나오면 머리가 복잡해시는 갤발자도 읽어야 한다.
-
동시성을 위한 함수형 프로그램의 문제점, GPU를 활용한 병렬 프로세스로 어떻게 빅데이터를 처리할 수 있는지 알아본다.
-
모든 프로그래머는 동시성 프로그래밍에 대한 사고를 배워야 한다. 객체 지행 프로그래밍에서 동시성 프로그래밍으로 변화고 있다.
-
동시성과 병렬성의 차이에 대한 명료한 설명
-
소프트웨에서 동시성을 다울 수 있도록 실제 프로그래밍 패러다임의 명확한 설명
-
스레드와 잠금장치에 대한 한계과 그 한계를 어떻게 극복하는지 , 람다 아키택처에서 부터 액터 기반 모델
-
동시성을 제대로 구현하는 것은 반응성, 장애 허용, 효율성, 그리고 단순성이라는 목적을 구현하는 열회
-
독자가 특정한 동시성 문제를 해결하기 위해서 어떤 동시성 도구를 사용해야 할지 판단 할 수 있도록 만드는 것
-
예제 코드를 만드시 공부할 것
-
서문
- 동시성 혹은 병렬성?
-
동시성은 여러 일은 한꺼번에 다루는데 관한 것이다.
-
교사가 한 학생의 책을 읽는 것을 듣는 동시에 , 다른 학생의 질문에 대답
-
-
병렬성은 여러 일을 한꺼번에 실행하는 데 관한 것이다.
-
교사가 50장의 연하장을 5명의 학생에게 할당하여 10장씩 작성
-
-
동시성과 병렬성은 동시에 가능
-
교사는 한 학생의 책을 읽는 것을 듣고, 조교는 다른 학생의 질문에 대답
-
-
동시성 프로그래밍은 비결정적 , 타이밍에 따라 결과가 달라진다.
-
병렬젹 프로그래밍은 비결정성을 내포하지 않는다. 병렬적 프로그래밍을 지원하는 언어들은 병렬코드를 작성하는 방법을 제공한다.
-
- 병렬 아키택처
-
비트 수준의 병렬성 : 8비트 컴퓨터가 32비트 수를 더하고 싶으면 8비트 명령들의 수열을 생성해야 한다. 32비트 컴퓨터는 각각 4바이트(32비트) 수를 병렬로 , 즉 한 번의 단계로 처리할 수 있다.
-
멀티 프로세스 아키텍처 : 공유 메모리(병목 현상) => 분산 메모리(네트워크를 사용)
-
- 동시성: 멀티코어를 넘어서
-
동시적인 세계에 맞는 동시적인 소프트웨어
-
동시성은 방응형 시스템의 핵심이다. 파일을 백그라운드에서 내려받음으로써 사용자가 한 시간동안 모래시계 커서를 들여다보지 않게 해준다.
-
-
분산된 세계에 맞는 소프트웨어
-
분산 소프트웨어는 특히 장애에 강하다는 장점을 가지고 있다. - 데이타 선터의 분리 , 클러스터
-
-
예측 불가능한 세계에 맞는 탄력적 소프트웨어
-
동시성은 독립성과 장애 감지를 통해서 탁력성, 혹은 장애 허용을 가능하게 만든다.
-
독립성 : 한 작업에서 발생한 장애가 다른 작업에 영향을 주지 않아야 하기 때문
-
장애 감지 : 한 동작이 장애를 일으켰을 때 다른 작업에 통지가 전달되서 복구 작업이 일어남
-
-
순차적으로 동작하는 소프트웨어는 동시적인 소프트웨어가 제공하는 수준의 탄력성이 없다.
-
-
복잡한 세계에 맞는 단순한 소프트웨어
-
제대로 선택한 언어와 도구를 사용하면 동시성 코드가 순차적인 코드보다 더 단순하고 명쾌하게 작성될 수 있다.
-
여러 문제를 다루는 복잡한 쓰레드 한 개를 반드는 것보다 , 하나의 문제를 다루는 여러 개의 쓰레드
-
-
- 일곱 가지 모델
-
쓰레드와 잠금장치
-
아래 동시성의 다양한 모델의 배후에서 동작
-
많은 동시성 소프트웨어의 기본적인 선택
-
-
함수형 프로그래밍
-
동시성과 병렬성을 잘 지원
-
가변 상태를 원천적으로 제거했기에 , 쓰레드-안전 보장 , 병렬처리가 쉽다.
-
-
클로저 방식 - 아이덴티티와 상태 분리하기
-
클로저 언어는 명령형 프로그래밍과 함수형 프로그래밍을 효과적으로 결합 , 둘의 가진 장점 극대화
-
-
액터
-
벙용의 동시성 프로그래밍 모델
-
공유 메모리와 분산 메모리 아키택처 양측에서 활용 가능
-
지리적 분산을 적극 지원하고 , 장애 허용과 탄력성에 대한 지원이 특히 강하다.
-
-
순차 프로세스 통신(CSP)
-
액터 모델과 공통점이 많다
-
커뮤니케이션을 위해 액터 같은 개체가 아닌 채널이라는 개념을 사용
-
-
데이터 병렬성
-
그래픽 처리를 위해서 GPU가 사용되지만 , 다른 여러가지 작업을 위해 활용가능
-
-
람다 아키텍처
-
병렬성이 아니면 빅데이터 처리는 불가능하다.
-
맵리듀스와 스트리밍 프로세스의 장점을 겹합해서, 다양한 빅데이터 문제를 해결
-
-
다음의 질문의 염두하며 공부
-
이 모델은 동시성 문제, 병렬성 문제, 혹은 두개를 모두 해결하는 데 적합한가?
-
이 모델은 어떤 병렬 아키텍처를 타깃으로 삼고 있는가?
-
이 모델은 탄력성을 갖춘 코드, 혹은 지리적으로 분산된 코드를 작성할 때 필요한 도구를 제공하는가?
-
-
- 동시성 혹은 병렬성?
-
쓰레드와 잠금장치
- 동작하는 가장 단순한 코드
-
쓰레드와 잠감장치는 사용할 때 따르는 제약이 거의 없기 때문에 , 실력이 부족한 프로그래머를 보호해 주는 기능도 없다, 따라서 정상 동작하는 코드를 작성하는 것 자체가 쉽지 않으며, 그런 코드를 유지보수하는 것은 더더울 어렵다.
-
- 1일차 : 상호 배제와 메모리 모델
-
3가지 주요한 위험 요소: 경쟁조건, 데드락, 메모리 가시성
-
위 위험 요소를 피하는데 도움이 되는 규칙
-
공유되는 변수에 대한 접근을 반드시 동기화 (경쟁조건)
-
쓰는 스레드와 읽는 쓰레드가 모두 동기화 (경쟁조건 geter , setter)
-
여러 개의 잠금장치를 미리 정해지 공통의 순서에 따라 요청
-
잠금장치를 가진 상태에서 외부 메서드를 호출하지 않는다
-
잠금장치는 최대한 짧게 보유한다 (Copy)
-
-
- 2일차 : 내재된 잠금장치를 넘어서
-
내재된 잠금장치의 한계
-
내재된 잠금장치를 얻으려고 하다가 블로킹 상태에서 빠진 스레드를 원상복귀시킬 방법이 없다
-
내재된 잠금장치를 얻으려고 노력하는 시간을 강제로 중단시키는 타임아웃 기능이 없다.
-
내재된 잠금장치를 얻는 방법이 하나만 존재한다 , Synchronized 블록 , Lock 블록 사용
-
-
내재된 잠금장치를 극복
-
ReentrantLock , java.util.concurrent.atomic을 이용하면
-
잠금장치를 얻고자 기다리는 과정을 가로챌 수 있다
-
잠금장치를 기다리는 동안 타임아웃이 발생할 수 있다
-
잠금장치를 얻고 반납하는 동작이 임의의 순서로 일어날 수 있다.
-
임의의 조건이 참이되는 것을 기다리기 위해 조건 변소를 사용할 수 있다.
-
원자 변수를 이용해서 잠금장치를 사용하는 것을 피할 수 있다.
-
-
-
- 3일차 : 거인의 어깨 위에서
-
쓰레드를 직접 만드는 대신 스레드 풀을 이용한다. Taskpool in c#
-
CopyonWriteArrayList in java , SynchronizedCollection in c#
-
blocking Queue , 생산자 , 소비자 / System.Collections.Concurrent.ConcurrentQueue in C#
-
ConcurrentHashMap을 이용해 맵에 대한 동시적인 접근을 지원한다. / ConcurrentDictionary in c#
-
- 마치며
-
쓰레드와 잠금장치를 이용한 프로그래밍
-
분류1 : 올바르게 사용하는 것이 너무나 어렵게 느껴지기 때문에 사용을 회피, 멀티 스레드 코드를 작성하는 것을 원치 않음
-
분류2 : 몇 개의 간단한 규칙만 지켜지면 충분하고, 그렇게 하는 것이야 말로 다른 어떤 형태의 프로그래밍과 다를 바 없다고 여긴다.
-
-
장점 - 기계 자체에 가깝기 떄문에 정확하게 사용되면 매우 효율적일 수 있다.
-
단점 - 병렬성을 지원하지 않는다. C# task로 작성된 코드는 병렬성을 지원? , 어렵다.
-
방 안의 코끼리 - 멀티스레딩 프로그래밍을 어렵게 만드는 것은 코드를 작성하는 것이 어려운 것이 아니라 테스트하는 것이 어렵기 떄문이다.
-
- 동작하는 가장 단순한 코드
-
함수형 프로그래밍 -
- 문제가 있으면 멈추는 것이 상책이다.
-
값이 변하지 않는 데이타는 잠금장치가 없어도 여러 개의 스레드가 언전하게 접근할 수 있다.
-
자바 같은 언어에서는 가변상태를 마드는 것이 너무 쉽다는 게 문제다, 코드가 그런식으로 작성되면 그걸 알아채는 것이 사실상 불가능에 가깝다는 것은 더 큰 문제다.
-
- 1일차 : 가변 상태없이 프로그래밍하기
- 2일차 : 함수 병렬화
- 3일차 : 함수 동시성
-
자바와 같은 명령형 언어에서는 발생하는 동작 순서가 소스 코드에 적힌 명령문의 순서와 밀접히 관련이 있다.
-
함수형 언어는 선언적인 느낌이 훨씬 강하다. 어떤 연산을 어떻게 수행하는 방법을 일일이 적는 대시, 결과가 무엇이 되어야 하는지를 적는 것이다. 계산 순서를 정하는 것이 유동적이며, 함수의 코드의 병렬화가 쉽다.
-
참조 투명성- 함수에 대한 호출을 그것이 리턴한느 값으로 바꾸어도 프로그램의 동작에는 아무 차이가 없다. (+ 1 (+ 2 3 )) == (+1 5)
-
- 마치며
- 문제가 있으면 멈추는 것이 상책이다.
-
클로저 방식 - 아이덴티티를 상태에서 분리하기두 세계의 장점1일차 : 원자의 영속적인 자료구조2일차 : 에이전트와 소프트웨어 트랜잭션 메모리3일차 : 자세히마치며
-
액터객체보다 더욱 객체 지향적인1일차 : 메시지와 메일박스2일차 : 에러 처리와 유연성3일차 : 분산마치며
-
순차 프로세스 통신의사 소통이 모든 것이다1일차 : 채널과 고 블록2일차 : 여러 개의 채널과 I/O3일차 : 클라이언트 측면의 CSP마치며
-
데이터 병렬성노트북 속에 감춰진 슈퍼 컴퓨터1일차 : GPGPU 프로그래밍2일차 : 다차원과 작업 그룹3일차 : OpenCL 과 OpenGL - 데이터를 GPU에 놓기마치며
-
람다 아키텍처병렬성이 빅데이터를 가능하게 만든다1일 차 : 맵리듀스2일차 : 배치 계층3일차 : 속도 계층마치며
마치며어디로 나아가는가?포함하지 않은 것들여러분 차례다
- 지은이의 글
- 마이크로소프트, 세이버와 같은 휩쓸고 있는 전자예약 시스템 시장에 오비츠라는 회사가 성공적으로 진입할 수 있었던 이유는 경쟁사가 사용하고 있는 언어보다 더 좋은 프로그래미 언어를 사용했기 떄문이다.
- 프로그래머들은 자기가 사용하는 언어에 따라서 작은 부족으로 나뉘는 경향이 있다. 그들이 만드는 소프트웨어의 종류가 아니라 언어에 따라서 나뉘는 것이다. => 지은이는
- 소프트웨어에서 혁신이 너무나 중요한데, 사실 혁신과 이단은 원칙적으로 같은 것이기 때문이다. 좋은 해커는 모든 것에 대해서 의문을 품는 습관을 지니고 있다.
- 공부벌레는 왜 인기가 없을까?
- 해커와 화가
- 해커들에게 있어서 컴퓨터는 자기를 표현하기 위한 매체에 불과하다. 건축가에게는 콘크리트가, 화가에게는 그림이 그런 역활을 하는 것과 마찬가지다. 결과적으로 한 학과 안에 수학자, 물리학자, 그리고 건축가를 뒤섞어 놓은 것과 같이 된다. => 동의
- 무언가 아름다운 것을 만드는 방법(멋진 소프트웨어를 작성) 은 대개 이미 존재하는 것을 살짝 뒤틀거나, 아니면 알려진 아이디어 몇 개를 새로운 방식으로 결합하는 것이다. 그리고 이런 종류의 일은 연구 논문으로 설명하기 어렵다.
- 아름다운 소프트웨어인지 아닌지 측정할 수 있는 유일한 방법은 시간이다. 시간이 지남에 따라서 아름다운 것은 퍼지고 못난 것은 사라진다.
- 해커는 계산 이론에 대해서 알아야한다. 예컨대 해거는 시간과 공간의 복잡성을 계산하는 방법을 알아야하고 파서를 작성하고 싶으면 상태 머신의 개념을 알아야한다.
- 전체적인 프로그램을 미리 신중하게 적어서 생각하는 방향이 옳은지 여부를 확인하기 전에 조각난 코드부터 대책 없이 늘어놓은 다음 그것의 모양을 조금씩 잡아 나가는 방법으로 프로그래밍을 했다. 프로그래밍이 자체가 디버깅
- 화가의 '스케치' 화가의 작업이 그런 것처럼 프로그램이란 전체 모습을 미리 알 수 있는 것이 아니라 작성해 나가면서 이해하게 되는 존재다. => 동의
- 정적인 타이핑 , 해커에게 필요한 언어는 마음껏 내갈기고, 더럽히고, 사방에 떡칠할 수 있는 언어다. 엄격한 컴파일러 숙모와 마주 앉아 데이터 타입을 채운 찻잔을 무릅위에 다소곳이 놓고 대화할때 쓰는 언어가 아니다.
- 대학과 연구소는 해커에게 모종의 과학자가 될 것을 강요하고, 회사는 엔지니어가 될 것을 요구한다.
- 야후의 일원이 되었을때 그들이 말하는 해킹은 내가 알고 있는 것처럼 소프트웨어를 디자인하는 것이아니라 단지 구현하는 것에 불과함을 알게 되었다. 그들에게 있어서 프로그래머는 제품 관리자의 비전을 코드로 전환하는 기술자에 불과 했다.
- 극소수의 해커만이 소프트웨어를 실제로 설계할 수 있으면, 회사를 경영하는 사람이 그 일을 대신 하기는 어렵다 그래서 대부분의 회사는 소프트웨어의 미래를 한 명의 천재적인 해커에게 맡기기보다는, 여러 명으로 구성된 팀으로 소프트웨어를 설계하고 해커들에게는 단순 구현을 맡긴다.
- 스타트업 회사가 승리할 수 있는 비결 중 하나: 큰 회사는 최악의 재난을 피하기 위해서 설계 산출물에 대한 표준 편차를 줄이려고 노력한다. 하지만 활기차게 진동하는 기운을 억누르면 진폭의 저점만이 아니라 고점도 함꼐 잃어버림을 기억해야 한다. 큰 회사는 출륭한 제품을 만들어서 번창하는 것이 아니기 떄문에 고점의 상실이 문제 되지 않는다. 그들은 다른 큰 회사에 비해서 상대적으로 덜 망치면 되는 것이다.
- 따라서 덩치가 크기 때문에 소프트웨어가 제품관리자에 의해서 설계되어야 하는 회사와 당신의 회사가 설계를 놓고 전쟁을 치르는 상활을 만들어 내기만 하면 그들은 절대로 당신의 회사를 따라잡을 수 없다.
- 하지만 그렇상황을 만들어 내기란 쉬운 일은 아니다. 예를 들어 마이크로소프트의 워드보다 더 훌륭한 워드프로세서를 만드는 것 자체는 어려운 일이 아지만 운영체제 독점이라는 철벽 안에 숨어 있는 마이크로소프트는 그런 워드프로세서가 개발되었다는 사실조차 알지 못할 것인다.
- 디자인 전쟁을 치르기 좋은 장소는 아직 누구도 요새를 구축하지 못한 새로운 시장인 것이다. 그곳에서 당신을 한 사람(해커)이 제품을 디자인하고 구현하도록 만드는 대담한 방식을 통해서 커다란 승리를 거둘 수 있다.
- 훌륭한 소프르퉤어를 만드는 방법은 자기 자신의 스타트업 회사를 만드는 것이다 하지만 2가지 문제가 있다.
- 소프트웨어를 작성하는 일 이외에도 여러가지 다른일을 해야한다. 4분의 3의 시간에 짜증하는 일을 처리해야 한다.
- .돈을 벌 수 있는 소프트웨어와 작성하고 싶은 재미있는 소프트웨어 사이에는 별로 겹치는 부분이 없다는 사실이다. 돈을 벌고 싶다면 자기에게 흥미로운 일을 찾을 것이 아니라, 너무나 짜증 나는 일이라서 누구도 그것을 공짜로 해결할 엄두를 내지 않는 힘겨운 일을 찾아야 할 것이다.
- 우리가 프로그래머를 면접 볼 때 집중적으로 물어본 질문은 그가 여유 시간에 작성한 소프트웨어가 무엇인가 하는 것이었다. 무엇을 진정으로 사랑하지 않는다면 그것을 정말로 잘 해낼 수 없다. 마찬가지로 해킹을 정말로 좋아한다면 자기 자신의 프로젝트를 수행하지 않고는 견딜 수가 없을 것이다. => 동의하지만 나는 재미를 느끼지만 이정도로 미처 있지는 않은 것 같다.
- 해커는 과학자라기보다 창조자에 가깝다. 하나의 프로젝트를 붙들고 몇 년 동안 일하면서 나중에 새롭게 떠오느는 생각은 프로젝트에 부준적으로 적용하여 개정판을 만들어 나가는 것보다는 화가와 같이 처움부터 새롭게 시작하는 프로젝트를 규칙적으로 반복하는 것이 더 바람직하다고 본다.
- 해커들도 좋은 프로그램을 들여다봄으로써 프로그래밍을 배운다. 겉핥기식으로 프로그램이 어떤 일을 하는지만 보는 것이 아니라 내부의 소스코드를 들여다 보는 것이다.
- 대부분의 사람이 성는의 최적화를 지나치게 일찍 시도하는 것이 위험하다는 사실을 알게되었다. 너무 성급한 디자인도 성능의 최적화와 똑같은 정도로 빈판의 대상이 되어야 옳다.
- 좋은 프로그래밍 언어는 중간에 바뀌는 것을 쉽게 만들어 주어야 한다. 동적인 타이핑은 특정한 데이터 표현을 처음부터 고민할 필요가 없기 떄문에 바로 이런 상황에 적합하다. 하지만 이와같은 유연성을 위해서는 언어를 매우 추상적으로 만들어야 한다. 수정하기에 가장 쉬운 프로그램은 결국 짧은 프로그램이이기 때문이다. => 동의
- 그림이든 해킹이든 격정적인 열망을 요구하는 순가이 있는가 하면, 조횽히 반복되는 잔잔한 업무도 있다. 그래서 열정이 아주 식는 것을 방지하기 위해서 조용히 쉬는 순간이 왔을 때 할 만한 단순한 일을 남겨두는 것도 좋은 방법이다. 이말은 해킹의 경우 약간의 버그를 남겨준다는 것을 의미한다.
- 사물을 언제나 다른 사람의 시각에서 바라보도록 노력하라는 말을 듣곤 했다. 이 말이 의미하는 바는 보통 내가 원하는 것이 아니라 다른 사람이 원하는 것을 하라는 것이다. 감정이입을 부정적으로 생각하게 하는 말이다. 나중에 사물을 다른 사람의 입장에서 바라본다는 것이 곧 성공의 비밀이라는 사실을 나중에 깨달았다.
- 어느 사람이 감정이입을 잘하는지 여부를 판별하는 좋은 방법은 기본 지식이 없는 사람에게 어떤 기술적인 내용을 설명해 보라고 시키든 것이다.
- 소프트웨어가 수행해야 하는 일의 일부는 자기 자신을 설명하는 것이다 따라서 좋은 소프트웨어를 만들기 위해서는 도대체 사용자가 얼마나 조금 알고 있는지을 이해해야한다. 사용자가 아무 생각없이 만지작 거려도 재대로 작동하는 것이다. => 애플 매키토시가 그런일을 해냈다.
- 프로그램은 오직 사람이 읽기 위해서 작성되어야 한다. 컴퓨터가 그것을 실행하는 것은 부가적인 일이다.
- 우리가 말할 수 없는 것
- 사람들을 화나게 만드는 말이 있다면 그것은 다른 사람들이 믿을지도 모를 만큼 진실에 근접한 말이다.
- 모범적인 '불량 태도'
- 또 하나의 길
- Application service provider => ASP
- 사용자를 위한 승리
- 웹기반 어플리케이션이란 웹 서버에서 동작하면서 웹 페이지를 사용한 인터페이스로 사용하는 프로그램이다. 일반 사용자들에게 있어서는 이러한 소프트웨어가 더 쉽고, 싸고, 이동성이 좋고 , 안정적이면, 데스크톱 소프트웨어보다 훨씬 더 강력하다.
- '내 컴퓨터'라는 개년은 사라져가고 있으며 대신 '내 데이터"라는 개념이 도래하고 있다. 그 데이터는 어떤 컴퓨터에서도 접근이 가능해야 한다. 사실 꼭 컴퓨터일 필요조차 없는 어떤 클라이언트에서 접근이 가능해야한다고 말하는 것이 더 정활할 것이다.
- 클라이언트는 데이터를 저장하지 않아야 한다.
- 웹 기반 애플리케이션에는 사람들이 모두 동일한 버전을 사용하며, 버그는 눈에 띄자마자 수정된다. 그래서 웹 기반 소프트웨어는 데스크탑 소프트웨어에 비해 버그가 적다.
- 웹 기반 애플리케이션은 여러 사람에 의해서 동시에 사용될 수도 있다.
- 웹기반 어플리케이션을을 사용하면 데이터는 더욱 안전하게 보호된다.
- 웹 기반 소프트웨어는 바이러스의 침투에 대해서 내성이 있는 편이다.
- 오늘날의 최상위 해커들은 C, C++ 로 부터 멀리 떨어저 있는 언어를 사용한다. 그것은 펄, 파이썬, 그리고 심지어 리스프다.
- 릴리즈
- 전형적인 데스크톱 소프트웨어 회사는 보통 일년에 한두 번 정도 릴리즈 한다. 비아웹 시절에 우리는 하루에 세 번에서 다섯 번의 릴리즈를 수행했다.
- 서버에 게반한 소프트웨어에서는 대부준의 변경 폭이 작고 점진적이다. 그래서 그 자체로는 버그를 초래할 가능성이 낮다.
- 소프트웨어를 릴리즈하게 위해서 테스트할 대상이 무엇인지 정확히 알 수 있다는 장점도 제공한다. 테스트할 대상은 바로 맨 마지막에 수정한 내용인 것이다. 겨국 코드의 내용을 확실하게 파악할 수 있게 된다.
- 제대로 작동하지 않는 소프트웨어를 출시하는 일이 없다. 소프트웨어를 제대로 작동하는지 확인한 순간이 바로 출시일이다.
- 버그 잡기
- 웹 앱은 거의 모든 버그를 재현할 수 있다. 사용자의 데이터를 바로 눈앞에 있는 개발 디스크에 담고 있기 때문이다.
- 수정한 내용을 릴리즈하기 전에도 일정한 테스트를 수행하므로 치명적인 버그가 실수로 릴리즈되는 경우는 없다.
- 새로 등장한 버그를 수정하는 것은 오래 묵은 버그를 잡는 것보다 수월하다.
- 버그를 일찍 잡아낸다는 것은 여러 개의 문제가 결합된 복합적인 버거의 가능성을 줄인다는 의미
- 함수형 프로그래밍( Funcional programming)을 사용. 부작용을 피하는 것을 의미한다.
- 코드 전체를 순수하게 함수 프로그래밍으로 작성할 수는 없지만, 실적적인 크기의 코드 덩어리를 함수 프로그래밍으로 작성할 수 있는 있다. 이러한 방법으로 작성된 코드는 상태(State)를 갖지 않기 때문에 테스트하기에 간편하며 , 특히 코드를 지속적으로 고치면서 테스트할 때 매우 편리하다.
- 고객지원
- 버그를 그 자리에서 수정한다는 우리의 정책은 고객 지원담당 직원과 해커의 관계를 재정립했다.
- 고객 지원 담당 직원이 버그에 대해서 설명을 듣고, 프로그래머에게 전달한 모종의 양식을 작성한다. 그리고 프로그래머는 그것을 자신의 할 일 목록에 추가
- 비아웹: 고객 담당 직원이 버그를 접수하자마자 프로그래머에게 버그라는 말을 듣게 했다. 프로그래머와 가깝게 지내며 그들은 QA이면 마케팅을 담당하기도 했다.
- 단순히 버그를 찾는데서 그치는 것이 아니라 사용자를 다소 혼란스럽게 하는 복잡한 문제에 대한 지식을 보존하는 지킴이 까지 이르렇다. 사용자 그룹을 대행하는 역할 까지 수행했다.
- 브룩의 가설 역적용 - 맨먼스 미신
- 적은 수의 프로그래머로 소프트웨어를 개발할 수 있다면, 그것이 절약해 주는 것은 돈에 그치지 않든다.
- 프로젝트에 사람을 더 많이 투입하는 것은 오히려 프로젝트의 진행 속도를 둔화 시킨다. 개발자 사이에 연결할 수 있는 선의 수는 팀의 크기가 증가함에 따라서 기하급수적으로 늘어난다.
- 그룹이 커질수록 그들은 소프트웨어가 어떻게 작동해야 하는지에 대한 논의에 더 많은 시간을 투입해야 하고, 미처 예상하지 못한 버그가 끊임없이 출현하는 것은 목격하게 된다.
- 그룩의 크기가 작아질 수록, 소프트웨어 개발은 효율성이 기하급수적으로 높아진다.
- 비아웹으 프로그래머가 실질적으로 희의에 참석하는 것을 본적이 없다.
- 점심을 먹으러 걸어가는 동한 하룻 있는 이야기보다 더 많은 이야기를 모여서 해야할 필요가 없었다.
- 단점은 모든 프로그래머가 어느 정도는 시스템 관리자의 역할도 수행해야 한다는 것이다. => 클라우드가 역할을 대신 한다. :)
- 웹 앱은 코드를 작성하고 체크인하고, 집으로 돌아가면 모든 것이 끝나는 그런 것이 아니다. 그것은 지금 서버 안에서 살고 있는 생물이다.
- 악성 버그가 중단시키는 것은 사용자 한 명의 작업이 아니다. 그것은 모든 것을 중단시킨다. 당신이 작성한 코드가 디스크에 있는 데이터를 오염 시킨다면 그것을 바로 그 순간 고처야 한다. 코드를 한밤중에 릴리즈하면 곤란하다.
- 사용자 관찰하기
- 소프트웨어는 사용자가 기대하는 대로 작동해야한다.
- 사용자가 어떤 행동을 취하는지 직접 보기 전에는 사용자가 무슨 생각을 하는지 결코 알 수 없다. 하지만 웹 앱은 사용자의 행위에 대해 전례가 없을 정도로 풍부한 정보를 제공해준다.
- 하드웨어 비용은 운영자가 감당해야 하기 떄문에 서버 중심의 소프트웨어에서 효율성은 실질적인 의미를 가진다. 서버 한 대당 지원할 수 있는 사용자의 수는 전체 자본 비용을 나누는 분모가 된다. 따라서 소프트웨어를 효율적으로 작성하면 경쟁 업체와의 가격 경쟁을 앞지르면서 계쏙 이익을 남길 수 있다.
- 사용자를 관찰하는 것은 최적화만이 아니라 설계에도 도움은 준다
- 그들이 곤란한 문제에 부딪히는 시점을 알 수 있다.
- 고객은 언제나 옳기 때문에 그것은 당신이 무언가를 수정해야 한다는 것을 의미한다.
- 대부분의 신규 사용자를 시험 운전을 통해서 확보했다. 사용자가 시험 운전을 성공시킬 수 있으면 그들은 그제품을 좋아할 것이다. 하지만 혼동이나 지루함을 느낀다면 그 제품을 좋아하지 않을 것이다.
- 시험 운전을 통해서 많은 사람을 확보할 수 있었다는 사실은 우리의 성장률을 높이는 데 크게 기여했다.
- 시험운전을 치르는 사람이 보여주는 클릭의 패턴을 연구해서 그들이 어느 순간에 혼란을 느끼고 브러우저의 뒤로가기 버튼을 누르는지 찾아냈다.
- 돈의 경로
- 소프트웨어는 "사용료 비즈니스"
- 처음부터 솔직하게 사용료를 거두는 것이, 사용자에게 돈을 받으려고 그들에게 소프트웨어의 새 버전을 구입하고 설치하도록 강제하는 것보다 낫다. 웹 기반 앱에서는 이렇게 사용료를 받는 것이 자연스럽다.
- 웹 기반 앱은 구입하기가 간편하기 떄문에 데스크톱 소프트웨에 비해서 잘 팔리기도 한다.
- 웹 기반 앱은 가끔 소매상 역할을 담당하는 ISP를 통해서 판매되기도 한다. 이것은 좋은 생각이 아니다.
- 하드웨어와 소프트웨어는 둘 다 지속적으로 개선될 필요가 있기 때문에 서버를 관리하는 사람은 당신 자신이 되어야 한다.
- 서버에 대한 직접적인 통제권을 포기한다면, 웹 기반 앱이 가지고 있는 장점의 많은 부분을 포기하는 것이된다.
- 고객 찾기
- 여러분은 돈을 안전하게 보관하고자 할 떄 자신의 베개 아래 감춰 두는가 아니면 은행에 맡기는가? 이러한 논리는 서버 관리에도 적용시킬 수 있다.
- 보안 관점에서만 아니라, 업타임, 대역폭, 로드 관리, 백업 등의 면에도 그대로 해당된다. 우리의 존재 자체는 바로 이런 일을 제대로 처리하는가 아니가에 달려 있다.
- 서버에 문제가 발생한다는 것은, 마치 아이들이 가지고 놀기에 위험한 장난감이 유통되거나 음식에서 살모넬라가 발생하는 것처럼 도저히 용납할 수 없는 일이다.
- 인트라넷은 인터넷, 클라우드보다 비싼 것이다.
- 서버의 아들
- 요즘 시작하는 스타트업이 웹 기반 앱을 작성하는 다른 이유는 데스크톱 앱을 개발하는 것이 예전에 비해서 훨씬 재미가 덜하게 되었다.
- OS에 종속된 소프트웨어 개발은 OS 회사의 시작 분석을 도와주는 것과 다름 없다.
- 스타트업을 넘어서
- 고전적인 스타트업은 적은 수의 사람과 적은 돈으로 꾸려진 빠르고 비형식적인 회사다. 그들은 매우 열심히 일하면, 그들이 내리는 기술적인 결정은 효과를 극대화 한다. 일단 성공하면 그 성공은 엄청난 것이다.
- 웹 기반 앱을 작성하는 스타트업 안에서는 모든 것이 극잔으로 치닫게 된다. 당신은 훨씬 더 적은 수의 사람과 돈으로 새로운 제품을 작성하고 출시할 수 있다. 당신은 빠르고 비형식적이어야 한다.
- 스타트업은 스트레스로 가득 차 있는데, 불행하게도 그것은 웹 기반 앱에 더 극단으로 치닫는다.
- 많은 소프트웨어 회사의 개발자들이 적어도 초기 단계에는 책상 아래에서 잠을자거나 한다.
- 최악은 일하는 시간이 아니라 책임감
- 프로그래머는 버그에 대해서 걱정하고, 시스템 관리자는 인프라에 걱정한다.
- 웹 기반 앱에서는 이 두가지 스트레스가 하나로 결합한다. 프로그래머가 시스템 관리자가 되는 것이다.
- 데스크탑 소프트웨어는 사용자가 시스템 관리자가 되도록 강제한다. 웹 기반 소프트웨어는 프로그래머가 관리자가 되도록 강제한다. 큰회사와 경쟁하는 작은 스타트업 회사 입장에서 보면 그건 좋은 소식이다. 결국 웹 기반 앱은 경재자를 물리칠 수 있는 손쉬운 방법을 제공하는 것이다. 스타트업 회사 운영자 중에서 이 사실을 모르는 사람은 없다.
- 안될 이유는 없다.
- 스타트업을 시작하고 싶은 해커가 실행에 옮기지 못하는 이유
- 비즈니스에 대해서 아무것도 모른다
- 경쟁이 두렵다
- 비즈니스에 대해서 알아야 하는 것은 오직 두 가지 뿐이다.
- 사용자가 좋아할 만한 것을 만드는 것
- 자기가 쓰는 비용보다 더 많은 돈을 벌어야 한다.
- 무엇보다도 우선 스스로 사용하고 싶어할 만큼 간다하고 깔끔한 소프트웨어를 만드는 데에서 출발하라. 1.0 버젼을 빠르게 내놓은 다음,
- 사용자의 반응에 신중하게 귀를 기울이면서 개선해 나가라. 고객은 언제나 옳지만 , 서로 다른 고객은 서로다른 의견을 내어놓기도한다.
- 경험이 부족한 사용자는 기능을 더 단순하고 명확하게 만들라고 지적
- 경험이 풍부한 사용자는 - 새롭게 추가하는 기능에 대해 이야기
- 당신이 만든 소프트웨어를 비교할 대상은 경쟁자의 소프트웨어가 아니라, 소프트웨어가 도달할 수 있는 최고의 경지가 되어야 한다.
- 당신이 작성한 소프트웨어를 언제나 직접 사용해 보아야 한다.
- 소프트웨어는 그것에 대해서 아무것도 모르는 설계자가 아니라 설계방식을 잘 이해하고 있는 해커에 의해서 만들어저야 한다.
- 당신이 소프트웨어의 설계와 적용을 모두 할 수 있는 상황이 아니라면 아예 처음부터 스타트업을 시작하지 말아야 한다.
- 내가 당신이라면 자바스크립트 조차 사용하지 않을 것이다. 웹에서 보게 되는 자바스크립트는 대부분 불필요하고 많은 수가 버그를 안고 있다.그리고 이제 휴대폰에서 웹을 브라우징하는 시절이 온다면 자바스크립트가 지원이 된다고 어떻게 장담할 수 있는가?
- 부자가 되는 법
- 스타트업을 시작하거나 스타트업에 참여
- 스타트업이란 어려운 기술적인 문제에 도전하는 작은 회사
- 명제
- 스타트업이란 한 사람이 평생 할 일을 몇 년이라는 짧은 시간으로 압축시키는 것이다.
- 낮은 밀도록 40년 일하는 대신, 당신이 할 수 있는 최고의 속도로 딱 4년만 일하느 ㄴ것이다.
- 이런 태도는 빠른 속도가 삶과 죽을 가르는 테크놀로지 분야에는 큰 장점
- 스타트업은 마술이 아니다. 여기에도 질량 보존의 법칙이 존재한다.
- 당신이 백만 달러를 벌기 원하면, 백만 달러 어치의 고통을 감수해야 한다.
- 억만 달러가 아니라 백만 달러
- 실제를 부자가 되는 방법은 간단하다. 사람들이 원하는 뭔가를 하거나 만들면 되는 것이다.
- 돈은 부가 아니다.
- 부는 돈과 같은 것이 아니다.
- 돈이 부에 이르는 지금길 이기 때문에 사람들은 항상 돈에 대해 이야기
- 대부분의 비즈니스가 진짜로 하는 일은 부를 창출하는 것이다. 사람들이 원하는 무엇을 수행하는 것이다.
- 파이의 괘변
- 당신은 더 많은 부를 만들 수 있다. 부는 인류의 역사 속에서 창조되고 파괴되어 왔다.
- 장인
- 부가 새롭게 만들어질 수 있는 무엇이라는 점을 쉽게 이해하는 사람, 장인
- 현존하는 장인 중에서 제일 큰 규모를 이루고 있는 사람들이 컴퓨터프로그래머
- 상위의 5%에 속하는 프로그래머가 제대로 된 소프트웨어의 99%를 작성하는 것이다.
- 해커들은 누구나 무료로 이용할 수 있는 오픈소스 소프트웨어를 작성함으로써 그들이 창출한 부를 사회에 제공한다.
- 직업이란 무엇인가
- 당신이 회사에서 하는 일은 다른 사람들이 하는 일과 뭉뜽그러져서 하나의 평균값으로 평가된다.
- 회사라는 것은 결국 사람들이 원하는 일을 하기 위해서 여러 사람이 한 자리에 모인 것에 불과하다. 중요한 것은 어떻 그룹에 소속되는 것이 아니라, 사람들이 원하는 일을 하는 것이다.
- 대개 사람들에게 최고의 선택은 이미 존재하는 회사에 들어가는 것이다. 하지만 당신이 수행한 일이 다른 사람들이 수행한 일과 함께 하나의 평균값으로 뭉뚱그러지는 것이다.
- 더 열심히 일하기
- 많은 일을 하더라고 당신의 성과는 평균이 된다는 것이다.
- 영업직원과, 최고 경영자만 성과에 따라 월급을 지급한다.
- 어느 회사가 판매 직원이나 최고 경영자 이외에 모든 직원에게 그렇게 쉽고 정확하게 지급할 수 있는 체계를 갖췄다면 그 회사는 성공을 거둘 것이다.
- 당신이 빠르게 전진하고 싶다면 일이 다른 사람의 일과 한 덩어리로 뭉처 있다는 사실이 문제가 된다. 커다란 조직에서 당신의 능력은 독자적으로 측정되는 대상이 아니다. 다른 사람이 당신의 일을 지연 시킨다.
- 정당한 평가와 영향력
- 부자가 되기 위에서 두가지를 갖춘 환경에 있어야 한다.
- 무엇보다도 사람들의 능력을 공평하게 평가하는 곳에 있어야 한다.
- 그렇지 안하면 더 많이 일해 더 많이 받는 것이 불가능해진다.
- 그와 동시에 영향력도 있어야 한다.
- 당신이 내린 결정이 큰 영향을 행사할 수 있는 상황을 만들 필요가 있다는 뜻
- 당신이 제법 안전하다고 느껴지는 직업을 가지고 있다면 당신은 부자가 될 가능성이 없다. 위험이 존재하지 않는 곳에는 영향력이 존재할 이유가 없기 때문이다.
- 어려운 문제를 해결하기 위해서 모인 작고, 활기찬 집단에 소속되는 것이 필요하다.
- 소규모 = 정당한 평가
- 스타트업을 시작, 합류 한다는 것은 결국 자기 보스에게 가서 이제부터 열배로 열심히 일한 테니 그에 맞도록 열 배의 급여를 달라고 주장할 수 있는 상황에 가까워지는 것을 의미한다.
- 그말을 보스에게 하는 것이 아니라 고객에게 한다는 것
- 일을 혼자서 하는 것이 아니라 비슷한 정도로 야심 찬 사람으로 이루어진 작은 그룹 안에서 수행
- 스티브 잡스는 스타트업의 성공과 실패는 처음 열 명이 어떻게 구성되는가에 달려 있다고 지적했다.
- 테크놀로지 = 영향력
- 계란을 굽거나 머리를 깍는 일은 손님 한 사람에 대해서만 수행할 수 있다.
- 하지만 많은 사람이 관심을 가지고 있는 일과 관련된 기술적인 어려움을 해결하는 것은 모든 사람을 한꺼번에 돕는 일이다 이것이 바로 영향력의 위력이다.
- 규모가 작다는 것과 어려운 문제를 해결한 다는 것 사이에 자연스러운 궁합이 존재.
- 우리가 일부러 어려운 문제를 찾으려고 노력했다는 사실디다.
- 추가 기능이 두가지 있을때 그 기능이 가지 가치가 어려운 정도에 비례한다고 했을 때, 언제나 어려운 쪽을 선택했다.
- 당신의 생각과 똑같은 제품을 개발하는 것이 얼마나 어렵습니까? 라는 질문은 당신과 잠재력 경쟁자 사이에 얼마나 깊은 골을 파 놓았는지를 물을 것이다.
- 따라서 당신의 테크놀로지를 똑같이 복제하는 것이 얼마나 어려운지에 대해서 설명할 준비를 하는 것이 좋다.
- 그렇지 않으면 큰 회사가 당신의 아이디어에 대해서 알게 되었을 때, 그들이 가진 브랜드, 자본, 배급망을 동원해서 똑같은 제품을 만들고 시장을 순식간에 빼앗아 갈 것이다.
- 진입장벽을 구축하는 하나의 방법은 특허는 별로 대단한 보호장치가 되지 못한다.
- 최선의 방어는 공경이다. 경쟁자들이 복제할 수 없을 정도의 제품을 만들면 고민할 필요가 없는 것이다.
- 시작 자체를 가장 어려운 문제에서 출발한 다음, 의사결정을 내려야 하는 고비를 만날 때마다 더 어려운 쪽을 선택해 나가는 것이다.
- 함정
- 잠깐이라도 쉬어갈 수 있는 시간을 당신이 결정 할 수 없다는 사실이다.
- 일을 몇 배로 더 많이 해야하는지에 대해서도 스스로 결정을 내릴 수 없다.
- 스타트업에서도 수입과 생산성 사이에 존재하는 비례관계가 평균적인 수준에서 그친다. 30배의 생산이 30배의 수입은 아니다.
- 스타트업은 모기와 비슷하다 , 오직 하나의 목적을 위해서 만들어졌다.
- 효율성을 극대화 , 점수를 올리는 것이다.
- 자기가 세운 스타트업을 낮은 가격에라도 확실한 수익을 위해서 성장 가능성(그리고 위험)을 포기하고 초기에 파는 것이다.
- 사용자 확보하기
- 할 수만 있다면 회사를 파는 것은 괜찮은 방법이다.
- 잠정적 구매자에게 그들의 경쟁자가 당신의 회사를 사려고 한다는 인상을 심어주는 것
- 지금 회사를 사지 않으면 나중에는 훨씬 더 많은 돈을 내야하거나, 회사가 팔리지 않으면 그들의 경쟁자로 남아 있을 것이다라는 우려를 주는 것
- 위 두가지에 있어서 중요한 것은 결국 사용자다. 구매자가 수행하는 조사는 당신이 확보한 사용자의 수에만 집중될 뿐이다.
- 성급한 최적화를 피하는 것이다. 너무 많은 기능을 붙잡고 꾸물거리지 말고 최대한 빨리 1.0 버전을 내놓아야 한다.
- 소프트웨어의 성공 여부를 정확하게 평가할 수 있는 사용자가 존재하기 전에 수행하는 최적화는 모두 근거 없는 추측에 불과할 뿐이다.
- 부란 사람들이 원하는 것이라는 사실이다. 부를 창출함으로써 부자가 되고 싶다면 사람들이 원하는 것이 무엇인지 알아야 한다.
- 테크놀로지 세계에서는 당신이 내놓은 요리를 수많은 사람이 먹는다. 그렇게 때문에 사람들이 원하는 것과 당신이 전달한 것 사이에 존재하는 아주 미세한 차이가 거대하게 증폭된다.
- 당신은 사용자 전부를 기쁘게 하거나, 아니면 그들 전부를 짜증 나게 하는 것이다.
- 어쨌든 사용자가 원하는 것에 더 가깝게 다가갈 수록 , 당신은 더 맣은 부를 창출할 수 있다.
- 부과 권력
- 스타트업이 경제적으로 무엇을 의미하는 기억
- 더 빠르게 일하고 싶다고 말하는 것과 같은 의미다.
- 50년 동안 정상적인 수준의 월급을 천천히 나누어서 받지 않고, 가능하면 그것을 한꺼번에 받고 싶다고 말하는 것이다.
- 1200년대의 유럽이 강하게 성장한 이유, 부를 창출한 사람이 그것을 갖도록 인정했기 때문이다.
- 차이에 대한 연구
- 부의 모델
- 아이들은 세장에 존재하는 부는 일정한 양으로 고정되어 있다고 믿는다.
- 부는 돈과 같은 것이 아니다.
- 부라는 것을 일을 통해서 창출하는 것이 아니라 어떤 공통의 원천으로 부터 붅배되는 것이라고 보고 있는 것이다. 아니다 다른 사람들 보다 훨씬 더 많은 수입을 올리는 사람은 더 많은 부를 창출하고 있는 사람이다.
- 부를 훔치기
- 중산층의 성장과 함께 부는 제로섬 게임에서 해방되었다. 잡스와 워즈니악을 부자가 되기위해서 다른 사람을 가난하게 만들 필요가 없었다.
- 테크놀로지의 영향력
- 부자와 가난한 사람 사이에 존재하는 차이를 넓힐 것인가?
- 확실한 것은 생산적인 사람과 그렇지 않은 사람의 차이를 더욱 넓힐 것=> 테크놀로지의 핵심이다.
- 수입과 수입 사이에 존재하는 차이를 증가시기지만 다른 차이는 감소
- 100년 전에는 부자 마차, 말을 소유 , 하인도 소유
- 현재는 부자도 , 보통 사람과 다를 바 없는 삶은 산다.
- 대부분의 사람들은 자동차를 소유한다.
- 테크놀로지가 저렴하게 만들 수 없는 유일한 대상은 브랜드다
- 사람들은 특별이 비싼 브랜드 차를 식볋할 수 있을 정도로 훈련이 잘되어 있다.
- 어떤 것에 대해서 충분한 수요가 존재하면, 테크놀로지는 그것을 대량 판재하는 것이 가능하도록 만든다, 그렇게 대량 생산된 제품은, 더 나은 제품이 아니라면, 적어도 더 편리한 제품이다. 대량 생산되 제품은 부자나 서민이나 비슷한 제품은 쓴다.
- 테크놀로지는 부자와 가난한 사람 사이에 존재하는 차이를 넓히는 것이 아니라 좁히는 것으로 보인다.
- 스팸을 위한 계획
- 창조자의 심미적 취향
- 좋은 디자인은 간단하다
- 좋은 디자인은 시간에 구애 받지 않는다.
- 좋은 디자인은 제대로 된 문제를 해결한다.
- 좋은 디자인은 무언가를 제안한다.
- 상상 그런 것은 아니지만 좋은 디자인은 조금 우습기도 하다.
- 좋은 디자인은 어렵다.
- 좋은 디자인은 간단해 보인다.
- 좋은 디자인은 대칭이다.
- 좋은 디자인은 자연을 닮았다.
- 좋은 디자인은 무언가를 다시 디자인하는 것이다.
- 좋은 디자인은 복사가 가능하다.
- 좋은 디자인은 이사할 때도 있다.
- 좋은 디자인은 뛰어난 사람들의 모임에서 나온다.
- 좋은 디자인은 대담하다
- 프로그래밍 언어에 대한 설명
- 고수준 언어
- 컴파일러는 사람이 이해하기 편한 방식으로 작성된 프로그램을 해석해서 하드웨어가 이해할 수 있는 간단한 언어(기계어)로 변환해 주는 프로그램
- 프로그램의 일부만 검사하여 그에 상응 하는 기계어를 그때그때 실행하는 인터프리터를 사용할 수도 있다.
- 언어의 전쟁
- 정말 중요한 건 제대로 될 일을 하는 것이다. 좋은 일을 하면 되는 거야.
- 안전 벨트 혹은 수갑? (정적 타이핑)
- 나는 동적 타이핑을 선호한다. 나는 무엇을 하라고 강제적으로 명령하는 언어를 싫어한다. 하지만 어떤 똑똑한 친구들은 정적 타이핑을 좋아하는 것처럼 보인다. 결국 이 질문은은 아직 정답이 없는 상태
- OOP
- 객체지향의 2가지 의미
- 당신이 객체지향 스타일로 프로그램을 짤 수 있도록 허용- 더 유연
- 당신이 반드시 객체지향 방법론으로 프로그램을 짜도록 한다.(강제)
- 100년 후의 프로그래밍 언어
- 세상에는 좋은 낭비와 나쁜 낭비가 있다. 나는 더 많이 소모함으로써 더 단순한 디자인을 얻을 수 있는 좋은 낭비에 관심이 있다.
- 우리가 새롭고 더 빠른 하드웨어를 통해서 얻을 사이클을 마음껏 낭비할 수 있는 기회를 어떻게 활용한 것인가?
- 구현에 대해서 적게 정해 놓을 수록 프로그램이 더 유연해지기도 한다. 스펙은 프로그램이 만들어지는 동안에 변경되기도 하는데, 이것은 단순히 불가피한 일이 아니라 바람직한 일이기도 하다.
- 비효율적인 소프트웨어가 그 자체로 엉터리인 것은 아니다. 진짜 엉터리는 프로그래머에게 불필요한 일을 하도록 강제하는 언어다. 기계의 시간이 아니라, 프로그래머의 시간을 낭비하는 것이 진짜 비효율성이다. 컴퓨터의 속도가 더 빨라질수록, 이러한 사실은 점점 더 명확해질 것이다. => 동의
- 재사용성이라는 개념은 어떻게 하다보지 1980의 객체지향 프로그래밍과 연결
- 재사용성 가능성을 보장하는 것은 객체지향성이 아니라 상향식 접근 방법이다. 라이브러리를 생각해보라. 그들은 객체 지향 스타일로 작성되었뜬 아니든 하나의 언어처럼 존재하기 때문에 재사용이 가능한 것이다.
- 병렬처리
- 병령주의하는 것은 엄청난 속도를 제공하는 하드웨어와 마찬가지로 꼭 필요한 경우에는 사용하겠지만 평상시에는 사용하지 않을 것이다.
- 이것은 100년 뒤에 나타날 병렬주의가 특별한 어플리케이션을 제외한 대부분의 애플리케이션에서 별로 대단한 의미를 갖지 않으리라는 점의 시사한다.
- 100년 내에는 병렬주의는 특별한 목적의 애플리케이션을 제외한 보통 프로그램에는 사용되지 않을 가능성이 높다.
- 병렬주의를 사용한다면 그것은 성급한 최적화의 예가 될 것이다.
- 평균 뛰어 넘기
- 비밀 무기
- 에릭 레이몬드 - 진짜 심각한 해커는 리스프를 배우는 것을 고려한 필요가 있다고 했다.
- 프로그래밍 언어란 결국 도구일 뿐이다. 리스프가 진짜로 더 나은 프로그램을 산출한다면 , 당신은 그것을 사용해야 한다. 더 나은 프로그램을 산출하지 않는다면, 도대체 그 언어를 필요로 하는 사람이 누가 있겠는가.
- 스타트업에서는 당신이 잘못된 테크놀로지에 ㅂ재팅을 하게 되면, 당신의 경쟁자가 그 즉시 당신을 묵사발로 보린다.
- 리스프가 소프르퉤어를 빠르게 작성할 수 있는 언어라느 사실과, 서버기반 앱은 빠른 개발의 효과를 증폭시킬 것라는 점을 깨닫고 있었다. 서버기반 앱은 소프트웨어가 완성된 지 몇 분 많에 출식하는 것이 가능하기 때문
- 리스프를 이용하면 기능을 경재자들보다 더빠르게 구현할 수 있고, 그들이 만들지 못하느 기능을 우리는 만들 수도 있을 것이라는 점이었따.
- 고수준의 언어 이므로 비용을 낮출 수도 있었다. 더 낮은 가격으로 나은 제품
- 경쟁업체들은 우리가 갖지 못한 기능을 선보이기도 했다. 하지만 리스프를 이용한 개발 사이틀은 너무나 빨랐기 때문ㅇ네 그들이 새로운 기능을 언론에 발표한 지 하루 이틀이 지나면 우리는 그와 동일한 기능을 만들어낼 수 있었다.
- 우리는 단지 사람들이 생각하는 것보다 훨씬 빠른 속도로 소프트웨어를 개발 할 수 있을뿐이었다.
- 스타트업은 경쟁업체에 가능하면 적은 정보를 노출할 필요가 있기 때문이다. 우리의 소프트웨어가 어떤 언어로 작성되었는지에 대해서 어차피 경쟁업체들이 알고 있지 못한다면, 굳이 그것을 밝힐 이유가 없다.
- 블럽의 역설
- 다른 사람들이 그것을 이요하지 않는 이유는 프로그래밍 언러라는 것이 단순히 테크놀로지가 아니라 습관이기 떄문이다. 이 세상에서 습관처럼 천천히 변하는 것이 또 없다.
- 다양한 언어 사이에 존재하는 기능적 차이를 이해하고 있는 사람은 가장 강력한 언어를 사용하고 있는 사람이다.
- 리스프는 파싱 트리를 조작하는 프로그램을 작성할 수도 있다.
- 매크로: 프로그램을 작성하는 프로그램
- 스타트업을 위한 합기도
- 경쟁자를 판단하는 간단한 방법
- 그들의 구인광고를 살펴보는 것, 그들이 정확히 무엇을 원하는지 대해서 설명
- C++ , JAva 개발자를 요구하는 경우 걱정할 일이 없다.
- 펄이나 파이썬 프로그래머를 찾는 경우 약간 긴장
- 최소한 기술적인 부서는 해커에 의해 운영된다는 증거
- 리스프 해커를 찾는 구인 광고를 보았다면 진짜 걱정
- 공부벌레의 역습
- 뽀족머리 보스(개발자 출신이 아닌) 공통적인 성질
- 테크놀로지에 대해서 아무것도 아는 것이 없다.
- 테크놀로지에 대해서 매우 강한 의견을 가지고 있다.
- 그는 어떤 언어를 써야하는 알고 있다. 자바이다.
- 자바는 곧 표준이다. 그것은 시장에 수많은 자바 프로그래머가 많다는 뜻이므로 일잘하던 녀석이 갑자기 회사를 그만두어도 대신할 사람을 쉽게 구할 수 있다는 뜻이다.
- 세상에 존재하는 프로그래밍 언어가 모두 동일한 것이라고 착각하고 있다. 사실이사면 그의 생각은 옳다. 언어가 모두 비슷비슷하다면 , 많은 사람이 이용하는 것을 선택하는 것은 옳다.
- 언어는 동일하지 않다.
- 어떤 특정한 문제를 해결하기 위해서는 어느 언어가 다른 언어에 비해서 더 나을 수 밖에 없다.
- 풀어야 하는 문제에 대해 가장 알맞은 것을 고르는 것
- 프로그래머나 라이브러리 등을 쉽게 구할 수 있는지 여부 (뾰족머리 보스가 선택하는 방식)
- 자바, 펄 파이썬, 루비는 리스프를 닮아가는 패턴을 보인다.
- 1950년대에 탄생한 리스프가 오늘날에도 여전히 유효한 이유에는 , 그것이 테크놀로지가 아니라 수학이었다는 사실 일 것이다.
- 리스프와 포트란은 컴퓨터 언어의 진화 계보에서 두개의 큰 줄기를 형성
- 리스프 - 수학에 뿌리
- 포트란 - 기계의 아키텍처
- 리스프는 실행 시간에 코드를 읽거나 컴파일 하는 것도 가능, 컴파일 시간에 코드를 실행하는 것은 매크로의 기본이 된다.
- 언어 선택이 필요한 시점
- 리스프와 같은 언어에서 이점은 엄청난 경쟁 속에서 어려운 문제를 해결하기 위한 정교한 프로그램을 작성해야 하는 극한 상황에서 나타난다.
- 구심력
- 덜 유명한 언어를 사요하는 데 따르는 세가지 문제
- 다른 언어로 작성된 프로그램과 함께 어울려서 작동 할 때 제대로 작동하지 않을 수 있다.
- 사용할 수 있는 라이브러리가 제한
- 크게 복잡하지 않은 움제를 해결할 때는 라이브러리의 존재가 언어 자체의 고유한 기능보다 더 큰 의미를 가질 수 있지만
- 강력한 언어의 기능이 미리 존재하는 라이브러리의 편히함을 앞지를 수 있다.
- 프로그래머 고용이 어려움
- 스타트업을 시작한다면, 벤처 투자자나 잠정적 구매자를 기쁘게 할 목적으로 제품을 만들지 말아야 한다.
- 오직 사용자를 기쁘게 만들기 위해서 제품을 만들어야 한다.
- 사용자를 얻게 되면 나머지는 저절로 따라온다.
- 사용자를 얻지 못하면 당신이 선택한 기술적인 내용들이 아무리 정통 표준을 따르고 있다고 해도 관임을 같는 사람은 아무도 없을 것이다.
- 평균이 지불해야 하는 비용
- 고수준 언어의 핵심
- 더많은 추상화, 즉 더 커다란 벽돌을 제공함으로써 당신이 벽을 쌓을 때 필요한 벽돌의 갯수를 줄여주는 것이다.
- 언어가 더 강력할 수록, 프로그램은 어 짧아진다( 글자의 수가 아닌 서로 구별되는 요소의 수)
- 상향식 프로그래밍
- 애플리케이션을 주어진 언어로 작성하는 것이 아님
- 주어진 언어를 이용해서 당신이 만들고자 하는 애플리케이션에 적합한 언어를 새로 만듬
- 그 새로운 언어를 이용해서 애플리케이션을 작성하는 것
- 코드의 길이다 3배로 늘어난면 그것을 작성하는데 걸리는 시간도 3배
- 하지만 사람은 더 고용한다고 해서 나아지는 것은 아님, 특정한 수준을 넘으면 사람을 더 고용하는 것이 오히려 손해 - 맨먼스 미신
- 방법
- 언어는 기능적 힘을 서로 달리한다.
- 대부분의 매니저들은 이러한 사실을 일부로 무시한다.
- 소프트웨어 비즈니스에서 승리하고 싶다면, 당신이 구할 수 있는 것 중에서 가장 기능적 힘이 뛰어난 언어를 선택한 다음, 경쟁사에서 일하는 보스들이 평균값으로 복귀하는 것을 지켜보기만 하면 되는 것인다.
- 기능
- OOP 언어에서는 제한된 수준에서나마 (주번에서 둘러싸고 있는 코드에서 정의된 변수들을 가리키는 함수인) 클로저를 흉내 낼 수 있다.
- C# Lambda , 익명 메소드 등등
- OOP 세계에서 패턴
- 인간 컴파일러에 대한 증거.
- 프로그램 안에서 패턴을 발견하면 그것을 뭔가 문제가 발생하고 있다는 신호로 받아들인다.
- 프로그램의 형태는 오직 그것이 해결해야 하는 문제만 반영해야 한다.
- 코드에 존재하는 그 밖의 모든 정현성은 최소한 나에게 있어서는 내가 충분히 강력하지 않은 추상을 이용하고 있다는 신호
- 때로는 간결한 메크로를 작성하는 것이 아니라, 매크로가 확장된 형태를 일일이 손으로 작성하고 있는 것이다. => 프로그램을 만드는 코드를 어떻게 작성해야 하는지 모르겠다...
- 내 생각
- 저자는 개발자 혹은 창업자가 뛰어난 해커라를 가정하에 이야기를 하는 것 처럼 보인다. 하지만 그렇게 뛰어한 해커들이 얼마나 있을까? 리스프라는 언어를 사용해서 자신만의 라이브러리를 구축해서 개발을 할 수 있는?
- 꿈의 언어
- 유명세의 메카니즘
- 전문적인 해커들은 대개 보스나 교수진으로서 , 다른 프로그래머들에게 특적안 언어를 사용할 것을 주문하는 위치에 있는 경우가 많다.
- 외적인 요소
- 프로그래밍 언어는 당연히 그 언어로 구현된 훌륭한 소프트웨어를 가지고 있어야 한다. 그것 또한 무료로 배포되ㅓ야 한다.
- 해킹의 가능성
- 해커들은 해킹을 좋아한다. 해킹이란 바로 어떤 존재의 내부에 침투하는 것, 그리고 원래 설계자의 마음을 읽어내는 것을 의미한다.
- 당신의 마음이 해커들에게 읽히도록 내버려둬라 , Github에 코드 공개?
- 디자인과 연구
- 디자인은 사용자에게 좀더 관심을 기울인다는 것이다.
- 무엇을 원하는 가가 아니라 => 무엇이 필요한가 라고 말한 것에 주목.
- 프로그래머의 생명도 방향전화 능력에 달려있다. 알고리즘은 그러한 방향전환을 가능하게 만들어주는 일종의 "메타 능력"이다. => 한국에서는 조금 그러한것 같다.
- 미국의 IT회사들은 특정기술이나 API에 정통한 사람을 찾지 않는다. 기본적인능력(문제를 해결할 수 있는 능력,즉 알고리즘)을 갖춘 상태에서 새로운 기술을 빠르게 습득해서 활용할 수 있는 사람을 찾는다 => 한국은 API에 능통해서 바로 쓸 수 있는 사람을 찾는 것 같다.
- 소프트웨어를 개발하는 사람에게 알고리즘은 취업이나 승진을 위해서 억지로 공부하는 대상이 아니라 퍼즐이나 수수께끼처럼 자체로 재미있고 신나는 놀이가 되어야 한다. => 코어개발이나 알고리즘을 개발하는 업무가 그렇게 맞지 않다.
- 단위 테스트를 얼마나 꼼꼼하게 수행하는지가 프로그래머의 진정한 실력을 드러내는 척도가 되기도 한다. => 동의 , 자동화 테스트는 반드시 필요하다. 그런데 회사는 시간을 주지않는다.
- 알고리즘을 만들어가는 과정 : 우선 문제 자체의 의미를 정확하게 파악하는 것이고 , 그다음으로는 실마리를 포착해서 한 걸음씩 전진하는 것이다. 고수는 언제나 한걸음씩 천천히 전진한다.
- 알고리즘을 작성하다 보년 프로그램의 실행 속도를 의미하는 '시간'과 메모리의 사용량을 의미하는 '공간'이 항상 대립하고 있다는 사실을 깨닫게 된다.
- 알고리즘을 창조하는 능력이 뛰어난 사람은 버그를 찾는 능력도 뛰어나고, 그 반대의 경우도 마찬가지다. 버그를 찾는 능력과 알고리즘을 창안하는 능력은 정비례하는 것이다.
- 실제 프로그래밍에서 발생하는 버그는 많은 경우에 특정한 알고리즘 자체가 품고 있는 논리적 결함보다는 프로그래머가 방어적 프로그래밍을 게을리해서 발생하는 경우가 더 많다. Ex NullpointException.=> 동의
- 버그를 찾는 일은 대부분 끈기와 집중역을 테스트하는 과정이다.
- 좋은 프로그래머는 소설도 읽고, 영화도 보고, 농구도 하고, 기토도 치고, 정치 토론에도 참여하고, 연예도 하고, 술도 마시는 열정적인 사람이다. 진정한 상상력은 삶의 속살을 이해할때 비로소 풍부해지기 때문이다.
- 훌륭한 프로그래머는 스스로의 실력에 취해서 팀워크를 해치는 사람이 아니라 자신의 실력을 깊게 고찰해서 부족한 점은 꾸준히 보강하면서도 강점은 신중하게 살려 나가는 사람이다. 그런 사람은 성실하게 때문에 다른 사람에 대한 존경심을 잃는 법이 없다. 프로젝트에서 정말 필요한 사람은 바로 그런 사람이다. 한편 사람에 대한 예의를 잃은 프로그래머는 아무리 실력이 뛰어나다고 해도 도움이 도지 않다. 그러므로 이렇 종류의 문제를 얼마나 '빨리'푸는가 하는 것은 사실 크게 중요한 것이 아니다. 앞에서는 문제를 빨리 풀수록 좋은 것처럼 말했지만, 실제로 중요한 것은 문제를 푸는 속도가 아니라 끝까지 포기하지 않고 문제를 해결하려고 하는 '프로'근성이다. 그런 정신이 투철한 사람은 일단 답을 구해 놓고도 쉽게 안심을 하지 않는다. 자기가 작성한 알고리즘이 과연 최선인지 여부를 끝까지 신중하게 고민하기 때문이다. '재능'은 각자 타고나는 일이므로 어쩔 수 없지만, 이러한 '프로'정신은 본인의 노력에 달려 있으므로 후천적이다.. '재능'과 '노력'중에서 더 중요한 것은 '재능'이 아니라 '노력'이라는 사실은 귀에 못이 막이도록 들어온 이이야기.=> GRIT 이야기가 생각난다. 동의 합니다.
- 머리말
- IT 업종의 핵심은 서비스다
- IT는 IT자체로서 존재하지 않는다.
- 을의 입장이다. 제 역확을 하기 위해서는 갑과 잘 소통해야한다.
- 기업내의 전산부와 일반 현업 부서와의 관계에서도 핵심은 소통이다.
- 내가 알고 있는 것, 내가 할 수 있는 분야보다 그것을 사용하려는 갑과 소통하는 것이 무엇보다 훨씬 중요하다.
- 답의 입장을 먼저 이해하고 갑의 문제를 해결하기 위해서 노력하는 것이다.
- 대부분의 전문가들은 갑에게 내가 알고 있는 것, 내가 가진 제품, 내가 할 수 있는 분야가 얼마나 멋지고 좋은지를 설몋아기 위해 노력한다. 그러나 이보다 더 중요한 것은 고객인 갑의 비즈니스 문제를 어떻게 풀어갈 수 있는가를 설명하는 것이다.
- IT 업의 본질을 따져보면 IT 전문가의 덕목은 소통 능력이다.
- IT 업종의 핵심은 트렌드다.
- 끊임없이 IT 트렌드를 이해하기 위해서 노력해야한다. IT는 남을 따라가서는 성공할 수 없는 분야이기 때문이다.
- IT 업조의 핵심은 사람이다.
- 국내 기업에서 팀장이나 임원이 된다면 IT 전문가로서의 역할을 포기할 것이 아니라 관리자의 역할을 더욱 날카롭게 다듬어야한다.
- IT 전문가일까 전산쟁이 일까?
- IT 전문가로 사는 법
- IT 전문가의 커리어 플랜
- 처음으로 인생의 벼랑 끝에 선 후배들에게
- 직장이 아니라 직업을 구해라
- 직장을 구하지 말고 자기가 평생 돈안 해야할 직업을 먼저 찾아라
- 회사가 아니라 일할 부서를 먼저 선택하라
- 자신이 즐겁게 이할 수 있고, 잘 할 수 있고, 즐길 수 있는 직업을 발견
- IT 분야의 직업에 대한 오해
- 우리나라 기업이 더 발전하기 위해서는 IT 부서가 지원업무를 맡는데 그칠 것이 아니라 비즈니스를 창출하고 이끄는 조직이 되어야 한다.
- 기업 내부에 실무 경력이 풍부하고 노련한 IT 전문가가들이 많아야 한다.
- IT 분야의 직업이 잘 맞는 사람은?
- 논리적인 사람
- 가정을 세우고 그의 따른 경우릐 수를 생각하면서 원인을 파고드는 것을 즐기는 사람
- IT 분야가 크고 다양하기 때문에 소통과 대화가 매우 중요하다.
- IT 분야에서는 프로그래밍뿐 아니라 개발한 내용을 상대방의 눈높이에 맞춰 발표하는 일도 중요하다.
- IT 분야에서 필요한 또 다른 능력은 기획력이다.
- 마지막으로 영어다.
- IT 전문가가 된다는 것
- IT 전문가가 되겠다고 결심했다면 작은 결과라도 스스로 만들어보기를
- 첫째, 마음 속의 두려움을 없애야 한다. 일단 저지르자.
- 둘째, 일단 즐겨라! 남에게 어떻게 보일까를 고민하기 보다는 스스로 그일에 미칠 수 있다면 그것으로 충분하다.
- 셋째, 호기심 천국이어야 한다. 호기심을 갖고 일해야 실력이 쌓인다.
- 넷째, 퍼즐 조각처럼 부분을 짜 맞추어 거대한 지도를 완성하라.
- 변화하는 세상을 즐기고 남보다 앞서 나가려고 노력한다면 IT 분양는 평생의 업으로 삼기에 가장 적장한 분야가 될 것이다. 변화에 따라가는 재미를 느낄 수 있다면 IT는 바로 그대에게 딱 맞는 분야다.
- Chapter 1: IT 분야에 첫발을 내디뎌라
- 달라도 너무 다른 미국과 한국에서의 프로그래머 생활
- 미국에서는 시스템 개발을 외부에 맡기는 일이 그리 많지 않다. 거의 모든 프로젝트는 회사 내부 프로젝트고, 외부의 용역은 단기간에 필요할 때만 직접 부른다. 외부 용역은 단가가 매우 높아 쉽게 부를 수 없다. 따라서 모든 IT 관련 업무를 내부에서 소화해서 업무에 대한 노하우가 전산실 내에 많이 축적되어 있다.
- 한국에서는 거의 모든 시스템 개발을 외부 용역에 맡긴다. 비용이 적게 들기 때문이다. 한국 기업의 전산실은 IT 관련 인력을 최소화해 대부분 회부 용역이 들어와서 일한다.
- 한국에서 프로그래머로 성공하려면
- 연봉에 연연하지 마라. 봉급에 연연하는 직원에게는 딱 회사를 그만두지 못할 정도만 대우해준다.
- 부드러운 인간관계는 실력보다 훨씬 중요하다.
- 일을 잘하려면 여러 부서의 의견을 수렴하고, 동의를 구하고, 지지를 얻어야 한다. 같이 일을 만들어 갈 때 시너지가 생기는 것이지, 어느 한 사람이 뛰어나게 잘한다고 해서 회가가 좋아지는 것은 아니다.
- 회사에서는 승부욕이 투철한 채로 돌아다니지 말아야 한다. 자칫 남들의 시기와 질투를 받을 수 있다.
- 회사에서는 여러 부서에서 지위고하를 막론하고 두루두루 친분을 쌓게 되면 일하기도 편하지고 좋은 소리도 맣이 듣게 된다. 그렇게 하다보면 평판이 상사 귀에 들어가고 첫 번째 진급 대상으로 올라갈 가능성이 커진다.
- 그러므로 함께 일하는 직원들과 관계를 원만하게 가지는 것에 힘써라.
- IT 전문가가되기 위한 신입사원 실력쌓기
- 프로그램 언어를 배운 후에는 애플리케이션 디자인을 배워야 한다.
- 업무 요건 정의, 프로세스 디자인, 데이터 모델링, 기능 정의 , 메뉴 및 사용자 인터페이스 디자인 등에 배우는 것이다.
- 업주 요건 정의 가 가장 어렵고 중요하다.
- IT를 한다는 것은 IT 기술, 특정 업무, 특정 산없을 함께 알아야 한다는것
- IT 전문가이면서 한 산업으 전문가가 될 수 있도록 공부하는 자세가 중요
- 전체 시스템을 이해하려면 끊임없이 '상상'하라.
- 일은 코딩이 아니라 디자인을 철처하게 하는 것이다.
- 글을 쓰고, 발표자료를 만들고, 발표하는 일을 기피하지 마라.
- IT 분야에서 창업할까, 직장에 취직할까?
- 취업이 세상의 중심에 서서 나를 위해 선택하는 것
- 창업은 세상의 흐름을 잘 읽어서 그 흐름에 나를 싣는 것이다.
- 창업을 하기 위해서는 남들이 가지고 있지 않은 기술이 필요하고, 그러한 기술을 사줄 고객이 필요하다. 이 두가지를 모두 해결할 수 있다면 창업을 해보라고 권하고 싶다.
- Chapter 2: 중견 사원으로 발돋움하여 더 넓은 IT 분야로 나아가라
- IT 분야의 중견 사원 콘셉트 잡기
- 엔터프라이즈 IT 2가지 분야
- Industry specialist
- Technology architect
- 일반 기업체 전산실에서 일하는 중견 사원들이라면 => Industry specialist
- 비즈니스에 대한 이해가 선행되어야 한다.
- 비즈니스 변화에 떄라 새로운 서비스를 런칭하거라 ,
- 법이나 제도가 바뀌었을 때 수정해야 할 분야를 시스템 아키텍처로 제안
- 비즈니스 변화를 잘 수용해서 전체 시스템이 물 흐르듯이 돌아가게 할 수 있다.
- 우리나라에서는 대기업 전산실이라고 할지라도 이러한 전문가가 없다.그래서 항상 컨설팅 업체를 통해서 시스템 구축을 의뢰
- 비용과 시간이 많이 들고, 기업 내에 노하우가 축적되지 않는다.
- SI 업체나 솔루션 벤더 기업에 취직 => Technology architect
- 외국 기업에스는 여러명의 industry specialist가 존재하고 이들이 모두 시스템 아키택처를 설계한다.
- 외국 기업은 SI업체를 쓰지 않는 대신 새로운 IT 기술을 도입할 때만 그 기술에 정통한 vendor들을 불러 작업하게 한다. 이 부분이 우리나라 기업과의 큰 차이다.
- 산업에 정통한 인더스트리 스페셜리스트가 되든, 특정 기술에 정통한 테크놀로지 아키텍트가 되든, 두가지 길 중에서 일찌감치 갈 길을 선택하기 바란다. 그리고 거기에 모든 것을 집중하라
- IT 분야의 롤모델을 찾아라
- 스탠 다운스 : IT 시스템 개발, 어플리케이션 개발, 시스템 운영 분야를 모두 잘 알고 있었다.
- 온유함과 인내심, 그리고 실력을 갖춘 전무가 중의 전무가 였다.
- 한 회사 시스템 전체를 안다고 말할 수 있든 것, 전문가로서의 아름다움이 느껴졌다.
- 기업의 전산실에는 반드시 전체 시스템을 아는 리드 아키텍트라는 전문가가 있어야 한다.
- 기존 IT의 구조를 잘 이해하고 있어서 무엇을 고치고 업그레이드를 했을 때 새로운 비즈니르를 지원해주는지 훤하게 알고 있는 리드 아키텍트의 존재다.
- 이러한 전문가는 전산 비용을 크게 절약할 수 있도록 해주면 새로운 세스템을 개발할 떄도 결정적인 역할을 수행한다.
- IT 컨퍼런스 참가, 미래를 예측하는 감각을 얻다
- 특정 IT 기술이 어떤 분야에 , 어떻게 영향을 줄 것이고, 앞으로 어떤 분야가 유망할지 감을 잡을 수 있다.
- 이러한 예측을 오랫동안 하다면 몇 년가의 앞날을 예상해볼 수 있다는 것이다.
- 이러한 감은 젊었을 때부터 새로운 분야를 계속 접하고, 대학원에서 공부하고, 실제 기업에서도 일해본 경험에서 나오는 것이 아닐까?
- IT 전문가가 된다는 것의 의미
- 회의에 빠지는 이유
- 국내에서 IT 전문가에 대한 이 사회의 열등한 대우
- IT 전무가를 전문가로 취급해주지 않는 사회 풍토, 코딩하는 개발자로 인식..언제든지 낮은 연봉으로 구할 수 있다.
- 미래가 밝지 않다는 생각. 직급이 올라봐야 솔수션 업체 사장.
- 은퇴 연령이 빠르다
- IT 트렌드 분야에서 계속 일을 해온 사람은 늦게까지 일할 수 있다.
- 직장에 다니면서 석박사를 해야할까?
- IT 전문가라면 꾸준히 IT 분야에서 경력을 쌓고, 그 경력에 연관된 분야의 학위를 하는 것이 경력 관리의 핵심이다.
- IT 분야에서 석사를 하는 것은 IT를 좀 더 깊게 파겠따는 의미로 실무와 이론을 연결하고 싶을 때 고려하는 것이 좋다.
- 인더스트리 스페셜리스트가 되려면 MBA를 하는 편이 좋고 , 테스놀로지 아키텍트가 되려면 컴퓨터 분야헤서 석사 학위를 받는 것이 도움이 된다.
Chapter 3: IT 전문가의 꿈, 글로벌 IT 아키텍트로 내공을 쌓아라.
- 중견 IT 전문가가 자신의 가치를 키우는 방법
- 이력 관리는 스스로 해라
- 미래의 트렌드를 읽어라, 그리고 그 속에 들어가라
- 특정한 솔루션이라 특정한 산업에 집중하라. MES를 계속하라.
- 프로의 자세를 가져라. 일을 즐길 줄 아는 사람이다.
- 나의 가치는 나 스스로 가져간다고 생각해라.
- IT 전문가는 반드시 영업마인드, 고객 우선 마인드를 갖춰야 한다. 영업 과정에 적극적으로 참여하기를 권한다.
- 영업에 기여한 일들을 기록으로 남겨라. 그리고 그것을 이력서에 써라.
- 내가 하고 싶은 일을 할 수 있도록 지원해달라. 이렇게 이야기할 수 있다면 진정한 프로다.
- 고객에게 잘해라
- ㄴ서문
- 프로그래밍은 기예(Craft)다. 컴퓨터에게 여러분이 시키고 싶은 일을 하게끔 난드는 것이다.
- 특정한 환경 조건의 집합마다 각 집합에 가장 적절한 시스템이 있을 뿐이다. 이것이 실용주의가 뜻하는 바다.
- 어떤 특정 기술에 메이면 안되며, 개별 상황마다 그 상황에서 좋은 해결방안을 고를 수 있도록 충분한 배경지식과 경험이 필요
- 배경지식 - 컴퓨터 과학의 기본 원리들을 이해하는 것
- 경험 - 다양한 프로젝트를 수행해보는 것
- 더 효율적이고 생산성 높은 프로그래머가 되고 싶어하는 사람들 대상
- 실용주의 철학
- 문제를 항상 더 큰 맥락에 놓으려 하고, 항상 더 큰 그림을 보려한다.
- 자신이 하는 모든 일에 책임을 진다.
- 소프트웨어 엔트로피
- '깨진창문'(나쁜 설계, 잘못된 결정, 형편없는 코드)을 고치지 않을 채로 내버려두지 마라, 발련하자마자 바로 고처라
- 고칠 시간이 충분하지 않다면 판자로 덮는 것만이라도 하라. 불쾌한 코드를 주석처리하거나, Not implemented라는 메시지 표시 , Dummy 데이타로 대치해 놓아라. 더 이상의 손상을 예방하기 위해 어떤 조치든취하고 현 상황을 잘 관리하고 있다는 것으 보이라
- 적당히 괜찮을 소프트웨어
- 완벽하게 훌륭한 프로그램을 과도하게 장식하거나 지나칠 정도로 다듬느라 망치지 말라. 그냥 넘어가고 코드가 현재 상태에서 한동안은 그대로 있도록 놓아두라. 완벽하지 않을 수도 있다. 걱정하지마라. 완벽해지기란 불가능하다.
- 지식 포트폴리오
- 주기적인 투자 / 공부
- 다각화 - 더 많은 기술에 익숙하다면 , 변화에 더 잘 적응
- 리스크 관리 - 여러분의 기술 달걀을 한 바구니에 모두 담지 마라
- 싸게 사서 비싸게 팔기 - 새롭게 떠오르는 기술을 학습
- 검토 및 재조정 - 인기 있는 기술 습득 or 낡은 기술 복습
- 실용주의 접근법
- 반복하지 마라 / 실용 주의 프로그래머의 가장 중요한 도구 중 하나
- 직교성 - 독립성(Independence) or decoupling
- 프로젝트 팀 구조 직교성 확인 - 요청된 개별 변화에 대한 토론에 참여할 필요가 있는 사람이 몇인가를 보라, 숫자가 클 수록 직교성은 낮다.
- 직교 적인 설계를 테스트 - 특정 기능에 대한 요구사항을 극적으로 변경했을 경우 몇 개의 모듈이 영향을 받는가?
- 단위 테스트를 만드는 것 자체가 직교성을 테스트
- 버그를 수정하고 테스트를 마친 뒤 버그 수정에 대한 테그를 붙여라. 각 버그 수정에 의해 영향 받는 소스 파일의 개수에 대한 월 단위 리포트를 받아볼 수 있다.
- 가역성
- 많은 사람들이 코드를 유연하게 유지하려고 노력한다. 하지만 아키텍처, 배포, 벤더 통합 영역의 유연성에 대해서고 관심 필요
- 벤더 의존적인 수행문들이 코드 전반에 흩어져 있을 것이고 , 이는 유지 보수성, 유연성을 극도로 떨어뜨리게 된다. 요구사항을 메타데이터에넣고, 필요한 수행문을 코드에 넣을 떄 AOP or Perl을 이요하여 메커니즘을 자동화 시켜라.
- 예광탄
- 프로토타입 - 나중에 버릴 수 있는 코드를 만든다.
- 예광탄 코드 - 기능은 별로 없지만 완견된 코드이면, 최종 시스템의 골격의 일부를 이룬다.
- 프로토타입을 예광탄이 하나라도 발사되기 전에 번저 일어나는 정찰과 정보 수집으로 생각
- 프로토 타입
- 프로토타입을 코드로 만들 때는 시작하기 전에 항상 모든 사람에게 여러분이 폐기처분할 코드를 작성하고 있다는 사실을 이해시켜야 한다.
- 도메인 언어
- 데이터 언어- 애플리케이션이 사용할 어떤 형식의 데이터 구조를 만든다. 환경설정 정보를 표현하기 위해 쓰이는 경우
- 명령형 언어 - 실제로 실행되며, 문자, 제어 구조체를 가진다.
- 도전? 한 프로젝트를 위해 개발한 프레임워크를 다른 프로젝트에서 재사용할 수 있는 방법들을 생각해 낼 수 있는가?
- 기본적인 도구
- 디버깅
- 버그를 목격하거나 혹은 버그 보고서를 보는 순간 첫 반응이 "그건 불가능"라면 여러분은 두말할 필요 없이 틀렸다.
- OS, 컴파일러, 혹은 써드파티 제품에 버그가 있을 수도 있다. 하지만 처음부터 그런생각을 하진 말라. 개발하고 있는 어플리케이션 코드에 버그가 존재할 가능성이 훨씬 더 크다.
- 실용주의 편집증
- 계약에 의한 설계 (Design by Contract , DBC)
- 선행조건 - 루틴이 호출되기 위해 참이어야 하는 것, 루틴의 요구사항
- 후행 조건 - 루틴이 자기갈 할 것이라고 보장하는 것, 루틴이 완료되었을 때 세상의 상태
- 클래스 불변식 - 호출자의 입장에서 이 조건이 언제나 참이라고 클래스가 보장
- 부끄럼 타는 , 게으른 ,Shy, Lazy code
- 시작하기 전에 자신이 수용할 것에 대해서 엄격하고
- 내어줄 것에 대해서는 최소한도를 약속
- 상속과 다향성에서 이런 계약이 빛을 발한다.
- 단정적 프로그래밍 (Assert)
- 두 가지 공공연한 잘못된 가정
- 테스트가 모든 버그를 발견한다
- 프로그램이 험한 세상에서 (로그파일이 하드를 full ) 도는 것을 잊는다.
- 첫째 방어선은 가능한 에러를 체크
- 놓친 것들을 잡아내기 위해 단정문을 쓰는 것이다.
- void writeString(char *string) { assert(string != NULL);
- 언제 예외를 사용할까?
- 예외가 프로그램의 정상 흐름의 일부로 사용되는 일은 거의 없어야 한다고 밑는다.
- 예외를 정상적인 처리과정의 일부로 사용하는 프로그램은 고전적인 스파게티 코드의 가독성 문제와 관리성 문제를 전부 떠안게 된다. 이런 프로그램은 캡슐화 역시 깨트린다. 예외처리를 통해 루틴과 그 호출자들 사이의 결합도가 높아져 버린다.
- 구부러지거나 부러지거나
- 유연함으 유지하는 한 가지 좋은 방법은 가능한 적은 양의 코드 작성
- 뷰에서 데이터 모델을 분리
- 모듈들이 데이터를 동기적, 비동기적으로 교환할 수 있는 만남의 장소 마련 => 칠판 Blackboard design pattern
- https://en.wikipedia.org/wiki/Blackboard_(design_pattern)
- 결합도 줄이기와 디미터 법칙
- 부끄럼 타는 코드를 작성 / 자신을 드러내지 말고, 많은 사람과 상호작용하지 말라.
- 디미터 법칙은 코드를 더 적응성 있고 강하게 만들어 주지만 '주계약자'로서 대가를 치러야 한다.
- 주계약자(Station Class)는 모든 하부 계약자(Order manager, part manager를 직접 관리하고 , 이들에게 위임해주어야한다.
- 실제로 이는 위임자에게 단순히 요청을 전달하는 역활만을 하는 간단한 위임 메서드를 상당수 만들어야 함을 의미
- 위임 메서드는 성능 저하, 메모리 과부하와 같은 문제 야기
- 메타프로그래밍
- 동적 설정 : 파일.ini
- 메타 데이터 주도 애플리케이션 (Java Hibernate framework?)
- 가능한 마지막 순간까지 세부 정의를 피하고, 세부사항을 소프트하게 , 변화하기 쉽게 남겨두라
- 언제 설정 정보를 읽어야 할까? 프로그램이 시작 될때?
- 실행되는 동안 메타데이터를 리로딩하고 적용할 수 있는 방법을 제공하는 것이 옳다.
- 동시성을 고려한 설계
- 더 깔끔한 인터페이스를 설계하는 방향으로 이끌기도 한다.
- 모듈(잘 정의된 단 하나의 책임만 가지는 것) 프로그래밍
- 런타임에 객체들이 어떻게 서로 이야기하게 만들어야 하나?
- 모듈 사이의 논리적 의존성은 어떻게 관리해야 하나?
- 즉 다른 객체들의 상태변화(갱신된 값)을 어떻게 동기화?
- 유연하고 깔끔한 방식으로 이루어져야 한다. 우리는 객체가 서로에 대해 너무 많이 알기를 원하지 않는다. 자기가 보고 싶은 것만 보도록 만들고 싶다. => 이벤트라는 개념에서 시작.
- 출판/구독
- 코딩하는 동안 해야할 일들
- 우연에 맡기는 프로그래밍, 행운과 어쩌다 오는 성곡에 의족하는 프로그래밍을 하지 말하야 한다. 대신 의도적 프로그래밍을 해야한다.
- 언제나 자기가 지금 무엇을 하고 있는지 알아야한다.
- 맹목적으로 코딩하지 마라. 완전하게 이해하지 못한 애플리케이션을 빌드하려 하거나, 익숙하지 않은 기술을 사용하려고 시도하지 마라 => 그런데 새로운 프로젝트는 해야한다. ^^;
- 계획을 세우고 그것을 바탕으로 진행하라 => 칸반 툴을 사용
- 신뢰할 수 있는 것에만 기대라=> 테스팅
- 여러분의 가정을 문서로 남겨라 => 사용자와 소통
- 코드 뿐만 아니라 가정도 테스트 해야한다.
- 노력을 기울일 대상의 우선순위를 정하라
- 과거의 노예가 되지 마라/ 기존 코드가 앞으로 짤 코드를 지배하도록 놓지 말라. 적절하지 않으면 어떤 코드도 교체 가능
- 단 일정이 늦어져 발생하는 비용이 필요한 변화를 만들지 않을 경우의 비용보다 적어야 한다.
- 리펙토링
- 리펙터링과 새로운 기능 추가를 동시에 하지 말라
- 리펙터링을 시작하기 전 든든한 테스트 집합이 있는지 먼저 확인
- 단계를 나누어서 신중하게 작업 / 작은 단위에서 큰단위로
- 계약을 잘 지키는지 테스트해보기
- 어떤 단위가 자기가 맺는 계약을 존중하는지 확실하게 보여주는 테스트 케이스를 작성
- 코드가 계약을 지키는지 확인
- 코드로 표현된 계약의 의미가 우리가 생각한 것과 일치하는지.
- 프로젝트 전에
- 실용주의 프로젝트
- 자동화 - Testing , CI, CD - 이런 환경에서 구축해야 한다.
- 가차 없는 데스트