All
13 posts
Redis 데이터타입

Redis란 Redis는 Remote Dictionary Server의 약자로, 인메모리 데이터베이스입니다. 인메모리 데이터베이스란 데이터를 디스크나 SSD가 아닌 메모리에 저장하는 데이터베이스를 말합니다. 이렇게 하면 디스크 I/O를 줄여서 빠른 응답 속도를 얻을 수 있습니다. Redis는 단순한 키-값 저장소가 아니라 다양한 데이터 타입을 지원합니다. 이번 포스트에서는 Redis의 주요 데이터 타입과 그 사용법에 대해 알아보겠습니다. Sentinel vs Cluster : Redis 인스턴스를 모니터링하고, 마스터 선출, 자동 장애 조치, 알림 등의 기능을 제공 : Redis 인스턴스를 여러 개의 노드로 분산시켜 데이터를 저장하고, 자동 장애 조치, 샤딩(Sharding) 등의 기능을 제공 특징 Redis Sentinel Redis Cluster 고가용성 마스터 선출, 자동 장애 조치 자동 장애 조치 분산 방식 단일 노드 여러 노드 샤딩 지원하지 않음 지원 데이터 구조 다양한 …

인증과 전자서명

양방향 암호화 내가 보낸 데이터를 하는게 목적 이때, 암호화 키를 교환하기 위한 방식으로 다시 2가지로 나뉨 대칭키 vs 공개키(비대칭키) 암호화 방식 대칭키 공개키(비대칭키) 설명 암복호화에 사용되는 키가 동일 암복호화에 사용되는 키가 다름 대표 알고리즘 DES,AES,SEED RSA,DSA 장점 빠름 느림 단점 키교환의 취약성 키교환의 안정성 공개키 암호화 활용 키가 2개라는 거지 어떤걸 공개키로 사용해도 무관 상대에게 주는 것 , 내가 가지는 것 2가지 방식으로 활용이 가능 내 로 복호화: 누구나 암호화된 메시지를 보내고, 나만 열어 볼 수 있음 내 로 암호화: 누구나 복호화하여 볼 수 있는 메시지를 받고, 나만이 만들 수 있음 단방향 암호화 복호화가 불가능한 해시를 생성하고 이 값으로 변조되지 않았음을 증명 활용하는 대표적인 사례 몇 글자 다른지 알면 양방향으로 저장하는 것 대표적인 알고리즘 MD5, SHA128, SHA256, SHA384, SHA512 참고로,…

입만 열면 손해보는 사람들을 위한 대화책

난 회사 라이브러리를 종종 애용하는데, 가끔은 기술책이 아닌걸 빌릴때가 있습니다. 신간이 들어왔다고 메일이 왔길래 우연히 보게된 책의 제목이 흥미로워서 빌리게 된 책이에요. 어쩌면 지금쯤 나에게 뭔가 필요하다고 느껴지는 책인거 같았습니다. 저자는 일본인입니다. 그러다 보니 책의 곳곳에 일본식 대인관계를 기반으로 한 내용들이 종종 보였습니다. 그런 몇가지 점을 제외한다면 이 책에서 말하고자 하는 메시지는 큰 맥락에서 통한 것 같습니다. 결론부터 말하자면 가 핵심입니다. 집중해야 할 키워드는 안심감과 자기중요감 책의 초반부에 이미 핵심 키워드가 모두 나와있습니다. 뒤쪽에 할애된 분량은 이에 대한 상세한 가이드와 같습니다. 크게 로드맵을 짜주고 이제 상세한 내용으로 구술하는 식의 책의 구성이 참 마음에 들었습니다. 1부에서 이렇게 방향을 잡아주고 2부와 3부에서 몇가지 방법을 제시합니다. 2부. 안정감을 주는 스킬 절대 부정하지 마라 이야기를 끝까지 들어라 미소를 지어라 타인을 뒤에서 …

NFT 민트 개발

이 포스트는 NFT를 직접 개발하기 위한 내용을 담고 있습니다. 개발 환경 Hardhat dApp 개발 프레임워크 대체 가능: Truffle 후발주자로서 보다 사용이 더 쉽다고 함 Alchemy 블록체인 개발 플렛폼: dApp을 만들어 블록체인 연동을 쉽게 할 수 있도록 도와줌 대체 가능: Infura Metamask 암호화폐 지갑 & 블록체인 앱 연동 툴 대체 가능: Coinbase Wallet, WalletConnect, Fortmatic 등 Ropsten Test Network 이더리움 테스트넷 중 하나 대체 가능: Kovan, Rinkeby, Goerli 사전 준비 metamask 지갑 faucet 충전 개발 스마트 컨트랙트 NFT 민트 지갑에 넣기

Jekyll에서 Gatsby 블로그로 변경

