1. 크롤링 대상이 크롤링을 허용하는지 확인 2. pom.xml 에 jsoup 추가 3. 크롤링을 수행할 java 클래스 작성 4. servlet-context.xml 에 내용 추가 5. 스케쥴링 1. 크롤링 대상 사이트의 크롤링 규정을 살핍니다. 구글을 크롤링 대상으로 삼는다면 최상위 폴더 내의 robots.txt 에 접근해서 확인합니다. https://www.google.com/robots.txt User-agent : * 는 모든 크롤러에게 적용한다는 의미입니다. Disallow: /search 는 google.com/search 페이지의 크롤링은 금한다는 의미입니다. Allow:는 반대겠죠? 2. pom.xml 에 jsoup 추가 org.jsoup jsoup 1.13.1 3. 크롤링을 수행할 ja..
특정 조건을 만족하는 db값들의 그룹이 생성될 경우, 메일로 알림을 보내는 기능을 구현하고 있습니다. 지금까지의 구상은 1) 지도에서 범위를 그리고 완료를 누르면 위도, 경도, 반경을 db에 저장 2) AOP AfterReturning을 이용, db 입력 시마다 db 전체를 훑어 매칭 발생여부를 확인 3) 매칭 발생시 메일 발송 으로 진행해왔습니다. 단, 1)의 진행을 Ajax로 구현하다보니 매칭이 발생하는 db입력이 발생할 경우 사용자에게 2)와 3)의 수행 완료까지 Ajax 리턴이 지연되는 문제가 발생하였습니다. 여러 방법을 강구하다가 결국 Spring이 제공하는 Async 기능을 통해 이용하여 간단히 해결되었습니다. @Configuration 클래스에 @EnableAsync 를 선언하고 @After..
제작기간 3주 제작 인원 5명 사용 기술 : Java Swing, Oracle Database 주요 기능 : 로그인, 회원가입, 쪽지, 귓속말, Socket을 이용한 채팅, 그림 그리기. 정처기 필기 시험으로 인해 프로젝트 발표 직후 진행하지 못했던 코드리뷰를 2주가 지나서 드디어! 5명이 모여서 코드리뷰를 2시간 가량 진행했다. 코드리뷰하며 헷갈렸던 점 정리 더보기 11) 서버가 클라이언트를 낚아채서 핸들러와 짝궁 지어줄 때 list의 주소값을 주는 것이기 때문에 해당 리스트에 추가되는 값, 제거되는 값이 동일하게 적용된다. 만들어진 list 객체를 넘겨주는 게 아니라 list객체가 있는 곳(주소)을 알려주는 것이다! 2) 최초 입장 메시지 처리 시에 dto에서 닉네임 값을 꺼내서 필드에 선언해둔 ni..