더보기 데이터를 다루다보면 날짜를 다룰 일이 정말 많다. 그때 사용하게 되는 것이 표준 라이브러리인 Datetime인데, 간단한 듯 하면서 계속 기억이 안나고,, 찾아보게 된다. 그래서 다시 찾지 않겠다는 마음으로 정리해보려 한다. 개념적인 내용보다는 많이 사용하는 포인트를 기록! ▼ 날짜에 더하기 빼기 가장 많이 사용하게 되는 로직이 이 날짜에서 5일 후, 일주일 전 날짜 계산해줘! 이다. 이때 사용하게 되는게 datetime의 timedelta이다. from datetime import timedelta, date basic_date = date.today() 하루 뒤 = basic_date + timedelta(days=1) 일주일 전 = basic_date - timedelta(weeks=1) ▼..
전체 글
어른이 되어가고 있는 꼬마개발자의 개발일지이 글은 유명한 동영상인 naver d2의 [그런 REST API로 괜찮은가]를 보고 정리한 글입니다. 자세한 내용은 해당 동영상을 통해 접하시면 좋을 것 같습니다. REST API : REST 아키텍처 스타일을 따르는 API REST : 분산 하이퍼미디어 시스템(예:웹)을 위한 아키텍처 스타일 아키텍처 스타일 : 제약조건의 집합 REST를 구성하는 스타일 - client-server - statrless - cache - uniform interface - layered system - code-on-demand (optional) **uniform interface의 제약조건** - identifiaction of resources - manipulation of resources through re..
도커 컨테이너의 상황을 크게 세가지로 볼 수 있는데 아직 없는 상황과 죽은(멈춘)상황 살아있는 상황 각 상황마다 shell에서 컨테이너를 부르는 명령어가 다르다. 처음 생성할 때 docker run -it --name docker_name ubuntu run 명령어를 통해 처음 컨테이너를 입성하는 것이고 -it 옵션을 통해 foreground에서 컨테이너와 유저 간 command line으로 소통하게 하고 ( i:입출력, t:터미널 ) --name 옵션을 줘서 컨테이너 이름을 지정할 수 있고 (안하면 자동으로 아무이름 지어줌) ubuntu 이미지를 붙여줄 것이다. 현재 돌아가고 있는 컨테이너 확인 docker ps -a 죽은 상황 docker start -i docker_name 살은 상황 docker ..
도커를 사용하기 위해 dockerhub에서 ubuntu 공식 이미지를 pull해오려 했다. 그런데 retrying엄청하더니 돌아온 말은 local error: tls: bad record MAC 에러,,, 이게 뭔일이야 하고 도커 세팅 파일도 건드려보고, windows 기능도 건드리고, 작업관리자도 봤다가 방화벽까지 내려봤는데 실패 결론을 바로 말씀드리자면 LAN의 문제였다. 정확한 원인은 모르겠다만 나는 인터넷을 KT를 사용하고 있었고 LAN선을 꼽고 시도했을때 계속 실패를 했었는데 LAN선을 뽑고 와이파이로 연결을 해서 pull을 하니 바로 아주 간단히 성공이 됐다^^ 와이파이도 KT공유기 인뎀,,, LAN에서 뭐 다른 장치가 있었는지 KT에서 이런 이슈가 종종 있었다고 하니 혹시 이러한 문제를 겪고..
도커를 써야하는 이유 원하는 개발 환경을 파일에 저장해두면, 어느 머신에서든 해당 환경을 시뮬레이션 해줌 이러한 환경들은 각기 독립적으로 존재하기 때문에 모듈식으로 관리 가능함 도커 로그인 회원가입 : https://hub.docker.com/ docker login 우분투 이미지 pull 도커허브에서 원하는 환경을 검색해서 가져오면 된다. docker pull ubuntu 우분투 기반 컨테이너 실행 docker run -it --name de_base ubuntu:20.04 # -it : 컨테이너의 터미널에 접근 # --name : 컨테이너 이름 패키지 관리자 업데이트 apt update -y # -y : 업데이트 진행여부를 물어볼 때 y를 자동으로 입력 apt upgrade -y 필요 서비스 다운로드..
***하면 안되는 사소하지만 중요한 실수 기록 문제상황 파이썬으로 주피터에서 코드를 짜는데 int값을 string값으로 변환해줘야 했다. 그래서 str(변수)를 사용했더니 위와 같은 오류가 났고, 데이터 컬럼을 직접 바꾸려 .astype(str)을 썼더니 data type not understood 라는 에러가 났다. 뭔가 잘못된 거 같아 주피터를 껐다켜봐도 안되고 컴퓨터를 껐다 켜봐도 안됐을 무렵 원인을 찾았다. 바로 내가 위의 코드에서 아무 생각 없이 str이라는 예약어를 변수로 사용했기 때문이었다. 그래서 jupyter가 str을 기존에 지원하는 str이 아닌 내가 지정한 변수 str로 사용한 거지,,!! 다른 편집기의 경우 한 파일에서 이전에 쓰던 코드를 지우고 새로 작성할 경우 문제가 없을 수 ..
착한가격업소를 찾아 지도에 매핑하는 코드를 짜보았다. import folium ... map = folium.Map(location=[target_table['위도'][0],target_table['경도'][0]], zoom_start=13) for i in target_table.index : name = target_table['업소명'][i] star = target_table['별점'][i] menu = target_table['메뉴'][i] price = target_table['가격'][i] iframe = "이름 : " + name+ " 별점 : "+ star + " 대표메뉴 :" + menu + " [" + price + "]" popup = folium.Popup(iframe, min_w..
데이터 프레임을 가공하다보면 인덱스가 뒤죽박죽인 경우가 있다. 아니면 기본 인덱스가 0부터 시작인데 1부터 시작으로 바꾸고 싶을 수도 있을 것이다. 나의 경우에는 기존의 데이터프레임에서 원하는 튜플만을 뽑아내니 0~1로 세팅되는게 아니라 기존 df에서의 인덱스를 가져와서 for문을 돌리기가 힘들어서 새로 세팅해주려 한다. (뽑아올때 0부터 세팅하는게 있을것 같긴한데 일단 이거부터 정리!) 방법은 아주 간단하다 for문을 돌려 index를 새로 설정해주면 되는데 간단히 한줄로 사용하기 위해 내포for문을 사용할 것이다. df.index = [i for i in range(len(df))] 이렇게 하면 끝~ 확인해보시면 0부터 인덱스가 설정되어 있을것이다. 1부터 설정하고 싶다면 1부터 len(df) + 1..