Skip to main content

Β· 11 min read
coldrain-f

κΈ°λ¬˜ν•œ_보카_메인_ν™”λ©΄

토이 ν”„λ‘œμ νŠΈλ₯Ό μ‹œμž‘ν•œ 계기​

μ΄μ „μ—λŠ” ꡭ비지원 ν•™μ›μ΄λ‚˜ ν•­ν•΄ 99와 같은 λΆ€νŠΈμΊ ν”„μ—μ„œ 짧은 κΈ°κ°„ λ™μ•ˆμ—λ§Œ μ§„ν–‰λ˜λŠ” ν”„λ‘œμ νŠΈλ§Œ κ²½ν—˜ν–ˆμ—ˆμŠ΅λ‹ˆλ‹€.

ꡐ윑 κΈ°κ΄€μ—μ„œ μ§„ν–‰ν•˜λŠ” νŒ€ ν”„λ‘œμ νŠΈμ˜ μž₯점은 λ‹€μ–‘ν•œ μ‚¬λžŒλ“€κ³Ό 역할을 λ‚˜λˆ„κ³  ν˜‘μ—…μ„ ν•  수 μžˆλ‹€λŠ” 점이라고 μƒκ°ν•©λ‹ˆλ‹€. 이 뢀뢄은 ꡉμž₯히 쒋은 κ²½ν—˜μ΄ λμ—ˆκ³  μ’‹μ•˜μŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ 항상 기간이 짧고 λ°λ“œ 라인이 μ •ν•΄μ Έ μžˆλ‹€ λ³΄λ‹ˆ 맀번 μ„œλ‘λ₯΄κ²Œ λΌλ²„λ €μ„œ κ΅¬ν˜„μ—λ§Œ κΈ‰κΈ‰ν–ˆκ³  쀑볡 μ½”λ“œλ‚˜ 버그 νˆ¬μ„±μ΄μ˜ λƒ„μƒˆλ‚˜λŠ” μ½”λ“œκ°€ μž”λœ© μƒκΈ°κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

κ΅μœ‘μ„ μˆ˜λ£Œν•œ μ΄ν›„μ—λŠ” νŒ€μ›λ“€μ—κ²Œ μžˆμ–΄μ„œ 더 이상 ν”„λ‘œμ νŠΈλŠ” μ΅œμš°μ„  μš°μ„ μˆœμœ„κ°€ μ•„λ‹ˆκ²Œ 되기 λ•Œλ¬Έμ— ν”„λ‘œμ νŠΈκ°€ λλ‚˜λ”λΌλ„ μ „μ²΄μ μœΌλ‘œ μ½”λ“œλ₯Ό λ¦¬νŒ©ν„°λ§ ν•œλ‹€κ±°λ‚˜ μΆ”κ°€ κΈ°λŠ₯을 λ„£κΈ°κ°€ μ–΄λ €μ› μŠ΅λ‹ˆλ‹€.

수료 이후에도 ν”„λ‘œμ νŠΈλ₯Ό 계속 끌고 κ°€λŠ” νŒ€μ›λ“€λ„ μžˆμ—ˆμ„ 거라 μƒκ°ν•©λ‹ˆλ‹€. κ·Έμ € 그런 상황이 저에겐 μ°Ύμ•„μ˜€μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— 아쉬웠을 λΏμž…λ‹ˆλ‹€.

이번 토이 ν”„λ‘œμ νŠΈλŠ” μ΄λŸ¬ν•œ μ΄μœ λ“€ λ•Œλ¬Έμ— μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€. ν”„λ‘ νŠΈ μͺ½λ„ ν•œ λ²ˆμ―€μ€ 해보고 μ‹Άμ—ˆκ³  μ˜¬ν•΄λΆ€ν„°λŠ” μ˜μ–΄λ‚˜ 일본어 단어도 μ‘°κΈˆμ”© μ™Έμ›Œλ³΄λ©΄ μ’‹κ² λ‹€λŠ” 생각을 κ°–κ³  μžˆμ—ˆκΈ° λ•Œλ¬Έμ— 단어λ₯Ό μ•”κΈ°ν•  수 μžˆλŠ” μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“€μ–΄λ³΄μžλŠ” μƒκ°μœΌλ‘œ μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€.

진행은 μ–΄λ–»κ²Œ?​

