전체 글

전체 글

    [운영체제] 프로세스(Process)와 가상화(Virtualization)

    본 내용은 [Operating Systems : Three Easy Pieces]를 참고하였습니다. 여기 하나의 복숭아가 있다고 해보자. 나는 이 복숭아를 A, B, C 세 명에게 공유를 해주려고 한다. 문제는, 내가 이 복숭아를 세 명의 사람에게 공유하면, 자기 뿐만 아니라 또 다른 사람이 같은 복숭아를 공유한다는 사실에 A, B, C 각자는 불쾌해할 수도 있다. 요지는, 그들이 "각각 자신만의 복숭아를 지급받았다고 생각하도록 해야한다는 것"이다. 여기서의 복숭아가 바로 CPU(혹은 메모리)이고, A, B, C는 프로세스가 된다. 즉, CPU또는 메모리를 프로세스 A, B, C가 각자가 혼자 소유하고 사용하고 있다고 여기도록 하는 것이다. 그렇다면, 실제로는 모두가 이 복숭아를 공유하고 있는데, 어떻게..

    (JavaScript) 자바스크립트의 기본, Hello World!

    기본 javascript 코드를 HTML에 삽입할 때는 script 태그를 사용한다. 스크립트 전 스크립트 후 외부 스크립트 자바스크립트 코드의 양이 많은 경우에는 파일에 저장하여 src속성을 사용하여 HTML에 삽입할 수 있다. 만약, 복수의 스크립트를 삽입하고 싶다면 여러개의 script 태그를 사용하면 된다. ** 보통 HTML 안에 스크립트를 직접 적는 방식은 스크립트가 아주 간단할 때 사용한다. 스크립트가 길어지면 따로 파일을 만들어 이를 삽입하여 주는 것이 낫다. 스크립트를 파일에 작성하면 브라우저가 스크립트를 다운받아 캐시(cache)에 저장하기 때문에, 성능상의 이점이 있다. 여러 페이지에서 동일한 스크립트를 사용하는 경우, 브라우저는 페이지가 바뀔 때마다 스크립트를 새로 다운받지 않고 캐..

    Git 작업 되돌리기

    이전 포스팅까지는 스테이징과 커밋의 과정을 살펴보았는데, 이번에는 스테이지에 올렸던 파일을 내리거나 커밋을 취소하는 과정 등에 대해 알아보자. 밑에 커밋 로그 기록에서 4th 와 5th를 4rd 와 5rd 로 잘못 기입했는데 너그러이 이해 바랍니다. 작업 트리에서 수정한 파일 되돌리기 ( git restore ) 파일을 수정한 후, 어떠한 문제에 의해 수정 내용을 취소하고 가장 최신 버전의 상태로 복구해야 할 경우가 있다. 수천 수백 줄의 소스코드의 경우라면 일일이 수정하는 것이 매우 번거로운 작업일테지만, 깃의 도움을 받으면 쉽게 복구할 수 있다. 위의 사진처럼, hello.txt 파일의 내용을 일부 수정하였다. git status를 통해 살펴보니 작업 트리의 변경 사항을 버리려면 git restore..

    Git 파일 상태

    2021.08.31 - [Computer Science/Git || Github] - Git 입문 (스테이징과 커밋) Git 입문 (스테이징과 커밋) 엄청 오랜만에 글을 포스팅한다. 저번 학기에 전공 공부랑 이것 저것 바쁘다는 핑계로 블로그 기록을 멈췄었는데 생각해보니 다 핑곗거리일뿐, 결국 내가 부지런하지 못했고 치열하지 못했던 faceyourfear.tistory.com 깃에서는 버전을 만드는 각 단계마다 파일 상태를 다르게 표시하므로 파일의 상태를 이해하면 이 파일이 버전 관리의 여러 단계 중 어느 단계에 있는지 파악할 수 있다. tracked 파일, untracked 파일 git status 명령을 입력했을 때, 작업 트리(working tree)에 있는 파일은 크게 tracked 상태와 untr..

    Git 입문 (스테이징과 커밋)

    엄청 오랜만에 글을 포스팅한다. 저번 학기에 전공 공부랑 이것 저것 바쁘다는 핑계로 블로그 기록을 멈췄었는데 생각해보니 다 핑곗거리일뿐, 결국 내가 부지런하지 못했고 치열하지 못했던 것 뿐이다. 그래서 앞으로는 열심히 공부하고 기록으로 남겨보겠다는 다짐(?)을 한다.. Git이란? git이란 2005년 리누스 토발즈(Linus Torvalds)가 처음 소개했으며 소프트웨어의 소스코드를 효율적으로 관리해주는 툴이다. 깃이 제공하는 핵심 기능은 세 가지로 크게 분류할 수 있다. 1. 버전 관리(Version Control) 2. 백업(Backup) 3. 협업(Collaboration) Git Bash를 추천하는 이유 git 을 사용하는 방법에는 여러 가지가 있겠지만, 익숙해지면 가장 편리하기도 하고, 고급자..

    (C++) 백준 1915번 [가장 큰 정사각형]

    백준 1915번 문제 [가장 큰 정사각형] 알고리즘 포스팅을 시작해보겠습니다. 다이나믹 프로그래밍 문제인데, 처음에 다른 방식으로 풀었다가 시간초과가 나서 그제서야 DP로 방향을 잡고 풀었으나, 추상화와 해결방법을 쉽게 찾지 못하다가 겨우 푼 문제입니다. 1. 문제 해결 방법 구상하기 - 입력값부터 받는 데 문제가 생깁니다. 그냥 cin 으로 해서 int값으로 입력받을 수는 없습니다. - 그렇다면 scanf를 이용하여 %1d 로 받을 수도 있고, 문자열 형태로 입력을 받은 후, -'0'을 해주어 int 값으로 다시 변환해줄 수도 있습니다. - 입력받은 후에 문제 해결은 어떻게 해야 할까요? - 다이내믹 프로그래밍이란 추상화, 즉 점화식이 굉장히 중요합니다. 위의 그림에서 가장 중앙에 있는 정사각형을 기준..