Project (9) 썸네일형 리스트형 유저 회원가입, 로그인, 정보 수정 구현 (Spring Security) 유저관련 기본 API 기능을 구현해 보고자 한다. 구현전 사용할 Spring Security 에 대해 알 필요가 있다.Spring Security란?Spring Security는 인증, 권한 관리 그리고 데이터 보호 기능을 포함하여 웹 개발 과정에서 필수적인 사용자 관리 기능을 구현하는데 도움을 주는 Spring의 강력한 프레임워크이다. Spring Security 아키텍처1. 사용자의 요청이 서버로 들어온다.2. Authotication Filter가 요청을 가로채고 Authotication Manger로 요청을 위임한다.3. Authotication Manager는 등록된 Authotication Provider를 조회하며 인증을 요구한다. 4. Authotication Provider가 실제 데이터.. Crawling 버그 수정 및 개선 크롤링 서버 점검 중, 링커리어 크롤링 과정에서데이터 수집 오류: Message: Stacktrace:.... 해당 에러가 나왔다. 디버깅 해보니 사이트 엘리멘트들이 변경되어서, 해당 부분이 변경을 진행하여 에러를 수정하였다. (해당 부분에 대해 확인하고 수정하는 과정을 주기적으로 해야할 것으로 보인다.) 에러 수정한김에 추가적인 크롤링 파라미터, 함수를 변경하였다. 변경점 1. wait.until(EC.visibility_of_all_elements_located()) 함수 사용기존 사용하던 EC.presence_of_all_elements_located 함수의 경우 지정된 위치에 있는 모든 요소가 *DOM에 존재하기만 하면 대기를 종료한다. 하지만, EC.visibility_of_all_element.. Gathering Backend 구현 1 (프로젝트 생성 및 엔티티 설계) 백엔드는 Java-Spring boot로 진행하려고 한다.이에 따라 https://start.spring.io/ 를 이용하여 패키지를 생성한다.해당 부분에 대한 설명은 https://dev-studyingblog.tistory.com/92 Spring boot 시작하기스프링 부트는 스프링부트 스타터(https://start.spring.io/)라는 사이트를 이용하여 편리하게 프로젝트를 생성할 수 있다.스프틸 부트 스타터에서 다음과 같은 세팅을 설정한다.Project 선택 (Project Type)dev-studyingblog.tistory.com해당 부분을 참고 하면 된다. 다음과 같이 설정하고 generate를 진행하였다. 프로젝트 생성후 다음과 같이 build.gradle에 종속성을 추가해준다. .. Gathering 기획 3 앞에서 정리한 내용대로ERD를 만들어 보았다.erd가 잘 보이지 않을 수 있어, 링크까지 첨부한다.https://www.erdcloud.com/d/zcA9DF5Y9759FhTvK gatheringDraw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.www.erdcloud.com 설계 주요 포인트사용자 테이블 (User)사용자 정보를 관리하며, 소셜 로그인(구글, 네이버, 카카오 등)을 구분할 수 있도록 user_type 필드를 추가했다.user_no를 기본 키로 사용해, 모든 사용자 데이터를 중심적으로 연결할 수 있게 설계했다.게시판 (Post)와 모집 관리 (Gath.. Gathering 기획 2 백엔드 서버 구현전, 필요 기능을 정리 해볼 필요가 있다.필요 기능을 정리하고 ERD를 만든 후 서버 구현을 진행하고자 한다.먼저, 각 페이지별 디자인(추후 구체화를 통해 다소 변경될 수 있음)을 통해 필요 기능등을 정리해 보고자 한다. 1. 로그인 화면구글, 네이버, 카카오 3가지 아이디로 로그인할 수 있도록 구현한다.※ 구글,네이버, 카카오 같은 아이콘을 만들때 주의 사항https://developers.google.com/identity/branding-guidelines?hl=ko 로그인 브랜드 가이드라인 | Google ID 플랫폼 | Google for Developers로그인 브랜드 가이드라인 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 모바일 또는 .. Crawling 서버 구현 이제 완성된 crawling 코드를 이용하여 api를 만들예정이다.폴더 구조는 다음과 같이 api, crawling 코드, schemas로 나누었다.먼저 schemas에서는 api response데이터 타입을 검증해 주기 위해 pydantic을 사용하였다.from pydantic import BaseModelfrom typing import Optionalfrom datetime import dateclass ActivityData(BaseModel): ex_name: str ex_link: str ex_host: str ex_image: str ex_start: Optional[date] ex_end: Optional[date] # 종료 날짜 없는 상황도 있음 (모집시.. Crawling 구현 2 이전에 생겼던 문제점을 해결해 보려고 한다.1. DEV 크롤링시 날짜 정보가 2024.10.07 (월) ~ 2024.11.08 (금) 이런 형식으로 나와 슬라이싱을 진행하였지만, 중간 중간 해당 슬라이싱으로 전처리가 깔끔하게 되지 않는 것을 확인함.2. linkareer 크롤링시 날짜 데이터가 D-30 이런 식으로 작성되어있음.3. linkareer 크롤링시 이미지 데이터가 data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27250%27%20height=%27250%27/%3e 다음과 같이 이상한 형식으로 나옴. 1번 문제 해결파이썬 re 패키지를 이용하여 날짜값만 슬라이싱해서 저.. Crawling 구현 1 Crawling 서버를 구현하기 위해 crawling 기능을 구현하고자 한다. 크롤링 할 사이트는 https://dev-event.vercel.app/events Dev Event - 개발자 행사는 모두 데브이벤트 웹에서!개발자를 위한 {웨비나, 컨퍼런스, 해커톤, 네트워킹} 소식을 알려드립니다.dev-event.vercel.apphttps://linkareer.com/ 링커리어 LINKareer | 대외활동 공모전 대학생 인턴 대기업 채용정보대기업 채용, 인턴, 대학생 대외활동, 공모전, 동아리 등 개인에게 맞춤화된 커리어 정보를 추천받으세요! 커뮤니티에서 고민을 나누고, 인턴 및 신입 합격 후기도 확인 할 수 있습니다. 관심 있linkareer.com해당 두 사이트를 통해 구현하려고 한다.※ 크롤링 .. 이전 1 2 다음