๐Ÿง‘๐Ÿปโ€๐Ÿ’ป Programming

Kotlin ์ž…๋ฌธ [08] - ์ œ๋„ค๋ฆญ, ๊ฐ์ฒด, ํ™•์žฅ

ํ•™์Šตํ•  ๋‚ด์šฉ ํด๋ž˜์Šค์— ์ œ๋„ค๋ฆญ ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค๋ฅผ ์ธ์Šคํ„ด์Šคํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ• enum๊ณผ data class๋ฅผ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ํŠน์ • ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ์ œ๋„ค๋ฆญ ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ• ์Šค์ฝ”ํ”„ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ํด๋ž˜์Šค์˜ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”...

Kotlin ์ž…๋ฌธ [07] - Kotlin์—์„œ ํ•จ์ˆ˜ ์œ ํ˜• ๋ฐ ๋žŒ๋‹ค ํ‘œํ˜„์‹ ์‚ฌ์šฉ

ํ•™์Šตํ•  ๋‚ด์šฉ ๋žŒ๋‹ค ๋ฌธ๋ฒ•์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ณ€์ˆ˜์— ํ•จ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• ํ•จ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ํ•จ์ˆ˜์— ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ• ๋‹ค๋ฅธ ํ•จ์ˆ˜์—์„œ ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ• null์„ ํ—ˆ์šฉํ•˜๋Š” ํ•จ์ˆ˜ ์œ ํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๋žŒ๋‹ค ํ‘œํ˜„์‹์„ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• ๊ณ ์ฐจ ํ•จ์ˆ˜์˜ ์ •...

Kotlin ์ž…๋ฌธ [06] - Kotlin์—์„œ ํด๋ž˜์Šค ๋ฐ ๊ฐ์ฒด ์‚ฌ์šฉ

์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํด๋ž˜์Šค๋Š” ๊ฑด์ถ•๊ฐ€์˜ ์„ค๊ณ„ ๊ณ„ํš, ์ฆ‰ ์ฒญ์‚ฌ์ง„๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. ์ฒญ์‚ฌ์ง„์€ ์ง‘์„ ์ง“๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ์•ˆ๋‚ด์ž…๋‹ˆ๋‹ค. ์ง‘์€ ์ฒญ์‚ฌ์ง„์— ๋”ฐ๋ผ ์ง€์€ ์‹ค์ œ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๋ ค๋ฉด ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)๋ฅผ ์ž˜ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Kotlin ์ž…๋ฌธ [05] - Kotlin์—์„œ null ํ—ˆ์šฉ ์—ฌ๋ถ€ ์‚ฌ์šฉ

ํ•™์Šตํ•  ๋‚ด์šฉ null์˜ ์ •์˜ null์„ ํ—ˆ์šฉํ•˜๋Š” ์œ ํ˜•๊ณผ null์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ์œ ํ˜•์˜ ์ฐจ์ด์  null ์•ˆ์ „์˜ ์ •์˜ ๋ฐ ์ค‘์š”์„ฑ, Kotlin์ด null ์•ˆ์ „์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ?. ์•ˆ์ „ ํ˜ธ์ถœ ์—ฐ์‚ฐ์ž์™€ null์ด ์•„๋‹Œ !! ์–ด์„ค์…˜ ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ null ํ—ˆ์šฉ ๋ณ€์ˆ˜์˜ ๋ฉ”...

Kotlin ์ž…๋ฌธ [04] - Kotlin์—์„œ ์กฐ๊ฑด๋ฌธ ์ž‘์„ฑํ•˜๊ธฐ

ํ•™์Šตํ•  ๋‚ด์šฉ ๋ถˆ๋ฆฌ์–ธ ํ‘œํ˜„์‹์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• if/else ๋ฌธ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• when ๋ฌธ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• if/else ํ‘œํ˜„์‹์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• when ํ‘œํ˜„์‹์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ์‰ผํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ when ์กฐ๊ฑด๋ฌธ์—์„œ ์—ฌ๋Ÿฌ ๋ธŒ๋žœ์น˜์˜ ๊ณตํ†ต ๋™์ž‘์„ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ• i...

Kotlin ์ž…๋ฌธ [03] - Kotlin์—์„œ ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ ๋ฐ ์‚ฌ์šฉํ•˜๊ธฐ

ํ•™์Šตํ•  ๋‚ด์šฉ ์ž์ฒด ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ณ  ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ณ€์ˆ˜์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์„ ํ•จ์ˆ˜์—์„œ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ• ์—ฌ๋Ÿฌ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ณ  ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ• ์ด๋ฆ„์ด ์ง€์ •๋œ ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ• ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

