μΌνμ΅λ³νμ λ κ΅κ°μμ μ§μ ν νμ΅λͺ¨λμ μ΄μνλ κ²μ΄λ©°, OJT μ€μ΅μ νμ¬μμ μ€μ΅κ³Ό ν¨κ» ν΄λΉ λͺ¨λλ€μ νμ΅νλ κ²μ μ΄μ ν¬μ€ν μ ν΅ν΄ μλ΄νμλ€! μ΄μλ°λΌ μΌνμ΅λ³νμ νμ΅κ·Όλ‘μλ€μ λͺ¨λ μ΄μν νμ΅λͺ¨λμ λν νκ°λ₯Ό μΉλ€μΌ νλ€.
μ΄λ² λ¬ νμ΅κ³νμ λ°λΌ, "μΌνμ΅λ³νμ μ΄ν΄", "μλ²νλ‘κ·Έλ¨ κ΅¬ν", "μꡬμ¬ν νμΈ" λͺ¨λ νκ°κ° μ§νλμλ€.
λ΄λΆνκ°
OJTλ κΈ°μ μμ μ§ννλ―λ‘ λ΄λΆνκ°λ‘ μ΄λ£¨μ΄μ§λλ°, κ΅μ‘λ΄λΉμλκ»μ μ£Όμλ νκ°μ§λ₯Ό μμ±νλ κ²μ΄λ€. νκ° λ΄μ©μ νμ΅λͺ¨λμ λ°λΌ κ±°μ μ§μ λμ΄μκΈ° λλ¬Έμ μ΄λ ΅μ§ μκ³ , λ°°μ λ λ΄μ© λ° μ€μ΅ν λ΄μ©μ΄κΈ°λλ¬Έμ κΈλ°© μ€λΉν μ μλ€. νκ°λ°©μμ κΈ°μ λ§λ€ μ°¨μ΄κ° μμ κ²μΌλ‘ μκ³ μλ€. μν μκ°μ μ§μ ν΄μ£Όλ κ³³λ μμ κ²μ΄κ³ , 미리 λ¬Έμ λ₯Ό μ 곡νκ³ λ°νλ₯Ό μ€λΉμν€κ±°λ, μλ£λ₯Ό μ·¨ν©νμ¬ λ³΄κ³ μ νμμΌλ‘ μμ±νκ² νλ λ°©λ²λ μμ κ²μ΄λ€.
μΌνμ΅λ³νμ μ΄ν΄
λ§κ·Έλλ‘ μ°λ¦¬κ° μ§ννκ³ μλ μΌνμ΅λ³νμ λΌλ μ λκ° λ¬΄μμΈμ§ μκ³ μλλλ₯Ό νκ°νλ λ¬Έμ μλ€. κ³μ½λ΄μ© λ° νλ‘κ·Έλ¨ λ΄μ©μ λν λ¬Έμ λ‘ κ΅¬μ±λμ΄ μμ΄ κΈ°μ -λ κ°μ κ³μ½μ΄ ν¬λͺ νκ³ κ³΅μ νκ² κ΄λ¦¬λ μ μκ³ , λ λν νλ‘κ·Έλ¨μ ν΅ν΄ μ 곡λ°λ κ²μ΄ 무μμΈμ§, μ΄λ€ μν μ μνν΄μΌ νλμ§ νμ€ν μ μ μμ΄ μ’μλ€.
μ΄ λΆλΆμ λ¬Έμ λ νκ° κ·Έ μ΄μμΌλ‘, κΈ°μ /λ/νκ΅(IPP)/κ³ μ©λ ΈλλΆ κ°μ λΉλ¦¬(?)λ λΉλ° μμ΄ ν κ·Όλ‘μλ‘μ¨ λ³΄μ₯λ°μμ μΈμ¦ν μ μλ μλ―Έκ° μλ€λ μκ°μ΄ λ€μλ€.
μꡬμ¬ν νμΈ
μꡬμ¬ν κ°λ° νλ‘μΈμ€μ κ·Έ λ΄μ©μ λν λ¬Έμ λ€μ΄ μΆμ λμλ€. 보ν΅μ μ κ³΅μ± μ΄λ μ 보μ²λ¦¬κΈ°μ¬ κ΅μ¬μμ μ½κ² λ΅μ μ°Ύμ μ μλ λ΄μ©λ€μ΄μλ€. λ΄κ° μ°Έκ³ ν λ¬Έμλ₯Ό μκ°νκ² λ€.
SWEBOK
https://www.computer.org/education/bodies-of-knowledge/software-engineering/v3
μννΈμ¨μ΄ κ°λ°μ λν μ μλ₯Ό λ΄λ¦¬κ³ μΈμΈνκ² μ€λͺ νκ³ μλ λ¬Έμλ‘ λ΄ λ΅μμ μΆμ²μ κ·Όκ±°κ° λμ΄μ€ κ²μ΄λ€. μ€μνκ²μ μ°λ¦¬μ νμ΅λͺ¨λμ΄ μ΄ λ¬Έμλ₯Ό μ°Έκ³ νμ¬ μ μλμλ€λ κ²μ΄λ€. λ€μ΄λ‘λ μμ(μ΄λ¦, μ΄λ©μΌ λ±)μ μ λ ₯νλ©΄ μ΄λ©μΌλ‘ λ¬Έμλ₯Ό λ°λ‘ λ°μ‘ν΄ μ£Όλ―λ‘ κΌ μ°Έκ³ ν΄ λ³΄λλ‘ νμ!
μμ΄λ‘ λμ΄μκΈ΄ νμ§λ§ ν΄μμ΄ μ΄λ €μ΄ μμ€μ μλλ©°, μΌλΆ μ μ λ¬Έμ₯λ§ μ°Έκ³ νμ¬ λ΅μμ μμ±νμ¬λ μ’λ€.
μλ²νλ‘κ·Έλ¨ κ΅¬ν
μ°λ¦¬ κΈ°μ μμλ μ΄λΆλΆμ λν λ΅μμ μλ£λ₯Ό μ€λΉνμ¬ λ°νλ₯Ό μ§ννλλ‘ νλ€.
1. μλ°μμ μμΌ ν΅μ μ μ¬μ©λλ Socket ν΄λμ€μ ServerSocket ν΄λμ€κ° μλ€. λ€μ μ½λμ μλ―Έλ₯Ό ꡬλλ°νλ‘ μ€λͺ νλΌ.
(1) Socket socket = new Socket(“192.168.0.115”, 5050);
(2) ServerSocket ss = new ServerSocket(5050);
λλ μ€λΌν΄ λ¬Έμλ₯Ό μ°Έκ³ νμ¬ λ°νμλ£λ₯Ό μ μνλ€. κ°κ° μ μνμ¬ μ€λͺ ν΄λ λ΄μ©μ΄λ λ°νμλ£λ‘ μ ν©νλ€.
https://docs.oracle.com/javase/7/docs/api/java/net/Socket.html
https://docs.oracle.com/javase/7/docs/api/java/net/ServerSocket.html
μ΄λ₯Ό μ°Έκ³ νμ¬ λ°νμλ£λ₯Ό μ μν λ€ μ½λμ μλ―Έλ₯Ό μ€λͺ νλ©΄ λ κ²μ΄λ€.
2. λ€μ€ ν΄λΌμ΄μΈνΈμ μ μμ μ²λ¦¬νκΈ° μν΄ μλ² μΈ‘μ λ©ν°νμ€νΉ κ΅¬μ‘°λ‘ μ€κ³λμ΄μΌ νλ€. λ©ν°νμ€νΉ ꡬ쑰λ λ©ν°νλ‘μΈμ€μ λ©ν°μ€λ λμ λ λ°©λ²μ΄ μλλ° μ΄λ€ λ°©λ²μ΄ λ μ 리νμ§ μμ μ μκ°μ λ°νν΄λ³΄λΌ.
μΈν°λ·μ μμΉνλ€κ° λ°κ²¬ν μ΄λ―Έμ§λ₯Ό μ¬μ©νμλ€.
λ©ν°νλ‘μΈμ±μ μ₯/λ¨μ κ³Ό λ©ν°μ°λ λ©μ μ₯/λ¨μ μ μ μ°Ύμλ³΄κ³ , νλ‘ λΉκ΅νλ λ±μ λ°νμλ£λ₯Ό μ μνμ¬ μ΄λ€ κ²μ΄ λ μ 리νμ§ μ€λͺ νκ±°λ, μν©μ λ°λΌ λ μ 리ν λ°©μμ ꡬλΆνλ μμΌλ‘ λ°νλ₯Ό μ§ννλ©΄ λκ² λ€.
3. λλ‘ μΌλ‘λΆν° μ μ‘λλ λΉλμ€ μ€νΈλ¦Όμ μ¬λ¬ ν΄λΌμ΄μΈνΈλ‘ μ€μκ° μ μ‘νλ μλ²λ₯Ό ꡬννκ³ μ νλ€. μλ²μλ μ΄λ€ μμ λ€μ΄ νμνμ§ λλ¦λλ‘ μμ μ 견ν΄λ₯Ό μ€λͺ νλΌ.
λ΄κ° μ§μ€ν κ²μ λΉλμ€ μ€νΈλ¦Όκ³Ό μ€μκ° μ μ‘μ΄λ€.
λ¬Όλ‘ λλ‘ μ μ ν©ν μλ²μμλ λλ λ€μ€ν΄λΌμ΄μΈνΈμ λΉ λ₯΄κ³ μ νν ν΅μ μ κ°λ₯νκ² ν΄μ£Όλ μλ²μμμ ν¬μ»€μ€λ₯Ό λ§μΆ° 견ν΄λ₯Ό μ€λͺ ν΄λ 무방νλ€. 견ν΄λ₯Ό μ€λͺ νλ κ²μ΄λ―λ‘, μ λ΅μ κ°κΉμΈ λΏ μ ν΄μ Έμμ§ μμΌλ©° λ Όλ¦¬μ μ€λͺ λ§ κ°λ₯νλ€λ©΄ μ’μ μ μλ₯Ό λ°μ μ μμ κ²μ΄λ€.
λΉλμ€λ μΌλ° νμΌμ λΉν΄ λμ©λμ΄λ―λ‘, μ€μκ° μ μ‘μ νκΈ°μλ μ½κΈ°/μ μ‘νκΈ°κ° μμ°¨μ μΌλ‘ μ΄λ€μ§κΈ° μ΄λ ΅λ€. λν μ€μκ° λΉλμ€ μ€νΈλ¦Όμ΄λΌλ©΄ λλμ± μ€νΈλ¦¬λ°μ΄ μ’ λ£λ λ κΉμ§ κΈ°λ€λ¦΄ μλ μμΌλ―λ‘, μ½μΌλ©΄μ μ μ‘νλ κ²μ΄ κ°λ₯ν λͺ¨λμ΄ νμν κ²μ΄λ€.
λλ Node.jsλ‘ μλ²λ₯Ό κ°λ°νλ€κ³ κ°μ νμ¬ νμν μμ(stream)λ₯Ό μ€λͺ νλ€. λ΄κ° μ°Έκ³ ν λ¬Έμλ μλ Node.js μ¬μ΄νΈμ΄λ€.
https://nodejs.org/api/stream.html
μ΄ ν¬μ€ν μ΄ μ λ΅μ΄λΌκ±°λ λ΄ λ΅μ΄ νλ₯νλ€λ κ²μ μλλ, μ°Έκ³ νμ¬ μμ μ μ§μκ³Ό 견ν΄λ₯Ό μ€λͺ ν΄λ³΄μ! λ΄λΆνκ°λ μ΄μ²λΌ λΆλ΄μμ΄ μΉλ£° μ μλ€.
λκΈ