Re:제로부터 시작하는 갓생

[TIL.v1] 25/03/07 본문

Daily/TIL

[TIL.v1] 25/03/07

기븜 2025. 3. 7. 21:54
< TIL 반드시 들어가야 할 내용 >
1. 문제: 어떤 문제가 있었는지
2. 시도: 내가 시도해 본 것들 (자세히 쓰기)
3. 해결: 어떻게 해결했는지
4. 배움: 뭘 새롭게 알았는지 (자세히 쓰기)

???: 아~그거 크롤링 일주일이 아니라 1시간이면 다해!! 핫핫핫 보여줄까?

Me:..... 녜.... 제발요... 보여주지 말고 그냥 해주세요....

# 1.
출근한 뒤 오늘 하루를 돌아보자

* 오전

파이썬 가상환경

Streamlit code review

크롤링을 위해 홈페이지 cURL 요소 탐색... 오늘 안에 할 수는 있는 건가

* 오후

12:40 점심시간 동안 갑자기 오후 회의에서 내가 발표를 할 거라는 말을 하시며...

저는 처음 듣는데요... 그냥... 오후 회의 때 간단한 미팅하는 거 아니었나요...

13:20 cURL요소 마저 탐색.... 그런데 왜 보이지가 않지... 설마..

14:30 흘러가는 상황을 보니 진짜로 내가 발표를 하는 거구나...

부랴부랴 도큐정리해 놓은 내용에서 발표 멘트만 추려서 팀원분께 검토받음

15:00 프로젝트 회의 참석 (w/기획,프론트엔드, 백엔드, 분석, 총괄)

나는 발표라고 하길래... 프로젝트 전반적인 내용과 진행상황등을 브리핑해야 하는 줄 알았다...

하지만 아니었다고 한다... 회의 종료 후 피드백받고 기획자님과 함께 잠시 얘기를 나눴다

기획자는 무엇을 하는가? 기획이란 무엇인가? 기획을 하게 된 계기등... 질문을 열심히 했다

하지만 아직은 분석이 하고 싶긴 하다...^^... 아직은요...

다음 발표 때부터는 오늘 피드백받은 내용을 바탕으로 

1) 프로젝트 요구사항에 대한 기능 정의 -> 오늘 내가 한 내용은 이 단계까지였음

2) WBS 간트차트로 진행상황 시각화 자료 작성

-> 실무에서 상사는 플젝의 자세한 내용보다는 기한 내에 프로젝트를 끝내고, 어떤 단계에서 진행이 멈춰있는지 등을 필요로 하기 때문

그래도 처음치고 이해도나 발표 측면에서 잘했다라는 얘기를 해주셔서 그걸로 위안..!!

이후에는 마저 크롤링을 시도해보고 코드 리뷰를 하다가 하루가 끝이 났다..

 

계획했지만 오늘 하지 못한 일

어떤 방법으로 크롤링을 해야하는건지 파악하지 못함...

크롤링으로 데이터 긁어오기 완료하지 못함...

아직 일주일째이지만...조급함이 느껴지는 건... 숨길 수 없다...

 

내일 해야 할 일

이번 주말에는 수업도 없으니 간만에 늦잠도 자고 좀 쉬면서 충전도 하고(입술 빨리 나으면 좋겠다)

느지막이 기록 정리랑 부족한 부분 공부를 해야지...

시간이 허락하면 이번 주에 확인해야 할 사항들을 하나씩 찬찬히 살펴볼까 한다

 

이번 주에 확인해야 할 사항
더보기

3/4

* 디지털 마케팅이란 무엇인가? * 무슨 직종인가?
* 광고 마케팅이란 무엇인가? * 어떤 종류가 있는가?
* API도큐읽기 * Streamlit
* 메타 API * Naver API

3/5

* 크롤링 공부 * 유튜브 playwright python 공부, 구글링 등

3/6

여전히 playwright

오늘은 추가로 무언가를 확인하기보다는 이번 주를 돌아보는 시간을 가지면 좋을 것 같다

라고 쓰는 동안에 하나 생각남...ㅎㅠㅎ 가상환경의 종류와 차이 정도!

 

배운 점

* 파이썬 가상환경, 오픈코드

- 정의: Python 프로젝트마다 독립된 작업 공간을 만들어 서로 다른 PKG의존성을 충돌없이 관리

- 특징:

시스템 Python 환경에 영향을 주지 않음, 독립적인 환경 생성

프로젝트 간 패키지 의존성 충돌 방지, 필요에 따라 환경을 쉽게 삭제&다시 생성 가능

다양한 가상환경 도구 지원

- 도구&코드

> venv

정의: Python 내장 기본 제공, 간단한 프로젝트 사용

특징: Python 3.3부터 기본제공, 경령화된 구조, 추가 설치없이 사용가능

장점: 간단하고 빠르게 생성, 가볍고 Python 표준 라이브러리와 함께 제공

단점: 다양한 Python 버전 지원 등 추가적인 기능 부족

python -m venv 가상환경이름
source myenv/bin/activate  # 활성화 (Linux/Mac)
myenv\Scripts\activate     # 활성화 (Windows)

