일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- FastAPI
- terraform
- heroku
- c#
- 바이오데이터 엔지니어
- github
- Python
- 파이썬
- PostgreSQL 설치 시 에러
- WPF
- Spring Boot
- 프로그래머스 코딩테스트 연습문제
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- 디자인 패턴
- 프로그래머스 월간 코드 챌린지
- 스코페2021
- pycharm
- 프로그래머스 코딩테스트 연습
- selenium
- 클린 코드
- 프로그래머스 코딩 테스트 연습
- git
- github actions
- 브랜디
- 프로그래머스 월간 코드 챌린지 시즌1
- Codeforces
- 애드센스
- Firefox
- PostgreSQL
- Word Cloud
- Today
- Total
목록파이썬 (10)
프로그래밍 연습하기
어떤 글자를 이미지로 얻으려고 하는데 폰트의 저작권이 있으니까 아무거나 가져와서 쓰기는 좀 그렇더라구요. 그래서 저작권 문제 없는 폰트를 찾아 이미지로 만들기로 했습니다. 몇 글자 정도면 그냥 어디에 작성을 해서 그것을 캡쳐해서 가져올 수도 있겠지만 만약 많은 문자를 얻어야 한다고 하면 귀찮은 일이 되기도 하고 이미지 편집 프로그램은 많이 사용 해 본 적이 없어서 프로그래밍으로 간단하게 할 수 있는 방법을 찾아봤습니다. 그래서 찾은 것이 파이썬의 Pillow(PIL)라이브러리 입니다. PIL(Python Imaging Library)은 예전부터 있던 라이브러리인데, 현재는 지원이 중단되고 PIL을 포크하여 지금까지 유지 보수되는 Pillow 라이브러리가 사용되고 있습니다. from PIL import I..
파이썬 Collections 에 defaultdict라는 것이 있습니다. 어디선가 몇 번 본 기억은 있는데 그냥 별 생각 없이 지나쳤었는데, 얼마 전 관련 글을 좀 보니까 상당히 편리한 Container 임을 알게 되었습니다. 예를 들어 어떤 문자열에서 알파벳의 수를 셀 때 일반 dict() 의 경우 알파벳들을 먼저 키로 등록 해두던가 아니면 문자열을 돌면서 먼저 해당 알파벳이 키로 있는지 없는지 확인하고 없으면 값을 1로 해주고 있는 경우 값을 1 추가해주는 그런 번거로운 방식을 써야되는데 my_dict = dict() my_string = "abc" for s in my_string: if my_dict.get(s): my_dict[s] += 1 else: my_dict[s] = 1 defaultdi..
파이썬으로 텍스트 파일을 다루다가 제목과 같은 에러를 만났습니다. BOM 문자가 포함되여 생기는 문자로 BOM문자에 대해서는 나무위키에서 설명을 볼 수 있었습니다. https://namu.wiki/w/BOM BOM - 나무위키 구매해야될 부품등을 하나로 모아놓은 주문 명세서. 주로 전자쪽에서 쓰이는 말이며 제품을 제작할때 이에 필요한 부속품등의 데이터를 하나의 파일로 모아서 만들어놓은것을 BOM이라고 한다. namu.wiki 그리고 스택오버플로에서 해결방법을 찾을 수 있었습니다. https://stackoverflow.com/questions/8898294/convert-utf-8-with-bom-to-utf-8-with-no-bom-in-python Convert UTF-8 with BOM to UTF..
Openpyxl을 이용하여 엑셀 파일에 하이퍼링크를 거는 방법에 대해 소개해드리려고 합니다. 두 가지 방법이 있습니다. 첫 번째는 직접 엑셀의 하이퍼링크 함수를 이용하는 방법입니다. wb = openpyxl.load_workbook("불러올_파일명") sheet = wb.active for cell in sheet["A"]: cell.value = '=HYPERLINK("{}", "{}")'.format(주소, 내용) cell의 value를 저렇게 지정하여서 하이퍼링크를 걸 수 있습니다. 주소에는 연결할 주소를 넣고 내용에는 보이게 될 내용을 넣습니다. 두 번째 방법은 cell의 프로퍼티를 이용합니다. wb = openpyxl.load_workbook("불러올_파일명") sheet = wb.active ..
함수의 실행에 어느정도 시간이 걸리는지 확인해야 될 때가 있습니다. 하지만 여러 군데에서 일일이 시작시간과 종료시간을 구하고 그 차를 출력하는 것은 번거롭습니다. 파이썬 데코레이터를 이용하여 시간을 측정하는 예제를 작성해봤습니다. # decorator.py from datetime import datetime def time_measure_decorator(func): def wrapper(*args, **kwargs): start = datetime.now() ret = func(*args, **kwargs) end = datetime.now() print("Time lapsed : ", (end-start).total_seconds(), "seconds") return ret return wrappe..
docs.python.org/3/library/queue.html queue — A synchronized queue class — Python 3.8.5 documentation queue — A synchronized queue class Source code: Lib/queue.py The queue module implements multi-producer, multi-consumer queues. It is especially useful in threaded programming when information must be exchanged safely between multiple threads. The Queue docs.python.org 파이썬 PriorityQueue(우선순위 큐)를 ..
초로 표현된 날짜를 연월일로 바꿔야 할 일이 있습니다. 날짜를 초로 표현하는 방식은 Unix Time, Unix Timestamp라고 부르는 것 같습니다. https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%89%EC%8A%A4_%EC%8B%9C%EA%B0%84 유닉스 시간 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org 그런데 이 표현 방식은 연월일 표현에 비해 눈에 잘 들어오지 않습니다. 이러한 시간을 파이썬 datetime 모듈을 사용하여 연월일로 바꿀 수 있습니다. 혹은 밀리초(millisecond)로 표현된 경우가 있는데, 1000으로 나누어주면 초로 바꿀 수 있습니다. from datetime import dat..
오늘은 처음으로 남에게 의뢰를 받아서 프로그램을 작성해봤습니다. 사실은 누나의 부탁이구요. 무엇이 필요한건지 설명을 듣고 보니까 네이버 블로그의 댓글을 엑셀로 정리하는 간단한 프로그램이었습니다. 원래는 크몽에 의뢰할려고 했었는데 혹시나 해서 저한테 맡겨보기로 했답니다. 파이썬을 자주 써보긴 했지만 엑셀을 다뤄보진 않았었는데요. 이번 기회에 한번 간단하게 익혀봤습니다. openpyxl 라이브러리를 이용하여 쉽게 사용할 수 있었습니다. 저도 예전부터 크몽같은 곳에서 간단한 의뢰를 받아서 용돈벌이나 해볼까 생각했었는데, 여러가지 이유때문에 주저했습니다. 이번 기회를 통해서 비슷한 작업을 몇번 더 해보고 싶네요.

