Profile img

조내일

@tomorrowcho@hackers.pub · 11 following · 8 followers

GitHub
@yoonucho

[7일차] 완독

면접관도 사람이다. 해결해야 할 일이 있고, 그 일을 하는 데 필요한 사람을 찾고 있을 뿐이다. 누군가를 평가하고 자신의 위치를 과시하려는 것이 아니라 고민하고 있는 것들을 해결 해 줄 수 있는 사람을 열심히 찾고 있다. 지원자가 회사에 들어 가고 싶은 마음 못지않게 면접관도 ‘같이 일하고 싶은 사람’을 찾고 싶다는 기대를 갖고 면접장에 들어온다. 면접은 그런 두 사람이 만나는 곳이다. 조금은 가볍게, 조금은 더 즐겁게 면접에 임하자.

면접에서 느끼는 부담감을 조금 내려놓아야겠습니다.

면접의 질문들 - 7일차
1

[6일차] 24p.

무언가에 푹 빠지게 된 계기는 사소한 것이어도 상관없다. 처음부터 계획하지 않아도 된다. 우리가 살아가면서 마주하는 모든 순간들을 통제하며 살아갈 수는 없다. 마음이 가는 대로 어떤 것들은 가볍게, 어떤 것들은 깊이 살피면 된다. 관심이 가고, 더 들여다보게 된다. 그렇게 하다 보면 어느 순간 크고 작은 벽에 부딪히게 되는데, 그럴 때 포기 하지 않고 계속 알아가고 싶다는 것을 느끼면 바로 그것이 푹 빠지는 것이다. 자신의 삶에서 그런 경험들이 있는가. 그 가운데 어떠한 것을 이야기할 것인가. 왜 그렇게 생각하는가.

면접의 질문들 - 6일차
0

[5일차] 36p.

아무래도 면접에서는 시간의 제약으로 인해 면접관이 할 수 있는 질문은 한정적일 수밖에 없다. 그러나 자기 자신에게는 얼마든지 질문할 수 있다. 자신에 대해 궁금해하고 관심을 갖게 되면 걸어갈 때나, 책을 읽을 때, 뭔가에 몰입할 때, 아침에 샤워할 때, 집중해서 일할 때, 그리고 한참을 집중하다 잠깐 밖에 나왔을 때도 자신에 대해 궁금한 것들이 생기고, 그 질문에 대해 곰곰이 생각해 볼 수 있게 된다. 나에 대한 이해가 높아지면, 다른 사람의 관점에서 내가 어떻게 보이는지 이해하게 된다.

면접의 질문들 - 5일차
0
0

[4일차] 21p.

면접은 시험이 아니다. 시험에서는 모르는 개념이나 용어가 나와도 감독관에게 물을 수 없다. 아쉬운 대로 어림짐작으로 때려 맞혀야 한다. 그러나 면접은 다르다. 면접관의 질문이 이해되지 않거나, 면접관이 사용하는 용어가 익숙하지 않으면 그 의미를 애써 짐작만 할 필요가 없다. 그냥 물어보면 된다. 그것도 모르냐고 면박을 주는 면접관은 거의 없다. '아, 내가 좀 더 설명을 잘해야겠구나' 생각하며 그러한 질문을 한 지원자를 긍정적으로 바라보게 될 것이다. 질문을 이해하지 못한 채로 엉뚱한 답을 하는 지원자보다는 모르는 부분에 대해서 확인한 뒤에 자신의 이야기를 하는 지원자가 훨씬 더 현명해 보인다. 일할 때도 마찬가지다. 업무 지시가 이해되지 않는다면 무작정 시작하는 것보다 업무 지시의 의미나 내용을 고민해보고 다시 질문하는 것이 필요하다. 정말 급하게 처리해야 하는 예외적인 상황이 아니라면 확실하지 않을 때 가장 확실한 방법은 질문하는 것이다. 모르는 것이 있을 때는 아는 척하지 말 것. 질문을 통해 면접관이 무엇을 묻고 싶어 하는지 확인하면 된다. 필요하다면 '잠시 생각한 후에 말씀드려도 될까요?' 라고 양해를 구해도 된다. '아니요, 바로 답하셔야 합니다'라고 반응할 면접관은 없을 것이다.