Kotlin ์ž…๋ฌธ [02] - Kotlin์—์„œ ๋ณ€์ˆ˜ ๋งŒ๋“ค๊ธฐ ๋ฐ ์‚ฌ์šฉํ•˜๊ธฐ

ํ•™์Šตํ•  ๋‚ด์šฉ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐฉ๋ฒ• Kotlin์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์œ ํ˜•์—์„œ ๋ณ€์ˆ˜์— ์ ํ•ฉํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ• ์ฝ”๋“œ์— ์ฃผ์„์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

github page์— mermaid ์‚ฌ์šฉํ•˜๊ธฐ

mermaid ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด ์ ์šฉํ•˜๊ธฐ mermaid js ๋ถˆ๋Ÿฌ์˜ค๊ธฐ mermaid javascript ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” html ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค. _includes/head/custom.html์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค. <script src="https://...

SAML vs OAuth

SAML(Security Asserting Markup Language) ์ธ์ฆ ์ •๋ณด ์ œ๊ณต์ž์™€ ์„œ๋น„์Šค ์ œ๊ณต์ž ๊ฐ„์˜ ์ธ์ฆ ๋ฐ ์ธ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ XML๊ธฐ๋ฐ˜์˜ ํ‘œ์ค€ ๋ฐ์ดํ„ฐ ํฌ๋งท

IAM ๊ฐœ๋… ์ •๋ฆฌ

IAM? IAM(Identity and Access Management)์€ ๊ธฐ์—…์—์„œ ์ ํ•ฉํ•œ ์‚ฌ๋žŒ๊ณผ ๋””๋ฐ”์ด์Šค๊ฐ€ ์›ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฆฌ์†Œ์Šค ๋ฐ ์‹œ์Šคํ…œ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์•ก์„ธ์Šค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ๋จผ์ € ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์‹ ๋ขฐ ์—ฌ๋ถ€๋ฅผ ์ธ์ฆํ•œ ํ›„ ํ•„์š”ํ•œ ์•ก์„ธ...

Using / for division is deprecated and will be removed in Dart Sass 2.0.0.

Overview Jekyll๋กœ ๋งŒ๋“  github ๋ธ”๋กœ๊ทธ๋ฅผ ์˜ค๋žœ๋งŒ์— ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•ด๋ณด๋‹ˆ Using / for division is deprecated and will be removed in Dart Sass 2.0.0.๋ผ๋Š” Deprecation Warning ๋ฉ”์‹œ์ง€๊ฐ€ 6๊ฐœ๋‚˜ ์ƒ์„ฑ๋˜...

ubuntu์— NVM ์„ค์น˜

์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ ๋‹ค์šด๋กœ๋“œ https://github.com/nvm-sh/nvm์— ์ ‘์†ํ•˜์—ฌ install.sh์„ ๋‹ค์šด๋กœ๋“œ ํ•˜๊ณ , ํ„ฐ๋ฏธ๋„์„ ๊ป๋‹ค๊ฐ€ ์ผญ๋‹ˆ๋‹ค. ```bash ์•„๋ž˜ ๋‘˜ ์ค‘ ํ•˜๋‚˜๋กœ ๋‹ค์šด๋กœ๋“œ

Elasticsearch ๋‹ค๋ฅธ index join (Enrich & Ingest Pipeline)

Enrich Elasticsearch๋Š” ์„œ๋กœ ๋‹ค๋ฅธ Index๋ฅผ Joinํ•œ๋‹ค๋Š” ๊ฐœ๋…์ด ์—†๊ณ , Enrich๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹ค๋ฅธ Index์˜ ๋‚ด์šฉ์„ ํ•ฉ์นœ ํ›„ ์ธ๋ฑ์‹ฑํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

Elastic Stack ์•Œ์•„๋ณด๊ธฐ

๋…ธ๋“œ์™€ ํด๋Ÿฌ์Šคํ„ฐ ๋…ธ๋“œ: elasticsearch๊ฐ€ ์„ค์น˜๋˜๋Š” ๋ฌผ๋ฆฌ์  ๋˜๋Š” ๋…ผ๋ฆฌ์  ๋‹จ์œ„ ํด๋Ÿฌ์Šคํ„ฐ: ์—ฌ๋Ÿฌ ๋…ธ๋“œ์˜ ์ง‘ํ•ฉ

ubuntu์— Node.js ์„ค์น˜

Download Node.js https://nodejs.org/ko/download/ ์ ‘์† Linux Binaries(x64)์˜ ๋งํฌ ์ฃผ์†Œ ๋ณต์‚ฌ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์„ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด ์‹คํ–‰