728x90
# 목적 CSS Selector와 XPath의 개념과 사용법을 확인하고, 예시 HTML 문서를 통해 몇가지 요소들을 CSS Selector와 XPath 방식으로 셀렉하는 방법을 정리하고자 한다. # CSS Selector & XPath 개념 # CSS Selector CSS는 HTML과 함께 웹 개발을 시작할 때 접하게 되는데, 웹 페이지를 구성하는 뼈대인 HTML 문서에 스타일을 입히는 언어이다. CSS Selector는 CSS 스타일을 적용하기 위해 특정 HTML 요소를 선택하는 패턴이다. This is an example. This is another example. 위 HTML 문서에서 style 태그 안의 ".example" 부분이 CSS Selector이다. # XPath XPath는 XML ..
한달 전에 초안을 작성했는데, 블로그에 신경을 잘 못쓰느라 이제서야 마무리하고자 한다. # 진행된 요소 일회성으로 제목, 링크, 가격, 배송비, 등록일, 카테고리, 광고유무, 판매자 정보를 한 페이지 크롤링 후 엑셀 파일로 저장 네이버 쇼핑 확장성 있게 크롤링하기 with Selenuim & Excel - 1 # 목적 네이버 쇼핑 사이트의 제품명, 가격 등에 대한 데이터들을 확장성을 갖고 정기적으로 수집이 가능한 Python 실행 프로그램을 구현하기 위함이다. 직접 requests을 사용해 파싱할 HTML 문서를 alive-wong.tistory.com # 진행할 요소 N개의 쿼리명이 저장된 엑셀 파일을 읽어 해당 쿼리에 대한 크롤링 결과물을 반환 충돌이 일어나지 않도록 결과 파일을 저장 쿼리와 함께 크..
# 목적네이버 쇼핑 사이트의 제품명, 가격 등에 대한 데이터들을 확장성을 갖고 정기적으로 수집이 가능한 Python 실행 프로그램을 구현하기 위함이다. 직접 requests을 사용해 파싱할 HTML 문서를 수집하는 방식이 아닌 Selenuim을 사용한다. Selenuim을 선택한 이유는 반응형 & 동적 웹페이지의 데이터를 원할하게 수집하기 위함이다. 추후 로그인을 필요로 하는 수집 사이트도 확장하기 위함이다. 네이버 쇼핑, 다나와의 SRP를 확인하였을 때 URL Query를 통해 페이지 접근이 가능하지만, 페이지 렌더링 시간이 불규칙적인 점과 추후 크롤링의 안정성과 확장성을 위해서 Selenuim을 사용한 크롤링을 진행했다. 최종 목적 아래와 같다.쿼리 명이 담겨 있는 엑셀 파일 명과 함께 프로그램을 동..
두달간의 자체 자숙을 마치고 블로그로 기어나왔다. 새해를 맞이하고 블로그도 열심히 작성해야겠다 다짐했지만, 주제도 떠오르지 않고 공부 의지 모두 바닥이였어서 재정비의 시간으로 삼았다 생각하련다. 이 포스팅의 목적은 잃어버린 두달 동안 뭐했는지와 지금의 생각과 삶을 기록하기 위함이다. 언젠가 이 글을 다시 보게되면 왜 이런 걸 썼을까 부끄러워하겠지만, 이 또한 받아들일 용기를 가져볼 생각이다.# 지난 2달간의 경험일그러진 구직 활동구직 활동이 가장 큰 이슈였고, 일그러진채로 마침표를 찍었다. 한달 전을 돌아봤을 때, 방황을 많이 했던 것 같다. 카카오 클라우드 스쿨을 수료하면서 높아진 자의식 때문에 메타인지가 약해져서 자기 객관화가 되지 않았다. 혼자만의 시간을 체계적으로 보내지 못했고 느낌에 따라 움직이..
본 포스팅은 자청의 "역행자: 확장판" 을 요약 정리한 내용이 아닌 후기이다. 금전적 지원 받은거 없음 # 역행자 작년 10월쯤 부모님이 도움이 될 법한 책이라며 역행자를 권유하면서 처음 접하게 되었다. 당시에는 프로젝트를 한다 코딩 테스트 준비를 해야한다 뭐다 바쁜척을 했어서 보지 않았었는데, 부모님의 말은 틀린 것이 없다 하던가 역행자 책을 읽고 내 인생이 드라마틱하게 바뀐건 아니지만 고쳐야할 삶의 방식을 여럿 찾아볼 수 있었고 지금은 변화하기 위해 노력하며 살고 있다. 나름의 변화도 생겼다..! 역행자와 함께 나의 삶에 대한 제대로된 성찰을 할 수 있었고, 특별하게 생각했던 나를 되돌아보는 계기가 되었다. 사실 연초 계획 상 1월달에 책 내용을 다시 정리하고 후기를 작성하려고 했는데, 게임에 빠지고..
연말동안 약속과 여행 때문에 열흘간 블로그 글도 쓰지 않고, 계획했던 일정들을 마무리하지 못했다. 열흘 사이에 예전에 했었던 로스트아크도 반짝 열심히하다보니, 스스로에 대한 죄책감도 덩달아 커져갔다. 새로운 한해를 맞이하면서 나아갈 방향성을 정리해볼 계획이다. 해방 본인은 2024년을 "해방"의 한 해로 보낼 계획이다. 2024년도에는 지금껏 살아오면서 가지고 있었던 크고 작은 열등감과 본인의 환경으로부터 해방되고자 한다. 이를 위해 변화해야할 부분을 작성해보면서 스스로 다짐한다. # 가져갈 것들 월간 독서 한달에 책 한권을 읽을 계획이다. 공부에 관련된 책보단 인문, 경제 등의 다양한 분야의 서적을 읽고자 한다. 연말부터 역행자란 책을 읽어으면서 '자청'이 가졌던 습관처럼 취업 준비 기간을 넘어 다양한..
본 포스팅은 Kubernetes Official Documents를 기반으로 한다. 리스(Lease) 분산 시스템에는 종종 공유 리소스를 잠그고 노드 간의 활동을 조정하는 메커니즘을 제공하는 "리스(Lease)"가 필요하다. 쿠버네티스에서 "리스" 개념은 coordination.k8s.io API 그룹에 있는 Lease 오브젝 kubernetes.io # Lease 분산 시스템에는 종종 공유 리소스를 잠그고 노드 간의 활동을 조정하는 매커니즘을 제공하는 "리스"가 필요하다. 쿠버네티스에서 "리스" 개념은 coordination.k8s.io API 그룹에 있는 Lease 오브젝트로 표현되며, 노드 하트비트 및 컴포넌트 수준의 리더 선출과 같은 시스템 핵심 기능에서 사용된다. 노드 하트비트 쿠버네티스는 리스..
약 2주전 티스토리 블로그를 위한 파비콘을 제작했었다. 티스토리 아이콘(파비콘) 만들고 적용하기 블로그를 시작한지 어느덧 반년이 지나가면서 블로그 관리의 일환으로 블로그 아이콘을 바꾸는 시간을 가졌다. 이것저것 재지않고, 바로 시도해본 과정을 공유하고자 한다. 기본 티스토리 아이 alive-wong.tistory.com 엊그제 확인했을 때 구글 검색에서도 파비콘이 적용된 것을 확인할 수 있었다. 별다른 설정 없이 티스토리 블로그 관리 창에서 파비콘을 설정하는 것으로 구글에 파비콘이 반영되는지 확실하지 않아서 추가로 한 설정을 공유하고자 한다. 티스토리를 기준으로 하는 것을 참고하길 바란다. # 구글 공식 문서확인 Google 검색결과에 표시되는 웹사이트 파비콘 정의하기 | Google 검색 센터 | 문서..
코딩 테스트를 공부하면서 이진 탐색를 알고리즘을 학습했다. 먼저 해당 유형을 접해보면서 익숙해지는 과정을 진행했다. 백준 문제를 풀면서 파라메트릭 서치 방법을 접할 수 있었고, 어떤 방식으로 이진 탐색과 파라메트릭 서치의 차이점과 예제를 통해 파라메트릭 서치를 문제에 적용해보며 파라메트릭 서치가 무엇인지를 정리하고 공유하고자 한다. # 이진 탐색 - Binary Search 임의의 배열에서 특정 원소를 탐색하기 위해선 배열의 모든 원소를 하나씩 들여다보면 된다. 반복문을 통해 배열의 모든 원소를 하나씩 확인하는 방법을 완전 탐색(BruteForce Search)라고 부른다. 완전 탐색은 O(N)의 시간 복잡도를 갖는다. 단순하게 배열의 길이만큼 연산 횟수가 선형적으로 늘어난다. 10,000,000개의 원..
쿠버네티스 클러스터 구축을 위한 가상머신 세팅 - Vagrant & VMware Workstation 사용 언젠간 해봐야지 하고 미뤄뒀던 로컬 쿠버네티스 클러스터 구축을 시도한 과정을 공유하고자 한다. 이번 포스팅에서는 쿠버네티스 클러스터 구축을 위한 가상머신 세팅 과정을 담고 있다. 다음 alive-wong.tistory.com 이전 글에 이어서 Vagrant로 프로비저닝된 Ubuntu 20.04 가상 머신들을 통해서 쿠버네티스 클러스터를 구축하는 과정을 공유한다. 기존 Vagrantfile 또한 활용하여 가상머신에서 할 일을 최소하하여 클러스터를 구축하는 것이 목적이다. # 쿠버네티스 클러스터 구축 방법 우선 쿠버네티스 클러스터를 구축하기 위해 필요한 요소들과 방법들을 간략하게 정리한다. 쿠버네티스 ..