일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- reverse v.s. reversed
- blinker
- selenium-wire
- 코딩 테스트
- 순수함수
- decorator
- functools.wraps
- PIP
- slicing [::-1]
- boto3
- Airflow
- pandas
- S3
- r-string
- sort v.s. sorted
- timestamp
- ds_store
- 고차함수
- [초급(예비) 개발자 오픈소스 실무 역량강화 교육]
- 쿼리
- 함수형 프로그래밍
- 생각
- CI/CD
- sort(reverse=True) v.s. reverse
- Python
- OS
- os.path
- Today
- Total
목록전체 글 (119)
공부일지
작성일: 2024-09-24 상황나의 경우는 MacOS 쓰는데 디렉토리를 구글 드라이브에 직접 올릴 때나,외장 라이브러리 os를 이용해 디렉토리 내부 파일들 순회하면서 이름 확인할 때 '.DS_Store' 파일이 매번 생겨서 찾아보았다. .DS_Store란Desk Services Store 약자 애플에서 정의한 파일 포맷메타 데이터 담는 파일 Mac OS에서 폴더에 접근할 때 자동으로 생성된다. 예외처리path = "" #

작성일: 2024-09-27 상황 Python 프로그램에서 외장 라이브러리 sshtunnel, pymysql을 이용해서RDS에 연결해서 데이터를 적재하고 있다.필요할 때는 특정 데이터를 조회해서 엑셀로 추출하는데, 이번에 'DatabaseError'가 발생했다. 사실 전에도 발생했던 건데이유는 SQL syntax 문제로, 내가 작성한 쿼리에 문제가 있어 DB가 이해 못했다는 의미이다.문제가 있는 구문은 '|&|x|x|X|\\+|/' 가 있는 부분이다. 이는 내가 DB 쿼리에서 데이터가 있나 확인한 후그대로 파이썬 프로그램 쿼리문 부분에 복사 붙여넣기하는 방식 때문에 생긴건데,평소에는 간단한 조회를 많이 하나간혹 REGEXP(정규 표현식)를 할 때 이런 문제가 생긴다.MySQL(혹은 MariaDB)에..
작성일: 2024-09-25 Python을 통해서 컴퓨터 지식 익숙해지기가 요새 내 주안점이다.itertools, functools, … 같은 외장 라이브러리들이 함수형 프로그래밍에 쓰인다는 걸 알게 됐다. 예전에는 ‘왜 functools, itertools 같은 이름을 가졌지? 그다지 와닿지 않는데..’ 라고 생각했었다.그런데 위키독스 예제를 보다보니 기능에 이해가 가면서 이제는 생각이 바뀌었다.아래 위키독스 목차에서 함수형 프로그래밍을 찾으면 자주 쓰이는 요긴한 기능 몇가지를 설명해준다.거기서 functools, itertools, operator라는 외장 라이브러리가 포함되는 걸 확인할 수 있다. c.f.034 다양한 기준으로 정렬하려면? ― operator.itemgetter 034 다양한 기..