> virtualenv

정의: venu의 확장버전, 더 많은 기능과 유연성 제공

특징: 다양한 Python 버전 지원, 추가 설치 필요(pip install virtualenv)

장점: venv보다 많은 옵션 제공, 오래된 Python버전에서도 사용 가능

단점: venu보다 복잡

pip install virtualenv
virtualenv 가상환경이름
source myenv/bin/activate

> conda

정의: 데이터 과학 프로젝트에 특화된 가상환경 및 PKG 관리도구

특징: Python뿐 아니라 다른 언어도 지원, 대규모 PKG 간편설치 가능

장점: 데이터 과학 및 머신러닝 프로젝트에 적합, 가상환경과 PKG 동시 관리

단점: 메머리 차지 높음, 설치 및 설정이 약간 복잡

conda create -n 가상환경이름 python=버전3.9
conda activate venv_name

> pipenv

정의: 프로젝트별 PKG의존성을 선언적으로 관리

특징: Pipfile을 사용해 의존성을 명확히 기록, 가상환경과 의존성 설치를 한번에 처리

장점: 의존성 관리 및 선언형 구조 제공, 가상환경 생성 자동화

단점: 초기설정 과정이 다소 느릴 수 있음

pip install pipenv
pipenv install requests
pipenv shell

>> 차이점 요약

가상환경도구 주요특징 사용목적
venv 기본 제공, 간단하고 가벼움 일반적인 Python 프로젝트
virtualenv 다양한 Python 버전 지원 더 유연한 가상환경 필요 시
conda 데이터 과학 및 멀티언어 지원 데이터 과학/머신러닝 프로젝트
pipenv 의존성 관리 + 가상환경 통합 패키지 관리와 환경 설정을 통합하고 싶을 때

- VSC 가상환경 설정 코드

가상환경 생성

python -m venv venv

VSC에서 Ctrl+Shift+P -> Python: Select Interpreter 선택 -> 해당 가상환경 활성화

 

* WBS(Work Breakdown Structure)

- 정의: 프로젝트를 작은 작업 단위로 나눠 작업범위와 책임을 체계적으로 관리

- 특징:

1) 계층적 구조

프로젝트 목표를 큰단위-> 작은 작업 단위로 세분화

트리형식으로 작업 분담과 흐름을 시각화

2) 관리 효율성

작업 책임자 지정과 일정 관리가 용이

진행 상황 추적과 리소스 할당이 효율적

3) 구성요소

1단계: 주요 프로젝트 목표

2단계: 각 목표의 세부 작업 분류

- 예시

쇼핑몰 개발 프로젝트
└── 1단계: 기획
    ├── 요구사항 분석
    └── WBS 작성
└── 2단계: 개발
    ├── 프론트엔드 개발
    └── 백엔드 API 구축
└── 3단계: 테스트
    ├── 사용자 테스트
    └── 결제 시스템 검증

 

* 크롤링 종료시 반드시 브라우저 종료 선언! (안 하면 메모리 끝남...)

- 정의: 웹에서 데이터를 수집하는 작업, API or 웹페이지의 HTML 코드로 정보를 추출

- 특징:

1) 데이터 검증

수집한 데이터에 중복된 항목이 있는지 확인

누락된 데이터, 포맷 불일치 해결

import pandas as pd
# df = pd.DataFrame(수집데이터)
data = [{"name": "item1", "price": 100}, {"name": "item2", "price": 200}]
df = pd.DataFrame(data)
df.to_csv("output.csv", index=False)
print("데이터 저장 완료")

2) 법적/윤리적 확인

웹사이트 robots.txt 파일과 이용 약관을 확인

개인정보를 불법으로 수집하지 않도록 주의

3) 자원 해제(종료코드)

메모리 및 시스템 자원을 정리해 리소스 낭비 방지

# Selenium 종료
driver.quit()
# Requests 세션 종료
session.close()

4) 에러 로그 점검

작업 중 발생한 에러를 검토해 이후 안정성 확보

 

기타

* 그저...감사합미다...(냠냠)...

* 팀원들과 함께 떡보끼 배달시켜 먹음 맵찔이에게 엽떡 오리지널이란...🔥 오래간만에 먹으니 맛은 있군...^^

# 2.





내 하루를 항상 궁금해하는 우리 15조원들...ㅎㅎ

열일하라는 거지...?



 

 

 

 

 

 

오늘도 바쁘게 올라가는 3조 채팅창에

안부인사를 나눈 나...

 

 

 

 

 

 

 

금요일이기도 하고 SQLD 시험 보는 친구들이 있어서

나도 같이 늦게까지 있으려고 했지만...

눈치 없이 감기는 나으 눈...

그걸 또 들켜버린 나...

 

'Daily > TIL' 카테고리의 다른 글

[TIL.v1] 25/03/11  (0) 2025.03.11
[TIL.v1] 25/03/10  (1) 2025.03.10
[TIL.v1] 25/03/06  (0) 2025.03.07
[TIL.v1] 25/03/05  (4) 2025.03.05
[TIL.v1] 25/03/04  (2) 2025.03.05