REST

최근 HTTP/URL 등 다시 공부하면서 REST에 대해서 정리. REST API는 REST를 기반으로 만들어진 API를 의미함 REST(Representational state transfer) = 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미. HTTP URI를 통해 자원을 명시하고 HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 이용하여 해당 자원에 CRUD 적용(Representations)하는 것 CRUD Create 데이터 생성(POST) Read 데이터 조회(GET) Update 데이터 수정(PUT, PATCH) Delete 데이터 삭제(DELETE) 중심 규칙은 – URI는 정보의 자원을 표기해야한다 – 자원에 대한 행위는 HTTP Method로 표현한다....

November 9, 2022 · 2 min · Nirvana kim

클린 코드를 위한 테스트 주도 개발 오류편

Deprecation 에러 처리 기존 예제에는 firefox로 처리하라고 되어있으나 따로 설치하기도 그렇고 크롬으로 테스트하는게 마음이 편하니 크롬으로 설치하게끔 처리하였다. 크롬드라이버 버전 다운로드는 사용하고 있는 크롬 버전에 다음 URL에서 받자. https://chromedriver.chromium.org/downloads 물론 크롬드라이버를 다운받아 테스트하는 방법도 있으나 또 설치되어있는 크롬버전과 맞춰서 크롬드라이버를 다운로드 받아야하는 삽질이 있으니, 아래의 방법을 이용하도록 하자. $ pip install webdriver-manager webdriver-manager 패키지를 설치 from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager chrome_options = webdriver....

June 26, 2022 · 4 min · Nirvana kim

Windows Python 개발환경 설정

PowerShell과 터미널 미리보기 사용하기 2022년 글을 업데이트하는 시점에서 Powershell 최신버전은 7.3.0이다. winget으로 최신 버전을 쉽게 설치하자. winget install --id Microsoft.Powershell --source winget 다음의 링크에서 터미널 미리보기를 설치하자. Pyenv 설정 Windows 11에서 다시 한번 Python 세팅을 적어본다. 막상 파이썬을 설치하고보니 pyenv 세팅을 까먹고 있었다. Mac 환경에서 brew를 사용했을때는 brew install pyenv했으면 끝났으나 개발환경이 Windows 11이니 맞춰서 사용하도록 하자. 찾아보니 포크 프로젝트로 Pyenv-win가 있었다. Powershell에서 다음 명령어를 입력한다. Invoke-WebRequest -UseBasicParsing -Uri "https://raw....

June 15, 2022 · 1 min · Nirvana kim

다시 돌아온 삽질

삽질 삽질 하나만큼은 기가막히게 하는 사람. 문서화 개판으로 하는 바람에 새로 만들고 엎는 사람. 바로 나 2022년 블로그 포스팅을 하겠다고는 마음먹고 새로 하려다가 기존의 블로그 수정이 안되겠다 싶어 Blogdown/Rstudio로 다시 만들었다. 물론 이번 블로그도 동일한 언어/플랫폼으로 만들었지만 이전보다 유지보수 및 설정이 쉽고 어디서든 배포가 가능하게끔 만들었다. 테마는 Hugo-paper에서 개선시킨 Hugo PaperMod다. 만일 다시 다른 컴퓨터에서 작성한다면 개인 private 저장소를 복제한 후 블로그다운 라이브러리 설치 후 불러와서 사용하면 된다. install.packages("blogdown") library(blogdown) install_hugo() blogdown::serve_site() 까지는 동일하다....

June 15, 2022 · 1 min · Nirvana kim

클린 코드를 위한 테스트 주도 개발 기초편

TDD with django for 5.0 2022년 와서 이 책을 볼려고 한다면 파이썬 3.7버전 혹은 3.8버전까지 사용하길 바란다. 3.9버전부터는 파이썬 기본라이브러리인 ’collection’이 바뀌는 변경점이 있기 때문이다. 2023년 말에 다시 확인해보니 해당 문제가 해결된것으로 보인다. 5.0버전에서도 문제없이 실행된다. 게다가 예전과 달리 맥북에서 사용했다면 ’brew’로 쉽게 설치했던것을 윈도우에서 설치하려니 삽질 경험 +1을 했다. 해당 내용은 다른 글에 적었다. 앞에 설명한 것처럼 1.6버전으로 작성되있는 예제 코드를 참고하여 최신버전(5.0)으로 재작성 및 트러블 슈팅해본다....

May 30, 2022 · 4 min · Nirvana kim

Simplex Method와 양키스

George Bernard Dantzig (ˈdæntsɪɡ)가 1974년에 개발한 단체법(Simplex Method)을 보기 전에 Simplex Mothod의 뿌리인 Dynamic Programming을 보자. 잠깐, Dynamic Programming의 번역어를 아는가? 동적 계획법 혹은 다이나믹 프로그래밍이 익숙할 것이다. 이 용어는 수학자 리처드 벨만(Richard E. Bellman)이 정의한 용어인데, 당시 Dynamic Programming이라고 한 이유를 그의 자서전(Eye of the Hurricane: An Autobiography)에서 볼 수 있다. 나는 RAND 코퍼레이션에서 1950년의 가을을 보냈다. 여기에서 내게 주어진 첫 과제는 다단계 의사 결정 프로세스에 대해 적절한 용어를 명명하는 것이었다....

October 17, 2017 · 5 min · Nirvana kim

Random number in a nutshell

우리가 알고 있는 무작위 수는 사실 무작위 수가 아니다. 이번 글에서는 의사 무작위 수로 불리는 이유를 볼 것이다. 무작위 수의 성질을 3가지로 볼 수 있다. 무작위성(Randomness) : 말 그대로 수열이 무작위로 되어있는 성질 예측 불가능성 :다음 수를 예측할 수 없다는 성질 재현 불가능성 : 같은 수열을 재현할 수 없다는 성질 무작위 수를 분류한다면 약한 의사 무작위 수, 강한 의사 무작위 수 그리고 진정한 무작위 수가 된다. 약한 의사 무작위 수는 무작위성만 가지고 있으며, 강한 의사 무작위 수는 예측 불가능성까지, 진정한 무작위 수는 재현 불가능성까지 가진다....

July 17, 2017 · 4 min · Nirvana kim