작성일 : 2024-09-23 Python에는 Decorator라는 기능이 있다.Decorator하면 '장식하다', '꾸미다'와 같은 의미가 생각나지만기능적으로는 외장 라이브러리 functools의 wrap(wrap도 decorator)이 더 직관적인 이름인 것 같다.말 그대로 감싸는 역할을 한다. 어떨 때 쓰이는가?내가 이해한 바로는, 완성된 함수들에 반복적으로 같은 기능을 적용하고 싶을 때 쓴다.흥미로운 건 디자인 패턴 측면의 기능이라는 것이다.아래 예시를 보자. Decoratorclass CallpsedTimeDecorator: from datetime import datetime def __init__(self, f): self.func = f def __call__(self, *args,..
작성일: 2024-09-24 상황 데이터를 수집하는 방법 중 가장 쉬운 방법은 공유된 파일을 다운로드하는 것이다.오늘은 디렉토리에 담긴 여러 개 파일의 이름을 리스트에 담기 위해 os 모듈과 os.path 모듈을 사용해보았다.os 모듈은 너무 잡다한 기능이 많아서 오늘 필요한 기능인 os.listdir()만 요약해두고, 나머지는 파일 이름을 조작하는 os.path 모듈 세부기능들이다.자주 쓰니까 정리해둔다. (요약은 GPT가 해줌) os 모듈 기능 중 os.listdiros.listdir(path='.')설명: 지정된 디렉토리 내의 항목 이름들을 리스트로 반환하는 함수입니다. 반환되는 리스트는 임의의 순서를 가지며, 디렉토리 내에서 .(현재 디렉토리)와 ..(상위 디렉토리)는 포함되지 않는다.만약 함수..

작성일: 2024-09-23 상황데이터를 수집해 MongoDB에 적재하고 있다.오늘은 데이터를 수집하는데 데이터 품질이 좋지 않아프로그램을 수정한 뒤 수집한 데이터만 남기려고 했다.그러기 위해서 마지막으로 수집하기 전에 적재한 데이터들을 전부 지워줘야 한다.날짜를 기준으로 데이터를 삭제하는 쿼리를 작성하게 됐다.* 왜 기준이 날짜인가? 데이터를 조회 후 삭제할 때 특정 필드 값 아무거나 이용해 조건을 달면 되지만나의 경우는 날짜 이외에 여러 개를 삭제하기에 최적의 요소가 없어서 그렇다. 해결1. 연산자를 이용한 필터링 만약 document에 ‘dateField’(날짜를 나타내는 필드 예시)가 있다면 바로 필터링 연산자 이용해서 삭제해주면 된다.그 방법이 가장 간단하기 때문에 아래에는 조회를 한 ..

작성일: 2024-08-26 요약상황날짜 관련 변수를 다루는 분기처리에 타입 통일성을 두지 않아 버그 발생 공유Python의 외장 라이브러리 Pandas의 시간 관련 메소드 Timestamp의 자주 쓰이는 기능 3가지를 알아보자.1. 타입 확인2. 문자열로 바꾸기3. 내장 라이브러리 datetime의 객체로 바꾸기 상황 이미지가 S3에 안 올라가는 문제가 있어서 디버깅을 했다.아래는 문제를 해결하기 전 코드이다.이미지 이름을 만들 때 변수 date를 넣는데 그쪽에 문제의 원인이 있다.# beforefor name in df['name'].unique(): df_temp = df[df["name"] == name] date = df_temp["date"].unique()[0]date if type(..

작성일 2024-08-21 상황 오늘 하둡에 대해 찾아보다가 어떤 블로그에서비정형 데이터(Plain text, … 등)의 경우Hadoop에 저장 가능하다는 걸 보고그렇다면 html 소스도 저장이 가능하면현재 쓰는 몽고DB 말고 하둡을 쓰는 게 더 낫겠다는 생각이 들었다. 왜냐하면 몽고DB에 데이터를 저장할 때는bson 모듈을 이용해서 한 번 데이터 형태를 string으로 전환해주기 때문이다.그 과정을 줄이면서 하둡도 경험하면 좋겠다고 생각했다. 점검찾아보니 하둡의 경우에는테라바이트 급의 데이터를 다룰 때 유의미하고그 미만의 데이터는 RDS도 충분히 기능적인 역할을 한다고 했다.하둡을 쓰는 게 오히려 고사양이랄까?그래서 데이터베이스 용량을 확인하기로 한다. 아래 쿼리는 데이터베이스의 용량을 확인하는..

작성일 2024-09-10 요약문제버전 충돌로 인해 설치하려던 패키지 일부가 누락됨. 원인패키지 설치 명령어 복붙했다가 로컬 파이썬 버전이랑 안 맞아서였음. 해결패키지 전체 삭제하고 다시 설치함. 공유패키지 전체 삭제 pip를 이용해 간단히 하는 법 상황Airflow를 로컬에 설치할 때 관련 패키지가 다 깔리지 않고일부가 누락됐다. 버전충돌 때문이라고 짐작했다.처음에 나는 로컬에 PyPI 기반으로 Airflow를 설치하고자 했다.'Installation tools' 항목에 있는 코드를 입력했는데문제는 여깄었다. 코드를 잘 보면 pip install 구문에 있는 Constraint URL 부분에Python 버전이 들어가는데(나는 앞에 에어플로 버전만 봤지 URL을 유심히 보지 않았었다.)그게(3...
git merge 가 너무 헷갈려서 실습을 좀 했다. 그냥 블로그 찾아서 막 하다가 제대로 된 내용이 필요할 것 같아서 찾던 중 아래 사이트를 발견했다. 튜토리얼처럼 따라서 하면 돼서 짱이다! 참고 사이트 https://learngitbranching.js.org/?locale=ko Learn Git Branching An interactive Git visualization tool to educate and challenge! learngitbranching.js.org