전체 글 (112) 썸네일형 리스트형 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해당 두 사이트를 통해 구현하려고 한다.※ 크롤링 .. Gathering 기획 Gathering 이라는 사이드 프로젝트를 진행하려고 한다.Gathering은 기본적으로 대외활동을 같이할 사람을 찾아주는 웹앱이다. 추가적으로 대외활동 정보를 제공해줌으로써, 보다 쉽게 활동 정보를 얻고 해당 활동에 대해 맴버를 구할 수 있게 해주는 사이트이다.즉, 프로젝트 목표는 Gathering을 통해 사용자들이 더욱 쉽게 대외활동 정보를 얻고 함께할 사람을 찾는 것이다. 사용자 플로우예상 사용자 플로우는 다음과 같다.크게1. 로그인 및 회원가입2. 맴버를 모집하는 게시판3. 대외활동 정보 보여줌크게 3가지 기능을 구현하고자한다. 시스템 아키텍쳐 구성다음과 같이 Frontend는 Reactbackend 1은 Spring boot, backend 2는 FastAPI로 구성하고자 한다.backend 1.. 어노테이션 정리 1. 엔티티 매핑 관련 어노테이션@EntityJPA에서 엔티티 클래스임을 나타내는 필수 어노테이션이다.이 어노테이션이 붙은 클래스는 데이터베이스 테이블과 매핑된다.@Table엔티티가 매핑될 테이블의 이름과 속성을 설정한다.속성: name(테이블 이름), schema(스키마 이름), uniqueConstraints(유니크 제약 조건 설정) 등.@Id기본 키로 사용될 필드를 지정한다.@GeneratedValue기본 키 값을 자동으로 생성하는 전략을 정의한다.전략: GenerationType.AUTO, GenerationType.IDENTITY, GenerationType.SEQUENCE, GenerationType.TABLE.@Column엔티티의 필드를 매핑할 테이블 컬럼의 정보를 설정한다.속성: name(.. 값 타입 JPA에서 값 타입(Value Type)은 엔티티와는 달리 식별자가 없는 데이터 타입으로, 데이터의 속성 값이나 속성 집합을 표현하는 데 사용된다. 값 타입은 엔티티의 속성을 구성하거나 다른 엔티티와 관계 없는 데이터를 표현할 때 주로 사용된다.JPA에서 값 타입은 크게 다음 네 가지로 분류된다:기본 값 타입임베디드 타입(복합 값 타입)값 타입과 불변 객체값 타입 컬렉션 1. 기본 값 타입 (Basic Value Type)기본 값 타입은 자바에서 기본적으로 제공하는 기본 데이터 타입과 래퍼 클래스, 그리고 String, BigDecimal, BigInteger 같은 타입들을 의미한다. 기본 값 타입은 자체적으로 값이 변경되거나 분리될 수 없는 타입이다.기본 값 타입의 특징식별자가 없음: 기본 값 타입은 .. 프록시와 연관관계 관리 JPA에서 프록시와 연관관계 관리는 엔티티와 데이터베이스 간의 관계를 효율적으로 처리하기 위해 중요한 역할을 한다. 특히, 프록시 객체를 통해 엔티티를 필요할 때만 로딩하고, 즉시 로딩과 지연 로딩을 활용하여 성능을 최적화할 수 있다. 또한, 영속성 전이(cascade)와 고아 객체 관리는 엔티티의 생명 주기를 관리하는 데 중요한 개념이다. 1. 프록시프록시(Proxy)는 실제 엔티티 객체를 대신해 간접적으로 객체를 참조하는 객체이다. JPA는 데이터베이스의 데이터를 완전히 로딩하지 않고도 프록시 객체를 통해 지연 로딩을 사용할 수 있도록 지원한다. 프록시 객체는 실제 데이터가 필요한 시점에 데이터베이스에서 조회를 수행하여 데이터를 가져온다.프록시 사용 예시Member member = em.getRefe.. 고급 매핑 JPA는 기본적인 엔티티 매핑 외에도 다양한 고급 매핑 기능을 지원하여 복잡한 객체-관계 매핑을 처리할 수 있도록 돕는다. 이 고급 매핑 기능을 통해 상속 관계, 복합 키, 식별 관계, 조인 테이블, 그리고 여러 테이블과의 매핑을 유연하게 설정할 수 있다. 1. 상속 관계 매핑JPA는 객체 지향 언어의 상속을 관계형 데이터베이스와 매핑할 수 있는 기능을 제공한다. JPA에서는 상속 구조를 여러 가지 전략으로 데이터베이스에 매핑할 수 있다.상속 매핑 전략단일 테이블 전략(Single Table): 상위 클래스와 하위 클래스가 하나의 테이블에 모두 저장되는 방식이다.조인 전략(Joined Table): 상위 클래스는 상위 클래스 테이블에, 하위 클래스는 하위 클래스 테이블에 저장하는 방식이다. 두 테이블은 .. 이전 1 2 3 4 5 ··· 14 다음