Skip to content

Instantly share code, notes, and snippets.

View ninanung's full-sized avatar
๐ŸŽธ
Punk

Seungje Jun ninanung

๐ŸŽธ
Punk
  • Backpackr idus
  • Seoul, South Korea,
View GitHub Profile
@ninanung
ninanung / deployment.md
Last active May 1, 2023 03:23
์„œ๋ฒ„ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌํ•˜๊ธฐ! - "๋ธ”๋ฃจ/๊ทธ๋ฆฐ"๊ณผ "ํ˜„์žฌ์œ„์น˜"
@ninanung
ninanung / mattermost-interactive-dialog.md
Last active May 30, 2023 02:59
Mattermost์˜ interactive dialog ๊ธฐ๋Šฅ ์˜ˆ์ œ

mattermost interactive dialog

Mattermost์˜ v5.6์—์„œ ์ถ”๊ฐ€๋œ interactive dialog ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ์„œ ๋” ๊ตฌ์กฐ์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ธฐ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์š”์†Œ๋“ค๋กœ๋Š”, HTML์˜ <input> ํ…Œ๊ทธ์˜ ๊ธฐ๋Šฅ๋“ค๊ณผ ์œ ์‚ฌํ•œ text, select, textarea ์ด๋ ‡๊ฒŒ ์„ธ๊ฐ€์ง€๊ฐ€ ํ˜„์žฌ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค. text๋Š” ์งง์€ ๋ฌธ์ž์—ด์„, select๋Š” ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด๋ฅผ ํ†ตํ•ด ๋ฆฌ์ŠคํŠธ์—์„œ ํ•œ๊ฐ€์ง€ ์š”์†Œ๋ฅผ, textarea๋Š” ์žฅ๋ฌธ์˜ ๋ฌธ์ž์—ด์„ ๋ฐ›์„๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•ด๋‹น ์˜ˆ์ œ๋Š” Mattermost server๋กœ dialog๋ฅผ ์—ด๋„๋ก ์š”์ฒญํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•œ ๊ฐ’๋“ค์„ ์„œ๋ฒ„ ๋กœ๊ทธ๋กœ printํ•˜๋Š” ๋‹จ์ˆœํ•œ ์˜ˆ์ œ์ด๋‹ค. ์„œ๋ฒ„๋Š” Node.js ๋ฅผ ํ†ตํ•ด ๊ตฌ๋™ํ•œ๋‹ค.

๋™์ž‘๊ตฌ์กฐ

interactive dialog ์˜ ๋™์ž‘ ์ˆœ์„œ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ์„ ์ฐธ๊ณ ํ•˜๋ฉด ๋œ๋‹ค.
๊ตฌ์กฐ

trigger_id

@ninanung
ninanung / login-with-github.md
Last active September 20, 2023 16:16
Github๋กœ ๋กœ๊ทธ์ธํ•˜๊ธฐ!

Github๋กœ ๋กœ๊ทธ์ธํ•˜๊ธฐ feat.Vue and Node.js

1. Github๋กœ ๋กœ๊ทธ์ธํ•˜๊ธฐ?

