본문 바로가기

분류 전체보기110

Jsoup으로 크롤링하기 build.gradle에 의존성 추가 implementation 'org.jsoup:jsoup:1.13.1' url로 크롤링할 페이지 접근하기 String crawlingURL = "크롤링할 주소"; Document document = Jsoup.connect(crawlingURL).get(); 원하는 정보 찾기 getElementById getElementsByTag getElementsByClass getElementsByAttribute 특정 정보 text로 변환하기 String info = elements[0].select("td").text(); 공식 문서에 더욱 자세한 정보가 나와있습니다. https://jsoup.org jsoup Java HTML Parser, with the best of.. 2020. 4. 12.
Spring - @Valid @Requestbody Collection 유효성 검사 하는 법 @Valid를 사용하여 Controller 단에서 유효성을 검사하고자 했는데 테스트 결과 Controller 단이 아닌 Entity에 접근할때 유효성 에러가 나는 것을 발견하였다. 알아보니 @Valid는 Object 기준이라 Collection일 경우 유효성 검사가 이루어지지 않는 것이었다. 이를 해결하기 위해 아래와 같이 Validator을 커스텀하여 작성한다. import org.springframework.stereotype.Component; import org.springframework.validation.Errors; import org.springframework.validation.Validator; import org.springframework.validation.beanvalidat.. 2020. 3. 30.
[BOJ] 1920. 수 찾기 key 값으로 수를 쉽게 찾기 위해 set 자료구조를 사용하였습니다. https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다. www.acmicpc.net #include #include using namespace std; int N, M; set numbers; int main() { cin.tie(0); cout.tie(0); ios::sync.. 2020. 3. 25.
[BOJ] 11650. 좌표 정렬하기 좌표를 저장할 클래스를 만들고 vector로 좌표들을 관리하였습니다. 그리고 이를 요구사항에 맞는 비교 함수를 정의하여 정렬하였습니다. https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net #include #include #include using namespace std; class Location { public: int x; int y; Location(int _x, int _y) { x =.. 2020. 3. 25.