분류 전체보기
![멀티스레드](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmqXCi%2FbtrP6dC2NDE%2FWHGU9fZmzB5o8Eqa4e8vgK%2Fimg.png)
멀티스레드
멀티 스레드 일반적으로 하나의 프로세스는 하나의 스레드를 가지고 작업을 수행하게 된다. 멀티 스레드란 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미한다. 멀티 스레딩의 장점 멀티 스레드는 각 스레드가 자신이 속한 프로세스의 메모리를 공유하므로, 시스템 자원의 낭비가 적다. 특히 스레드의 문맥 교환은 프로세스의 문맥 교환과 달리 캐시 메모리를 비울 필요가 없기 때문에 더 빠르다. 따라서 시스템의 처리율이 향상되고 자원 소모가 줄어들어 자연스럽게 프로그램의 응답 시간이 단축된다. 또한, 하나의 스레드가 작업을 할 때 다른 스레드가 별도의 작업을 할 수 있어 사용자와의 응답성도 좋아진다. 이러한 장점 때문에 여러 프로세스로 할 수 있는 작업들을 하나의 프로세스에서 스레드로 나눠 ..
![프로세스 vs 스레드](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcNZYK%2FbtrP8X7k2vX%2FS6OMozb7uEJaTK5PHKzOmk%2Fimg.jpg)
프로세스 vs 스레드
프로세스 프로세스(Process)는 컴퓨터에서 실행되고 있는 프로그램(A program in execution)을 말한다. 운영체제로부터 주소 공간, 파일, 메모리 등을 할당받으며 이것들을 총칭하여 프로세스라고 한다. 디스크와 같은 보조기억 장치에 단순히 저장되어 있는 프로그램은 in execution이 아니기 때문에 프로세스가 아니다. 디스크에 실행파일 형태로 존재하던 프로그램이 메모리에 올라가서 실행되기 시작해야 비로소 생명력을 갖는 프로세스가 된다. 프로세스는 CPU를 획득해 자신의 코드를 수행하기도 하고 때로는 CPU를 반환하고 입출력 작업을 수행하기도 한다. CPU 스케줄링의 대상이 되는 작업(task)이라는 용어와 같은 의미로 쓰인다. 프로세스 제어블록(PCB) 프로세스 제어블록(Process..
![www.google.com에 접속하면 일어나는 일](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbubV9Y%2FbtrSXo2JHPe%2FzwLGzUjB7hKirtRwwNk5Kk%2Fimg.gif)
www.google.com에 접속하면 일어나는 일
🔎 www.google.com에 접속해보자 기술 면접 단골 질문인 www.google.com에 접속하는 과정을 생각해보자. 1. 주소창에 www.google.com을 입력하자. 우리가 젤 먼저 해야할 것은 내가 사용하는 브라우저 주소창에 www.google.com을 입력하는 것이다. 2. 브라우저는 캐시에 DNS 레코드가 있는지 확인한 후, www.google.com의 IP 주소를 찾는다. DNS(Domain Name System)는 웹 사이트(URL)의 이름과 링크되는 특정 IP 주소를 유지하는 데이터베이스이다. 사람마다 고유한 주민등록번호가 있듯이, 인터넷의 모든 URL에는 고유한 IP 주소가 할당되어 있다. www.google.com의 IP 주소는 209.85.227.104이다. DNS의 주된 목적..
![DNS Round Robin](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctwAnA%2FbtrP7Uwv9DJ%2FXadHVIqSQ6PDWTx7b2ONb1%2Fimg.png)
DNS Round Robin
DNS Round Robin DNS roudn robin에 대해 알아보기 전에 먼저 로드 밸런싱과 round robin에 대해 알아보자. 로드 밸런싱 클라이언트가 인터넷을 통해 서버에 접속하고자 할 때, 많은 양의 요청이 한 번에 서버에 들어오게 되면 과부하가 생길 수 있다. 이를 방지하기 위해 트래픽을 관리해야 하는데 이 방법에는 크게 두 가지가 있다. 서버 성능 향상(Scale Up) 트래픽 분산(Scale Out) 어떤 동네에 아파트 한 채가 있고, 더 많은 가구를 수용하고 싶을 때 scale up은 기존의 아파트에 몇 층을 더 쌓는 것이고 scale out은 아파트를 새로 짓는 것이라고 생각하면 된다. 서버 성능 향상은 말 그대로 서버 자체의 성능을 향상시키는 것이다. 더 비싸고 좋은 서버를 쓰면..
![DNS](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdOPPBW%2FbtrP7MFiqVS%2FVz56aaHCsUD8fhzytYTjzk%2Fimg.png)
DNS
DNS DNS(Domain Name System)은 도메인 이름과 IP 주소를 매핑해주는 시스템이다. 주민등록번호, 핸드폰 번호와 같이 사람을 다양한 방식으로 식별할 수 있는 것처럼, 호스트에도 다양한 식별자가 있다. 호스트의 식별자에는 크게 도메인 네임과 IP 주소가 있다. 도메인 네임은 우리가 흔히 보는 www.google.com과 같은 주소이고 IP 주소는 111.111.111.111과 같이 4바이트로 구성된 주소이다. 사람의 입장에서는 IP 주소보다 도메인 네임이 더 기억하기 쉽지만, 라우터 입장에서는 그 반대이다. 도메인 네임은 인터넷에서의 해당 호스트 위치에 대한 정보를 거의 제공하지 못하기 때문에 IP 주소를 사용하고, 둘의 입장을 절충하기 위한 해결사가 DNS인 것이다. DNS Server..
![[jekyll] 작성한 post가 보이지 않는 이슈](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FII4HD%2FbtrQbsrqOsP%2FzefDosuDN9VBhN4iGXiKWK%2Fimg.jpg)
[jekyll] 작성한 post가 보이지 않는 이슈
jekyll 블로그를 만들고 글을 작성할 때, 분명 _post 폴더 아래에 파일명 규칙까지 준수해서 글을 잘 썼고! bundle exec jekyll server 했을 때도 새로 작성한 글이 잘 뜨는 것을 확인했는데! 막상 Push하고 내 블로그 주소로 들어가보면 글이 안보이는 이슈가 있었다. 원인은 바로 날짜 jekyll 블로그에서 글을 작성할 때는 파일명 제일 앞에 YYYY-MM-DD과 같이 날짜를 삽입해야 하는데, 이 날짜가 오늘을 기준으로 과거인 것만 보여주도록 설정되어있다. 예를 들어서 내가 글을 2022.10.20일에 작성했다면 2022.10.19일까지의 글만 보여주는 것이다. 이 문제는 코드 한 줄만 추가하면 해결할 수 있다. 먼저 _config.yml 파일을 찾자. 제일 상단에 위치해있다...
![[한화시스템] ICT부문 2022년 하반기 신입사원 채용 코딩테스트 후기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FH8c8T%2FbtrUHRueCI5%2F3Kwe2hdfE80YMzZqrXu8T1%2Fimg.png)
[한화시스템] ICT부문 2022년 하반기 신입사원 채용 코딩테스트 후기
기본 정보 - 플랫폼: 프로그래머스 - 문제 수: 5문제(알고리즘 4 + SQL 1) - 시간: 120분 - 화상 감독 O, 화면 공유 O - 외부 ide 사용 금지, 검색 금지 - 지원 언어 프로그래밍 : Java, C, C++, C#, Python 중 택 1 SQL : Mysql, Oracle 중 택1 왠지 모르겠는데 뭔가 쉬울 거라 생각했다. 그렇지만 굉장히 어려웠던 시험 문제 1번 - 구현 1번은 단순 구현 문제였는데 배열을 내림 차순 정렬 후 정확히 두 등분하면 빠르게 해결할 수 있었다. 여기까진 괜찮았다. 2번 - 비트마스킹 처음으로 코테 보면서 예시가 이해되지 않았던 문제. 아무리 봐도 이상한 것 같아서 감독관께 채팅 보낼까 하다가 그냥 3번으로 넘어갔다. 근데 예제 이해했어도 쉽게 풀기 어..
![[야놀자] 2022 Software Engineer (Intern) 코테 후기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcF2Exa%2FbtrPKDUTHYy%2FqYqz7AKt38mBsrrHCGwvD0%2Fimg.jpg)
[야놀자] 2022 Software Engineer (Intern) 코테 후기
야놀자 소프트웨어 엔지니어 인턴 직무 서류에 합격했다. 마감 기한이 많이 남았지만 자소서 항목도 없고 간단한 인적사항과 포트폴리오, 이력서? 정도만 제출하면 되길래 미리 만들어둔 거 후루룩 제출해버렸다. 서류 제출하고 이틀 뒤에 서류 합격 메일이 왔다. 전혀 생각도 안 하고 있던 곳이었어서 그런지 서합 메일을 받았을 때 기분이 너무 좋았다. 한 번에 다 같이 보는 게 아니라 지원자마다 코테를 따로 보는게 신기하다. 코테 문제도 다 다른 건가?? 암튼 야놀자 코테에 대한 정보는 아래와 같다. - 플랫폼: 코딜리티 - 시간: 50분 - 총 문제: 3문제(영어) - 정해진 시간 X, 주어진 기간 중 본인이 원하는 시간대에 접속 후 50분 응시 코딜리티는 이름만 들어보고 문제는 풀어본 적이 없는데 여기서 코테를..