DevLog ๐ถ
[์ฐํ ์ฝ 5๊ธฐ] 1์ฃผ์ฐจ ํ๊ณ ๋ก - ์ฐ๊ทน, ์๋์ฐจ ๊ฒฝ์ฃผ ๊ฒ์ ๊ตฌํํ๊ธฐ ๋ณธ๋ฌธ
[์ฐํ ์ฝ 5๊ธฐ] 1์ฃผ์ฐจ ํ๊ณ ๋ก - ์ฐ๊ทน, ์๋์ฐจ ๊ฒฝ์ฃผ ๊ฒ์ ๊ตฌํํ๊ธฐ
dolmeng2 2023. 2. 13. 23:33- ์ฐํ ์ฝ ์์ํ ์ง ๋ฒ์จ 2์ฃผ์ฐจ๊ฐ ๋๋ค. 1์ฃผ์ฐจ ํ๊ณ ๋ก์ ์ฃผ๋ง์ ์ฐ๋ ค๊ณ ํ๋๋ฐ ๋ฏธ์ ํ๋๋ผ ์ด์ ์์ผ... ๐ฅน
๋งค์ฃผ ์ผ๊ธฐ ํ์์ผ๋ก ๊ฐ๋จํ๊ฒ ์ฐํ ์ฝ์์ ์์๋ ์ผ์ ์จ๋ณด๋ ค๊ณ ํ๋ค.
๊ฐ๋ฐ์ ๊ด๋ จ๋ ๊ฑฐ๋ ๊ฐ๋ณ ํฌ์คํ ์ผ๋ก ์ธ ์์ :D
๐ฅ 2์ 7์ผ
- ์ฐํ ์ฝ ์ฒซ๋ ! ์ ์ค ์บ ํผ์ค ๋ค์ด๊ฐ๋๋ฐ ๋ญ๊ฐ ์์ฒญ ๋๊ทผ๊ฑฐ๋ ธ๋ค.
์ด ๋ ์ ์จ๋ณด๋ฉ ์กฐ๋ฅผ ๊ฐ๋จํ ์ค๋ฆฌ์ํ ์ด์ ์ ์งํํ๋๋ฐ, ์จ๋ณด๋ฉ ์กฐ๋ฅผ ๋ง๋๊ฒ ๋์๋ค. ๐
์ฐ๋ฆฌ ์กฐ๋ ์คํ, ํ์ค, ๋ก์ง, ๋ธ๋์บฃ, ์๋จ์ด์๋ค. (์ง์ง ํ ์ ๋ง๋ฌ๋ค...)
์ถ์ ์ฆ์ ๋ฐ๊ธฐ ์ํด์๋ ์กฐ๋ฅผ ๋ง๋ฌ์ด์ผ ํ๋๋ฐ, ๋๊ฐ ๋๊ตฐ์ง ๋ชฐ๋ผ์ ์ฒ์์ ์ฐพ์ ๋ ์์ฒญ ํค๋งธ๋ค.
๊ทธ๋๋ ์คํ์ด ๋จผ์ ์ฐ๋ฝํด ์ฃผ์ ๋๋ถ์ ์ฐ๋ฆฌ ์กฐ์ ๊ฒจ์ฐ ํฉ๋ฅํ ์ ์์๋ค!
๊ทธ๋ฆฌ๊ณ ์ ์ฌ ์์ฌ๋ ๊ฐ์ด ํ๋ค.
์ด๋ ๊ฐ๋ ์ฌ๋์ด ๋ง์์ ์์๋ฒ๊ฑฐ ํฌ์ฅํด์๋๋ฐ ์บ ํผ์ค ์์์๋ ์์๋ฌผ ๋จ๊ธฐ๋ฉด ์ ๋ผ์ ์์ฒญ ๋น ๋ฅด๊ฒ ํด์น์ ๋ค.
๊ทธ๋ฆฌ๊ณ , ํ์ด๋ฅผ ๋ฐฐ์ ๋ฐ์๋๋ฐ ์ด ์ข๊ฒ๋ ์คํ์ด์๋ค!
ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ํ์ด๋ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ํ ๋ช ์ ๋ค๋น๊ฒ์ดํฐ, ํ ๋ช ์ ๋๋ผ์ด๋ฒ๋ก์ ์ฝ๋๋ฅผ ๊ตฌํํด๋๊ฐ๋ ๊ฑด๋ฐ,
์ด ์์ ๊น์ง๋ง ํด๋ ๋ญ๊ฐ ๋ญ์ง ์ ๋ชจ๋ฅด๊ฒ ์ด์ ๊ทธ๋ฅ ๋ฌด์์ ํ๋ค.
์คํ ์๊ฐ์๋ ์คํ์ด๋ ๊ฐ์ด Intellij ํ๊ฒฝ ์ค์ ์ด๋ ๊น ์ค์ ,
๊ทธ๋ฆฌ๊ณ ๊ฐ๋จํ ํ ์คํธ ์ฝ๋๋ฅผ ํ์ด ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ์ง๋ณด์๋ค.
package study;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import org.junit.jupiter.params.provider.ValueSource;
import java.util.HashSet;
import java.util.Set;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class SetTest {
private Set<Integer> numbers;
@BeforeEach
void setUp() {
numbers = new HashSet<>();
numbers.add(1);
numbers.add(1);
numbers.add(2);
numbers.add(3);
}
@Test
@DisplayName("Set์ ์ฌ์ฉํ๋ฉด ์ค๋ณต์ด ์ ๊ฑฐ๋ ์ฌ์ด์ฆ๊ฐ ์กฐํ๋๋ค.")
void ์งํฉ_์ฌ์ด์ฆ_์กฐํ_ํ
์คํธ() {
// when
int size = numbers.size();
// then
assertThat(size)
.isEqualTo(3);
}
@DisplayName("set์ ํฌํจ ์ฌ๋ถ๋ฅผ paramterized test๋ก ํ์ธํ๋ค.")
@ParameterizedTest
@ValueSource(ints = {1,2,3})
void ์งํฉ_ํฌํจ_์ฌ๋ถ_paramaterizedTest(int input) {
assertTrue(numbers.contains(input));
}
@DisplayName("set์ ํฌํจ ์ฌ๋ถ๋ฅผ ์ ๋์ ์ผ๋ก ํ์ธํ๋ค.")
@ParameterizedTest
@CsvSource(value = {"1:true", "2:true", "3:true", "4:false", "5:false"}, delimiter = ':')
void ์งํฉ_ํฌํจ_์ ๋์ ์ผ๋ก_ํ์ธ(int input, boolean expected) {
Assertions.assertThat(numbers.contains(input))
.isEqualTo(expected);
}
}
์ด ์ฝ๋ ํ๋ ์์ฑํ๋๋ฐ ์ผ๋ง๋ ์ค๋ ๊ฑธ๋ฆฌ๋์ง ์ฌ๋๋ค์ ๋ชจ๋ฅผ ๊ฑฐ์ผ...
ํ์ด์ ํจ๊ป ์ฒ์์ผ๋ก ์์ฑํ๋ค ๋ณด๋๊น ์๋ก ๋๋ฑ๋๋๋ผ ๋ ๋ฆ์ด์ก๋ค.
๊ทธ๋๋ ์ฒซ ๋ ์ธ๋ฐ ๋์ถฉ ๊ฐ ์ก์ ๋๋?
๋ด๋ ๊น์ง ์๋ก ๊ตฌํํ ๊ธฐ๋ฅ์ ์ ์ด์ค๊ธฐ๋ก ํ๋ค.
๊ทธ๋์ ์ง์์ ๋์ถฉ ์๋์ฐจ ๊ฒฝ์ฃผ ๊ฒ์์ ๋ํด์ ์ด๋ฐ ์์ผ๋ก ๋ช ์ธ๋ฅผ ์ ์ํ๋ค.
- ๊ฒฝ์ฃผํ ์๋์ฐจ ์ด๋ฆ ์ ๋ ฅ๋ฐ๊ธฐ
- ๋ฉ์์ง ์ถ๋ ฅํ๊ธฐ
- ์ ๋ ฅ๋ฐ์ ์ด๋ฆ์ ๊ธธ์ด๊ฐ 5์ ์ดํ์ธ์ง ์ฒดํฌํ๊ธฐ
- ,๋ฅผ ๊ธฐ์ค์ผ๋ก ์ด๋ฆ์ ๊ตฌ๋ถํ๊ธฐ (๊ณต๋ฐฑ์ ๋ฐ์์ง ๋ง์ง๋ ์ฒดํฌ)
- ์๋ํ ํ์ ์ ๋ ฅ๋ฐ๊ธฐ
- ๋ฉ์์ง ์ถ๋ ฅํ๊ธฐ
- ์ ์๊ฐ์ด ๋ค์ด์ค๋์ง ์ฒดํฌํ๊ธฐ
- ์คํ ๊ฒฐ๊ณผ ์ถ๋ ฅํ๊ธฐ
- ์ ๋ ฅ๋ฐ์ ๊ฐ๋งํผ ๊ฒฐ๊ณผ ์ถ๋ ฅ์ ๋ฐ๋ณตํ๊ธฐ.
- ๊ฒฐ๊ณผ ์ถ๋ ฅ์ ์ํ ๋ทฐ ์์ฑํ๊ธฐ
- ์ ์งํ๋ ์กฐ๊ฑด์ ๋ํด์ 0~9 ์ฌ์ด์ ๊ฐ์ ๊ตฌํ๋ ์ ๋๋ ์ดํฐ ๋ง๋ค๊ธฐ
- 4 ์ด์์ด๋ฉด ์ ์ง, 3 ์ดํ๋ฉด ๋ฉ์ถ๋๋ก
- ์ต์ข ์ ์ผ๋ก ์ฐ์นํ ์๋์ฐจ ์ด๋ฆ์ ์ถ๋ ฅํ๊ธฐ
- ๊ฐ์ฅ ๋ง์ด ์ ์งํ ์๋์ฐจ๊ฐ ์ฐ์น (์๋์ฐจ๋ง๋ค ์ ์ง ํ์๋ฅผ ๊ด๋ฆฌํ ํ์๊ฐ ์์)
์ฒซ ๋ ์ ํผ๊ณคํด์ ๋ฐ๋ก ๋ป์๋ ๊ฒ ๊ฐ๋ค...
๐ฅ 2์ 8์ผ
- ์ด ๋ ์ ๋ค์๊ณผ ๊ฐ์ด ์๊ฐ์ ๋ณด๋๋ค.
๋ ธ์ ์ผ๋ก ๊ทธ๋๊ทธ๋ ๋ด๊ฐ ํ๋ ์ผ๋ค์ ์ ๋ฆฌํ๋ ํธ์ธ๋ฐ, ์ฃผ๋ณ์์ mbti J ์๋๋๊ณ ๊ทธ๋ฌ์ จ๋ค.
J๊ฐ ๋๊ณ ์ถ์ P์ ๋ถ๋จํ ์์ง์์ ์์ ์ฃผ์๋ค๋... ๊ธฐ์๋ค ๐ฅน
์์ ๋ด์ฉ ์ ๋ฆฌ์ ๋ํด์๋ ๋ณ๋์ ๊ธ๋ก ์์ฑํด์ผ๊ฒ ๋ค.
์ด ๋ ์ ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์งํํ์๋ค.
์ฒ์์๋ ํ์ด๋จธ๋ฅผ ์ผ๊ณ 10~15๋ถ์ ๋ง์ถฐ์ ์งํํ๋๋ฐ, ๊ทธ๋ฐ ๋ฐฉ์๋ณด๋ค๋ ๊ทธ๋ฅ ํ๋์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฑธ๋ก ํ์ด๋ ํฉ์ํ์๋ค.
์คํ์ด ๊ณ์ ์์์ ์ํ๋ค, ์ํ๋ค ํด์ฃผ์ ์ ๋ ๊ธฐ๋ถ ์ข๊ฒ ์งํํ ์ ์์๋ค.
ํ์ด ํ๋ก๊ทธ๋๋ฐ ํ ๋ ๊ฐ์ฅ ์ค์ํ ์ ์ ๊ธฐ๋ฅ ๋ช ์ธ์๋ฅผ ๋ฌด์กฐ๊ฑด ๋จผ์ ์์ฑํ๊ณ ์์ํ๋ ๊ฒ์ด๋ค.
๊ทธ๋์ผ ๊ตฌํํ ๋ ๋ฌธ์ ๋ณด๋ฉด์ ์ฐจ๊ทผ์ฐจ๊ทผ ๊ตฌํํ๋ค.
์๋๋ฉด ์๋ก ๋จธ๋ฆฌ ์ํ์ ๊ตฌํํ ๊ธฐ๋ฅ ๊น๋จน๋๋ค... ใ ใ ๐
๊ทธ๋ฆฌ๊ณ , 3์๋ถํฐ๋ ์จ๋ณด๋ฉ ํ์๋ฅผ ์งํํ์๋ค. ๋ฐ๋ก... ์ฐ๊ทน ์ค๋น.
์ฌ์ค ์ฐํ ์ฝ ๋ค์ด์ค๊ณ ๊ฐ์ฅ ๋นํฉ์ค๋ฌ์ ๋ ๊ฑด ์ฐ๊ทน์ด์๋ค. ๋ค...? ์ฐ๊ทน?
ํ์ง๋ง ๋ชธ ์์ ์๋ ๋ชจ๋ ์ธํฅํ ์ธํฌ๋ฅผ ๋ค ๋์ด๋ชจ์์ ์ด๋ป๊ฒ๋ ์ํ๋ ค๊ณ ๋ ธ๋ ฅํ๋ค.
์ฐ๋ฆฌ๋ SNL ๊ฐ์ฑ ์นดํ๋ฅผ ์ฃผ์ ๋ก ์งํํ๋ค. ๋๊ฐ ์ฃผ์ธ์ ๐
๋ธ๋์บฃ์ ์์ด๋์ด ๐ ์ง๊ธ ์๊ฐํด๋ ์งฑ์ด๋ค.
๋ ธ์ ์ ํตํด์ ํ์ ๋ด์ฉ์ ๊ณ์ ์ ๋ฆฌํ๋๋ฐ, ๋๋ถ์ ๋ ์ฝ๊ฒ ํ์๊ฐ ์งํ๋๋ ๊ฒ ๊ฐ๋ค.
๊ทธ๋ฆฌ๊ณ ์คํ์ด๋ ๋ค์ ๋ ๊น์ง ํ์ด ํ๋ก๊ทธ๋๋ฐ 1์ฐจ๋ฅผ ๋ง๋ฌด๋ฆฌํด์ผ ๋ผ์, ์ง์์ ๊ฐ๋จํ๊ฒ ๊ธฐ๋ฅ ๋ช ์ธ์๋ฅผ ์์ฑํ๋ค.
๐ฅ 2์ 9์ผ
- ์ด๋ ์ ์ ์ฌ์ ์ง์ง ํ์ด ํ๋ก๊ทธ๋๋ฐ ์ด์ฌํ ๋ฌ๋ ธ๋ค.ํนํ ์คํ์ด๋ ๋๋ ์๋ก ๋ฉ์๋ ๊ตฌํ ์ ์ ๊ณ์ ์ด ๋ฐฉํฅ์ด ๊ด์ฐฎ์์ง, ๋ค๋ฅธ ๋ฐฉํฅ์ด ๊ด์ฐฎ์์ง ๋ฌผ์ด๋ณด๋ฉด์ ์งํํ ๋๋ถ์ ๋ด๊ฐ ๊ฐ์ง์ง ๋ชปํ ์์ผ๋ฅผ ์๋๊ฐ ์๋ ค์ฃผ๋ ๊ฒ ๊ฐ์, ๊ธ์ ์ ์ธ ์ํฅ์ ๋ง์ด ๋ฐ์ ์ ์์๋ค.
์ฝ๋๋ฅผ ์์ฑํ ๋ ๋ค์๊ณผ ๊ฐ์ ์ ์ ๋ง์ด ์งํค๋ ค๊ณ ๋ ธ๋ ฅํ๋ค.1. ๋๋ฉ์ธ์์ getter ์ฌ์ฉ ์ ํ๊ธฐ2. int์ ๋ํ wrapper ํด๋์ค ์ฌ์ฉํ๊ธฐ = ์์๊ฐ ํฌ์ฅ3. stream ์ฌ์ฉํ๊ธฐ (๊ฐ์ฅ ๋์ ์์น์ ์๋ ์๋์ฐจ๋ฅผ ๋ฝ์ ๋ max()์ filter()๋ฅผ ํตํด ๊ตฌํํ์๋ค.)4. ์๋์ฐจ ๋ฆฌ์คํธ ๊ด๋ฆฌ๋ฅผ ์ํด equals, hashcode๋ฅผ ์ฌ๊ตฌํํ์๋ค.
์๊ฑด 1๋จ๊ณ ๊ตฌํํ ๋ด์ฉ์ด๋ค.
๐ฅ 2์ 10์ผ
์จ๋ณด๋ฉ ๋ฏธํ ์ด ์ข์ ๊ฒ, ์๋ก ์์นจ ๊ธฐ๋ถ์ ๋ฌผ์ด๋ณธ๋ค.
๋ฌผ๋ก ์์ง ์์นจ ๋ฑ๊ต๊ฐ ์ต์ํ์ง ์์์ ํญ์ ํผ๊ณคํ๋ค๋ ๋ง์ด ๋จผ์ ๋์ค์ง๋ง...
์๋ก์ ๊ธฐ๋ถ์ ๋ํด์ ์๊ธฐํ๋ฉด์ ์ ๋ ๊นจ๊ณ , ๋ฆฌํ๋ ์๋๋ ๊ธฐ๋ถ์ ๋๊ฒ ๋ง์ด ๋ฐ๋๋ค.
์ด ๋ ์ ๋๋ณธ์ ์์ฑํ๊ณ ๊ฐ๋จํ๊ฒ ๋ฆฌ๋ฉํ๋ ์๊ฐ์ ๊ฐ์ก๋ค.
์ต์ 4๋ถ, ์ต๋ 5๋ถ์ ์งํํด์ผ ํ๋๋ฐ 4๋ถ ์ ๋๋ก ๋์์ ์๊ฐ์ ์ผ์ถ ๋ง์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
๋ค์ ํ์๊น์ง ์๋ก ์ฐ๊ทน์ ์ฌ์ฉํ PPT ์คํฌ๋ฆฐ์ ๋ง๋ค์ด์ค๊ธฐ๋ก ํ๋ค. ๐
๊ทธ๋ฆฌ๊ณ 1์ฐจ PR ๋ฆฌ๋ทฐ๊ฐ ์๋ค.
์ฝ๋ ๋ฆฌ๋ทฐ๋ ์ฒ์์ด์์ด์ ์ข์ ๋ง์ ๋ฃ๋ , ์ ์ข์ ๋ง์ ๋ฃ๋ ๋ค ์ข์๋ค.
๊ทธ๋๋ ๋ฆฌ๋ทฐ์ด๋์ด ์์ฒญ ์น์ ํ์๊ณ , ์ง๋ฌธ์ ๋ํด ๊ณ์ ์๊ฐํ๊ฒ ํด์ฃผ์ ์ ์ค์ค๋ก ๊ณต๋ถํ ์ ์๋ ์๊ฐ์ ๊ฐ์ง ์ ์์๋ค,
์ด ๋ด์ฉ์ ๋ํด์๋ ๋ฐ๋ก ํฌ์คํ ์ ์์ฑํด์ผ๊ฒ ๋ค.
๊ณ์ ๋ฆฌํฉํ ๋ง์ ์งํํ๋ฉด์, ๊ตฌ์กฐ๋ฅผ ๋ง์ด ์์ ํ์๋ค.
๋๋ ์ค๊ณ ์ํ๋ ์ฌ๋์ด ๋๊ณ ์ถ๋ค...
์ฝ๋๋ฅผ ๊ฑฐ์ ๋ฏ์ด๊ณ ์ณ์, 2๋ฒ์งธ PR ๋ ๋ฆด ๋๋ ์ปค๋ฐ 24๊ฐ๊ฐ ์ถ๊ฐ๋์๋ค... ๋ฏผ๋ง ๐ฅน
์๋ฌดํผ 1์ฃผ์ฐจ ์ฐํ ์ฝ ์ํ์ ์ด๋ ๊ฒ ๋ง๋ฌด๋ฆฌ๋์๋ค.
์์ผ๋ก ๋๋ ๋ฐ์๊ฒ ์ด๊ณ ์ถ๋ค. ์ฐํ ์ฝ ์์งํ ๋๋ฌด ์ฌ๋ฐ์ด์ ๋๋ง์กฑ... ๐ (์์นจ์ ์ผ์ด๋๋ ๊ฑฐ ๋นผ๊ณ ...)
์ฐํ ์ฝ ํ๋ฉด์ ๋ธ๋ก๊ทธ ๊ธ 100๊ฐ ์ด์ ์์ฑํ๋ ๊ฒ ๋ชฉํ๋ค.
์์ผ๋ก ์ ๋ฆฌ ๋ชปํ๋ ๊ฐ๋ฐ ์ง์๋ถํฐ ์์ํด์ ๋ค ์ ๋ฆฌํด๋ฒ๋ฆฌ๊ณ , ๊นํ๋ธ ๋ฉ์ธ์ ๋ฌ์๋์ผ์ง!
@woowacourse ๋์ด์ ์ฐํ ๋ฌ๋๋ก ํ์ดํ ๐ช
'์ฐ์ํํ ํฌ์ฝ์ค > ๋ ๋ฒจ 1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ฐํ ์ฝ 5๊ธฐ] ๋ ๋ฒจ 1 ๋ ๋ฒจ ์ธํฐ๋ทฐ ์ ๋ฆฌ ๋ฐ ๊ฐ์ ํ๊ณ (4) | 2023.04.06 |
---|---|
[์ฐํ ์ฝ 5๊ธฐ] ์ฒด์ค ๊ฒ์ ๊ตฌํ ๋ฏธ์ ํ๊ณ (0) | 2023.04.05 |
[์ฐํ ์ฝ 5๊ธฐ] ๋ธ๋์ญ ๊ตฌํ ๋ฏธ์ ํ๊ณ (0) | 2023.04.04 |
[์ฐํ ์ฝ 5๊ธฐ] ์ฌ๋ค๋ฆฌ ํ๊ธฐ ๊ฒ์ ๋ฏธ์ ํ๊ณ (0) | 2023.04.03 |
[์ฐํ ์ฝ 5๊ธฐ] ์๋์ฐจ ๊ฒฝ์ฃผ ๊ฒ์ ํ๊ณ (0) | 2023.02.22 |