svn ์ ์์ด ์๋์ด์ ๋จผ๊ฐ ํ๊ณ ๋ดค๋๋ jdk 1.8์ด์ด๋ ๋ฒ์ ์ ๋ฐ๋ผ tls๊ฐ ๊ธฐ๋ณธ ์ต์
์ผ๋ก ๋ฌ๋ ค์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๊ณ ํ๋ค๊ทธ๊ฒ ๋ฐ๋ก ๋์์ใ
์๋ ์ดํด๋ฆฝ์ค์์ ์ฐ๊ณ ์๋ jdk์ ์ค์ ์ ๋ฐ๊พธ๋ผ๋ ๊ธ์ด ์๋๋ฃฉ ๋นฝ๋นฝ์ธ๋ฐ ๋๋ฌด ์๋์์์ด๊ฑฐ์ ๊ฑฐ ๋ณด๋ค๊ฐ์ดํด๋ฆฝ์ค ์คํ ํ์ผ ์ด์ด๋ณด๋๊น ์ค์ ๋ก ์ฐ๋ ๊ฒฝ๋ก์์ ๋ฐ๊ฟ์ผํ๋๊ฑฐ๋๋ผ..์ด ํ์ผ ์์ ๊ฒฝ๋ก๊ฐ ์์์ ์ฌ๊ธฐ jre์ conf -> security์ java.security ํ์ผ์ ๋
ธํธํจ๋++ ๊ฐ์๊ฑฐ๋ก ์ด์ด์ jdk.tls.disabledAlgorithm์์ TLSv1, TLSv1.1 ์๋ค๋ฅผ ๋นผ์ฃผ๋ฉด ๋๋๊ฑฐ์๋ค.
๐ Language
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ฐฐ์์ผ๊ฒ ๋ค๊ณ ์๊ฐ๋ง ํ์ง ์ด์ธ n๋
.. ์ด์ ๋ ์ ๋ง ์์ํด์ผ๊ฒ ๋ค ์ถ์ด์ ๋ค์ด๋ณธ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์์ญ์๋ ๋ช
๋ถํ์ ํด์ปค์คHRD ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ "๊ฐ์ฅ ์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์๋ฐ์คํฌ๋ฆฝํธ, ๊ธฐ์ด๋ถํฐ ์ค๋ฌด๊น์ง" ๋ค. ํ๋ก ํธ์๋ ํจํค์ง์ ํฌํจ๋ ๊ฐ์๋ผ ๊ทธ๋ฐ๊ฐ ์ด๋ฒ์ ์๊ฐํ ๊ฐ์ ๋ชจ๋ ํฌํธํด๋ฆฌ์ค ์ ์์ ํ ์ ์๋๋ก ํ๋ ๊ณผ์ ์ด ๋ํดํธ๋ก ๋ค์ด๊ฐ์๋ค.๋๋ ์ฌ์ค ์๋นํ ์ด๋ฐ ๊ตฌ์ฑ์ ์ข์ํ๋ค. ๋..๋ด ์ทจํฅ์ ๊ฒฉ ํด๋ฒ๋ ธ์ด.. ์ํผ, ์ด๋ฒ์ ์ด๋ฅผ ๊ฐ๊ณ ์ค๋นํ์ ๊ฑด์ง ํ๋ก ํธ์๋ ์ฌ์ธ์ ํจํค์ง๊ฐ ์๋นํ ๋งค๋ ฅ์ ์ด๋ผ ์ถ์ฒํ๋ ค๊ณ ํ๋ค.[ํ๋ก ํธ์๋ ํจํค์ง ํน์ง] 1. ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์๊ฒ ํ์ํ ๊ธฐ์ ์คํ์ ํ ๋ฒ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค. 2. 78% ํ ์ธ์ผ๋ก ํฉ๋ฆฌ์ ์ธ ๊ฐ๊ฒฉ์ผ๋ก ์๊ฐํ ์ ์์ต๋๋ค. 3. ํ๋ก ํธ์๋ ์ฌ์ธ์ ํจํค์ง ์ ..
ํด์ปค์คHRD์ > ๊ฐ์!๋ญฃ๋ ๋ชจ๋ฅด๊ณ ์ฐ๊ฝ๋ชฐ ํ๋ก์ ํธ React๋ก ์์? ์ฐ๋จน ํด๋ณด๋ค๊ฐ ์ค๊ฐ์ ํํ์์ ๊ทธ๋ง ๋๋๋ฐ ์ด๋ฒ๊ธฐํ์ ์ด ๊ฐ์๋ฅผ ๋ฃ๊ณ Vue.js๋ก ๋ฐ๊ฟ๋ด์ผ๊ฒ ๋ค.์๊ทธ๋๋ Vue๊ฐ ๊ทธ๋๋ง ์ฌ์ด ํ๋ ์์์ด๋ผ๊ณ ํ๋๊น ๊ธฐ์ด๋ฅผ ์ด๊ฑฐ๋ก ์์์ผ๊ฒ ๋นํด์ปค์ค HRD ๊ฐ์ ๊ตฌ์ฑ์ด ์ฐธ ํ์๋ก์ด๋ฐ, ์ฌ์ค ๊ฑ ์ ๊ฐ๋ ๋น์ธ๊ฒ ์ง๋ง ์ด๊ฑฐ์ ๊ฑฐ ์ง์ ๋ฐ๋ ๊ฑฐ ์๊ฐํด์ ์ต์ข
๊ฐ ์๊ฐํ๋ฉด ํ์๋ก์ด๊ฒ ๋ง๊ธด ํ๋ค ใ
์ํผ ์ด๋ฒ์๋ ๊ฐ์๋ฅผ ์งํํ์๋ ์ ์๋ ์ผ๊ตด์ด ์ง์ ๋์ค๋๊น ๋ ๋ชฐ์
๋๊ฐ ์๋ ๊ฑฐ ๊ฐ์์ ์ข๋ค.์ด๋ฒ์๋ ์ด๊ณต...!
๋ฌธ์์ด์ ๋ค๋ฃจ๋ ์๋ฃํ์ ๋ํด์ ์์๋ณด๋๋ก ํ์. ๐ ๊ฐ๋ณ vs ๋ถ๋ณString์ ๋ถ๋ณ ๊ฐ์ฒด์ด๋ค.๊ธฐ๋ณธ์ ์ผ๋ก String์ ์๋ฐ์์ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.์ฆ, ํ๋ฒ ์์ฑ๋๋ฉด ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋ณํ์ง ์๋ ๋ถ๋ณ ๊ฐ์ฒด(Immutable)๋ผ๋ ๊ฒ์ด๋ค.public final class String implements java.io.Serializable, Comparable, CharSequence, Constable, ConstantDesc { private final byte[] value;}์ค์ ์๋ฐ์์ String ๋ด๋ถ ๊ตฌํ ์ฝ๋๋ฅผ ๋ด๋ ์ ์ ์๋ค.์ธ์คํด์ค ์์ฑ ์ ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก ์
๋ ฅ๋ฐ๋ ๋ฌธ์์ด์ value๋ผ๋ ์ธ์คํด์ค ๋ณ์์ ๋ฌธ์์ด ๋ฐฐ์ด๋ก ์ ์ฅ๋๋ค.valu..
๐ Arrays.sort & Collections.sort ๋๋ค ์๋ฐ์์ ๋ฐฐ์ด์ ์ ๋ ฌ ํ ๋ ์ฌ์ฉ๋๋ค.1. Arrays.sort์ด ๋ฉ์๋๋ ๋ฐฐ์ด์ ํ์
์ ๋ฐ๋ผ ๋ค๋ฅธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.์ฆ, ํ๋ฆฌ๋ฏธํฐ๋ธ ํ์
๊ณผ ๊ฐ์ฒด ํ์
์ ๋ํด ๋ค๋ฅด๊ฒ ๋์ํ๋ค. 1๏ธโฃ ํ๋ฆฌ๋ฏธํฐ๋ธ ํ์
์ ์ ๋ ฌ (int[], double[] ๋ฑ)ํ๋ฆฌ๋ฏธํฐ๋ธ ํ์
์ ๋ฐฐ์ด์ ์ ๋ ฌํ ๋ Dual-Pivot Quicksort ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.๋ ๊ฐ์ ํผ๋ฒ์ ์ฌ์ฉํด์ ๋ฐฐ์ด์ ์ธ ๋ถ๋ถ์ผ๋ก ๋๋๊ณ ์ ๋ ฌํ๋ค.์๊ณ ๋ฆฌ์ฆ ์ ๋ณด๊น์ง๋ ์ด ๊ธ์ด ๋๋ฌด ๊ธธ์ด์ง ์ฐ๋ ค๊ฐ ์์ด์ ๋์ค์ ์ ๋ฆฌ ๊ธ์ ์ฌ๋ฆฌ๊ธฐ๋ก ํ๋ค.์ด ์๊ณ ๋ฆฌ์ฆ์ ํ๊ท ์ ์ผ๋ก O(n log n)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ฉฐ, ์ต์
์ ๊ฒฝ์ฐ O(n^2)๊น์ง ๊ฐ ์ ์์ง๋ง, ์ต์
์ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ๋งค์ฐ ๋ฎ๋ค. ..
1. ๋ณํ๋ ๊ฒ๊ณผ ๋ณํ์ง ์๋ ๊ฒ1-1. ๋ณ์ : ๋จ ํ๋์ ๊ฐ์ ์ ์ฅํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ( ๋ณํ๋ ๊ฒ )-> ์ ์ฅํ๊ณ ์๋ ๊ฐ์ด ๋ฌ๋ผ์ง ์ ์๋ค.int age; //age๋ผ๋ ์ด๋ฆ์ ๋ณ์ ์ ์ธ/*๋ณ์ ํ์
: int๋ณ์ ์ด๋ฆ : age*/ 1-2. ์์ : ๋ณํ์ง ์๋ ์ ์ฅ ๊ณต๊ฐ- ๋ฐ๋์ ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ ํด์ผํ๋ฉฐ ๊ทธ ํ์ ์์๋ฅผ ๋ฐ๊ฟ ์ ์๋ค.final int MAX_SPEED ; //์๋ฌ ์์๋ ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํํด์ผ๋ง ํจfinal int MAX_SPEED = 100; //OK, ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํMAX_SPEED = 200; //์๋ฌ ์์์ ๊ฐ์ ๋ณ๊ฒฝ ๋ถ๊ฐ 2. ๋ณ์์ ํ์
๊ธฐ๋ณธํ vs ์ฐธ์กฐํ๊ธฐ๋ณธํ : ์ค์ ๊ฐ(data)๋ฅผ ์ ์ฅ์ฐธ์กฐํ : ์ด๋ค ๊ฐ์ด ์ ์ฅ๋์ด ..
์ต๊ทผ ํฌํด์ฉ์ผ๋ก ์คํ๋ง์ผ ํ๋ซํผ์ ์ฃผ์ ๋ก ํ๋ก์ ํธ๋ฅผ ํ๋ ํ๋๋ฐ, ๊ฒ์ ๊ธฐ๋ฅ์ด ๋น ์ ธ์์ด์ ์ด๋ฒ์ ๊ตฌํํ๋ ค๊ณ ํ๋ค ๊ฒ์ ๊ธฐ๋ฅ ๊ตฌํ์ ํ๋ ค๊ณ ์ฌ๊ธฐ์ ๊ธฐ ์์น๋ฅผ ํด๋ณธ ๊ฒฐ๊ณผ ELK์คํ์ ๋ฐ๋ก ์ ์ฉํ ๊น?ํ๋ค๊ฐ ์์ฆ ์์์๋ ์ฝํ
๋ ์คํฐ๋๋ ํ ๊ฒ ๋๋ฌด ๋ง๊ธฐ๋ ํ๊ณ , ์ฐ์ ์ ์ผ๋ก ์ํ ๊ฒ์ ๋ฑ ํ ๊ธฐ๋ฅ์๋ง ์ธ๊ฑด๋ฐ ๋๋ฌด ์ค๋ฒ์คํ์ด์ง ์๋ ์ถ์ด์ apache lucence ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ ธ๋ค๊ฐ ์จ๋ณผ ์์ ์ด๋ค.
* ์กฐ์ธ ํฌ์ธํธ(Join point) ์ด๋๋ฐ์ด์ค๊ฐ ์ ์ฉ๋ ์ ์๋ ์์น, ๋ฉ์๋ ์คํ, ์์ฑ์ ํธ์ถ, ํ๋ ๊ฐ ์ ๊ทผ, static ๋ฉ์๋ ์ ๊ทผ ๊ฐ์ ํ๋ก ๊ทธ๋จ ์คํ ์ค ์ง์ ์กฐ์ธ ํฌ์ธํธ๋ ์ถ์์ ์ธ ๊ฐ๋
์ด๋ค. AOP๋ฅผ ์ ์ฉํ ์ ์๋ ๋ชจ๋ ์ง์ ์ด๋ผ ์๊ฐํ๋ฉด ๋๋ค. ์คํ๋ง AOP๋ ํ๋ก์ ๋ฐฉ์์ ์ฌ์ฉํ๋ฏ๋ก ์กฐ์ธ ํฌ์ธํธ๋ ํญ์ ๋ฉ์๋ ์คํ ์ง์ ์ผ๋ก ์ ํ๋๋ค. * ํฌ์ธํธ์ปท(Pointcut) ์กฐ์ธ ํฌ์ธํธ ์ค์์ ์ด๋๋ฐ์ด์ค๊ฐ ์ ์ฉ๋ ์์น๋ฅผ ์ ๋ณํ๋ ๊ธฐ๋ฅ ์ฃผ๋ก AspectJ ํํ์์ ์ฌ์ฉํด์ ์ง์ ํ๋ก์๋ฅผ ์ฌ์ฉํ๋ ์คํ๋ง AOP๋ ๋ฉ์๋ ์คํ ์ง์ ๋ง ํฌ์ธํธ์ปท์ผ๋ก ์ ๋ณ ๊ฐ๋ฅ * ํ์ผ(Target) ์ด๋๋ฐ์ด์ค๋ฅผ ๋ฐ๋ ๊ฐ์ฒด, ํฌ์ธํธ์ปท์ผ๋ก ๊ฒฐ์ * ์ด๋๋ฐ์ด์ค(Advice) ๋ถ๊ฐ ๊ธฐ๋ฅ ํน์ ์กฐ์ธ ํฌ์ธํธ์์ Aspect์ ์ํด..
0. ์ปฌ๋ ์
์ปฌ๋ ์
์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฃนํํ๊ณ ์ฒ๋ฆฌํ๋ ํน์ง์ ์ด๋ ค sql ์ง์์ ๊ฐ์ด ๋น์ทํ๊ฒ ๋ง๋ค ์ ์๋ค. → ์ ์ธํ ์ด์ ๊ฐ์ด ๋ง์ ์์๋ฅผ ํฌํจํ๋ ์ปค๋ค๋ ์ปฌ๋ ์
์ ๋ณ๋ ฌ ์ฒ๋ฆฌ ์ฝ๋๊ฐ ํ์ํ๋ค. ⇒ ์คํธ๋ฆผ์ด ํด๊ฒฐ์ฑ
! 1. ์คํธ๋ฆผ ์๊ฐ ์๋ฐ 8์์ ์ถ๊ฐ๋ ๊ธฐ๋ฅ ์ ์ธํ์ผ๋ก ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ฐ๋ฅ ๋ฉํฐ์ค๋ ๋ ์ฝ๋ ๊ตฌํ ์์ด ๋ณ๋ ฌ๋ก ํฌ๋ช
ํ๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ณผ์ ์ ๋ณ๋ ฌํํ๋ฉด์ ์ค๋ ๋์ ๋ฝ์ ๊ฑฑ์ ํ ํ์๊ฐ ์์ ์คํธ๋ฆผ ์ ์ฉ ์ ์ ์๋ฐ 7์ฝ๋ List lowCaloricDishes = new ArrayList(); for(Dish dish: menu) { // ๋์ ์๋ก ์์ ํํฐ๋ง if(dish.getCalories() < 400) { lowCaloricDishes.add(dish); } } // ์ต๋ช
ํด๋์ค๋ก..
์ด๊ฑด ๋ด๊ฐ ๊ฒฝํํ ํธ๋ฌ๋ธ์ ์๋๊ณ ์ฐ๋ฆฌ ์คํฐ๋์์ด ๊ฒช์ ์๋ฌ๋ฅผ ๊ฐ์ด ํด๊ฒฐํด๋ดค๋ค. ์ฌ๋ฐ์์ด์ ํฌ์คํ
. spring data jpa + spring boot 3.2.0 + h2 2.2.224 + querydsl 5.0.0 ํ๊ฒฝ๊ตฌ์ฑ์ด๋ค. ์ ์ h2DB๋ฅผ 1.4.๋ช์ผ๋ก ๊น์๋จ์๋ค๊ณ ํ๋ค. ์ผ๋จ DB๋ ๋ค ์ญ์ ํ๊ณ ๋ค์ ๋ฒ์ ์ ๋ง๋ ๊ฑธ ์ค์นํ๋๋ฐ๋ Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "start_value" not found [42122-224] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' d..