Back-end

// Instagram.domain.member.dto @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) @AllArgsConstructor public class RegisterRequest { @ApiModelProperty(value = "유저네임", example = "dlwlrma", required = true) @NotBlank(message = "username을 입력해주세요") @Length(min = 4, max = 12, message = "사용자 이름은 4문자 이상 12문자 이하여야 합니다") @Pattern(regexp = "^[0-9a-zA-Z]+$", message = "username엔 대소문자, 숫자만 사..
# Entity를 정의할때 @Notnull, @NotBlank 같은 것들을 쓰는게 좋은가? 대부분의 값들은 not null인데 이걸 굳이 attribute마다 붙여주자니 너무 비효율적이지 않나? 차라리 값 검증코드를 따로 짜서 처리하는게 좋으려나? 생각해보니 @Column(nullable = false)로 해도 되지 않나? @NotNull 어노테이션은 Hibernate Validator에서 제공되며 필드값의 유효성 검사를 수행 nullable=false는 해당 필드에 대해 데이터베이스에서 NOT NULL 제약 조건을 생성하는 것 둘 다 사용하는것은 중복코드라고 볼 수 있으므로 데이터베이스의 무결성을 보장하는 nullable=false만 사용하는 것이 좋음 # 결론 nullable = false를 사용하자..
// Instagram.domain.member.entity @Getter @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @EntityListeners(AuditingEntityListener.class) @Table(name = "members") public class Member { @Id @Column(name = "member_id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "member_username", nullable = false, length = 20, unique = true) private String usernam..
혼자 무작정 코드를 짜려니 대체로 사용하는 구조? 틀?을 도저히 모르겠네요... 그래서 깃헙을 좀 뒤져보다가 분석하기 좋은 클론코딩을 발견했습니다. 최신 기술이 좀 잘 버무려져있어서 좋았습니다. 누군가가 프로젝트로한것 같은데 알고보니 인하대생 3명이었습니다. 너무 반가우면서도 자괴감이... 아무튼 앞으로 코드를 좀 분석하면서 어떻게 구성을 해야 좋을지좀 공부해보려합니다. https://github.com/Instagram-Clone-Coding/Spring_instagram-clone GitHub - Instagram-Clone-Coding/Spring_instagram-clone: Instagram Clone Coding - Backend using Spring Framework Instagram Cl..
Spring을 공부하면서 빈과 컴포넌트를 공부했는데 둘의 역할이 비슷한 느낌이기도 하고 어떤때에 뭘 써야 좋을지 제 나름의 기준이 서지 않았습니다. 그래서 빈과 컴포넌트의 정확한 역할과 둘의 차이점에 대해 알아보도록 하겠습니다. # @Bean 이란? @Bean 어노테이션은 개발자가 직접 스프링 빈(Bean)을 등록할 때 사용됩니다. @Bean 어노테이션은 메소드에 적용되며, 해당 메소드가 반환하는 객체를 스프링 빈으로 등록합니다. @Bean 어노테이션을 사용하면 개발자가 직접 빈을 생성하고 초기화할 수 있으므로, @Component 어노테이션보다 더 세밀한 제어가 가능합니다. @Configuration public class ExampleConfig { @Bean public ArrayList array..
· Back-end
# Web server와 Web application server (WAS)란? Web Server와 WAS(Web Application Server)는 모두 클라이언트 요청에 따라 웹 애플리케이션을 실행시키는 서버입니다. Web Server는 웹 브라우저로부터 HTTP 요청을 받아들이고, HTTP 프로토콜을 기반으로 정적인 컨텐츠(HTML, 이미지, CSS, JavaScript 파일 등)를 제공합니다. 주로 Apache, Nginx, IIS 등이 사용됩니다. WAS는 Web Server와는 달리 동적인 컨텐츠를 생성하는 애플리케이션 서버입니다. 웹 서버로부터 받은 HTTP 요청을 처리하여, 애플리케이션 로직을 수행하고, 데이터베이스와 같은 백엔드 서비스와 연동하여 동적인 컨텐츠를 생성하여 웹 브라우저에..
id PK, AI username UNIQUE, NOT NULL, length(30) userid UNIQUE, NOT NULL, length(30) password NOT NULL, length(30) email UNIQUE, NOT NULL, length(100) grade NOT NULL, default = CLIENT 회원 [ id, username, userid, userpassword, email, grade] 종류로는 일반회원, 관리자가 존재 enum Grade{ CLIENT, ADMIN } 회원가입 (username, userid, password, email [인증 필요]) 이메일 인증 구현 이메일 인증 테이블 관리 로그인 (userid, password) jwt 토큰 기반 인증 소셜 로..
Solid 5원칙은 소프트웨어 개발에서 가이드라인으로 사용되는 원칙으로, 소프트웨어의 품질을 높이고 유지보수를 용이하게 하기 위해 만들어졌습니다. 이 5가지 원칙은 다음과 같습니다. 1. SRP (Single Responsibility Principle) 한 클래스는 하나의 역할만 수행 특징 한 책임의 변경에서 다른 책임의 변경으로의 연쇄작용에서 자유로울 수 있습니다. 코드의 가독성 향상, 유지보수 용이 다른 원리들을 적용하는 기초가 됩니다. 실무의 프로세스는 매우 복잡 다양하고 변경 또한 빈번하기 때문에 경험이 많지 않거나 도메인에 대한 업무 이해가 부족하면 나도 모르게 SRP원리에서 멀어져 버리게 됩니다. 따라서 평소에 많은 연습(‘책임’이란 단어를 상기하는)과 경험이 필요한 원칙입니다. 적용방법 여..
whitem4rk
'Back-end' 카테고리의 글 목록 (4 Page)