본문 바로가기

Category

(330)
[vim] Learn Vim Baby Steps change Caps Lock to ctrl key in windows hjkl, ctrl+c Motions w: beginning of a word e: to jump to the end of a word b: jump to the beginning of a word backwards ge: to jump to the end of a word backwards. There are word and WORD. Use W, B, E, gE to jump by WORD. This is useful in case: function helloVimWorld() { console.log("Hello vim world"); } f{character}: character not string on o..
[vim] Remap key on windows (캡스락 키를 ctrl 키로 변경) Remap vim 을 사용하려고 공부하고 있는데, 예전에는 Insert mode에서 Basic mode로 갈때, 단순히 Esc 키를 눌러서 빠져나왔습니다. 근데 외국 애들은 보니 ctrl + c 키로 빠져나오는 것을 추천한다고 합니다. 추가적으로 새끼손가락이 밑으로 내려가니깐 caps lock 을 ctrl 키로 변경해서 사용합니다. 이게 설득력이 있는게, 해피해킹 키보드를 보니깐 ctrl 이 없고, 캡스락 키 자리에 ctrl 이 있습니다. 🙄 맥에서는 자체적으로 key map을 할 수 있어서 쉽게 변경할 수 있지만, 윈도우는 가벼운 프로그램을 다운로드해서 변경할 수 있습니다. github.com/randyrants/sharpkeys/releases 위 링크에서 sharpkeys392.msi 을 다운받아 ..
[jetbrains] Useful setting and plug-in (Webstorm, Pycharm, Intel) Hi there! Let me introduce useful features that I use in multiple jetbrains tool :) Keymap If you windows users, ctrl + w key is very nice thing to close tab. Let's change keymap Ctrl + Shift + F4 to Ctrl + w in Setting(ctrl +alt+ s) Rainbow Brackets You can find Rainbow brakets in Settings -> Plugins -> Search: Rainbow Brackets If you have experice about Backets Hell, you might know this plug-i..
[git] Logon failed, use ctrl+c to cancel basic credential prompt git 갑자기 git push 할때마다 github 로그인 하라고 창이 뜹니다. 한번 로그인 하면 자격증명 관리자가 정보를 가지고 있어서, github 로그인 창이 안떠야 하는데.. 알고보니 로그인을 하니 자꾸 Logon failed, use ctrl+c to cancel basic credential prompt 이라고 뜹니다. 알고보니 로그인에 계속 실패하고 있었습니다. 그리고 푸쉬할때마다 prompt로 아이디랑 비번을 계속 입력해줘야 합니다. 이렇게 해야 푸쉬가 됩니다. 하지만 매번 푸쉬할때마다 아이디랑 비번을 입력하는게 쫌 그렇습니다. git update-git-for-windows 검색을 해서 알아보니 git을 최신버전으로 업데이트하면 이런 문제가 사라진다고 합니다. 업데이트를 하니 정말사라졌습..
[git] commit 을 했는데 contribution 그래프가 안채워진 경험 (private repository, email변경) 상황 다른 사용자의 private repository에 collaborator 로 등록되어 있고, git extentions을 사용하고 있었습니다. 그러던 중 깃허브 홈페이지에서 연동되어있는 계정을 변경하게 되었습니다. private repository 원래 private repository 는 contribution 그래프에 표시가 안됐는데, 언제 업데이트가 됐는지 이제는 설정을 하면 표시가 됩니다. Private contributions 를 클릭하면 됩니다. git extentions 제가 로컬에서 올리는 계정의 아이디와 계정을 다시 설정해줍니다. git config --global user.email "your_email@abc.com" git config --global user.email git..
[golang] 패키지 만들어보기 패키지 메인 패키지를 임포트해서 사용해보다가 패키지를 만들어보겠습니다.😎 만든 패키지는 만들어서 GOPATH 의 src 아래에 넣어야지 인식이 가능합니다. go env 명령어로 GOPATH 를 확인하고 패키지를 만들어줍니다. 저같은 경우는 C:\go-workspace\src 밑에 cal 폴더를 만들고 안에 sum.go 를 만들었습니다. // Sum.go package cal // Sum function func Sum(a int, b int) int { return a + b } 다른곳에서 이제 사용이 가능합니다. 함수 첫글자를 대문자로 해야지 그 함수를 아래처럼 외부에서 사용가능합니다. package main import ( "cal" "fmt" ) func main() { result := cal.S..
[golang] 채널 (Channel) 고루틴 고루틴이 비동기여서, 메인이 먼져 종료가 되여 문제가 있습니다. 아래는 문제의 코드입니다. WaitGroup을 통해 대기하면 되겠지만, 그건 기다리게 할뿐 고루틴 사이에 흐름을 제어하지는 않습니다. package main import "fmt" func main() { var a, b = 10, 5 var result int go func() { result = a + b }() fmt.Printf("두 수의 합은 %d입니다.", result) } 채널 일단 고루틴이 접근할 수 있는 고루틴만의 공간을 채널이라고 생각해봤습니다. 채널은 값을 받을 때까지 대기하고 (main) 채널이 값을 받을 때 까지 고루틴도 대기 합니다. package main import "fmt" func main() { va..
[golang] 고루틴(Gorountine) 고루틴 고루틴. 지난번에 공부했는데 기억이 안나서 기록하면서 공부해보려 합니다. 고루틴은 여러함수를 병행(Concurrent)하게 실행할수 있는 논리적 가상 스레드 입니다. 비동기가 그것을 가능하게 해줍니다. package main import ( "fmt" "math/rand" "time" ) func hello(n int) { r := rand.Intn(3) time.Sleep(time.Duration(r) * time.Second) fmt.Println(n) } func main() { for i := 0; i < 100; i++ { go hello(i) // 고루틴 100개 생성 비동기 실행 } fmt.Scanln() } 위의 코드가 비동기가 아니면 얼마나 오래 걸릴지 생각을 해보면 됩니다. 메인..