์ ์ฒด ๊ธ ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Mysql] row_number() ๊ทธ๋ฃน๋ณ ํ๋ฒํธ ์ถ๋ ฅ ์ฟผ๋ฆฌ ๊ทธ๋ฃน๋ณ ์์ ์ถ๋ ฅ ์ฟผ๋ฆฌ Mysql row_number() mysql 8 ๋ฒ์ ์ด์์์๋ row_number() ํจ์๋ฅผ ์ง์ํ๋ค. ์.. ๊ฐ์ฉ์ด. ์๋ ์์ ์๋ row_number() ํจ์๊ฐ ์์ด์ ์ฟผ๋ฆฌ ๊ธธ์ด๋ ๋ฌด์๊ฒ ๊ธธ๊ณ , ์ฑ๋ฅ๋ ๊ตฌ๋ ค์ ๊ฑ ์ฝ๋๋ก ๋๋ ค ๋ฐ์๋.. ์ค๋ผํด ๋ณด๊ณ ์นจ ํ๋ฆฌ๋ ์์ ์ด ์์๋๋ฐ.. ใ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ์ ์๋ก์ผ ์ฐ๊ณ , ROW_NUMBER() OVER ( ) : PARTITION BY ,[{,}...] ์ด ๋ถ๋ถ์ ํน์ ์ปฌ๋ผ์ด๋ ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฃน์ง์ด ์๋ฒ์ ๋งค๊ฒจ์ค๋ค. group_by์ ๊ฐ๋ค๊ณ ๋ณด๋ฉด ๋จ. ํ๋๋ง ์ธ ์ ์๋๊ฑด ์๋๊ณ , ์ฝค๋ง(,)๋ก ์ฌ๋ฌ๊ฐ ์ง์ ์ด ๊ฐ๋ฅ. ๊ตณ์ด ๋ฃ์ ํ์ ์๋ค๋ฉด ์๋ฃ์ด๋ ์๊ด์์. : ORDER BY [ASC|DESC],[{,}...] ์๋ฒ์ ๋งค๊ธธ ๋,.. ๋๋ณด๊ธฐ Maria DB JSON Format ๋ฐ์ดํฐ ์ฒ๋ฆฌ Json Format { "DATA":{ "PARAM1":"123123", "PARAM2":"TEST", "PARAM3":{ "PARAM4":"0", "PARAM5":6000 } } } Json data ์ค PARAM1 ๊ฐ ์ถ๋ ฅ SELECT JSON_EXTRACT(DATA.STR, '$.DATA.PARAM1') AS PARAM1 FROM ( SELECT '{ "DATA":{ "PARAM1":"123123", "PARAM2":"TEST", "PARAM3":{ "PARAM4":"0", "PARAM5":6000 } } }' AS STR FROM DUAL ) DATA Json data ์ค PARAM3 ๊ฐ์ ธ์ค๊ธฐ SELECT JSON_EXTRACT(DATA.STR, '$.DATA.PARAM3.PARAM4') AS.. ๋๋ณด๊ธฐ ๊ตฌ๊ธ ์ธ์ฑ ๊ฒฐ์ ๊ฒ์ฆ API ๊ด๋ จ ์ด์.. Google_Service_AndroidPublisher ๊ตฌ๊ธ API์ AndroidPublisher๋ฅผ ํตํด ์๋๋ก์ด๋ ์ธ์ฑ ๊ฒฐ์ ํ ๋ด์ญ์ ๊ฒ์ฆ ์ฝ๋ ์ง์ ํ ์คํธ๋ฅผ ํ๋๋ฐ ์๊ธด ๋ฌธ์ ๋ชจ๋ ๊ถํ์ Perfect.. ๊ณ์ ๋ด ํ๋ก์ ํธ๊ฐ ์ฌ๋ฌ๊ฐ์ด์ง๋ง, ํ๋์ ํ๋ก์ ํธ์ ์๋น์ค ๊ณ์ ์ ์ถ๊ฐํด "์์ ์" ๊ถํ์ ์คฌ๊ณ , Json ํ์ผ์ ๋ฐ๊ณ ์ฝ๋๋ฅผ ๋ฃ์๋๋ฐ.. ์... ์๋๋ค ใ ใ ์๋๋ ๊ฒ์ฆ ๊ด๋ จ ์ฝ๋. ๋ก๊ทธ์ธ ๋ถํฐ, ๊ฒฐ์ ๋ด์ฉ ๊ฒ์ฆ $this->client = new Google_Client(); $this->client->setAuthConfig(getenv('GOOGLE_SDK_FILE')); $this->service = new Google_Service_AndroidPublisher($this->client); $this->client->addScope('h.. ๋๋ณด๊ธฐ [summary] แแ ณแแ ณแ แ ตแผ แแ ตแธแแ ฎแซ - แแ ฉแแ ณแ แ ฉ แแ ขแแ ฎแแ ณแซ แแ ณแแ ณแ แ ตแผ แแ ฎแแ ณ, แแ ฐแธ MVC, DB แแ ฅแธแแ ณแซ แแ ตแแ ฎแฏ day 3 JPA - ์๋ฐ ORM ํ์ค, ์ธํฐํ์ด์ค์ ๋ชจ์. Object Relational table Mapping - ๊ธฐ์กด์ sql ๋ฐ์ดํฐ ์ค์ฌ ์ค๊ณ์์ ๊ฐ์ฒด ์ค์ฌ ์ค๊ณ๋ก์ ํจ๋ฌ๋ค์ ์ ์ฉ configuration - spring.jpa.hibernate.ddl-auto - DDL (๋ฐ์ดํฐ ์ ์์ด. create, alter, drop... ๋ฑ๋ฑ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๊ด๋ จ ๋ช ๋ น์ด) Auto Generation ์ต์ (DDL SQL ์คํฌ๋ฆฝํธ ์๋ ์์ฑ) https://docs.spring.io/spring-boot/docs/1.1.0.M1/reference/html/howto-database-initialization.html#howto-initialize-a-database-using-hibernate 59. Datab.. ๋๋ณด๊ธฐ [summary] แแ ณแแ ณแ แ ตแผ แแ ตแธแแ ฎแซ - แแ ฉแแ ณแ แ ฉ แแ ขแแ ฎแแ ณแซ แแ ณแแ ณแ แ ตแผ แแ ฎแแ ณ, แแ ฐแธ MVC, DB แแ ฅแธแแ ณแซ แแ ตแแ ฎแฏ day 2 ์คํ๋ง๋ถํธ ํ ์คํธ ์ผ์ด์ค ์์ฑ JUnit - main ๋ฉ์๋ ํตํ ์คํ - ์น ์ ํ๋ฆฌ์ผ์ด์ ์ปจํธ๋กค๋ฌ ํตํ ์คํ service ํจํค์ง๋ ์ฃผ๋ก ๋น์ฆ๋์ค ๋ก์ง ์คํ - ๋น์ฆ๋์ค์ ์์กด์ repository๋ ์ ์ฅ์์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ์ญํ ์ ํจ(findAll, findById) - ๋จ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ ์คํธ ์ฝ๋ ์์ฑ ๋จ์ถํค ์ปค๋งจ๋ ์ฌํํธ T Test ์ฝ๋ ์์ฑ์ given, when, then ์์ผ๋ก ๊ฒ์ฆ ์ฒ๋ฆฌ * ์ธ๋ถ ์์กด์ฑ ์ฃผ์ DI(Dependancy injection) ์คํ๋ง ๋น์ ๋ฑ๋กํ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ - ์ปดํฌ๋ํธ ์ค์บ๊ณผ ์๋ ์์กด๊ด๊ณ ์ค์ -> @Component (๋น์ผ๋ก ์๋ ๋ฑ๋ก), @Autowired, @Controller, @Service... etc ์ด๋ ธํ ์ด์ ์ค์ - ์๋ฐ ์ฝ๋๋ก ์ง์ ์ค.. ๋๋ณด๊ธฐ [summary] ์คํ๋ง ์ ๋ฌธ - ์ฝ๋๋ก ๋ฐฐ์ฐ๋ ์คํ๋ง ๋ถํธ, ์น MVC, DB ์ ๊ทผ ๊ธฐ์ day1 [์คํ๋ง ์น ๊ฐ๋ฐ ๊ธฐ์ด] ๊ธฐ์กด์ ๋ชจ๋ธ1 ๋ฐฉ์ - View ๋จ์์ ๋ชจ๋ ๊ฑธ ์ฒ๋ฆฌ, ๋น์ฆ๋์ค ๋ก์ง ๋ฑ์ jsp๋ก ์ฒ๋ฆฌ MVC ํจํด ๋ฐฉ์ - ๋ชจ๋ธ, ๋ทฐ, ์ปจํธ๋กค๋ฌ๋ก ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ๊ณ , ๋ทฐ์์๋ ํ๋ฉด ์ถ๋ ฅ, ๋ชจ๋ธ์๋ ํ๋ฉด์์ ํ์ํ ๋ฐ์ดํฐ๋ค์ ๋ด๋ ์ญํ ์ ํจ ํ์๋ฆฌํ Thymeleaf - Spring Boot์์ ์ฌ์ฉ๋๋ ๋ทฐ ํ ํ๋ฆฟ ์ข ๋ฅ ์ค ํ๋ - static(์ ์ ), templates(๋์ ) ํ ํ๋ฆฟ์ ์ ๊ณตํ๋ฉฐ, ์๋ํฌ์ธํธ๊ฐ (request mapping) ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ ์ ์ ํ ํ๋ฆฟ์์ ์ฐพ์ ๋ ๋๋ง๋์ง ์์ html ํ์ผ์ ๋ฆฌํดํ๋ค. Getter & Setter - ์๋ฐ Bean ํ์ค ๊ท์ฝ - ํ๋กํผํฐ ์ ๊ทผ ๋ฐฉ์ - ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ ์์ ๋ฉ์๋๋ฅผ ํตํด ์ ๊ทผ ๊ฐ๋ฅ @ResponseBody ์ด๋ ธํ ์ด์ .. ๋๋ณด๊ธฐ intelli J์์ ํ๋ก์ ํธ ์์ฑ ์, Spring Initializr ์๋ณด์ด๋ ๊ฒฝ์ฐ ์ธํ ๋ฆฌ์ ์ด์์ ์คํ๋ง ํ๋ก์ ํธ ์์ฑ ์, ์ปค๋ฎค๋ํฐ ๋ฒ์ ์ด ์๋์๋ Spring Initializr๊ฐ ์๋ณด์.. ์๋์ฐ์์ ๋งฅ์ผ๋ก ์ ํํ๊ณ intelli J๋ก ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ๋ฅผ ์ฒจ์ผ๋ก ์์ฑํ๋ คํ๋๋ฐ ๊ท์ฐฎ๊ฒ ๋ผ๋ฒ๋ฆผ. spring.io์์ ์์ฑ๊ฐ๋ฅํ๋, ์ด ์ข์ IDE๋ฅผ ๋์ฃผ๊ณ ์ฐ๋๋ฐ ์..?ใ ๊ฒ์ํด๋ณด๋, ์ฃ๋ค ์ปค๋ฎค๋ํฐ ๋ฒ์ ์ด๋ผ์ ์ด์ฉ์์๋ค๋๋ฐ.. ๋ ๋ผ์ด์ผ์ค ๊ตฌ๋งค์๋ ๋ง์ด์ง. ์๋จ ๋ฉ๋ด 'Preferences > plugins > Spring Assistant ๊ฒ์ > install > restart' ์์ค ์ฌ์..... ์ฐพ๋๋ฐ ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฌ์ง ์์์ง๋ง ์ด๊ธฐ ์ค์ ์ ์ธ์ ํด๋ ๊ท์ฐฎ๊ณ ๊น๋จน์ผ๋ ๊ธฐ๋ก! ๋๋ณด๊ธฐ Mac Alias ์ค์ source ~/.zsh source ~/.bash_profile ํด์ค๋ ๊ทธ ๋ ๋ฟ. ํฐ๋ฏธ๋ ์ฐฝ์ด ๋ค๋ฅด๊ฑฐ๋ ์๋ก ์ด ๋ ๋ง๋ค ์ ์ง๋ํด์ ๊ฐ๋นก ์๋ ๋งํฌ ์ฐธ์กฐ ํด์ ์คํํ๋ ์์ฃผ ์๋จ. + ์๋์ฐ/๋ฆฌ๋ ์ค ์์์ ์ ์ฐ๋ ๋ช ๋ น์ด๋ง ๋ฃ์ด๋ ๋ vi ~/.bash_profile #.bash_profile if [ -f ~/.bashrc ]; then . ~/.bashrc fi #============================================================ # # ALIASES AND FUNCTIONS # Arguably, some functions defined here are quite big. # If you want to make this file smaller, these.. ๋๋ณด๊ธฐ ์ด์ 1 2 3 4 ยทยทยท 6 ๋ค์