TIL, WIL/TIL๐ (81) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ 05.16 TIL : JNDI, Wildfly, JBOSS 1. JNDI์ฐธ๊ณ ํ ๊ธ :https://velog.io/@zzjs11/JNDI%EB%9E%80 JNDI๋(With JDBC, DBCP)ํ์ฌ ํฌ์ ํ ํ๋ก์ ํธ์์ DB์ฐ๊ฒฐ์ JNDI ๊ด๋ฆฌํ๊ณ ์๋ค. JNDI ์ด๋ฆ์ ๋ค์ด๋ดค๋๋ฐ ์ ํํ ๋ฌด์์ ์๋ฏธํ๋ ๊ฒ์ธ์ง ๋ชฐ๋ผ์ ์ด๋ฒ ๊ธฐํ์ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค.JNDI์ ๋ํด ์ฐพ๋ค๋ณด๋ฉด DBCP์ ๋ํ ์คvelog.ioWAS์์ DB ์ปค๋ฅ์ ์ ๋ฏธ๋ฆฌ ๋ค์ด๋ฐํ๋ ๋ฐฉ์์ ์๋ฏธํ๋ค. ์ปค๋ฅ์ ์ด๋, ์ผ๋ฐ์ ์ผ๋ก ํธ๋์ญ์ ํ๋๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ฐ์ฒด๋ก, ์ด๋ฅผ ๋ฏธ๋ฆฌ ์์ฑํด์ ๊ด๋ฆฌํ๋ ๋ฐฉ์์ ์ปค๋ฅ์ ํ์ด๋ค.์ด ์ปค๋ฅ์ ํ์ ๊ด๋ฆฌํ ๋ JDBC๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ฒ์ด DBCP์ด๋ฉฐ, JNDI๋ DBCP๋ฅผ ํธ์ถํด ์ปค๋ฅ์ ํ์ ์ปค๋ฅ์ ๋ฅผ ์ฝ๊ฒ ์ป์ ์ ์๋ค(DataSource ๊ฐ์ฒด๋ฅผ ํ์ฉํ๋ฉด ๋ณด๋ค ์ฝ๊ฒ ์ด.. 05. 07 TIL : ์ฌ์ด๋ ํ๋ก์ ํธ ๋๋ฉ์ธ ๋ฆฌ์คํธ ์ ์ ์ /๊ธฐํ AdminUsers: ์ด๋๋ฏผ ์ ์ ์ ๋ณด AuditLogs: ์ด๋๋ฏผ ๋ก๊น Users: ํ๋กํ์ ๋ค์ด๊ฐ๋ ์ ๋ณด (Auths): ๋ก๊ทธ์ธ์ ํ์ํ ์ ๋ณด(์นด์นด์ค, ์ ํ์์ ์ ๊ณตํ๋ ๋ฐ์ดํฐ) Notices: ๊ณต์ง์ฌํญ Reports: ์ ๊ณ ๋ฒ๊ฝ ๋ช ์ (ํจ๊ป)Posts: ๋ฒ๊ฝ ๋ช ์Footprins: ๋ฐฉ๋ฌธ ์ธ์ฆBookmarks: ์ฆ๊ฒจ์ฐพ๊ธฐLikes: ๋๊ธ ์ข์์Reviews: ๋๊ธPostImages: ๋ฒ๊ฝ ๋ช ์ ์ด๋ฏธ์งReviewImages: ๋ฆฌ๋ทฐ ์ด๋ฏธ์ง 04. 24. TIL : Decode(), With(), ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค 1. Decode()- decode ํจ์๋ CASE-WHEN ๊ตฌ๋ฌธ์ ์ญํ ๊ณผ ๊ฐ์ด if else ๊ตฌ๋ฌธ์ผ๋ก ํ์ฉํ ์ ์๋ ์ฟผ๋ฆฌ๋ฌธ์ด๋ค(ํ์ค SQL์ CASE)- ๋ง์ง๋ง else๋ ๋น์ด์์ด๋ ์๊ด์๋ค. Null๋ก ํ์๋จ- NVL2์ ๊ฐ์ด Null ์ฒดํฌ ๊ฐ๋ฅ- Decode ํจ์ ๋ด๋ถ์ ๋ ๋ค๋ฅธ Decode ํจ์ ์ฌ์ฉ๊ฐ๋ฅ2. With()์ฐธ๊ณ : https://heodolf.tistory.com/71: ์ฒ์ ๋ณด๋ ๊ตฌ๋ฌธ์ผ๋ก, ํ์ต์ด ๋ ํ์ํ๋ค- ์ด๋ฆ์ ๊ฐ์ง SubQuery, ๊ฐ๋ ์ฑ์ ๋ํ ์ ์๊ณ , ์ฌ์ฌ์ฉํ ์ ์๋ค- ๊ณ์ธตํ ์ฟผ๋ฆฌ๋ฅผ ๊ตฌํํ ์ ์๋ค ๊ธฐ๋ณธ ๊ตฌ์กฐex)WITH PR_ORDER AS ( SELECT ROW_NUMBER() OVER(ORDER BY A.REG_DT) as PR_N.. 03. 07 TIL HTML : FORM์ ์ค์ฒฉํด์ ์ฌ์ฉํ๋ฉด ์๋จ ๋ฐ ๋์ ํ์ ์ค์ฒฉ๋ form์ ๊ฐ์ ์ฝ์ ์ ์๋ค ๋์ : XMLHttpRequest๋ก ์์ฒญ์ ๋ณด๋ด๋๋ฐ ๋๊ธฐ๋ก ์์ฒญ์ ๋ณด๋ด๋ฉด ๊ธฐ์กด์ ํ์ด์ง๊ฐ ์ ์ง๋ ์ํ์์ ์์ฒญ์ ๋ณด๋ผ ์๊ฐ ์๋ค. ์ผ๋ฐ์ ์ธ ๋ฐฉ์์ ์๋๊ฒ ์ง๋ง, ํ์ฌ ์ ์ฉํ ์ ์๋ ์ต์ ์ผ๋ก ํ๋จ๋๋ค 02. 25 TIL : ์ฝ๋๋ฆฌ๋ทฐ with ๊นํ์ก์ ๊ธ ์ฝ๊ธฐ, ์ฟผ๋ฆฌ ํ๋ ์ค๋ฌด https://toss.tech/article/25431?ref=codenary GitHub Actions๋ก ๊ฐ์ ํ๋ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฌธํ ์๋ํ๋ฅผ ํตํด ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฌธํ๋ฅผ ๊ฐ์ ํ๊ณ ํธ์๋ฅผ ๋์๋ ๊ฒฝํ์ ๊ณต์ ํด์. toss.tech 2. ์ฟผ๋ฆฌ ์์ฑ ์ค๋ฌด ๋ฐ ์ฟผ๋ฆฌํ๋์ ๋ํ ๊ฒฝํ - ๊ธฐ์กด์ ์์ฑํด๋ณธ ์ฟผ๋ฆฌ ์๋ : 500ms, 200๊ฐ row * ํ๋ํฌ์ธํธ 1) where ์กฐ๊ฑด์ ์ค ๋ถ์ ๊ฒ์์ ๋ถ์์ ์ด๋ฆ์ผ๋ก ๊ฒ์ -> ๋ถ์ ์์ด๋๋ก ๊ฒ์ : ์ธ๋ฑ์ค๊ฐ ๊ฑธ๋ ค์๋ ๋ถ์ ์์ด๋ ~ 200ms ๊ฐ์ 2) ๊ฒ์ ์กฐ๊ฑด์ ์ธ๋ฑ์ค ์ปฌ๋ผ์ ์ถ๊ฐํ ๊ฒฝ์ฐ, ๊ฒ์ ๊ฒฐ๊ณผ๋ ๊ฐ์๋ฐ ์ฟผ๋ฆฌ ์๋๊ฐ ๋นจ๋ผ์ง๋ค ~ 70ms ๊ฐ์ 3) ํ์ํ ์ ๋ณด๊ฐ ์๋ ๋ค๋ฅธ ํ ์ด๋ธ์ left ์กฐ์ธ์ผ๋ก ๊ฐ์ ธ์ค๊ณ ์์์ผ๋, ํ์ํ ์ปฌ๋ผ๋ง ๊ฐ์ ธ์ค๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์๋ธ์ฟผ.. 01. 30 TIL : @ConstructorBinding https://www.zodaland.com/tip/64 ZODALAND ์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ์ค์ ๊ฐ ์ ์ฉ์ ์ํด Properties ํด๋์ค๋ฅผ ์์ฑ ์ค ์ด์ ํ๋ก์ ํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก @ConstructorBinding ์ด๋ ธํ ์ด์ ์ ์ ์ฉ ํ๋๋ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ๋๊ฐ์ ๋ฐฉ์์ผ๋ก ์ ์ฉํ๋๋ฐ๋ www.zodaland.com ์คํ๋ง ๋ถํธ 3 ์ดํ๋ถํฐ๋ @ConstrutorBinding ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ ํ์๊ฐ ์๋ค. 01. 04 TIL : ์ปค์คํ MVC ํ๋ ์์ํฌ ๋ง๋ค๊ธฐ ์ค์ต - ์ด๋ ธํ ์ด์ ๊ธฐ๋ฐ MVC ํ๋ ์์ํฌ ~ DispatcherServlet ~ AnnotationHandlerMapping (+๊ทธ๋ฆผ์์ HandlerMapping๊ณผ ๋์ผ) ~ HandlerAdapter ~ ViewResolver ์๋ก์ด ์์ฒญ URL์ ๋ง๋ค๋ 1) ์ปจํธ๋กค๋ฌ ์์ฑ 2) RequestMappingHandlerMapping์์ ํธ๋ค๋ฌ๋ฅผ Mapping ํ๊ธฐ ์ํด ํด๋น ์ปจํธ๋กค๋ฌ ๊ฐ์ฒด ์์ฑ ๋ฐ mapping map์์ url์ ํตํด ํด๋น ์ปจํธ๋กค๋ฌ๋ฅผ ์ฐพ๋ findHandler() ๋ฉ์๋ ํธ์ถ * ์ฃผ์ํ ์ : ํ๋์ ์ปจํธ๋กค๋ฌ๋ mapper์์ ํ๋์ ์ฃผ์๋ฅผ ํ ๋น๋ฐ์์ผ ํ๋ค(url์ด ์ค๋ณต๋๋ฉด ์๋๋ค) 01. 23 TIL ์์กด์ฑ ๋ฌธ์ -> ๊ธฐ์กด mysql:mysql-connector-java๋ ์คํ๋ง ๋ถํธ 2.7.8 ์ดํ๋ถํฐ๋ ์ฌ์ฉํ ์ ์๋ค ~ com.mysql.connector.j๋ฅผ ์ฌ์ฉํ ๊ฒ ์ด์ 1 2 3 4 5 6 ยทยทยท 11 ๋ค์