์š”์ฆ˜๋“ค์–ด "~๋กœ ๋กœ๊ทธ์ธํ•˜๊ธฐ" ๊ฐ€ ๋งŽ์•„์ง€๊ณ  ์žˆ๋‹ค. ํŽ˜์ด์Šค๋ถ์ด๋‚˜ ๊ตฌ๊ธ€์ด ๋Œ€ํ‘œ์ ์ด๊ณ , ํ•œ๊ตญ์—์„œ๋Š” ๋„ค์ด๋ฒ„๋„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฉฐ ๊ฐœ๋ฐœ์ž ๊ด€๋ จ ์›น์—์„œ๋Š” ๊นƒํ—ˆ๋ธŒ๋„ ๊ปด์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์ด๋Ÿฐ ์‹์˜ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ์ธ์ฆํ•˜๋Š” ๋ฐฉ์‹์„, OAuth ์ธ์ฆ ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•˜๋Š” ๋ชจ์–‘์ด๋‹ค. ๋‚ด๊ฐ€ ํšŒ์‚ฌ ์—…๋ฌด๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ช‡๋ช‡ ์†Œํ”„ํŠธ์›จ์–ด๋„ ์ด๋Ÿฌํ•œ ์ธ์ฆ์„ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ๊ทธ๋Ÿฌํ•œ ์ธ์ฆ์„ ๊ตฌํ˜„ํ•˜์ง€๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๊ทธ๋Ÿฌํ•œ ์ธ์ฆ์„ ์‚ฌ์šฉํ•ด ๋ณด์ž๋Š” ๊ฒƒ์— ๋ชฉ์ ์„ ๋‘”๋‹ค. ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ธ์ฆํ•˜๋Š”์ง€๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•ด๋ณด๊ณ  OAuth๋ฐฉ์‹ ์ธ์ฆ์˜ ์ ˆ์ฐจ๋ฅผ ์•Œ์•„๋ณด๋Š” ๊ธฐํšŒ๋„ ๋ ๊ฒƒ์ด๋‹ค.

2. ๋ชฉํ‘œ

๋ชฉํ‘œ
์œ„์™€ ๊ฐ™์ด ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด Github์—์„œ ์ธ์ฆ์„ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๋™์ž‘์„ ๊ตฌํ˜„ํ•ด ๋ณผ ๊ฒƒ์ด๋‹ค.

@ninanung
ninanung / ReactAndFCM.md
Last active August 17, 2023 00:20
React์—์„œ FCM์„ ์‚ฌ์šฉํ•ด๋ด…์‹œ๋‹ค.

React์—์„œ FCM์‚ฌ์šฉํ•˜๊ธฐ

์ด ๊ธ€์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ์„ ํ–‰์ง€์‹

  • React
  • NPM
  • curl์ด๋‚˜ request๋ชจ๋“ˆ๊ณผ ๊ฐ™์€ ์š”์ฒญ๊ด€๋ จ ์ง€์‹
  • Javascript์— ๋Œ€ํ•œ ์ง€์‹
  • FCM์€ httpsํ˜น์€ localhost์—์„œ๋งŒ ๋™์ž‘ํ•˜๋ฉฐ http์—์„œ๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋งŽ์€ ํšŒ์‚ฌ๋“ค์ด ์›น์•ฑ์„ ๊ตฌ์ถ•ํ•  ๋•Œ React๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์†”์งํžˆ ์šฐ๋ฆฌ๋‚˜๋ผ๋Š” ์•„์ง๋„ frontend ํ”„๋ ˆ์ž„์›Œํฌ๋ณด๋‹ค๋Š” ์ „ํ†ต์ ์ธ ๋ฐฉ์‹์˜ ์›น์„ ์„ ํ˜ธํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ์Šคํƒ€ํŠธ์—…๊ณผ ๊ฐ™์€ ๋งŽ์€ ์ Š์€ ํšŒ์‚ฌ๋“ค์ด React๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿด ๊ฒฝ์šฐ ๋น ๋ฅธ ์›น ๊ตฌ์ถ•์„ ์œ„ํ•ด Google์ด๋‚˜ AWS์˜ ์„œ๋น„์Šค๋ฅผ ๋งŽ์€ ์‚ฌ์šฉํ•˜๋Š”๋ฐ์š”, FCM๋„ push notification์„ ๋น ๋ฅด๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” Firebase ์„œ๋น„์Šค์˜ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ด๋ฆ„๋ถ€ํ„ฐ Firebase Cloud Messaging(FCM)์ด์ฃ . ์ด ๊ธ€์„ ํ†ตํ•ด์„œ๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•œ ์•Œ๋ฆผ์„œ๋น„์Šค ๊ตฌ์ถ•์— ๋Œ€ํ•ด์„œ ๋‹ค๋ค„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฒœ์ฒœํžˆ ํ•œ๋ฒˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ฃ .