본문 바로가기

전체 글35

[next.js] getServerSideProps 사용법 안녕하세요. 원모 싸이버 스쿨입니다. 오늘은 좀 영양가 있는 포스팅을 해보겠습니다. https://wonmocyberschool.com 저 위에 링크는 제 웹사이트인데요. next.js로 프론트엔드를 짰습니다. next.js가 뭔지 모르신다구요? Next.js 제대로 알고 쓰자 Next.js는 React의 SSR(Server Side Rendering)을 쉽게 구현할 수 있게 도와주는 간단한 프레임워크입니다. React도 SSR을 고려하여 설계되었기 때문에 자체적으로도 구현이 가능하긴 하지만, 개발환경을 만 medium.com 이 분의 글을 읽어보시길 바랍니다. next.js에는 데이터를 패치해 오는 방법이 세 가지가 있습니다. Basic Features: Data Fetching | Next.js Ne.. 2021. 7. 17.
[ Spring boot + JPA + MySQL ] 원모 싸이버 스쿨 블로그 API 서버 원모싸이버스쿨 마이크로 서비씨쓰(Micro Services)의 첫 번째 API 서비스입니다. 프론트엔드를 무엇으로 짜던 상관 안하는 무적의 블로깅 API 서비스입니다.(야매 RESTful API) 저는 프론트엔드를 Next.js로 짰습니다. 유저 인증과 이미지 저장 등은 다른 앱에 맡기고 오로지 블로그 비지니스 로직에만 초점을 맞춘 서버앱입니다! 마이크로 서비스가 대세라 함 이렇게 해 봤는데 이게 마이크로 서비스 맞나요? 더 공부해 보기로 하고! 대충 일맥상통 하긴 할듯!! https://github.com/yonmoyonmo/wcs-blog-api-app yonmoyonmo/wcs-blog-api-app wonmo cyber school blog api server application. Contrib.. 2021. 7. 16.
[Spring Boot] 이미지 스토리지 서버 만들기 원모싸이버스쿨 앱 가운데 이미지를 업로드하고 업로드한 이미지를 다운로드 하거나 보여지게 하고싶다면 바로바로 원모 싸이버 이미지 서버를 이용하면 됩니다. https://github.com/yonmoyonmo/wcs-image-server yonmoyonmo/wcs-image-server wonmo cyber school image server. Contribute to yonmoyonmo/wcs-image-server development by creating an account on GitHub. github.com Spring Boot File Upload / Download Rest API Example Uploading and downloading files are very common tasks .. 2021. 7. 16.
[Spring Boot Security OAuth 2.0] 원모 싸이버 스쿨 인증서버 Spring Boot OAuth2 Social Login with Google, Facebook, and Github - Part 1 In this article, You'll learn how to add social as well as email and password based login to your spring boot application using Spring Security and Spring Security's OAuth2 client. You'll build a full stack application with Spring Boot and React containing www.callicoder.com 이 분의 설명 글을 보고 참고하여 작업했습니다. 원모 싸이버 스쿨 인증 서버 간단 설.. 2021. 7. 15.
[JPA] 스프링 데이터 JPA 김영한님의 책 [JPA 프로그래밍]을 읽고 요약한 내용입니다. 스프링 데이터 JPA 스프링 프레임워크에서 JPA를 편리하게 사용할 수 있도록 지원하는 프로젝트이다. 원래라면 일일히 구현해야 했던 데이터 접근 계층에서(repository) 각 엔티티의 기본적인 CRUD를 공통 인터페이스로 한 방에 처리하여 귀찮음을 엄청나게 덜어 준다. public interface MemberRepository extends JpaRepository { } 이렇게 엔티티 타입과 @Id로 지정한 필드의 타입을 제네릭에 넣어서 JpaRepository를 상속하는 인터페이스만 만들어도 기본적인 Member에 대한 데이터베이스 CRUD를 쓸 수 있게 된다. 주요 공통 인터페이스 메소드 save(Entity) : 새로운 엔티티 저.. 2021. 5. 29.
[JPA] 객체지향 쿼리 언어 김영한님의 책 [JPA 프로그래밍]을 읽고 요약한 내용입니다. 객체지향 쿼리 기본적인 CRUD 외에 좀 더 복잡한 쿼리로 데이터를 조회하고 싶을 때, SQL을 쓰는게 더 낫겠다 싶을 때에는 JPA의 객체지향 쿼리를 쓰면 된다. SQL과 비슷하게 생겼지만 데이터베이스에 직접 조회하는 용도는 아니고 대신 JPA가 적절히 SQL로 변환해서 조회결과를 엔티티 객체로 반환해 준다. JPQL Java Persistence Query Language 엔티티 객체를 조회하는 객체지향 쿼리이다. 특정 데이터베이스 벤더에 의존하지 않으며, dialect만 변경하면 작성한 JPQL을 수정하지 않고도 다양한 관계형 데이터베이스를 바꿔가며 쓸 수 있다. SQL보다 간결하게 생겼다. JPQL 기본 문법과 쿼리 API SQL과 구.. 2021. 5. 29.
[JPA] Embedded Type 김영한님의 책 [JPA 프로그래밍]을 읽고 요약한 내용입니다. 임베디드 타입 자바 기본 타입이나 객체 말고 따로 직접 정의해서 값으로 사용할 수 있다. 이것을 JPA에서는 임베디드 타입(embedded type)이라고 한다. 좀 더 응집력 있고 객체지향 적인 매핑을 할 때 사용한다. @Embeddable public class Period { @Temporal(TemporalType.DATE) private Date startDate; @Temporal(TemporalType.DATE) private Date endDate; public void 뭐시기(){...대충 이 embedded를 위한 메소드...} //기본 생성자 필수 } @Entity public class Member { @Id privat.. 2021. 5. 28.
[JPA] 프록시와 지연로딩, CASCADE 김영한님의 책 [JPA 프로그래밍]을 읽고 요약한 내용입니다. 프록시와 즉시로딩, 지연로딩 : 객체 그래프 탐색 중에 연관된 객체를 데이터베이스에서 불러올 때 JPA 구현체들은 프록시라는 기술을 사용한다. 실제 객체를 사용하는 시점에 데이터베이스에 조회하는 것을 지연로딩이라고 한다. 프록시 @Entity public class Student{ @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="STUDENT_ID") private Long id; @ManyToOne @JoinColumn(name="SCHOOL_ID") private School school; } @Entity public class School{ @Id @Column(.. 2021. 5. 28.
[JPA] 앤티티 매핑, 연관관계 매핑, 상속관계 매핑 김영한님의 책 [JPA 프로그래밍]을 읽고 요약한 내용입니다. 클래스 어노테이션 @Entitiy 테이블과 매핑할 클래스에 필수로 써야함 기본생성자 필수 @Table 엔티티와 매핑할 테이블 지정 name, uniqueConstraints 등의 속성이 있음 @Access JPA가 엔티티에 접근하는 방식 지정 필드 어노테이션 @Id Primary Key 매핑 데이터베이스 생성 키 사용 등의 설정을 할 수 있음 @Column 클래스 필드와 테이블의 콜럼을 매핑 name, nullable,length 등의 속성이 있음 @Enumerated 자바 enum 타입의 필드를 테이블 콜럼과 매핑 @Enumerated(EnumType.STRING) : enum의 이름을 저장 @Enumerated(EnumType.ORDINA.. 2021. 5. 28.