profile
안녕하세요, 웹 전문가를 꿈꾸는 개발자 도유니입니다.

[블로그] velog와 notion을 선택하기까지

개발자에게 블로그란? 먼저 남들이 다하니까 시작한 것은 아니다. 개발 공부를 하다보면 배울 주제는 끝도 없고 그 깊이까지 도달하는 것 또한 마찬가지라 느낀다. 이를 모두 기억할 수는 없다보니 내가 이해한 것을 정리해서 보관해둘 필요가 있었다. 물론 다시 기억하기 위해 책을 다시 보거나 검색을 하는 방법이 있겠지만, 비효율적이다. 한 권에서, 한 번의 검색...

2020년 1월 5일
·
0개의 댓글

Node.js란? Node.js 개념 알고가기

Node.js란 ? 노드는 Javascript의 runtime입니다. 즉, Javascript program을 실행할 수 있게 해줍니다. runtime(런타임)이란 ? 기존에는 Javascript program을 인터넷 브라우저에서만 실행할 수 있었던 점 웹 서버에 파일을 업로드할 때, 업로드 진행상황을 알기 위해 서버에 쿼리를 전송해야 한다는 점 ...

2020년 1월 3일
·
0개의 댓글

운영체제(OS) - 9. Virtual Memory

마치 메모리가 더 있는 것처럼 indirection ! 물리적으로는 RAM이 8GB이지만 전체 program을 동시에 돌리는건 극히 드물기에 가장 중요하다고 생각되는 프로그램을 실행하는데 16GB로 수행하는척 해주는 것. 굳이 메모리에 적재되어 있지 않아도 되는 것들을 굳이 적재하지 않음( Dynamic Loading ). 3번 메모리에 접근하고 싶은데 ...

2020년 1월 2일
·
0개의 댓글

운영체제(OS) - 8. Memory Management

메모리는 각각 주소가 할당된 일련의 바이트들로 구성된다. CPU는 PC가 지시하는 대로 메모리로 다음 수행할 명령어를 가져온다. CPU자원, 메모리 자원은 중요하기에 어떻게 할당해주어야 할지(스케줄링) 알아야 한다. 어떤식으로 메모리에 적재되는지(프로세스에게 메모리를 얼마나 할당해줘야 하는지) Background CPU가 직접적으로 접근할 수 있는 메...

2020년 1월 2일
·
0개의 댓글

운영체제(OS) - 7. Deadlocks

로켓 system에서 deadlock을 풀기위한 방법 memory leak만큼 deadlock은 치명적 deadlock은 경쟁이 붙어서 멈춰버린 상황이라 누구의 탓을 할 수 없다. System에 있는 R(resource) Ri의 resource가 Wi개만큼 있다.

2020년 1월 2일
·
0개의 댓글

운영체제(OS) - 6. Process Synchronization

concurrent하게 동작: A라는 process가 동작할 때 인터럽트가 어느 때든 올 수 있고 부분적으로만 수행하고 잠시 멈추게 되는 경우가 있을 수 있다. inconsistency가 일어나기에 consistency가 보장될 필요성이 있다. - consumer-pr

2020년 1월 2일
·
0개의 댓글

운영체제(OS) - 5. Scheduling

CPU Scheduling CPU 자원을 최대한 활용할 수 있는가에 대한 process이다. 보통 CPU를 짧은 시간 내에 최대한 활용하기에 이를 적절히 분배하기 위해 필요하다. ready queue에 들어간 순서대로 실행을 하는데 이를 우선순위에 따라 다시 정렬하는 방식이다. Short-Term scheduler 4가지의 경우 프로세스를 새로 선택해...

2020년 1월 2일
·
2개의 댓글

운영체제(OS) - 4. Thread

Basics process 안에 최소 1개의 thread가 존재한다. process 1번에 thread 1, 2가 있다. 이때 수행 단위는 thread 각 thread별로 ID, PC, 레지스터, 스택(지역 변수가 들어가는) code section, data section(전역 변수)와 OS가 가진 resource들을 공유한다. 여러 가지 일들을 동시 다...

2020년 1월 2일
·
0개의 댓글

운영체제(OS) - 3. Process

Process Concept 동적인 상태일 때, 동작하고 있는 상태인 프로그램을 말한다. task라고도 한다. 프로그램은 어떤 순서에 맞게 동작해야 한다. 5가지의 정보가 기본적으로 저장된다. text section program counter: 다음 수행해야 하는 instruction 정보를 담고 있다. Stack: 지역 변수, 일...

2020년 1월 2일
·
0개의 댓글

운영체제(OS) - 2. OS

OS services UI Program execution에 대한 환경을 제공해줘야 한다. 프로그램을 메모리에 올리고 동작할 수 있게끔 자원을 할당해줘야 한다. I/O 장치들이 동작하도록 제공해야 한다. 파일 시스템 관리 Networking 기능이 기본적으로 탑재가 되어야 하고, process간 소통이 되도록 제공해줘야 한다. 에러 감지를 해야한다. 자원...

2020년 1월 2일
·
0개의 댓글

운영체제(OS) - 1. Introduction

흔히 말하는 공룡책과 강의를 바탕으로 작성한 시리즈이다. 운영체제란? 컴퓨터(HW)를 샀을 때 사용자는 응용프로그램을 설치하게 된다. 응용프로그램이 HW가 어떤 종류인지 신경을 쓰지 않아도 가운데에서 해주는 즉 HW와 User 간의 interaction을 제공한다. 목적 사용자들이 동작하고자 하는 프로그램들이 쉽게 동작할 수 있고 쉽게 접근할 수 ...

2020년 1월 2일
·
0개의 댓글

Jenkins, NAVER Cloud Platform, Docker로 CI/CD 무중단 배포 환경 구축하기 - 2편

Untitled.png 2편에서는 CD에서 무중단 배포까지 구축한다. (1편에서는 Github Push 후에 Jenkins가 자동으로 빌드되도록 설정하였다.) 2. Jenkins로 Node.js기반 프로젝트 배포 설정하기 배포를 위해 scp를 사용하여 Jenkins에 있는 프로젝트 코드를 NAVER Cloud 서버에 복사해야 한다. Node.js...

2020년 1월 2일
·
0개의 댓글

Jenkins, NAVER Cloud Platform, Docker로 CI/CD 무중단 배포 환경 구축하기 - 1편

이번 내용은 필자가 프로젝트를 진행하면서 처음으로 DevOps를 맡으면서 꼭 공유 하겠다고 마음 먹고 작성하였다. CI/CD란? CI(Continuous Integration) 지속적인 통합을 의미한다. 이는 개발자를 위한 자동화 프로세스 중 하나이며 어플리케이션을 변경할 때 자동으로 빌드 및 테스트되어 Github 공유 레포지토리에 병합된다. 그렇기에...

2020년 1월 2일
·
0개의 댓글