๐Ÿ“ETC.

    [Github] Git branch ๊ด€๋ฆฌ

    #๋ธŒ๋ Œ์น˜ ๋ชฉ๋ก git branch #๋ธŒ๋ Œ์น˜ ์ „์ฒด ๋ชฉ๋ก git branch -a #๋ธŒ๋ Œ์น˜ ์ƒ์„ฑ/์ด๋™ git checkout -b {๋ธŒ๋ Œ์น˜ ์ด๋ฆ„} #master๋กœ ๋Œ์•„์˜ด git checkout master ์ƒˆ๋กœ ์ƒ์„ฑํ•œ ๋ธŒ๋ Œ์น˜๊ฐ€ ๋ชฉ๋ก์— ์•ˆ ๋ณด์ผ๋•Œ #์—…๋ฐ์ดํŠธ git remote update #๋‹ค์‹œ ๋ชฉ๋ก ๋ณด๊ธฐ git branch -a ์‚ญ์ œํ•œ ์›๊ฒฉ ๋ธŒ๋ Œ์น˜๊ฐ€ ๋ชฉ๋ก์— ๋…ธ์ถœ๋ ๋•Œ #์›๊ฒฉ ์ €์žฅ์†Œ์˜ ์‚ญ์ œํ•œ ๋ธŒ๋ Œ์น˜ ์ •๋ฆฌ git fetch --all --prune ๋กœ์ปฌ ๋ธŒ๋ Œ์น˜ ์ •๋ฆฌํ• ๋•Œ #๋กœ์ปฌ ๋ธŒ๋ Œ์น˜ ๋ชจ๋‘ ์‚ญ์ œ git branch | grep -v '^*' | xargs git branch -d

    [GitHub] ๋งฅ๋ถ์—์„œ ๊นƒํ—ˆ๋ธŒ์— ํ”„๋กœ์ ํŠธ ์˜ฌ๋ฆฌ๊ธฐ

    1. ํ„ฐ๋ฏธ๋„์—์„œ ์—…๋กœ๋“œํ•  ํ”„๋กœ์ ํŠธ๋กœ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ 2. ๊นƒํ—ˆ๋ธŒ ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ git init 3. ํ˜„์žฌ ํŒŒ์ผ ์ €์žฅ git add . git commit -m "์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€" 4. GitHub์—์„œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ 5. 4์—์„œ ์ƒ์„ฑํ•œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ์—ฐ๊ฒฐ git remote add origin {4์—์„œ ์ƒ์„ฑํ•œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ฃผ์†Œ} 6. ์—ฐ๊ฒฐ๋œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํ™•์ธ git remote -v 7. ์—ฐ๊ฒฐ๋œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ํ‘ธ์‹œ git push

    [Github] git@github.com: Permission denied (publickey). ์—๋Ÿฌ ํ•ด๊ฒฐ

    git push ๋˜๋Š” git pull ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. ์ƒˆ๋กœ ssh key๋ฅผ ๋งŒ๋“ค์–ด์ค˜์•ผ ํ•จ. ssh key ์ƒ์„ฑ ssh-keygen -t rsa -C "{๋ณธ์ธ์˜ ๊นƒํ—ˆ๋ธŒ ์ด๋ฉ”์ผ}" ์œ„ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋จ. 1. ssh key ์ €์žฅ ์œ„์น˜ ์ง€์ • (์—”ํ„ฐํ•˜๋ฉด ๊ธฐ๋ณธ ์ง€์ •๋œ ์œ„์น˜์— ์ €์žฅ) 2. ๋น„๋ฐ€๋ฒˆํ˜ธ ์ง€์ • (์—”ํ„ฐํ•ด์„œ ๋„˜๊ธฐ๊ธฐ ๊ฐ€๋Šฅ) sshํ‚ค ํ™•์ธํ•˜๊ธฐ cat ~/.ssh/id_rsa.pub ์œ„ ๋ช…๋ น์–ด๋กœ ๋‚˜์˜จ ํ‚ค..

    [Github] ๊นƒ(git) ์‚ฌ์šฉํ•˜๊ธฐ

    [Github] ๊นƒ(git) ์‚ฌ์šฉํ•˜๊ธฐ

    ์ƒํƒœ #๊นƒ ์ƒํƒœ ํ™•์ธ git status ํด๋ก  (clone) #๊ธฐ๋ณธ master ๋ธŒ๋ Œ์น˜ ํด๋ก  git clone {git ์ €์žฅ์†Œ URL} {์ƒ์„ฑํ•  ํด๋”๋ช…} #ํŠน์ • ๋ธŒ๋ Œ์น˜ ํด๋ก  git clone -b {branch_name} --single-branch {git ์ €์žฅ์†Œ URL} {์ƒ์„ฑํ•  ํด๋”๋ช…} - {์ƒ์„ฑํ•  ํด๋”๋ช…}์„ ์ ์ง€์•Š์œผ๋ฉด git์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” repository์˜ ์ด๋ฆ„์œผ๋กœ ์ƒ์„ฑ๋จ ์ปค๋ฐ‹ (commit) git commit -m "์ปค๋ฐ‹ ๋ฉ”๋ชจ" ํ‘ธ์‹œ (push) #master ๋ธŒ๋ Œ์น˜์— push git push origin master #ํŠน์ • ๋ธŒ๋ Œ์น˜์— push git push origin {๋ธŒ๋ Œ์น˜ ์ด๋ฆ„} ํ’€ (pull) #์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ธŒ๋ Œ์น˜ pull git pull #ํŠน์ • ๋ธŒ๋ Œ์น˜ pull git pull o..

    [API] ๊ตฌ๊ธ€์บ˜๋ฆฐ๋”API(2) - ์ด๋ฒคํŠธ ์ถ”๊ฐ€ (ํฌ์ŠคํŠธ๋งจ ์‚ฌ์šฉ)

    [API] ๊ตฌ๊ธ€์บ˜๋ฆฐ๋”API(2) - ์ด๋ฒคํŠธ ์ถ”๊ฐ€ (ํฌ์ŠคํŠธ๋งจ ์‚ฌ์šฉ)

    ๊ตฌ๊ธ€ OAuth๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. https://soda-dev.tistory.com/60 [API] ๊ตฌ๊ธ€ OAuth๋กœ ํ† ํฐ(access token) ๋ฐœ๊ธ‰๋ฐ›๊ธฐ ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๋™ํ•œ๋‹ค. OAuthํ† ํฐ ์‚ฌ์šฉ ํฌ์ŠคํŠธ๋งจ (Postman) ์‚ฌ์šฉ ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ https://console.cloud.google.com/ Google Cloud Platform ํ•˜๋‚˜์˜ ๊ณ„์ •์œผ๋กœ ๋ชจ๋“  Google ์„œ๋น„์Šค๋ฅผ Go.. soda-dev.tistory.com ํฌ์ŠคํŠธ๋งจ @Authorization ํ—ค๋”์— Barrer Token์„ ์„ ํƒํ•˜๊ณ  access_token ๋„ฃ๊ธฐ https://www.googleapis.com/calendar/v3/calendars/{calendar_id}/events {calendar_id..

    [API] ๊ตฌ๊ธ€์บ˜๋ฆฐ๋” API (1) - ์บ˜๋ฆฐ๋” list ํ˜ธ์ถœ

    [API] ๊ตฌ๊ธ€์บ˜๋ฆฐ๋” API (1) - ์บ˜๋ฆฐ๋” list ํ˜ธ์ถœ

    ๊ตฌ๊ธ€ OAuth๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. https://soda-dev.tistory.com/60 [API] ๊ตฌ๊ธ€ OAuth๋กœ ํ† ํฐ(access token) ๋ฐœ๊ธ‰๋ฐ›๊ธฐ ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๋™ํ•œ๋‹ค. OAuthํ† ํฐ ์‚ฌ์šฉ ํฌ์ŠคํŠธ๋งจ (Postman) ์‚ฌ์šฉ ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ https://console.cloud.google.com/ Google Cloud Platform ํ•˜๋‚˜์˜ ๊ณ„์ •์œผ๋กœ ๋ชจ๋“  Google ์„œ๋น„์Šค๋ฅผ Go.. soda-dev.tistory.com https://console.cloud.google.com/home/ Google Cloud Platform ํ•˜๋‚˜์˜ ๊ณ„์ •์œผ๋กœ ๋ชจ๋“  Google ์„œ๋น„์Šค๋ฅผ Google Cloud Platform์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋กœ๊ทธ์ธํ•˜์„ธ์š”. accounts.google.com..

    [API] ๊ตฌ๊ธ€ ์—‘์„ธ์Šคํ† ํฐ(access token) ์žฌ๋ฐœ๊ธ‰ ๋ฐ›๊ธฐ

    [API] ๊ตฌ๊ธ€ ์—‘์„ธ์Šคํ† ํฐ(access token) ์žฌ๋ฐœ๊ธ‰ ๋ฐ›๊ธฐ

    Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project. ์š”์ฒญ์— ์ž˜๋ชป๋œ ์ธ์ฆ ์ž๊ฒฉ ์ฆ๋ช…์ด ์žˆ์Šต๋‹ˆ๋‹ค. OAuth 2 ์•ก์„ธ์Šค ํ† ํฐ, ๋กœ๊ทธ์ธ ์ฟ ํ‚ค ๋˜๋Š” ๊ธฐํƒ€ ์œ ํšจํ•œ ์ธ์ฆ ์ž๊ฒฉ ์ฆ๋ช…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. https://developers.google.com/identity/sign-in/web/devconsole-project๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๊ตฌ๊ธ€ ์—‘์„ธ์Šคํ† ํฐ(access token)์€ ๊ณ„์† ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด..

    [API] ๊ตฌ๊ธ€ OAuth๋กœ ํ† ํฐ(access token) ๋ฐœ๊ธ‰๋ฐ›๊ธฐ

    [API] ๊ตฌ๊ธ€ OAuth๋กœ ํ† ํฐ(access token) ๋ฐœ๊ธ‰๋ฐ›๊ธฐ

    ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๋™ํ•œ๋‹ค. OAuthํ† ํฐ ์‚ฌ์šฉ ํฌ์ŠคํŠธ๋งจ (Postman) ์‚ฌ์šฉ ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ https://console.cloud.google.com/ Google Cloud Platform ํ•˜๋‚˜์˜ ๊ณ„์ •์œผ๋กœ ๋ชจ๋“  Google ์„œ๋น„์Šค๋ฅผ Google Cloud Platform์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋กœ๊ทธ์ธํ•˜์„ธ์š”. accounts.google.com ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ -> ํ”„๋กœ์ ํŠธ๋ช…์„ ์ •ํ•˜๊ณ  ์ƒ์„ฑ OAuth ๋™์˜ ํ™”๋ฉด ๊ตฌ์„ฑํ•˜๊ธฐ - ์—ฌ๊ธฐ์— ๋“ฑ๋กํ•˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ ๋ชปํ•จ - ๋“ฑ๋กํ•˜์ง€ ์•Š๊ณ ๋„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณต์‹๋ฐฐํฌ๋ฅผ ํ•ด์•ผํ•จ OAuth ํด๋ผ์ด์–ธํŠธ ID ๋งŒ๋“ค๊ธฐ ๋™์˜ํ™”๋ฉด์„ ๋‹ค ๊ตฌ์„ฑํ•˜์—ฌ ์ƒ์„ฑํ•˜์˜€๋‹ค๋ฉด ๋งํฌ https://accounts.google.com/o/oauth2/v2/auth? scope=https%3..

    [API] Slack ์Šฌ๋ž™ API ์—ฐ๋™ -OAuth

    [API] Slack ์Šฌ๋ž™ API ์—ฐ๋™ -OAuth

    https://api.slack.com/ Slack์€ ๋ฏธ๋ž˜์˜ ์—…๋ฌด๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค Slack์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒ€๊ณผ ์†Œํ†ตํ•  ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ๋ณด๋‹ค ๋น ๋ฅด๊ณ , ๋” ์กฐ์ง์ ์ด๋ฉฐ, ํ›จ์”ฌ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. slack.com ์•ฑ ์ƒ์„ฑํ•˜๊ธฐ - ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋‹ค์‹œ ๋Œ์•„์˜ค๊ธฐ ๋ด‡ ์ƒ์„ฑํ•˜๊ธฐ - ๋ฒ”์œ„ ์ •ํ•˜๊ธฐ : ์›นํ›…๋งํฌ๋งŒ ์–ป์„๊ฑฐ๋ผ๋ฉด ๋ฒ”์œ„๋Š” incoming-webhook ์—ฌ๊ธฐ๊นŒ์ง€ ํ•˜๋ฉด Bot User OAuth Token์„ ์–ป์„์ˆ˜ ์žˆ๋‹ค. OAuth ์ธ์ฆ https://slack.com/oauth?client_id={ํด๋ผ์ด์–ธํŠธ ์•„์ด๋””}&scope=incoming-webhook&tracked=1 ํด๋ผ์ด์–ธํŠธ ์•„์ด๋”” = Basic Information์— ์žˆ์Œ ์œ„ url๋กœ ์ด๋™ redirecURL์— ์ ์€ ๊ณณ์œผ๋กœ ์ด๋™๋˜๋ฉฐ url์„..