전체 글 178

한국투자증권 websocket 응답 복호화하는 방법

https://apiportal.koreainvestment.com/apiservice-apiservice?/tryitout/H0GSCNI0 KIS Developers한국투자증권 Open API 포탈apiportal.koreainvestment.com 실시간체결통보를 구독하기 위해 다음과 같은 문자열을 보낸다.{ "header": { "approval_key": "your key", "tr_type": "1", "custtype": "P", "content-type": "utf-8" }, "body": { "input": { "tr_id": "H0GSCNI0", "tr_key": "your hts id" } }} 그럼 한국투자증권 서버에서..

카테고리 없음 2026.01.21

Python smtplib 메일 전송

smtplib는 메일 전송을 하는 데에 사용할 수 있는 라이브러리다. 네이버네이버 메일의 경우 아래처럼 작성하면 된다.import smtplibHOST="smtp.naver.com"PORT=587USER="YOUR_ID@naver.com"PASSWORD="YOUR_APP_PASSWORD"TO_ADDR="example@example.com"MSG=f"From: {USER}\r\nTo: {TO_ADDR}\r\n\r\nHello, World!"with smtplib.SMTP(HOST, port=PORT) as smtp: smtp.set_debuglevel(1) smtp.starttls() smtp.login(USER, PASSWORD) smtp.sendmail(USER,TO_ADDR,M..

Python 2026.01.04

nohup 사용법

기본적으로nohup 2>&1 >> log.txt &라고 입력하면, 표준 에러(2)를 표준 출력(1)으로 리다이렉트시키고, 그것을 log.txt에 append하여 실행한 command의 프로세스가 쉘 종료 뒤에도 계속 남아있게끔 해준다. 또한, echo $!를 하면 방금 nohup &으로 실행한 백그라운드 프로세스의 PID를 알아낼 수 있다. 이를 응용하면 아래와 같은 bash script를 작성할 수 있다. #!/bin/bashis_running=0if [ -s pid.txt ];then running_pid=`cat pid.txt` if ps -p $running_pid > /dev/null then is_running=1 fifiif [ a$1 == ak ];then if [ $is_running..

ubuntu 2025.12.18

Merge sort 때문에 시험을 망쳤다.

C언어로 코딩하는 시험이었다. 과거 첫 번째 시험과 두 번째 시험 모두 100점을 받았기에, 세 번째 시험을 위해 별 준비를 안 해도 무리 없이 다 풀 수 있을 거라고 생각했다. 교수님이 정렬 알고리듬 구현이 필요하다고 말했지만 미래의 내가 백준으로 단련한 실력으로 알아서 어떻게든 하겠지 하고 준비를 안 했다. 이때 준비를 했어야 했는데... 그냥 강의 자료에 파일 입출력만 대충 훑어보고 자버렸다. 시험 시간은 약 2시간 30분 정도 주어졌다. 시험이 시작하고 문제지를 보니 문제는 총 세 문제였다. 어쩐지 오늘따라 머리가 좀 어지러운 것 같았다. 잠을 너무 늦게 잤나. 첫 문제는 구현하기 약간 까다로워서 건너뛰었다. 나중에 시간 남을 때 다시 돌아올 셈이었다. 두 번째 문제는 정렬이 필요한 문제였다. 문..

카테고리 없음 2025.11.25

git alias

1. vim ~/.gitconfig 명령어로 .gitconfig 파일에 다음과 같은 alias를 마음껏 추가할 수 있다. 들여쓰기는 해도 되고 안 해도 된다. [alias]l = log --onelined = diff -ws = status -st = ls-tree --full-tree --name-only -r HEADh = diff -w HEAD 2. git config 명령어로도 alias 추가가 가능하다.https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-Git-Alias Git - Git Alias이것으로 쉽게 새로운 명령을 만들 수 있다. 그리고 Git의 명령어뿐만 아니라 외부 명령어도 실행할 수 있다. ! 를 제일 앞에 추가하면..

카테고리 없음 2025.10.09

[Java] Calendar로 오늘 날짜에 7일 더하기

1. calendar.add(Calendar.DATE, 7); 을 입력하면 캘린더 날짜에 7일을 더할 수 있다.2. 날짜를 출력하려면 calendar.get 메소드로 일일이 연도, 월, 일을 구해줘야 하는 것 같다. 참 번거롭다.3. get 메소드로 MONTH를 받아올 땐 1월이 0, 2월이 1, 3월이 2...에 대응되므로, 날짜 출력 시에 1을 더해줘야 한다. import java.util.Calendar;public class tmp1 { private static void f(Calendar c){ System.out.println(c); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH..

카테고리 없음 2025.10.09

Get euc-kr in .NET 8.0

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);Encoding euckr = Encoding.GetEncoding("euc-kr"); .NET Framework 4.8.1에서는 Encoding.GetEncoding("euc-kr");만 쓰면 된다. 하지만 .NET 8.0에서는 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);을 쓰지 않을 경우, GetEncoding 호출 시 다음과 같은 exception을 발생시킨다. System.ArgumentException: 'euc-kr' is not a supported encoding name. For information on def..

C# 2025.08.15

Dynamically replace the contents of a C# method?

https://stackoverflow.com/a/42043003/14367566 Solve(int n, DEvent callback) { ..." data-og-host="stackoverflow.com" data-og-source-url="https://stackoverflow.com/a/42043003/14367566" data-og-url="https://stackoverflow.com/questions/7299097/dynamically-replace-the-contents-of-a-c-sharp-method" data-og-image="https://blog.kakaocdn.net/dna/b1nfIX/hyZygOZGMP/AAAAAAAAAAAAAAAAAAAAABC8mQ18NsFSv9WftT-hVSQEVkHfxOoEMMR6eX4kps_W/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1790780399&allow_ip=&allow_referer=&signature=h6aiRJbP05ATw7H38ninqAS5qA0%3D

C# 2025.08.14