[창업 공부] 9. 에어비엔비 브랜드가 추구하는 가치
·
기록/인사이트
2013년까지 에어비앤비는 어마어마한 열혈 사용자층을 확보하고 시리즈 C 투자를 유치했다. 에어비앤비가 사용자들과 이야기를 나누면 나눌수록 똑같은 말이 거듭 떠올랐다. 소속감이었다. 직원들이 전 세계에서 500명가량을 직접 인터뷰했을 때도 마찬가지였다. 에어비앤비가 해결해주는 문제는 콘퍼런스가 열려 샌프란시스코의 호텔이 꽉 차서 저렴한 숙박이 필요하다는 게 아니다. 그보다는 여행할 때 관광객이나 이방인 같은 기분을 느끼기 싫다는 심정이다. 이 글은 에밀리 헤이워드 의 일부를 발췌 및 정리한 것입니다. 사람들은 여행지를 깊이 있게 경험하고 싶어 한다. 또 여행하는 시간을 의미 있게 보내고 싶어 한다. 두말할 필요 없이 시간은 유한하기 때문이다. 그게 바로 에어비앤비가 제공하는 가치이다. 호스트가 집에 있든..
자바스크립트 Jest로 유닛 테스트하는 방법
·
개발/Deployment
자바스크립트 Jest 라이브러리를 사용하면 작성한 자바스크립트 코드가 예상대로 작동하는 지 테스트해볼 수 있습니다. Jest 테스트 라이브러리 설치 $ npm i --save-dev jest 라이브러리 설치 후 package.json의 script 부분에서 "test": "jest"를 다음과 같이 수정해줍니다. { "scripts": { "test": "jest" }, "devDependencies": { "jest": "^29.2.2" } } Jest 유닛 테스트 방법 다음과 같이 더하기 함수 sum이 있다고 해보겠습니다. // sum.js function sum(a, b) { return a + b; } module.exports = sum; 이를 테스트하라면 sum.test.js 파일을 새롭게 생성..
[집무실 레터 ⑨] 나만의 러닝 페이스 찾기
·
기록/집무실 레터
요즘 러닝을 하고 있어요. 상수 나들목에서 마포대교까지 이어지는 한강을 따라 3킬로미터를 뛰어요. 한두 번 뛰다 보니 벌써 같은 풍경이 눈에 들어오지만, 그러한 반복에 애써 실망하지 않으려 해요. 솔직히 말해 같은 풍경은 지루해요. 그런데 저는 풍경을 보러 나온 것이 아니라 러닝을 하러 나간 것이거든요. 달릴 때의 숨가쁨과 달리고 난 다음 주어지는 상쾌함과 명료함이 좋아서 말이죠. 보이는 풍경보다는 달리는 몸에 집중할 때 달리는 일이 새롭게 느껴져요. 현재 제 러닝 페이스는 5’50”에요. 초반엔 조금 빠르게 뛰지만 돌아올 무렵에는 체력이 떨어져서 천천히 뛰어서 나온 평균치예요. 체력이 된다면 조금 더 열심히 뛰면 되고, 힘에 부친다면 페이스를 낮춰서 천천히 뛰면 되더라고요. 중요한 건 제 나름의 페이스..
태국 방콕 맛집과 핫플 추천: 백종원과 함께 뽑은 가볼만한 현지 식당 TOP 7
·
여행/🇹🇭 태국
안녕하세요. 여행자 휘입니다. 이번에 5박 6일로 태국에 다녀왔는데요. 방콕에 방문하신다면 이번 포스팅에서 소개드리는 7가지 현지 맛집과 핫플레이스를 한 번 방문해보시길 조심스레 추천드려봅니다! 참고로 저는 이번이 세 번째 방콕 방문입니다! 나름 엄선해서 골라봤어요. 😎 1. 나이 쏘이 (Nai Soie) - 한국인들이 좋아하는 국수 맛집 첫 번째로 추천드릴 곳은 한국인에게 잘 알려진 국수 맛집인 나이 쏘이인데요. 이미 관광 코스 중 하나가 된 곳이기도 하죠. 방문해보시면 아시겠지만 현지인 반 한국인 반으로 한국인에 특화된 국수 맛집입니다. 메뉴판은 아래와 같고요. 면을 먼저 고르고 아래에서 토핑을 고르시면 됩니다. 무난하게 A1이나 A2를 시켜주시면 됩니다. 가격은 평균 120바트인데요. 현재 환율로 ..
팀 페리스 ‹타이탄의 도구들›
·
책/책 읽고 쓰기
나는 이 책을 쓰면서 이른바 세상에서 가장 큰 성공과 혁신을 거듭한 인물들을 만나보았다. 그들과 함께 대화하고, 산책하고, 식사를 하고, 회의를 하면서 알게 된 사실들 중 하나는 그들은 대부분 ‘배거본더(vegabonder, 방랑자 또는 유랑자)’였다는 것이다. 잠시 머리를 식히기 위해 여름휴가에 떠나는 여행이 아닌, 더 긴 시간을 들여 더 깊이 관찰하며 세상을 걷는 여행 전통인 ‘배거본딩’의 삶을 실천하는 사람들이었다. 배거본딩은 일상에서 최소한 6주 이상 벗어나 여행을 한다는 뜻을 갖고 있다. 짧게는 몇 개월에서 길게는 몇 년에 이르기까지, 충분한 시간을 갖고 떠나는 여행일 때 비로소 우리는 일상의 삶을 새롭게 바꿔나갈 수 있다. 배거본딩은 삶에 대한 새로운 관점이다. 우리에게 소유가 아닌 선택권을 ..
NestJS 기초 (13) JWT를 사용한 인증 인가 처리와 데코레이터 구현
·
개발/NestJS
이번 포스팅에서는 JWT를 사용하여 사용자의 인증 및 인가를 처리하고 이를 데코레이터로 구현하여 가드로 활용하는 방법에 대해 알아보도록 하겠습니다. JWT 기본 개념 JWT는 Jason Web Token의 약자로 두 주체가 안전한 방식으로 클레임(claims)을 주고 받는 방법입니다. JWT에 포함된 클레임은 JSON 객체로 인코딩되는데요. 공식 웹사이트인 Jwt.io에서 JWT를 인코딩 또는 디코딩해볼 수 있습니다. JWT 구성 JWT를 구현하기 전에 JWT를 사용하기 위해 알아야 할 기본 구성에 대해 살펴보도록 하겠습니다. JWT는 크게 3가지 요소인 헤더, 페이로드, 서명으로 구성되는데요. 각 요소는 .으로 구분합니다. 헤더(header) 헤더에는 JWT 유형과 알고리즘이 담깁니다. { "typ":..
자바스크립트 Set 설명
·
개발/JavaScript
자바스크립트의 Set() 은 고유한 값만을 가진 새로운 객체를 생성하는 데 사용합니다. 모든 유형의 값들을 저장할 수 있기 때문에, NaN과 undefined 또한 저장할 수 있습니다. 예시를 통해, 사용 방법을 살펴보도록 하겠습니다. 이번 예시에서는 set 메소드를 사옹하여 배열 내 중복 요소들을 제거해 보도록 하겠습니다.const numbers = [1, 1, 1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 9, 10, 10][...new Set(numbers)]; // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]추가적으로 Set()을 통해 배열 내 중복 요소들을 제거한 다음, 요소를 포함하고 있는지 확인해볼 수 있습니다. 다음과 같이 Set.prototype.has(value)를 ..
자바스크립트 Promise, async, await 정리
·
개발/JavaScript
1. Promise Promise 생성자 함수는 비동기 요청을 처리하는 방법 중 하나인데요. 실행은 되었지만 결과를 아직 반환하지 않은 객체를 의미합니다. 비동기 처리를 수행할 콜백 함수를 인수로 받습니다. 콜백 함수는 resolve와 reject 함수를 인수로 받습니다. 성공 또는 실패 하나의 결과만 반환됩니다. const promise = new Promise((reslove, rejcet) => { if (/*비동기 처리 성공*/{ resolve('value'); } else { /*비동기 처리 실패*/ reject(new Error("...")); } }); 2. async/await async와 await는 프로미스를 보다 쉽게 구현하는 방법입니다. 프로미스의 then, catch, finall..