목록전체 글 (261)
Coding Planet
"Daemon" 이라는 단어는 원래 그리스 신화의 보호신 또는 신의 지배를 받는 영혼을 의미하는 단어에서 유래됬으나, 컴퓨팅 분야에서 백그라운드에서 실행되는 프로세스나 서비스를 의미한다. 보통 사용자의 직접적인 개입없이 독립적으로 실행되며 시스템 관리, 자원 관리, 파일 전송, 네트워크 서비스 제공 등의 작업을 수행하는 프로그램을 가리킨다. 운영체제나 서버에서는 다양한 데몬이 시스템의 기본적인 기능을 지원하기 위해 실행되고 있는데 이 포스트에서는 데몬쓰레드(daemeon thread)를 중점적으로 살펴 보고자 한다. | 데몬 쓰레드(daemon thread) 데몬 쓰레드는 일반쓰레드(데몬 쓰레드가 아닌 쓰레드)의 작업을 돕는 보조적인 역할을 수행하는 쓰레드이다. 주 쓰레드(애플리케이션의 메인쓰레드)가 종..
|Spring Security란? Spring Security는 Spring 기반의 애플리케이션에 보안 기능을 추가할 수 있도록 설계된 프레임워크이다. 인증(Authentication)과 권한부여(Authorization)을 위한 포괄적이고 확장 가능한 솔루션을 제공한다. Spring Security는 메서드 수준, URL 수준에서 보안 등 보안 수준을 설정할 수도 있다. Spring Security를 사용할 경우 개발자가 보안 관련 코드를 직접 작성하지 않아도 간단히 사용할 수 있도록 고안되었는데 주요 기능은 다음과 같다. 인증: 사용자가 누구인지 확인하는 과정. 예를 들어, 사용자 이름과 비밀번호를 사용한 로그인 과정이 여기에 해당한다. 권한 부여: 인증된 사용자가 특정 자원에 접근하거나 작업을 수행..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EIdFm/btsEdUaklGr/ZrmwldeTkVxDBs2yQ8KlL0/img.png)
| 프로세스와 쓰레드 프로세스(process)란 간단히 말해서 실행중인 프로그램이다. 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)를 할당받아 프로세스가 된다. 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있다. 이 때 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 쓰레드이다. 그래서 모든 프로세스에서는 최소한 하나 이상의 쓰레드가 존재하며, 둘 이상의 쓰레드를 가진 프로세스를 멀티스레드 프로세스라고 한다. 프로세스가 하나의 공장이라면 쓰레드는 공장 내부의 노동자이다. | 멀티태스킹과 멀티쓰레딩 현재 우리가 사용하고 있는 윈도우나 유닉스를 포함한 대부분의 OS는 멀티태스킹(multitasking, 다중작업)을 지원하기 때문에 여러 개의..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/MLVUB/btsEeMifi8t/lKKsyrY3kVxNTM2qzfOdS1/img.png)
| 디스인플레이션(disinflatoin) 디스인플레이션은 물가가 감소하는 현상을 가리다. 이는 경제에서 물가 상승률이 낮아질 때 발생할 수 있다. 디스인플레이션은 경제의 안정을 뒷받침하고 인플레이션과 반대되는 경향을 보입니다. | 통화정책 피벗(pivot, 기조전환) pivot은 (축을 중심으로) 회전하다, 돌다라는 뜻을 가지고 있다. 통화정책에의 피벗이란 통화정책의 기조 변화를 의미한다. 최근 상황에서는 물가안정을 위해 상승시켰단 금리인상 기조를 금리인하로 바꾸는 기조전환을 뜻한다. 주요국에서 디스인프레이션이 상당기간 지속됨에 따라, 통화정책 피벗의 시점과 그림 조정폭에 대한 시장의 관심이 높아지고 있다. https://n.news.naver.com/mnews/article/003/0012344535..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cuZ1JO/btsD8AaVqEA/hoZTcEmWDn4IVlrBQTFtlk/img.png)
| 태그 는 HTML5에서 도입된 요소로, 그래픽스를 그리기 위한 영역을 제공한다. JavaScript와 함께 사용되어 동적으로 2D 또는 3D 그래픽스를 생성할 수 있다. 이 태그는 게임, 그래프, 애니메이션 등 다양한 시각적 컨텐츠를 구현하는 데 사용되는데 그래프를 통해 기능을 살펴보고자 한다. | 기본 사용법 getContext()는 HTML 요소의 내장 메서드이다. 이 메서드 사용시 렌더링 컨텍스트와 그것의 그리기 함수를 가져올 수 있다. 가장 일반적으로 사용되는 컨택스트는 "2d"이다. fillRect(x, y, width, height)함수를 통해 사각형을 그린다 예시 코드를 실행시 2차원의 사각형이 나타난다. | 주요 내장함수 getContext() 캔버스의 렌더링 컨텍스트를 가져옴. fil..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tb5HF/btsDItQqVEr/mR6Q88gsInLiQuanrdyjBK/img.png)
| 운영체제란(OS)란 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨와와 하드웨어를 연결하는 소프트웨어 계층 협의의 운영체제(커널) : 운영체제의 핵심 부분으로 메모리에 상주하는 부분 광의의 운영체제 : 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념(ex. 파일 시스템) | 운영체제의 목표 컴퓨터 시스템의 자원을 효율적으로 관리해준다. -> 자원관리자 프로세서, 기억장치, 입출력 장치 등을 효율적으로 관리해준다. 사용자간의 형평성 있는 자원을 분배하는데 주어진 자원으로 최대한의 성능을 내도록 한다. 사용자 및 운영체제 자신을 보호하고 프로세스, 파일 메시지 등을 관리한다. 여러 프로그램을 동시에 쓰기 위해서는 메모리를 쪼개서 할당해야하는데 어떤 프로그램이 어느정도 써야하는지..
JWT(Jason Web Token)을 이용한 로그인 방식을 공부하던 도 중 stateless 통신의 장점에 대한 포스트를 읽게되었다. Stateful과 Stateless에 대한 개괄적인 이해만 있는 상태여서 이번 기회에 명확하게 이해하고 싶어졌다. Stateless와 Stateful은 주로 웹 서버의 세션 관리 방식을 설명하는 데 사용되는 두 가지 개념이다. 이들은 서버가 클라이언트의 상태(예: 사용자의 인증 상태, 이전의 상호작용)를 어떻게 추적하고 관리하는지에 대한 차이를 나타낸다. | Stateful(유상태) 상태 유지라함은 클라이언트와 서버 관계에서 서버가 클라이언트이 상태를 보존함을 의미한다. 클라이언트와 서버 사이에서 송수신이 일어날 때 서버에서 클라이언트가 이전 단계에서 제공한 값을 저장하..
도커파일(Dockerfile)은 Docker 이미지를 생성하기 위한 설정 파일이다. 이 파일은 Docker가 이미지를 빌드할 때 따라야 할 명령어들과 설정들을 담고 있으며 어떤 소프트웨어를 설치하고, 어떤 환경 설정을 해야 하는지 등을 지정할 수 있다. 도커파일을 통해 애플리케이션과 그 종속성들이 포함된 환경을 일관되게 배포하고 실행할 수 있게된다. 이는 애플리케이션을 다양한 환경에서도 동일하게 작동하는데 도움이 된다. # 사용할 베이스 이미지 FROM ubuntu:18.04 # 작업 디렉토리 설정 WORKDIR /app # 현재 디렉토리의 파일들을 이미지의 /app 디렉토리로 복사 COPY . /app # 필요한 패키지 설치 RUN apt-get update && apt-get install -y py..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vdut9/btsDp4YqMz8/xQBYL8SsU66iiukVhWXvS1/img.png)
API 게이트웨이를 컨테이너로 띄우기 위해 실습을 하고 있다. 도커가 아직 낯설다. 이전에는 이미지가 있고 그 이미지를 바탕으로 독립적인 실행환경인 컨테이너가 만들어진다 정도만 알고 있었다. 여러개의 컨테이너의 설정을 정의하고 구성하는데 사용되는 docker-compose.yml를 뜯어보자 (아래는 유레카 서버를 위한 docker-compose.yml이다) version: "3" services: eureka-server: build: . image: server ports: - 15000:15000 volumes: - ./eureka-server/logs:/logs environment: - TZ=Asia/Seoul ~ 1. version : 이 파일이 사용하는 docker-compose의 버전을 의미..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/FJGY6/btsDh6uJQ7E/KAf3g8C0MnNKdHIgeNip60/img.jpg)
Virtual Box 사용하면서 정말 말도 안되는 사소한 무지때문에 한참 헤멨다. 윈도우 운영체제에서 Virtual Box의 호스트키 단축키를 변경할 때 문제였다. 아무리 단축키를 눌러서 입력을 하려고 해도 입력이 안되고 '없음'이 그대로 남아 있는거다 ㅠㅠ 구글링 계속하는데 딱히 거기에 대한 포스트도 없고 ㅠㅠ (당연하다 왜냐하면 정말 바보같기 때문에) 그냥 단축키 자리에 커서두고 컨트롤, 쉬프트키 누르면 된다^^ 키 이름을 직접 String으로 입력하는게 아니라 키 자체를 인식한다는 의미...! 저 같은 바보가 또 있다면 이 포스트가 도움이 될 것...