오늘 한 일 진행 중인 프로젝트에서 배포를 진행하였다. 배포를 처음 해보면서 aws에 대해서 학습하게 되고 aws의 세부 기능들, linux 사용방법, cmd 사용방법 등 다양한 것을 배울 수 있었다. 서버와 DB는 ec2, 프론트는 s3로 배포하였다. 크롤링 기능을 구현하였는데 ec2에서 크롤링 기능을 해보려고 하니 생각보다 오류가 꽤 많이 나왔다. 처음에는 키페어가 무엇인지, 인스턴스가 무엇인지 잘 몰랐고, 터미널에 익숙하지 않아 filezila를 이용해서 파일을 옮기고 수정했었고, 시간이 지나면서 터미널 사용할 수 있게 되었다. 느낀 점 최종 프로젝트를 진행하면서 다양한 기술들을 접하게 되고 많은 경험을 할 수 있었다.
오늘 한 일 오늘은 중간발표가 끝난 후 2주간 프로젝트를 마무리하는 기간이다. 우리 조는 이번 한 주간은 자신이 해보고 싶은 기능을 구현하기로 하였다. 나는 백그라운드 잡을 이용한 크롤링 자동화를 맡아서 진행하였다. Spring에서 제공해 주는 백그라운드 잡으로는 scheduler, quatz가 있었다. 스케줄러는 의존성을 추가하지 않고 어노테이션만 추가하면 사용할 수 있었고 Quatz는 스케줄러보다 세밀한 기능을 제공하지만 난도가 있는 기술이었다. 나는 스케줄러를 사용해서 충분히 구현할 수 있는 부분이었기 때문에 스케줄러를 사용하였다. 크롤링이 종료되지 않는 이슈가 있었는데, 고수님의 조언을 들어보니 cron표현식에 문제가 있었다. @Scheduled(cron = "0 48 1 * * ?") 앞에 0을..
현재 진행 중인 부트캠프에서 최종프로젝트를 진행 중인데 벌써 절반의 시간이 지나갔다. 5주간의 최종프로젝트에서 벌써 3주차의 중간발표를 하게 되었다. 1. 시연영상 https://www.youtube.com/watch?v=DbSI2MoX6Z0&t=8s 2. 기술적 의사결정 & 트러블슈팅 기록 Redis 데이터 액세스 지연 시간을 줄일 수 있다. 가용성이 뛰어난 인 메모리 캐시 구현에 매우 적합함. 메모리를 저장하고 조회하는 것에 빠르다. 크롤링 로켓펀치 사이트 채용정보를 크롤링하기 위해서 Jsoup과 Selenium을 사용하였습니다. Jsoup은 자바 오픈소스 라이브러리로 정적 페이지 크롤러입니다. Selenium은 동적 크롤링을 지원해 줍니다. Jsoup이 Selenium보다 처리속도가 빠르기 때문에 ..
오늘 한 일 오늘은 팀원이 Spring으로 구현한 Oauth2를 프론트로 연결하는 작업을 하였다. 카카오 로그인만을 진행하였고, Oauth2를 spring에서 작업하지 않았지만, 프론트로 연결하면서 Oauth의 구조에 대해서 이해할 수 있었다. 카카오 로그인을 누르면 카카오에서 코드를 제공해주고 받은 코드를 서버에 보낸 후 data를 저장한 후 다시 토큰으로 웹에 제공해주면 이를 로컬 스토리지에 저장하여 사용한다. 처음해보는 프론트 작업에 카카오 연동까지 하려니 꽤나 시간을 많이 투자하였고, 팀원이 모두 달라 붙어서 고민하였다. 어떻게 해결해야 하는지 구상은 되었지만 프론트에 대한 지식이 부족하여 팀원에게 해결 방법을 말로 표현하였고 팀원의 도움으로 해결할 수 있었다. 배운점 이번주에는 계속 프론트 작업..