동기 (Synchronous) vs 비동기 (Asynchronous)
·
카테고리 없음
개요이 글은 bytebytego의 동기 vs 비동기를 참고하여 작성했습니다. https://blog.bytebytego.com/p/synchronous-vs-asynchronous-communication Synchronous vs Asynchronous Communication: When to Use What?At some point, every system has to make a call: Should this interaction happen synchronously or asynchronously?blog.bytebytego.com 프로그래밍을 하다 보면 마주치게 되는 개념인 동기와 비동기, 둘의 개념은 무엇이고 어떠한 차이가 있을까요? 또한 어떠한 상황에서 동기와 비동기 방식을 적용하면 좋을..
가상화 기술과 컨테이너 기술
·
카테고리 없음
개요가상화 기술과 컨테이너 기술은 모두 IT 인프라의 리소스를 효율적으로 사용하기 위한 수단입니다. 가상화 기술과 컨테이너 기술을 사용하면 애플리케이션의 실행 환경의 독립성을 보장할 수 있다는 공통점이 있습니다. 예를 들어 Web Server와 Web Application Server를 독립적으로 운영하기 위해 2대의 컴퓨터를 사용하여 서버를 구축했다고 가정합시다. 그런데 각 컴퓨터에서 리소스의 사용률이 20% 정도라면 굉장히 비효율적인 방식으로 서버를 운영하고 있다는 뜻이 됩니다. 그렇다면 하나의 컴퓨터에서 환경을 분리하여 Web Server와 Web Application Server를 운영하면 어떨까요? 독립적인 컴퓨터 두 대를 운영하는 것 보다는 리소스의 낭비가 줄어들게 됩니다. 이 때 사용하는..
[컴파일러] 컴파일, Tokenizer, lexer, parser
·
카테고리 없음
컴파일컴파일이란 인간이 이해할 수 있는 고수준 언어로 구성된 소스 코드를 컴퓨터가 이해할 수 있는 저수준 언어로 바꾸는 과정이다. 컴파일 과정은 언어마다 다르지만 보통 전처리 → 컴파일링 → 어셈블링 → 링킹으로 구성된다.  그러면 C 언어를 기준으로 gcc를 사용하여 컴파일 되는 과정을 살펴보자. 우선 다음과 같은 hello.c를 만들어보자. #include int main(){ printf("hello world!"); return 0;} 전처리전처리 과정은 본격적인 컴파일에 앞서 소스 코드를 전처리하는 과정이다.헤더 파일 : 외부에 선언된 헤더 파일을 소스코드에 포함시킨다.주석 제거 : 주석을 모두 제거한다.매크로 정의 : #define에 정의된 매크로를 저장하고 해당 매크로 이름을 사용..
웹 사이트 공격 (CSRF, XSS, SQL Injection)
·
카테고리 없음
방화벽네트워크 트래픽 기반 방화벽입니다. 방화벽은 정해진 보안 규칙에 따라 네트워크 트래픽을 모니터링하고 필터링하는 네트워크 보안 장치입니다. 다음과 같은 목저이 있습니다.네트워크나 컴퓨터 주변으로 보안 경계를 형성하여 트래픽 조절트래픽 모니터링트래픽 필터링네트워크 기반으로 network, transport 계층에 해당합니다. 다음과 같은 공격을 막을 수 있습니다.무단 액세스MITM(Man-in-the-middle) 공격 : 중간자 공격. 중간에서 정보를 가로채는 공격.WAF (Web Application Firewall)HTTP 트래픽 기반 방화벽입니다. 외부와 웹 애플리케이션 사이 모든 HTTP 트래픽을 모니터링하고 필터링하는 방화벽입니다. XSS(교차 사이트 스크립팅) 공격, DDoS(분산 서비스 ..
[백준 20667][java] 크롬
·
백준 알고리즘/dp
https://www.acmicpc.net/problem/20667풀이먼저 가장 단순하게 생각해보았을 때 크롬 탭 N개 중 1개, N개 중 2개 ... N개 중 N개를 골라서 목표 이상 cpu, memory를 확보하면서 중요도의 합이 가장 낮은 경우를 고르면 된다. 하지만 이 방법은 2^100이라는 경우의 수가 존재하기 때문에 시간 내에 해결할 수 없다. 다음은 DP를 생각할 수 있다. 가장 기초 냅색 문제인 배낭 문제처럼 dp[i][j][k]의 값을 i번째 크롬 탭까지 고려했을 때 확보한 CPU 사용량이 j이면서 확보한 메모리 할당량이 k일 때 중요도 합의 최솟값이라고 정의하면 된다. 그런데 이 방법 또한 시간 내에 해결할 수 없다. N의 최대 값이 100, M의 최대 값이 1,000, K의 최대 값이..
[PostgreSQL] postgres GIN 인덱스
·
공부/Database
본 포스팅은 다음 블로그 글을 참고하여 작성하였습니다.https://postgrespro.com/blog/pgsql/4261647 Indexes in PostgreSQL — 7 (GIN)We have already got acquainted with PostgreSQL indexing engine and the interface of access methods and discussed hash indexes , B-trees , as well as GiST and SP-GiST indexes. And this article will feature GIN index. GIN "Gin?.. Gin is, it seems, such an Ampostgrespro.com 개요GIN은 Generalized Inv..