기획, ν”„λ‘ νŠΈ, λ°±μ—”λ“œλ₯Ό λͺ¨λ‘ 혼자 ν•˜λ €λ‹€ λ³΄λ‹ˆ ν”„λ‘œμ νŠΈ 규λͺ¨μ— λΉ„ν•΄μ„œ μ‚½μ§ˆμ„ ꡉμž₯히 많이 ν–ˆμŠ΅λ‹ˆλ‹€. ν•œ λ²ˆλ„ μ ‘ν•΄λ³Έ 적 μ—†λŠ” Vue.js둜 화면을 λ§Œλ“€κΈ° μœ„ν•΄μ„œ ν”„λ‘œμ νŠΈλ₯Ό κ΅¬μ„±ν•˜μ—¬ μ–΄μ°Œμ–΄μ°Œ κ°œλ°œμ„ μ‹œμž‘ν–ˆμ§€λ§Œ λ§‰νž λ•Œλ§ˆλ‹€ λ¬Όμ–΄λ³Ό μ‚¬λžŒλ„ μ—†μ–΄μ„œ 곡식 λ¬Έμ„œμ™€ ꡬ글에 μ˜μ‘΄ν•˜λ©΄μ„œ λ”λ”˜ μ†λ„λ‘œ κ°œλ°œν–ˆμŠ΅λ‹ˆλ‹€.

λ””μžμΈκ³Όλ„ 연이 μ—†μ–΄μ„œ μ–΄λ–»κ²Œ ν•΄μ•Ό 할지 ν•œμ°Έμ„ κ³ λ―Όν•˜κ³  있던 차에 λ‹€ν–‰νžˆ VuetifyλΌλŠ” 쒋은 Vue μ»΄ν¬λ„ŒνŠΈ ν”„λ ˆμž„μ›Œν¬λ₯Ό λ°œκ²¬ν•˜κ³  λ‚˜μ„œλŠ” μ—΄μ‹¬νžˆ λ¬Έμ„œλ₯Ό λ’€μ Έκ°€λ©° 화면을 λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.

μ„œλ²„λŠ” 개인적으둜 κΎΈμ€€νžˆ 곡뢀해 μ™”λ˜ Spring Boot + JPA, QueryDSL을 μ‚¬μš©ν–ˆκΈ° λ•Œλ¬Έμ— Vue.js에 λΉ„ν•΄μ„œλŠ” 크게 λ§‰νžˆμ§„ μ•Šμ•˜λ˜ 것 κ°™μŠ΅λ‹ˆλ‹€.

κ·Έλž˜μ„œ λ§Œλ“  κΈ°λŠ₯듀은?​

κ΄€λ¦¬μž_ν™”λ©΄

μ‚¬μš©μžλŠ” κ΄€λ¦¬μž ν™”λ©΄μ—μ„œ 단어μž₯을 λ“±λ‘ν•©λ‹ˆλ‹€. 그리고 단어μž₯ ν•˜λ‚˜λ‹Ή μ—¬λŸ¬ μΉ΄ν…Œκ³ λ¦¬λ₯Ό 등둝할 수 있고, μΉ΄ν…Œκ³ λ¦¬λ³„λ‘œ μ™Έμš°κ³  싢은 단어듀을 μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ›Ήμ΄μ§€λ§Œ μ•±μ²˜λŸΌ λ§Œλ“€λ €λ‹€ λ³΄λ‹ˆ 화면이 λ„ˆλ¬΄ μ’μ•„μ„œ κΈ°νšν•œ λŒ€λ‘œ λ§Œλ“€μ§„ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.

ν”Œλž˜λ„ˆ_ν™”λ©΄

ν•™μŠ΅ν•˜κ³ μž ν•˜λŠ” 단어μž₯을 μƒμ„±ν•˜κ³  ν”Œλž˜λ„ˆλ‘œ λ„˜μ–΄μ˜€λ©΄ μƒμ„±λœ 단어μž₯의 μΉ΄ν…Œκ³ λ¦¬λ₯Ό 당일 μ»¬λŸΌμ— μ…€λ ‰νŠΈ λ°•μŠ€λ₯Ό ν†΅ν•΄μ„œ μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μΆ”κ°€ν•˜λ©΄ μžλ™μœΌλ‘œ 볡슡 μ£ΌκΈ°κ°€ μ™„μ„±λ©λ‹ˆλ‹€.

