λͺ©λ‘μ 체 κΈ (124)
DevLog πΆ

νμΆλ μ§νν λ λ²μ§Έ νμ΄ νλ‘κ·Έλλ°μΈ μ¬λ€λ¦¬ λ―Έμ μ΄λ€. μ¬μ€ μ΄λ² λ―Έμ μ κ΅μ₯ν 빨리 mergeκ° λμ΄μ λ―Έμ μ체μ λ§μ΄ μ κ²½μ μ°μ§λ μμλ κ² κ°μλ°, λ€λ₯Έ ν¬λ£¨λΆλ€μ΄ κ³ λ―Όνμλ κ±Έ λ³΄κ³ μμΌλ λ΄κ° λ무 μκ°μ μ ν κ²μΈκ°... λΌλ μκ°μ΄ λ€μλ€ π¦ λ€μ λ―Έμ μμλ μ‘°κΈ λ μ κ²½μ°λ©΄μ μ§νν΄μΌ ν κ² κ°λ€. κ·Έλλ νμΆ λλΆμ λλ©μΈ μ€κ³λ₯Ό κ΅μ₯ν μμνκ² ν΄μ, λ λΉ λ₯΄κ² λ§λ¬΄λ¦¬ ν μ μμλ μκ°μΈ κ² κ°λ€. (λ¬Όλ‘ ... μ΄ κ²μκΈμ μμ±ν μμ μμλ νμ°Έ μ μ λλ λ―Έμ μ΄μ§λ§, μμ μ μ₯μ ν΄λκ³ μ¬λ¦¬μ§ μμμ΄μ...γ λ€λ¦κ² μ¬λ¦°λ€) βοΈ μμ±ν μ½λ GitHub - Cl8D/java-ladder: μ¬λ€λ¦¬νκΈ° λ―Έμ μ μν μ μ₯μμ¬λ€λ¦¬νκΈ° λ―Έμ μ μν μ μ₯μ. Contribute to..