면접의 질문들 - 4일차
0

[3일차] 21p.

그렇다면 지원자는 어떻게 대비하는 것이 좋을까? 먼저 기본으로 돌아가라고 권하고 싶다. 자신이 했던 업무를 다른 사람이 알기 쉽게 전달할 수 있는 방법을 고민하고, 그에 맞게 이력서를 작성하는 것이 중요하다. 자신이 해온 업무를 중요도의 구분 없이 이것저것 병렬식으로 나열하는 것은 좋지 않다. 그런 이력서는 면접관의 눈에 잘 들어오지 않고, 면접관이 지원자에게 무엇을 물을지 가늠하기도 어려워진다. 그러니 중요도에 따라 업무를 쉽고 간결하게 묶고 재배치하여 지 원자에 대한 면접관의 이해를 높이는 노력이 필요하다. 이력서 자체가 면접관에게 질문의 가이드가 되도록 하는 것이다.

면접의 질문들 - 3일차
0

[2일차] 23p.

이렇게 면접의 주도권을 가져오기 위해 지켜야 할 원칙이 있다. 절대 자기소개를 달달 외우지 말라는 것이다. 앞에서도 언급했지만, 면접은 누구에게나 긴장될 수밖에 없는 상황이다. 고도로 훈련된 전문 배우가 연기를 하는 것이 아닌 이상, '외워서 하는 이야기'에는 생명력이 없다. 외운 것을 그대로 말해야 한다는 압박 때문에 자기도 모르게 로봇처럼 뻣뻣하게 대사를 읊게 되고, 대본이 기억나지 않으면 말문이 막혀버린다. 자신이 외운 내용에 확신이 없으면 목소리가 점점 작아지고 느려지면서 면접관들의 집중력을 떨어뜨리게 될 것이다. 누군가의 관심을 끌려고 할 때와 정확히 반대의 현상이 벌어지는 것이다.

면접의 질문들
- 2일차
0

[1일차] 43p.

사실 면접에서 가장 중요한 것은 면접관이 이 지원자와 함께 일하고 싶은 마음이 드는가 하는 점이다. 지원자로부터 자신이 듣고 싶었던 답을 들었기 때문에 같이 일하고 싶은 마음이 드는 것이 아니라, 질문과 답변을 주고받는 과정에서 지원자의 사고방식을 이해하고, 이 사람과 함께 일했을 때 어떻게 일하게 될지 머릿속에 그려질 때 지원자에 대한 호감도가 상승할 것이다. 그런 면에서 지원자의 솔직함은 그 사람을 이해하는데 매우 중요한 요소라는 것을 잊지 말자.

면접의 질문들 - 1일차
0

[1일차] 43p.

사실 면접에서 가장 중요한 것은 면접관이 이 지원자와 함께 일하고 싶은 마음이 드는가 하는 점이다. 지원자로부터 자신이 듣고 싶었던 답을 들었기 때문에 같이 일하고 싶은 마음이 드는 것이 아니라, 질문과 답변을 주고받는 과정에서 지원자의 사고방식을 이해하고, 이 사람과 함께 일했을 때 어떻게 일하게 될지 머릿속에 그려질 때 지원자에 대한 호감도가 상승할 것이다. 그런 면에서 지원자의 솔직함은 그 사람을 이해하는데 매우 중요한 요소라는 것을 잊지 말자.

면접의 질문들 - 1일차
0
0
0

[17일차] 23p.

If-Modified-Since 상태 헤더는 문서 인스턴스의 마지막 수정된 날짜를 검사하므로, 우리는 마지막 수정된 날짜를 검사기라고 말할 수 있다. If-None-Match 조건부 헤더는 문서의 ETag 값을 평가한다. ETag는 특별한 키워드이거나 엔터티와 관련된 버전 식별 태그이다. Last-Modified와 ETag는 HTTP에 의해 사용되는 두 개의 주요한 검사기다.

HTTP 완벽 가이드 - 17일차
0

[16일차] 21p.

