분류 전체보기 134

파이썬 10진수 2진수로 변환하기 (10진수 n 진수로 변환하기)

알고리즘 문제를 풀다보면 10진수에서 2진수로 2진수에서 10진수로 변경을 필요로 하는 문제가 많이 있습니다. 이러한 문제가 나오는 이유는 컴퓨터가 애초에 2진수 체계로 만들어져 있기 때문에 컴퓨터에 대한 이해에 있어서 진법을 이해하는 것이 중요하기 때문이라고 생각합니다. 실제로 컴퓨터에서 곱하기 연산이나 나누기 연산을 한 자리 씩 shift 시키면서 하는 것을 보면 흡사 십진수를 이진수로 변환하는 프로그래밍과 유사하다는 느낌도 받았습니다.(저의 개인적인 생각입니다...!) 십진수를 이진수로 바꾸는 방법은 십진수를 2로 나눈 몫, 나머지 를 이용해서 각 자리를 정해줍니다. 19 이라는 수가 있다면 맨처음 2로 나누면 몫 9이고 나머지는 1 이기 때문에 최하위 bit 1이되고 다시 9를 2로 나누면 몫 4..

[번역] - C#: 왜 ConfigureAwait(false) 를 사용해야 하는걸까?

C# 과 ASP.NET CORE를 공부하면서 가장 힘든 점 중 하나는 턱없는 한글 문서입니다. 그래서 비동기 함수에서 ConfigureAwait(false)를 왜 사용하는지에 대한 좋은 글이 있어서 번역하게 됐습니다. 저자의 동의를 얻어서 번역한 자료입니다! 다른 분들에게 도움이 되었으면 좋겠네요 :) 원본: https://medium.com/bynder-tech/c-why-you-should-use-configureawait-false-in-your-library-code-d7837dce3d7f 저자: Juan 본문: .NET4.5 부터 async/await 를 도입하면서 asynchronous code를 작성하기가 많이 쉬워졌다. Async/Await 키워드들은 synchronous 코드 와 비슷하고..

ASP.NET CORE의 URL rewrite 살펴보기

URL rewrite (url 재작성) VS URL redirection Url redirection 작업은 client의 작업으로 서버를 두 번 왕복해야한다. Url rewrite 작업은 서번 내에서 특정 url 의 request가 왔을 때 url을 다시 작성해서 서버에 요청함으로써 client에서 서버를 두 번 왕복할 필요가 없다. URL 재작성 미들웨어를 사용해야 하는 경우 Windows Server에서 IIS의 URL 재작성 모듈을 사용할 수 없거나, Apache Server에서 Apache mod_rewrite 모듈을 사용할 수 없거나, Nginx에서 URL 재작성을 사용할 수 없거나, 또는 응용 프로그램이 HTTP.sys 서버(기존의 WebListener)에서 호스팅 되는 경우에 URL 재작성..

파이썬 알고리즘 문자열 중복 체크하기.

오랜만에 다시 알고리즘 문제 기본 문제부터 파이썬 알고리즘 문자열 중복 체크하기. 문자열 중복을 체크하는 방법으로 1) 중복된 element를 제거해주는 자료구조인 set 을 이용해서 해결. 2) 단순하게 for 문으로 element 들을 순회 하면서 중복을 체크. 1) 자료구조 set 을 이용. 2) for 문을 순회 이제 한 동안은 알고리즘과 자료구조를 공부를 열심히 해보려고 합니다. 감사합니다.

AWS Elastic beanstalk 배포 시 redirect http to https (how to redirect http to https in elastic beanstalk)

요즘은 https 제공하는 것은 선택이 아닌 필수이다. 보안이 중요하기 때문에 https 통신을 이용해서 데이터를 암호화해서 전송하는 것이 좋다. AWS에서는 무료로 SSL 증명서를 제공하고 셋팅하는 것이 정말 편리하기 때문에 꼭 이용하는 것이 좋다! AWS Elastic Beanstalk 를 이용해서 배포를 할 때 http 요청을 https 요청으로 redirect 하는 방법에 대해서 공유 및 기록하려고 한다. AWS elastic beanstalk 를 이용해서 배포를 진행할 경우 .ebextensions 디렉토리의 하위 *.config 파일을 통해서 서버 셋팅을 진행할 수 있다. 즉, elastic beanstalk 를 통해서 배포를 할 수 경우 config 파일을 통해서 http 요청을 https ..

sticky session 이란?

