규도자 개발 블로그
무슨 값들을 상수(constant)로 지정해야할까? 정답은 간단하다. 바로 프로그램 시작부터 종료때까지 바뀌지 않아야 하는 값들을 상수로 지정해야 한다. 보조기억장치에 있는 프로그램을 실행시켜 주기억장치인 메모리에 올라가면 그것은 프로세스가 된다. 이런 프로그램의 생애주기에 있어서 프로세스가 종료되기 전까지 같은 값을 갖고 있어야만 하는 것들, 그것을 곧 상수(constant)로 지정해야 한다. 어쩌면 같은 어플리케이션이라 할지라도 실행환경이나 작동환경, 그리고 작동 조건에 따라 값들이 달라질 수는 있다. 하지만 값이 달라질 수 있을 지언정 그 프로그램이 프로세스가 되어 종료되기 직전까지 같은 값을 갖고 있어야 하는 것이라면 상수로 지정해야 한다.
금융수학 그릭스(Greeks) 1. 알파(alpha) 금융권에서 쓰이는 그릭스(Greeeks)란 옵션 가격결정 함수의 변수 중 하나를 가리키는 문자이다. 옵션의 가격 결정함수는 S, K, r, T, t, σ라는 모수와 변수들로 이루어진 함수이다. 포트폴리오의 가치나 옵션 가격을 이 모수들과 변수들로 미분한 것을 그릭스라고 한다. Greeks라 불리우는 이유는 이 미분함수들이 △, Γ, Θ, ν, ρ의 그리스 문자로 이루어져 있기 때문이다. 이와 더불어 알파는 위에서 말하는 옵션가격 결정함수의 그릭스에 포함되지 않는다. 그렇다면 알파가 의미하는 것은 무엇인가. 알파는 평균시장성장률 대비 초과수익률을 의미한다. 특정 PB나 펀드매니저, 혹은 포트폴리오가 운용되는 주 필드가 있고 그 필드의 성장률보다 그 자산..
github actions로 자동 1일 1커밋 봇 만들기 그냥 재미있는 생각이 들었다. 1일 1커밋을 생활화하려는 개발자들이 있지만 그게 또 힘드니 이걸 github actions로 해결하면어떨까(?)하는 그런 생각 말이다. 알다시피 github actions에는 PR이나 push등의 이벤트에만 작동하는 것이 아닌, 일정 시간마다 작동하는 workflow또한 작성할 수 있다. 진짜 간단한 scheduled.yml을 작성해보자. 아, 모든 과정은 내가 인프라 공부할 때 사용하는 https://github.com/jujumilk3/infra-study 이 레포지토리에서 진행할 것이니 행여 나중에 진행과정을 참고할 사람이 있다면 해당 저장소의 커밋 내역을 따라가보면 될 것이다. 그리고 Actions칸에 있는 ..
[프로그래머스/Level2/파이썬3(python3)] 카펫 문제 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 카..
docker, cronjob 하는 container 만들기 + supervisor, 환경변수 적용하기 일단은 간단한 cronjob을 수행하는 container를 만드는 Dockerfile을 작성해보자. 과정은 내가 자주 사용하는 python을 base image로 진행하겠다. # Dockerfile FROM python:3.9 WORKDIR /home/docker/code RUN apt-get -qq update \ && apt-get -qq install -y --no-install-recommends \ cron \ && apt-get -qq autoremove \ && apt-get -qq clean COPY . /home/docker/code RUN cp /home/docker/code/cronj..
[프로그래머스/Level2/파이썬3(python3)] n^2 배열 자르기 문제 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다. 새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다. 정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return..