μ λ§ μμ μν μ΄μ§λ§ μ‘°κΈμ© μ¬μ΄λ νλ‘μ νΈλ₯Ό μ§ννκ³ μλλ°, μ½νλ¦° λ¬Έλ²μ 곡λΆνλ©΄μ μλ‘μ΄ μ μ μκ² λμ΄ κΈ°λ‘νκ³ μ νλ€! (μ½νλ¦°... μ΅μν΄μ§λ©΄ μ λ§ νΈν κ² κ°μ§λ§ μμ§μ μ λͺ¨λ₯΄κ² λ€. μ΄λ ΅λ€!) βοΈ Amazon S3 with Kotlin μ½νλ¦°κ³Ό s3λ₯Ό μ°λνκ² λλ©΄, μκΈ°μΉ λͺ»ν μλ² μ€λ₯μ λλΉνμ¬ νμΌμ μ½μ νκ±°λ μμ ν λ, νΉμ url μ 보λ₯Ό λ°μμ¬ λ λ€μκ³Ό κ°μ΄ Exceptionμ΄ λ°μν μ μκ² λλ€. ν κ°μ§ κΆκΈν μ μ, AmazonServiceExceptionμ κ²½μ° λΆλͺ¨ νμ μ΄ SdkClientExceptionμΈλ° μ ꡬλΆν΄λμμκΉ... μ무νΌ, κΈ°μ‘΄μλ μλ² μλ¬μ λν΄ μ ν κ³ λ €νμ§ μμ μνλ‘ λ€μκ³Ό κ°μ μ½λλ₯Ό μμ±νμμλ€. fun deleteFile(file..

μΌλ§ μ μ μ°ν μ½μμ μ²΄μ€ νΌλλ°± 2 κ°μλ₯Ό λ€μΌλ©΄μ, λνΈλ‘μ΄νΈ νν (classicist) vs λ°λ νν (Mockist)μ λν΄μ λ£κ² λμλ€. λ λ€ μ²μ λ€μ΄λ³Έ μ©μ΄μ¬μ κΆκΈν λ§μμ μ΄κ²μ κ² μ°Ύμ보며 μμ±ν΄λ³΄κ³ μ νλ€. (μ λ°μ μΈ λ΄μ©μ ν μ½ν‘ λ°ν λ΄μ©μ λ§μ΄ μ°Έκ³ νμμ΅λλ€ πβοΈ) βοΈ λ¨μ ν μ€νΈκ° 무μμΌκΉ? λ¨μ ν μ€νΈλ λ€μκ³Ό κ°μ νΉμ§μ κ°μ ΈμΌ νλ€. 1. Low-level ν μ€νΈλ₯Ό λ€λ£¨μ΄μΌ νλ€. 2. μΌλ°μ μΈ ν μ€νΈ λꡬλ₯Ό μ¬μ©ν΄μΌ νλ€. 3. λΉ¨λΌμΌ νλ€. μ¬κΈ°μ λ¨μλ 무μμΌκΉ? λ§μ½, κΈ°λ₯ λ¨μλΌκ³ ꡬμ±λλ€λ©΄ κ°μ²΄μ§ν₯μ κ΄μ μμλ ν΄λΉ κΈ°λ₯μ ꡬννλ ν΄λμ€μ μ§ν©μ΄ λ¨μκ° λ μλ μλ€. μ°λ¦¬λ μ΄λ¬ν λ¨μ ν μ€νΈλ₯Ό μ§ννκΈ° μν΄μ, μ΄λ ν λ¨μκ° μνΈ μμ©ν μ μλ..

π¬ μ΄ν©ν°λΈμλ° μμ΄ν 78μ μ½κ³ μ 리ν κΈμ λλ€. μ΄λ² μ 리λ μ± κ³Όλ λ€μ λ€λ₯Έ λ΄μ©μ λλ€ :D κ°λ μμ²΄κ° μ΄λ €μ΄ λΆλΆμ΄μ΄μ μ± μ μ½μΌλ©° κΆκΈν λΆλΆμ λν΄ μ‘°μ¬νλ μμΌλ‘ μμ±νμμ΅λλ€ πβοΈ λ νΈμΌλ‘ λλμ΄μ ν¬μ€ν ν μμ μ λλ€! μμ§ λ―Έν‘ν μ μ΄ λ§μμ, λ μ νν μ 보λ₯Ό μκ² λλ©΄ λ³Έ κ²μκΈμ μμ ν μμ μ λλ€. βοΈ λκΈ°νλ 무μμΌκΉ? νμ¬ μμ‘μ΄ 10000μμ΄κ³ , κ°κ° 1000μμ© μ κΈνλ νμλ₯Ό 5000λ², 1000μμ© μΆκΈνλ νμλ₯Ό 5000λ² λ°λ³΅νλ€κ³ κ°μ ν΄λ³΄μ. λμΌν κΈμ‘μ λν΄ λμΌν νμλ‘ 5000λ²μ© μ§ννκΈ° λλ¬Έμ, μ°λ¦¬μ μμ‘μλ λ³νκ° μλ€κ³ μκ°ν μ μλ€. [synchronized ν€μλ λΆμ΄κΈ° μ ] public class Main { public stati..

π¬ μ΄ν©ν°λΈμλ° μ±ν° 9λ₯Ό μ½κ³ μ 리ν κΈμ λλ€. βοΈ λ¦¬μμ€λ μ΄λ»κ² μ»μ μ μμκΉ? νν μλ°μμλ 리μμ€λ₯Ό μ¬μ©ν λ€μ, catchλ₯Ό ν΅ν΄ 리μμ€λ₯Ό μ¬μ©νλ€ λ°μν μμΈλ₯Ό μ²λ¦¬νκ³ , finallyμμ close()λ₯Ό μ¬μ©νμ¬ μ§μ λ«μμ£Όλ κ²½μ°κ° λ§λ€. (try-catch-finally) μ΄λ, λ«μμ£Όμ§ μμΌλ©΄ ν΄λΌμ΄μΈνΈλ μκΈ°μΉ λͺ»ν μ±λ₯ λ¬Έμ λ₯Ό λ°κ²¬ν μλ μλ€. μ€λΌν΄ λ¬Έμλ₯Ό λ°μ·ν΄λ³΄λ©΄, λ€μκ³Ό κ°μ λ¬Έμ₯μ΄ μ‘΄μ¬νλ€. The typical Java application manipulates several types of resources such as files, streams, sockets, and database connections. Such resources must be handl..

π¬ λͺ¨λ μλ°λ₯Ό 곡λΆνλ λμ€μ, μ± μμ λμλ μμ λ₯Ό 컀μ€ν νλ €λ€κ° μ΄λ° μν©μ λ§λ¬λ€. βοΈ λ¬Έμ μν© λ¨Όμ , μ¬μ©ν ν¬λ£¨ ν΄λμ€μ λν μ 보μ΄λ€. public class Crew { private String name; private String nickname; private int age; private Course course; private Crew() { // μΈλΆμμ μΈμ€ν΄μ€ν λ§κΈ° } public static Crew createByName(final String name, final int age, final Course course) { Crew crew = new Crew(); crew.name = name; crew.age = age; crew.course = course; r..

μ°ν μ½μμ λ¬Έμμ΄ κ΄λ ¨ μμ μ λ£λ€κ°, μ΄κ²μ κ² κΆκΈν΄μ μ°Ύμλ΄€λλ° λΈλ‘κ·Έ κΈλ‘ μμ±νλ©΄ μ’μ κ² κ°μμ μ΄λ κ² μμ±νλ€ π€ μμμ νλ¦λλ‘ κΆκΈν μ λ€μ μ°Ύμλ³Έ κ±°μ¬μ μλΉν λμκ° μμ κ² κ°λ€ π₯² βοΈ Stringκ³Ό String pool Stringμ λ¬Έμμ΄μ μ μ₯νκ³ μ²λ¦¬νλ ν΄λμ€μ΄λ€. λΆλ³ ν΄λμ€μ΄κΈ° λλ¬Έμ, ν λ² μμ±λλ©΄ λ³κ²½μ΄ λΆκ°λ₯νλ€. λν, final ν΄λμ€λ‘ λμ΄ μκΈ° λλ¬Έμ μμμ΄ λΆκ°λ₯νλ€. UTF-16 μΈμ½λ©μ νμ©νμ¬, μΈμ½λ©λ λ¬Έμμ΄μ μ μ₯νκΈ° λλ¬Έμ κ° λ¬Έμλ₯Ό 2λ°μ΄νΈ (=16λΉνΈ) μ λμ½λ λ¬Έμλ‘ νννλ€. public String(int[] codePoints, int offset, int count) { checkBoundsOffCount(offset, count,..

π¬ μ΄ν©ν°λΈμλ° μ±ν° 1μ μ½κ³ μ 리ν κΈμ λλ€. βοΈ μ μ ν©ν°λ¦¬ λ©μλλ? μ°ν μ½ λ―Έμ μ μ§ννλ©΄μ, μ μ ν©ν°λ¦¬ λ©μλλ₯Ό μ λ§ λ§μ΄ μ¬μ©νμλ€. μ μ ν©ν°λ¦¬ λ©μλλ, ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό λ°ννλ μ μ λ©μλμ΄λ€. μ¦, μμ±μ μν μ νλ©΄μλ κ°μ²΄λ₯Ό μμ±νκΈ° μ μ 1μ°¨μ μΌλ‘ ν΅κ³Όνλ 'λ¬Έ' κ°μ μ‘΄μ¬λΌκ³ λ λ³Ό μ μλ€. μ μ ν©ν°λ¦¬ λ©μλλ₯Ό μ¬μ©νλ©΄ μ΄λ€ μ μ΄ μ’μκΉ? π¬ λμΌν μκ·Έλμ²λΌλ, μ΄λ¦μ λ°λΌ μλ‘κ² μμ±ν΄μ€ μ μλ€. μ΄λ λ , μ°ν μ½μ ν¬λ£¨ μ μ²μ νκΈ° μν΄ μ μ²μλ₯Ό μμ±νκ³ μμλ€. μ΄λ, λλ€μμ μμ§ μ νμ§ λͺ»ν ν¬λ£¨λ μ΄λ¦κ³Ό λμ΄, κ·Έλ¦¬κ³ κ³Όμ λ§μ κ°μ§κ³ ν¬λ£¨λ₯Ό μ μ²νκ³ μΆμλ€. public class Crew { private String name; private Strin..

π¬ λͺ¨λ μλ° μΈ μ‘μ μ±ν° 3μ μ½κ³ μ 리ν κΈμ λλ€. βοΈ λλ€κ° λλ°μ? μ§λ μ±ν°μμλ λμ νλΌλ―Έν°νλ₯Ό ν΅ν΄μ νλΌλ―Έν°λ‘ λ©μλμ λμ μ체λ₯Ό μ λ¬ν΄μ£Όλ κ²μ λ°°μ λ€. μ΄λ, λ©μλμ λμμ μ λ¬νκΈ° μν΄μ λ³λμ @Override μ΄λ Έν μ΄μ μ΄λ μμλ λ©μλ μ΄λ¦ λ±, λμ μΈμ λ€λ₯Έ μ½λλ€μ΄ λ°λ³΅λμ΄ μλΉν λΆνΈνλ€. λλ€ ννμμ μ΄λ₯Ό ν΄κ²°νκΈ° μν΄μ, λ¨μν 'λμμ λν μ½λλ§' λ©μλλ‘ μ λ¬ν μ μλλ‘ μ΅λͺ ν¨μλ₯Ό λ¨μνν κ²μ΄λ€. λλ€ ννμμ λ€μκ³Ό κ°μ νΉμ§μ κ°μ§λ€. π¬ λ©μλμ μ΄λ¦μ΄ μμΌλκΉ “μ΅λͺ ”μ΄λ€. (λ©μλμ λν λ€μ΄λ°μ κ³ λ―Όν νμκ° μλ€!) - μ΄λ¦μ μμ§λ§, νλΌλ―Έν° 리μ€νΈμ λ°λ, λ°ν νμ, λ°μ κ°λ₯ν μμΈ λ¦¬μ€νΈλ κ°μ§ μ μλ€. π¬ ν¨μ : νΉμ ν΄..

π¬ λͺ¨λ μλ° μΈ μ‘μ μ±ν° 2μ μ½κ³ μ 리ν κΈμ λλ€. βοΈ λμ νλΌλ―Έν°ν μ¬λμ λ§μμ μ λ§ κ°λ κ°λ€. κ·Έλ¦¬κ³ , μꡬμ¬νμ μλΉμμ μ μ₯μμ λ μκ°νκ² λλ€. μ°λ¦¬λ μ½λλ₯Ό μ§λ νλ‘κ·Έλλ¨Έμ§λ§, κ°λ κ°μ μλΉμμ λ§μμ λ§μ‘±μν€κΈ° μν΄ μ΅λν μ λμ μΌλ‘ λμν νμκ° μλ€. μ΄λ λ , ν¬λΉκ° μ°ν μ½ κ³΅μ§μ¬νμ λ€μκ³Ό κ°μ μꡬμ¬νμ λμ Έμ£Όμλ€κ³ κ°μ νμ. π¬ λ°±μλ ν¬λ£¨ μ€μ 25μ΄ μ΄νμΈ ν¬λ£¨λ§ λ³΄κ³ μΆμλ°, λͺ¨μ¬ μ£ΌμΈμ. κ·Έλ¬μ λ€μ€κ° μμ λ§νλ€. π¬ μλμμ, νλ‘ νΈμλ ν¬λ£¨ μ€μμ 23μ΄ μ΄μμΈ ν¬λ£¨λ§ μμ£ΌμΈμ. μ΄λ»κ² νλ©΄ μ°λ¦¬λ λ³ννλ μꡬμ¬ν μμμ μ λμ μΌλ‘ λμν μ μμκΉ? κ°μ₯ λ¨Όμ , κ·Έλ₯ μꡬμ¬νμ λ§λλ‘ κ°λ₯ν λͺ¨λ μμ±μ λν΄μ μ λΆ μλνλ λ°©λ²μ΄ μλ€. 1) λ°±..