profile
CS 박제

C++ 문자열 처리

프로그래머스 문제 풀다가 , 문자열 처리에서 꽤 난감했었다.C++를 좋아하지만 문자열 처리가 편리하지만은 않은데 한번 C++로 문자열을 다루는 방법을 짚고 넘어가보자C++쓰면서 string만 잘 사용해도 , 꽤나 문자열 처리가 편리해진다. 기존 C에서는 1바이트 Cha

2023년 10월 28일
·
0개의 댓글
·
post-thumbnail

메신저앱 작동원리

그냥 우연히 든 생각... 1대1 채팅같은 경우 (e.g. 텔넷) 서로의 연결이 성립되어 있으니까 언제든지 양방향 통신이 가능하다. 근데 , 그럼 '카카오톡' , '페이스북 메신저'와 같은 app들은 어떻게 A->B로 메시지를 보내면 바로 B에게 푸쉬를 해주지?Webs

2023년 9월 11일
·
0개의 댓글
·

[알고리즘]KMP

100만개의 사이트가 담긴 아스키 파일을 바탕으로 , NFqueue를 이용해서 HTTP 요청의 패킷이 해당 100개의 사이트 중 하나면 차단을 시켜야했다. 나는 그냥 Unordered_map ( 이하 , 해시맵 ) 을 사용해서 차단시킬라 했는데 익명의(?) 코딩천재 1

2023년 9월 10일
·
0개의 댓글
·

[운영체제]Fork & Exec

Unix의 프로세스의 실행 흐름을 알아보자

2023년 9월 8일
·
0개의 댓글
·
post-thumbnail

[파일시스템]MBR

컴퓨터에 전원이 들어오면, 바이오스가 BootSector(0x00..)에서 부트로더를 메모리에 적재한다 MBR Master Boot Record , 이하 MBR은 하드디스크 0byte에서 512byte에 존재한다. 한 개의 sector는 512byte이므로 첫 번째

2023년 9월 6일
·
0개의 댓글
·
post-thumbnail

[3장] 메모리 관리 개요

운영체제의 메모리 관리에 대해 알아보자 CPU의 L1캐시와 L2 캐시는 매우 빠른 IO타임을 가지고 있지만 , 비싸다 ... '최근에 쓰인 값은 다시 쓰일 가능성이 높다!' 라는 논리적(?)추론에 의거하여 LRU 정책을 기반으로 캐시를 관리한다. 만일 메모리에 단 하나

2023년 9월 6일
·
0개의 댓글
·

파일디스크립터

fopen 등의 함수를 사용해서 파일을 읽어올 때 , 파일디스크립터를 받아오는 건 알고 있었지만 정확히 무슨 개념인지는 잘 이해를 못하고 있었다. Unix의 경우 모든 자원을 file로서 관리하기 때문에 , Unix 시스템에서 프로세스가 이 파일들을 접근할 때 파일 디

2023년 9월 6일
·
0개의 댓글
·

컴파일러 구조체 패딩 이슈

진짜 간단한 과제인데 , 우리 g++ 컴파일러의 구조체 패딩덕분에 약 6시간을 삽질... FAT32 파싱 코드를 짜는데 이상하게 sizeof(BootRecord)를 사용하니 64바이트가 아니라 68바이트가 나왔다. 나는 당연히 구조체의 데이터 집합이 64바이트이므로

2023년 8월 7일
·
1개의 댓글
·
post-thumbnail

TCP-KeepAlive

Splunk 쿠리 및 인풋 스크립트를 짜다가 , 100개 이상의 쿼리를 날릴 시 TCP Keep Alive 세션유지를 할때와 단순 TCP 연결과 해제를 반복할 경우의 성능차이가 궁금해졌다.request모듈을 이용해서 단순 쿼리를 100번 날릴경우, 200초 이상이 소요

2023년 7월 24일
·
0개의 댓글
·

QuickSort Optimization

퀵 소트 알고리즘 최적화하기 500만개 random 난수 int array를 퀵 정렬 실행 python의 sort 및 sorted와의 실행시간을 비교해본다. quickSort1 0번째 index를 pivot으로 left,right를 만들어 swap을 반복 공간복잡도

