μ½λ 리뷰λ₯Ό μ§ννκΈ°μ μμ μ΄λ€ λ°©μμΌλ‘ μ§νν μ§ μ€λͺ
νλλ‘ νκ² λ€. λ¨Όμ νλ‘μ νΈ μ€κ³
μ μ½λ κ°λ
μ±
, μ μ§λ³΄μ
λ λ¨κ³λ‘ λλ μ 리뷰νλλ‘ νλ©°, νλ‘μ νΈ μκ° μμ μμ±ν ꡬν κΈ°λ₯ λͺ©λ‘
λ¨μλ‘ μ½λλ₯Ό 리뷰νλλ‘ νκ² λ€. λν , μ°ν
μ½ μ λ° κ³Όμ μμ νκ° λμμ΄ μλμλ HTML
, CSS
μ½λλ μλ΅νκ³ JavaScript
μ½λλ§ λ¦¬λ·°νλλ‘ νκ² λ€.
λ§μ§λ§μΌλ‘ μ½λ 리뷰 체ν¬λ¦¬μ€νΈ μ μꡬμ¬νμ μΌλ§λ λΆν©νλ μ½λμλμ§ νλμ© μ²΄ν¬νλ©° μ΄ν΄λ³΄λλ‘ νκ² λ€.
μ΄μ κΈμ μ½κ³ μλ€λ©΄ μκ² μ§λ§ μ΄ νλ‘μ νΈλ μ€κ³ λ¨κ³κ° μμλ νλ‘μ νΈλ€. μ€κ³λ₯Ό νμ§ μμ νλ‘μ νΈκ° μ΄λ»κ² μλͺ»λμλμ§ λ¦¬λ·°λ₯Ό 체ν¬λ¦¬μ€νΈλ₯Ό νλμ© μ½μ΄λ³΄λ©° ν΄λ³΄μ.
β README.md
νμΌμ νλ‘κ·Έλ¨μ ꡬνν κΈ°λ₯λ€μ λΆλ¦¬ν΄ μμ λ¨μλ‘ μμ±νλκ°?
β νλ‘κ·Έλ¨μ μμ±νλ©΄μ μμΈ μΌμ΄μ€ λ±μ μΆκ°νλ λ±, README.md
νμΌμ μ
λ°μ΄νΈνλκ°?
μ μμ±ν΄μΌν κΉ?
μ¬μ€ λ¬Έλ²
μ€
, μ°ν
μ½ ν리μ½μ€
λ₯Ό μ νκΈ° μ μ λͺ¨λ νλ‘μ νΈλ₯Ό μμ μꡬμ¬νμ μ§ν€μ§ μκ³ μμνμλλ° ν리μ½μ€κ° λλκ³ λμ μ λ κ°μ§μ μ€μμ±μ κΉ¨λ«κ² λμλ€.
μΌλ¨ μꡬμ¬νμ λΆλ¦¬ν΄ μμ λ¨μλ‘ λ§λ€λ©΄ λ§λ§νλ μꡬμ¬νμ΄ λ¨μνκ² λ³΄μ΄κΈ° μμνκ³ , μ΄λ λ¨μν μ½λλ‘ μ΄μ΄μ Έ μ½λ κ°λ
μ± λν λμΌ μ μμλ€. λν μ΄λ€ μμΈκ° μ‘΄μ¬ν μ§ λ―Έλ¦¬ μ 리ν΄λμΌλ©΄ μμμΉ λͺ»ν λ°©ν₯μΌλ‘ νλ‘κ·Έλ¨μ΄ νλ κ²λ μλΉν λ§μ΄ λ§μ μ μμλ€.
λ μ½λμ λ¬Έμ κ° μκ²Όμ λ, μ΄λμμ λ¬Έμ κ° μκΈ΄ κ²μΈμ§λ μ°Ύμλ΄κΈ°κ° μ½λ€.
κ²°λ‘ μ μκ°μ΄λΌλ μ€μν 리μμ€λ₯Ό μλΉν μλ μ μλ€.
μ΄μ νλ‘μ νΈ μ€κ³
λΆλΆμ 리ν©ν λ§μ νλ λΆλΆμμ λ κ°μ§ μꡬμ¬νμ μ΄λ»κ² μ§ν€λ©΄μ νλ‘μ νΈλ₯Ό μ§νν μ μλμ§ λ€μ κΈμμ μ΄ν΄λ³΄λλ‘ νκ³ , μ΄μ λ¨Όμ μ 체μ μΌλ‘ 보μ΄λ λ¬Έμ κ° λμ§λ₯Ό λ¨Όμ μ΄ν΄λ³΄κ³ , ꡬν κΈ°λ₯ λͺ©λ‘
μ κΈ°λ₯μ ꡬνν μ½λλ₯Ό μμλλ‘ λ―μ΄λ³΄λ©΄μ μ½λ κ°λ
μ±
κ³Ό μ μ§λ³΄μ
μ λν΄ λ¦¬λ·°ν΄λ³΄λλ‘ νμ.
λ¨Όμ HTML
, CSS
λ‘λ§ κ΅¬νλ κΈ°λ₯λ€, λ¨μν μ νλΈ λ°μλ₯Ό μ°Έκ³ ν΄ λ§λ κΈ°λ₯μ λ¨Όμ λΉΌλκ³ λ¦¬λ·°λ₯Ό μμνκ² λ€.
Home
νλ©΄μ μ§μ
μ λ²κ±°νΉ λ‘κ³ λ₯Ό νμ©ν μ λλ©μ΄μ
μ΄ μ¬μλλλ‘ κ΅¬ν.
λ©λ΄κ° μ΄λ¦° μνμμ μ΄λν λ©λ΄λ₯Ό ν΄λ¦νλ©΄ ν΄λΉ λ©λ΄λ‘ μ΄λνλλ‘ κ΅¬ν.
β¬οΈ μ λ κ°μ§ κΈ°λ₯μ HTML
, CSS
λ§μΌλ‘ ꡬνλ κΈ°λ₯μ΄λ€.
Menu
νλ©΄μμ λλκ·Έλ‘ νμ νλ λ€κ°ν ꡬν
Restaurants
νλ©΄μμ μμΉ μ 보λ₯Ό ν΅ν΄ μ¬μ©μλ₯Ό μ€μ¬μΌλ‘ λ²κ±°νΉ 맀μ₯μ 보μ¬μ£Όλ μ§λλ₯Ό 보μ¬μ£Όλ κΈ°λ₯μ ꡬν.
μ¬μ©μμ μμΉμ 보λ₯Ό κ°μ Έμ€λλ‘ κ΅¬ν.
β¬οΈ μ μΈ κ°μ§ κΈ°λ₯μ μ νλΈμ μΉ΄μΉ΄μ€λ§΅μ μ°Έκ³ ν΄ κ΅¬νλ κΈ°λ₯μ΄λ€.
μ μΌ λ¨Όμ μκΈ°νκ³ μΆμ λΆλΆμ 컀λ°
κ³Ό λλ ν 리
μ΄λ€. μ½λ리뷰λ₯Ό μν΄μ μ€λλ§μ μ½λλ₯Ό λ―μ΄λ³΄κΈ° μν΄ λΉμ°ν κΈ°λ₯λ¨μλ μλ―Έμλ λ¨μλ‘ μ»€λ°μ νμκ±°λΌ μκ°νκ³ μ»€λ°μ μ΄ν΄λ΄€λλ°...
λλ체 컀λ°λ©μμ§λ§ λ³΄κ³ λ λ ꡬνν 컀λ°μΈμ§λ₯Ό μ μκ° μμλ€. (μλ ???λ λ체 λλκ³ γ γ γ γ ) μΌκ΄μ±λ νλλ μμ΄μ 컀λ°μΌλ‘ μ½λμ μν μ νμ νλ κ²λ³΄λ€ κ·Έλ₯ μ½λ μ 체λ₯Ό 보면μ μ½μ΄λ³΄λκ² λμ κ² κ°λ€λ μκ°μ΄ λ€μλ€.
μ΄μ λ 컀λ°μ μ°ν μ½ ν리μ½μ€λ₯Ό μ§ννλ©΄μ μκ²λ 컀λ°μμ±λ²μ μ΄μ©νκ³ μλ€. μ΄λ»κ² 컀λ°λ©μΈμ§λ₯Ό μμ±ν΄μΌνλμ§λ λ§ν¬λ₯Ό ν΅ν΄ λμ νκ² λ€.
β‘οΈ AngularJS Commit Message Conventions
κ·Έλμ VSCode
λ₯Ό μΌμ μ½λλ₯Ό νμΈνλ €νλλ°...
κ·Έλ°λ° JS
fileμ΄ λͺ¨λ JS
ν΄λμ λ°νμμλ€!
CSS
νμΌμ κ·Έλλ λͺ©μ μ λ§κ² λΆλ¦¬λ₯Ό ν΄λμμ μ΄λμ μ°μ΄λ νμΌμΈμ§ λ°λ‘ λ°λ‘ μ μ μμλλ° JS
νμΌμ νμΌλͺ
μΌλ‘ μ©λλ₯Ό μμνκ³ μ 체λ₯Ό λ―μ΄λ³΄λ©΄μ νλ‘κ·Έλ¨μ νλ¦μ νμ
ν μ λ°μ μμλ€...
κ·Έλ¬λ μμ§ λλ λͺ νν λλ ν 리λ₯Ό μ΄λ»κ² λλ μΌνλμ§λ λͺ°λΌμ λ μ€μ€λ‘ λ³΄κ³ μ΄ν΄ν μ μκ²λ§ λλκ³ μλ€. μ΄ λΆλΆμ μΆν 곡λΆν΄μ λ§λΆμ΄λλ‘ νκ² λ€.
μ½λ 컨벀μ
μ 미리 μ ν΄λμ§ μμμΌλ λΉμ°ν μ½λκ° μκΈ° λ§μλλ‘μ΄λ€. λ°μμ μ½λλ₯Ό μ΄ν΄λ³΄λ©΄ μκ² μ§λ§ 2space
, 4space
λ₯Ό νΌμ©ν΄μ μ¬μ©νκ³ μκ³ , ''
, ""
λ νΌμ©νλ λ± ν΅μΌμ±μ΄ μλ λͺ¨μ΅μ 보μ¬μ€λ€.
μ°ν
μ½ ν리μ½μ€ λλΆν°λ eslint
, prettier
λ₯Ό μ κ·Ή νμ©νκ³ airbnbμ μ½λ 컨벀μ
μ μ±νν΄ νλ‘μ νΈμ μ¬μ©νκ³ , λ±ν μ½λ 컨벀μ
μ΄ μ ν΄μ Έμλ μμ κ°μΈ νλ‘μ νΈλΌλ©΄ κ·Έλλ‘ airbnbμ μ½λ 컨벀μ
μ μ¬μ©ν κ² κ°λ€.
μ ν΄μ§ μ½λ 컨벀μ μ΄ μμΌλ μΌλ¨ μ½λ 컨벀μ μ λν 리뷰λ νμ§ μκ³ λ¦¬ν©ν°λ§ λ μ½λ 컨벀μ μ λ§μΆ° μ½λλ₯Ό μμ±νλλ‘ νκ² λ€.
β‘οΈ Airbnb JavaScript μ€νμΌ κ°μ΄λ νκ΅μ΄ λ²μλ³Έ
λλ²κ·Έ λ μ¬μ©ν console.logκ° λ무 λ§μ΄ λ¨μμλ€. 리뷰νλ λμμ 건λλ¦¬μ§ μκ³ λ¦¬ν©ν°λ§μ ν λ λͺ¨λ μ κ±°ν΄μ€ μκ°μ΄λ€.
Home
νλ©΄μμ νλ©΄μ λλκ·Ένλ©΄ μΉμ
μ΄ μ μλλ‘ λλκ·Έ λλλ‘ κ΅¬ν.//index.js
const $ = (selector) => document.querySelector(selector);
//scrollScreen.js
const lastPage = document.querySelectorAll('.section').length;
let curPage = curHeight = 0;
function scrollScreen(event) {
if($(".menu-tree").classList.contains("is-active")){
return;
}
const pageHeight = window.innerHeight;
if (event.deltaY > 0 && curPage < lastPage){
curPage++;
window.scrollTo({top:curPage*pageHeight, left:0, behavior:'smooth'})
}
else if (event.deltaY < 0 && curPage > 1) {
curPage--;
window.scrollTo({top:curPage*pageHeight, left:0, behavior:'smooth'})
}
}
window.setTimeout(window.addEventListener("wheel", scrollScreen),2800);
μλ μ 체 μ½λμ΄κ³ , μ΄μ ν μ€μ© λ―μ΄λ³΄λ©΄μ μ΄ν΄λ³΄λλ‘ νμ.
let curPage = curHeight = 0;
curPage
, curHeight
λΌλ λ³μλ₯Ό μ μ곡κ°
μ λ§λ€μλ€. μ¬μ§μ΄ curHeight
λΌλ λ³μλ νλ‘κ·Έλ¨ μ 체μμ ν λ²λ μ¬μ© μ λλ€.
μ μ곡κ°
μ μ΄λμλ μ κ·Όν μ μκΈ° λλ¬Έμ μννλ€. μ μλ³μ
λ λ§λ€μ§ μμμΌνλ€.νμμλ λ³μ
λ μ κ±°ν΄μΌνλ€.function scrollScreen(event) {
if($(".menu-tree").classList.contains("is-active")){
return;
}
const pageHeight = window.innerHeight;
if (event.deltaY > 0 && curPage < lastPage){
curPage++;
window.scrollTo({top:curPage*pageHeight, left:0, behavior:'smooth'})
}
else if (event.deltaY < 0 && curPage > 1) {
curPage--;
window.scrollTo({top:curPage*pageHeight, left:0, behavior:'smooth'})
}
}
window.setTimeout(window.addEventListener("wheel", scrollScreen),2800);
μ... μ°Έ ν λ§μ΄ λ§μ μ½λλ€. νλμ© μ΄ν΄λ³΄μ.
scrollScreen
μ΄λΌλ ν¨μλ₯Ό ν¨μμ μΈλ¬Έ
μΌλ‘ μ μΈνλλ°, ν¨μλ νΈμ΄μ€ν
μ΄ λκΈ° λλ¬Έμ ν¨μννμ
μ μ¬μ©νλ κ²μ΄ μμ νλ€.
if
, else if
λ¬Έ μμ νμ΄μ§λ₯Ό λ°κΏμ£Όλ λΉμ¦λμ€ λ‘μ§
κ³Ό λ°λ νμ΄μ§λ₯Ό λλκ·Έν΄μ£Όλ UI λ‘μ§
μ΄ ν¨κ» λ€μ΄κ°μλ€. λΆλ¦¬ν΄μ€μΌνλ€.
μμ μμΉμ΄ μλ°°λμμΌλ, νλμ κΈ°λ₯λ§ νλ μμ ν¨μ
λ μλλ€.
if
, else if
쑰건문μ μλ―Έλ₯Ό μ μ μλ 0
, 1
μ΄λΌλ 맀μ§λλ²
λ€μ΄ μ¬μ©λμλ€.
window.onload
λΆλΆμ setTimeout
μ μ¬μ©ν λΆλΆλ€μ΄ 보μΈλ€. μ΄λ λͺ¨λ μ λλ©μ΄μ
μ’
λ£μκ°μ λ§μΆμ΄ λ€μ μ λλ©μ΄μ
μ μ€ννκΈ°μν¨μΈλ°...
λͺ¨λ async
, await
μΌλ‘ λ°κΏμ€ μ μμ κ² κ°λ€.
if
λ¬Έκ³Ό else if
λ¬Έ μμ μλ window.scrollTo
λΆλΆμ κ°κ° ν λ²μ© μΈ νμ μμ΄ ν¨μ λ§μ§λ§μ ν λ²λ§ μ¨λ λλ€. ν λ§λλ‘ μ€λ³΅λ μ½λμ΄λ€.
μ¬μ€ ν΄κ²°λ²μ λͺ°λΌ κ΅μ₯ν κΌΌμμ€λ½κ² μ§ λΆλΆμ΄ λ§μ
μ½λ κ°λ μ±
,μ μ§λ³΄μ
체ν¬λ¦¬μ€νΈμ 걸리λ λΆλΆλ€λ§ λ€λ£¨κ³ , μ½λ μ체λ₯Ό μλͺ» μ§ λΆλΆμ리ν©ν°λ§
λΆλΆμμ λ€λ£¨λλ‘ νκ² λ€.
header
μ 컀μλ₯Ό μ¬λ¦¬λ©΄ header
κ° ν° μμΌλ‘, header
λ΄λΆ μμ΄μ½λ€μ΄ κ²μ μμΌλ‘ λ³νλλ‘ κ΅¬ν.λ©λ΄ μμ΄μ½
μ ν΄λ¦ν μ μνμ λ§κ² λ©λ΄κ° μ΄λ¦¬κ³ λ«νλλ‘ κ΅¬ν.λ©λ΄ μμ΄μ½
μ ν΄λ¦ν μ λ©λ΄ μμ΄μ½
μ λͺ¨μμ΄ μνμ λ°λΌ β°
, X
λ‘ λ³νλ μ λλ©μ΄μ
μ΄ μ¬μλλλ‘ κ΅¬ν.//menuTreeOpen.js
const wholeMenuTree = document.querySelectorAll(".menu-tree-class-for-toggle");
function wholeMenuTreeToggle(){
for (let i=0; i < wholeMenuTree.length; i++) {
wholeMenuTree[i].classList.toggle("is-active");
}
$("header").classList.toggle("is-active");
}
$(".menu-icon").addEventListener("click", wholeMenuTreeToggle);
μμ μΈ κ°μ§ κΈ°λ₯μ λͺ¨λ μνκ°
toggle
λλ©΄ μνμ λ°λΌCSS
μ λλ©μ΄μ μ μλμν€λλ‘ λμ΄μκΈ°λλ¬ΈμJS
μ½λλ 곡ν΅μ΄λ€.
wholeMenuTreeToggle
μ΄λΌλ ν¨μλ μμ μμ λμΌν μ΄μ λ‘ ν¨μννμ
μΌλ‘ λ°κΏμ£Όλκ² μ’λ€.
λ³μλͺ
, ν¨μλͺ
μ΄ μ§κ΄μ μΌλ‘ μ΄λ€ μν μΈμ§κ° λ°λ‘ μλΏμ§κ° μλλ€. wholeMenuTree
λΌλ λ§ μμ²΄κ° λ¬΄μμ μλ―Ένλμ§ μ λ§ λͺ¨λ₯΄κ² λ€.
λ°°μ΄μ μμλ₯Ό μμλλ‘ νμνλ for
λ¬Έμ΄λΌλ©΄ μ΄κΈ°μ
, 쑰건μ
, μ¦κ°μ
μ λ€λ₯Έ λ°©μμΌλ‘ ννν μ μμ΄ λ³΄μΈλ€.
resize
μ΄λ²€νΈ λ°μ μ, νλ©΄μ¬μ΄μ¦μ λ§κ² λ°°κ²½μ¬μ§ μ¬μ΄μ¦λ₯Ό λ°κΏμ€// windowResizeEvent.js
window.onresize = function () {
section = document.querySelectorAll(".section");
section.innerHeight = window.innerHeight;
const pageHeight = window.innerHeight;
window.scrollTo({top:pageHeight*curPage, left:0, behavior:'auto'});
}
λμ μμ£Ό κ±°μ¬λ¦¬λ ν μ€μ΄ μλ€...
section
μ΄λΌλ λ³μκ° let
μ΄λ const
ν€μλ μμ΄ μ μΈμ΄ λμλ€. μ΄κ² λλ? μΆμμ§λ§ JS
μμλ ν€μλ μμ΄ μ μΈνλ©΄ μ μΈκ³Ό λμμ ν λΉν΄μ€ κ²½μ°μλ§ μ μλ³μ
λ‘ μ μΈμ΄ λλ€κ³ νλ€.. (λ¬Όλ‘ κΆμ₯νμ§ μλ λ°©μμ΄λ€)
μμΈν κ²μ μλ λ§ν¬μμ νμΈν μ μλ€.
ν¨μμ μΈμ
λμ μ ν¨μννλ¬Έ
μ μ¬μ©ν κ²!
https://www.tutorialsteacher.com/javascript/javascript-variable
μλ‘κ³ μΉ¨
μ΄λ²€νΈ λ°μ μ, μΉμ
νμ΄μ§κ° 1λ² νμ΄μ§λ‘ λλκ·Έ λλλ‘ κ΅¬ν.//windowReloadEvent.js
function reloadScrollScreen(){
const pageHeight = window.innerHeight;
window.scrollTo({top:pageHeight, left:0, behavior:'smooth'});
curPage++;
}
window.onload = () => {
console.log("work");
setTimeout(() => {window.scrollTo(0, 0)},100);
window.setTimeout(reloadScrollScreen,2500);
}
μμ²λκ² λ§μ κΌΌμλ€μ΄ 보μΈλ€..
μΌλ¨ λ¨Όμ console.log
κ° λ³΄μΈλ€.
ν¨μμ μΈμ
λμ μ ν¨μννλ¬Έ
μ μ¬μ©ν κ²!
window.onload
λΆλΆμ setTimeout
μ μ¬μ©ν λΆλΆλ€μ΄ 보μΈλ€. μ΄λ μμ λμΌνκ² λͺ¨λ μ λλ©μ΄μ
μ’
λ£μκ°μ λ§μΆμ΄ λ€μ μ λλ©μ΄μ
μ μ€ννκΈ°μν¨μΈλ°...
μμ λͺ¨λ async
, await
μΌλ‘ λ°κΏμ€ μ μμ κ² κ°λ€.
β README.md
νμΌμ νλ‘κ·Έλ¨μ ꡬνν κΈ°λ₯λ€μ λΆλ¦¬ν΄ μμ λ¨μλ‘ μμ±νλκ°?
β νλ‘κ·Έλ¨μ μμ±νλ©΄μ μμΈ μΌμ΄μ€ λ±μ μΆκ°νλ λ±, README.md
νμΌμ μ
λ°μ΄νΈνλκ°?
β νλ‘κ·Έλ¨ μ 체μ λμΌν μ½λ© 컨벀μ μ μ ν΄λκ³ μ΄λ₯Ό μ¬μ©νλκ°?
β κ°κ°μ 컀λ°μ΄ μ΄λ€ 컀λ°μΈμ§ μμλ³Ό μ μλλ‘ μ»€λ°λ©μΈμ§λ₯Ό μμ±νλκ°?
β λ³μλͺ λ±μ ν΅μΌμ± μκ², μΆμ½ λλ μλ΅νμ§ μκ³ μμ±νλκ°?
β μ΄λ€ νλ‘κ·Έλ¨μΈμ§ νλ‘κ·Έλ¨μ μκ°νλ λ΄μ©μ README.md
νμΌμ μμ±νλκ°?
β κ°μ νλμ½λ©νμ§ μκ³ μμλ₯Ό νμ©νλ©°, ν΄λΉ μμμ μλλ₯Ό λλ¬λΌ μ μλ μ΄λ¦μ λΆμ¬νλκ°?
β JavaScript
μμ μ 곡νλ api
λ₯Ό νμ©νμ¬ ν¨μκ° λͺ
λ°±ν λ¬΄μ¨ μΌμ νλ μ§ μ μ μλλ‘ μ½λλ₯Ό μμ±νλκ°?
β μ μ곡κ°μ μ¬μ©νμ§ μμλκ°?
βοΈ var
λ₯Ό μ¬μ©νμ§ μμλκ°?
β νλμ ν¨μλ₯Ό νλμ κΈ°λ₯λ§μ νλ μμ λ¨μλ‘ κ΅¬ννλκ°?
β μ€λ³΅λ μ½λκ° μλκ°?
β λΆνμν λ³μ, μμλ³μλ€μ μ κ±°ν΄μ€¬λκ°?
β λΉμ¦λμ€ λ‘μ§κ³Ό UIλ‘μ§μ λΆλ¦¬νλκ°?
μ²μ°Ένλ€... κ³Όκ±°μ λ..
burgerking-order-site
νλ‘μ νΈλ λμ μ±μ₯μ κΈ°λ‘νλ νλ‘μ νΈλ‘ κΎΈμ€ν μ¬μ©νλ €κ³ νλ€. κ·Έλμ μ΄ κΈμ μ΄λ¦μ΄ μ½λ 리뷰 -1-
μΈ κ²μ΄κ³ , κΎΈμ€ν κΈ°λ₯μ μΆκ°ν΄λκ°κ³ λ΄κ° λμ μ±μ₯μ λλ λλ§λ€ μ½λ 리뷰μ 리ν©ν°λ§μ νλ μκ°μ κ°μ Έλ³ΌκΉ νλ€.
μ°ν μ½ μμ μ , μ΄ 11μΌ λμ κ³μνλ νλ‘μ νΌλ° λ―μ΄λ³΄κ³ λλκΉ μ λ§ λ§λ κ² μλ€. μ λλ‘ λ μ²΄κ³ μμ΄ μμν΄μ ν€λ©λ μκ°μ΄ λ무 κΈΈμλ νμΈ κ² κ°λ€.
λ€μ 리ν©ν°λ§ κΈμμ λ μ’μ μ½λλ‘ λ€μ λ§λμ!
The greatest glory in living lies not in never falling, but in rising every time we fall.