[Python] 크롤링(Crawling)
📌 들어가며 이번 글에서는 크롤링(Crawling)으로 웹 데이터를 수집한다. 다음 뉴스 헤드라인과 로또 번호를 가져와 데이터프레임으로 만들고 시각화까지 해본다. 크롤러(crawler): 자동화된 방법으로 웹을 탐색하는 프로그램. 웹을 훑는 것이 웹 크롤링, 그 데이터를 수집하는 것이 데이터 크롤링이다. 크롤링의 기본 흐름: ① URL ...
📌 들어가며 이번 글에서는 크롤링(Crawling)으로 웹 데이터를 수집한다. 다음 뉴스 헤드라인과 로또 번호를 가져와 데이터프레임으로 만들고 시각화까지 해본다. 크롤러(crawler): 자동화된 방법으로 웹을 탐색하는 프로그램. 웹을 훑는 것이 웹 크롤링, 그 데이터를 수집하는 것이 데이터 크롤링이다. 크롤링의 기본 흐름: ① URL ...
📌 들어가며 이번 글에서는 OOP의 꽃인 클래스(class)를 다룬다. C와 Java에서 기본 지식을 쌓고 들어와 비교적 수월했지만, 여전히 쉬운 개념은 아니다. 클래스란? 함수처럼 코드를 정리하되, 한 발 더 나아가 관련된 함수와 변수를 하나로 묶는다. 통계학·경제학·정치학을 ‘사회과학’이라는 큰 카테고리로 묶는 것과 같다. 1. 클...
📌 들어가며 JPA의 지연 로딩은 프록시(Proxy) 객체 위에서 동작한다. 프록시는 실제 엔티티를 대신하는 가짜 객체로, 실제로 사용될 때 초기화되어 진짜 엔티티에 접근한다. em.getReference()는 실제 엔티티가 아니라 프록시 객체를 반환한다. (em.find()는 실제 엔티티) 1. 프록시의 특징 — 한 번만 초기화 M...
📌 들어가며 연관된 엔티티를 언제 가져올지를 결정하는 것이 로딩 전략이다. 지금 당장 함께 가져올지(즉시, Eager), 실제로 쓸 때 가져올지(지연, Lazy)를 fetch 옵션으로 정한다. 전략 fetch 옵션 동작 지연 로딩 FetchType.L...
📌 들어가며 3개월간의 선수과정을 마치고 국비 교육에 들어왔다. 하루 9시부터 6시까지, 선수과정보다 진도가 어마어마하다. 자바는 2달 정도 들었지만, 초심과 겸손으로 처음 배우는 것처럼 다시 다져본다. 이번 글은 프로그래밍 언어·JVM·주석·변수·자료형·연산자를 폭넓게 정리하는 복습 편이다. 1. 프로그래밍 언어와 JVM 프로그래밍 언...
📌 들어가며 이번 글에서는 멀티쓰레드에서 하나의 자원을 여러 쓰레드가 공유할 때 생기는 문제를 동기화(synchronized)로 해결하고, 이어서 버퍼 기반 파일 입출력을 다룬다. 동기화란? 멀티쓰레드 환경에서 자원 공유 문제를 해결하기 위해, 공유 자원에 하나의 쓰레드만 접근하게 하는 것. 1. 동기화 문제 상황 — ATM ATM ...
📌 들어가며 이번 글은 비교·논리 연산자, 형변환(암묵적/명시적), 조건문(if/switch), 반복문(for/while/do-while)을 폭넓게 정리하는 복습 편이다. 1. 비교·논리 연산자 비교 연산자는 참/거짓만 판별하므로 결과가 boolean이다. 연산자 의미 연산자 ...
📌 들어가며 당연하게 여기던 도구 Eclipse를 잠시 내려놓고, 메모장(Notepad)만으로 자바를 코딩해본다. 자동 완성도, 즉각적인 오류 표시도 없이 직접 컴파일하고 실행하면서, 자바가 실제로 어떻게 돌아가는지 그 메커니즘을 체감하는 것이 목적이다. 1. 메모장으로 코드 작성 먼저 이름을 출력하는 간단한 코드를 메모장에 작성한다. cl...
📌 들어가며 이번 글에서는 메소드로 클래스 연결, 은닉화(캡슐화), 오버로딩, 생성자, 그리고 문서 생성 도구 JavaDoc을 코드 중심으로 리뷰한다. 1. 은닉화(캡슐화) — 클래스를 메소드로 연결 세 클래스(Hero, Bullet, UseHero)를 메소드로 유기적으로 연결한다. 멤버변수를 private으로 감추고 getter/setter...
📌 들어가며 이번 글은 변수 스코프, 제어문 흐름 제어(break/continue), 배열(1차·2차), 메서드, 객체지향까지 폭넓게 정리하는 복습 편이다. 1. 변수의 범위(스코프) 변수 스코프의 세 가지 규칙을 정리하면 이렇다. 규칙 설명 하위 블록 침투 가능 ...