콘텐츠 인코딩 과정은 다음과 같다.

  1. 웹 서버가 원본 Content-Type과 Content-Length 헤더를 수반한 원본 응답 메시지를 생성한다.
  2. 콘텐츠 인코딩 서버(아마 원 서버이거나 다운스트림 프락시일 것이다)가 인코딩된 메시지를 생성한다. 인코딩된 메시지는 Content-Type은 같지만(본문이 압축되었거나 했다면) Content-Length는 다르다. 콘텐츠 인코딩 서버는 Content-Encoding 헤더를 인코딩된 메시지에 추가하여, 수신 즉 애플리케이션이 그것을 디코딩할 수 있도록 한다.
  3. 수신 측 프로그램은 인코딩된 메시지를 받아서 디코딩하고 원본을 얻는다.
HTTP 완벽 가이드 - 16일차
0

[15일차] 22p.

HTTPS는 HTTP의 가장 유명한 보안 버전이다. 널리 구현되었으며 주류 상용 브라우저와 서버에 구현되어 있다. HTTPS는 HTTP 프로토콜에 대칭, 비대칭 인증서 기반 암호 기법의 강력한 집합을 결합한 것이다. 이 기법들의 집합은 무정부 상태의 분권화된 글로벌 인터넷 환경에서도 HTTPS를 매우 안전한 동시에 매우 유연하고 관리하기 쉽게 만들어 준다. HTTPS는 인터넷 애플리케이션의 성장을 가속한 동시에 웹 기반 전자상거래의 고속 성장을 이끄는 주력이다. HTTPS는 또한 분산된 웹 애플리케이션의 광역 보안 관리에 있어 대단히 중요하다.

HTTP 완벽 가이드 - 15일차
0

[11일차] 22p.

단순함이 중요하다는 것에 다들 공감을 하지만 막상 실천하기는 어렵다. 커뮤니케이션을 할 때 대중을 위해 미리 핵심을 선택하고 정리하는 작업을 거쳐야 하는데 그 과정이 만만치 않다. 게다가 개인의 독특한 개성을 중시하는 트렌드 속에서 간결함과 개성 사이에서 어떻게 균형을 유지하느냐도 반드시 직면하는 문제다. 그러나 몇 가지 원칙을 지킨다면 이런 문제를 더욱 수월하게 해결할 수 있을 것이다. 비즈니스 커뮤니케이션 전문가인 앨런 시겔은 저서 《심플》에서 단순한 커뮤니케이션을 위한 세 가지 기본 원칙을 제안 했다. 그것이 바로 단순화 원칙인 '공감하기,'핵심만 거르기, '명료하게 말하기'다.

맥킨지 논리력 수업 11일차
0

[10일차] 23p.

비즈니스 커뮤니케이션에 성공하려면 시간, 공간, 목적과 선호도 등 외부 요소를 고려하여 최선을 다해 임해야 한다. 비즈니스 세계에 지나친 준비, 지나친 예절은 존재하지 않는다. 준비가 부족하고 예의에 어긋나는 것보다는 다소 과한 편이 낫다.

맥킨지 논리력 수업 10일차
0

[9일차] 20p.

가설을 제기할 때 해당 문제에 능통한 전문가의 개입이 필요할까? 전혀 필요하지 않다. 전문가를 초빙하더라도 가설 제기 과정, 특히 초기의 브레인스토밍 활동에 너무 이르게 개입하는 것은 금물이다. 하향식 사고방식을 구현하는 가설 제기는 경험 지향적인 상향식 사고방식과는 완전히 다르기 때문에 균형을 잡아주지 않으면 첨예한 충돌이 일어나게 된다. 전문가가 체계적인 구조화 사고 훈련을 받지 않았다면 습관적으로 전문가적 사고에 편중될 것이고, 5단계 기법 중 앞의 4단계를 뛰어넘어 이른바 정답'을 바로 제공할 것이다.

맥킨지 논리력 수업 9일차
0

[14일차] 21p.

한 쌍의 호스트가 하나의 인코딩/디코딩 키를 사용하는 대신, 공개키 암호 방식은 두 개의 비대칭 키를 사용한다. 하나는 호스트의 메시지를 인코딩하기 위한 것이며, 다른 하나는 그 호스트의 메시지를 디코딩하기 위한 것이다. 인코딩 키는 모두를 위해 공개되어 있다(그래서 공개키 암호 방식이라는 이름이 붙었다). 하지만 호스트만이 개인 디코딩 키를 알고 있다.