볡슡 μ£ΌκΈ°λŠ” 1/4/7/14 ν•™μŠ΅λ²•μ„ μ±„νƒν•˜μ—¬ 당일 ν•™μŠ΅ λΆ„λŸ‰ + 1일 μ „ 볡슡 + 3일 μ „ 볡슡 + 6일 μ „ 볡슡 + 13일 μ „ 볡슡이 μžλ™μœΌλ‘œ μ±„μ›Œμ§‘λ‹ˆλ‹€. μ—λΉ™ν•˜μš°μŠ€μ˜ 망각 곑선을 κΈ°λ°˜ν•˜μ—¬ μžμ—°μŠ€λŸ½κ²Œ 단기 κΈ°μ–΅μ—μ„œ μž₯κΈ° κΈ°μ–΅μœΌλ‘œ 흐λ₯Ό 수 μžˆλ„λ‘ ν•˜κ³  μ‹Άμ—ˆκ³  λ³΅μž‘ν•œ ν•™μŠ΅ ν”Œλž˜λ„ˆλ₯Ό κ°„νŽΈν•˜κ²Œ 생성해주고 μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€.

λ§Œμ•½ μΉ΄ν…Œκ³ λ¦¬λ‹Ή ν•™μŠ΅ 단어가 5κ°œμ”© λ“±λ‘λ˜μ–΄ μžˆλ‹€λ©΄ 당일 ν•™μŠ΅ λΆ„λŸ‰(5개) + 1일 μ „ 볡슡(5개) + 3일 μ „ 볡슡(5개) + 6일 μ „ 볡슡(5개) + 13일 μ „ 볡슡(5개)으둜 14일 μ°¨λΆ€ν„°λŠ” ν•˜λ£¨μ— 총 25개의 단어λ₯Ό ν•™μŠ΅ν•˜κ²Œ λ©λ‹ˆλ‹€. 볡슡의 양이 λ§Žμ•„ λ³΄μ΄μ§€λ§Œ 당일과 1일 전을 μ œμ™Έν•˜κ³ λŠ” λͺ¨λ‘ 2 νšŒλ… 이상씩 μ§„ν–‰ν•œ μƒνƒœμ΄κΈ° λ•Œλ¬Έμ— ꡉμž₯히 λΉ λ₯Έ μ†λ„λ‘œ λ„˜κΈΈ 수 μžˆμŠ΅λ‹ˆλ‹€.

ν•™μŠ΅_ν™”λ©΄

ν”Œλž˜λ„ˆμ˜ ν•™μŠ΅ μ˜΅μ…˜μ—μ„œ μ˜μ–΄λ₯Ό μΆœμ œν•˜κ³  ν•œκ΅­μ–΄λ‘œ 닡을 μž…λ ₯할지, ν•œκ΅­μ–΄λ₯Ό μΆœμ œν•˜κ³  μ˜μ–΄λ‘œ 닡을 μž…λ ₯할지에 λŒ€ν•œ ν•™μŠ΅ μŠ€νƒ€μΌμ„ 선택할 수 μžˆμŠ΅λ‹ˆλ‹€. 이외에도 λ³΅μŠ΅μ„ μ•ˆ ν•˜κ³  당일 λ‹¨μ–΄λ§Œ ν•™μŠ΅ν•  수 μžˆλŠ” μ˜΅μ…˜μ΄λ‚˜ TTS(Text To Speech) λͺ©μ†Œλ¦¬ 선택 λ“± λ‹€μ–‘ν•œ μ˜΅μ…˜λ“€μ΄ μ‘΄μž¬ν•©λ‹ˆλ‹€.

ν•„μš”ν•œ μ˜΅μ…˜λ“€μ„ μ„€μ •ν•˜κ³  ν•™μŠ΅ν•  곡뢀 일자(Day 1, Day 2...)λ₯Ό μ„ νƒν•΄μ„œ LEARN λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ ν•™μŠ΅ ν™”λ©΄μœΌλ‘œ λ„˜μ–΄κ°‘λ‹ˆλ‹€. λͺ¨λ“  λ‹¨μ–΄μ˜ ν•™μŠ΅μ΄ λλ‚˜λ©΄ ν‹€λ¦° 단어λ₯Ό λͺ¨μ•„μ„œ 랜덀으둜 μ„žμ€ λ’€ μ‹œλ„ νšŸμˆ˜κ°€ 1 μ¦κ°€ν•˜μ—¬ ν•œλ²ˆ 더 ν•™μŠ΅μ΄ μ§„ν–‰λ˜κ³ , ν‹€λ¦° 단어가 ν•˜λ‚˜λ„ μ—†λ‹€λ©΄ κ·Έμ œμ•Ό ν•™μŠ΅μ΄ μ™„μ „νžˆ μ’…λ£Œλ˜κ³  ν”Œλž˜λ„ˆμ—μ„œλ„ ν•΄λ‹Ή 곡뢀 μΌμžλŠ” ν•™μŠ΅ μ™„λ£Œλ‘œ ν‘œμ‹œλ©λ‹ˆλ‹€.

