전체 글

https://codegarden-farmjun.tistory.com/73 [Java] Jsoup을 사용해서 크림(KREAM) 웹 스크래핑하기 Jsoup을 사용하게 된 이유 현재 진행 중인 앱런칭 프로젝트에서 리셀 상품들의 데이터가 필요하게 됐습니다. 팀원들과 회의 결과 데이터의 크기가 가장 거대하고 신뢰가는 데이터들이 존재하는 codegarden-farmjun.tistory.com 이전 글과 내용이 이어지므로, 해당글의 내용을 이해를 돕기 위해 먼저 읽으면 도움이 될 것입니다. Selenium을 사용하게 된 이유 크림에서 누적 거래 데이터를 스크래핑하기 위해서는 사이트 로그인이 필수였습니다. Jsoup으로 로그인 후 데이터를 스크래핑하기 위한 코드를 짜보고 싶었지만, 생각보다 잘 구현이 되지 않아 막막..
Jsoup을 사용하게 된 이유 현재 진행 중인 앱런칭 프로젝트에서 리셀 상품들의 데이터가 필요하게 됐습니다. 팀원들과 회의 결과 데이터의 크기가 가장 거대하고 신뢰가는 데이터들이 존재하는 크림(KREAM)사이트를 스크래핑하여 데이터들을 모으기로 했습니다. https://kream.co.kr/ KREAM | 한정판 거래의 FLEX 한정판을 거래하는 가장 확실한 방법 kream.co.kr 스크래핑을 어떤 기술을 사용하여 진행할지 결정해야했습니다. 아무래도 웹 스크래핑이 처음이다보니 다양한 라이브러리들을 사용해본 후 결정하기로 했습니다. 그래서 먼저 Jsoup 라이브러리를 사용해 스크래핑을 진행했습니다. IntelliJ IDEA에서 Jsoup 라이브러리 추가하기 https://jsoup.org/download..
1. apt-get 도구 업데이트 sudo apt-get update 위의 명령어를 입력해준다. 그리고 설정한 가상머신 비밀번호를 입력해준다. 2. apt-get 도구 업그레이드 sudo apt-get upgrade 위의 명령어를 입력해준다. 3. desktop 설치 sudo apt-get install ubuntu-desktop 위의 명령어를 입력해준다. 설치가 진행되다가 계속할거냐고 물어본다. y 입력~~ 그러면 다시 설치가 진행된다. 시간이 좀 걸리니 차분히 기다리기~~ sudo reboot 설치가 완료되면 위의 명령어를 입력해 가상머신을 재부팅한다. 그러면 이렇게 깔끔한 GUI가 등장! 설정한 비밀번호를 입력해주면~~~ 짜잔~~
1. UTM 설치 https://mac.getutm.app/ UTM Securely run operating systems on your Mac mac.getutm.app Download 버튼을 클릭해서 UTM 가상머신을 설치한다. 2. Linux 배포판 Ubuntu 설치 "Download Ubutu 22.04.1 LTS" 버튼을 클릭해서 설치받는다. 3. UTM 실행 두개 다 설치가 끝났다면 UTM을 실행한다. 그러면 이렇게 뜰 것이다. 왼쪽에 있는 리스트들은 본인이 전에 미리 만들어서 사용하던 가상머신들이다. 따라서 처음 UTM을 열었을 때는 아무것도 없는 것이 정상이지 신경 쓰지 말자. 이제 그럼 속전속결로 가상머신 생성법을 알아보자. 새 가상머신 만들기 클릭! Virtualize, Emulate라..
Homebrew란? Homebrew는 맥스 호웰이 만든 MacOS용 패키지 관리자이다. MacOS에서 프로그래밍하는 사람들에게는 사실상 필수적이다. Homebrew를 통해 터미널(Terminal)에서 명령어를 통해 필요한 프로그램을 설치, 삭제, 업데이트할 수 있다. Homebrew 설치하기 먼저 Homebrew사이트에 접속하셔서 하단에 있는 명령어를 복사하거나 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 위의 코드를 복사해서 터미널에 입력해준다. 참고로 "$ ~~~ .sh)"부분만 복붙해야한다. sudo 권한으로 설치가 되기 때문에 맥북 로그인 시 사용되는 password를 입..
UMC란? UMC는 University Makeus Challenge의 약자이다. 이름에서 알 수 있듯이 Makeus에서 뻗어 나온 대학생을 위한 연합 동아리이다. 유명한 CMC(Central MakeUs Challenge) 보다는 개발을 처음 접하는 대학생들을 위해 배움과 성장에 집중되어있다. UMC 홈페이지 https://www.makeus.in/umc University MakeUs Challenge [UMC] Main.mp4 www.makeus.in 사진처럼 전국에 다양한 학교들이 UMC에 속해있다. 지원 동기 어느덧 2학년 2학기가 되었고, 이제는 슬슬 대외 활동을 하며 학교에서 배우지 않는 개발을 공부해야겠다고 느꼈다. 학교 에브리타임에서 UMC 홍보 게시글을 보았고, 주변 지인들의 평가도 긍..
문제 : https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 어떤 문제인가? 빈칸, 벽, 바이러스 총 세 종류로 맵을 채울 수 있다. 이때, 임의의 벽을 추가로 3개 세운다. 추가로 세운 벽의 위치에 따라 안전한 공간의 개수가 바뀐다. 임의의 벽을 세웠을 때 안전한 공간의 최대 개수를 출력하면 된다. 접근 방법 코드를 먼저 보면 복잡하고 이해하기 어려울 것 같으니 대략적인 문제풀이의 방향을 보고 코드를 보자! 1. map에 입력받기 이때, 바이러스의 위치와 빈..
문제 : https://www.acmicpc.net/problem/6593 6593번: 상범 빌딩 당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져있다. 각 정육면체는 금으로 이루어져 있어 www.acmicpc.net 어떤 문제인가? 이 문제는 기존의 2차원에서 움직이던 그래프 탐색이 아니라 3차원으로 이동해야 한다. 시작 좌표 S부터 움직여가며 도착 좌표 E까지 이동하는 게 걸리는 시간을 출력하면 된다. 접근 방법 int dx[6] = {1, -1, 0, 0, 0, 0}; int dy[6] = {0, 0, 1, -1, 0, 0}; int dz[6] = {0, 0, 0, 0, 1, -1}; 위의 배열들은 x..
문제 : https://www.acmicpc.net/problem/2589 2589번: 보물섬 첫째 줄에는 보물 지도의 세로의 크기와 가로의 크기가 빈칸을 사이에 두고 주어진다. 이어 L과 W로 표시된 보물 지도가 아래의 예와 같이 주어지며, 각 문자 사이에는 빈 칸이 없다. 보물 지도의 www.acmicpc.net 어떤 문제인가? 입력을 받으면 땅인 부분과 바다인 부분이 생긴다. 한 땅 덩어리가 하나의 연결 요소라고 생각하면 된다. 이때 연결 요소 내에서 한 정점에서 다른 정점으로 가는 최대 거리를 출력하면 되는 것이다. 접근 방법 int dx[4] = {1, -1, 0, 0}; int dy[4] = {0, 0, 1, -1}; 한 정점에서 상, 하, 좌, 우로 움직이기 위한 배열이다. char map[..
문제 : https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 어떤 문제인가? 아주 간단한 문제이다. 기존의 상, 하, 좌, 우로 그래프를 탐색하던 방법에서 나이트의 이동 방식처럼만 움직이며 탐색하면 되는 문제이다. 나이트의 시작 위치와 도착 위치가 주어졌을 때 도착하는 최소 횟수를 출력하면 된다. 접근 방법 int dx[8] = {-2, -2, -1, -1, 1, 1, 2, 2}; int dy[8] = {1, -1, 2, -2, 2, -2, 1, -..
팜준
코드가 자라나는 텃밭