일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- kubernetes
- CentOS
- devops
- cloud
- IAM
- terraform
- pub/sub
- Python
- 후기
- vpc peering
- cloud armor
- AWS
- Java
- interconnect
- 자격증
- github
- 보안 규칙
- Uptime Check
- VAGRANT
- 우테캠
- MIG
- direnv
- Google Cloud Platform
- Terraform Cloud
- Clean Code
- docker
- cicd
- vm
- gcp
- cloud function
- Today
- Total
목록전체 글 (96)
EMD Blog
JVM Java Virtual Machine의 약자로 Java Compiler(javac)를 이용해 Java 코드를 Compile하게 되면 Java 바이트코드가 되는데 이를 실행시켜주는 것이 JVM이다. Java 코드를 작성할 때는 class 단위로 코드를 작성했었고 실제로 Compile을 하게 되면 바이트 코드의 확장자가 .class인 것을 확인할 수 있는데 이런 class파일(바이트코드)들을 JVM은 클래스로더(Class Loader)통해 바이트 코드를 넘겨 받아서 메모리에 로드하고 클래스로더가 바이트 로딩을 끝내게 되면 JVM 실행 엔진이 바이트 코드를 실행하게 된다. 특징 JVM은 Java 코드를 한번만 작성해서 여러 플랫폼에 동일한 실행을 보장(Write Once Run Anywhere)하기 위..
AWS를 사용하여 진행하며 요금이 과금될 수도 있습니다. 주의바랍니다. 꼭 AWS를 사용하지 않아도 다른 개인 서버(Local도 괜찮습니다.)를 사용해도 됩니다. Jenkins를 이용한 배포 자동화 이번에는 배포 자동화를 구현 해보자. 배포 자동화에 사용될 도구는 대표적인 CI 도구 중 하나인 Jenkins를 활용하도록 하겠다. 배포 프로세스는 이렇다. 먼저 개발을 하고 Commit 후 Github Repository의 Master로 Push를 하게 되면 Github에서는 WebHook을 통해 Jenkins에게 Push 이벤트를 보내고 Jenkins는 서버에 코드를 배포하게 된다. 서버는 AWS를 이용해서 진행하도록 하겠다. 먼저 Jenkins 서버로 사용할 EC2를 생성하자. 원래는 CentOS를 주로..
이 글은 Java8을 기준으로 작성했습니다. HashMap HashMap (Java Platform SE 8 ) If the specified key is not already associated with a value (or is mapped to null), attempts to compute its value using the given mapping function and enters it into this map unless null. If the function returns null no mapping is recorded. If the function docs.oracle.com HashMap은 Key, Value의 Entry를 가지는 Java의 대표적인 Map 구현체 중 하나이다. Has..
기존 구축되어 있던 환경을 Cloud로 Migration하는 것은 많은 생각을 하게 만든다. 특히 경험이 많은 시니어 개발자가 이끌어 주는, 혹은 이미 기존에 존재하던 대규모 시스템에 적용되어 있는 규칙을 따를 수 있는 상황이 아니라면 앞으로 구축할 인프라에 대한 걱정이 앞설 수 밖에 없다. 이제는 개발된 서비스의 방향성과 그에 따른 아키텍처, 인프라 구축에 대한 설계가 어느정도 끝이 나고있고 이제는 그에따라 구축만 하면되는 상황이지만 서비스 규모가 커지고, 개발자 인원이 늘어날 경우 리소스들이 스파게티 처럼 엉켜 처치불가한 상태가 될 수 있다. AWS에서는 이런 상황에 대한 다양한 해결법을 제시해 주고 있지만 우리는 먼저 가장 간단하게 바로 적용할 수 있는 리소스들의 Naming 규칙을 정해 도입해보는..
배포 자동화와 개발환경 가상화 대부분의 일들은 자동화를 시키면 굉장히 편하고 빠르게 업무를 처리할 수 있다. 개발이라고 다를 것이 없는데 기존의 배포 방식을 먼저 살펴보면 개발환경에서 개발을 하고 목표한 작업이 완료되면 테스트 후 배포한다. 이렇게만 보면 굉장히 간단해 보이고 실제로 어플리케이션 규모가 크지 않으면 간단한 작업이기도 하다. 하지만 어플리케이션 규모가 커지고 배포를 위해 해야할 작업량이 많아진다면 매번 작업단위로 배포하는일은 굉장히 번거로운 일이되버린다. 어차피 배포 자체는 항상 같은 프로세스를 반복하는 것이기 때문에 자동화를 시켜놓는다면 굉장히 편하게 개발을 진행할 수 있다. 그러면 자동화는 알겠는데 왜 가상화를 끼워넣었을까 아래의 예시를 보자 기존에 운영중이던 사내 서비스 중 PHP로 ..
javcReact NativeReact Native란 페이스북에서 개발한 오픈소스 모바일 애플리케이션 프레임워크다. 자세하게 살펴보기 전에 먼저 native에 대해서 잠깐 살펴보고 가자개발을 시작한지 얼마되지 않은 분이나 혹은 개발을 해본적이 없는 사람이라면 개발에서 말하는 native라는 단어가 생소할 수 있다. 구글 번역기에 native를 입력해보면 원주민?으로 해석이 되서 나오는데 앱에서는 우리가 지금 알아보고자 하는 App에서는 Android SDK를 이용해 Java, Kotlin으로 개발하는 안드로이드 앱이나 IOS SDK를 이용해 Objective-C, Swift로 개발하는 IOS앱을 Native App이라고 한다. 각 플랫폼 자체에서 제공해주는 최적화된 개발도구를 사용해 개발했을 경우 Nat..