728x90 λ°μν π₯ Computer Science/Programming12 [Programming] μ λμ½λ(Unicode)λ? (feat. UTF-8,UTF-16) μλ νμΈμ Foma π» μ λλ€. μ€λμ νμμ λ§μ΄ λ€μ΄λ³΄κΈ΄ νμ§λ§ μ νν λ»μ λͺ¨λ₯΄λ Unicode,UTFμ λν΄ μ νν 곡λΆλ₯Ό ν΄λ³΄λ €κ³ ν©λλ€. λ°λ‘ μμν κ²μ~ Unicodeλ? μ΄κΈ°μ μ»΄ν¨ν°μμλ μμ€ν€λ₯Ό μ¬μ©νμλλ°, μ΄κ²μ 8λΉνΈλ§μ μ¬μ©ν΄μ 256κ° λ¬Έμλ₯Ό ννν μ μμμ΅λλ€. (λΉνΈλ₯Ό λͺ¨λ₯΄μλ λΆλ€μ μ¬κΈ° μμ νμΈν μ μμ΅λλ€!) νμ§λ§ 256κ°μ λ¬Έμλ‘λ μΈκ³μ μ λ§μ μΈμ΄λ₯Ό λ€λ£¨κΈ΄ νλ€μ£ . κ·Έλμ μ μΈκ³ λͺ¨λ λ¬Έμλ₯Ό μμ©ν μ μλ μ°μ νμ€μ μ€κ³ν κ²μ΄ λ°λ‘ μ λμ½λμ λλ€. μ΄ νμ€μλ λ¬Έμ μ§ν©μ΄λ λ¬Έμ μΈμ½λ© λ± λ¬Έμλ€μ λ€λ£¨κΈ° μν μκ³ λ¦¬μ¦ λ±μ ν¬ν¨νκ³ μμ΅λλ€. μ λ μ½λλ μ λν¬ν μ½λλΌλ κ²μ μ€μΈ κ²μΌλ‘ λͺ¨λ λ¬Έμμ νΉμ λ²νΈλ₯Ό 맀겨μ μ¬μ©ν©λλ€. νμ¬λ λ¬Έμ.. 2022. 2. 24. [Programming] λΉνΈμ λ°μ΄νΈκ° λκΉ? (bit & Byte) μλ νμΈμ Foma π» μ λλ€. μμ¦ λ°μ΄ν° λ² μ΄μ€λ₯Ό 곡λΆνλλ° μλ£νμ λͺ ννκ² μμ§ λͺ»ν΄ μ°Ύμ보λ μμ€μ CHARλ UTF-8 λ¬Έμ μΈμ½λ©μ μ¬μ©νλ€λ κ²μ μκ³ κ·ΈλΌ ...UTFλ μ νν λμ§...? λΌκ³ μ°Ύμ보λ μμ€μ μμ€ν€ μ½λλ 8λ°μ΄νΈλ₯Ό μ¬μ©νλ€κ³ ν΄μ μ νν λ°μ΄νΈλ λμ§...? λΌκ³ μκ°νλ€κ°... κ²°κ΅ λΉνΈμ λ°μ΄νΈκΉμ§ μ€κ² λμκ³ μ΄μ¬ν ꡬκΈλ§ ν΄μ μ°Ύκ³ λͺ νν μ 리νκΈ° μν΄μ κΈμ μμ±νκ² λμμ΅λλ€. λ°λ‘ μμν κ²μ~ μ΄μ§μ(Binary) bitλ₯Ό μκΈ° μν΄μ μ΄μ§μμ κ°λ μ μμμΌ νλλ°μ. μ΄μ§μλ λ κ°μ§ μ«μλ§ μ¬μ©νλ μμ λλ€.(ꡬ체μ μΌλ‘ 0κ³Ό 1μ μ¬μ©ν μ μμ΅λλ€.) μ΄μ§μλ μ»΄ν¨ν°μ μμ¬μν΅ ν μ μλ μΈμ΄μΈλ°μ. κ·Έ μ΄μ λ μ»΄ν¨ν°μκ² μ΄λ ν μ 보λ₯Ό μ λ¬ν λ .. 2022. 2. 24. [CS] BDD(Behavior-Driven-Development)λ? μλ νμΈμ Foma π» μ λλ€! μμ¦ μ§ννκ³ μλ νλ‘μ νΈλ₯Ό ν μ€νΈ μ£Όλ κ°λ°νλ €κ³ νλ€κ° μ’μ νλ μμν¬λ₯Ό μ°Ύκ² λμμ΅λλ€. Quick/Nimble μ΄λΌλ νλ μμν¬μλλ°μ. μ¬κΈ°μ Quickμ BDD νλ μμν¬λΌκ³ μκ°νλλΌκ΅¬μ. κ·Έλμ BDDκ° λκ³ TDDμλ 무μμ΄ λ€λ₯Έμ§ μ 리ν΄λ³΄λ €κ³ ν©λλ€. λ°λ‘ μμν κ²μ~ BDDλ? TDDμμ νμλ κ°λ° λ°©λ²λ‘ μΌλ‘ κ°λ°μμ λΉκ°λ°μκ°μ νμ κ³Όμ μ λ Ήμ¬λΈ λ°©λ²μ΄λ€. μ¬μ©μμ νμλ₯Ό μμ±νκ³ κ²°κ³Ό κ²μ¦μ μ§ννλ©° BDDλ‘ ν μ€νΈ μ½λλ₯Ό μμ±ν¨μ λ°λΌ μ€κ³ μμ νμμ μ€μ¬μ΄ λλ λλ©μΈ κΈ°λ° μ€κ³κ° λλ€. μ¦, μ¬μ©μμ νμλ₯Ό 미리 μμνκ³ κ²°κ³Όλ₯Ό ν μ€νΈ ν΄λ³΄λ κ°λ° λ°©λ²μ λλ€. BDDμ κ°λ° μ μ°¨ BDDλ λ§μ μ¬λλ€μ΄ μ°κ΅¬ν λμ μ ννλ νμμ΄ λ§λ€μ΄.. 2021. 8. 31. [CS] μμ‘΄μ± μ£Όμ (Dependency Injection)μ΄λ? (feat. μ¨μΌνλ μ΄μ ) μλ νμΈμ Foma π» μ λλ€! μ€λμ μμ‘΄μ± μ£Όμ μ΄ λ¬΄μμ΄κ³ μ¨μΌνλ μ΄μ μ λν΄μ μμ보λλ‘ νκ² μ΅λλ€. SOLIDμμΉμ νλμ΄κΈ°λ νκ³ μ΅κ·Ό RIBs μν€ν μ²λ₯Ό 곡λΆνκ³ μλλ° UIViewControllerλ μ§μ μ±ννμ§ μκ³ ViewControllableλ‘ νλ‘ν μ½μ λ§λ€μ΄μ μ£Όμ νλλΌκ΅¬μ.. λκ° μΆμμ μΌλ‘λ μκ² λλ° κ΅¬μ²΄μ μΌλ‘ λͺ ννκ² μ΄κ² λκ³ μ΄κ² μ νμνκ°μ λν΄μ μμ§ λͺ»ν΄μ κΈμ μ 리νλ €κ³ ν©λλ€! λ°λ‘ μμν κ²μ~ μμ‘΄μ±μ κ°λλ€λ κ²μ 무μμΌκΉ? π€ λ§μ½ λ°°ν°λ¦¬κ° μΌμ²΄νμΈ μλμ°¨ μ₯λκ° π μ΄ μλ€κ³ κ°μ ν κ²μ. μ΄ μλμ°¨ μ₯λκ°μ λ°°ν°λ¦¬κ° λ€ λ³κ² λλ©΄ λ μ΄μ μ¬μ©ν μ μμ΅λλ€. μ΄ κ²½μ° μλμ°¨ μ₯λκ°μ λ°°ν°λ¦¬μ μμ‘΄νκ³ μλ κ²μ λλ€. μ½λλ‘ μ€λͺ μ νλ©΄ μλμ κ°μ΅λλ€.. 2021. 8. 26. [π» Programming] Clean Code - κΉλν μ£Όμκ³Ό νμμ μ΄λ»κ² μ¨μΌν κΉ? μλ νμΈμ Fomaπ μ λλ€! νμμ μ½λλ₯Ό κ°λ μ± μκ² μμ±ν λ νμμ μ΄λ»κ² λ§μΆ°μΌ λ κΉ? μ λν κ³ λ―Όκ³Ό λ λ€λ₯Έ μ¬λμ΄ λ³Ό λ μ 맀ν μ½λλ₯Ό μ μμ λ μ£ΌμμΌλ‘ μ΄λ»κ² μ€λͺ ν΄μΌ ν κΉ? μ λν κ³ λ―Όμ νμλλ°μ. ν΄λ¦° μ½λμμ μ’μ μ£Όμκ³Ό λμ μ£Όμ, κ°λ μ± μκ² νμμ λ§μΆλ λ²μ λν΄μ μκ² λμ΄ μ 리νλ €κ³ ν©λλ€. (μ κ° νμμ λ§μ΄ μ°λ λμ λ²λ¦μ΄λ μ€μνλ€κ³ μκ°λλ κ² μμ£Όλ‘ μ 리νκ² μ΅λλ€.) λ°λ‘ μμν κ²μ~ μ£Όμ μ΄ μ± μ μ μμΈ λ°₯ μμ μ¨λ μ£Όμμ λν΄μ μ΄λ κ² λ§ν©λλ€. μ£Όμμ κΈ°κ»ν΄μΌ νμμ μ΄λ€. νλ‘κ·Έλλ° μΈμ΄ μ체λ₯Ό μΉλ°νκ² μ¬μ©ν΄ μλλ₯Ό ννν λ₯λ ₯μ΄ μλ€λ©΄ μ£Όμμ κ±°μ νμνμ§ μλ€. μ΄λ κ² μ£Όμμ 무μνλ μ΄μ λ 무μμΌκΉμ? λ°λ‘ μ£Όμμ μ€λλλ©΄ μ€λλ μλ‘ κ·Έλ¦λ κ°.. 2021. 8. 7. [π» Programming] Clean Code - κΉ¨λν ν¨μλ μ΄λ»κ² μμ±ν κΉ? μλ νμΈμ Foma π μ λλ€! νμ ν¨μλ₯Ό μμ±νλ©΄μ "νλΌλ―Έν°λ λͺ κ°κ° μ λΉν κΉ?", "μ΄λμ λ λ¨μλ‘ μ¨μΌν κΉ?" λ± ν¨μλ₯Ό μ μ νκΈ° μ°κΈ° μν΄μ κ³ λ―Όνμλλ°μ. "ν΄λ¦° μ½λ" μ± μ ν΅ν΄μ κΉλν ν¨μλ₯Ό μμ±νλ λ²μ λν΄ μκ² λμ΄ μ 리ν΄λ³΄λ €κ³ ν©λλ€. 1. λ μκ² κΉλν ν¨μλ₯Ό μμ±νκΈ° μν΄μ μ΄ μ± μ μ μμΈ λ§ν΄μ μ΅λν μκ² λ μκ² μ°λΌκ³ κ°μ‘°ν©λλ€. (μ€μ λ‘ μ΅μ€νΈλ¦Ό νλ‘κ·Έλλ° κ°λ°μμΈ "μΌνΈ λ°±"μ΄ μμ±ν ν¨μλ 2μ€μμ 4μ€λ‘λ°μ μ΄λ£¨μ΄μ Έ μμ§ μλ€κ³ νλ€μ) "κ·Έλ λ€λ©΄ μκ² μ°λ κ²μ κΈ°μ€μ μ΄λ μ λμΌκΉμ?" ν¨μ μμμ if/else/whileλ¬Έμ μ°μ΄λ λΈλ‘μ ν μ€μ΄ μ λΉνκ³ λ€μ¬μ°κΈ°λ 1λ¨μμ 2λ¨μ λμ΄μλ©΄ μλλ€κ³ ν©λλ€. μ΄λ κ² μκ² ν¨μλ₯Ό μμ±ν΄μΌ λ μ΄ν΄νκΈ° μ½.. 2021. 8. 4. [π» Programming] Clean Code - μλ―Έμλ μ΄λ¦μ μ¨λΌ μλ νμΈμ Foma π μ λλ€! μ λ² κΈμ κΉ¨λν μ½λκ° λ¬΄μμΈμ§μ λν΄ λ€λ€λ³΄μλλ°μ. μ΄λ²μ μ’ λ ꡬ체μ μΌλ‘ κΉ¨λν μ½λλ₯Ό μμ±νκΈ° μν 첫λ²μ§Έ κ·μΉ "μλ―Έμλ μ΄λ¦" μ λν΄μ μ 리ν΄λ³΄λλ‘ νκ² μ΅λλ€. μλλ₯Ό λΆλͺ ν λ°νλΌ λμ μ β λ§μ½ μλμ κ°μ ν¨μκ° μλ€λ©΄ λ μλ―Ένλμ§ μ μκ° μλ€. func abc(a:String,b:String) -> String { return a+b } μ’μ μ ππ» μμ κ°μ μν μ ν¨μμ΄μ§λ§ μλμ²λΌ μμ±νλ©΄ νμ€ν μ±κ³Ό μ΄λ¦μ λ°μμ νλ€μμ λ§λλ κ²μ΄κ΅¬λ λΌκ³ μ μ μλ€. func makeFullName(firstName:String,lastName:String) -> String { let fullName = firstName + lastName .. 2021. 6. 13. [π» Programming] Clean Code - κΉ¨λν μ½λλ? (feat.μ¨μΌνλ μ΄μ ) μλ νμΈμ Foma π μ λλ€! μ€λλΆν° νλ‘κ·Έλλ¨ΈλΌλ©΄ κΌ μ½μ΄λ΄μΌ νλ "ν΄λ¦° μ½λ" μ± μ λν΄μ λ°°μ΄ λ΄μ©μ μ΄ν΄νλλ‘ μ 리ν΄λ³΄λ €κ³ ν©λλ€. λμ μ½λλ? ν΄λ νκΈ° μ΄λ €μ΄ μ½λ μμ°μ±μ λ¨μ΄λ¨λ¦¬λ μ½λ μΌμ κΈ°νμ κΈνκ² μ§ μ½λ μ¦, νλ§λλ‘ κΈνκ² λμΆ© μ§μ μ½λκ° μ½κΈ° μ΄λ €μμ§κ³ κ·Έλ¬λ€κ° μ μ κ°λ° μλκ° λμ΄κ°λ μ½λκ° λμ μ½λμ λλ€. "μλ κ·Έλ¬λ©΄ μΌμ κΈ°νμ λΉ‘λΉ‘νκ² μ‘μ κ΄λ¦¬μ μλͺ» μλμΌ?" λΌκ³ μ§λ¬Έν μλ μμ΅λλ€. νμ§λ§ μ΄ μ± μμλ μμ¬λΌλ μ§μ μΌλ‘ λΉμ λ₯Ό νλλ°μ. λ§μ½ λΉμ μ΄ μμ¬μΈ μν©μμ κ΄λ¦¬μκ° μκ° λ΄μ μμ μ λ§μΉκΈ° μν΄μ μμ μ»λ κ²μ μλ΅νλΌκ³ μꡬν©λλ€. μ΄ λ λ§μ½ νμμκ² λ¬΄μ¨ μΌμ΄ μκ²Όλ€λ©΄ λꡬμ μλͺ»μ΄ ν΄κΉμ? λΉμ°ν μμ μ 맑μ μμ¬μ μλͺ»μ΄ ν΄κ²λ.. 2021. 6. 13. [CS] TDD(Test-Driven-Development)λ? μλ νμΈμ Fomaπ μ λλ€! μ€λ μμλ³Ό μ£Όμ λ κ°λ°μλΌλ©΄ 무쑰건 κ°μΆ°μΌ νλ μμΈμΈ TDDμ λν΄μ μμλ³΄κ² μ΅λλ€. μ λ§ μ€μν κ°λ μΈλ° μ΄μ μμΌ λ€λ£¨κ² λλ€λ... λ°λ‘ μμν κ²μ! TDD(ν μ€νΈ μ£Όλ κ°λ°)λ? π€ "ν μ€νΈ μ£Όλ κ°λ°μ λ§€μ° μ§§μ κ°λ° μ¬μ΄ν΄μ λ°λ³΅νλ μννΈμ¨μ΄ κ°λ° νλ‘μΈμ€ μ€ νλμ΄λ€. κ°λ°μλ λ¨Όμ μꡬμ¬νμ κ²μ¦νλ μλνλ ν μ€νΈ μΌμ΄μ€λ₯Ό μμ±νλ€. κ·Έλ° νμ, κ·Έ ν μ€νΈ μΌμ΄μ€λ₯Ό ν΅κ³ΌνκΈ° μν μ΅μνμ μ½λλ₯Ό μμ±νλ€. λ§μ§λ§μΌλ‘ μμ±ν μ½λλ₯Ό νμ€μ λ§λλ‘ λ¦¬ν©ν λ§νλ€. μ΄ κΈ°λ²μ κ°λ°νκ±°λ 'μ¬λ°κ²¬' ν κ²μΌλ‘ μΈμ λλ Kent Beckμ 2003λ μ TDDκ° λ¨μν μ€κ³λ₯Ό μ₯λ €νκ³ μμ κ°μ λΆμ΄λ£μ΄μ€λ€κ³ λ§νμλ€." - μν€ λ°±κ³Ό - κ°λ¨νκ² λ§νλ©΄ μ½λλ₯Ό μ°κΈ° .. 2021. 6. 7. [CS] F.I.R.S.T μμΉμ΄λ? (feat.UnitTest) μλ νμΈμ Foma π μ λλ€! μ€λ μμλ³Ό μ£Όμ λ μ’μ μ λ ν μ€νΈλ₯Ό νκΈ° μν F.I.R.S.T μμΉμ λν΄ μ 리ν΄λ³΄λ €κ³ ν©λλ€. λ°λ‘ μμν κ²μ~ F.I.R.S.T μμΉμ΄λ? First μμΉμ 'ν΄λ¦° μ½λ' λΌλ μμ£Ό μ λͺ ν μ± μ μ μμΈ Bob Martinμ΄ μ²μ μ μν κ·μΉμ λλ€. μ΄ κ·μΉμ ν¨μ¨μ μ΄κ³ μ’μ λ¨μ ν μ€νΈλ₯Ό νκΈ° μν 5κ°μ§ μμλ‘ μ΄λ£¨μ΄μ Έ μμ΅λλ€. λΉ λ₯΄κ³ (Fast),λ 립μ μ΄κ³ (Independent),λ°λ³΅κ°λ₯νλ©°(Repeatable),μ체 κ²μ¦κ°λ₯νκ³ (Self-validating),μ² μ νκ³ μ μμ(Thorough&Timely) μμ± κ°λ₯ν ν μ€νΈλ₯Ό First μμΉμ μ€μν μ λν μ€νΈλΌκ³ ν©λλ€. μ΄ 5κ°μ§ μμΉμ λν΄μ μΈμΈνκ² λ€λ£¨λλ‘ νκ² μ΅λλ€. Fast μ λ ν μ€νΈλ λΉ λ₯΄κ² .. 2021. 6. 7. [CS] μΌκΈ κ°μ²΄λ? μλ νμΈμ Foma μ λλ€! ν΄λ‘μ Έμ λν΄μ μ νν 곡λΆνλ €κ³ μμ보λ μμ€μ "ν΄λ‘μ Έλ μΌκΈκ°μ²΄μ΄λ€" λΌλ λ§μμ μΌκΈκ°μ²΄μ λν΄μ λͺ ννκ² μ€λͺ ν μκ° μμ΄μ ꡬ체μ μΌλ‘ μμλ³΄κ³ μ 리ν΄λ³΄κ² μ΅λλ€. λ°λ‘ μμν κ²μ! First-Class-Object(μΌκΈ κ°μ²΄) μΌκΈ κ°μ²΄λ 무μμΌκΉ?π§ μν€λ°±κ³Όμλ λ€μκ³Ό κ°μ΄ μ μλμ΄μμ΅λλ€. "μΌκΈ κ°μ²΄λ λ€λ₯Έ κ°μ²΄λ€μ μΌλ°μ μΌλ‘ μ μ© κ°λ₯ν μ°μ°μ λͺ¨λ μ§μνλ κ°μ²΄λ₯Ό κ°λ¦¬ν¨λ€. λ³΄ν΅ ν¨μμ 맀κ°λ³μλ‘ λκΈ°κΈ°, μμ νκΈ°, λ³μμ λμ νκΈ°μ κ°μ μ°μ°μ μ§μν λ μΌκΈ κ°μ²΄λΌκ³ νλ€." μ¦, ν¨μλ₯Ό κ°μΌλ‘λ μ μ₯ν μ μκ³ νλΌλ―Έν°λ‘ λ£μ΄μ€ μλ μκ³ λ¦¬ν΄κ°μΌλ‘λ μ°μΌ μκ° μλ κ²μ΄ μΌκΈ κ°μ²΄μ λλ€. 1960λ λ, μκ΅μ μ»΄ν¨ν° κ³Όνμ ν¬λ¦¬μ€ν νΌ μ€νΈλμΉκ° μ²μ .. 2021. 5. 12. [Programming] SOLID μμΉμ΄λ? (feat.iOS κ°λ°μ) μλ νμΈμ Foma μ λλ€! μ€λ λ€λ€λ³Ό μ£Όμ λ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° (OOP) μμ κΌ μ§μΌμΌ νλ μμΉμΈ SOLID μ λλ€. SOLIDλ₯Ό μμ보λ μ΄μ λ Swiftλ‘ κ°λ°μ νλ©΄μ ν΄λμ€λ κ°μ²΄λ₯Ό λ§λλ κ², μΊ‘μν, λ©μλ μ€λ²λ‘λ© λ± λ§μ OOP κ°λ μ μ¬μ©ν΄μΌ νμ΅λλ€. νμ§λ§ κ°λ°μ νλ€λ³΄λ©΄ μ΄λ€ κ²μ΄ ν¨μ¨μ μΈμ§ μ΄λ€ κ²μ΄ μ¬λ°λ₯΄κ² OOPλ₯Ό μ§ν€λ©΄μ μ¬μ©νλ κ²μΈμ§λ μμ§ λͺ»νμ± κ·Έλ₯ μ½λ©λ§ νμμ£ ... κ·Έλ¬λ€κ° μ°μ°ν "OOPμμ λ°λμ μ§μΌμΌ νλ μμΉμ΄ 5κ°μ§κ° μλλ° κ·Έκ²μ΄ SOLID μμΉμ΄λΌ λΆλ¦°λ€." λΌλ κ²μ λ£κ³ μ΄κ² 무μμΈμ§ κ·Έλ¦¬κ³ μ μ§μΌμΌ νλμ§μ λν΄μ μ 리ν΄λ³΄λ €κ³ ν©λλ€. λ°λ‘ μμ ν κ²μ~ SOLID μμΉμ 무μμΌκΉμ?π§ μ»΄ν¨ν° νλ‘κ·Έλλ°μμ SOLIDλ λ‘λ²νΈ λ§ν΄μ΄ .. 2021. 3. 4. μ΄μ 1 λ€μ 728x90 λ°μν