์ ๋ Why๋ฅผ ์ง์์ ์ผ๋ก ๋์ ธ, ๋ฌธ์ ๋ฅผ ์ค์ค๋ก ์ฐพ๊ณ ์ด๋ฅผ ํด๊ฒฐํ๋ ๊ณผ์ ์ ์ฆ๊น๋๋ค. ๋ฌธ์ ํด๊ฒฐ ๊ฒฐ๊ณผ ๋ฟ ์๋๋ผ ํ ๋ฌธ์ ์ํฉ๊น์ง ์ง์์ ์ผ๋ก ํ๊ณผ ๊ณต์ ํ์ฌ ๋ ๋์ ํ์ํฌ๋ฅผ ํ ์ ์๋๋ก ๋ ธ๋ ฅํฉ๋๋ค.
package p2p.introduction.domain;
@Builder
class Member {
String name;
String job;
String[] developmentFields;
String[] languages;
String[] backendSkills;
String[] devOpsSkills
String[] collaborationTools
String[] interests;
}
public class Main() {
public static void main(String[] args) {
Member minsuk = Member.builder()
.name("๊น๋ฏผ์")
.job("Software engineer๐ง๐ฝโ๐ป")
.developmentFields({"Back-end๐ญ"})
.languages({"javaโ"})
.backendSkills({Spring๐ฑ, Spring Security๐, JPA๐ง, MyBatis๐ฆค, Junit55๏ธโฃ, Mockito๐ธ, Gradle๐})
.devOpsSkills({Ubuntu๐บ, Github Actionsโพ๏ธ, Mysql๐ฌ, Docker๐ AWS EC2โ๏ธ, S3, CodeDeploy, SecretsManager})
.collaborationTools({Slack๐, Notion, Jira, Github project, Git, Intellij})
.interests({"๊ธ", "๋ฃจํด", "๋ช
์", "์ด๋๐ฏ"})
.build();
introduce(minsuk);
}
}
-
๋ ๊น์ด ์๊ณ ๊ทผ๊ฑฐ์ ๊ธฐ๋ฐํ ์ง์์ ์๊ธฐ ์ํด ๊ธฐ์ ์ ํ ์ ์ฌ๋ฌ ์๋ฃจ์ ์ ์ฅ๋จ์ ๊ณผ ์ฌ์ฉ์ UX์ Trade off๋ฅผ ๊ณ ๋ คํ์ต๋๋ค.
- #1 ํํ ์ด์ฒด ๊ธฐ๋ฅ ์ฑ๋ฅ ๊ฐ์ ๊ธฐ, ํ๋ก์ ํธ ์๊ฐ
- #2 ํํ ์ด์ฒด ๊ธฐ๋ฅ ์ฑ๋ฅ ๊ฐ์ ๊ธฐ, ๋ฐ์ดํฐ ์ ํฉ์ฑ
- #3 ํํ ์ด์ฒด ๊ธฐ๋ฅ ์ฑ๋ฅ ๊ฐ์ ๊ธฐ, ์๋(์์๋ฐ์ค ์ค์ผ์ค๋ฌ ์ ๋ต ์ ์ ๋ฐ ๊ตฌํ)
- #4 ํํ ์ด์ฒด ๊ธฐ๋ฅ ์ฑ๋ฅ ๊ฐ์ ๊ธฐ, ์๋(์ธํ๋ผ ๊ฐ์ )
- #5 ํํ ์ด์ฒด ๊ธฐ๋ฅ ์ฑ๋ฅ ๊ฐ์ ๊ธฐ, ์๋(์ด์ฒด ์ ๊ธ ์์ฒญ API ์ฒ๋ฆฌ ์ ๋ต)
- #6 ํํ ์ด์ฒด ๊ธฐ๋ฅ ์ฑ๋ฅ ๊ฐ์ ๊ธฐ, ์๋(gap lock์ผ๋ก ์ธํ insert ๋ณ๋ชฉ ํด๊ฒฐ)
- #7 ํํ ์ด์ฒด ๊ธฐ๋ฅ ์ฑ๋ฅ ๊ฐ์ ๊ธฐ, ๋น๊ด๋ฝ ํ๋ ํ ์ธ๋ถ API ํธ์ถ ์ต์ํ
- ๋ธ๋ฃจํธํฌ์ค ๊ณต๊ฒฉ ํน์ฑ์ ๊ณ ๋ คํ ๋น๋ฐ๋ฒํธ ํด์ฑ ์๊ณ ๋ฆฌ์ฆ ์ ์ ๋ฐ ์ ์ฉ
- ์ฌ์ฉ์์ UX๋ฅผ ๊ณ ๋ คํ JWT ๋ก๊ทธ์ธ ๋ณด์ ์ ๋ต ์๋ฆฝ ๋ฐ ๊ตฌํ
- ๋์ปค์ Testcontainer๋ฅผ ํ์ฉํ ์๋ฒ์ ๋์ผํ ํ๊ฒฝ์์์ ๋ก์ปฌ ํ ์คํธ ๊ตฌํ
-
์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ ๋ณต๊ธฐ ๋ฐ ๊ธ ์ ๋ฆฌ
- ๋ชจ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์ ํด๊ฒฐ๋ฒ ์ฌ๊ณ ๊ณผ์ ๊ธ๋ก ์ ๋ฆฌ.
- ๋ฌธ์ ๋ฅผ ๋๋ง์ ์ธ์ด๋ก ์ถ์ํ ํ๊ณ ์ด๋ฅผ ์๊ตฌ์ฌํญ(์๊ฐ, ๊ณต๊ฐ ๋ณต์ก๋)์ ๋ง๋ ์ ์ ํ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ ํ๋ ์ฌ๊ณ ๊ณผ์ ์ด ์ค์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด์ ๋ชจ๋ ์ฌ๊ณ ๊ณผ์ ์ ๊ธ๋ก ์ ๋ฆฌํ๊ณ ์์ต๋๋ค. ์ ๋ฆฌ๋ ๊ธ์ Algorithm_diary repository์์ ํ์ธํ ์ ์์ต๋๋ค. ๋ ๋ง์ ์ฌ๋๊ณผ ๊ณต์ ํ๊ธฐ ์ํด ๋ธ๋ก๊ทธ๋ก ์ฎ๊ธธ ์์ ์ ๋๋ค.
- ์๋น์ค ๊ฐ๋ฐ์ ๋ง์ ํ์์์ด ํ์ ํ์ฌ ์ด๋ค๋ด๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ Issue, PR, Wiki ๋ฑ ๋ฌธ์ํ์ ๊ด์ฌ์ด ๋ง์ต๋๋ค.
- ํฐ์คํ ๋ฆฌ ๋ธ๋ก๊ทธ ์์๋ ์ฌํ์ ์ฑ์ฅ์ ๊ธฐ์ฌํ๊ธฐ ์ํด ์ ๊ฐ ์ฌ์์ฐํ ์ง์๊ณผ ์๊ฒฌ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์์ฑํ์ต๋๋ค.
- [๊ฐ๋ฐ] ์ฃผ๋์ด ๊ฐ๋ฐ์์ ์์ธ, ํ์ , ๊ณต์ ๋?
- ์์์ผ์ด๋ ๋ฌด์์ผ๊น? (1) ์ฑ์ฅ์ ๋ณต๋ฆฌ์ฑ์ ์ 1์๋ฆฌ ์ฌ๊ณ ๋ฒ๊ณผ ์ฐ๊ด์ง์ด ์๊ฐํด๋ณด์
- ์์์ผ์ด๋ ๋ฌด์์ธ๊ฐ? (2) ์ํํธ์จ์ด ์์ง๋์ด, ์ง๊ด์ ์ ๋ฌธ์ฑ์ด๋?
- ์์์ผ์ด๋ ๋ฌด์์ผ๊น? (3) ์ธ์ง์ ์ฌ๊ณ ๋ถ์, Reverse engineering
- ์ง๋ก๋ ์ด๋ป๊ฒ ์ฐพ๋๊ฐ? ๋๊ธฐ ๋ถ์ฌ๋ ์ด๋์ ๋ฐ๋๊ฐ? feat. ์ ๊ฒฝํ:)