전체 글

알고리즘 문제부터 프로그램 개발까지, 코딩하는 비니가 남기는 메모장.
❗ 문제 해결/Web

[👾Troubleshooting] 동적 배포와 정적 배포 문제 (REACT)

React 프로젝트를 Docker와 Nginx로 배포하는 과정에서 404 오류와 외부 API 호출 문제를 겪어 남기게 된 글이다. 1. 문제1-1. 새로고침 404문제첫쨰는 새로고침했을 때 나타나는 404 문제다.React-Route을 통해서 서브 페이지를 만들어놓고, 사용자가 접속한 후 새로고침을 하면페이지가 404로 날아가버리는 문제가 있었다. 이는 톰캣과 같은 WAS에 정적 빌드파일을 올렸을 때 나타난 문제와 동일한데,404로 연결될 때 리다이렉트 주소를 React 주소와 맞춰주면 해결되는 요소다.하지만 본 프로젝트에선 WAS를 쓰지 않고 있음에도 나타난 문제다. 1-2. 외부 API를 못 읽는 문제문제를 인지한 건 프로젝트에 Chart.js와 같은 외부 라이브러리를 읽어온 뒤, 사용하는 과정에서 ..

❗ 문제 해결/Web

[👾Troubleshooting] Jenkins + Docker 빌드 시 환경 변수 누락 이슈

0. 들어가며사실 이걸 거창하게 "트러블 슈팅"이라 쓰긴 했지만, 이번엔 정말 바보 같은 실수를 했습니다.다시는 이런 실수를 반복하지 않기를 바라며 기록을 남겨봅니다..한마디로 수주대토 같은 짓을 해버렸군요..아래부턴 편한 어체로 작성해 보겠습니다.※. 마지막에 요약 있습니다!1. [기] 문제 인식Front 코드에서 API를 호출하는 데 사용하는 URL을 환경 변수로 처리해 두었다.그런데, 빌드한 후 웹 사이트에서 URL 경로를 계속 못 읽길래 환경 변수가 누락됐나? 하고 콘솔 로그를 찍어봤었다.이런 식으로..그랬더니 어머? 네.. undefined가 짜잔~ "undefined"는 정말로 메모리상에 존재하지 않는 데이터란 겁니다.네, 환경 변수가 제대로 읽히지 않았다는 이야기죠..2. [승] 문제 탐색일..

👀 개발 방법/AWS

[AWS] 4. Auto-Scaling과 ELB(ALB)의 연계

Auto-Scaling.자동 스케일링이죠 말 그대로.무엇을 자동 스케일링 한다는걸까요? 바로 EC2입니다. 1. Auto-Scaling이 뭐지?바로 전 글에서 설명했던 EC2를 Auto-Scaling 합니다.EC2의 "용량"과 "성능"을 Scaling 하는 게 아닙니다.EC2 인스턴스의 수를 Scaling 합니다.일종의 "병렬 처리"에요. 우리가 키오스크로 주문하는 식당에 갔다고 합시다.그런데 키오스크가 하나라고 하면,앞서 주문하는 사람이 주문이 느린 경우 우린 계속 기다려야 합니다.심지어 주문을 해야 들어갈 수 있는 가게라면? 서 있어야 하죠. 이런 상황을 타파하려면키오스크를 하나 더 설치하는 방법이 있을겁니다. 그런데 점심 피크 때만 그렇게 사람이 모이고,다른 시간에는 사람이 뜸 하면, 키오스크가 여..

👀 개발 방법/AWS

[AWS] 3. EC2와 인스턴스 패밀리, 요금제에 대하여

사실, 이 EC2라는 서비스의 풀 네임을 아는 사람은 많이 없을 거라 생각한다.나도 그랬다. 다들 AWS의 EC2~ 인스턴스~ 이렇게만 이야기하니까.... 1. 그래서 EC2가 뭐야?Compute Cloud. 클라우드에서 컴퓨팅 리소스를 제공하는 서비스라는 뜻입니다.말 그대로, EC2는 클라우드상에서 컴퓨팅 서비스를 제공하는 것입니다.이는 AWS의 대표적인 서비스로, AWS의 시작점이기도 합니다.정말로 서버 대여 사업을 아마존이 시작했거든요. Elastic은 "탄력"이라는 의미를 가지고 있습니다.우리는 앞서 AWS 클라우드 컴퓨팅의 이점을 알아볼 때,"원하는 만큼 사용"과 "사용한 만큼 비용을 지불한다"라는 내용이 있었죠,이처럼 EC2(Elasitc Compute Cloud)는 탄력적으로 필요한 만큼 컴..

👀 개발 방법/AWS

[AWS] 2. AWS 클라우드 컴퓨팅의 이점?

AWS 클라우드 컴퓨팅 기술이 어떤 이점을 가지고 있고,우리는 이걸 사용함으로써 어떤 이익이 있을까요? 1. 선행 비용 없음 (가변비용으로 대체됨)우리가 서버를 만들 때 구축해야 하는 것들이 많죠,데이터베이스 센터부터 서버 컴퓨터 등, 미리 완전한 금액을 지불하고 구매를 해야 합니다. 대학 강의실도 예를 들어보면, "대여"라는 시스템이 불가능한 상황이라고 가정하는 겁니다.강의실을 그럼 무조건 구매해야겠죠, 이처럼 미리 투자를 해야 사용할 수 있는 리소스를선행 비용이라 합니다. AWS와 같은 클라우드 서비스는 이 대여라는 시스템을 제공합니다.내가 사용하는 양만큼만 비용을 지불하는 가변 비용을 제공하는거죠. 강의실을 예로 다시 들면, 대여하고 사용한 만큼만 비용을 지불합니다.이를 온디맨드, 종량 과금제라고 ..

