코딩 35

[Network] traceroute을 사용한 네트워크 실습

내 컴퓨터에서 구글까지 9개의 네트워크 대역이 지나간걸 알 수 있다. 보통 10개에서 15개 안에서 전세계가 연결될 수 있다고 한다. 이렇게 여러 네트워크들이 연결되어있는 걸 WAN(Wide Area Acess) 이라고 한다. daeunkim@Daeunui-MacBookPro ~ % traceroute 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets 1 10.160.136.1 (10.160.136.1) 4.773 ms 4.382 ms 4.317 ms 2 * * * 3 100.70.61.181 (100.70.61.181) 7.073 ms 7.091 ms 7.885 ms 4 10.63.252.236 (10.63.252.236) 5...

네트워크와 CS 2024.01.04

[AWS] VPC(Virtual Private Cloud)를 활용한 네트워크 구성 및 보안 설정 W. TERRAFORM 예제

AWS VPC는 클라우드 환경에서 가상 네트워크를 구축하고 관리할 수 있는 서비스이다. 이를 통해 사용자는 가상의 프라이빗 클라우드를 생성하고, 리소스를 격리하며 네트워크 구성을 세밀하게 제어할 수 있다. 이번 글에서는 AWS VPC의 구성 요소와 주요 개념과 실제 예시를 통해 자세히 살펴보도록하자. Internet Gateway in AWS 인터넷 게이트웨이는 AWS(Virtual Private Cloud) VPC 환경에서 인터넷과의 통신을 가능하게 하는 서비스이다. VPC 내부의 리소스가 인터넷과 통신하기 위해서는 인터넷 게이트웨이가 필요하다. 이를 통해 VPC 내부의 인스턴스들은 인터넷으로 향하는 트래픽을 주고받을 수 있다. VPC 연결: VPC와 인터넷 게이트웨이 간의 연결은 하나의 VPC에 하나..

DevOps/aws 2023.07.13

[Terraform] Terraform 시작하기 feat. EC2 기본 Code

