μ μ ν¬ (funnysunny08) Server |
κΉμν(sss4920) Server |
νμ λ Έμ : https://empty-weaver-a9f.notion.site/Server-ba05f43a9dfe44de969af9a27cea4481?pvs=4
π± ν©λ¦¬μ μΈ μλΉλ₯Ό νκ³ μΆμ§λ§ μ€ν¨νλ μ¬λλ€μ μν μλΉμ€, μλ(Winey)!!
νμ¬ λ΄κ° μ μ½ν΄μ λμ λ 벨과 μ 보λ€μ μ‘°νν μ μλ APIλ₯Ό μ 곡ν©λλ€.
λ΄κ° μ μ½νκ³ μΆμ κΈμ‘μ μ€μ νλ API μ 곡
λ€μν κ²½λ‘μμ μ μ½μ ν μ μλ μ μ½ λ°©λ²λ€μ μΆμ²νλ APIλ₯Ό μ 곡ν©λλ€.
λ€λ₯Έμ¬λλ€μ΄ λ§λ νΌλλ€μ μ’μμλ₯Ό λ¨κΈ°λ μ’μμ κΈ°λ₯ API μ 곡
λͺ¨λκ° μ μ½ν λ΄μ©λ€μ ν λμ 보λ μ 체쑰ν API μ 곡
λ΄κ° μ μ½ν λ΄μ©λ€μ κΈ°λ‘νλ νΌλ μμ± API μ 곡
λ΄κ° μμ±ν νΌλλ€μ μ‘°ννκ³ , μμ ν μ μλ API μ 곡
μν | μ’ λ₯ |
---|---|
Framework | |
Database | |
Database Service | |
Programming Language | |
API | |
Version Control | |
CI/CD |
μν | μ’ λ₯ |
---|---|
νμ κ΄λ¦¬ | |
λμμΈ |
βββ π.github
βββ πΒ main
βββ ποΈΒ resources
βββ πΒ application.yml
βββ πΒ controller(컨νΈλ‘€λ¬ νμΌ)
βββ ποΈΒ dto
βββποΈΒ request
βββποΈΒ response
βββ πΒ domain(μν°ν° νμΌ)
βββ πΒ infrastructure(λ ν¬μ§ν 리 ν΄λ)
βββ πΒ service(μλΉμ€ νμΌ)
βββ πΒ exception(Exception enum, Exception class νμΌ)
βββ ποΈΒ model
βββ πΒ config(swagger κ΄λ ¨ νμΌ)
βββ πΒ exception(Exception enum, Exception class νμΌ)
βββ πΒ external(S3 service νμΌ)
βββ ποΈΒ client
βββ ποΈΒ aws
βββ πΒ S3Service
βββ πΒ common(κ³΅μ© ν΄λμ€ κ΄λ¦¬)
βββποΈΒ advice
βββποΈΒ dto
- File Naming
- νμΌ μ΄λ¦ λ° ν΄λμ€, μΈν°νμ΄μ€ μ΄λ¦: νμ€μΉΌ μΌμ΄μ€(Pascal Case)
public class ControllerExceptionAdvice {
- Entityμμ μ¬μ©λλ μμ±κ°λ€μ ? μΉ΄λ© μΌμ΄μ€(camel Case)
private String email;
- λ΄λΆμμ μ¬μ©λλ ν¨μ λ° κΈ°ν μ¬μ©: μΉ΄λ© μΌμ΄μ€(camelCase)
public ApiResponse createEmail(@RequestBody @Valid final BoardRequestDto request) {
- μν°ν° μμ±μ κ΄λ¦¬λ Builder Pattern μ¬μ©
@Builder
μΈν°νμ΄μ€(interface)μ μ΄λ¦μ λͺ μ¬/λͺ μ¬μ λ‘ νΉμ νμ©μ¬/νμ©μ¬μ λ‘ μ§λλ€.
// Good Exemples
public interface RowMapper {
public interface AutoClosable {
ν΄λμ€ μ΄λ¦μ λͺ μ¬λ λͺ μ¬μ λ‘ μ§λλ€.
λ©μλλͺ μ κΈ°λ³Έμ μΌλ‘ λμ¬λ‘ μμνλ€.
βοΈΒ λ€λ₯Έ νμ μΌλ‘ μ ννλ λ©μλλ λΉλ ν¨ν΄μ ꡬνν ν΄λμ€μ λ©μλμμλ μ μΉμ¬λ₯Ό μΈ μ μλ€.
- λμ¬μ¬μ© : renderHtml()
- μ νλ©μλμ μ μΉμ¬ : toString()
- Builder ν¨ν΄ μ μ©ν ν΄λμ€μ λ©μλμ μ μΉμ¬ : withUserId(String id)
"static final"λ‘ μ μΈλμ΄ μλ νλμΌ λ μμλ‘ κ°μ£Όνλ€.
μμ μ΄λ¦μ λλ¬Έμλ‘ μμ±νλ©°, 볡ν©μ΄λ μΈλμ€μ½μ΄'_'λ₯Ό μ¬μ©νμ¬ λ¨μ΄λ₯Ό ꡬλΆνλ€.
public final int UNLIMITED = -1;
public final String POSTAL_CODE_EXPRESSION = βPOSTβ;
μμκ° μλ ν΄λμ€μ λ©€λ²λ³μ/μ§μλ³μ/λ©μλ νλΌλ―Έν°μλ μλ¬Έμ μΉ΄λ©νκΈ°λ²(Lower camel case)μ μ¬μ©νλ€.
private boolean authorized;
private int accessToken;
λ©μλ λΈλ λ²μ μ΄μμ μλͺ μ£ΌκΈ°λ₯Ό κ°μ§λ λ³μμλ 1κΈμλ‘ λ μ΄λ¦μ μ°μ§ μλλ€.
λ°λ³΅λ¬Έμ μΈλ±μ€λ λλ€ ννμμ νλΌλ―Έν° λ± μ§§μ λ²μμ μμ λ³μμλ κ΄λ‘μ μΌλ‘ 1κΈμ λ³μλͺ μ μ¬μ©ν μ μλ€.
HtmlParser parser = new HtmlParser();