안녕하세요 dev_writer입니다. 이번에는 그동안 작성하지 못했던 하반기를 포함해, 2024년을 전체적으로 회고해보려 합니다. 1월 ~ 4월4월까지는 SW마에스트로, 우아한테크코스 (23년 12월) 및 다른 개발 동아리들에 지원할 때마다 불합격이라는 결과를 마주쳤다는 사실에 앞으로 개발자를 할 수 있을지, 내가 성장하고는 있는 것인지에 대한 불안감에 휩싸였던 시기였습니다. 이전에 간간히 겪었던 번아웃과는 비교가 되지 않을 정도로 낙담했었고, 인생 처음으로 정신건강의학과에 가본 뒤 우울증은 아니지만 위험도가 높다는 결과를 받기도 하였습니다. 지금에야 돌이켜보면 본격적인 취준 전 겪어지는 통과의례였던 것 같습니다 🥲 그나마 좋았던 일로는 에 서평단으로 선정되었던 것과 PCCP Lv2로 갱신할 수 있었던..
전체 글
항상 부족합니다. 목표를 이룰 때 까지 계속 달리겠습니다.안녕하세요 dev_writer입니다. 현 회사에 입사하면서 axios를 현업에서 처음 다루게 되었는데요, 그 과정에서 알게 된 axios와 axios 인터셉터에 대해 정리해 보겠습니다. 본 글에 사용되는 axios는 1.7.9 버전을 이용하였습니다. Axios우선 axios는 node.js와 브라우저를 위한 Promise 기반 HTTP 클라이언트입니다. (axios 소개 문서) 특징서버 사이드에서는 node.js의 http 모듈을, 브라우저에서는 XMLHttpRequest를 사용합니다.Promise API를 지원합니다.요청 및 응답을 인터셉트할 수 있습니다.JSON 데이터를 자동으로 변환합니다.XSRF (Cross-site request forgery, 크로스 사이트 요청 위조)를 막기 위한 클라이언트 ..
안녕하세요 dev_writer입니다. 이번에는 올해 11월 1일 ~ 11월 29일 5주간 진행한 JSCODE의 모의면접 (운영체제) 스터디에 대한 KPT 회고를 작성하겠습니다. 본 회고 글이 JSCODE 스터디를 신청하시려는 분들께 조금이나마 도움이 되길 바라겠습니다. JSCODE 모의면접이란JSCODE 모의면접 스터디는 CS 과목 (운영체제, 데이터베이스, 네트워크)과 자바에 대해 모의면접 식으로 진행하며 4-5주간 공부하는 스터디입니다. 현직 개발자 분들의 면접 질문을 통해 단편적인 질문보다 더 높은 질문을 받을 수도 있고, 스터디가 끝난 이후에도 공부할 수 있도록 정리된 공부 자료를 얻을 수도 있습니다. JSCODE 모의면접 신청/시작 계기저는 올해 11월에 현 회사로 이직하게 됨에 따라 취준 생활..
안녕하세요 dev_writer입니다. 이번에는 가상 메모리 기법에 대해 알아보겠습니다. 연속 메모리 할당이전까지는 프로세스에게 메모리를 할당할 때, 프로세스의 크기만큼 메모리를 할당받아 여러 프로세스가 연속적으로 배치되는 방식이었습니다.연속 메모리 할당의 구현 방법연속 메모리 할당을 구현하는 방법은 크게 세 가지가 있습니다.최초 적합 (first fit)운영체제가 메모리 내의 빈 공간을 순서대로 검색하다가 적재할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방식입니다.검색이 최소화되며, 빠르게 할당할 수 있습니다.최적 적합 (best fit)운영체제가 빈 공간을 모두 검색해 본 뒤, 적재 가능한 가장 작은 공간에 배치하는 방식입니다.남는 공간이 가장 작은 공간에 배치하기 때문에 가장 최적입니다..
안녕하세요 dev_writer입니다. 이번에는 프로세스 동기화에 대해 작성하고자 합니다. 동기화란동시다발적으로 실행되는 프로세스들은 공동의 목적을 위해 서로 협력하며 영향을 주고받습니다. 프로세스들은 컴퓨터 자원을 각자 이용하는데, 협력을 위해서는 이 자원에 대한 일관성도 보장받아야 할 것입니다. 동기화의 의미프로세스에서의 동기화는 프로세스들 사이의 수행 시기를 맞추는 것을 뜻합니다. 프로세스들은 동시에 수행될 때 올바른 수행을 위해 동기화되어야 합니다.컴퓨터 과학에서 동기화(synchronization)는 합의에 도달하거나 특정 작업 순서를 커밋하기 위해 특정 지점에 합류하거나 핸드셰이킹하도록 여러 프로세스를 조정하는 작업이다. - 위키백과, 동기화 (컴퓨터 과학)에서는 프로세스뿐 아니라 스레드도 동기..
안녕하세요. dev_writer입니다. 이번에는 CPU 스케줄링에 대해 알아보겠습니다. CPU 스케줄링CPU 스케줄링이란 프로세스들에게 CPU 사용 할당을 배분하는 것을 뜻합니다. CPU 스케줄링이 필요한 이유프로세스들은 실행할 때 컴퓨터 자원을 사용하는데, 이때 CPU도 사용합니다. 그런데 만약 하나의 프로세스가 오랜 시간 동안 CPU를 점유하고 있다면, 공정하지 못한 방법으로 자원을 할당하게 될 것이고 이는 시스템의 비효율을 초래할 수 있습니다. 따라서 CPU 스케줄링 기법은 운영체제에 있어 반드시 필요한 기법입니다. 프로세스들에게 CPU를 제대로 분배하지 못한다면 반드시 실행되어야 할 프로세스가 실행이 되지 않거나, 급하지 않은 프로세스들만 계속 실행되는 무질서 상태가 반복될 수도 있을 것입니다. ..