👀 개발 방법/AWS

[AWS] 1. 온디맨드 서비스, 클라우드 컴퓨팅에 대하여

2024년 하반기 기준, AWS는 지금 200개가 넘는 서비스를 제공하고 있습니다.Amazon Web Service. AWS가 대체 뭐길래, 이렇게까지 많이 쓰일까요?1. "클라우드 컴퓨팅" 이게 대체 뭐지?기존의 물리적 컴퓨팅 리소스들을 그대로 클라우드에서 구현한다고 보면 됩니다.물리적 서버, DB, 스토리지, 네트워크 등 이 모든 리소스를 클라우드(인터넷)를 통해 접근할 수 있도록 제공하는 거죠. 그게 왜? 뭐가 좋은 거지?그냥 서버 컴퓨터를 사서 구축하면 되는 거 아니야?라고 생각하실 수 있으니,클라우드 컴퓨팅의 특징과 장점을 본 페이지에서 아~~주 간단하게 알아봅시다. 2. 온디맨드 제공 (On-Demand Service)AWS는 "온디맨드 (On-Demand)"라는 가장 큰 특징을 가지고 있습니..

✨ 알고리즘

[코드트리 조별과제] Memoization? 메모이제이션이란?

1. "Memoization"이란?자, 굉장히 어려워 보이는 모습으로 보일 수 있다.하지만 굉장히 간단하고 우리에게 친숙할 수 있다. "Memory"  ==  "기억""~tion" == "행위", "상태" 등. 기억하는 행위다.의미 자체는 어떤가, 굉장히 쉽지 않은가?이론도 매우 간단하다. DP의 기초로 배우는 가장 첫 단계로, 사실 모두가 알게 모르게 쓰고 있는 기법이기도 하다. 2. 이해를 위한 예시2-1. 과거 DFS와의 연관성일전에 DFS를 했었는데, 기억을 더듬어보자.https://devbini.tistory.com/14 [코드트리 조별과제] 깊이 우선 탐색[DFS] 기초처음 코드트리를 들어갔는데, 마침 조별과제 이벤트를 하더라?마침 DFS/BFS 기초부터 배울 수 있길래 이번에 정복?을 해보고..

✨ 알고리즘

[코드트리 조별과제] 깊이 우선 탐색[DFS] 기초

처음 코드트리를 들어갔는데, 마침 조별과제 이벤트를 하더라?마침 DFS/BFS 기초부터 배울 수 있길래 이번에 정복?을 해보고자 한다.1. Depth-First Search  [약칭 DFS]란?뭔가 되게 있어 보이지 않는가?사전적 의미로는 "  맹목적 탐색방법의 하나로 탐색트리의 최근에 첨가된 노드를 선택하고, 이 노드에 적용 가능한 동작자 중 하나를 적용하여 트리에 다음 수준(level)의 한 개의 자식노드를 첨가하며, 첨가된 자식 노드가 목표노드일 때까지 앞의 자식 노드의 첨가 과정을 반복해 가는 방식이다." 라고 상당히 장황하게 적혀있는데..우리는 우리 입맛대로, 손쉽게 이해해 보도록 하자.그냥 한 길만 죽어라 파면서 남는 길이 없을 때까지 반복하는 거다. 2. DFS 이해를 위한 예시2-1. DF..

👀 개발 방법/Web

[WEB/AWS] 도메인 연결 Feat.가비아

개발하고 있는 K-WPU 서비스의 데모 서비스가 얼추 준비되었다.하여 상용 도메인을 연동하여 외부에서 쉽게 접근할 수 있도록 DNS를 연결해 줄 생각이다.1. 도메인이 뭐죠? 위처럼 URL 창에 입력하는 앞 호스트 부분을 말한다.외부에서 이 주소를 통해 우린 네이버나 구글 등에 모두 접속을 한다.도메인 구조에 있는 프로토콜이나 서브 도메인.. 이런 게 무엇인지는 다른 도메인 설명글에서 설명하는 게 좋을 것 같다. 아무튼, "도메인 네임"과 "최상위 도메인"을 구매 한 뒤, AWS EC2에 올라간 프로젝트와 연결시킬 것이다. 자, 그럼 해보자! 2. 도메인 준비 (구매)2-1. 도메인 등록 사이트 찾기 도메인을 등록(구매)하는 방법은 여러 가지가 있다. 내가 고민한 것은 셋 중 하나였다.AWS 자체적으로 ..

✨ 알고리즘/백준

[Silver V] 1475번: 방 번호 (C++, 구현)

본문을 작성하는 사람은 주로 C++을 사용합니다. 1. 문제 개요 1-1. 시나리오 1-2. 입력 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. 1-3. 출력 첫째 줄에 필요한 세트의 개수를 출력한다. 1-4. 문제 링크 https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 2. 풀이 2-1. 문제 이해 이것도 구현 문제네요. 1. 한 세트에는 0부터 9까지 존재한다. 2. 6과 9는 서로 치환할 수 있다. 이 두 가지만 명심하면 충분하겠네요. 🎈 예시 "9999" 라는 값이 들어왔을 경우. 69 ..

김비니
비니의 개발 캔버스