분류 전체보기
-
DB 파티셔닝(partitioning) 이란?DB/DB 개념 정리 2020. 1. 22. 15:54
DB 파티셔닝이란 서비스의 크기가 점점 커지고 DB에 저장하는 데이터의 규모 또한 대용량화 되면서, 기존에 사용하는 DB 시스템의 용량(storage)의 한계와 성능(performance)의 저하 를 가져오게 되었다. 즉, VLDB(Very Large DBMS)와 같이 하나의 DBMS에 너무 큰 table이 들어가면서 용량과 성능 측면에서 많은 이슈가 발생하게 되었고, 이런 이슈를 해결하기 위한 방법으로 table을 ‘파티션(partition)’이라는 작은 단위로 나누어 관리하는 ‘파티셔닝(Partitioning)’기법 이 나타나게 되었다. ‘파티셔닝(Partitioning)’기법을 통해 소프트웨어적으로 데이터베이스를 분산 처리하여 성능이 저하되는 것을 방지하고 관리를 보다 수월하게 할 수 있게 되었다...
-
17. 내부 단편화와 페이지 테이블운영체제/운영체제 정리 2020. 1. 20. 18:14
내부 단편화란? 예를 들어 한 페이지 사이즈가 4 byte이고 우리가 올릴 프로세스 사이즈가 15 byte라고 해보자. 그러면 4개의 페이지가 필요할 것. 4 // 4 // 4 // 3으로 3번째 페이징은 한 페이지를 다 못 채우고 1바이트가 남게 될 것 즉 마지막 프레임은 다 채울 수 없게 될 것이고 이는 자신도 쓸 수 없고 다른 프로세스도 쓸 수 없는 작은 공간이 생겨질 것이다. 이를 내부 단편화라고 한다. 페이징을 써서 외부 단편화를 해결했지만 결과적으로 내부 단편화가 생긴 것 그러나 내부 단편화로 인한 메모리 낭비는 미비하다. 아무리 커봐야 한 페이지 사이즈 - 1바이트 정도 이기 때문이다. 따라서 크게 문제는 될 수 없다. 페이지 테이블 만들기 CPU와 메모리 사이에는 페이지 테이블이 있다고 했..
-
백준(BOJ) 16974번 레벨 햄버거알고리즘 풀이/백준(Boj) 2020. 1. 18. 14:45
문제 : https://www.acmicpc.net/problem/16974 16974번: 레벨 햄버거 상근날드에서 오랜만에 새로운 햄버거를 출시했다. 바로 레벨-L 버거이다. 레벨-L 버거는 다음과 같이 만든다. 레벨-0 버거는 패티만으로 이루어져 있다. 레벨-L 버거는 햄버거번, 레벨-(L-1) 버거, 패티, 레벨-(L-1)버거, 햄버거번으로 이루어져 있다. (L ≥ 1) 예를 들어, 레벨-1 버거는 'BPPPB', 레벨-2 버거는 'BBPPPBPBPPPBB'와 같이 생겼다. (B는 햄버거번, P는 패티) 상도가 상근날드에 방문해서 레벨-N 버거를 시켰 www.acmicpc.net 풀이 : 우선 hb [n] 은 n번째 레벨의 전체 재료의 수고 p [n] 은 p번째 레벨의 패티 수로 각 레벨의 전체 재..
-
웹에서의 쿠키와 세션네트워크/네트워크 정리 2020. 1. 18. 01:13
쿠키와 세션을 사용하는 이유는 뭘까? HTTP 프로토콜의 특징이자 약점을 보완하기 위한 하나의 방법이다. 그러면 HTTP 프로토콜의 특징부터 살펴보자. 1) 비연결 지향 ( ConnectionLess ) HTTP는 클라이언트가 서버에 http request message를 보내면 서버는 클라이언트에 요청에 맞게 http response message를 보내고 접속을 끊는다. * HTTP 1.1 버전의 keep-alive 기능은 데이터를 보낸 이후에도 커넥션을 어느정도 유지하는 기능이며 default 설정이다. 네트워크 관점에서 keep-alive는 하나의 옵션이고 ConnectionLess의 연결 비용을 줄이는 것이 장점이기에 비연결지향으 로 알아두는 것이 맞다. 2) 상태 정보를 유지하지 않음 ( St..
-
Http와 Https 의 차이네트워크/네트워크 정리 2020. 1. 18. 00:27
HTTPS (feat. http) HTTPS에 대해 알아보기 전에 HTTP를 간단하게 설명할 수 있으면 좋다. HTTP는 HyperText Tranfer Protocol로 WWW상에서 정보를 주고받는 프로토콜이다. 클라이언트인 웹브라우저가 서버에 HTTP를 통해 웹페이지나 이미지 정보를 요청하면 서버는 이 요청에 응답하여 요구하는 정보를 제공하게 된다. 결국, HTTP는 웹브라우저(Client)와 서버(Server) 간의 웹페이지 같은 자원을 주고받을 때 쓰는 통신 규약이다. http는 텍스트 교환이다. html페이지도 텍스트다. 바이너리 데이터로 되어있는 것도 아니고 단순 텍스트를 주고받기 때문에 누군가 네트워크에서 신호를 가로채어 본다면 내용이 노출된다. 이런 보안상의 문제를 해결해주는 프로토콜이 H..
-
백준(BOJ) 16957번 체스판 위의 공알고리즘 풀이/백준(Boj) 2020. 1. 16. 14:09
문제 : https://www.acmicpc.net/problem/16957 16957번: 체스판 위의 공 크기가 R×C인 체스판이 있고, 체스판의 각 칸에는 정수가 하나씩 적혀있다. 체스판에 적혀있는 정수는 모두 서로 다르다. 체스판의 각 칸 위에 공을 하나씩 놓는다. 이제 공은 다음과 같은 규칙에 의해서 자동으로 움직인다. 인접한 8방향 (가로, 세로, 대각선)에 적힌 모든 정수가 현재 칸에 적힌 수보다 크면 이동을 멈춘다. 그 외의 경우에는 가장 작은 정수가 있는 칸으로 공이 이동한다. 공의 크기는 매우 작아서, 체스판의 한 칸 위에 여러 개의 공이 있을 www.acmicpc.net 풀이 : 각각의 좌표는 8방향을 탐색하면서 가장 작은 좌표를 찾는다. 그리고 가장 작은 좌표를 부모 좌표로 나타낸다...
-
백준(BOJ) 17090번 미로 탈출하기알고리즘 풀이/백준(Boj) 2020. 1. 16. 03:15
문제 : https://www.acmicpc.net/problem/17090 17090번: 미로 탈출하기 크기가 N×M인 미로가 있고, 미로는 크기가 1×1인 칸으로 나누어져 있다. 미로의 각 칸에는 문자가 하나 적혀있는데, 적혀있는 문자에 따라서 다른 칸으로 이동할 수 있다. 어떤 칸(r, c)에 적힌 문자가 U인 경우에는 (r-1, c)로 이동해야 한다. R인 경우에는 (r, c+1)로 이동해야 한다. D인 경우에는 (r+1, c)로 이동해야 한다. L인 경우에는 (r, c-1)로 이동해야 한다. 미로에서 탈출 가능한 칸의 수를 계산해보자. 탈출 가능한 www.acmicpc.net 풀이 : 기본적으로 방문을 시작했을 때 ret = 0으로 두어서 방문할 수 없는 상태를 만든다. 이는 사이클으로 무한루프..
-
TCP와 UDP네트워크/네트워크 정리 2020. 1. 16. 01:39
TCP와 UDP 네트워크 계층 중 전송 계층에서 사용하는 프로토콜 TCP(Transmission Control Protocol) 인터넷 상에서 데이터를 메시지의 형태(세그먼트라는 블록 단위)로 보내기 위해 IP와 함께 사용하는 프로토콜이다. TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리한다면 TCP는 패킷을 추적 및 관리한다. 연결형 서비스로 가상 회선 방식을 제공한다. 3-way handshaking과정을 통해 연결을 설정하고, 4-way handshaking을 통해 연결을 해제한다. 흐름 제어 및 혼잡 제어를 제공한다. 흐름 제어 데이터를 송신하는 곳과 수신하는 곳의 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지하는 것 송신하는 곳에서 감당이 안되게 많은 데이터를 빠르게..