2023년 7월 14일
·
0개의 댓글
·
post-thumbnail

64비트 마이그레이션 취약점

32비트 아키텍처에서 문제가 없는 코드가, 64비트 아키텍처에서는 문제를 발생시킬 수 있다. 다음의 논문을 요약한다 **Twice the Bits, Twice the Trouble: Vulnerabilities Induced by Migrating to 64-Bit

2023년 7월 3일
·
0개의 댓글
·
post-thumbnail

DataMining

데이터 마이닝 예시를 통해 실습해보자 Basket Data 각 레코드는 소비자와 shop 사이의 transaction을 나타내고 있다. 20개의 레코드가 존재하며 shop은 9 개의 상품을 판매하고 있다. Discovering Rules 여기서 의미하는 'rul

2023년 6월 13일
·
0개의 댓글
·
post-thumbnail

[DW] DataWarehouse

레거시 데이터 ( RDBMS ) , 멀티 미디어 데이터 등을 한데 묶어서 어떻게 관리할 수 있을까?데이터 웨어하우스(data warehouse)란 사용자의 의사 결정에 도움을 주기 위하여 기간시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이

2023년 6월 12일
·
0개의 댓글
·
post-thumbnail

[27장_d] XML

XML 데이터를 저장하고 전달하기 위해 디자인 된 언어 ( like html ) 어플리케이션에 의해서 쉽게 사용될 수 있음 SemiStructured Data (SSD) 다른 소스들의 Data의 통합체 비교적 덜 엄격한 구조 XML JSON Semi-stru

2023년 6월 12일
·
0개의 댓글
·
post-thumbnail

[22장_b] 분산DB

Data가 분산되어 저장되어 있을 수 있다. 각 DB는 DBMS에 의해 독립적으로 관리된다. 각 분산 Data는 독립적이어야 하며 원자성을 보장 받아야 한다. Homogeneous 각 site의 DB가 같은 type의 DBMS에 의해서 관리된다.Heterogeneou

2023년 6월 12일
·
0개의 댓글
·
post-thumbnail

[22장_a] 병렬 DB

병렬적인 Data 처리는 , Bandwidth의 증가로 인해 처리율을 높여준다. 병렬적인 DataBase의 아키텍처와 데이터 처리 방법에 대해 알아보자.병렬성이 증가할 수록 초당 TX 처리율은 높아진다.TX당 걸리는 같다.Shared Memory 구조 : Memory를

2023년 6월 12일
·
0개의 댓글
·
post-thumbnail

[18장] 크래시 리커버리

만일 TX의 Commit 도중 예상치 않게 Crash가 발생했다면 ( 컴퓨터가 꺼진다던지) 어떻게 해야할까? DBMS의 Recovery Manager 컴포넌트가 log를 통해 crash를 복구해 줄 것이다.DBMS의 보장 사항 Atomicity : TX의 모든 acti

2023년 6월 12일
·
0개의 댓글
·
post-thumbnail

[17장] 동시성 제어 (2)

다중 세분도 잠금 프로토콜 다중 세분도 잠금 프로토콜은 아래와 같다. TX이 특정 node에 대해 lock을 획득하고자 한다면 , tree의 root부터 시작해서 내려와야 한다.

2023년 6월 12일
·
0개의 댓글
·
post-thumbnail

[17장] 동시성 제어 (1)

인터리빙한 TX 스케줄에서, 우리가 운영체제에서 배웠던 것 처럼 Race condition , Deadlock 등등 비일관성 문제가 발생할 수 있다. 이런, TX의 동시성에 의해 발생하는 비일관성 문제를 해결할 수 있는 방법들을 알아보자 T1이 A를 가장 마지막으로 w

2023년 6월 11일
·
0개의 댓글
·
post-thumbnail

[16장] 트랜잭션 관리 개요

동시적인 TX 수행은 DBMS 퍼포먼스 향상에 필수적인 부분이다.그러나, TX을 동시에 수행한다는 것은 ( 운영체제에서도 알 수 있듯이) 공유된 자원에 대한 동시 접근이다. 이런 동시성 문제를 어떻게 해결할 수 있는지 살펴보자DBMS에 의해서 동시적인 TX이 제어되고

2023년 6월 11일
·
0개의 댓글
·