분류 전체보기
-
파이썬 웹 크롤링(기본 편) 5 - 검색어 변경하기 파이썬으로 크롤링을 하기에 앞서 기본 개념인 URL에 대한 지식이 있어야 하기 때문에 URL이 무엇인지에 대해 한 번 살펴보자. URL이란? URL은 Uniform Resource Locator의 약어로, 인터넷상에서 리소스(자원)의 위치를 지정하는 표준화된 주소체계이다. URL은 웹 브라우저나 웹 클라이언트가 웹 서버에게 어떤 리소스를 요청할지를 결정하는 데 사용된다. 일반적으로 URL은 다음과 같은 구조를 가지고 있다. scheme://host:port/path?query#fragment scheme - 리소스에 접근하기 위해 사용되는 프로토콜을 나타낸다. 예를 들면 http, https, ftp 등이 있다. host - 리소스가 위치한 서버의 도메..
[Crawler] 파이썬 웹 크롤링(기본편) 5 - 검색어 변경하기파이썬 웹 크롤링(기본 편) 5 - 검색어 변경하기 파이썬으로 크롤링을 하기에 앞서 기본 개념인 URL에 대한 지식이 있어야 하기 때문에 URL이 무엇인지에 대해 한 번 살펴보자. URL이란? URL은 Uniform Resource Locator의 약어로, 인터넷상에서 리소스(자원)의 위치를 지정하는 표준화된 주소체계이다. URL은 웹 브라우저나 웹 클라이언트가 웹 서버에게 어떤 리소스를 요청할지를 결정하는 데 사용된다. 일반적으로 URL은 다음과 같은 구조를 가지고 있다. scheme://host:port/path?query#fragment scheme - 리소스에 접근하기 위해 사용되는 프로토콜을 나타낸다. 예를 들면 http, https, ftp 등이 있다. host - 리소스가 위치한 서버의 도메..
2023.12.16 -
장고 뷰(View) 장고(Django)에서 뷰(View)는 웹 애플리케이션의 사용자 인터페이스를 정의하고 클라이언트로부터 오는 요청을 처리하는 부분이다. 장고에서 추구하는 뷰에 대한 특징들에 대해 알아보는 시간을 가져보자. 단순성 뷰를 작성하는 것은 함수를 작성하는 것만큼 단순하고 직관적이어야 한다. 뷰는 요청 처리의 지휘자이다. 뷰에서 모든 처리를 하지 말 것 뷰는 비즈니스 처리를 위임할 뿐, 직접 비즈니스 로직을 구현하지는 않는다. Model/Form/Serializer를 적절히 활용해야 한다. 개발자는 함수로 처리할 수 있는 일을 하기 위해 클래스의 인스턴스를 굳이 생성하지 않아도 된다. 물론 함수(Function Based View)로 복잡한 처리를 할 수 있고, 클래스(Class Based Vi..
[Django] 장고 뷰(View)장고 뷰(View) 장고(Django)에서 뷰(View)는 웹 애플리케이션의 사용자 인터페이스를 정의하고 클라이언트로부터 오는 요청을 처리하는 부분이다. 장고에서 추구하는 뷰에 대한 특징들에 대해 알아보는 시간을 가져보자. 단순성 뷰를 작성하는 것은 함수를 작성하는 것만큼 단순하고 직관적이어야 한다. 뷰는 요청 처리의 지휘자이다. 뷰에서 모든 처리를 하지 말 것 뷰는 비즈니스 처리를 위임할 뿐, 직접 비즈니스 로직을 구현하지는 않는다. Model/Form/Serializer를 적절히 활용해야 한다. 개발자는 함수로 처리할 수 있는 일을 하기 위해 클래스의 인스턴스를 굳이 생성하지 않아도 된다. 물론 함수(Function Based View)로 복잡한 처리를 할 수 있고, 클래스(Class Based Vi..
2023.12.15 -
장고에서의 요청 처리 View 함수를 통한 클라이언트 요청 처리 1/3 import json from django.http import HttpResponse, HttpRequest def index(request: HttpRequest): # 단순 text 문자열 content = "HELLO WORLD" # HTML 문자열 # 복잡한 문자열 조합은 템플릿 엔진을 활용하면 편리하다. content = """HELLO WORLD""" # 개체를 json 문자열로 변환(직렬화, Serialize) post_list = [ {"title" : "안녕 파이썬", "author" : "Jack"}, {"title" : "안녕 장고", "author" : "Snider"} ] content = json.dumps..
[Django] 장고에서의 요청 처리장고에서의 요청 처리 View 함수를 통한 클라이언트 요청 처리 1/3 import json from django.http import HttpResponse, HttpRequest def index(request: HttpRequest): # 단순 text 문자열 content = "HELLO WORLD" # HTML 문자열 # 복잡한 문자열 조합은 템플릿 엔진을 활용하면 편리하다. content = """HELLO WORLD""" # 개체를 json 문자열로 변환(직렬화, Serialize) post_list = [ {"title" : "안녕 파이썬", "author" : "Jack"}, {"title" : "안녕 장고", "author" : "Snider"} ] content = json.dumps..
2023.12.14 -
웹 크롤링 실습(기본 편) 4 - 네이버 뉴스 가져오기 이번 실습으로는 네이버에서 구글의 주식인 알파벳 A주에 대한 뉴스 정보를 크롤링해 보는 시간을 가져보자. 크롤링을 하기에 앞서 이번 시간에 필요한 라이브러리는 requests와 BeautifulSoup이기 때문에 설치가 되어있지 않은 분들은 아래와 같은 명령어로 필요한 라이브러리를 먼저 설치하자. pip install requests pip install beautifulsoup4 먼저 네이버에 접속해 검색 키워드로 "알파벳 A주"를 입력 후, "뉴스" 탭을 클릭하면 위와 같은 화면이 나올 것이다. 이제 크롤링을 하기 위해선 2가지의 정보가 필요하다. 먼저 해당 화면에서 F12를 눌러 개발자 도구를 켠 후, 아래 빨간색 네모로 표시된 부분을 클릭하자..
[Crawler] 파이썬 웹 크롤링 실습(기본편) 4 - 네이버 뉴스 가져오기웹 크롤링 실습(기본 편) 4 - 네이버 뉴스 가져오기 이번 실습으로는 네이버에서 구글의 주식인 알파벳 A주에 대한 뉴스 정보를 크롤링해 보는 시간을 가져보자. 크롤링을 하기에 앞서 이번 시간에 필요한 라이브러리는 requests와 BeautifulSoup이기 때문에 설치가 되어있지 않은 분들은 아래와 같은 명령어로 필요한 라이브러리를 먼저 설치하자. pip install requests pip install beautifulsoup4 먼저 네이버에 접속해 검색 키워드로 "알파벳 A주"를 입력 후, "뉴스" 탭을 클릭하면 위와 같은 화면이 나올 것이다. 이제 크롤링을 하기 위해선 2가지의 정보가 필요하다. 먼저 해당 화면에서 F12를 눌러 개발자 도구를 켠 후, 아래 빨간색 네모로 표시된 부분을 클릭하자..
2023.12.13 -
장고의 설계 철학 마감일을 가진 완벽주의자를 위한 웹 프레임워크 장고(Django)는 "The Web framework for perfectionists with deadlines(마감일을 가진 완벽주의자를 위한 웹 프레임워크)"라는 슬로건을 가지고 있으며, 아래의 설계 철학을 중요시하고 있다. 설계 철학 의미 DRY(Don't Repeat Yourself) 코드의 중복을 피하고 재사용성을 높이는 것이 목표이다. 장고는 중복 코드를 최소화하고 모델, 뷰, 템플릿 등의 각 부분 간에 논리적 분리를 제공한다. Convention over Configuration(CoC) 장고는 개발자들이 설정할 부분을 최소화하고 대신 일반적인 설정과 구조를 기본으로 제공한다. 이는 개발자가 더 적은 결정을 내려야 하며, 더..
[Django] 장고의 설계 철학장고의 설계 철학 마감일을 가진 완벽주의자를 위한 웹 프레임워크 장고(Django)는 "The Web framework for perfectionists with deadlines(마감일을 가진 완벽주의자를 위한 웹 프레임워크)"라는 슬로건을 가지고 있으며, 아래의 설계 철학을 중요시하고 있다. 설계 철학 의미 DRY(Don't Repeat Yourself) 코드의 중복을 피하고 재사용성을 높이는 것이 목표이다. 장고는 중복 코드를 최소화하고 모델, 뷰, 템플릿 등의 각 부분 간에 논리적 분리를 제공한다. Convention over Configuration(CoC) 장고는 개발자들이 설정할 부분을 최소화하고 대신 일반적인 설정과 구조를 기본으로 제공한다. 이는 개발자가 더 적은 결정을 내려야 하며, 더..
2023.12.12 -
geolocation API 사용하기 geolocation API는 웹 브라우저에서 사용자의 위치 정보를 얻기 위한 JavaScript API이다. 이 API를 사용하면 웹 애플리케이션에서 사용자의 위치를 파악하여 지리적인 정보를 활용할 수 있다. 📢 geolocation API는 어떻게 가져올까? geolocation API는 웹 브라우저에서 제공하는 내장 API 중 하나로, 사용자의 위치 정보를 얻을 수 있도록 설계되어 있다. 이 API는 웹 브라우저에 기본적으로 내장되어 있어 별도로 외부 라이브러리를 가져오지 않고도 JavaScript에서 직접 사용할 수 있다. 웹 브라우저는 보안 및 개인정보 보호를 위해 사용자의 위치 정보에 대한 접근 권한을 요청하고, 사용자가 권한을 부여하면 JavaScript..
[JavaScript] geolocation API 기본 사용법(위치 정보 가져오기)geolocation API 사용하기 geolocation API는 웹 브라우저에서 사용자의 위치 정보를 얻기 위한 JavaScript API이다. 이 API를 사용하면 웹 애플리케이션에서 사용자의 위치를 파악하여 지리적인 정보를 활용할 수 있다. 📢 geolocation API는 어떻게 가져올까? geolocation API는 웹 브라우저에서 제공하는 내장 API 중 하나로, 사용자의 위치 정보를 얻을 수 있도록 설계되어 있다. 이 API는 웹 브라우저에 기본적으로 내장되어 있어 별도로 외부 라이브러리를 가져오지 않고도 JavaScript에서 직접 사용할 수 있다. 웹 브라우저는 보안 및 개인정보 보호를 위해 사용자의 위치 정보에 대한 접근 권한을 요청하고, 사용자가 권한을 부여하면 JavaScript..
2023.12.11 -
자바 EOF(End Of File) 처리 EOF는 End of File의 약어로, 파일의 끝을 나타내는 특수한 마커이다. 파일에서 더 이상 읽을 내용이 없거나 쓸 내용이 없을 때, EOF 마커가 나타나며, 이는 파일의 끝을 나타내어 프로그램에게 파일의 끝을 인식할 수 있게 한다. EOF는 주로 파일 읽기나 입력 소스에서 데이터를 읽을 때 사용된다. 예를 들어, 파일의 끝에 도달했을 때 반복문을 종료하는 데 사용할 수 있다. 파일에서 데이터를 읽을 때 EOF를 확인하여 계속해서 읽을지, 아니면 종료할지 결정할 수 있다. 파일의 끝은 파일의 끝 부분이 아닌, 파일에서 더 이상 읽을 데이터가 없는 지점을 나타낸다. 파일에서 EOF를 확인하는 방법은 프로그래밍 언어나 도구에 따라 다를 수 있다. 대표적으로 파일..
[Java] 자바 EOF(End Of File) 처리자바 EOF(End Of File) 처리 EOF는 End of File의 약어로, 파일의 끝을 나타내는 특수한 마커이다. 파일에서 더 이상 읽을 내용이 없거나 쓸 내용이 없을 때, EOF 마커가 나타나며, 이는 파일의 끝을 나타내어 프로그램에게 파일의 끝을 인식할 수 있게 한다. EOF는 주로 파일 읽기나 입력 소스에서 데이터를 읽을 때 사용된다. 예를 들어, 파일의 끝에 도달했을 때 반복문을 종료하는 데 사용할 수 있다. 파일에서 데이터를 읽을 때 EOF를 확인하여 계속해서 읽을지, 아니면 종료할지 결정할 수 있다. 파일의 끝은 파일의 끝 부분이 아닌, 파일에서 더 이상 읽을 데이터가 없는 지점을 나타낸다. 파일에서 EOF를 확인하는 방법은 프로그래밍 언어나 도구에 따라 다를 수 있다. 대표적으로 파일..
2023.12.10 -
파이썬 웹 크롤링(기본 편) 3 - CSS 선택자 웹 크롤러를 만들 때 CSS 선택자는 매우 유용한 도구 중 하나이다. CSS 선택자를 사용하면 특정 HTML 요소를 쉽게 선택하고 추출할 수 있다. BeautifulSoup과 같은 라이브러리를 사용하면 파이썬으로 웹 크롤러를 작성할 때 css 선택자를 활용할 수 있다. CSS란 무엇인가? CSS(Cascading Style Sheets)는 웹 페이지의 스타일을 정의하는 스타일 시트 언어이다. HTML이 웹 페이지의 구조를 정의한다면, CSS는 웹 페이지의 디자인 및 레이아웃을 담당한다. 즉, HTML로 작성된 문서의 스타일을 꾸미고 표현하는 역할을 한다. CSS는 다음과 같은 주요 기능을 제공한다. 페이지 스타일링 - CSS는 텍스트의 색상, 글꼴, 크기..
[Crawler] 파이썬 웹 크롤링(기본편) 3 - CSS 선택자파이썬 웹 크롤링(기본 편) 3 - CSS 선택자 웹 크롤러를 만들 때 CSS 선택자는 매우 유용한 도구 중 하나이다. CSS 선택자를 사용하면 특정 HTML 요소를 쉽게 선택하고 추출할 수 있다. BeautifulSoup과 같은 라이브러리를 사용하면 파이썬으로 웹 크롤러를 작성할 때 css 선택자를 활용할 수 있다. CSS란 무엇인가? CSS(Cascading Style Sheets)는 웹 페이지의 스타일을 정의하는 스타일 시트 언어이다. HTML이 웹 페이지의 구조를 정의한다면, CSS는 웹 페이지의 디자인 및 레이아웃을 담당한다. 즉, HTML로 작성된 문서의 스타일을 꾸미고 표현하는 역할을 한다. CSS는 다음과 같은 주요 기능을 제공한다. 페이지 스타일링 - CSS는 텍스트의 색상, 글꼴, 크기..
2023.12.09 -
SQL three valued logic Three valued logic, 혹은 3VL은 참(True), 거짓(False), 그리고 알 수 없음(Unknown) 세 가지 값 중 하나를 갖는 논리 체계를 나타낸다. SQL에서 three valued logic은 데이터베이스 쿼리에서 NULL 값을 다루는 데 사용된다. 참(True) - 조건이 참인 경우에 해당한다. 거짓(False) - 조건이 거짓인 경우에 해당한다. 알 수 없음(Unknown) - 조건에 따라 결과를 알 수 없는 경우에 해당한다. 주로 NULL 값을 나타낸다. SQL에서 NULL의 의미 SQL에서 NULL은 데이터가 unknown(알 수 없음), unavailable or withheld(이용 불가능하거나 제공되지 않음), not app..
[Database] SQL three valued logicSQL three valued logic Three valued logic, 혹은 3VL은 참(True), 거짓(False), 그리고 알 수 없음(Unknown) 세 가지 값 중 하나를 갖는 논리 체계를 나타낸다. SQL에서 three valued logic은 데이터베이스 쿼리에서 NULL 값을 다루는 데 사용된다. 참(True) - 조건이 참인 경우에 해당한다. 거짓(False) - 조건이 거짓인 경우에 해당한다. 알 수 없음(Unknown) - 조건에 따라 결과를 알 수 없는 경우에 해당한다. 주로 NULL 값을 나타낸다. SQL에서 NULL의 의미 SQL에서 NULL은 데이터가 unknown(알 수 없음), unavailable or withheld(이용 불가능하거나 제공되지 않음), not app..
2023.12.08 -
파이썬 웹 크롤링(기본 편) 2 - beautifulsoup BeautifulSoup은 HTML 및 XML 문서를 파싱 하고, 문서의 특정 부분에서 데이터를 추출하는 데 사용되는 파이썬 라이브러리이다. 이를 통해 웹 스크레이핑과 같은 작업을 수행할 수 있다. 주로 웹 페이지에서 원하는 정보를 추출하기 위해 사용된다. 또한, HTML 또는 XML 문서를 구문 분석하고, 해당 문서의 요소에 쉽게 접근할 수 있는 메서드와 속성을 제공한다. 이를 통해 사용자는 원하는 정보를 추출하거나 문서의 구조를 탐색하는 작업을 편리하게 수행할 수 있다. pip install beautifulsoup4 위의 명령어를 입력하여 beautifulsoup 라이브러리를 설치할 수 있다. 설치가 완료되었다면 간단한 예제 코드로 bea..
[Crawler] 파이썬 웹 크롤링(기본편) 2 - beautifulsoup파이썬 웹 크롤링(기본 편) 2 - beautifulsoup BeautifulSoup은 HTML 및 XML 문서를 파싱 하고, 문서의 특정 부분에서 데이터를 추출하는 데 사용되는 파이썬 라이브러리이다. 이를 통해 웹 스크레이핑과 같은 작업을 수행할 수 있다. 주로 웹 페이지에서 원하는 정보를 추출하기 위해 사용된다. 또한, HTML 또는 XML 문서를 구문 분석하고, 해당 문서의 요소에 쉽게 접근할 수 있는 메서드와 속성을 제공한다. 이를 통해 사용자는 원하는 정보를 추출하거나 문서의 구조를 탐색하는 작업을 편리하게 수행할 수 있다. pip install beautifulsoup4 위의 명령어를 입력하여 beautifulsoup 라이브러리를 설치할 수 있다. 설치가 완료되었다면 간단한 예제 코드로 bea..
2023.12.07 -
파이썬 웹 크롤링(기본 편) 1 - requests 크롤러를 만들기에 앞서 필요한 HTTP 통신을 위한 라이브러리인 requests 라이브러리를 설치하여야 한다. 아래의 명령어를 터미널에 입력하여 라이브러리를 설치하자. pip install requests requests 라이브러 설치가 완료되었다면 간단하게 requests 라이브러리의 사용법을 한 번 살펴보자. import requests response = requests.get("https://www.naver.com") html = response.text print(html) 설치한 requests 라이브러리를 소스 파일로 가져오기 위해 import requests를 해준다. 그 후, requests 라이브러리의 get 함수를 사용하여 "네이버..
[Crawler] 파이썬 웹 크롤링(기본편) 1 - requests파이썬 웹 크롤링(기본 편) 1 - requests 크롤러를 만들기에 앞서 필요한 HTTP 통신을 위한 라이브러리인 requests 라이브러리를 설치하여야 한다. 아래의 명령어를 터미널에 입력하여 라이브러리를 설치하자. pip install requests requests 라이브러 설치가 완료되었다면 간단하게 requests 라이브러리의 사용법을 한 번 살펴보자. import requests response = requests.get("https://www.naver.com") html = response.text print(html) 설치한 requests 라이브러리를 소스 파일로 가져오기 위해 import requests를 해준다. 그 후, requests 라이브러리의 get 함수를 사용하여 "네이버..
2023.12.06 -
SQL 쿼리 안의 쿼리 subquery(MySQL) 쿼리 안의 쿼리란 SQL 쿼리문 안에서 또 다른 SQL 쿼리문을 사용하는 것을 의미한다. 이는 서브쿼리(Subquery) , 중첩 쿼리(Nested Query) 또는 inner query라고도 불린다. 서브쿼리는 주로 다음과 같은 상황에서 사용된다. 조건에 따른 필터링 - 다른 쿼리의 결과에 따라 현재 쿼리에서 가져올 데이터를 조건적으로 필터링할 때 사용된다. 계산된 값 사용 - 다른 쿼리의 결과를 계산에 활용하거나, 계산된 값을 이용해 현재 쿼리에서 원하는 결과를 얻을 때 사용된다. 서브쿼리의 결과에 따라 정렬 및 그룹화 - 서브쿼리의 결과에 따라 정렬하거나 그룹화할 때 사용된다. 서브쿼리를 사용하는 이유는 주로 복잡한 데이터베이스 상황에서 원하는 결..
[Database] SQL 쿼리 안의 쿼리 subquery(MySQL)SQL 쿼리 안의 쿼리 subquery(MySQL) 쿼리 안의 쿼리란 SQL 쿼리문 안에서 또 다른 SQL 쿼리문을 사용하는 것을 의미한다. 이는 서브쿼리(Subquery) , 중첩 쿼리(Nested Query) 또는 inner query라고도 불린다. 서브쿼리는 주로 다음과 같은 상황에서 사용된다. 조건에 따른 필터링 - 다른 쿼리의 결과에 따라 현재 쿼리에서 가져올 데이터를 조건적으로 필터링할 때 사용된다. 계산된 값 사용 - 다른 쿼리의 결과를 계산에 활용하거나, 계산된 값을 이용해 현재 쿼리에서 원하는 결과를 얻을 때 사용된다. 서브쿼리의 결과에 따라 정렬 및 그룹화 - 서브쿼리의 결과에 따라 정렬하거나 그룹화할 때 사용된다. 서브쿼리를 사용하는 이유는 주로 복잡한 데이터베이스 상황에서 원하는 결..
2023.12.05