전체 글 682

[프로젝트] 설계하기 - UI 레퍼런스 조사 ( 2023.11.28(화) )

작업한 것 - 설계 프론트엔드 아키텍쳐 작성 UI 레퍼런스 조사 ( 사람인 - 멘토링 매칭 시스템 ) - 개발 간단한 테스트용 리액트 화면 구현 리액트와 SpringCloud 연동 및 테스트 기초적인 채팅 동작 확인 배운 것 뇌피셜이 아닌 레퍼런스를 근거로 한 접근은 힘이 실린다. 리액트는 훅(Hook)을 이용하여 특정 변수의 상태를 관리하고 상태 변화에 따라 렌더링을 한다. 이슈 설계, 기획, 문서작업의 딜레마 ( 어디까지 레퍼런스를 찾아야 하는가?, 설계와 개발의 시간 분배는 어떻게 해야할까? 리액트에서 채팅방 데이터가 유지되지 않은 현상 발생 마무리 설계는 어렵다....

프로젝트 2023.11.29

[프로젝트] 설계하기 - UI 설계 준비 ( 2023.11.27(월) )

작업한 것 - 설계 Usecase Usecase 개념 및 작성방법 조사 피그잼 협업 방법 공유 Userflow 유저플로우 개념 및 작성방법 조사 유저플로우 작성 서비스 의문사항 코멘트 - 개발 채팅 기능을 위한 STOMP 원리 학습 채팅 기능 Backend 기초적인 개발 배운 것 Usecase란 무엇인가 피그잼 사용방법 User Flow 함께 작성하기 STOMP 원리 이슈 Usecase의 목적을 제대로 이해하지 못한 것 같음 Usecase는 비교적 사용자나 투자자 등 개발 외적으로 활용되는 문서 -> Usecase에서 Userflow로 선회

프로젝트 2023.11.29

[PS] BOJ2493 탑 ( Stack ) with JAVA

2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net ◎ 문제해결 스택을 이용하면 쉽게 풀리는 문제이다. 스택을 처음에 발상했지만 시간복잡도에 걸릴 것이라 판단했었다. 그런데 다시 생각해보니 그렇지 않았다. 6 9 5 7 4 왼쪽부터 하나씩 포인터를 이동하면서 Stack의 Top과 비교한다. Top이 작으면 POP한다. 스택에 더이상 값이 없으면 0을 출력하고 Top에 자신보다 크거나 같은 수가 있으면 출력한다. 그리고 자신의 인덱스를 스택에 PUSH 한다. 스택에는 포인터 이전의 수가 모두 들어가 있지 않고 P..

문제풀이 2023.11.14

[AWS] EKS에서 OIDC가 적용되는 원리

OIDC란 Open ID Connect의 약자이다. OIDC는 OAuth 2.0 프로토콜을 기반으로 이루어지는 사용자 인증 방식을 의미한다. AWS에서 사용자란 IAM을 의미한다. IAM은 AWS 리소스에 대한 권한을 가지고 있다. 그러나 IAM 사용자는 리소스 권한을 유용하게 사용하지 못한다. IAM 사용자가 복잡한 EKS 클러스터를 직접 구성할 수 있을까? 못한다. 그러므로 IAM 사용자는 복잡한 작업을 대신해줄 APP을 찾아 권한을 양도하는 방식을 선택해야 한다. IAM 사용자는 Terraform과 같은 IaC에서 제공하는 Provider에게 AccessKey와 SecretKey를 제공하여 권한을 양도하고 EKS 환경을 대신 구성하도록 지시한다. 하지만 AccessKey와 SecretKey를 직접 ..

Ops/PublicCloud 2023.11.14

[BOJ] BOJ16234 인구이동 ( BFS ) with JAVA

16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net ◎ 문제풀이 문제 이해력과 구현력이 필요한 문제였다. 접근이 가능한 인접지역을 탐색하는 문제이므로 DFS와 BFS가 떠올랐다. DFS는 깊이우선탐색으로 깊이를 먼저 파다보면 접근하지 않아도 되는 경우의 수도 접근할 수 있다. DFS와 BFS 결국 모두 동일한 지역을 접근하므로 접근가능한 경우의 수를 줄이기 위해 BFS로 탐색한다. 그럼 며칠을 인구이동해야 인구이동이 필요없는지 구해보자. 인구차이가 20(L)보다 크거나 같고 90(R)보다 작거나 같아..

문제풀이 2023.11.13

[AWS] EKS에 ALB Ingress Controller 설치하기

AWS Load Balancer Controller 추가 기능 설치 - Amazon EKS 배포된 차트는 보안 업데이트를 자동으로 수신하지 않습니다. 새 차트가 사용 가능해지면 수동으로 업그레이드해야 합니다. 업그레이드 시 이전 명령에서 install을 upgrade로 변경하되, 이전 명령 docs.aws.amazon.com 위 공식문서를 참고하여 ALB Ingress Controller를 EKS에 설치해보겠다. 해당 실습은 AWS EKS 클러스터가 구성되어 있다고 가정하겠다. 0. EC2 인스턴스(우분투 리눅스)에 kubectl 서버 구성하기 EKS에 ALB Ingress Controller를 생성하려면 EKS에 명령을 내릴 서버를 만들어야 한다. EC2 인스턴스를 우분투 리눅스 환경으로 생성하고 아래..

Ops/PublicCloud 2023.11.08

BOJ20437 문자열 게임2 ( String ) with JAVA

20437번: 문자열 게임 2 첫 번째 문자열에서 3번에서 구한 문자열은 aqua, 4번에서 구한 문자열은 raquator이다. 두 번째 문자열에서는 어떤 문자가 5개 포함된 문자열을 찾을 수 없으므로 -1을 출력한다. www.acmicpc.net ◎ 문제풀이 문자열 안의 부분문자열 중에서 특정 문자로 시작해서 끝나는 문자열 중 해당 문자가 K개 있는 경우의 최소길이와 최대길이를 구하는 문제이다. 문자열 안의 특정문자 K개를 찾아야 하므로 반복문이 중첩될 수 밖에 없는데, 문자열의 길이는 최대 10,000이다. 그러므로 시간초과가 발생하지 않도록, 가지치기를 할 필요가 있다. 1. 문자열 내 알파벳 별 개수 파악하기 알파벳 개수를 파악하여 K개보다 작으면 반복을 하지 않는다. 2. 문자열 탐색 문자열 앞..

문제풀이 2023.11.07

[Jenkins] SSH로 AWS EC2 원격접속하여 Tomcat Server 배포하기

Jenkins를 사용하여 AWS EC2에 원격접속하여 Tomcat Server를 배포하려고 한다. 이번 포스팅은 로컬환경에 도커환경에 구성되어 있고 AWS EC2가 생성되어 로컬환경에서 SSH 원격접속이 가능하다는 가정 하에 진행해보겠다. 1. 로컬환경 Docker 컨테이너에 Jenkins 띄우기 docker run -d -p 8080:8080 --name jenkins -u root jenkins/jenkins:lts localhost:8080 Jenkins를 도커 컨테이너에 띄우고 localhost:8080으로 접속하면 초기패스워드 작성화면이 나온다. docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword docker exec 명..

Ops/CICD 2023.11.03

[Terraform] Terraform으로 간단한 AWS 아키텍처 구현하기

Terraform으로 위 AWS 아키텍처를 구현해보려고 한다. GitHub - mgKang3646/Terraform_Apache Contribute to mgKang3646/Terraform_Apache development by creating an account on GitHub. github.com ( 아래에 사용된 코드는 Git Hub에서 참조 가능합니다. ) 1. Terraform 설치 Install Terraform | Terraform | HashiCorp Developer Install Terraform on Mac, Linux, or Windows by downloading the binary or using a package manager (Homebrew or Chocolatey). ..

Ops/CICD 2023.11.02