์ ์ฒด ๊ธ235 (23.01.30.)Python ํ๋ก๊ทธ๋๋ฐ : Anaconda ์ค์น์ Jupiter Notebook ์ฌ์ฉํ์ฌ ํ์ด์ฌ ์๋ฃํ ๊ณต๋ถ Python - Machine Learning - AI Application - ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ - Spring(Web ์๋ฒ) Flask(AI ์๋ฒ ์ญํ ์ ํ๋๋ก) ์ค์น - Python ๋ง ์ค์น ํ๊ฒ๋๋ฉด ์ธ์ด์ ๋ด์ฅ๋ ๊ธฐ๋ณธ ๋ชจ๋๋ง ํฌํจ๋๋ค. - Anaconda Distritution ์๋์ฝ๋ค ๋ฐฐํฌํ์ ๊ธฐ๋ณธ ๋ชจ๋์ ๋ ๋ง์ ๊ธฐ๋ฅ์ ๋ชจ๋๊น์ง ํฌํจํ๊ณ ์๋ค. ์๋ํฐ๋ ๋ค์ด์๋ค.(Python, ML modules, IDE(์ฅฌํผํฐ ๋ ธํธ๋ถ)) CLI(Command Line Interface) - cmd, shell -python shell : ์ํธ ๋ํ์ ์ด๋ค.(Interactive shell) Anaconda Distritution๋ฅผ ์ค์น ํ ์๋์ฝ๋ค ํ๋กฌํํธ๋ฅผ ์คํํด ์ค๋ค. ์๋์ฝ๋ค ํ๋กฌํํธ์ ์ฅฌํผํฐ ๋ ธํธ๋ถ์์ ๋ง.. Python programming 2023. 1. 30. (23.01.27)์ดํด๋ฆฝ์ค์์ ์์ฑํ ํ๋ก์ ํธ๋ฅผ ์ด์์๋ฒ์ ๋ฐฐํฌํ๊ธฐ , ์ดํด๋ฆฝ์ค ๋ฆฌ์กํธ ์ฐ๋ํ๊ธฐ (Eclipse - React) ์ดํด๋ฆฝ์ค์์ ์์ฑํ ํ๋ก์ ํธ๋ฅผ ์ด์์๋ฒ์ ๋ฐฐํฌํ๊ธฐ Eclipse๋ ๊ฐ๋ฐ ํ๊ฒฝ, ๊ฐ๋ฐ ํ ์คํ ํ๊ฒฝ์ ๋ฐฐํฌํ๋ ์ ์ฐจ๊ฐ ์๊ตฌ๋จ ์คํ ํ๊ฒฝ: Tomcat ์๋ ๊ฒฝ์ฐ Tomcat ์๋ ๊ฒฝ์ฐ JAR ํ์ผ๋ก ํจํค์ง : Web App ์๋๊ฒฝ์ฐ ( ex. ojdbc ๋ฑ๋ฑ), Tomcat ์ด ๋ด์ฅ๋ Web App ์ธ ๊ฒฝ์ฐ java -jar myproject.jar application.properties์์ war๋ฅผ jar๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ WAR ํ์ผ๋ก ํจํค์ง : Web Application Archives, Tomcat์ webapps/์์ ๋ณต์ฌ ์์๋ฅผ ๋ณด๊ธฐ ์ํ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ธฐ application.properties ์ค์ ํ ์คํธ์ฉ ์ปจํธ๋กค๋ฌ ๋ง๋ค๊ธฐ ์ปจํธ๋กค์ด ์ ์๋ํ๋์ง ํ ์คํธ clean ํด์ฃผ๊ธฐ install ํด์ฃผ๊ธฐ .. Web programming 2023. 1. 28. (23.01.26.) React ํ๋ ์์ํฌ : ๋ฆฌ์กํธ์์ JSON ํ์ผ ๋ค๋ฃจ๊ธฐ ๋ฐ ํํฐ๊ธฐ๋ฅ ๋ฆฌ์กํธ์์ JSON ํ์ผ ๋ค๋ฃจ๊ธฐ List.js 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import emps from "./emps.json"; function List() { return( ํ ์ด๋ธ์ ๋ฐ์ดํฐ ํ์ํ๊ธฐ ๋ฒํธ์ด๋ฆ์ ํ { emps.list.map((emp)=> {emp.num}{emp.name}{emp.phone} ) } ); } export default List; //emps ์ ์ด์จ ์ด๋ ์ด emp๋ ๋ฆฌ์คํธ์ ํ๋์ ์์(์ต๋ช ํจ์์ ํ๋ผ๋ฏธํฐ) Colored by Color Scripter cs 1. jsx์์ ํ ์ด๋ธ์ ํค๋์ ๋ฐ๋๊ฐ ๊ผญ์์ด์ผ ํ๋ค. 2. return๋ฌธ์ฅ ์์์๋ 1๊ฐ์ ํ๊ทธ๋ง ์ฌ์ฉํ ์ ์๋ค... Framework/React Framework 2023. 1. 28. (23.01.25)React ํ๋ ์์ํฌ : ๋ฆฌ์กํธ ๋ฐฐ์ด ๋ค๋ฃจ๊ธฐ ๋ฆฌ์กํธ ๋ฐฐ์ด ๋ค๋ฃจ๊ธฐ Component ์ ์ธ, ์ฌ์ฌ์ฉ ์์คํ ์ํํธ์จ์ด - ์ด์์ฒด์ ๋ฅผ ๋ง๋ค๊ฑฐ๋ ํ๋.... SPA(Single Page Application) - ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ฑฐ๋ ํ๋....(๋ฆฌ์กํธ๋ ์ฌ๊ธฐ์ ํด๋น) ๋น ๋ฅธ ํน์ง์ด ์๋ค. ๋ฐ์ดํฐ ๋น์ฉ ์ ๊ฐ ํด๋ฆญํ๋ฉด ์๋ฒ์ ๋ํ ์์ฒญ์ด ์๋๋ผ ์ปดํฌ๋ํธ๋ง ๋ฐ๋๊ฒ๋ ์๋ฒ์ธก ๋ฐ์ดํฐ๋ฅผ ์ฉ์ฒญํ ๋๋ ajax ์ฌ์ฉ ๋ฐฐ์ด ๋ค๋ฃจ๊ธฐ -๋ก์ปฌ์ ์ ์ธ๋ ๋ฐฐ์ด -back end ์์ ์ ๋ฌํ ๋ฐฐ์ด (๋ฆฌ์คํธ) 1 2 3 4 5 list.map(f); *f๋ list ์ ์์ ๊ฐ๊ฐ์ ๋ฐ์์ ๊ฐ๊ณตํ๊ณ ๋ค์ ๋ฐฐ์ด๋ก ๋ฆฌํด (v) => {v} list.map( (v) => {v} ) Colored by Color Scripter cs -list.map(f); /* f๋ list์ ์์ ๊ฐ.. Framework/React Framework 2023. 1. 25. (23.01.20)React ํ๋ ์์ํฌ : ๋ฒํผ ์ด๋ฒคํธ๋ฆฌ์ค๋ ๋ง๋ค๊ธฐ ๋ฒํธ์ ๋๋ฅด๋ฉด ๋์ ์ผ๋ก ์ซ์๊ฐ ์ฌ๋ผ๊ฐ๋ ์ด๋ฒคํธ ๋ง๋ค๊ธฐ ํฐ๋ฏธ๋์ ํตํด์ react-router-dom ์ค์นํ๊ธฐ App.js 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import { useState } from 'react'; import { Route, Routes, Link } from 'react-router-dom'; import './App.css'; import Hello from './comp/Hello.js'; import Test from './comp/Test'; function App() { //์ํ ๋ณ์ const [num, setNum] = useState(0); //let num =0; //.. Framework/React Framework 2023. 1. 24. (23.01.19) React ํ๋ ์์ํฌ - ๋ค์ด๋ก๋ ๋ฐ ์ค์น React Framework Front-End SPA(Single Page Application) > ๋ฐ์ดํฐ ๋น์ฉ์ ๊ฐ, ๋ฐ์์๋ ํฅ์ ๋ฐ๋ณต ์ฌ์ฉ๋๋ ํ์ด์ง์ ์ผ๋ถ๋ถ์ ๋ชจ๋คํ(์ปดํฌํดํธ)ํ์ฌ ์ฌ์ฌ์ฉ > ๊ฐ๋ฐ์๊ฐ ๋จ์ธก, ์ ์ง๋ณด์์ ํจ์จ์ฑ ํฅ์jQuery๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ฉด์ ๋ถ๋ถ๋ถ๋ถ์ ๋ฐ๊ฟ ๋๋ง๋ค ํ๊ทธ๋ฅผ ํ๋ํ๋ ๋ค ๋ฃ์ด์ค์ผํ๋๋ฐ react๋ฅผ ์ฐ๋ฉด ๋ง๋ ํ ์ปดํฌ๋ํธ๋ฅผ ๋ผ์ ๋ฃ์ ์ ์๋ค. html, css, javascript ๊ฐ๋ฐ ํธ์๋ฅผ ์ํด Nodejs ๊ธฐ๋ฐ ๊ฐ๋ฐํ๊ฒฝ ์ฌ์ฉ Node.js: Server side Javascript JSX ์คํฌ๋ฆฝํธ : Javascript + XML - ํ๋ก์ ํธ ์์ฑ์ ๋ก์ปฌ ์น์๋ฒ๋ ๋ด์ฅ(ํฌํธ 3000) ๊ฐ๋ฐ์๋ฃ > Build > ์นํ์ค ํ์ผ ์์ฑ > ๊ฐ๋ฐํ๊ฒฝ ์ด์ธ์์ ์ฌ์ฉ JSP.. Framework/React Framework 2023. 1. 24. (23.01.18)Spring ํ๋ ์์ํฌ + Thymeleaf ๋ก FullCalendar ์ด๋ฏธ์ง ๋ํ๋ด๊ธฐ ๋ฐ ์ด๋ฒคํธ ์จํด๋ฆญ(onClick)์ฒ๋ฆฌํ๊ธฐ Spring + Thymeleaf ๋ก FullCalendar ์ด๋ฏธ์ง ๋ํ๋ด๊ธฐ ๋ฐ ์ด๋ฒคํธ ์จํด๋ฆญ(onClick)์ฒ๋ฆฌํ๊ธฐ ๋ฌ๋ ฅ์ ๋ทฐ๋ก ๋์ธ ๋ ๋ง์ด ์ฐ๋ ๋ฌ๋ ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ค. ๋ฐ๋ก fullcalendar์ธ๋ฐ ์๋ฐ ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ์ฌ ๋ฌ๋ ฅ์ ๋ง๋๋ ๊ฒ์ด๋ค. fullcalendar์ ์ผ์ ์ ๋ํ๋ด๋ ๋ฌ๋ ฅ์ ์นํ์ ์ธ๋ฐ ์ด๋ฅผ ์กฐ๊ธ ์์ฉํ์ฌ ์ผ๊ธฐ ๋ฌ๋ ฅ์ผ๋ก ๋ง๋ค์๋ค. ์ผ๊ธฐ๋ฅผ ์ฐ๋ฉด ํด๋น ๋ ์ง์ ํ๋กํ ์ฌ์ง์ด ๋จ๊ณ ํ๋กํ์ ๋๋ฅด๋ฉด ์ผ๊ธฐ ์์ธ ํ์ด์ง๋ก ๋์ด๊ฐ๊ฒ ๋ง๋ค์๋ค. https://fullcalendar.io/ FullCalendar - JavaScript Event Calendar Open Source... With over 10 years of open source and over 120 contributors,.. Framework/Spring Framework 2023. 1. 23. (23.01.17.)Spring ํ๋ ์์ํฌ : AOP(Aspect Oriented Programming) ๊ด๊ณ์งํฅ ํ๋ก๊ทธ๋๋ฐ AOP(Aspect Oriented Programming) ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ Core Concerns : ๋ฉ์ธ ๋ก์ง Cross-Cutting Concerns : ๋ถ๊ฐ์ ์ธ ๋ก์ง(๋ก๊ทธ์ธ ๊ฒ์ฌ, ๋ณด์, ๋ก๊น ….) ๋ฐ๋ณต๋๋ ๋ถ๊ฐ ๋ก์ง์ ์ฌ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ(๋ถ๊ฐ๋ก์ง ์ค๋ณต๋ฐฉ์ง) OOP(Object Oriented Progrramming) ๋ฐฉ์์ผ๋ก๋ ์๋จ AOP ๋ฐฉ์์ ์ฌ์ฉํ์ฌ OOP๋ฅผ ๋ณด์ํ ์ ์์ Adivce : ๋ถ๊ฐ์ ์ธ ๋ก์ง์ ๋ฉ์๋๋ก ์ ์ธํ ๊ฒ Pointcut : ๋ถ๊ฐ๋ก์ง์ธ ์คํ๋ ๋ฉ์ธ ๋ก์ง์ ์์ ํ ๊ฒฝ๋ก ํํ Aspect : ๋ถ๊ฐ๋ก์ง์ ๋ฉ์๋๋ก ์ ์ธํ ํด๋์ค JoinPoint : ๋ถ๊ฐ๋ก์ง์ ์ด์ด์ ์คํ๋ ์ฃผ ๋ก์ง์ ๋ฉ์๋ ์ ๋ณด @Before, @After, @Around, @AfterReturning.. Framework/Spring Framework 2023. 1. 18. (23.01.16.)Spring ํ๋ ์์ํฌ : ์ด๋ฉ์ผ ์ธ์ฆ ๋ณด์ - ๋ค๋ฅธ ๊ธฐ๊ธฐ์์ ์ธ์ฆ์ ์ธ์ ์ด ๋ฌ๋ผ ์ธ์ฆ ์ค๋ฅ ๊ณ ์น๊ธฐ ์ด๋ฉ์ผ ์ธ์ฆ ๋ณด์ -์ธ์ฆ์ ์ ์ฒญํ ๊ธฐ๊ธฐ ์ด์ธ์ ๊ธฐ๊ธฐ์์๋ ์ธ์ฆ ๋ต๋ณ ๋ฉ์ผ ํ์ธ -์ด๋ฉ์ผ์ ์ธ์ฆ์ฉ ์ํธ ๋ฌธ์์ด์ ์ ๋ฌ -์ด๋ฉ์ผ ์์ ์๊ฐ ๋ฉ์ผ์ ์ด๊ณ ๋งํฌ ํด๋ฆญ > ์ํธ๋ฌธ์์ด์ ๋ค์ ์๋ฒ๋ก ๋ณด๋ด์ค๋ค. -์ด๋ฉ์ผ์ ๋ณด๋ผ๋์ ์๋ฒ์ธก ๋ฉ์๋์ ์ํธ๋ฌธ์์ด์ ๋ค์ ๋ฐ์ ๋์ ๋ฉ์๋๋ ๋ค๋ฅด๋ค. -์ด์ฉ์์ ์ธ์ ์ ์ํธ๋ฌธ์์ด์ ๊ธฐ์ต์์ผ๋๊ณ ๋์์์ ๋์ ์ํธ ๋ฌธ์์ด์ ๋น๊ตํ๋ค. -์์ ์ ์ฐจ๊ฐ ๋ชจ๋ ๋์ผ ์์คํ ์์ ์คํ๋๋ค๋ฉด ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์๋ค. -ํ์ง๋ง ๋ค๋ฅธ ๊ธฐ๊ธฐ์์ ์ธ์ฆ์ ์๋ต์ ๋๋ฅด๋ฉด ์ธ์ ์ด ๋ค๋ฅธ ์ธ์ ์ผ๋ก ๋ฐ๋๊ธฐ ๋๋ฌธ์ ์ธ์ฆ์ด ์๋ํ์ง ์๋๋ค. ๋ฐ๋ผ์ ์ธ์ฆ ๋งํฌ๋ฅผ ๋๋ฅผ ๋ ์ธ์ id๊น์ง ๊ฐ์ด ์ค์ ํด๋น ์ธ์ id์ ์๋ ๋ฌธ์์ด๊ณผ ํจ๊ป ๋น๊ตํ๊ฒ๋ ํด์ผํ๋ค. ๋จผ์ ๋ฉ์ธ ์ดํ๋ฆฌ์ผ์ด์ ์ @ServletComponentScan์.. Framework/Spring Framework 2023. 1. 18. (23.01.14.)Spring ํ๋ ์ ์ํฌ : ์๋ฌ ํ์ด์ง ๋ง๋ค๊ธฐ ์๋ฌ๊ฐ ๋จ๊ฒ ๋๋ฉด ์น์ ์ ๋ชจ๋ฅด๋ ์ด์ฉ์๋ ๋นํฉํ ์ ์๋ค. ๋ฐ๋ผ์ ์๋ฌ์ ์ข ๋ฅ์ ๋ฐ๋ผ ๊ฐ๋ฐ์๊ฐ ์๋ฌํ์ด์ง๋ฅผ ๊พธ๋ฉฐ์ ์ด์ฉ์์๊ฒ ์ ์ค๋ช ํ ์ ์๋ค. ErrorHandler.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; import org.springframework.boot.web.servlet.error.ErrorController; import org.springframework.http.HttpStatus; i.. Framework/Spring Framework 2023. 1. 17. (23.01.13)Spring ํ๋ ์์ํฌ : ์ ๋ก๋๋ ์ด๋ฏธ์ง๋ฅผ ๋ธ๋ผ์ฐ์ ์์ ๋ณด๊ธฐ(์ด๋ฏธ์ง ํ๊ทธ, Thymeleaf์์ ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ) ์ ๋ก๋๋ ์ด๋ฏธ์ง๋ฅผ ๋ธ๋ผ์ฐ์ ์์ ๋ณด๊ธฐ โ -WEB-INF ์๋์ ๋๋ ํ ๋ฆฌ๋ ์น๋ธ๋ผ์ฐ์ ์์ ์ ๊ทผ ๋ถ๊ฐ(WEB-INF/files/) -์๋ฒ์ธก์์ WEB-INF ์๋์ ์ด๋ฏธ์ง๋ฅผ ์ ํด์ค ์๋ ์์ - -์์ ํ๊ทธ๊ฐ ์น๋ธ๋ผ์ฐ์ ์ ๋ก๋๋๋ฉด ์น๋ธ๋ผ์ฐ์ ๋ ํด๋น ์ด๋ฏธ์ง๋ฅผ ์๋ฒ์ ์์ฒญํ๊ฒ ๋จ -์์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์ปจํธ๋กค๋ฌ ๋ฉ์๋๊ฐ ์๋ค๋ฉด ์ด ๋ ๊ทธ ๋ฉ์๋๊ฐ ์คํ๋จ -์ปจํธ๋กค๋ฌ์์๋ @ResponseBody๋ฅผ ์ฌ์ฉํ์ฌ byte[ ]์ด ๋ธ๋ผ์ฐ์ ๋ก ๋ฆฌํด๋๋๋ก ํจ -์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ํ๊ทธ๋ ์ด๋ฏธ์ง๋ฅผ ํ๋ฉด์ ํ์ํ ์ ์์ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42.. Framework/Spring Framework 2023. 1. 16. (23.01.12) Spring ํ๋ ์ ์ํฌ : CRSF(Cross Site Request Forgery) CRSF(Cross Site Request Forgery) ํฌ๋ก์ค ์ฌ์ดํธ ์์ฒญ ์ฌ๊ธฐ ์๋ ์ฌ์ดํธ์์ ๋ฐ์์ค์ง ์์ ์กฐ์ํ ์นํ์ด์ง๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒญ ์์ ์์ฒญ url์ ์๊ณ ์๋ชป๋ ์์ฒญ์ ๋ณด๋ด๋ ค ํ ์ ์๋ค. CsrfTestConrtroller.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.spri.. Framework/Spring Framework 2023. 1. 13. ์ด์ 1 ยทยทยท 9 10 11 12 13 14 15 ยทยทยท 20 ๋ค์