GithubHelp home page GithubHelp logo

efub / efub3-backend-assignment Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 14.0 2.15 MB

๐Ÿ’š ์ดํŽ 3๊ธฐ ๋ฐฑ์—”๋“œ ๊ณผ์ œ ์ œ์ถœ ๋ ˆํฌ์ง€ํ† ๋ฆฌ

Java 100.00%

efub3-backend-assignment's People

Contributors

doleebest avatar hannah0226 avatar june0216 avatar parkiscoming avatar

efub3-backend-assignment's Issues

[TDD] ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•ด๋ณด๊ธฐ

โœจ ๊ณผ์ œ : ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•ด๋ณด๊ธฐ

  • ๋ชฉํ‘œ : ์ž์‹ ์ด ์ง  ์ฝ”๋“œ์˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์™€ ์นœํ•ด์ง€๊ธฐ!
  • ๋‚ด์šฉ :
    • 1ํ•™๊ธฐ๋•Œ ๊ณผ์ œ๋กœ ํ–ˆ๋˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฝ”๋“œ์— ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

      • entity, repository๋งŒ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
        • ์•„์ง Mock์„ ๋‹ค๋ฃจ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— Mock์„ ๋‹ค๋ฃฌ ํ›„ Service์™€ Controller์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค!
      • ๋ฆฌ๋“œ๋ถ„๋“ค์€ ๊ณผ์ œ ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ ํฌํฌ ํ›„ ๋ธŒ๋žœ์น˜ ๋งŒ๋“ค๊ณ  ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ๊นƒ์—์„œ zip๋‹ค์šด๋ฐ›์•„(ํ˜น์€ ๋‹ค์‹œ ์ฝ”๋“œ๋ฅผ ์งœ๊ธฐ) ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ ํ›„ PR
      • ํ•˜๋‹ค๊ฐ€ ๋ฆฌํŒฉํ„ฐ๋งํ•˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„์žˆ์œผ๋ฉด ๋ฆฌํŒฉํ„ฐ๋งํ•˜๊ธฐ
      • ํ•„์ˆ˜ ๋ถ€๋ถ„ = Member, Board, Post, Comment
        • ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ 2๊ฐ€์ง€ ์ด์ƒ ๊ฒฝ์šฐ + ์„ฑ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ

          • ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ ์ค‘ Member์˜ email ํ˜•์‹ ๊ด€๋ จํ•ด์„œ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๊ธฐ(์ •๊ทœํ‘œํ˜„์‹ ํ…Œ์ŠคํŠธ)
        • repository ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•  ๋•Œ @DataJpaTest ์–ด๋…ธํ…Œ์ด์…˜ ๊ณต๋ถ€ ํ›„ ์‚ฌ์šฉ (H2๋ฅผ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์œผ์‹œ๋ฉด H2 ์‚ฌ์šฉ, ์•„๋‹ˆ๋ฉด ๊ทธ๋ƒฅ MySql ์‚ฌ์šฉ)

          Spring Boot @DataJpaTest ์‚ฌ์šฉ๋ฐฉ๋ฒ•

    • ํฌ์ŠคํŠธ๋งจ์œผ๋กœ ๋™์ž‘ ํ™•์ธํ•˜๊ธฐ

  • ์ œ์ถœ : EFUB ๊นƒํ—ˆ๋ธŒ ๊ณผ์ œ ๋ ˆํฌ์— ๊ฐœ์ธ ๋ธŒ๋žœ์น˜ ์ปค๋ฐ‹ ํ›„ Pull Request
  • ๊ธฐํ•œ : 10/6์ผ๊นŒ์ง€

[Mockito์™€ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ] ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ

โœจ ๊ณผ์ œ : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•ด๋ณด๊ธฐ

  • ๋ชฉํ‘œ : ์ž์‹ ์ด ์ง  ์ฝ”๋“œ์˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.
  • ๋‚ด์šฉ :
    • 1ํ•™๊ธฐ๋•Œ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฝ”๋“œ์— ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€(service, controller)
    • Mock ์ด์šฉ
    • ํฌ์ŠคํŠธ๋งจ์œผ๋กœ ๋™์ž‘ ํ™•์ธํ•˜๊ธฐ
    • ํ•˜๋‹ค๊ฐ€ ๋ฆฌํŒฉํ„ฐ๋งํ•˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„์žˆ์œผ๋ฉด ๋ฆฌํŒฉํ„ฐ๋งํ•˜๊ธฐ
    • ํ•„์ˆ˜ ๋ถ€๋ถ„ = Member, Board, Post, Comment
      • controller -> ๋ฉ”์„œ๋“œ ๋ณ„๋กœ ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ 1๊ฐ€์ง€ ์ด์ƒ + ์„ฑ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ 1๊ฐ€์ง€ ์ด์ƒ
      • service -> ๋‹จ์ˆœ ์กฐํšŒ ๋ฉ”์„œ๋“œ ์ œ์™ธ(ex findById๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ) ๋ฉ”์„œ๋“œ ๋ณ„ ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ 1๊ฐ€์ง€ ์ด์ƒ + ์„ฑ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ 1๊ฐ€์ง€ ์ด์ƒ(
  • ์ œ์ถœ : EFUB ๊นƒํ—ˆ๋ธŒ ๊ณผ์ œ ๋ ˆํฌ์— ๊ฐœ์ธ ๋ธŒ๋žœ์น˜ ์ปค๋ฐ‹ ํ›„ Pull Request
    • ๋ฆฌ๋ทฐ์–ด ๋“ฑ๋ก ๋ฐ ์ด์Šˆ๋„ ์—ฐ๊ฒฐํ•˜๊ธฐ!

[OAuth2] ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ

โœจ ๊ณผ์ œ : ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ

  • ๋ชฉํ‘œ : redis๋กœ refreshToken์„ ๊ด€๋ฆฌํ•˜๊ณ  oauth ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ (๊ตฌ๊ธ€/ ์นด์นด์˜ค)
  • ๋‚ด์šฉ : redis๋กœ refreshToken์„ ๊ด€๋ฆฌํ•˜๊ณ  oauth ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ
    • Spring Security, Jwt, OAuth2 ์ ์šฉ
    • 1ํ•™๊ธฐ๋•Œ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฝ”๋“œ์— redis๋กœ refreshToken์„ ๊ด€๋ฆฌํ•˜๊ณ  oauth ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ
  • ์ œ์ถœ : EFUB ๊นƒํ—ˆ๋ธŒ ๊ณผ์ œ ๋ ˆํฌ์— ๊ฐœ์ธ ๋ธŒ๋žœ์น˜ ์ปค๋ฐ‹ ํ›„ Pull Request

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.