반응형

전체 글 173

[투자 방법 연구] 리밸런싱을 해보자

리밸런싱만으로 자산을 쉽게 늘릴 수 있다.솔직히 '쉽게'라는 말은 잘못되었다.리밸런싱 하더라도 손해 보는 경우가 있기 때문이다.리밸런싱은 정말 간단한 방법이다.싸게 사서 비싸게 판다는 제1원리와자산을 분산투자한다는 제2원리를 이용한 것이다.리밸런싱할 때 주의할 점은,1. 리밸런싱 효과가 나타나려면 오래 기다려야 한다.2. 리밸런싱도 가끔 수익이 마이너스인 시기가 있다.이상 2가지 점을 염두에 두어야 한다.아래 엑셀시트는 나도 인터넷 어딘가에서 구한 것인데, 그것을 내 입맛에 맞게 수정한 것이다.

Dark Reader로 어둡게 보는 방법

모든 웹 사이트가 다크 모드를 지원하면 좋겠지만, 그렇지 않은 웹사이트들도 많다. 당장 내 블로그만 해도 다크 모드를 지원하지 않는다. 흰 배경에 검은 글씨. 프로그래머의 눈이 안 아플래야 안 아플 수가 없는 환경이다. Dark Reader를 이용하면 다크 모드를 지원하지 않는 웹 사이트여도 어둡게 볼 수 있다. 아래 링크에서 자신에게 해당하는 웹 브라우저의 확장을 설치하면 된다.https://darkreader.org/ Dark Reader — dark theme for every websiteDark mode for every website. Take care of your eyes, use dark theme for night and daily browsing. For Chrome and Firef..

카테고리 없음 2024.10.11

AES는 어떻게 15바이트를 암호화할까?

AES는 16바이트 블록 단위로 암호화/복호화하는 알고리듬이다. 근데 이 세상의 모든 데이터가 16바이트로 나누어 떨어지지는 않는다. 그럼 1, 2, 3, ..., 15바이트짜리 데이터는 암호화 못 하는건가? 이상하다. 분명 AES는 표준으로 채택될 만큼 범용성 있는 알고리듬인데, 무작위 데이터가 주어졌을 때 그것을 암호화할 수 있을 확률이 고작 0.0625%(1/16) 밖에 안 된다고? 그럴 리가 없다. 그러면 어떻게 15바이트, 1바이트, 6바이트 등과 같은 데이터들을 암호화하지? 뒤에 0을 붙이나? 사실 그것도 말이 안 된다. 0x10 00 00과 0x10 00, 0x10은 모두 다르기 때문이다. 바이트 0도 엄연히 크기를 차지하는 데이터다. 그럼 대체 어떻게 15바이트를 암호화할 수 있는거지? 나..

암호학 2024.10.08

Python의 단점

1. Static typing을 할 수 없다.def f(x:int)->int: return x+1f("asdf")나한테 파이썬의 가장 큰 단점을 꼽으라고 한다면 단연 dynamic typing이다. 위 코드에서 함수 f는 정수 x를 입력으로 받아 x+1을 반환하는 함수이다. 그런데 여기에 문자열 asdf를 넣는 코드를 작성했다. 컴파일 언어라면 컴파일 자체가 안 되겠지만, Python은 인터프리터 언어다. 따라서, 소스 코드를 꼼꼼히 읽어보지 않는 이상 f("asdf")라는 얼토당토않은 코드를 작성해도 코드를 직접 실행해서 TypeError를 뿜는 것을 보기 전까지는 코드가 잘못되었다는 것을 알 수가 없다. 그리고 프로그램에 분기점이 많아지면, 단위 테스트를 작성하지 않는 이상 모든 코드를 다 실행..

Python 2024.10.03

[SQLite] 동일한 PRIMARY KEY가 이미 있을 경우 INSERT하지 않는 방법

INSERT OR IGNORE INTO를 사용하면 동일한 PRIMARY KEY가 이미 있을 경우는 무시하고 명령어를 실행한다.sqlite> CREATE TABLE IF NOT EXISTS User(Id INTEGER PRIMARY KEY,Name TEXT);sqlite> INSERT INTO User VALUES(1,'Jeff'),(3,'John');sqlite> INSERT INTO User VALUES(1,'Jiff'),(2,'Smith'),(3,'Julia'),(4,'Kotlin');Runtime error: UNIQUE constraint failed: User.Id (19)sqlite> INSERT OR IGNORE INTO User VALUES(1,'Jiff'),(2,'Smith'),(3,'J..

SQLite 2024.10.01
반응형