Terraform 시작하기테라폼은 다양한 클라우드를 제공하고 있는 AWS, Azure, Google Cloud 리소스를 코드를 통해 온프레미스 시스템을 지원하며, 여러 리소스(가상 머신, 네트워크, 데이터베이스)를 프로비저닝할 수 있다. 테라폼 설치테라폼은 공식 웹사이트(https://www.terraform.io/downloads.html) 다운로드할 수 있다.압축 파일을 압축 해제한 후, 실행 파일을 실행 가능한 경로에 배치한다.설치가 성공적으로 완료되었는지 확인하기 위해 terraform version 명령을 실행하여 테라폼 버전을 확인한다. 테라폼 기본 개념테라폼 코드: 테라폼을 사용하여 인프라를 관리하기 위해 작성하는 코드로 HCL(HashiCorp Configuration Language)이라..

DevOps/terraform 2023.07.13

[AWS] IAM과 Linux Ubuntu환경에 AWS CLI 설치

빛나는 8GB 맥북을 사용하기 위해 AWS EC2에 linux Ubuntu를 설치하여 linux를 학습하고 있다. 오늘은 AWS IAM에 대해 알아보고 AWS CLI를 Linuc Ubuntu 환경에 설치해보겠다. IAMglobal serviceIdentity access management유저를 만들고 그룹에 할당이 가능하다.default root user를 만들고 절대 공유하면 안된다.IAM에서 유저를 생성하고 그 유저는 조직내의 한 사람을 의미한다.그리고 사용자가 합이 맞으면 그룹화가 가능그룹은 컨테이너 사용자만 가능하고 다른 그룹은 불가 IAM 사용자를 생성하고 그룹에 권한을 부여하는 단계 AWS Management Console에서 Identity and Access Management(IAM) ..

DevOps/aws 2023.05.17

[컴퓨터구조] 진법 변환의 실무 활용 예시

오늘 컴퓨터 구조를 공부하다가 문득 궁금한게 생겼다. 진법변환(이진법, 16진수)를 활용하여 실무에 활용하는 일이 있을까?! 이런의문.. 웹개발자, 백엔드 개발자로 근무하면서 진법변환과 같은 지식들이 필요했던적이 없던걸로 기억한다. 초반에 개념적인 부분들이 많다보니까 중요도를 부여하는게 잘안되는것 같다..! 하지만 알아보니, 진법 변환같은 경우는 실무에선 거의 쓰이지 않지만 아주 low-level에서는 쓰이기도 한다고 한다. network를 subnet을 나눌때도 사용하기도 한다. 컴퓨터는 결국 0과 1로 동작한다고 설명을 하지만 쉽게 얘기하면 결국 회로에 전기가 흐르냐/아니냐에 따라 1과 0으로 표시된다고 이해하면 될 것 같다. 컴퓨터 공학에서 진법 변환이란, 하나의 진법에서 다른 진법으로 수를 변환하..

네트워크와 CS 2023.05.10

Architecture EDA(Event Driven Architecture) 마틴 파울러의 4가지 구현 패턴에 대해

Event Driven Architecture는 애플리케이션에서 발생하는 모든 이벤트(상태 변화, 액션, 메시지 등)를 중심으로 설계된 아키텍처이다. 이벤트 드리븐 아키텍처는 이벤트를 통해 시스템을 제어하고, 이벤트가 발생했을 때 필요한 로직을 실행하는 방식으로 동작한다 이벤트 드리븐 아키텍처는 이벤트가 발생했을 때 이벤트 핸들러를 호출하여 이벤트를 처리하도록 설계된다. 이벤트 핸들러는 이벤트의 내용을 분석하여 필요한 로직을 수행하고, 다른 이벤트를 발생시킬 수도 있다. 이렇게 이벤트가 중심이 되는 아키텍처는 유연하고 확장성이 높으며, 비동기적인 방식으로 동작하여 처리 속도가 빠르다. 이벤트 드리븐 아키텍처는 분산 시스템에서도 유용하게 사용될 수 있다. 분산 시스템에서는 이벤트가 다른 노드로 전파되어 처..

DesignPattern 2023.05.08

[queryDsl] fetchFirst() NullPointerException 에러

fetchFirst() NullPointerException 에러가 발생했을 때 이유는 fetchFirst() null을 반환할 경우 발생한다. 이 경우 fetchOne()을 사용하면 해당 에러를 해결할 수 있지만 하지만 fetchOne()은 더 많은 리소스를 사용하여 성능에 영향을 미칠 수 있어 다른 방법을 고려해야한다. 먼저, etchFirst()가 null을 반환하는 이유를 확인해 보자 예를 들어, 조건에 맞는 데이터가 없는 경우 null을 반환하는 것이 의도된 동작이라면, fetchFirst()를 그대로 사용하는 것이 올바른 방법이다. 하지만, fetchFirst()가 null을 반환하는 것이 예상치 못한 결과일 떄 필요한 데이터만 선택적으로 가져오는 등의 방법으로 쿼리를 최적화할 수 있다. 예를..

[Kotlin]코틀린1.8.0에서 새롭게 업데이트 된 기능

CBRT Function cube root의 단축어로 세제곱근이라는 뜻이다 import kotlin.math.cbrt val num = 24 val negNum = -num println("The cube root of ${num.toDouble()} is: ${cbrt(num.toDouble())}") println("The cube root of ${negNum.toDouble()} is: ${cbrt(negNum.toDouble())}") 매개변수로 double 과 float를 받아들이고 함수를 가져오고 double 또는 float값을 제공하면 된다. Eg) ${cbrt(num.toDouble())}") , ${cbrt(negNum.toDouble())}") @SinceKotlin("1.8") @W..

MSA구조를 위한 서버안정화 및 과부하 분산처리를 위한 솔루션 검토

서버 자동 재시작(self- healing) bash와 crontab health Check를 위한 쉘스크립트 function isRunning { if[-s $HITUP_PID_FILE] then ps -p $(cat $HITUP_PID_FILE) > dev/null return $? else return 1 fi } JVM 실행옵션 OutOfMemoryError에러 발생 시 바로 킬하는 옵션 장애 원인을 남기기위해서 heapdump남기는 옵션 java- Xmx10x10m \\ -XX:+HeapDumOnOutOfMemoryError \\ -XX:+ExitOnOutOfMemoryError -jar may_cause_oom.jar 첫번째 OutOfMemoryError 에러가 나면 프로세스가 바로 다운이되고..

DevOps 2023.01.20