전체 글

전체 글

    하나의 컴퓨터로 여러 Git 계정 쓰기 (GitHub, GitLab 등)

    회사에서는 사내 GitLab을 사용하는데, 평소에 GitHub만 써 왔기 때문에 GitLab 로그인 방법을 찾아 보고 ssh keygen으로 적당히 등록하고 '로그인 됐겠지' 라는 마음으로 신나게 commit하고 push한 결과, 로그인이 하나도 안 돼 있었다. commit 이력의 내 이름을 눌러 보면 GitHub에서 쓰던 메일 주소로의 mailto: 링크가 걸려있을 뿐... 이런 불상사를 겪는 사람이 없도록, 또 bash 환경에 익숙치 않아서 나처럼 계속 삽질을 하는 사람이 없도록 Git 다중 계정 사용 방법을 적어놓고자 한다. ssh key 생성하기 Git 계정을 다중으로 이용할 경우 ssh key를 이용하여 계정을 관리하면 된다고 한다. 터미널을 켜서 ssh key를 생성하도록 하자. $ ssh-k..

    천봉 친선전 복기

    상황 설명: 2900 양면 텐파이로, 서는 위험패라고 읽히는 상태. 이 서를 쥐고 있으면 오야가 끝나는 건 거의 확정이지만, 상가와 대면은 각각 3후로로 텐파이가 농후하고 하가의 속도는 모르겠지만 노텐 유국 시 최소 1500점 손실이 확실한 상황. Q: 서 푸시의 국수지는 -1500점을 웃돌 수 있을 것인가? (물론 내렸을 때의 선택지는 노텐 유국 뿐이 아니기 때문에 조금 깊이 생각을 해 보자.) A: 어림짐작하건데 서 푸시의 국수지는 -1500을 웃돌지는 못할 것. 대면의 버림패가 중->9삭->동을 거쳐서 계속 테다시로 이어지고 있기 때문에 또이또이 도라3+a 텐파이를 단기로 굴리고 있을 확률이 높다. 백은 3장이 죽었고, 나머지 자패는 대면의 버림패에 모두 있기 때문에 서 단기일 가능성이 평소보다도 ..

    TypeScript + ESLint + Prettier 설정하기

    프로젝트에서 TS를 다뤄야 할 상황이 생겨서 TS 개발환경을 설정했다. VSCode에서 TS는 따로 이것저것 설정을 해 줘야 해서 조금은 번거로웠지만 비슷한 처지에 놓인 사람이 혹시 참고가 될 수 있도록 글을 쓴다. 또, 나는 평소에 스페이스바도 안 누르고 엔터도 제때제때 안 누르고 그냥 막 코딩해 놓고 Prettier의 Auto fix on save 기능에 모든 것을 맡긴다. TS는 이것도 따로 설정해 줘야 하길래 이것에 대한 설정도 다루고자 한다. TypeScript 설치하기 VSCode에서 설정 창을 열어서 npm을 통해 TypeScript를 설치해 주자. $ npm i -D typescript 참고로, npm install의 플래그 중 -P(--save-prod)는 프로젝트를 구동할 때 필요한 d..

    Git으로 협업하기(fork 후 upstream과 동기화)

    Git으로 프로젝트를 진행해본 적은 여러 번 있었지만 그때는 동기들끼리 모여서 이것저것 부딪혀 가면서 했지만 요즘은 프로젝트 크기도 좀 커지고, 물리적으로 가까이 있는 팀원도 없는 상황에서 이것저것 건드리다가 잘못되면 안되니 협업하면서 알게 된 걸 정리해 보려고 한다. 또, Windows를 사용할 때에는 SourceTree나 GitKraken과 같은 GUI를 주로 이용했다면, 지금은 Mac을 사용하면서 그냥 터미널 상에서 커맨드를 치면서 이용하고 있기 때문에 적응하기 위해서 좀 정리를 해야겠구나 느꼈다. 떠올랐던 의문점 Git에서 original repo를 fork해서 작업한 후 변경 사항을 commit하고 push 후 pull request를 넣고, 각자가 pull request한 것들이 origina..

    KMP 알고리즘

    KMP 알고리즘에 대해 공부하다가 헷갈리는 것들이 있어 자세히 정리했다. 책을 참고했음을 밝힌다. 먼저, KMP 알고리즘이란 문자열 검색을 보다 효율적으로 실행하는 알고리즘으로, 전체 문자열의 모든 부분에서 문자열 비교를 행하지 않으면서 대상 문자열을 빠르게 검색해 낸다. 전체 문자열이 짧으면 몰라도, 수천 수만 줄로 이루어진 문서에서 단어를 검색하는 작업은 모든 글자에서 하나하나 단어를 확인하기에는 무리가 있을 수 있다. 그래서 우리는 naive한 방법보다 훨씬 효율적인 KMP 알고리즘을 사용한다. 가장 간단한 알고리즘부터 떠올려 보자 먼저, 우리가 문자열 검색을 수행하고자 하는 전체 문자열을 '짚더미(haystack)', 그리고 찾아내고자 하는 대상 문자열을 '바늘(needle)'이라고 칭하자. 짚더..

    패보검토 - 3

    최근에 NAGA에서 NAGA를 직접 개인실로 호출해서 플레이할 수 있는 기능이 생겼다고 해서 랭크 게임보다는 NAGA를 적극 활용 중이다. 동1국 1본장 남2국 정도까지는 그렇게 큰 점수차가 아니면 점수에 크게 신경쓰지 않고 직선으로 조패하는 것이 좋다. 무조건 123삼색으로 고정하는 타4만보다는 타 동. 오야의 현물이 백이라서 남겼으나 너무 빠른 순에 안전패를 챙기려고 하지 않아도 됨. 동2국 3본장 타 8만과 타 5삭의 비교. * 간3통부터 들어왔을 때 타 8만: 23삭 / 4삭 텐파이 선택, 타 5삭: 23삭 / 58만 텐파이 선택 * 유효패 타 8만: 2347통2345삭, 타 5삭: 58만3통23삭 여기서 간4삭 텐파이는 거부한다고 할 때, 247통은 빼서 생각할 수 있음 이후 23삭도 상황이 별..

    macOS에서 VSCode로 C++ PS 환경 구축하기

    맥북을 구입하게 되어서 개발 환경을 윈도우에서 맥으로 옮기는 중인데, 윈도우와 다른 점이 한두 가지가 아니다. 적응 단계에서 실패해 버리면 아마 이 친구는 중고로 팔려갈지도... 어쨌든, 나는 평소에 알고리즘 공부를 하면서 C++로 코딩을 하는데, 윈도우 노트북을 사용했을 때는 Visual Studio를 이용하여 코딩과 디버깅을 하였다. VSCode도 사용을 했지만 일반적으로는 js 등 다른 언어 상에서 작업을 할 때가 더욱 편했기 때문에, C++로 코딩을 할 때에는 항상 Visual Studio를 고수했다. 그래서 macOS에서도 평소처럼 Visual Studio를 설치했는데, C/C++ 개발을 지원하지 않는 것을 보고 찾아본 결과 macOS에서는 Visual Studio에서 C/C++ 개발을 할 수 ..

    배운 것 짧게

    동4국, 오야, 도라는 2삭 손패는 우형이 많지만 머리가 3개. 도라도 하나 고립되어 있다. 이후 도라를 하나 더 쯔모해서 치또이쯔의 량샹텐. 버린 3만이 다시 들어온 건 아프지만 7만이 겹쳐서 이샹텐. 패산에 가장 있을 법한 패를 남기면서 치고 있는 중에 걸리는 하가의 리치. 그럭저럭 돌려 치면서 9600 이샹텐을 유지하고 있는데, 혼일로 보이는 대면이 하가의 리치에 승부를 건다. 도라는 2삭이었고 대면의 혼일은 삭수가 아니었지만 역패 퐁이 하나 들어가 있기에 만관의 가능성은 충분했다. 그때 대면한테서 생패 중이 튀어나왔다. 바로 같은 순에 나는 동을 겹쳐서 치또이쯔를 텐파이했고, 문제는 방금 막 버려진 중 단기로 받을 것인가 생패인 북 단기로 받을 것인가였다. 북도 생패였기에 나는 중을 버리고 북 단..

    패보검토 - 2

    동1국 0본장 삼색 놓친 미스. 정말정말 기본적인 실수. 완전 이샹텐을 유지한다는 전제 하에 두 가지 선택지의 비교. 양면의 유효패 매수 - 56통 타쯔: 8장 모두 남아 있음 / 78삭 타쯔: 4장 남아 있음 + 도라가 7통이기 때문에 56통은 양면으로 고정하면 도라 유효패를 확정지을 수 있음. 약한 타쯔에 팔로우 패를 남기는 것이 기본이기 때문에 타 5통. 역패 노미의 1000점 방총. 방총에 대한 반성점은 없고 삼색을 놓치는 기본적인 미스가 눈에 띄었다. 동2국 0본장 우형이 많은 6블럭 형태에서는 도라를 치 받고 아토즈케를 취하는 것이 우위. 동3국 1본장 8통이 대면에게 위험한 이유 오야가 4통-2통 순서로 간짱 타쯔를 버렸다. 양면 타쯔가 충분하다는 뜻. 7삭 치 이후 타 2만은 5만을 냈기 ..