고양이 그림은 μ‚¬μš©μž μž…λ ₯을 κΈ°λ‹€λ¦¬λŠ” 경우, 문제λ₯Ό ν‹€λ¦° 경우, λ§žμ€ κ²½μš°μ— ν‘œμ •κ³Ό λͺΈμ§“이 λ‹¬λΌμ§‘λ‹ˆλ‹€. 그림을 잘 κ·Έλ¦¬λŠ” 제 지인이 κ·Έλ €μ€¬μŠ΅λ‹ˆλ‹€.

일본어_ν•™μŠ΅_ν™”λ©΄

일본어 단어μž₯을 ν•™μŠ΅ν•˜λŠ” κ²½μš°μ—” ν•œμž μœ„μ— ν›„λ¦¬κ°€λ‚˜(Furigana)λ₯Ό ν‘œμ‹œν•  수 μžˆλŠ” μ•„μ΄μ½˜ λ²„νŠΌμ΄ μΆ”κ°€λ©λ‹ˆλ‹€. ν΄λ¦­ν•˜λ©΄ ν•œμž μœ„μ— ν›„λ¦¬κ°€λ‚˜κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

μ•žμœΌλ‘œμ˜ κ³„νšβ€‹

"빨리 λ§Œλ“€μ–΄μ„œ 단어λ₯Ό μž”λœ© μ™Έμ›Œμ•Όμ§€!"λΌλŠ” 생각을 κ°–κ³  κΈ‰ν•œ 마음으둜 ν”„λ‘œμ νŠΈμ— μž„ν•˜λ‹€ λ³΄λ‹ˆ 정해진 μΌμ •μ΄λ‚˜ λ°λ“œ 라인은 μ—†μ—ˆμ§€λ§Œ 항상 κΈ‰ν•˜κ²Œ λ§Œλ“€κ³  μžˆλŠ” μžμ‹ μ„ λ³Ό 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

μ–΄μ°Œμ–΄μ°Œ λ§Œλ“€μ—ˆκ³  κ°œμΈμ μœΌλ‘œλ„ λ‚˜λ¦„ 만쑱슀럽게 μ‚¬μš©ν•˜κ³  있긴 ν•˜μ§€λ§Œ.. λƒ„μƒˆλ‚˜λŠ” μ½”λ“œλ“€μ΄ κ³„μ†ν•΄μ„œ μŒ“μ—¬κ°€λ‹€ λ³΄λ‹ˆ λ‚΄μš©λ¬Όμ΄ μƒλ‹Ήνžˆ 뢈만쑱슀럽게 λ˜μ–΄λ²„λ ΈμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ μ•žμœΌλ‘œλŠ” κΈ°λŠ₯ μΆ”κ°€λ³΄λ‹€λŠ” μ½”λ“œ λ¦¬νŒ©ν„°λ§μ„ 진행해 λ³Ό μƒκ°μž…λ‹ˆλ‹€.

κ°€μž₯ λ¨Όμ € νƒ€μž…μŠ€ν¬λ¦½νŠΈ(Typescript)둜 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜μ„ 진행해 λ³΄λ©΄μ„œ μ „μ²΄μ μœΌλ‘œ μ½”λ“œλ₯Ό μ •λ¦¬ν•΄λ³΄κ³ μž ν•©λ‹ˆλ‹€. ν”„λ‘œμ νŠΈκ°€ μ§„ν–‰λ˜λ©΄ μ§„ν–‰λ μˆ˜λ‘ μ½”λ“œκ°€ κ³„μ†ν•΄μ„œ κΈΈμ–΄μ§€λŠ”λ° μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” μžλ™ 완성이 잘 μ•ˆ λ˜λ‹€ λ³΄λ‹ˆ λ³€μˆ˜λͺ…μ΄λ‚˜ ν•¨μˆ˜λͺ…을 까먹으면 항상 μ½”λ“œλ₯Ό λ‹€ λ’€μ Έλ³΄κ±°λ‚˜ κ²€μƒ‰ν•΄μ„œ 확인해야 ν–ˆμ—ˆκ³  νƒ€μž…μ„ λ°”λ‘œλ°”λ‘œ 확인할 수 μ—†λ‹€λŠ” 점이 λ„ˆλ¬΄ λ‹΅λ‹΅ν–ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

