본문 바로가기

CS/잡 지식6

Redis vs Memcached 개요 redis와 memcached는 유명한 비교 대상이라 한다. 둘다 in-memory기반 DB이면서, 캐시의 목적으로 사용되기 때문이다. 그럼 이 둘 중 어떤 것을 사용하는 것이 좋을까? 실제로 저 같은 경우는 저번 프로젝트에 캐시의 용도로 redis를 사용하였는데, 과연 이게 memcached에 비해 옳은 선택이었는가 라는 고민이 된다. 일단 이 비교를 아주 잘한 블로그가 있어 이 것을 토대로 참고해 작성해 본다. https://luran.me/359 Memcached vs. Redis - 특징 비교 개요 In-Memory Data Store 관점에서 Memcached냐 Redis냐를 두고 저울질 하는 광경을 종종 보곤한다. 이에 두 솔루션을 비교 정리해 놓는다. 주요 특징 비교 두 솔루션 모두 N.. 2023. 6. 25.
(Nonblocking vs Blocking) vs (비동기 vs 동기) 글의 작성 이유... 논블로킹, 블로킹, 비동기, 동기 그리고 스레드와의 관계에 대해 햇갈리고 깊게 공부해 본 적이 없었다... 그래서 이들의 차이점에 대해 공부를 해보고자 글을 작성하게 되었다. 면접에서도 자주 나오는 CS 이니 꼭 알면 좋을 듯 하다 블로킹 블로킹(Blocking) : 영어 단어 그대로 무언가를 막는다라는 의미이다. 즉 A함수가 실행 도중 B 함수를 호출 시 제어권이 B함수에게 간다라고 생각을 하면 된다. 이렇기에 A는 B가 실행 중인 동안에는 멈춰(블로킹) 되어 있는 상태가 된다. 논블로킹 당연히 논블로킹은 블로킹의 반대라 생각하면 된다. 즉 제어권을 주지 않는다! 라고 생가하면 된다. 그렇기에 A또한 계속해서 실행하게 되는 것이다. 동기 그럼 동기는 무엇인가? 동기와 비동기는 다른.. 2023. 6. 24.
인코딩이란? 인코딩 (Encoding) 사람이 인지가능한 문자(언어)를 약속된 규칙에 따라 컴퓨터가 이해 가능한 언어인 (0과 1)로 이루어진 코드로 바꾸는 작업을 통틀어 말한다고 한다. 즉 정해진 규칙에 따라 코드화, 암호화, 부호화 하는 것을 말한다. 이렇게 인코딩을 하는 이유는 정보의 형태의 표준화, 보안, 저장 공간 절약 등을 위해서 라고 한다. 종류로는 크게 문자 인코딩, 사진 & 오디오 & 비디오 인코딩 이렇게 나누어 진다고 한다. 내가 추가적으로 생각하는 바 위에서는 정의할 때 암호화? 이 부분이 마음에 걸렸다. 왜냐하면 암호화, 보안 관련은 말 그대로 암호화가(encryption) 책임진다. 그래서 둘의 차이에 대해 알아봐야 한다. 인코딩은 일단 사용자가 인지 가능한 데이터를 컴퓨터가 인지 가능한 데이.. 2023. 5. 30.
스레드(2) - 스레드 with Java 본격적으로 스레드에 대해 배워보자 프로세스 실행중인 프로그램 자신의 주소 공간에서 순차적으로 실행되는 스트림 이렇게 정의 내릴 수가 있다. 스레드 프로그램 내의 단일 순차적 제어 흐름 OS 측면에선 각 스레드들은 밑에 내용들로 구성되어 있다. PC (program counter) Register Set Stack 스레드들이 서로 공유하는 것이 있는데 코드 영역 데이터 영역 OS resources ex) open files 싱글 스레드 프로세스 자 보면 스레드 하나가 있고, 위에서 설명한 대로 register, stack, pc(는 안보인다 지금은), code, data, files가 있는 것을 확인 가능하다. 멀티 스레드 프로세스 확실히 차이가 나는 것을 확인이 가능하다. 각 스레드마다 regiset, .. 2022. 12. 26.
728x90