프로그래밍 11

파이썬의 강력한 도구들(ft. Lambda, defaultdict, map)

수업 내용 리마인드 및 아카이빙 목적의 업로드 파이썬에는 코드의 간결함과 유연성을 높여주는 다양한 기능들이 있어요. 오늘은 그중에서도 람다 함수(lambda), defaultdict, 그리고 map 함수를 통해 코드를 더 효율적으로 작성하는 방법을 소개할게요. 이 세 가지는 간단하면서도 매우 강력한 기능들이죠!  1. Lambda 함수: 익명 함수의 마법람다 함수(lambda)는 이름 없는, 일회성으로 사용할 수 있는 익명 함수입니다. 주로 짧고 간단한 작업에 많이 사용되며, 한 줄로 함수를 정의할 수 있다는 장점이 있어요. 1) 파라미터가 없는 함수# 일반 함수def say_hello(): return "Hello, World!"print(say_hello()) # 결과: Hello, World..

+ 개발 2024.09.10

뉴스 크롤링(#네이버 뉴스)_코드 설명

수업 내용 리마인드 및 아카이빙 목적의 업로드Q. 네이버 뉴스에서 '특정 키워드(청년취업사관학교)'와 '날짜 범위(20240101~20240731)'에 해당하는 게시물들을 자동으로 수집하고, 각 게시물의 "제목", "발행기관", "작성일", "본문 내용", "URL"을 추출하여 CSV 파일로 저장하는 코드를 작성하세요.https://search.naver.com/search.naver?where=news&query=%EC%B2%AD%EB%85%84%EC%B7%A8%EC%97%85%EC%82%AC%EA%B4%80%ED%95%99%EA%B5%90&sm=tab_opt&sort=1&photo=0&field=0&pd=3&ds=2024.01.01&de=2024.07.31&docid=&related=0&mynews=..

+ 개발 2024.08.31

Pandas로 데이터 분석하기

수업 내용 리마인드 및 아카이빙 목적의 업로드 1. Pandas란? Pandas는 파이썬에서 데이터 분석을 위한 강력한 라이브러리입니다. R 언어의 데이터프레임에서 영감을 받아 설계되었으며, 내부적으로 Numpy를 활용해 빠르고 효율적인 데이터 처리를 가능하게 합니다. Pandas를 통해 엑셀과 비슷한 구조의 데이터를 다룰 수 있어 데이터 분석을 더욱 직관적으로 할 수 있어요. 2. Pandas의 주요 자료형 Series: Series는 Numpy의 1차원 배열과 비슷한데, 인덱스와 값으로 구성되어 있어요. 리스트나 딕셔너리 같은 자료형에서 쉽게 만들 수 있고, 인덱스를 통해 데이터를 자유롭게 다룰 수 있어요. # 리스트를 사용해 Series를 만들어 보고, 데이터를 다루는 방법import pandas ..

+ 개발 2024.08.29

Numpy로 데이터 처리하기

수업 내용 리마인드 및 아카이빙 목적의 업로드 1. Numpy란 무엇인가요? Numpy는 "Numerical Python"의 줄임말로, 파이썬에서 수치 연산을 위해 만들어진 라이브러리예요. 주로 행렬 연산, 다차원 배열 처리, 그리고 선형대수와 통계와 관련된 다양한 내장 함수를 제공합니다. Numpy를 사용하면 파이썬의 기본 리스트에 비해 더 빠르고 메모리를 적게 사용하는 배열 연산을 할 수 있어요. 2. Numpy의 주요 기능 배열(array) 연산: Numpy는 배열을 기본 데이터 구조로 사용해, 벡터와 행렬 연산을 손쉽게 할 수 있습니다. 특히, 파이썬의 기본 리스트보다 훨씬 빠르고 효율적으로 연산이 가능해요.# 두 개의 2x2 행렬을 더하는 간단한 연산import numpy as npmatrix_..

+ 개발 2024.08.28

MySQL을 활용한 크롤링 데이터 저장(ft.Python)

수업 내용 리마인드 및 아카이빙 목적의 업로드 1. pymysql 설치하기 먼저, Python에서 MySQL에 접근하려면 pymysql이라는 라이브러리를 설치해야 해요. 이 라이브러리를 사용하면 Python으로 MySQL 데이터베이스와 쉽게 소통할 수 있어요.pip install pymysql 2. MySQL 데이터베이스에 접속하기 이제 MySQL 데이터베이스에 접속해 볼게요. pymysql.connect() 메소드를 사용하면 쉽게 데이터베이스에 연결할 수 있어요. 아래 코드에서 각 인자를 어떻게 설정하는지 볼 수 있어요.import pymysqldb = pymysql.connect( host='localhost', # 서버 IP 주소 (보통 로컬 서버면 'localhost') port=3..

+ 개발 2024.08.23

데이터베이스 기초

수업 내용 리마인드 및 아카이빙 목적의 업로드 1. 데이터베이스(DB)란? 데이터베이스란 여러 사람이 함께 사용하기 위해 데이터를 모아 체계적으로 관리하는 시스템이에요. 데이터를 중복 없이 깔끔하게 정리해서 검색하거나 수정하기 쉽게 해주는 역할을 하죠. 현대적인 데이터베이스의 개념은 1963년 C. 바크만이라는 사람이 제너럴일렉트릭에서 개발한 IDS(Integrated Data Store)라는 시스템에서 시작되었어요. 2. 데이터베이스의 구조 데이터는 보통 테이블 형태로 저장되는데요, 하나의 데이터베이스(DB)에는 여러 개의 테이블을 만들 수 있어요. 각 테이블은 표처럼 생겼고, 관련된 정보를 담아 다수의 테이블로 데이터를 관리하면 큰 데이터를 다루기도 편리해요.-- 데이터베이스 생성 예시CREATE D..

+ 개발 2024.08.21

Selenium 무한 스크롤 웹 크롤링(#Jungle)_Gen.AI

수업 내용 리마인드 및 아카이빙 목적의 업로드Q. 아래 URL의 메인페이지에서 인피니티 스크롤을 통해 10페이지까지의 제목을 크롤링하여 json 파일 형태로 저장해주세요.https://www.jungle.co.kr/ 디자인 이야기가 있는 디자이너들의 매거진, 디자인정글 www.jungle.co.krA. ChatGPT에게 필요한 정보를 제공하고, 프롬프트를 통해 데이터를 파일로 저장하는 코드 작성 요청1) 프롬프트 작성 및 요청하기너는 웹 크롤링 전문가야. 'Selenium'을 사용하여 아래의 웹 페이지에서 '인피니티 스크롤'을 통해 '기사 제목'을 '10페이지'까지 크롤링하고, 이를 JSON 파일로 저장하는 코드를 작성해줘.제공하는 정보:1. 웹 페이지 URL: https://www.jungle.co.k..

+ 개발 2024.08.18

동기 웹과 비동기 웹의 차이(ft.데이터 크롤링)

수업 내용 리마인드 및 아카이빙 목적의 업로드 오늘은 데이터 크롤링에 대해 이야기해볼까 해요. 웹에서 데이터를 자동으로 모아 활용하는 기술인데, 웹 페이지의 구조에 따라 크롤링이 쉽기도 하고 어려워지기도 하거든요. 특히 동기 웹과 비동기 웹이 어떻게 다른지 알면 크롤링이 한층 수월해질 거예요. 그럼 함께 알아볼까요? 1. 동기 웹(Synchronous Web)이란?동기 웹은 쉽게 말해, 웹 페이지가 한 번에 순서대로 로드되는 방식이에요. 페이지를 열면 모든 데이터가 한꺼번에 불러와지죠. 그래서 사용자는 페이지가 완전히 로드된 후에야 내용을 볼 수 있어요. 예를 들어, 뉴스 사이트를 떠올려 볼게요. 웹 페이지를 열면 모든 기사 제목, 내용, 이미지 등이 한 번에 다 로드되죠? 이때 크롤러는 HTML 코드를..

+ 개발 2024.08.13

내가 개발(코드)을 배우면서 느낀 점

저는 개발자는 아니지만, 프로그래밍 언어를 배우고 다루면서 여러 가지 흥미로운 것들을 알게 되었어요. 이 과정에서 느낀 점을 여러분과 나눠보려고 해요. 1. 개발자가 아니어도 괜찮아 먼저, 저는 개발자가 아니에요. 그렇지만 코딩을 배우면서 느낀 건, 이게 꼭 개발자들만을 위한 건 아니라는 거예요. 코드라는 건 누구나 배우고 이해할 수 있는 언어 같은 거죠. 이 글을 통해 제가 코딩을 배우면서 느낀 점들을 나누고 싶어요. 비록 전문 개발자는 아니지만, 이 과정에서 얻은 인사이트가 여러분에게도 도움이 될 수 있을 거라고 생각해요. 2. 코딩의 세계엔 정답이 없다 프로그래밍을 하면서 가장 놀라웠던 점 중 하나는 '정답이 없다'는 거예요. 문제를 해결하는 방식이 정말 다양하고, 각자 자기만의 스타일로 코드를 짜..

+ 인사이트 2024.08.10