Skip to main content
๐ŸŽ„ ๋‚˜๋งŒ์˜ ๋ธ”๋กœ๊ทธ ํ”Œ๋žซํผ ๋งŒ๋“ค๊ธฐ
  1. Posts/

๐ŸŽ„ ๋‚˜๋งŒ์˜ ๋ธ”๋กœ๊ทธ ํ”Œ๋žซํผ ๋งŒ๋“ค๊ธฐ

·1071 words·3 mins·
Blogging Php AdventOfCode
May Meow
Author
May Meow
MayMeow๋Š” ๊ฐœ๋ฐœ์ž์ด์ž ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ์• ํ˜ธ๊ฐ€๋กœ ์•”ํ˜ธํ™”, DevSecOps, ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ์— ๋Œ€ํ•œ ์—ด์ •์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋””์ง€ํ„ธ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋Š” ๋„๊ตฌ๋ฅผ ๋งŒ๋“ค๊ณ , ์ฐฝ์˜์„ฑ๊ณผ ๊ธฐ์ˆ ์„ ๊ฒฐํ•ฉํ•˜์—ฌ PHP ๋ฐ .NET๊ณผ ๊ฐ™์€ ๋ถ„์•ผ์—์„œ ํ˜์‹ ์„ ์ด๋ฃจ๋Š” ๊ฒƒ์„ ์ฆ๊น๋‹ˆ๋‹ค. ํ•ญ์ƒ ๊ธฐ์ˆ ์˜ ์ƒˆ๋กœ์šด ์˜์—ญ์„ ํƒ๊ตฌํ•˜๋Š” MayMeow๋Š” ๋””์ง€ํ„ธ ํ™˜๊ฒฝ์„ ๋ณดํ˜ธํ•˜๋Š” ๋ฐ ์ „๋…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œ๋™์•ˆ ์ œ๊ฐ€ ๋งŒ์กฑํ•  ๋งŒํ•œ ๋ธ”๋กœ๊ทธ ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•ด ์™”์Šต๋‹ˆ๋‹ค. Ghost์™€ ์›Œ๋“œํ”„๋ ˆ์Šค(๋ฉ€ํ‹ฐ์‚ฌ์ดํŠธ ํฌํ•จ) ๋“ฑ์„ ์‚ฌ์šฉํ•ด ๋ณด์•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ญ”๊ฐ€ ๋ถ€์กฑํ•œ ์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

Ghost๋Š” ์ €์™€ ์นœํ•˜์ง€ ์•Š์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋งŒ๋“ค์–ด์ ธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.

์›Œ๋“œํ”„๋ ˆ์Šค - ํ…Œ๋งˆ์— ์™œ ๊ทธ๋ ‡๊ฒŒ ๋งŽ์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ•„์š”ํ•œ๊ฐ€์š”? ์ƒ์  ์ค‘ ํ•œ ๊ณณ์—์„œ ๊ตฌ์ž…ํ•œ ํ…Œ๋งˆ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ๊ทธ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ์•Œ๊ณ  ์žˆ๋‚˜์š”? ์•„๋‹ˆ๋ฉด ์–ธ์ œ ์—…๋ฐ์ดํŠธ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ณ  ์žˆ๋‚˜์š”? ์ €๋Š” ํ…Œ๋งˆ ๋•Œ๋ฌธ์— ์‚ฌ์ดํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ •๋ง ์‹ซ์–ด์š”. ๊ฒŒ๋‹ค๊ฐ€ ์›น์šฉ ์—๋””ํ„ฐ๋ผ๋Š” ๋‹จ์–ด๋งŒ ๋“ค์–ด๋„ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ์ €๋Š” ๊ทธ๋‹ค์ง€ ์ข‹์•„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ํŽธ์ง‘๊ธฐ๋ฅผ WYSIWYG๋ผ๊ณ  ๋ถ€๋ฅด์ฃ .

ํ˜„์žฌ ์ €๋Š” ํœด๊ณ ๋ผ๋Š” ์ •์  ์ƒ์„ฑ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์ฒ˜์Œ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ๋ฐ˜ํ•ด๋ฒ„๋ ธ์–ด์š”. ์ผ๋ถ€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ดํŠธ์—๋„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ •์  ์ƒ์„ฑ๊ธฐ๋Š” ์ •์ ์ด๋ผ๋Š” ๋ช‡ ๊ฐ€์ง€ ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ œ๊ฐ€ ์ง์ ‘ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ 10๊ฐœ(?) ์ด์ƒ ์‹œ๋„ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ ์‹œ์ž‘ํ•  ๋•Œ ๋งˆํฌ๋‹ค์šด ํ˜•์‹๊ณผ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์„œ๊ฐ€ ์žˆ๋Š” ํ•œ ๋ช…์˜ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๊ฐ„๋‹จํ•œ ํ”Œ๋žซํผ์„ ์›ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™”๋ คํ•œ ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค.

