- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- Quick Sort
- Data Structure
- merge sort
- Unity
- node js
- datagrip
- ์์คํ ์ํํธ์จ์ด
- MAKE US
- C++
- spring ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- docker
- RP 2๊ธฐ
- @CreatedDate
- OpenAPI
- ํจ์คํธ์บ ํผ์คX์ผ๋์
- DATABASE
- MethodArgumentNotValidException
- GIT
- mysql
- Java
- spring ์์ ๋ก๊ทธ์ธ
- spring์ผ๋ก https ์ ์ฉ
- java error
- aligoapi
- Rp2๊ธฐ
- SSL
- Spring
- SQL
๋ชฉ๋ก์ ์ฒด ๊ธ (132)
YS's develop story
MySQL ) ๋ณ์์ ๊ฐ์ ํ ๋นํ์ฌ ๊ฐ๋ง๋ค ๋ค๋ฅด๊ฒ ์ ๋ ฌํ๋ ์ฟผ๋ฆฌ ์ง๊ธฐ. ์๋์ ๊ฐ์ด Restaurant๋ผ๋ ํ ์ด๋ธ์ด ์์ต๋๋ค. ๋ํ ์๋์ ๊ฐ์ด Review๋ผ๋ ํ ์ด๋ธ์ด ์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ์๋์ ๊ฐ์ Area๋ผ๋ ํ ์ด๋ธ๋ ์์ต๋๋ค. ์๋์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด ์๋น ์ด๋ฆ๊ณผ reviewCount, distance๋ฅผ ๋ณด์ฌ์ฃผ๊ฒ ๋ฉ๋๋ค. select restaurantName,ifnull(reviewCount, 0) reviewCount, round(6371 * acos(cos(radians(areaLatitude)) * cos(radians(restaurantLatitude)) * cos(radians(restaurantLongitude) - radians(areaLongitude)) + sin(ra..
MySQL ) left outer join ํ์ฉ, ifnull ํ์ฉ ์๋์ ๊ฐ์ด Restaurant๋ผ๋ ํ ์ด๋ธ์ด ์์ต๋๋ค. ๋ํ ์๋์ ๊ฐ์ด Review๋ผ๋ ํ ์ด๋ธ์ด ์์ต๋๋ค. ์๋์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ฉด ๊ฐ ์๋น์ ๋ฆฌ๋ทฐ์๊ฐ ๋ช ๊ฐ ์ธ์ง ์ถ๋ ฅํ ์ ์์ต๋๋ค. select restaurantName,reviewCount from Restaurant inner join (select restaurantId, count(*) as reviewCount from Review group by restaurantId) ReviewCount on Restaurant.restaurantId = ReviewCount.restaurantId ๋ฆฌ๋ทฐ์ ๊ฐ 0๊ฐ์ธ ์๋น๋ ๊ฐ์ด ์ถ๋ ฅํ๊ฒ ํ๋ ค๋ฉด null ๊ฐ๋ ํ์ ํ๋ left ..
MySQL ) ๊ธฐ์กด ์นผ๋ผ์์ ๊ฐ์ +1 ํด์ฃผ๊ธฐ ์ฟผ๋ฆฌ๊ฐ ์คํ๋ ๋๋ง๋ค ํน์ ์นผ๋ผ์ ๊ฐ์ +1 ์ฆ๊ฐ์ํค๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? ์กฐํ์์ ๊ฐ์ ์์๋ ์ด๋ฐ ์์๋ฅผ ํ์ฉํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค. Cafe๋ผ๋ ํ ์ด๋ธ์ cafeStar๋ผ๋ ์นผ๋ผ์ ์ฃผ๋ชฉํด ์ฃผ์ธ์, ์๋์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ 2๋ฒ ์คํํ๋ฉด... update Cafe set cafeStar =Cafe.cafeStar + 1 where cafeId = 1; ํด๋น ๊ฐ์์ +2๊ฐ ์ถ๊ฐ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ด๋ฅผ ์กฐํ ์ ๊ฐ์ ์นผ๋ผ์ ํ์ฉํ๋ฉด ํธํ ๊ฒ ๊ฐ์ต๋๋ค :)
Query String, ์ฟผ๋ฆฌ ์คํธ๋ง ํ์ฉํ๊ธฐ '๊ฑด๋'๋ผ๋ ๊ธ์๊ฐ ๋ค์ด๊ฐ๋ ํน์ ์นดํ๋ฅผ ์ฐพ๊ธฐ ์ํด์ ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? ์๋์ ๊ฐ์ด ์ฟผ๋ฆฌ์คํธ๋ง์ ํ์ฉํ๋ฉด ๋ฉ๋๋ค. cafeRoute.js cafecontroller.js ์ฌ์ฉ์๊ฐ ์ฟผ๋ฆฌ ์คํธ๋ง ๊ฐ์ ์ ๋ ฅํ์ง ์๊ณ /cafe์ ๊ฐ์ด ์์ฒญ์ ํ๊ฒ ๋๋ฉด ๋ชจ๋ ์นดํ๋ฅผ ์ถ๋ ฅํ๊ณ , /cafe?cafeName=๊ฑด๋ ์ ๊ฐ์ด ์์ฒญ์ ํ๊ฒ ๋๋ฉด cafeName์ ๊ฐ์ด ๋ค์ด๊ฐ๊ฒ ๋์ด ๊ทธ ์นดํ๋ง์ ์ถ๋ ฅํ๊ฒ ๋ฉ๋๋ค. cafeDao.js ์ฟผ๋ฆฌ ์คํธ๋ง ์ฒ๋ฆฌ ๋ถ๋ถ ์ฟผ๋ฆฌ์ ๋๋ค. ์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ ์ฟผ๋ฆฌ๋ฅผ ์งค ๋ Like concat ('%',?,'%')์ ์ฌ์ฉํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค.. ์ฒ์์ %?%์ด๋ฐ์์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์งฐ๋๋ฐ ์ฟผ๋ฆฌ๋ฅผ ์ธ์์ ๋ชปํ์ต๋๋ค.. Postman์์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด..
RP2๊ธฐ API์ REST API๋ ๋ฌด์์ธ๊ฐ..? ์์ ๋ด์ฉ ์ ๋ฆฌ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ Request, Response๋ฅผ ํตํด ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ ๋ฉ์ด๋ฆฌ๋ฅผ Packet๋ผ๊ณ ํฉ๋๋ค. Packet์ ์ํฌ ์์๋ผ๊ณ ์๊ฐํด ๋ด ์๋ค. ์ํฌ ์์์๋ label์ด ๋ถ์ด ์์ ๊ฒ์ธ๋ฐ ์ด label๋ฅผ Header๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. Header์๋ Meta data๊ฐ ๋ค์ด ์์ต๋๋ค. Meta data๋... ๋ฉํ๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ์ ๋ํ ๋ฐ์ดํฐ์ด๋ค. ์ด๋ ๊ฒ ํํ๋ค ๊ฐ๋จํ ์ ์ํ์ง๋ง ์๊ฒฉํ๊ฒ๋ "์ด๋ค ๋ชฉ์ ์ ๊ฐ์ง๊ณ ๋ง๋ค์ด์ง ๋ฐ์ดํฐ"๋ผ๊ณ ๋ ์ ์ํ๋ค. ๊ฐ๋ น ๋์๊ด์์ ์ฌ์ฉํ๋ ์์ง ๊ธฐ์ ์ฉ์ผ๋ก ๋ง๋ ๊ฒ์ด ๊ทธ ๋ํ์ ์ธ ์์ด๋ค. ์ํฌ ์์ ์์๋ ์ง์ง ํ์ํ ๋ฐ์ดํฐ๋ค์ด ๋ค์ด์์ ๊ฒ์ธ๋ฐ ์ด๊ฒ์ Body๋ผ๊ณ ํฉ๋๋ค. HTTP ํ๋กํ ์ฝ์ ์ด์ฉํด์ ํจํท..
DataGrip ์ฌ์ฉ ์ค ๋ฐ์ ํ ์๋ฌ.... Server returns invalid timezone. Need to set 'serverTimezone' property. ํด๊ฒฐ๋ฒ์ ์์ฒญ ๊ฐ๋จํฉ๋๋ค. ์๋๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์. Advanced - Name๋ฅผ ํด๋ฆญ ํ ์ ๋ ฌ ํ - serverTimeZone์ Asia/Seoul๋ก ์ค์ Test Connectionํ์ธ ํ ์คํํ๋ฉด ์๋ฌ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค!!
AWS RDS ์ฌ์ฉ์ ์ถ๊ฐํ๊ธฐ https://aws.amazon.com/ko/premiumsupport/knowledge-center/duplicate-master-user-mysql/ RDS MySQL์์ ๋ง์คํฐ ์ฌ์ฉ์ ๊ถํ์ ๊ฐ์ง ๋ค๋ฅธ ์ฌ์ฉ์ ์์ฑ MySQL์ ์คํํ๋ RDS DB ์ธ์คํด์ค์๋ ๋ง์คํฐ ์ฌ์ฉ์๊ฐ ํ ๋ช ๋ง ์์ ์ ์์ง๋ง ๋ง์คํฐ ์ฌ์ฉ์์ ๋์ผํ ๊ถํ์ ๊ฐ์ง ์ ์ฌ์ฉ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๋ง์คํฐ ๊ถํ์ด ์๋ ์ ์ฌ์ฉ์๋ฅผ ์์ฑํ๋ ค aws.amazon.com ์๋ก์ด ์ฌ์ฉ์ ์์ฑ mysql> CREATE USER 'new_master_user'@'%' IDENTIFIED BY 'password'; (new_master_user ๋ฐ password๋ฅผ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ํธ๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.) ์ฌ..