ππ₯π₯ λΌμΌλ¦¬μ μ½λ λΆμ€λ¬κΈ° ππ₯π₯
βοΈ Amazon EKS μΉ μ ν리μΌμ΄μ
ꡬμΆνκΈ° μν¬μ΅μ μ€μ΅ν λ΄μ©μ
λλ€.
IAM κ³μ μμ± AWS κ³μ μ 루νΈμ¬μ©μλ‘ λ‘κ·ΈμΈνλ€. IAM λμ보λμμ μ‘μΈμ€ κ΄λ¦¬ > μ¬μ©μ > μ¬μ©μ μΆκ°λ₯Ό μ ννλ€. μ¬μ©μ μ΄λ¦μ μ
λ ₯ ν Access typeμμ μνΈ-AWS κ΄λ¦¬ μ½μ μ‘μΈμ€ μ ν μ¬μ©μ μ§μ λΉλ°λ²νΈλ‘ λΉλ°λ²νΈ μμ±νλ€. κΈ°μ‘΄ μ μ±
μ§μ μ°κ²°(Attach existing policies directly) μ ν ν λΆμ¬νλ €λ μ μ±
μ μ ννμ¬ λ€μ:νκ·Έ(Next:Tags) λ²νΌμ ν΄λ¦. νκ·Έ μΆκ°(μ ν μ¬ν) λ¨κ³ ν μ΅μ’
μμ± μ 보λ₯Ό νμΈνκ³ μ¬μ©μ λ§λ€κΈ°(Create User) ν΄λ¦νμ¬ μμ±νλ€.
Tuckerμ Go μΈμ΄ νλ‘κ·Έλλ° μ±
λ΄μ©μ μ 리νμμ΅λλ€.
μ¬λΌμ΄μ€λ Goμμ μ 곡νλ λμ λ°°μ΄ νμ
μ΄λ€. λμ λ°°μ΄μ μ€ν λμ€ λ°°μ΄μ μ¬μ΄μ¦κ° κ³μ λ°λ μ μλ€.
μ μ , λμ μμμ λ³μμ μ°¨μ΄λ₯Ό μκ°νλ©΄ κ°λ¨νλ€.
μ μ (static) : compile time, build time μ κ°μ΄ κ²°μ λλ€. μ€ν λμ€μ μ λ λ°λ μ μλ€. λμ (dynamic) : Runtime. νλ‘κ·Έλ¨ μ€ν λμ€μ κ³μ κ°μ΄ λ°λ μ μλ€. λ€λ₯ΈμΈμ΄μμ sliceμ λΉμ·ν κ°λ
(λμΌνμ§λ μλ€.)
C++ : Vector<int> Java : ArrayList Python : slice Javascript : κΈ°λ³Έμ μΌλ‘ λμ λ°°μ΄ 1.
μμνμΈμ! λ컀/μΏ λ²λ€ν°μ€ μ±
μ 리 π³π³π³
1 λ컀 μ΄λ―Έμ§μ 컨ν
μ΄λ λ컀 μμ§μμ μ¬μ©νλ κΈ°λ³Έλ¨μλ μ΄λ―Έμ§μ 컨ν
μ΄λμ΄λ€.
1.1 λ컀 μ΄λ―Έμ§ μ΄λ―Έμ§λ 컨ν
μ΄λλ₯Ό μμ±ν λ νμν μμμ΄λ€. κ°μ λ¨Έμ μ μμ±ν λ μ¬μ©νλ iso νμΌκ³Ό λΉμ·ν κ°λ
μ΄λ€. μ¬λ¬ κ°μ κ³μΈ΅μΌλ‘ λ λ°μ΄λ리 νμΌλ‘ μ‘΄μ¬, 컨ν
μ΄λλ₯Ό μμ±νκ³ μ€νν λ μ½κΈ° μ μ©μΌλ‘ μ¬μ©λλ€. λ컀 μ΄λ―Έμ§μ κ΅¬μ± λ컀 μ΄λ―Έμ§ μ΄λ¦μ μ μ₯μ μ΄λ¦/μ΄λ―Έμ§ μ΄λ¦:[νκ·Έ] ννλ‘ κ΅¬μ± λλ€.
μ μ₯μ (Repository) : μ΄λ―Έμ§κ° μ μ₯λ μ₯μ. μ μ₯μ μ΄λ¦μ΄ λͺ
μλμ§ μμ μ΄λ―Έμ§λ λ컀μμ κΈ°λ³Έμ μΌλ‘ μ 곡νλ μ΄λ―Έμ§ μ μ₯μμΈ λ컀 νλΈμ 곡μ μ΄λ―Έμ§.
κ°μ Goμ λΌμ΄λΈλ¬λ¦¬μμ μ¬μ©νλ SHA3-512 ν΄μκ°κ³Ό μλ°μ€λ¦½νΈμμ μ¬μ©νλ CryptoJSμ SHA3-512 ν΄μκ°μ΄ λ€λ₯Έ λ¬Έμ κ° λ°μ
ν
μ€νΈ λμ λͺ¨λ hash.js js-sha3 CrytoJS ν
μ€νΈ λ°©λ² Goμ ν
μ€νΈ μ½λ μμ± ν Goμμ μμ±ν ν΄μκ°κ³Ό Javascriptμμ μμ λΌμ΄λΈλ¬λ¦¬λ‘ μμ±νμ λ ν΄μκ°μ΄ κ°μμ§ λΉκ΅νλ€.
ν
μ€νΈ κ²°κ³Ό hash.js : SHA3-512 κ΄λ ¨ ν¨μκ° μλ κ² κ°μλ€. js-sha3 : μ±κ³΅ CrytoJS : μ€ν¨ CrytoJS μ κ²½μ° Goμμ μ¬μ©νλ SHA3-512μ μ°¨μ΄κ° μλ κ² κ°λ€. cryptojs_documentμ μ°Έκ³ μ¬νμ΄ μμλ€.
NOTE: I made a mistake when I named this implementation SHA-3.
λͺ©ν μλ° λ°°μ΄μ μ¬μ©νμ¬ μμλ₯Ό μ μ₯νλ List μΈν°νμ΄μ€ ꡬννλ€. ν΄λμ€ μ μμ μΈμ€ν΄μ€ λ³μ, μμ±μ 1 2 3 4 5 6 7 8 9 public class MyArrayList<T> implements List<T> { int size; // keeps track of the number of elements private T[] array; // stores the elements public MyArrayList() { array = (T[]) new Object[10]; size = 0; } } size λ³μλ MyArrayListμ μμ κ°μλ₯Ό μΆμ νλ€. array λ³μλ μ€μ λ‘ κ·Έ μμλ€μ μ μ₯νλ λ°°μ΄μ μλ―Ένλ€.
μ¬λ΄ κ°λ° νμ
μ μν CI/CD μλ²λ₯Ό ꡬμΆνλ€. AWS EC2 μΈμ€ν΄μ€λ₯Ό μ¬μ©μ€μ΄λ€. (Ubuntu LTS) docker, docker-composeκ° μ€μΉλμ΄ μλ€. GitLabμ κ²½μ° μΆν λΌμ΄μΌμ€ ꡬ맀λ₯Ό μν΄ ceκ° μλ ee λ²μ μΌλ‘ μ€μΉνλ€. μ€μΉλ₯Ό μν Docker Compose μ€μ μλλ GitLab, Jenkinsλ₯Ό 컨ν
μ΄λλ₯Ό λμ°κΈ° μν docker-compose μ€μ μ΄λ€. GitLab μ΄λ―Έμ§λ λ¨μΌ 컨ν
μ΄λμμ μλΉμ€λ₯Ό μ€ννκΈ°μν Monolithic μ΄λ―Έμ§μ΄λ©° μ΅μ μμ€ν
μꡬμ¬νμ μλμ κ°λ€.
GitLab installation minimum requirements docker-compose.yml νμΌ μ€λΉ μμ
λλ ν°λ¦¬λ₯Ό μμ±νλ€.
1 2 3 cd ~/ mkdir devops cd devops docker-compose.