분류 전체보기 썸네일형 리스트형 [백엔드TIL] 버블정렬과 삽입정렬 Bubble Sort [거품 정렬] 거품 정렬은 아마 정렬 방식 중 가장 쉽게 생각할 수 있는 알고리즘 중 하나일 것이다. 두 개의 인접한 원소를 비교하여 정렬하는 방식이다. 왜 Bubble 이라는 이름이 붙었는지 찾아보니 정렬 과정에서 원소의 이동이 마치 거품이 수면위로 올라오는 것 같다고 해서 거품(Bubble) 이라는 이름이 붙었다고 한다... 정렬 방식 중 가장 쉬우니 일단 거품 정렬에 대한 특징만 짚고 넘어가보자. 거품 정렬은 데이터를 '비교'하면서 찾기 때문에 '비교 정렬'이며 정렬의 대상이 되는 데이터 외에 추가적인 공간을 필요로 하지 않기 때문에 '제자리 정렬(in-place sort)'이기도 하다. 정확히는 데이터를 서로 교환하는 과정(swap)에서 임시 변수를 필요로 하나, 이는 충분히.. 더보기 [AWS] Route 53 도메인 연결시 0.5달러 나오는 이유 AWS Free Tier 라서 돈 나갈 일이 없을 줄 알았는데, 문자로 돈이 나갔다는 걸 보고 깜짝 놀랐다 ! 😱 천원 조금 넘는 금액이었지만 혹시 뭔가 잘못 되었을까봐, 앞으로 더 큰 돈이 나갈까봐 무서웠다ㅠ😫😭 AWS 사이트에 가서 보니 Route 53에서 1달러가 나갔다고 써있었다. 세부 보기를 하니 아래와 같았다. (다행히 Elastic Compute Cloud는 프리 티어라서 0.00 달러.. ❤) Route 53 HostedZone! 하나에 0.5 달러인데, 나는 두 개라서 1달러라고.. 세금 0.1 달러라고.. Route 53이 무엇인지, 내가 왜 이 서비스를 이용했는지 이야기하겠다. Route 53은 클라우드 도메인 이름 시스템(DNS) 서비스이다. 이게 없으면 사이트에 'www.naver.. 더보기 [백엔드TIL] 후위식 연산 후위식 연산 👻 문제 🐱🐉 후위 표기법이란? 11+, 22+ , 33+ 중위 표기식과는 다르게 후위 표기식은 연산자가 뒤에 위치한다. 이렇게 표기하는 방법을 후위 표기법이라고 한다. 연산자가 '뒤(후)'에 위치 하기 때문에 후위 표기법이라고 한다. 이러한 연산은 컴퓨터가 연산을 하기 쉽게 표현하는 방법이다. 🐱🐉 후위 표기법의 예시 4 7 * = 28 4 7 2 + * = 4 * (7+ 2) = 36 4 7 * 20 - = (4* 7) - 20 = 8 3 4 7 * 2 / + = 3 + ((4 * 7 ) / 2 ) = 17 👻 풀이 🐱🐉 후위 표기법의 과정(Stack) 입력값을 읽어들인 후, 숫자가 나오면 stack에 push한다. 연산자가 나올 경우, 연산자 앞의 2개의 숫자를 계산한다. 계산한 .. 더보기 [백엔드TIL] 쿠버네티스 환경에 대해 알아보기 요즘 IT 생태계에 관심이 많으신 분들이라면 쿠버네티스라는 단어를 들어 보셨을 텐데요. 쿠버네티스에 대해 개발자들의 관심이 높아지고 있고, 여러 대기업에서 새로운 시스템을 쿠버네티스를 기반으로 전환했다는 소식이 종종 들리고 있습니다. 그렇다면 쿠버네티스는 어떤 것이기에 이렇게 주목받고 있을까요? 쿠버네티스를 접해보지 않은 K는 쿠버네티스에 대해 궁금한 것이 많았습니다. 쿠버네티스를 시작하기 전부터 등장하는 여러 가지 용어와 자료가 이해되지 않아 저에게 도움을 요청했는데요, K의 질문을 재구성하여 쿠버네티스와 관련된 개념을 하나씩 알아보겠습니다! Q. 쿠버네티스는 컨테이너를 오케스트레이션 하는 도구라는 글을 많이 봤어요. 도커는 컨테이너를 다루는 도구라고 설명하던데, 그렇다면 쿠버네티스는 도커를 다루는 도.. 더보기 [백엔드TIL]Spring Webflux란 무엇인가? Spring WebFlux는 Spring 5에서 새롭게 추가된 모듈입니다. WebFlux는 클라이언트, 서버에서 reactive 스타일의 어플리케이션 개발을 도와주는 모듈이며, reactive-stack web framework이며 non-blocking에 reactive stream을 지원합니다. 장점 : 고성능, spring 과 완벽한 통합, netty 지원, 비동기 non-blocking 메세지 처리, Back Pressure netty : 프로토콜 서버 및 클라이언트와 같은 네트워크 응용 프로그램을 빠르고 쉽게 개발할 수있는 NIO(Non-Blocking Input Ouput) 클라이언트 서버 프레임 워크 Back Pressure : 스프링 배치에서 다루었던 개념으로 빠른 Publisher - 느.. 더보기 [백엔드TIL] MSA 아키텍처란? 모놀리식 아키텍처 (Monolithic Architecture) 모놀리식 아키텍처는 마이크로서비스(MSA) 아키텍처에 반대되는 개념으로, 애플리케이션의 모든 구성 요소가 한 프로젝트에 통합되어 있는 형태를 말한다. 장점 개발 초기에 단순한 아키텍처 구조로 인해 개발에 용이하다. 어떤 서비스든지 개발되어 있는 환경이 같아서 복잡하지 않다. 배포가 간단하다. 확장성이 쉽다. 로드밸런스를 이용하여 로드 부하를 나눠 가지는 방식으로 진행한다. 쉽게 고가용성 서버 환경을 만들 수 있다. End-to-End 테스트가 용이하다. 단점 프로젝트의 규모가 커짐에 따라 애플리케이션 구동 시간이 늘어나고 빌드 및 배포 시간이 길어진다. 조그마한 수정 사항이 있어도 전체를 다시 빌드하고 배포해야 한다. 많은 양의 코드가 몰려.. 더보기 [백엔드TIL] 정렬 알고리즘을 알아본다. 버블 정렬 (Bubble Sort) 인접한 두 원소를 비교하며 큰 값을 뒤로 이동시키는 방식으로 정렬합니다. 전체 데이터를 순회하며 가장 큰 값이 맨 뒤에 위치하게 됩니다. 시간 복잡도는 최악 및 평균 경우에 O(n^2)이며, 간단하지만 비효율적인 정렬 알고리즘입니다. 삽입 정렬 (Insertion Sort) 배열을 정렬된 부분과 정렬되지 않은 부분으로 나누고, 정렬되지 않은 원소를 정렬된 부분에 삽입합니다. 삽입 정렬은 거의 정렬된 배열에 대해서는 효율적이며, 최선의 경우 시간 복잡도는 O(n)입니다. 하지만 최악 및 평균 경우에는 O(n^2)입니다. 선택 정렬 (Selection Sort) 주어진 배열에서 가장 작은 값을 선택하여 배열의 처음부터 차례대로 위치시키는 방식으로 정렬합니다. 시간 복잡도는.. 더보기 [백엔드TIL] 도커와 도커 컴포즈 활용 만들어논 도커 이미지를 pull 하는 장면 도커 컴포즈 는 여러 개의 컨테이너의 옵션과 환경을 정의한 파일을 읽어 컨테이너를 순차적으로 생성하는 방식으로 동작합니다. 도커 컴포즈의 설정 파일은 도커 엔진의 run 명령어의 옵션을 그대로 사용할 수 있으며, 각 컨테이너의 의존성, 네트워크, 볼륨 등을 함께 정의할 수 있습니다. 더보기 [AWS] Route 53 도메인 연결 0. 호스팅 영역 클릭 1. 호스팅 영역 생성 클릭 2. 구매한 도메인 입력 (주의!!!! http등을 붙이지 않은 순수 도메인) ex) example.com 3. url 을 클릭하여 상세로 들어가기 4. 레코드 생성 값(Value)에 EC2 퍼블릭 IPv4 주소 적어주고 레코드 생성 퍼블릭 IPv4 주소 보기 더보기 더보기 5. 본인이 도메인을 구매한곳에 rounte53에서 만든 레코드에서 유형이 NS(NameServer 네임서버)인 것의 값 4개를 등록해준다. 도메인 구매 사이트마다 조금씩 다르지만 거의 동일하다. ex) godaddy dns관리 > 네임서버 등록 더보기 [백엔드TIL] AWS 서비스의 활용경험(81일차) AWS S3, EC2를 사용하는 이유와 사용 경험에 대해서 답변해주세요. S3 확장성: AWS S3는 필요에 따라 데이터 저장 공간을 확장할 수 있는 무한한 스케일링을 제공합니다. 데이터 양이 증가하더라도 추가적인 서버 또는 인프라를 관리할 필요 없이 저장 용량을 증가시킬 수 있습니다. 내구성과 가용성: AWS S3는 데이터를 여러 가용 영역에 복제하여 데이터 손실을 방지하고 고가용성을 제공합니다. 데이터는 99.999999999%의 내구성을 보장합니다. 보안: AWS S3는 데이터를 암호화하고 접근 제어를 설정하는 기능을 제공하여 데이터 보안을 강화합니다. 비용 효율성: AWS S3는 사용한 만큼만 비용을 지불하므로 미리 예측 가능한 비용을 유지할 수 있습니다. EC2 가상 서버: AWS EC2는 가상.. 더보기 이전 1 ··· 3 4 5 6 7 8 9 ··· 25 다음