๐ŸŒธ

simple resume[์ด๋ ฅ์„œ ์ƒ์„ฑ๊ธฐ] ๊ฐœ๋ฐœ๊ธฐ

Demo ๋งํฌ : (http://resume.suitee.me/)
Github ๋งํฌ : (https://github.com/suitelab/simple-resume)

์ด๋ฏธ์ง€

์ด์ง์„ ์ค€๋น„ํ•˜๋ฉฐ ์ง€๋‚œ ์ฃผ๋ง์— ๋ฌธ๋“ ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. โ€œ์ด๋ ฅ์„œ ์ƒ์„ฑ๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด๋ณผ๊นŒ?โ€
MS Word๋กœ ์ž‘์„ฑํ•ด๋‘” ๋‚˜๋ฆ„ ์ด์˜๊ฒŒ ๋””์ž์ธํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋Š” ์ด๋ ฅ์„œ๊ฐ€ ํ•˜๋‚˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ์—ฌ๊ฐ„ ๊ท€์ฐฎ์€ ๋ถ€๋ถ„์ด ํ•œ๋‘๊ฐ€์ง€๊ฐ€ ์•„๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ž‘์„ฑ ํ™˜๊ฒฝ์—์„œ ์ด๋ ฅ์„œ ์ž‘์„ฑ์‹œ ์‚ฌ์šฉํ•œ ํฐํŠธ๋„ ์ƒˆ๋กœ ๋‹ค์šด๋ฐ›์•„ ์ค˜์•ผํ•˜๊ณ  ์–‘์‹์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ด๋ ฅ ๋“ฑ์„ ์ถ”๊ฐ€ํ• ๋•Œ ํ‹€์„ ์œ ์ง€์‹œํ‚ค๋ ค๊ณ  ํ•  ๋•Œ ์‹ ๊ฒฝ์จ์ค˜์•ผํ•  ๋ถ€๋ถ„์ด ๋งŽ๋‹ค. (๋ฌผ๋ก  MS Word์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ํƒ“๋„ ์žˆ๋‹ค.)

์ด๋Ÿฐ ์ €๋Ÿฌํ•œ ์ด์œ ๋กœ ํ˜„์žฌ ์ด ๋ธ”๋กœ๊ทธ์˜ ์ •์  ์›นํŽ˜์ด์ง€ ์ƒ์„ฑ๊ธฐ์—์„œ ์˜๊ฐ์„ ์–ป์€ ์ด๋ ฅ์„œ ์ƒ์„ฑ๊ธฐ๊ฐ€ ๋งŒ๋“ค๊ณ  ์‹ถ์–ด์กŒ๋‹ค.

์š”์ฆ˜ ํ•œ์ฐฝ node.js๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— node.js๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค.
๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค.

  • express ์„œ๋ฒ„๋กœ ๊ฐœ๋ฐœํ•  ๊ฒƒ.
  • yamlํŒŒ์ผ๋กœ ์ž‘์„ฑํ•˜์—ฌ ํฐํŠธ ๋“ฑ๋“ฑ ์‚ฌ์šฉ์ž๊ฐ€ ์‹ ๊ฒฝ์“ธ๋ถ€๋ถ„์„ ์ค„์ด๊ธฐ.
  • ๊ฒฝ๋ ฅ์‚ฌํ•ญ๋“ฑ ํ•ญ๋ชฉ๋“ค์„ ์ž์œ ์ž์žฌ๋กœ ์ปค์Šคํ…€๋งˆ์ด์ง• ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ.
  • pdf ๋ณ€ํ™˜๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•  ๊ฒƒ.

์šฐ์„  ์ด๋ ฅ์„œ ๋””์ž์ธ์€ ํ”„๋ก ํŠธ์—”๋“œ ๋ถ„์•ผ์™€ ์ฉ ์นœํ•˜์ง€ ์•Š๊ธฐ๋•Œ๋ฌธ์— ๊ต‰์žฅํžˆ ๊น”๋”ํ•˜๊ณ  ์ง๊ด€์ ์ด๋ผ๊ณ  ์ƒ๊ฐ์ด ๋“  https://hyunseob.github.io/resume/ ์—์„œ ๋งŽ์€ ๋ถ€๋ถ„ ์ฐธ๊ณ ๋ฅผ ํ•˜์˜€๋‹ค. ์‹ฌ์ง€์–ด ์ฝ”๋“œ๋งˆ์ € ๊น”๋”ํ•˜๋‹ค.
์ดํ˜„์„ญ๋‹˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

express ์„œ๋ฒ„๋กœ ๊ฐœ๋ฐœํ•  ๊ฒƒ.

์‚ฌ์‹ค node.js๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๊ณ  ํ–ˆ์ง€๋งŒ ๋ง‰์ƒ ์‚ฌ์šฉํ•œ ๋ถ€๋ถ„์€ ์„œ๋ฒ„ ๊ตฌ๋™๊ณผ pdf๋ณ€ํ™˜ ์ •๋„๋กœ๋งŒ ์‚ฌ์šฉํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ์‹ฌ์ง€์–ด route๋„ ์—†๋‹ค.(simple is best ๐Ÿ‘)

์ด๋ฏธ์ง€

html์ชฝ์€ ์ƒ์‚ฐ์„ฑ์ด ์ข‹์€ ํ…œํ”Œ๋ฆฟ ์—”์ง„ ejs๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ  ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด section ๋ณ„๋กœ ๋‚˜๋ˆ„์—ˆ๋‹ค.
ํ˜„์žฌ education๊ณผ license์˜ ์–‘์‹์ด ๊ฑฐ์˜ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ฉ์น˜๋Š”๊ฒŒ ์ข‹์„์ง€ ์œ ์ง€ํ• ์ง€ ๊ณ ๋ฏผ์ค‘์ด๋‹ค.

yamlํŒŒ์ผ๋กœ ์ž‘์„ฑํ•˜์—ฌ ํฐํŠธ ๋“ฑ๋“ฑ ์‚ฌ์šฉ์ž๊ฐ€ ์‹ ๊ฒฝ์“ธ๋ถ€๋ถ„์„ ์ค„์ด๊ธฐ.

์ด๋ฏธ์ง€

์ด๋ ฅ์„œ ์ž‘์„ฑ์€ yaml์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์ž‘์„ฑํ• ๋•Œ ๊ด‘์žฅํžˆ ์ง๊ด€์ ์ด๊ณ  ํŽธ๋ฆฌํ•˜๋‹ค.
๋ฌผ๋ก  ์ž‘์„ฑํ•ญ๋ชฉ๋“ค๋„ ์ตœ๋Œ€ํ•œ ์ง๊ด€์ ์œผ๋กœ ๊ตฌ์„ฑํ•ด๋ณด์•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ ์นดํ…Œ๊ณ ๋ฆฌ๋งˆ๋‹ค ์ด๋ชจ์ง€๋„ ๋‹ฌ์•„์„œ ์ข€ ๋” ๋ˆˆ์— ์ž˜ ๋“ค์–ด์˜ค๊ฒŒ ํ•˜์˜€๋‹ค.

๊ฒฝ๋ ฅ์‚ฌํ•ญ๋“ฑ ํ•ญ๋ชฉ๋“ค์„ ์ž์œ ์ž์žฌ๋กœ ์ปค์Šคํ…€๋งˆ์ด์ง• ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ.

๊ตฌ์กฐ๊ฐ€ ์ €๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ €๊ฐ€ ์›ํ•˜๋Š” ์ž…๋ง›๋Œ€๋กœ ํ•ญ๋ชฉ๋“ค์„ ์ถ”๊ฐ€, ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด license ํ•ญ๋ชฉ์ด ํ•„์š”์—†๋Š” ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ yml์—์„œ license ๋ถ€๋ถ„์„ ์ฃผ์„์ฒ˜๋ฆฌํ•˜๋ฉด ๋์ด๋‹ค.
๋ฐ˜๋Œ€๋กœ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ ์‚ฌ์šฉ์ž๋Š” ejsํŒŒ์ผ๊ณผ yml์—์„œ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค!

pdf ๋ณ€ํ™˜๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•  ๊ฒƒ.

์ด๋ถ€๋ถ„ ๊ณ ๋ฏผ์„ ๋งŽ์ด ํ•˜์˜€๋‹ค. ์ด๋ ฅ์„œ๋Š” ์š”์ƒˆ pdf๋กœ ์ œ์ถœํ•˜๋Š” ๊ฒƒ์ด ํŠธ๋ Œ๋“œ๋ผ์„œ pdf๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋˜์—ˆ๋‹ค.
์‚ฌ์‹ค ๋ธŒ๋ผ์šฐ์ €์—์„œ pdf๋กœ ์ถœ๋ ฅ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ์ด์šฉํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์€ ์ € ๋ฐฉ๋ฒ•๋Œ€๋กœ ํ•ด๋„ ์ข‹๋‹ค!
pdf์ถœ๋ ฅ ๊ธฐ๋Šฅ์„ ๊ฒ€์ƒ‰ํ•˜๋˜ ์ค‘ npm ํŒจํ‚ค์ง€์ธ puppeteer๋ผ๋Š” Google Chrome์—์„œ ๋งŒ๋“  ํŒจํ‚ค์ง€๊ฐ€ ์žˆ์—ˆ๋‹ค.

chrome์—์„œ pdf๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์„ puppeteer์—์„œ ๊ทธ๋Œ€๋กœ ๋ฉ”์„œ๋“œ๋กœ ์ œ๊ณตํ•˜๊ณ  ์žˆ์–ด์„œ ์‰ฝ๊ฒŒ pdf๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋˜์—ˆ๋‹ค.
pdf ๋ณ€ํ™˜๊ธฐ๋Šฅ์€ npm run pdf {path/to/file/name} ์˜ ๋ช…๋ น์–ด๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
ํŒŒ๋ผ๋ฏธํ„ฐ์— ์›ํ•˜๋Š” ๊ฒฝ๋กœ/ํŒŒ์ผ์ด๋ฆ„ ์œผ๋กœ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ๊ฒฝ๋กœ์— pdfํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ฒŒ ๋œ๋‹ค.

์›๋ž˜ ๋ณธ์ธ์ด ์“ฐ๋ ค๊ณ  ๋งŒ๋“  ์„œ๋น„์Šค์ง€๋งŒ ์ปค์Šคํ…€ ์ด๋ ฅ์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์€ ๋งŽ์€ ๋ถ„๋“ค๊ป˜ ๋„์›€์ด ๋˜๊ณ  ์‹ถ์–ด์„œ ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

๊ฐœ์ธ์ด ๋งŒ๋“  ์„œ๋น„์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆํŽธํ•œ์ ์ด๋‚˜ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. (https://github.com/suitelab/simple-resume) ์—์„œ Issues, Pull requests๋ฅผ ๋ฐ›๊ณ  ์žˆ์œผ๋‹ˆ ์ž์œ ๋กญ๊ฒŒ ์ž‘์„ฑํ•ด์ฃผ์‹œ๋ฉด ์„œ๋น„์Šค ๊ฐœ์„ ์— ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

๊ธ€๊ณผ ์„œ๋น„์Šค๊ฐ€ ๋„์›€์ด ๋˜์…จ๋‹ค๋ฉด repository์˜ โญ(Star) ๋งŽ์ด ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”!

๐Ÿ›ด

yoon.homme
yoon.homme

๊ธฐ์ˆ ๊ณผ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์˜ ํž˜์ด ์„ธ์ƒ์„ ๋ฐ”๊พผ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค.

ํŽธ๋ฆฌํ•œ ์„ธ์ƒ์œผ๋กœ ๋‚˜์•„๊ฐ€๊ธฐ ์œ„ํ•ด ๊ณ ๋ฏผํ•˜๊ณ  ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.