π μ½λ©ν
μ€νΈ μ½λ©ν
μ€νΈ λ¬Έμ νμ΄ βπ» Github λ¬Έμ νμ΄ github λ§ν¬ λ¬Έμ μ€λͺ
λλ¬Έμμ μλ¬Έμκ° μμ¬μλ λ¬Έμμ΄ sκ° μ£Όμ΄μ§λλ€. sμ 'p'μ κ°μμ 'y'μ κ°μλ₯Ό λΉκ΅ν΄ κ°μΌλ©΄ True, λ€λ₯΄λ©΄ Falseλ₯Ό return νλ solutionλ₯Ό μμ±νμΈμ. 'p', 'y' λͺ¨λ νλλ μλ κ²½μ°λ νμ Trueλ₯Ό 리ν΄ν©λλ€. λ¨, κ°μλ₯Ό λΉκ΅ν λ λλ¬Έμμ μλ¬Έμλ ꡬλ³νμ§ μμ΅λλ€. μλ₯Ό λ€μ΄ sκ° "pPoooyY"λ©΄ trueλ₯Ό returnνκ³ "Pyy"λΌλ©΄ falseλ₯Ό returnν©λλ€. μ νμ¬ν λ¬Έμμ΄ sμ κΈΈμ΄ : 50 μ΄νμ μμ°μ λ¬Έμμ΄ sλ μνλ²³μΌλ‘λ§ μ΄λ£¨μ΄μ Έ μμ΅λλ€. μ
μΆλ ₯ μ s answer "pPoooyY" true "Pyy" false μ
μΆλ ₯ μ μ€λͺ
μ
μΆλ ₯ μ ..
π μ½λ©ν
μ€νΈ νλ‘κ·Έλλ¨Έμ€ λ¬Έμ λ§ν¬ βπ» Github λ¬Έμ νμ΄ github λ§ν¬ λ¬Έμ μ€λͺ
Sμ¬μμλ κ° λΆμμ νμν λ¬Όνμ μ§μν΄ μ£ΌκΈ° μν΄ λΆμλ³λ‘ λ¬Όνμ ꡬ맀νλλ° νμν κΈμ‘μ μ‘°μ¬νμ΅λλ€. κ·Έλ¬λ, μ 체 μμ°μ΄ μ ν΄μ Έ μκΈ° λλ¬Έμ λͺ¨λ λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μλ μμ΅λλ€. κ·Έλμ μ΅λν λ§μ λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μ μλλ‘ νλ €κ³ ν©λλ€. λ¬Όνμ κ΅¬λ§€ν΄ μ€ λλ κ° λΆμκ° μ μ²ν κΈμ‘λ§νΌμ λͺ¨λ μ§μν΄ μ€μΌ ν©λλ€. μλ₯Ό λ€μ΄ 1,000μμ μ μ²ν λΆμμλ μ νν 1,000μμ μ§μν΄μΌ νλ©°, 1,000μλ³΄λ€ μ μ κΈμ‘μ μ§μν΄ μ€ μλ μμ΅λλ€. λΆμλ³λ‘ μ μ²ν κΈμ‘μ΄ λ€μ΄μλ λ°°μ΄ dμ μμ° budgetμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μ΅λ λͺ κ°μ λΆμμ λ¬Όνμ μ§μν μ μλμ§ re..
μ€λμ κ³ μ°¨ν¨μ mapκ³Ό compactMap, flatMapμ λν΄ μμλ΄
μλ€! κ³ μ°¨ν¨μλ ν¨μλ₯Ό 맀κ°λ³μλ‘ μ¬μ©νκ±°λ 리ν΄κ°μΌλ‘ ν¨μλ₯Ό μΆλ ₯νλ ν¨μμ
λλ€. ν΄λ‘μ λ₯Ό μ¬μ©ν ν¨μλΌλ λ»μ΄κ² μ£ ?!? μ°μ mapμ΄ μ΄λ€ ν¨μμΈμ§μ λν μ΄ν΄λΆν° ν΄λ΄
μλ€! map map μ ν¨μμμ λ°νλ κ°λ€μ λ°°μ΄λ‘ 리ν΄ν΄μ£Όλ ν¨μμ
λλ€. μλ₯Ό λ€μ΄ 1λΆν° 10κΉμ§μ μλ₯Ό μ κ³±ν κ°μ λ°°μ΄μ μ μ₯νλ€κ³ ν΄λ΄
μλ€. κ³ μ°¨ν¨μλ₯Ό μ°μ§ μλλ€λ©΄, var array = [Int]() for i in 1...10 { array.append(i*i) } print(array) // μΆλ ₯: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] μ΄λ κ² κ΅¬νν΄μΌκ² μ£ ?! μ΄λ₯Ό ν λ¬Έμ₯μΌλ‘ μ€μ¬μ€ μ μλ μΉκ΅¬κ° μ΄ mapμ΄..
μλ
νμΈμ! μ€λμ μ΄μ μ μΆνλ μ«μ κ²μμ λν νΌλλ°±μ κ°μ Έμμ΅λλ€. ( μ¬μ€ νλ² λ λ €λ¨Ήμ μνλΌ λ©νμ΄ λλλλμ΄μμ€..γ
κ·Έλλ λ μ΄λ‘ν΄ λ€μ μμ±ν΄μΌμ£ ..γ
) μ .. μΉμ°¬λ°μμ΄μ!!!γ
γ
γ
γ
γ
μ¬μ€ μ΄μ νμ₯μ λν κ°λ
μ 곡λΆνλ μ€ νμ₯μ λ°μ΄ν° ꡬ쑰μ λν΄μ μ΄ν΄κ° μλλ λΆλΆμ΄ μλλΌκ΅¬μ. κ·Έλμ μ£Όλ³μ λμμ μμ²νλλ°, μκ³ λ³΄λ μ κ° νμ₯μ λ°μ΄ν° ꡬ쑰λ₯Ό μμ μ²μλΆν° μ΄ν΄λ₯Ό μ λͺ»νκ±°λλΌκ΅¬μ.. (μ¬μ€ μμ§ ν΄κ²° λͺ»ν¨.. μμ§λ μ΄ν΄ λͺ» νλμ€.. ) κ·Έλμ μμ£Ό λλ΄νλ©° μ°μΈν΄νκ³ μμλλ° μ΄λ° λ¨λΉκ°μ μΉμ°¬μ΄....πΈ νΉν μ»€λ° λ΄μ μ λλμ΄μ λ¨κ²¨μ£Όμ
μ νλ¦ λ°λΌκ°κΈ° λ§€μ° μ©μ΄νμ΅λλ€. ... λ§€μ° μνμ
¨μ΅λλ€! ... μ»€λ° λ΄μμ κ°λμ΄μμ γ
μ κ° λ κ°λμ
λλ€....
μλ
νμΈμ! μ€λμ νμ₯(Extension)μ λν 곡λΆλ₯Ό ν΄λ³΄λ €κ³ ν©λλ€! νμ₯μ΄λ? ν΄λμ€, ꡬ쑰체, μ΄κ±°ν, νλ‘ν μ½ λ±μ νμ
μμ λ°μ΄ν°λ₯Ό μΆκ°νμ¬ μ¬μ©νλλ‘ λμμ£Όλ κΈ°λ₯μ
λλ€. κΈ°μ‘΄μ μλ κ²μ νμ₯νμ¬ μμ±μ(Initialize), λ©μλ(method), νλ‘νΌν°(property)λ₯Ό μΆκ°ν μ μμ΄μ. νμ₯μ κΈ°λ³Έ λ¬Έλ² class Object { // ν΄λμ€ κ΅¬ν } extension Object { // ν΄λμ€μ μΆκ°ν κΈ°λ₯ ꡬν } μμ μ½λμ²λΌ νμ₯ λ΅κ² extension μ΄λΌλ ν€μλλ₯Ό μ¬μ©ν©λλ€. Q : κ·ΈλΌ νμ₯μ μΆκ°νκΈ° μ μ μμ±νλ κΈ°μ‘΄ ν΄λμ€μ μΈμ€ν΄μ€μμλ νμ₯μμ ꡬνν κΈ°λ₯μ μ¬μ©ν μ μμκΉμ? A : λ€! μ¬μ©ν μ μμ΅λλ€. νμ₯μ Static Dispatch λ°©..
μ€λμ λ―Έλ€λμλ κ°μλ₯Ό λ€ λ£κ³ , λ΄λ°°μΊ 3μ£Όμ°¨ κ³Όμ μΈ μΌκ΅¬κ²μμ ꡬνν΄λ³΄μμ΄μ! μ°μ ν΄λμ€λ₯Ό λͺ¨λν μν€λ κ²μ μ§μ€μ νμκ³ , μ μ νΌλλ°± λ°μλ κΉνμ κΈ°λ₯μ λ¨μλ‘ μ»€λ°νλ κ²μ λͺ©νλ‘ νμ΅λλ€. μΌκ΅¬ κ²μ νλ‘μ νΈ κ΅¬ν ν΄λμ€ λͺ¨λννκΈ° μ²μ ꡬννκΈ° μ μ μ°μ ꡬ쑰μ μΌλ‘ μ΄λ€ λΆλΆμ΄ μλλ₯Ό λ¨Όμ μκ°ν΄λ³΄μμ΄μ. Lv.1, Lv.2 : μ«μ μΌκ΅¬ κ²μ ꡬν μ 체μ μΈ λμ λ¨Έλ¦Ώμμ ꡬ쑰 - User ν΄λμ€ : κ²μμ νλ μ¬μ©μμ μ 보 - Number ν΄λμ€ : λλ€ λ²νΈ μ 보 - main ν¨μ : κ²μ μ€ν User ν΄λμ€ Userμ μλ νμμ Userκ° μ μν μ«μλ₯Ό μ μ₯νλ λ³μλ₯Ό ꡬν Number ν΄λμ€ 1~9κΉμ§μ λλ€νμ§λ§ μ€λ³΅λμ§ μμ 3μ리μ μλ₯Ό μΆλ ₯νλ ν¨μμ μ΄λ₯Ό μ μ₯νλ..
π μ½λ©ν
μ€νΈ μ½λ©ν
μ€νΈ λ¬Έμ νμ΄ βπ» Github λ¬Έμ νμ΄ github λ§ν¬ λ¬Έμ μ€λͺ
ν΄λν°μ μνμ μ»΄ν¨ν° ν€λ³΄λ μνκ³Όλ λ€λ₯΄κ² νλμ ν€μ μ¬λ¬ κ°μ λ¬Έμκ° ν λΉλ μ μμ΅λλ€. ν€ νλμ μ¬λ¬ λ¬Έμκ° ν λΉλ κ²½μ°, λμΌν ν€λ₯Ό μ°μν΄μ λΉ λ₯΄κ² λλ₯΄λ©΄ ν λΉλ μμλλ‘ λ¬Έμκ° λ°λλλ€. μλ₯Ό λ€μ΄, 1λ² ν€μ "A", "B", "C" μμλλ‘ λ¬Έμκ° ν λΉλμ΄ μλ€λ©΄ 1λ² ν€λ₯Ό ν λ² λλ₯΄λ©΄ "A", λ λ² λλ₯΄λ©΄ "B", μΈ λ² λλ₯΄λ©΄ "C"κ° λλ μμ
λλ€. κ°μ κ·μΉμ μ μ©ν΄ μ무λ κ²λ λ§λ ν΄λν° μνμ΄ μμ΅λλ€. μ΄ ν΄λν° μνμ ν€μ κ°μκ° 1κ°λΆν° μ΅λ 100κ°κΉμ§ μμ μ μμΌλ©°, νΉμ ν€λ₯Ό λλ μ λ μ
λ ₯λλ λ¬Έμλ€λ 무μμλ‘ λ°°μ΄λμ΄ μμ΅λλ€. λ, κ°μ λ¬Έμκ° μν μ 체μ μ¬..
μλ
νμΈμ! μ€λμ ν°μ€ν 리μ hELLO μ€ν¨μ λ‘λ© νλ©΄μ λ³κ²½ν΄λ³΄λ €κ³ ν©λλ€. CSSμ htmlμ λ€λ£¨λ 건 μ²μμ΄λΌ μ¬κΈ°μ κΈ° μ½μ§νκ³ λλμ΄ μ μ©μ νμ΄μ..!! μμ£Ό μ½μ§λ§ 1μκ° μ λ μ½μ§νλ μ κ°μ μ¬λμ΄ μμμΌλ©΄ νλ λ°λμ κΈμ μ¨λ³΄λ €κ³ ν©λλ€. λ‘λ© νλ©΄ λ³κ²½νλ λ°©λ² μ²« λ²μ§Έ, λ‘λ© νλ©΄ λ€μ΄λ‘λνκΈ° λ§μμ λλ .gif μ΄λ―Έμ§λ₯Ό λ€μ΄λ‘λν©λλ€. λ‘λ© νλ©΄μ CSS λ‘ μ λλ©μ΄μ
μ μ¬μ©ν΄ ꡬνν΄λ λμ§λ§ μμ£Ό κ·μ½κ³ μ΄μ λ‘λ© μ λλ©μ΄μ
μ΄ λ§μΌλ μ΄κ² λ μ¬μ°μ€ κ±°μμ!! μ λ ꡬκΈμ loading screen.gif λ₯Ό μ³λ³΄κ±°λ Pinterest μ loadingμ μ³λ³΄μμ΅λλ€. μμ£Ό λ§μ gif μ΄λ―Έμ§λ€μ΄ μλλΌκ³ μ. κ·Έμ€ λ§μμ λλ μ΄λ―Έμ§λ₯Ό λ€μ΄λ‘λν©λλ€. κΌ gif μ¬μΌμ§ μ..