HTTP 완벽 가이드 14일차
1

[13일차] 24p.

Base-64 인코딩은 바이너리, 텍스트, 국제 문자 데이터(어떤 시스템에서는 문제를 일으킬 수 있는) 문자열 받아서 전송할 수 있게, 그 문자열을 전송 가능한 문자인 알파벳으로 변환하기 위해 발명됐다. 전송 중에 원본 문자열이 변질될 걱정 없이 원격에서 디코딩할 수 있다. base-64 인코딩은 국제 문자나 HTTP 헤더에서 사용할 수 없는 문자{큰따옴표, 콜론, 캐리지 리턴)를 포함한 사용자 이름이나 비밀번호를 보내야 할 때 유용할 수 있다. 또한, base-64는 어렵지 않게 사용자 이름과 비밀번호 문자를 섞을 수 있기 때문에, 서버나 네트워크를 관리하면서 뜻하지 않게 사용자 이름과 비밀번호가 노출되는 문제를 예방하는 데 도움이 된다.

HTTP 완벽 가이드 13일차
0

[12일차] 20p.

쿠키는 크게 세션 쿠키(session Cookie)와 지속 쿠키(persistent cokite) 두 가지 타입으로 나눌 수 있다. 세션 쿠키는 사용자가 사이트를 탐색할 때, 관련한 설정과 선호사항들을 저장하는 임시 쿠키다. 세션 쿠키는 사용자가 브라우저를 닫으면 삭제된다. 지속 쿠키는 삭제되지 않고 더 길게 유지될 수 있다. 지속 쿠키는 디스크에 저장되어, 브라우저를 닫거나 컴퓨터를 재시작하더라도 남아있다. 지속 쿠키는 사용자가 주기적으로 방문하는 사이트에 대한 설정 정보나 로그인 이름을 유지하려 고 사용한다. 세션 쿠키와 지속 쿠키의 다른 점은 파기되는 시점뿐이다. 뒤에서 다룰 것이지만, 쿠키는 Discard 파라미터가 설정되어 있거나, 파기되기까지 남은 시간을 가리 키는 Expires 혹은 Max-Age 파라미터가 없으면 세션 쿠키가 된다.

HTTP 완벽 가이드 12일차
0

[11일차] 22p.