이미 얼마 전부터 블로그를 손봐야 겠다는 생각은 많이 했었습니다. 그동안 설치형 블로그를 많이 사용했었습니다. 블로그를 적극적으로 하는 스타일은 아니지만 그래도 꽤 오랫동안 다양하게 사용해 봤습니다. 블로그 짬밥 도구 형태 언어 특징 1 태터툴즈 설치형 PHP 학부 시절 순수 PHP에 대한 재미로 국산 블로그 소프트웨어 설치하면서 시작 2 티스토리 서비스 호스팅, DB 관리가 귀찮아서, 태터툴즈 DB를 티스토리 서비스로 마이그레이션 3 워드프레스 설치형 PHP 세계적으로 검증된 CMS 툴로서 설치형을 지원 4 워드프레스 서비스 호스팅, DB 관리가 귀찮아서역사의 반복, 워드프레스 서비스형으로 데이터 이관 5 Hugo 설치형 Ruby 정적 사이트 생성기라는 신선한 개념을 처음 알게되고 개별 포스트를 작성 6 Jekyll 설치형 Ruby Markdown 편집이라 개발자 친화적이며 호스팅 없이 gh-phage 활용 가능관련글: Wordpress 블로그 Jekyll로 가져오기 Jek…

자바스크립트는 모든 곳에 존재한다

자바스크립트 언어를 알고 지낸지는 꽤 오래이지만 가장 따라가기 어려운 언어이기도 합니다. 컴공과 신입생 시절에 만든 HTML 홈페이지에서 사용해본 자바스크립트아마도 팝업에서부터 HTML5 웹앱이 떠오르는 시절 회사에서 만든 웹앱으로 본격적으로 개발해 본 것 까지… 하지만 그러고도 10년이 지난 지금의 자바스크립트는 정말 빠르게 변하고 달라지고 있는 언어입니다. 요약 꽤 오랜시간 FE(Frontend) 기술을 잊고 지냈습니다. 이직도 하고 업무의 종류가 바뀌면서 대부분은 BE(Backend)에서만 개발했기 때문입니다. 그래서 다시 FE 기술을 따라가기도 겁나고 React, Angular, rxJS 등 용어만 들어도 언제 저걸 다시 공부하나 하는 생각도 들었습니다. 그랬던 나에게 이 책은 딱 좋은 도서였습니다. 추천하는 책 완전 초보자가 봐도 괜찮은 책입니다. 그렇지만 이 책의 진가는 나와같이 자바스크립트를 한번 정도는 다뤄봤던 사람이라면 더 좋은 동기부여와 영감을 받을 수 있습니다…

파이썬을 여행하는 히치하이커를 위한 안내서

파이썬 프로젝트 구조를 어떤 식으로 만들면 좋을까 구글링 하다가 찾은 사이트 가 있습니다다. 뭔가 바이블 같은 느낌이기도 해서 다른 페이지도 구경하다가 이게 책으로도 나온걸 알게 되어 구입하였습니다. 한국어 번역명은 이 책의 포지션을 말하려니 좀 애매하네요. 앞부분은 입문서에 가까운데 뒤로 가면 갑자기 숙련서가 되는 느낌입니다. 그래서 파이썬을 이제 막 공부하는 사람에게 추천하기도, 잘 아는 사람에게 추천하기도 어중간한 지점에 있어요. 책의 구성 전체적인 흐름은 아래와 같습니다. 들어가기 인터프리터 및 설치에 대한 상세한 가이드 개발환경 구성을 위한 다양한 방법 소개 일반 입문서 내용과 비슷하나 다양한 구성 (★★★★★) 훌륭한 코드 작성하기 PEP8, PEP20, 컨벤션, 모듈화 설명 코드 작성을 위한 유용한 정보로 구성 (★★★★★) 훌륭한 코드 읽어보기 잘 알려진 오픈소스 코드를 읽어보면서 좋은 점들을 짚어줌 좋은 내용이지만 갑자기 난이도 상승 (★★★★☆) 훌륭한 코드 …

파이썬 시스템 트레이딩

파이썬과 인연 내가 파이썬을 알게된 건 꽤 오래전입니다. 컴퓨터공학과 학부시절 리눅스에 빠져 있을 때, 이라는 잡지를 통해서 알게 되었습니다. 그때 내 눈길을 사로잡은 건 바로 이 코드 엄청 흥미로웠습니다. 나는 이 직관성이 너무 마음에 들었습니다. Zen of Python 도 좋았습니다. 그리고 파이썬을 공부했습니다. 그런데 내가 파이썬을 쓸 일은 그리 많지 않았습니다. 우리 학교 학부과정은 C언어 위주로 되어 있었고, 사회로 나와선 Java로 개발을 했습니다. 파이썬은 오로지 가끔 새로운 것이 나오면 인터넷을 통해 정보를 얻고, 따라해 보고, 매년 파이콘을 참석하는 정도가 전부였습니다. 나에겐 지속적으로 붙잡고 있을 파이썬 프로젝트가 하나 필요했습니다. 때마침 서점에서 우연히 구입하게 된 책 시스템 트레이딩 사실 이 책이 아니더라도 파이썬 시스템 트레이딩은 이미 인터넷에 정보가 많이 있습니다. 책에서는 이것저것 다루지만 정작 중요한건 증권사 연동과 이를 활용한 방법에 대한 …