예전에 공공데이터 API를 이용하여 미세먼지 관련 정보를 받아오는 프로젝트를 만든 적이 있습니다. 그런데 2020년 1월 쯤 해서 기존 API가 폐기된다는 안내를 받았습니다. 담당자분 정보 및 연락처는 수정을 했습니다. 그래서 새로운 API를 이용해서 코드를 짰었는데, 그 코드를 오늘 다시 손보게 되었습니다. 발견했던 문제중 하나가, 제가 받아온 지역이름과 기상 데이터를 (지역이름(string), 기상 데이터(dictionary)) 이렇게 튜플로 묶어놓는 바람에 문자열로 묶을때 해당 객체가 __iter__이고 str인지 아닌지를 검사해서 각각 다른방식으로 묶는 해괴한? 함수를 만들어놨었더라구요. 그래서 'location'과 'weather data'를 키로 하는 딕셔너리로 바꾸고 그것을 이용하는 함수도 ..
고성능 파이썬 책을 읽으며 간단하게 정리해보려고 합니다. 나중에 좀 더 자세하게 정리해볼 예정입니다. 조건 검사시 더 적은 비용이 드는 조건 검사를 먼저 검사하기 프로파일링을 통해 많은 자원이 소모되는 부분 확인하기 파이썬 기본 자료구조의 특성을 이해하여 알맞은 자료구조 사용하기 모듈을 Import 할때 명시적으로 사용하는 함수만 Import하기 제너레이터 / 이터레이터 사용 numpy 사용과 C 사용 필요한 데이터를 캐쉬에 올리기 긴 I/O 대기시간에도 작업 가능하게 비동기적인 프로그램 작성(Asyncio 모듈 이용) multiprocessing 모듈을 이용하여 병렬화된 작업 클러스터링 다양한 컨테이너 사용으로 RAM 절약하기 텍스트 효율적으로 저장하기(트라이, DAWG(방향성 비순환 단어 그래프) 사..