νƒ€μž…μŠ€ν¬λ¦½νŠΈλ‘œ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜μ΄ λλ‚˜λ©΄ 이번 ν”„λ‘œμ νŠΈμ—μ„œ λͺ»ν–ˆλ˜ ν…ŒμŠ€νŠΈ μ½”λ“œλ„ 짜보고, 둜그인 κΈ°λŠ₯κ³Ό CI/CD도 진행해 λ³Ό μƒκ°μž…λ‹ˆλ‹€. μš•μ‹¬μ„ μ’€ 더 λΆ€λ¦¬μžλ©΄ Chat GPT λ„μž…(질문 μš©λ„), ν•™μŠ΅ 뢄석, λž­ν‚Ή, 단어μž₯ 곡유, μŠ€ν„°λ””(ν•¨κ»˜ ν•™μŠ΅) λ“±μ˜ κΈ°λŠ₯듀을 μΆ”κ°€ κ°œλ°œν•΄λ³΄κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

μ²˜μŒμ—λŠ” 이걸 μ–΄λ–»κ²Œ λ§Œλ“€μ§€ λΌλŠ” μƒκ°μœΌλ‘œ 많이 λ§‰λ§‰ν–ˆμ§€λ§Œ ν•˜λ‹€ λ³΄λ‹ˆ κ°œλ°œμ— λŒ€ν•œ ν₯미도 μ‘°κΈˆμ”© λΆ™μ—ˆκ³  성취감과 ν”„λ‘œμ νŠΈμ— λŒ€ν•œ 애착도 많이 생긴 것 κ°™μ•„μ„œ μ‹œμž‘ν•˜κΈΈ 정말 μž˜ν–ˆλ‹€λŠ” 생각이 λ“­λ‹ˆλ‹€.

Β· 2 min read
coldrain-f

이틀 정도 μ‹œκ°„ λ‚΄μ„œ λΈ”λ‘œκ·Έλ₯Ό μƒˆλ‘­κ²Œ κ°œμ„€ν–ˆμŠ΅λ‹ˆλ‹€. 간단할 쀄 μ•Œμ•˜λŠ”λ° 생각보닀 쉽지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μ•žμœΌλ‘œ μ΄κ³³μ—μ„œ 배운 λ‚΄μš©λ“€μ„ ν•˜λ‚˜μ”© μ •λ¦¬ν•΄μ„œ 올릴 μƒκ°μž…λ‹ˆλ‹€.

ν‹°μŠ€ν† λ¦¬λ‚˜ 넀이버 λΈ”λ‘œκ·Έμ™€ 같은 타 λΈ”λ‘œκ·Έλ“€μ²˜λŸΌ λ³„λ„μ˜ κ΄€λ¦¬μž 메뉴가 μžˆμ–΄μ„œ μΉ΄ν…Œκ³ λ¦¬ 관리가 쉽지도 μ•Šκ³  κΈ€μ“°κΈ° 화면이 μžˆλŠ” 게 μ•„λ‹ˆλΌ 맀번 λ§ˆν¬λ‹€μš΄ νŒŒμΌμ„ 직접 λ§Œλ“€μ–΄ μž‘μ„±ν•΄μ•Ό ν•œλ‹€λŠ” 단점이 μžˆμŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ μ›Ήκ³Ό λͺ¨λ°”일 λͺ¨λ‘ κΉ”λ”ν•˜κ²Œ 보이기도 ν•˜κ³  μ½”λ“œ ν•˜μ΄λΌμ΄νŒ…κ³Ό λ„ν‘œκΈ°λŠ₯ λ“±κ³Ό 같은 λ‹€μ–‘ν•œ 편의 κΈ°λŠ₯듀이 κΎΈμ€€νžˆ μΆ”κ°€λ˜κ³  κ°œμ„ ν•΄ λ‚˜κ°€λŠ” λ“― λ³΄μ—¬μ„œ 이번 κΈ°νšŒμ— ν•œ 번 μ‚¬μš©ν•΄ 보고자 ν•©λ‹ˆλ‹€.