목록분류 전체보기 (56)
CS 공부

메모리(Memory) 기억장치의 계층구조 1) 레지스터(CPU) CPU 내에 고속의 기억 장치로 CPU 동작에 필요 내용을 기억한다. 레지스터는 기억 장치 중에 가장 빠르다. 캐시 기억장치와 주기억장치는 직접 참조가 가능하다. 보조 기억 장치는 직접 참조할 수 없다. 2) 캐시 기억장치 (캐시 메모리) - 버퍼를 체계화하고 독립적으로 구성시킨 장치 CPU에 명령어와 데이터를 빠르게 제공하기 위해 주기억장치에 저장되어있는 명령어와 데이터 일부를 복사해서 임시로 저장하는 장치 주기억장치보다 명령어와 데이터를 저장하고 인출하는 속도가 빠름 빠르게 동작하는 CPU와 느리게 동작하는 주기억장치 사이에서 속도 차이를 줄여주는 완충제 역할을 하는 기억장치 CPU는 주기억장치에 접근하기 전에 캐시 기억장치를 먼저확인 ..

내부단편화와 외부 단편화 내부 단편화 메모리에 빈공간이 50mb 있고 C작업이 30MB인데 C작업이 실행을 위해 메모리의 빈공간에 적재된다고하면 20MB가 남게된다. 이런 식으로 남는 공간은 너무 작아 다른 작업이 사용하기 힘들게 되는데 이러한 작은 빈공간 낭비를 내부 단편화라고 합니다. 외부 단편화 메모리에 남아 있는 용량은 100mb이지만 50mb씩 나누어져있어 50MB를 넘는 작업이 메모리에 들어가지 못하는 상황입니다. 즉 작업을 하기에 충분한 공간이 남아 있더라도 실제로 그 작업을 받아 들이지 못하는 경우를 외부 단편화라고 합니다. 이러한 내부 단편화 외부 단편화는 메모리 낭비를 심하게 합니다. 단편화 해결 방법 단편화 통합 인접한 단편화 영역을 혹은 빈 영역을 하나로 합치는 방법으로서 프로그램 ..
# 도커 설치 관련 명령어들 ## 도커 설치 $ sudo apt update $ sudo apt install apt-transport-https ca-certificates curl software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" $ apt-cache policy docker-ce $ sudo apt install docker-ce ## 도커 실행상태 확인 $ sudo systemctl ..

본 글은 2021년 02~04월 동안 진행한 스터디를 구글 문서로 정리해놓은 것을 바탕으로 작성한 겁니다. slack이란 협업위한 메신저로 젠킨스의 파이프라인 동작이 종료되면 알림을 받는 용도로 사용할 것이다. 1. 이미지 왼쪽의 앱추가를 들어가서 jenkins를 검색해서 그림2을 설치 2. 설치하고 Jenkins CI로 들어가면 구성이 보인다 그 구성으로 들어가자 3. 들어가면 아래와 같은 화면이 뜨는데 slack에 추가를 누른다. 4. 알림을 받을 채널을 선택하고 (참고로 우측 상단에 있는 드롭박스로 slack 방을 선택할 수있다. CI/CD마스터..는 내가진행한 스터디이름..) 5. 그 이후부터는 설정 지침에 따라 설정하면 된다. 설정이 끝나면 아래 사진과 같이 뜬다. 나중에 파이프라인 종료 알림은..
참고사항 GCP vm 인스턴스는 서버 사용중에도 사양 업그레이드가 가능하니 처음에는 낮은 성능의 인스턴스를 사용해도 되지만 나중에 젠킨스에 깃랩에 소나큐브 등 많은 도구들을 파이프라인으로 이을 계획이면 높은 성능의 인스턴스를 생성하자! 운영체제: 18.04 우분투 기준 1. apt-get을 업데이트 해주자 $ sudo apt-get update 2. Java를 설치하자 $ sudo apt-get install openjdk-8-jdk $ java -version // 버전 확인 3. 젠킨스를 설치하자 # jenkins 설치 키 추가 $ wget -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - $ echo "deb https:/..
https://github.com/CODINGSTUDY11/jimin_code CODINGSTUDY11/jimin_code Contribute to CODINGSTUDY11/jimin_code development by creating an account on GitHub. github.com #1 06/29 11053_가장 긴 증가하는 부분 수열 1912 연속합 #2 07/03 9465_스티커 11055_가장 큰 증가 부분 수열 11722_가장 긴 감소하는 부분 수열 #3 07/06 2156_포도주 시식 1149_RGB거리 12865_평범한 배낭 #4 07/09 10844_쉬운 계단수 1932_정수삼각형 #5 07/13 2096_내려가기 9251_LCS 11051_이항계수2 지속적으로 업데이트 될 예정..

경쟁상태 (Race Condition) 두 개 이상의 프로세스가 공통 자원을 병행적으로 읽거나 쓰는 동작을 할 때 공용 데이터에 대한 접근이 어떤 순서에 따라 이루어졌는지에 따라 그 실행 결과가 같지 않고 달라지는 상황을 말함 즉 동기화 매커니즘도 없이 접근 순서에 따라 실행결과가 달라지는 공유자원을 접근하려하는 상황 이러한 경쟁 상태도 교착 상태의 일종 race condition 인 경우에는 스레드의 실행 순서를 잘 조절해주지 않으면 이상한 상태, 비정상적인 상태가 나오게 된다. 이 문제는 항상 발생하는 것이 아니라 특정한 순서대로 수행되었을 때 발생하는 것이다. 이 문제는 디버깅을 할 때에는 전혀 보이지 않는 문제점이고, 발생 시에 모든 프로세스에 원하는 결과가 발생하는 것을 보장할 수 없으므로 후에..
Static Pages Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환한다. 항상 동일한 페이지를 반환한다. Ex) image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들 Dynamic Pages 인자의 내용에 맞게 동적인 contents를 반환한다. 즉, 웹 서버에 의해서 실행되는 프로그램을 통해서 만들어진 결과물 * Servlet: WAS 위에서 돌아가는 Java Program 개발자는 Servlet에 doGet()을 구현한다. Web Server Web Server의 개념 소프트웨어와 하드웨어로 구분된다. 1) 하드웨어 Web 서버가 설치되어 있는 컴퓨터 2) 소프트웨어 웹 브라우저 클라이언트로부터 HTTP 요청을 ..