전체 글 78

[JAVA] 10진수 <-> 2진수, 8진수, 16진수

10진수 -> 2진수, 8진수, 16진수 int decimal = 10; String binary = Integer.toBinaryString(decimal); // 10진수 -> 2진수 String octal = Integer.toOctalString(decimal); // 10진수 -> 8진수 String hexaDecimal = Integer.toHexString(decimal); // 10진수 -> 16진수 2진수, 8진수, 16진수 -> 10진수 int binaryToDecimal = Integer.parseInt(“1010”, 2); int octalToDecimal = Integer.parseInt(“12”, 8); int hexaToDecimal = Integer.parseInt(“A”, ..

카테고리 없음 2024.01.27

[Git] 내가 자주 쓰는 명령어

현재까지 자주 쓰는 Git 명령어는 아래에 작성한 명령어 정도이고, 정리를 위해 남긴다. 최근엔 소스트리와 같은 프로그램도 잘되어있어서 많이 사용 중이다. # 초기화 $ git init # 클론 git clone https://~ # 상태 확인 $ git status # 로그 확인 $ git log # 파일 확인 $ ls $ ls -al # 로컬 저장소에서 스테이징 영역에 파일 추가 $ git add "file.txt" $ git add . # 스테이징 영역에 추가된 파일을 대상으로 repository에 커밋 $ git commit -m "commit message" # 브랜치 보기 $ git branch # 브랜치 생성 $ git branch dev # 브랜치 이동 $ git checkout dev #..

Etc. 2024.01.27

[Coding] 한가지만 하라

함수는 가능하면 한가지 일만 하도록 만들자. 나도 동시에 여러가지를 못하니까. 만약, 책에 대한 키워드 검색을 담당하는 기능을 구현한다고하면 아래와 같이 개발할 것 같다. 물론 검색 기능을 제대로 개발할 경우, 엘라스틱 서치과 같은 검색 엔진을 사용하는게 좋다고 생각하며, 아래 코드는 내가 생각하는 기본적인 코드이자 예시이다. public BookListWithPageInfoDto searchBooksByKeyword(BookRequestDto bookRequestDto, UserDetailsDto userDetailsDto, String lang) { List bookFavoriteIdList = fetchFavoredBookIds(userDetailsDto); List keywords = proces..

Etc. 2024.01.27

[Coding] 의도를 분명하게 하라

좋지 못한 코드 public List getThem() { List list1 = new ArrayList(); for (int[] x : theList) { if (x[0] == 4) { list1.add(x); } return list1; } } // theList에 무엇이 들었는가? // theList에서 0번째 index는 왜 중요하지? // 4는 무슨 의미야? // list1은 어떻게 사용이 될까? 좋은 코드 public List getFlaggedCells() { List flaggedCells = new ArrayList(); for (int[] cell : gameBoard) { if (cell[STATUS_VALUE == FLAGGED) { flaggedCells.add(cell); } ..

Etc. 2024.01.27

AWS NAT Gateway를 통한 Private EC2 인스턴스의 외부 통신 구성

1. VPC 메뉴 접속 2. NAT Gateway 탭 클릭 3. Name 입력 4. Subnet 위치 선택 5. Connectivity type에서 Public 선택 6. Elastic IP allocation ID - NAT Gateway도 IP를 기반으로 통신함 - Allocate Elastic IP 버튼을 눌러 NAT Gateway에 IP를 할당해줌 - NAT Gateway에 할당되는 IP는 Elastic IP이며, 기본 5개까지 제공이되므로 주의 필요 7. NAT Gateway 생성 클릭(생성까지 3-5분 소요) 8. Private Subnet의 Route Table -> Routes에 7에서 생성한 NAT Gateway를 타겟으로 설정 - Private Subnet에서 외부 통신이 필요한 경우 ..

Infra & AWS 2023.06.07

AWS NACL 특징 및 설정 방법

- EC2 Security Group과 같이 방화벽 설정이 가능함 - 서브넷 단위로 설정 가능하며, 인스턴스 단위로는 설정 불가능 - 다수의 서브넷에 동시 적용 가능 - 특정 Port 또는 특정 IP를 Deny 가능(EC2 Security Group은 불가능하지만 NACL은 가능함) - Stateless해서 Inbound, Outbound 관련 설정을 모두 신경써서해줘야함(EC2 Security Group은 Inbound만 설정하고 Outbound를 설정하지 않아도 응답을 반환할 수 있지만, NACL은 그렇지 않음)

Infra & AWS 2023.06.06

AWS Session Manager를 통해 Private Subnet에 위치한 EC2 접속하는 방법

Private Subnet에 위치한 EC2 인스턴스에 접근하기 위해선, Public Subnet에 위치한 EC2 인스턴스를 Bastion Host로 만드는 등의 번거로운 작업을 해왔다. 하지만 AWS Session Manager를 이용하면 Bastion Host 설정 같은 복잡한 작업 없이도 Private Subnet에 위치한 EC2에 손쉽게 접근이 가능하다. 참고로 PEM 파일과 같은 EC2 인스턴스의 키파일이 없어도 접속이 가능하다. 요구사항 * EC2 인스턴스에 SSM Agent가 설치되어 있을 것(Amazon Linux2는 기본 설치) * EC2 AmazonEC2RoleforSSM Managed Policy 포함된 Role 설정 필요 - IAM에서 해당 Role 추가 후 EC2 우클릭 -> IAM..

Infra & AWS 2023.06.06