sticky session 이란 무엇일까? Sticky session 이란? 먼저 sticky 의 의미 중 하나는 끈적 끈적한, 여간에서 떨어지지 않는 다는 의미가 있다. 어떤 것 과 여간에서 떨어지지 않는 것 일까 ? 바로 요청에 대한 응답을 만드는 웹 서버(AWS 서비스에서 쉽게 예를 들면, EC2) 이다. 영어로는 이렇게 표현을 하는 것을 봤다. only single session object will be there. 한국 말로는 껌딱지? 한 서버 인스턴스에만 붙어있는 세션이라고 생각하면 될 것 같다. 머가 문제지? 문제는 다중 서버 구성 시에 발생한다. sticky session 을 이용하면 AWS Loadbalancer의 경우 traffic 에 따라서 인스턴스에 http request를 분산하..

리틀 포레스트 (Little Forest), 더 일찍 나왔으면 얼마나 좋았을까라는 생각이 드는 영화.

오랜만의 영화 포스팅. 3.1 휴일을 맞이하여 '리틀 포레스트' 라는 영화를 봤다. '리틀 포레스트' 작은 숲이라는 제목부터 편안하게 다가왔고, SNS에서도 추천하는 글이 많아 선택하게 됐다. 최근 3년 이내에 본 영화 중 가장 좋았던 영화가 되었다. 나는 개인적으로 좋은 영화를 판단하는 기준은 평소에 못하던 생각을 갖게 해주는 영화 그리고 이해하지 못했었던 것들에 대해 이해를 할 수 있도록 도와주는 영화를 좋아하는 편이다. 리틀 포레스트는 이 두 가지 모두 나를 충족시킨 영화인 것 같다. 먼저, 나에게 농촌에서의 생활이 매력적인 요소들을 정말 잘 설명해주었다. 개발자의 관점에서 보면 리틀 포레스트의 여자 주인공은 풀스택 요리사이다. 직접 씨를 뿌리고, 농사를 지어 만들고 요리까지 해서 정말 멋진 요리들..

일상/영화 2018.03.02

Pandas에서 시간, 날짜 데이터 변환하기 (총 정리)

pandas에서 데이터를 다루다보면 시간 데이터를 자주 변환하고 다루게 됩니다. 데이터를 여러 resolution으로 분석해야 하기 때문입니다. 즉, 연도/월/일/시간/요일등 별로 데이터를 분석합니다. 항상 필요할 때 마다 구글에서 변환하는 방법을 찾는게 귀찮아서 한 번에 정리하고, cheetsheet로 활용해보려고 합니다. 이번 Posting에서 변환해보려고 하는 경우는 아래와 같습니다. 1) unix time -> datetime 으로 변환 2) datetime -> 년/월/일 만 추출하고 3) datetime -> 요일로 변환 4) datetime -> unix time - Pandas 에서 Series의 날짜 데이터를 다루는 방법 정리 Unix time - > date time pandas.to_..

캐글 타이타닉 예제를 통해 알아보는 데이터 분석 및 활용 flow

캐글을 통해 입문하는 사람들은 보통 타이타닉의 예제를 통해 입문하는 경우가 많습니다. 최근에 몇 가지 강의에서도 타이타닉 예제를 사용하고 있는 것으로 알고 있습니다. 타이타닉 예제를 통해서 데이터 사이언티스트(Data scientist) 들이 어떤 일을 하는지 데이터 분석에서 어떤 일을 하는지 조금 이해할 수 있게 됐습니다. 간단하게 flow를 정리해봤습니다. 1. 정확하게 문제를 정의해야 합니다. 어떤 데이터로 어떤 문제를 해결하고 싶은지 정의 해야 합니다. 타이타닉 문제를 예로 들자면, 타이타닉에 탑승했던 승객들의 정보를 통해 미래에 어떤 배를 타는 승객들이 배가 침몰했을 때 죽을지 죽지 않을지 예측합니다. 2. 데이터를 processing하여 정리해서 모으는 과정이 필요합니다. 데이터를 분석 할 수..

AWS Lambda 파이썬 라이브러리 패키징 ( Python library packaging)

AWS Lambda는 기본적으로 파이썬의 기본 모듈만 지원하므로 추가적으로 라이브러리들을 사용하기 위해서는 패키징 후 업로드하여 사용하여야 합니다. 배포 패키지를 생성하는 방법. 패키지의 root directory를 생성.Root 디렉토리에 필요한 라이브러리들을 설치. pip install requests -t path/root directory -t 옵션으로 원하는 디렉토리에 설치할 수 있습니다. 3. 그런 다음 zip -r sample.zip path/root directory + 최근에 Lambda에서 패키징해서 올린 파일도 인라인 수정이 가능하도록 기능이 추가됐습니다. 한 번 올린 이후에 간단한 수정은 Lambda inline으로 수정할 수 있습니다. 감사합니다.

반응형