목록전체 글 (490)
기록하는삶

부스트 캠프 교육에서 잠깐 배웠고, 입사 후에는 도커 기반으로 빌더를 실행하고 있으나 정작 그 개념에 대해 제대로 이해하고 있지 못한 부분이 많았다. 도커는 효과적인 가상화 도구다,, 정도의 개념만 가지고 있었다. 이 참에 실무에 도움이 되는 선에서, 주요 개념과 활용 방법에 대해 하나씩 정리하고자 한다. What is Docker(Container)? (vs Virtual machine)Docker는 컨테이너 기반의 어플리케이션을 생성, 동작, 관리할 수 있게 해주는 오픈소스 프로젝트로, 이제는 일종의 플랫폼이자 컨테이너 기반 가상화 기술의 고유 명사가 되었다. Docker의 정의에 "컨테이너"를 언급해야만 하므로, 컨테이너가 무엇인지 이해하는 것이 결국 Docker 이해의 출발점이다. 도커 공식 문..
00. 회고에 앞서 2023년 2월 1일에 입사하여 곧 1년차를 마무리하는 시점에 회고를 위해 방치하던 블로그를 열었다. 출퇴근 길, 하루를 마무리하며 잠들기 전, 종종 맞이하는 여유로운 주말 등등의 시간에 자연스럽게 나의 일과 일상을 돌아보긴 하지만, 그래도 굳이 글로 정리해보려는 이유는 아래와 같다. 나는 기억력이 좋지 않다. 흐릿한 기억이 사라지기 전에 기록을 남기고 싶다. 목적을 가진 글을 잘 쓰는 연습을 하고 싶다. 주기적으로 쌓인 경험을 잘 엮어 정리하고 싶다. 내가 이렇게 성장해왔구나, 미래에 생각할 수 있었으면 좋겠다. 반복하면 나아질 것을 기대하며, 생각나는 키워드를 중심으로 적어보려한다. 01. 올해의 Keywords 01-1) 당장 해결하지 못해도, 외면하지 말자 누구나 그렇겠지만, ..
Redhat/CenOS 기반 업데이트 중 목차: 클릭하면 이동 1. 도움말 2. 가상환경 3. 패키지관리 4. 백그라운드 실행 5. 음성 변환 6. 파일 다루기 7. 권한 8. 명령어 [도움말/편의성] (돌아가기) # [가상 환경] (돌아가기) # [패키지 관리] (돌아가기) # [백그라운드 실행] (돌아가기) # [음성 변환] (돌아가기) # [파일 다루기] (돌아가기) # 하위 모든 txt 파일을 하나로 취합 Get-ChildItem -Recurse -Filter *.txt | Get-Content | Out-File -FilePath concatenated.txt # 하위 모든 wav, txt file 중 이름에 '@'가 들어가는 파일 이동 Get-ChildItem -Recurse -Include ..

포인터 메모리 주소를 가리키는 변수. 프로그래밍에서 모든 변수는 특정 메모리의 '주소'에 저장된다. 위와 같이 자료형 뒤에 *를 붙여 선언할 수 있고, 'float*'는 "해당 포인터가 가리키는 주소에 저장된 값을 float로 바라보겠다"는 것을 의미한다. 특정 변수에 대해 &을 붙여 할당해주면, 해당 변수의 값이 아닌 변수가 저장된 주소를 포인터에 전달할 수 있다. 포인터 변수 자체는 주소를 저장하고, *를 붙이면 해당 주소에 저장된 값을 바라보았을 때 결과를 받아올 수 있다. float* 라 선언했으니, pint는 크기가 4byte인 실수 자료형이구나! (x) 포인터 변수는 정수형 자료형이다. 또한 그 크기는 어떻게 선언하느냐가 아니라, 해당 소스가 실행되는 환경의 OS의 자료 처리 단위에 의해 결정..
https://www.acmicpc.net/problem/10810 10810번: 공 넣기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 www.acmicpc.net [문제] 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 들어있지 않으며, 바구니에는 공을 1개만 넣을 수 있다. 도현이는 앞으로 M번 공을 넣으려고 한다. 도현이는 한 번 공을 넣을 때, 공을 넣을 바구니 범위를 정하고, 정한 바구니에 모두 같은 번..
https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net [문제] N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. [입력] 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. [출력] 첫째 줄에 주어진 정수 N개의 ..

CPU의 구성과 성능컴퓨터에서 인간의 뇌와 같은 역할을 담당해 기억, 해석, 연산, 제어의 4대 기능을 관할하는 장치인 CPU는 크게 산술 연산을 담당하는 ALU(Arithmetic Logic Unit)와 어떤 명령을 실행할 지 결정하는 제어장치(Control Unit) 그리고 처리할 명령어와 데이터를 메모리로부터 불러와 임시로 저장하는 공간인 레지스터(Registers)로 구성된다. CPU의 성능은 클럭 속도와 코어 수로 결정된다. 클럭(Clock)은 초당 몇 번의 명령어를 처리할 수 있느냐를 의미하는 주파수 신호로, Hz 단위를 사용한다. 클럭 수가 3GHz라면 초당 30억 번의 명령어를 처리할 수 있다는 것을 의미한다. 코어는 CPU 역할을 하는 더 작은 단위의 블록으로, 한 개의 CPU안에 여러 ..
https://www.acmicpc.net/problem/2884 [문제] 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다. 현재 상근이가 설정한..
https://www.acmicpc.net/problem/9498 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net [문제] 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. [입력] 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. [출력] 시험 성적을 출력한다. #include using namespace std; int main(){ int n; cin >> n; ..

프로세스(Process) 본래 실행중인 프로그램 자체를 의미하는 용어지만, 프로그램의 실행 단위를 말하기도 한다. 하나의 프로그램을 실행한다는 것은 하나의 프로세스가 진행된다는 것과 같은 의미이며, 이전에는 이것이 유일한 프로그램의 실행 단위였으나 더 작은 의미의 실행 단위인 쓰레드 개념이 등장했다. 이전에는 컴퓨터가 한 번에 하나의 프로세스만을 처리할 수 있었으나, 다양한 프로세스 스케줄링 기법을 통해 여러 프로세스를 동시에 수행하는 것이 가능해졌다. 쓰레드(Thread) 하나의 프로세스 내에서 실행되는 흐름의 단위로, 하나의 프로세스는 최소 한 개의 쓰레드를 가진다. 하나의 프로세스 내에서 여러 개의 쓰레드를 생성하는 경우, 작업 수행을 위한 스택은 각각 별도로 가지지만 메모리는 공유하게 된다. 은행..