오늘날 검색엔진들은 그들이 갖고 있는 전 세계의 웹페이지들에 대해 '풀 텍스트 색인(full-text indexes)'이라고 하는 복잡한 로컬 데이터베이스를 생성한다. 이 색인은 웹의 모든 문서에 대한 일종의 카드 카탈로그처럼 동작한다. 검색엔진 크롤러들은 웹페이지들을 수집하여 집으로 가져와서, 이 풀 텍스트 색인에 추가한다. 동시에, 검색엔진 사용자들은 핫봇(http://www.hotbot.com)이나 구글(http://www.google.com)과 같은 웹 검색 게이트웨이를 통해 풀 텍스트 색인 에 대한 질의를 보낸다. 크롤링을 한 번 하는데 걸리는 시간이 상당한 데 비해 웹페이지들은 매 순간 변화하기 때문에, 풀 텍스트 색인은 기껏 해봐야 웹의 특정 순간에 대한 스냅숏에 불과하다.

HTTP 완벽 가이드 11일차
0

⌨️ Mac에서 Karabiner로 외부 키보드 오른쪽 Alt 한/영 전환하기

조내일 @tomorrowcho@hackers.pub

맥북에서 윈도우 키보드의 오른쪽 Alt 키를 한/영 전환 키로 사용하기 위한 설정 과정을 소개합니다. macOS 기본 설정으로는 왼쪽과 오른쪽 Option 키를 개별적으로 제어할 수 없어 Karabiner-Elements를 사용한 사용자 정의 키 매핑이 필요합니다. Karabiner 설치 후, Simple Modifications을 통해 right_option 키를 F18로 매핑하고, macOS 키보드 단축키 설정에서 '입력 소스 선택'을 F18로 지정해야 합니다. 만약 F18 키가 제대로 등록되지 않는다면, Karabiner의 드라이버 확장 프로그램 권한이 허용되었는지, 그리고 Devices 탭에서 외부 키보드의 'Ignore vendor events' 옵션이 활성화되었는지 확인해야 합니다. 이 설정을 통해 윈도우 환경에 익숙한 사용자도 맥에서 편리하게 키보드를 사용할 수 있습니다.

Read more →
2

[10일차] 22p.

로봇 커뮤니티는 로봇에 의한 웹 사이트 접근이 유발할 수 있는 문제를 알고 있었다. 1994년, 로봇이 그들에게 맞지 않는 장소에 들어오지 않도록 하고 웹 마스터에게 로봇의 동작을 더 잘 제어할 수 있는 메커니즘을 제공하는 단순하고 자발적인 기법이 제안되었다. 이 표준은 "Robots Exclusion Standard"라고 이름 지어졌지만, 로봇의 접근을 제어하는 정보를 저장하는 파일의 이름을 따서 종종 그냥 robots.txt 라고 불린다. robots.txt의 아이디어는 단순하다. 어떤 웹서버는 서버의 문서 루트에 robots.txt라고 이름 붙은 선택적인 파일을 제공할 수 있다. 이 파일은 어떤 로봇이 서버의 어떤 부분에 접근할 수 있는지에 대한 정보가 담겨있다. 만약 어떤 로봇이 이 자발적인 표준에 따른다면, 그것은 웹 사이트의 어떤 다른 리소스에 접근하기 전에 우선 그 사이트의 robots.txt를 요청할 것이다.

HTTP 완벽 가이드 10일차
0

[9일차] 21p.

웹 크롤러는, 먼저 웹페이지를 한 개 가져오고, 그 다음 그 페이지가 가리키는 모든 웹페이지를 가져오고, 다시 그 페이지들이 가리키는 모든 웹페이지들을 가져오는, 이러한 일을 재귀적으로 반복하는 방식으로 웹을 순회하는 로봇이다. 웹 링크를 재귀적으로 따라가는 로봇을 크롤러 혹은 스파이더라고 부르는데, HTML 하이퍼링크 들로 만들어진 웹을 따라 기어다니기(craw) 때문이다. 인터넷 검색엔진은 웹을 돌아다니면서 그들이 만나는 모든 문서를 끌어오기 위해 크롤러를 사용한다. 이 문서들은 나중에 처리되어 검색 가능한 데이터베이스로 만들어지는데, 이는 사용자들이 특정 단어를 포함한 문서를 찾을 수 있게 해준다.

HTTP 완벽 가이드 9일차
1

[8일차] 20p.

미국의 심리학자 헬레나 매튜트Helena Matute는 그의 논문 〈인과관계의 환각 Illusions of Causality〉에서 이렇게 지적했다. "시각적 환상과 같이 인과의 환각은 모든 사람에게서 흔히 발생한다. 과학적 사고 방법은 인과의 환각을 방지하는 최적의 경로다. 그러나 과학적 사고 방법은 본능적 반응이 아니며 습득이 필요한 기법이다." 헬레나 매튜트가 언급한 과학적 사고 방법은 구조화 전략 사고와 결을 같이하며 이성적 사고, 즉 느린 사고에 속한다.

맥킨지 논리력 수업 8일차
1

[7일차] 21p.

문제 정의는 말 그대로 문제의 뜻과 한계를 명확히 하고 '우리는 지금 무슨 문제를 해결하고 있는가'라는 질문에 답하는 것이다. 이는 모든 문제 해결 방법론의 첫걸음이자 가장 중요하면서도 어려운 시작이다. 문제를 분명하게 정의할 수 있다면 진정한 해결 방안 을 찾는 것도 그렇게 어렵지 않다. 사람들은 까다로운 문제에 봉착하면 급한 마음에 눈앞의 문제부터 해결하려고 한다. 문제를 정의하고 분석, 검증하는 단계는 시간이 없다는 이유로 건너뛰곤 한다. 그러나 문제 정의는 문제 해결의 근본적인 방향성을 제시하는 중요한 단계다. 문제 정의에 오류 가 생기면 다른 단계에도 오류가 생기며 결국 동문서답식의 엉뚱한 답을 내놓게 된다. 문제를 정의하는 것은 경험에 의존하는 전문가적 사고와는 다른 전략적 사고로, 비판적 사고자들의 두드러진 특성이기도 하다.

맥킨지 논리력 수업 7일차
0

[8일차] 23p.

Cache-Control: must-revalidate 응답 헤더는 캐시가 이 객체의 신선하지 않은 사본을 원 서버와의 최초의 재검사 없이는 제공해서는 안 됨을 의미한다. 캐시는 자유롭게 신선한 사본을 제공할 수 있다. 만약 캐시가 must-revalidate 신선도 검사를 시도했을 때 원 서버가 사용할 수 없는 상태라면, 캐시는 반드시 504 Gateway Timeout error를 반환해야 한다.

HTTP 완벽 가이드 8일차
1

[7일차] 23p.

문서 적중률과 바이트 단위 적중률은 둘다 캐시 성능에 대한 유용한 지표다. 문서 적중률은 얼마나 많은 웹 트랜잭션을 외부로 내보내지 않았는지 보여준다. 트랜잭션은 고정된 소요 시간을 포함하게 되는데, 이것은 종종 길 수도 있기 때문에(예를 들어 서버로의 TCP 커넥션을 맺는 경우), 문서 적중률을 개선하면 전체 대기시간(지연)이 줄어든다. 바이트 단위 적중률은 얼마나 많은 바이트가 인터넷으로 나가지 않았는지 보여준다. 바이트 단위 적중률의 개선은 대역폭 절약을 최적화한다.

HTTP 완벽 가이드 7일차
0

[6일차] 21p.

웹 서버는 여러 종류의 리소스 매핑을 지원한다. 하지만 리소스 매핑의 가장 단순한 형태는 요청 URI를 웹 서버의 파일 시스템 안에 있는 파일 이름으로 사용하는 것이다. 일반적으로 웹 서버 파일 시스템의 특별한 폴더를 웹 콘텐츠를 위해 예약해 둔다. 이 폴더는 문서 루트 혹은 docroot로 불린다. 웹 서버는 요청 메시지에서 URI를 가져와서 문서 루트 뒤에 붙인다.

HTTP 완벽 가이드 6일차
0

[5일차] 20p.

한 번 혹은 여러 번 실행됐는지에 상관없이 같은 결과를 반환한다면 그 트랜잭션은 멱등(idempotent)하다고 한다. GET, HEAD, PUT, DELETE, TRACE 그리고 OPTIONS 메서드들은 멱등하다고 이해하면 된다. 클라이언트는 POST와 같이 멱등인 아닌 요청은 파이프라인을 통해 요청하면 안 된다. 그렇지 않으면 전송 커넥션이 예상치 못하게 끊어져 버렸을 때, 알 수 없는 결과를 초래할 수 있다. 비멱등인 요청을 다시 보내야 한다면, 이전 요청에 대한 응답을 받을 때까지 기다려야 한다. 비멱등인 메서드나 순서에 대해 에이전트가 요청을 다시 보낼 수 있도록 기능을 제공한다 하더라도, 자동으로 재시도하면 안 된다. 예를 들어 대부분 브라우저는 캐시된 POST 요청 페이지를 다시 로드하려고 할 때, 요청을 다시 보내기를 원하는 지 묻는 대화상자를 보여준다.

HTTP 완벽 가이드 5일차
0

[6일차] 25p.

구조화 전략 사고는 논리적 사고 기법의 일종이다. 논리적 사고와 창의적 사고는 뇌의 특정 부위에서 이루어지지만, 둘은 대립 관계라기보다는 오히려 상호 보완적 관계다. 때로는 논리적인 사고를 할 때 상식을 뒤엎는 창의력이 필요하다. 논리적 사고법을 제대로 사용하려면 빠른 사고의 고정관념에서 탈피해 전방위로 문제 해법을 찾아야 한다.

맥킨지 논리력 수업 6일차
1

🐶 Husky 물론 멍뭉이얘기는 아닙니다. 하지만!

조내일 @tomorrowcho@hackers.pub

이 글은 사이드 프로젝트에 Husky를 도입한 경험을 바탕으로, Husky의 배경과 필요성, 그리고 실제 적용 방법에 대해 상세히 설명합니다. Git Hooks 설정의 어려움을 해결하기 위해 개발된 Husky는 npm 패키지 형태로 제공되어 팀원 간의 일관된 Git hooks 환경을 구축할 수 있게 해줍니다. 특히, 배포 전 빌드 실패를 방지하는 데 효과적이며, 커밋 전에 자동으로 코드 검사를 실행하여 실수를 줄여줍니다. Husky 적용 가이드에서는 필요한 패키지 설치부터 lint-staged 설정, ESLint 및 Prettier 설정 파일 구성, 그리고 팀 협업을 위한 팁까지 자세하게 안내합니다. 실제 테스트 시나리오를 통해 Prettier 자동 수정과 ESLint 커밋 방지 기능을 검증하며, Husky와 lint-staged가 코드 품질을 효과적으로 관리하는 것을 보여줍니다. 이 글은 코드 컨벤션 준수를 자동화하고 코드 리뷰 효율성을 높이는 데 기여하는 Husky의 가치를 강조하며, 팀 프로젝트의 생산성 향상에 도움이 될 수 있음을 시사합니다.

Read more →
2

[5일차] 21p.

브레인스토밍의 첫 단계는 생각할 수 있는 모든 요소를 일단 나열하는 것이다. 그다음에 이를 하나하나 조사하고 분류한다. 팀원들은 절차나 순서에 상관없이 자유롭게 아이디어를 제시하고 당신은 이를 화이트보드에 적는다. 이후 팀원들은 각 요소가 합리적인지 가치를 따져보고 그중 필요 없는 것은 걸러낸다. 이렇게 간략한 선별 과정을 거쳐 관련 요소만을 칠판에 남겨놓는다. 팀원들이 적극적으로 토론에 참여했다면 칠판은 브레인스토밍 결과로 나온 의사결정 요소로 빼곡할 것이다.

맥킨지 논리력 수업 5일차
0

[4일차] 23p.

의사결정에 사용되는 핵심 숫자를 대할 때, 제한된 시간 안에 상식에 입각하여 빠르고 간단하게 진위를 검증하는 '상식 추리 능력'이 필요하다. 영어로는 이런 검증 과정을 '편지봉투 뒷면의 계산 Back of-the-envelop-calculaton’ 이라고 한다. 봉투 뒷면에 급하게 적어 계산한 것처럼 대략적으로 예측한다는 의미다.

맥킨지 논리력 수업 4일차
1

[4일차] 23p.

전 세계 모든 HTTP 통신은, 지구상의 컴퓨터와 네트워크 장비에서 널리 쓰이고 있는 패킷 교환 네트워크 프로토콜들의 계층화된 집합인 TCP/IP를 통해 이루어진다. 세계 어디서든 클라이언트 애플리케이션은 서버 애플리케이션으로 TCP/IP 커넥션을 맺을 수 있다. 일단 커넥션이 맺어지면 클라이언트와 서버 컴퓨터 간에 주고 받는 메시지들은 손실 혹은 손상되거나 순서가 바뀌지 않고 안전하게 전달된다.

HTTP 완벽 가이드 4일차
0

[3일차] 34p.

HTTP 메시지는 단순한, 데이터의 구조화된 블록이다. 각 메시지는 클라이언트로부터의 요청이나 서버로부터의 응답 중 하나를 포함한다. 메시지는 시작줄, 헤더 블록, 본문 이렇게 세 부분으로 이루어진다. 시작줄은 이것이 어떤 메시지인지 서술하며, 헤더 블록은 속성을, 본문은 데이터를 담고 있다. 본문은 아예 없을 수도 있다. 시작과 헤더는 그냥 줄 단위로 분리된 아스키 문자열이다. 각 줄은 캐리지 리턴 (ASCII 13)과 개행 문자(ASCII 10)로 구성된 두 글자의 줄바꿈 문자열으로 끝난다. 이 줄바꿈 문자열은 'CRLF'라고 쓴다. HTTP 명세에 따른다면 줄바꿈 문자열은 CRLF이지만 견고한 애플리케이션이라면 그냥 개행 문자도 받아들일 수 있어야 한다는 점을 언급할 필요가 있을 듯하다. 오래되거나 잘못 만들어진 HTTP 애플리케이션들 중에서는 캐리지 리턴과 개행 문자 모두를 항상 전송하지는 않는 것들도 있다. 엔터티 본문이나 메시지 본문(혹은 그냥 '본문')은 단순히 선택적인 데이터 덩어리이다. 시작줄이나 헤더와는 달리, 본문은 텍스트나 이진 데이터를 포함할 수도 있고 그냥 비어있을 수도 있다.

HTTP 완벽 가이드 3일차
0

[2일차] 23p.

애플리케이션은 정해진 방식대로 구현해야 한다. 어떤 애플리케이션에 어떤 URL을 보내든지, 그 전에 클라이언트 애플리케이션에서 안전하지 않거나 제한된 문자 를 변환하는 것이 좋다. 안전하지 않은 모든 문자를 인코딩하기만 하면, 다른 애플리케이션으로부터 특별한 의미를 가지는 문자를 받았을 때 혼동할 걱정 없이, 애플리케이션 간에 공유할 수 있는 URL의 원형을 유지할 수 있다.

HTTP 완벽 가이드 2일차
1

[1일차] 21p.

일단 TCP 커넥션이 맺어지면, 클라이언트와 서버 컴퓨터 간에 교환되는 메시지가 없어지거나, 손상되거나, 순서가 뒤바뀌어 수신되는 일은 결코 없다. 네트워크 개념상, HTTP 프로토콜은 TCP 위의 계층이다. HTTP는 자신의 메시지 데이터를 전송하기 위해 TCP를 사용한다. 이와 유사하게 TCP는 IP 위의 계층이다.

HTTP 완벽 가이드 1일차
0

[3일차] 22p.

우선순위를 판단할 때는 다차원 분류를 하는 것이 좋다. 이 과정은 일종의 단어 나누기 연습과도 같다. 프로젝트를 나누는 차원은 규모(수입과 투입), 직무 유형, 전략적 중요성, 수행 난이도, 주기, 담당 부서, 빈도 수, 외부 참여 유무 등으로 상당히 많다. 이 가운데 우선순위와 가장 연관이 큰 차원과 속성을 찾아, 그 조합으로 우선순위를 정의한다.

맥킨지 논리력 수업 3일차
0

[2일차] 25p.

논리적 사고법의 기본기인 구조화 분류는 쉽게 말하면 ’나누기’다. 문제를 위부터 아래 방향으로 분석하면서 차원에 따라 더 상세하게 분해하는 것이다.

맥킨지 논리력 수업 2일차
0

[1일차] 27p.

안전지대와 빠른 사고는 사람들을 현실에 안주하게 만들고, 이성적 사고를 통해 불확실성을 줄이려는 노력을 방해한다. 지식이 범람하는 오늘날 많은 사람들은 유료 지식 채널에서 유명 인사의 새해 특별 강연을 듣고 주먹을 불끈 쥐며 새해에는 운동을 시작해야겠다고 결심하곤 한다. 그러나 실제로는 얼마 안 가 소파에 파묻혀 TV나 보며 뒹굴거리는 생활로 돌아오고 만다. 우리는 이런 사고의 안전지대가 주는 속박과 빠른 사고를 요하는 뇌의 습관에서 벗어나 이성적으로 사고할 필요가 있다. 그래야만 조급함을 버리고 '백만 달러짜리 질문에 자신 있게 대답하고 이 그래이 만 조급함을 버리고 '백만 달러짜리 질문'에 자신 있게 대답하고 이성적 사고로 올바른 판단을 내릴 수 있다. 이것이 쌓일 때 일반적인 수준의 결과를 뛰어넘어 우수한 수준으로, 나아가 탁월한 경지로 도약할 수 있다.

맥킨지 논리력 수업 1일차
0
1
0
0
0
1
1

이 글을 보니까 뭔가 N글자 이상일때 아티클로 옮길지 말지 물어보는 UI가 있으면 어떨까 싶은 생각이 문득 들었다. (350 <= N <= 500)

당연히 web-next 에서 작업해야 하는 이슈 쯤으로....

0
0
0