자바 - 스레드 실행
·
CS
자바의 메모리 공간1. 메서드 영역클래스 정보, 소스코드(바이트 콛), 메서드 생성자 등, static 변수 보관, 런타임 상수 풀 등2. 스택 영역자바 실행 시 main 스택영역이 생성된다. 각 스택 프레임은 지역변수, 중간변수 결과, 메서드 호출정보 등을 포함한다. 메서드가 종료되면 해당 스택 프레임이 제거된다.3. 힙 영역인스턴스와 배열이 생성되는 영역, GC 가 이루어지는 영역 스레드 정의package thread.start;public class HelloThread extends Thread { @Override public void run() { // 현재 코드를 실행하는 스레드의 이름을 출력 System.out.println(Thread.currentThrea..
자바 - 컨텍스트 스위칭
·
CS
멀티태스킹은 반드시 효율적인 것이 아니다.  사람과 컴퓨터라고 해서 크게 다른 것이 아니다. 결국 A, B 두 작업이 있다고 했을 때사람이든, 컴퓨터든 컨텍스트 스위칭이 필요하다. 즉, 현재 작업하는 문맥을 의미하고 그 문맥이 변하는 것을 얘기한다. 이 과정에서 컴퓨터같은 경우에도 어딘가에 저장해두었다가 다시 불러오는 그러한 작업들이 필요하며 약간의 비용이 발생한다. 하지만, 사람의 경우 컨텍스트 스위칭 비용이 매우 크기때문에 그 전환을 줄이는 것이 중요하다. CPU 코어와 스레드의 수는 어떻게 하는게 좋을까?1. 코어 > 스레드 : CPU 를 100% 쓰지는 못하겠지만, 컨텍스트 스위칭이 줄어든다.2. 코어 3. 코어 == 스레드 + 1 : 적절하다. 추가적으로 고려해야 할 점 : 작업 종류1. CPU..
자바 - 스레드와 스케줄링
·
CS
정리1. 실제 CPU 에 의해 실행되는 단위는 스레드이다.2. 여러 프로그램이 존재하는 경우, 이러한 스레드들이 스케줄링 큐에 모여 있다가 CPU 코어에 할당되어 일을 처리한다.3. 스케줄링 큐에서 스케줄링에 사용되는 알고리즘은 여러가지가 있다. (이 부분에 대해서는 다음에 깊게 다뤄보자)4. 개발자는 스레드를 등록 시, 우선순위에 대한 설정 등이 가능하다. (이 부분도 다음에 다뤄보자)
자바 - 프로세스와 스레드
·
CS
CS기술면접을 하다보면, 스레드와 프로레스에 대한 질문을 하는 경우가 있다.기본적인 CS 지식이지만 알고 있는 것과 말로 표현하는 것은 다른 것이라 생각하고 그렇기에 질문을 받았을 때, 버벅이게 될 수 있다. 따라서 이번엔 개념서 방식보단 이번 포스트에서는 다음 5 가지에 대한 QnA 를 진행하고 이를 통해 개념을 제대로 이해해보자. Q. 프로세서(코어) 가 무엇인가요?더보기A. 프로세서(코어)는 한번에 하나의 일만 수행할 수 있다. 현대의 CPU 는 초당 수십억 번 이상의 연산을 수행한다.  Q. 멀티프로세싱과 멀티태스킹은 무슨 차이인가요?더보기A. 멀티프로세싱은 하드웨어 관점에서 여러 CPU 를 사용하여 동시에 여러 작업을 수행하는 것을 의미한다. 다시 말해 연산을 수행하는 주체의 수가 여러 개라는 ..
[사이드 프로젝트] NOTI CERTI - 인증서 통합 관리 솔루션
·
포트폴리오/사이드프로젝트
인증서를 관리하고 만료일자에 맞춰 사용자들에게 알림을 주는 서비스를 만들어보자. 지식이부분은 인증서에 대한 지식이 있으시다면, 대부분 스킵하셔도 됩니다. (인증서 체인쪽만 한번 보고 넘어가세요 :) 더보기 인증서란 일반적으로 웹서비스는 HTTP 프로토콜(클라이언트-서버 프로토콜이라고도 부름)을 통해 서버로부터 데이터 혹은 리소스를 가져온다. HTTP 메시지는 일반 텍스트이므로, 권한이 없는 당사자가 인터넷을 통해 쉽게 엑세스하고 읽을 수 있다. 만약, 비밀번호나 신용카드 정보, 주민등록번호, 집주소, 휴대폰번호와 같은, 서버와 주고받은 민감한 데이터들에 대해서 HTTP 프로토콜을 사용한다면, 굉장히 위험할 수 있다. 공격 방법 중간자 공격 - 클라이언트와 서버 간 트래픽..
[그리고 시큐리티를 곁들인] #6 : 백엔드 전담의 소셜로그인 구현, Spring Security, OAuth2 를 이용한
·
백엔드
보호되어 있는 글입니다.
0woodev
0woodev의 이것저것