์›Œ๋“œํ”„๋ ˆ์Šค ๋ฉ€ํ‹ฐ์‚ฌ์ดํŠธ์—์„œ ์˜๊ฐ์„ ๋ฐ›์•„ ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์ง€์›๋„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ๊ด€๋ฆฌ์—์„œ ์—ฌ๋Ÿฌ ๋ธ”๋กœ๊ทธ(์›ํ•˜๋Š” ๊ฒฝ์šฐ ํ•˜์œ„ ๋ธ”๋กœ๊ทธ)๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๋‚œ์ฃผ์— AI ์š”์•ฝ์„ ์ถ”๊ฐ€ํ–ˆ๋Š”๋ฐ ์‘๋‹ต ์‹œ๊ฐ„์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ์„œ ๊ฒŒ์‹œ๋ฌผ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. (๋ณดํ†ต ๋ช‡ ๋ฐ€๋ฆฌ์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๋Š”๋ฐ ์ง€๊ธˆ์€ ์•ฝ 10์ดˆ๊ฐ€ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค).

๊ทธ๋ž˜์„œ ์ด๋ฒˆ ์ฃผ๋ง์— ๋Œ€๊ธฐ์—ด์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. cron์œผ๋กœ ์ฃผ๊ธฐ์ ์œผ๋กœ ํ˜ธ์ถœํ•˜๊ณ  ๋Œ€๊ธฐ์—ด์—์„œ ์ž‘์—…์„ ๋กœ๋“œํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ช…๋ น์ž…๋‹ˆ๋‹ค. ์—ฐ์† ๋ฃจํ”„๋„ ํ…Œ์ŠคํŠธ ์ค‘์ด์ง€๋งŒ ์ง€๊ธˆ์€ ํฌ๋ก ์œผ๋กœ ๊ดœ์ฐฎ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚ด ์ปดํ“จํ„ฐ์—์„œ ํ…Œ์ŠคํŠธํ•˜๊ณ  Forge๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„๋กœ ํ‘ธ์‹œํ•œ ํ›„ ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ œ ์ปดํ“จํ„ฐ๋Š” MySQL์„ ์‚ฌ์šฉํ•˜๊ณ  ์„œ๋ฒ„๋Š” Postgresql์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ž‘์—… ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์— Postgresql์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ง๋ ฌํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฑฐ๊ธฐ์— ๋„ฃ๋Š” ๊ฒƒ์ด ํ˜„๋ช…ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ Postgres๋Š” ์ด๊ฒƒ์„ ์ข‹์•„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ผ์„ ๋‹ค์‹œ ์ง€๋‚˜์น˜๊ฒŒ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค.

๋‚˜๋Š” CakePHP ์Šฌ๋ž™์— ๋ฌผ์—ˆ๊ณ  ๋ช‡๋ช‡ ์‚ฌ๋žŒ๋“ค์€ ๊ทธ๋ ‡๊ฒŒํ•ด์„œ๋Š” ์•ˆ๋˜๋ฉฐ (์ง๋ ฌํ™” ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ) ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์ž‘์—…๊ณผ ํ•จ๊ป˜ ์†Œ๋น„ํ•˜๋ ค๋Š” ์—”ํ‹ฐํ‹ฐ์˜ ID๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์›๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ json์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์กฐ์–ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ €๋Š” json์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๊ณ  ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ–ˆ์œผ๋ฉฐ ์ด์ œ ๋Œ€๊ธฐ์—ด์ด ์ž‘๋™ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ์€ ๋ธ”๋กœ๊ทธ์˜ ๋ชจ์–‘๊ณผ ์ž‘๋™ ๋ฐฉ์‹์— ๋งŒ์กฑํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž ์ •์˜ ๋ธ”๋กœ๊ทธ๋กœ ์ด๋™ํ•˜๊ธฐ ์ „์˜ RSS ๋‚ด๋ณด๋‚ด๊ธฐ๊ฐ€ ์—ฌ์ „ํžˆ ๊ทธ๋ฆฌ์›Œ์š”.

MayMeow/meowblog

๐Ÿ˜ฝ Simple blogging application written with PHP with many fun things

PHP
0
0
Reply by Email

Related

๐ŸŽ„ Advent of Code 08์ผ์ฐจ
·1552 words·4 mins
AdventOfCode Korean Article