일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 백준
- docker
- neofetch
- ECS
- 코드스테이츠
- DevOps
- 리눅스
- 설치형 SW
- fastify-cli
- c++
- 프로세스
- 웹 SW
- 지속적 전달
- fastify
- zshrc error
- 출력 명령어
- char 입력
- mysql
- docker context create
- SSAFY입학
- MongoServerSelectionError
- OpenSearch
- dfs
- 부트캠프
- ci/cd
- 수직확장
- comdef
- 홈 디렉토리
- cli
- Java 입력
- Today
- Total
목록전체 글 (52)
다디와 괴발개발
DevOps = 개발팀(Dev) + 운영팀(Ops) 빠르게 비즈니스 환경이 변화하면서 고객의 빠른 피드백과 이를 반영할 수 있는게 소프트웨어 개발자에게는 필요해져 왔다. 이러한 배경에서 나오게 된 DevOps에 대해 알아보도록 하자 소프트웨어 개발 회사는 크게 개발팀과 운영팀으로 나누어질 수 있다. 그렇다면 개발팀과 운영팀 각각의 목표는 무엇일까? 개발팀 목표 : 잦은 배포와 업데이트, 애플리케이션을 통한 쉽고 빠른 리소스 제공 운영팀 목표 : 프로덕션 앱의 안정성, 인프라 관리, 모니터링 및 제어 ※ 용어 설명 프로덕션 앱 : 고객들이 사용할 수 있는 안정적인 공식 버전 ex) 안드로이드가 제공하는 앱 버전 기준 1. 공개 테스트 : 구글 플레이에서 테스터에게 제공. 스토어 등록 정보를 통해 테스트 참..
DevOps 개념을 배우다 보면, 지속적 배포, 지속적 통합, 지속적 전달이라는 개념들을 접할 수 있다. 지속적 배포를 위해 CI, CD 파이프라인이 만들어지게 되었는데 한 번 내용을 살펴보자 지속적 통합 (Continuous Integration) code -> build -> test 단계를 뜻한다. 여기서 code와 build는 개발자의 영역이다. code : 개발자가 코드를 저장소에 push build : 코드 저장소로부터 코드를 가져와 유닛 테스트 후 빌드 test : 코드 빌드의 결과물이 다른 컴포넌트와 잘 통합되는지 확인 지속적 통합(CI) 과정의 필요성 버그를 조기에 발견 테스트가 완료된 코드를 빠르게 전달 가능 지속적인 배포를 가능하도록 함 지속적 전달 (Continuous Deliver..
들어가기에 앞서, 호스팅 서비스란? -> 인터넷 접속 서비스 제공자가 제공하는 서버의 보관 서비스 웹 호스팅 서비스 - 하나의 건물에 필요한 평수를 임대하여 여럿이 모여 사는 것과 동일한 구조 - CPU와 RAM과 같은 서버 자원을 함께 사용하고 비용을 분담한다. (공용 수도와 전기를 이용하고 분담) - 트래픽이 많지 않은 일반적인 웹 사이트 운영시 사용한다 - 선불 시스템 서버 호스팅 서비스 - 건물주가 건물 하나를 마음대로 사용하는 것과 동일한 구조 - 서버 통제 권한을 최대한으로 획득 가능 - 독점적 이용으로 높은 서버 성능이 보장됨 - 자원을 자유롭게 이용 가능하다 클라우드 서비스 - 여러개의 수 많은 건물을 많은 사람들이 자유롭게 이용하는 것과 동일한 구조 - 건물이 더 필요하면 금방 증축하고,..
설치형 애플리케이션 개념 설치형 애플리케이션(소프트웨어)는 설치용 CD와 일련번호가 필요하다. 장점 1. 인터넷이 연결되지 않는 환경에서도 이용이 가능하다. 단점 1. 설치가 어렵다. 하드웨어 종류가 다양해 개발사에서 다양한 형태의 소프트웨어 패키지를 만들어야 한다 (ex. 윈도우, 리눅스, 유닉스) 2. 유지 보수가 어렵다. 신 기능 추가가 힘들고 버그 대응이 어렵다. 업데이트 및 패치로도 문제가 해결되지 않을 경우에는 현장에 방문해야 한다. 3. 높은 초기 비용. 급변하는 비즈니스 환경에서 소프트웨어를 자주 교체하다 보면 기업에게 큰 부담이 된다. 웹 어플리케이션 (SaaS) SaaS의 개념 SaaS는 Software as a Service의 약자로 서비스형 소프트웨어를 말한다. 클라우드를 통해 제공..
https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 파이썬에서는 간단히 문자열을 split 함수를 이용하면 되지만 c++은 다소 복잡하다.공백을 제외한 단어를 추출해야하므로 sstream 헤더의 stringstream을 이용하여 문제를 해결하..

큐(Queue)란? 박스처럼 입출력이 한곳에서 진행되는 스택과 다르게 front와 rear이 존재하며 rear로 데이터가 들어가고 front에서 데이터가 나오게 된다. FIFO (First In First Out, 선입선출)로, 가장 먼저 들어온 데이터가 가장 먼저 나온다. 일반 큐의 단점은 큐에 빈 메모리가 남아있어도, rear가 끝에 도달한 경우 꽉 찬 경우로 판단 할 수 있다. 이를 개선한 것이 Circular Queue (원형 큐)이다. 원형 큐는 초기 공백 상태일 때 front와 rear이 0으로 초기화 되어있으며, 공백 및 포화 상태를 쉽게 구분하기 위해 자리 하나를 비워두는 것이 핵심이다. 또한, 원형 큐는 (index+ 1) % size 로 순환시킬 수 있다. C++로 원형 큐를 구현하기 ..

스택(Stack) 이란? 입출력이 한 곳으로 제한 되어있는 형태의 자료구조. LIFO (Last in First OUT, 후입 선출)로, 가장 마지막에 들어간 데이터가 가장 먼저 나온다. 스택에서 가장 중요한 요소는 스택의 현재 위치를 가리키는 '스택 포인터(SP)' 라고 할 수 있다. 스택 포인터를 통해 스택이 비어있는지, 가득찼는지, 다음 값이 들어갈 위치 밑 삭제되어야 할 위치를 알 수 있다. 스택을 처음 설계할 때, 기본 위치는 -1로 설정한다. C++로 스택을 구현하기 위해 제작한 함수 1. s.push() : 스택의 가장 top 부분에 데이터를 넣기 위한 함수 구현하고자 하는 스택의 길이가 10이므로 스택에 10개의 데이터가 들어가면 더 이상 삽입이 불가능하도록 구현해야한다. 2. s.pop(..

문제 링크 : https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 각 점수를 최고점에 맞춰서 재구성하여 새 평균을 내는 문제이다. 문제 자체는 간단하지만 정리하고 싶은 개념이 있어 포스팅하였다! 1. c++ 빠른 입출력 2. c++ 배열 동적으로 할당하기 3. setprecision 함수 1. C++ 빠른 입출력 c++의 cin과 cout은 scanf, printf에 비해 속도가 매우 느리다고 한다. 입출력의 개수가 적을 경우에는 그냥 사용해..