Kafka SASL 컨슈머 설정

Kafka 설치 Mac 기준으로 를 이용하여 설치 후 서비스로 구동합니다. SASL 컨슈머 설정 는 간단하게 username, password 기반으로 인증을 수행하는 방식입니다. 컨슈머에서의 설정은 파일이다. 로 설치된 기준이며, 경로는 환경에 따라 다를 수 있습니다. 컨슈머 실행 위 설정한 이용하여 읽고자 하는 토픽을 컨슈밍 시작합니다.

만약 고교야구 여자 매니저가 피터 드러커를 읽는다면

1년 가까이 회사 책상 위에만 놔뒀던 책을 오늘에야 읽었습니다. 한번 잡고 3시간 정도 걸려 완독했는데 시간이 금방 지나갔네요. 이렇게 재미있는 책이었을 줄은 몰랐습니다. 경영학에 대해선 문외한입니다. 대학시절 경영학과 수업 를 수강해 본 적은 있지만. 가 누군지도 모르겠지만 고교 야구 여자 매니저가 영감을 받아 야구부를 성공시키는 그저 뻔한 이야기겠거니 했었습니다. 읽어보니 뻔한 이야기 전개는 맞네요이게 뭔. 근데 이 책이 가지는 힘은 그 뻔한 이야기의 큰 틀 안에 어려운 경영학 이론을 구석구석 흡입력 있는 이야기로 구성해 놓았다는 것입니다. 경영학 기초 과정으로 어려운 용어들 잔뜩 섞어 가며 배울 내용을 2-3시간 정도 흥미로운 영화 한 편으로 만든 것 같아요경영학 이야기인데 마지막에 슬픈 이야기는 반칙 아니오 ㅠ. 느낀점 고객이 누구인지 파악하라 이 책의 가장 출발이 되는 명제이기도 하면서 의 에서도 기본 골자로 하는 질문이기도 합니다. 이미 여러 좋다는 강의에서 수없이 들…

Mac 개발환경

Mac은 brew와 같은 CLI 기반의 패키지 관리 도구 덕분에 개발환경을 구축하기 편합니다. 여기에 iCloud를 사용하면 로컬 환경을 간편하게 클라우드 환경으로 옮겨놓을 수 있습니다. 출발하기 brew 설치 Mac이나 Linux로 개발하다가 Windows 환경을 다시 못돌아가는 이유가 2가지 있는데, 하나는 터미널이고 나머지 하나가 패키지 관리자입니다. 터미널은 Windows에서 PowerShell을 지원하면서맘에는 안들지만 어느 정도 해결은 되었는데, Windows에선 아직 쓸만한 패키지 관리자를 보진 못했습니다. 레드햇 리눅스에서는 rpm에서 업그레이드 된 yum을 사용하고, 데비안 계열의 우분투 리눅스에서는 dpkg에서 업그레이드 된 apt를 사용합니다. 리눅스에서는 port와 brew 2가지 선택지가 있는데, 둘의 차이는 소스를 직접 빌드하거나 혹은 이미 빌드된 바이너리를 그냥 받느냐입니다. yum, apt와 마찬가지고 그냥 바이너리를 다운받는 brew가 빠르고 더 편…

훌륭한 프로그래머 되는 법

도전적인 문제에 적극적으로 임하는 자세는 진부한 모습이 되지 않도록 해 줄 것이다. 아무도 진부한 프로그래머를 좋아하지 않는다. 저마다 책을 읽을 때 꽂히는 문장이 하나씩 있을텐데, 나는 2/3 정도 읽었을 때 저 문장이 그랬습니다. 제목부터 느껴지는, 보통의 자기개발서 같은 목차대로 책은 서술합니다. 여느 자기개발서들과 마찬가지로 적절한 명언과 적절한 법칙과 같은 것들이 적절하게 요약되어, 읽으면서 “아 그렇구나” 하게 만들지만 책을 덮을 시점에는 다시금 현실과의 괴리감에 공허해 지기도 합니다. 그래서인지 자기개발서를 읽고 났을 때 필름의 잔영처럼 무언가 내 머리 속에 새겨져 남긴 것이 있다면 난 이 책을 통해 무언가를 얻은 거라 생각하게 됩니다. 이 책은 경력 14년차 진부 해지고 있던 나의 마음에 잔잔한 동요를 일으켰습니다. 그 동안 내가 잊고 있던 아니 애써 감쳐 두었던 것을 끄집어 냈습니다. 배움에 대한 열정이 그것이죠. 사회 초년생 때에는 이런 류의 서적을 좋아하지 않…

SSL 인증서 생성

맥 환경의 이용하여 설치한 경로를 기준으로 함 작업 위치는 루트 인증서 생성 순서 root 인증서 생성 SSL 인증서 생성 nginx 적용 설정 파일 샘플 /etc/pki/tls/conf/rootca_openssl.conf /etc/pki/tls/conf/host_openssl.conf