๐ป92 [CS/API] RESTful API ๋? +URI, HATEOAS 2024.12.14 - [๐ป/CS] - [CS/ API] API ๋? [CS/ API] API ๋?ํ๋ก๊ทธ๋๋ฐ ๊ณต๋ถ๋ฅผ ํ๋ฉฐ ์์์ด ๋ค์ด๋ณด๊ฒ ๋๋๊ฒ ๋ฐ๋ก ' API ' ๋ค. API์ ๋ํด ๋ช ํํ๊ฒ ์ ๋ฆฌํด๋ณด์. โบ๏ธ 1. API ๋?: Application Programming Interface ์ฝ๊ฒ ๋งํด ' ์ํธ๊ฐ์ ์ํต์ ์ํ ์ ์ ' ์ด๋ผ๊ณ soonybutter.tistory.com ์ ๋ฒ์ API์ ๊ฐ๋ ์ ๋ํด ๊ฐ๋ตํ ์ ๋ฆฌ ํ๋ค. ์ด๋ฒ์๋ REST API, ์ ํํ๊ฒ๋ RESTful API์ ๋ํด ์ ๋ฆฌํด๋ณด์. โบ๏ธ 1. RESTful API ๋?RESTful API๋ ๋ค์ํ ํ์๋ค ์ค ์ค๋๋ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๊ฒ์ด๋ค. RESTful API๋ A๊ฐ ์ด๋ค๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ฉด, B๊ฐ ์ด๋ค ๋ฐฉ์์ผ๋ก.. 2024. 12. 14. [CS/ API] API ๋? ํ๋ก๊ทธ๋๋ฐ ๊ณต๋ถ๋ฅผ ํ๋ฉฐ ์์์ด ๋ค์ด๋ณด๊ฒ ๋๋๊ฒ ๋ฐ๋ก ' API ' ๋ค. API์ ๋ํด ๋ช ํํ๊ฒ ์ ๋ฆฌํด๋ณด์. โบ๏ธ 1. API ๋?: Application Programming Interface ์ฝ๊ฒ ๋งํด ' ์ํธ๊ฐ์ ์ํต์ ์ํ ์ ์ ' ์ด๋ผ๊ณ ํ ์ ์๋ค. API ๋ '์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ฐ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค'๋ฅผ ๋งํ๋ค. 2. ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ทธ๋ผ ์ด๋ค ๋ฐฉ์์ผ๋ก API๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ด ์ด๋ฃจ์ด์ง๊น. ์๋ฅผ ๋ค์ด ๋ ์จ ์ฑ์ ๋ง๋ ๋ค๋ฉด๊ธฐ์์ฒญ์ผ๋ก๋ถํฐ ๋ ์จ์ ๋ณด๋ฅผ ์์ฒญํด์ ์๋ต์ ๋ฐ์ ํ , ํ๋ฉด์ ๋ํ๋ด์ผ ํ๋ค.์ด๋ ๋ ์จ ์ ๋ณด๋ฅผ ์ ๊ณต ๋ฐ์ ์ ์๋๋ก ๊ธฐ์์ฒญ์์ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค๊ฐ ๋ฐ๋ก API ์ธ ๊ฒ์ด๋ค.์ด๋ฌํ ํ์์ API๋ 'HTTP API' ๋ค. ํด๋ผ์ด์ธํธ๋ A.. 2024. 12. 14. [Thymeleaf] Thymeleaf ์ด๊ธฐ ์ค์ , ๋ทฐ ํ ํ๋ฆฟ ์ฌ์ฉ ํ์ ๋ฆฌํ์ ํน์ง์ ์๋์ ๊ฐ์ต๋๋ค.*.html ํ์ฅ์๋ฅผ ์ฌ์ฉํ๋ค.๋ณ๋์ ๋ ์ด์์ ํ๋ ์์ํฌ์ ๋์ ์์ด ๋ ์ด์์์ ๊ด๋ฆฌํ ์ ์๋ค.์คํฌ๋ฆฝํธ๋ฆฟ์ด ์๋ HTML ๋ฌธ๋ฒ์ผ๋ก JAVA ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค.์์ฐ์ฑ ํ๋์ ์์ฒญ๋๊ฒ ๊ณต์ ๋ค์ธ ๋๋์ด ๋ฉ๋๋ค.ํ์ ๋ฆฌํ์์๋ JSP์ ์คํฌ๋ฆฝํธ๋ฆฟ์ ์ฌ์ฉํ ์ ์๊ณ , ๋์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ${}๊ณผ ๊ฐ์ ํํ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.ํ์ง๋ง ์คํฌ๋ฆฝํธ๋ฆฟ๊ณผ๋ ๋ค๋ฅด๊ฒ HTML ์ฝ๋์ ์ฌ๋ฏธ์ฑ์ ํฌ๊ฒ ํด์น์ง ์์ต๋๋ค.๊ฐ์คํ๊ณ , ๊ทธ๋ผ ์ด thymeleaf๋ฅผ Spring Boot ํ๋ก์ ํธ์์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์์๋ณด๊ฒ ์ต๋๋ค. 1. Thymeleaf prefix, suffix ์ ์๋จผ์ , Thymeleaf ํ์ผ์ ์ด๋์ ๊ด๋ฆฌํ ๊ฒ์ธ์ง application.properties์ ์ ์ํด์ผ.. 2024. 12. 14. [Spring Boot] ์ปจํธ๋กค๋ฌ / @annotation ์ ๋ฆฌ +๊ฐ๋จํ viewํ์ผ ๋๊ธฐ๊ธฐ ์ด๋ฒ๊ธ์ Controller ์ ๋ํด ์ข๋ ์์ธํ ์์๋ณด๊ณ Index ํ์ด์ง๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ๋ค. Controller๋ MVC์์ C์ ํด๋นํ๋ฉฐ ์ฌ์ฉ์์ ์์ฒญ์ ์ฒ๋ฆฌํ ํ V์ ํด๋น๋๋ ๋ทฐ์ M์ ํด๋น๋๋ ๋ชจ๋ธ ๊ฐ์ฒด๋ฅผ ๋๊ฒจ์ฃผ๋ ์ญํ ์ ๋ด๋นํ๋ค. Controller ์ ๋ํ์ ์ธ ์ด๋ ธํ ์ด์ ์ ์ด๋ค๊ฒ ์๋์ง ์์๋ณด๊ฒ ๋ค.@ControllerController ์ ์ญํ ์ ์ํํ๋ค๊ณ ๋ช ์ํ๋ค. ๋ช ์๋ ํด๋์ค๋ฅผ Spring MVC ์ปจํธ๋กค๋ฌ๋ก ํ์ํ๋๋ฐ ์ฌ์ฉ๋๋ค.์ฃผ๋ก View์ ๋ฐํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๊ธฐ ์ํด์๋ @ResponseBody ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ ๋ฐ์ดํฐ๋ฅผ JSON ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ ์ ์๋ค.์ฌ์ฉ ๋ฐฉ๋ฒ์ ํด๋์ค ์ ์ธ๋ถ์ ์ ๋ ฅํ๋ค.@Controller public class.. 2024. 12. 14. [Spring Boot] ์คํ๋ง ์์กด์ฑ ์ฃผ์ @Autowired, @Resource, @Inject ์คํ๋ง ์์กด์ฑ ์ฃผ์ @Autowired, @Resource, @Inject (Java Spring Dependency Injection)โ์์กด์ฑ ์ฃผ์ ์ ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ์ง ์๊ณ @Service์ ์ด์ฉํ์ฌ class annotation์ผ๋ก ๋ฌ์์ฃผ๋ฉด ์คํ๋ง์ beanFactory์ ๋ด์ ๋๊ณ ์ฌ์ฉํ๋ ๊ณณ์ @Autowired์ ์ฌ์ฉํ๋ ๊ณณ์ ํด๋น bean์ ์ฐพ์ ์ฃผ์ ์์ผ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋์์ค๋ค.โ1. @Autowired @Autowired๋ ์ฃผ์ ํ๋ ค๊ณ ํ๋ ๊ฐ์ฒด์ ํ์ ์ด ์ผ์นํ๋ ๊ฐ์ฒด๋ฅผ loc ์ปจํ ์ด๋ ์์ ์กด์ฌํ๋ Bean์ ์๋์ผ๋ก ์ฃผ์ ํ๋ค. โ์ฃผ์ ๋ฐฉ๋ฒ์ 3๊ฐ์ง๊ฐ ์๋ค.โํ๋ ์ฃผ์ (Field Injection)ํ๋์ @Autowired ์ด๋ ธํ ์ด์ ์ ๋ถ์ฌ ์ฃผ๋ฉด ์๋์ผ๋ก ์์กด์ฑ์ด ์ฃผ์ ๋๋ค. ๋งค.. 2024. 12. 14. [STS/Spring Boot] STS์์ maven์ผ๋ก build ํ๋ ๋ฐฉ๋ฒ 1. package > Run As > Maven build 2. Goals ์ 'package' ์ ๋ ฅํ๊ธฐ 3. console ์ฐฝ์ 'BUILD SUCCESS' ๋จ๋ฉด ์๋ฃ +Build๊ฐ ์๋๋ ๊ฒฝ์ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ: C:\Users\์๋์ฐ๊ณ์ ์ด๋ฆ\.m2 ํด๋ ์๋์ ์๋ ๋ชจ๋ ํด๋๋ฅผ ์ญ์ ํ ๋ค์ STS๋ฅผ ์คํํ๋ฉด ์๋์ผ๋ก ๋น๋ํ๋ฉด์ ๋ฉ์ด๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐ๊ฒ ๋๋ค. 2024. 12. 12. [Git/Github] ์์คํธ๋ฆฌ ๊นํ๋ธ ์ปค๋ฐ, ์๋ ์ ์ฑ์์ง๋ ๋ฌธ์ ํด๊ฒฐํ๊ธฐ (SourceTree - ๊นํ๋ธ) commit ์ ์๋ ์ ์ฑ์์ง๋ ๋ฌธ์ ํด๊ฒฐํ๊ธฐ ๐ก์๋ ์์ฌ์ด์ง๋ ๋ํ ์์ธ1. ๊นํ๋ธ์ ๋ฑ๋ก๋ ์ด๋ฉ์ผ๊ณผ ์์คํธ๋ฆฌ์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ ๋ณด์ ์ด๋ฉ์ผ์ด ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ.2. ๋ ํฌ์งํ ๋ฆฌ๊ฐ private ๋ก ์ค์ ๋ ๊ฒฝ์ฐ, ์ปค๋ฐ ํด๋ ์๋์ ์๋ธ. ( 'Private Contributions' ์ฒดํฌ )3. ์์คํธ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๋ธ๋์น ์์ฑ ํ, ์์ฑ๋ ๋ธ๋์น์ ์ปค๋ฐ์ ์งํํ๋ฉด ์๋๊ฐ ์ฌ์ด์ง์ง ์๋๋ค. ์์คํธ๋ฆฌ์ ์ด๋ฉ์ผ์ฃผ์๋ฅผ ํ์ธํด๋ณด์๋๋ ์ด๋ฏธ ๊ฐ์ ์ด๋ฉ์ผ๋ก ์ ํด๋ก ์ด ๋์ด์์๋ค.๊ทธ๋๋ ์๋๊ฐ ์ ์ฌ์ด์ก๋ค. ํน์ ๋ชฐ๋ผ ์์คํธ๋ฆฌ ์์ฑ์ ์ด๋ฆ๊ณผ ๊นํ๋ธ์ ์ด๋ฆ์ ์ผ์น์์ผ์คฌ์ง๋ง๊ทธ๋๋ ์ฌ์ด์ง์ง ์๋ ์๋... .. (-_- ) ์ฒ์ ๋ ํฌ์งํ ๋ฆฌ ์์ฑํ ๋ privat.. 2024. 12. 1. [c++] replace() ํจ์, find() ํจ์ / ๋ฌธ์์ด ์ฐพ๊ธฐ 1. size_tint ํ: -21e8 ~ 21e8 ์ ์ size_t ํ : unsigned int ๋ '0์ ํฌํจํ ์์ ์ ์'๋ค.: ์ปดํจํฐ ์ฌ์์ ๋ฐ๋ผ uint32_t๊ฐ ๋ ์๋ ์๊ณ , uint64_t๊ฐ ๋ ์๋ ์๋ค. ex)uint32_t u32t; ๋ 32๋นํธ์ 0์ ํฌํจํ ์์ ์ ์unit64_t u64t; ๋ 64๋นํธ์ 0์ ํฌํจํ ์์ ์ ์ string::npos: size_t์ underflow ๊ฐ -> ์ฐ๋ ๊ธฐ๊ฐ 2. find() ํจ์C++ string ๋ณ์์์ ํน์ ๋ฌธ์์ด์ ์ฐพ์ ๋, std::string์ find() ํจ์๋ฅผ ์ฌ์ฉํ๋ค. #include #include using namespace std;int main(){ string s = "Enter ui1234 .. 2024. 11. 27. [์๋ฒ] CRUD ๋? + CRUD์ REST 1. CRUD ๋?Create, Read, Update, Delete์ ์ฝ์ด๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ์ ์์คํ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ์๋ฏธํ๋ค. CRUD ๊ฐ๋ ์ ์น์์คํ ๋ฟ๋ง ์๋๋ผ ๊ฑฐ์ ๋ชจ๋ ์์คํ ์์ ์ ์ฉ๋๋ค. 2. DB์ CRUD CRUD๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช ๋ น์ด๋ค. 1. Create (์์ฑ) ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ก์ด ํ ์ด๋ธ ๋ฐ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์์ . 2. Read (์ฝ๊ธฐ) ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ ๊ฒ์, ์ฝ์ด์ค๋ ์์ 3. UPDATE (๊ฐฑ์ , ์์ ) ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ค. ์์ ํ๋ ๊ฒ์ ๊ฐฑ์ ์ด๋ค. 4. DELETE (์ญ์ ) ๋ฐ์ดํฐ ์ญ์ . ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ ์ฝ๋ ์ญ์ ํ๋ ์์ . 3. REST API ์ CRUD R.. 2024. 10. 31. [์๋ฌ] Path contains invalid character: ๋ฐ Path contains invalid character:๋ฐ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฌ๋ค.ํ๊ธ ๋ฌธ์์ด์ ์ฝ์ด์ค์ง ๋ชปํ๋ ์ค๋ฅ๊ฐ์๋ค... ์์ธ์ ์ฐพ์๋ณด๋ ๊ธฐ๋ณธ๋ด์ฅ๋ xml parser๋ก๋ ํ๊ธ์ฒ๋ฆฌ๊ฐ ๋ถ์กฑํด์ ๋ค๋ฅธ xml parser๋ฅผ ์ถ๊ฐ์์ผ์ค์ผํ๋ค.pom.xml์ apache ์์ ๋ง๋ xerces ํ์๋ฅผ ์ ๋ณด๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ํด๊ฒฐ๋๋ค. xerces xercesImpl 2.9.1 *์ถ์ฒ :http://www.mungchung.com/xe/spring/33423 2024. 10. 30. [์๋ฌ] Exception encountered during context initialization ๋ฐ ๋ Spring ์ผ๋ก servlet ์ฐ๊ฒฐ,html ํ์ผ ์คํํ๋๋ ์๊พธ ์ฝ์์ฐฝ์ ์๋ฌ๊ฐ ๋ด๋ค... Exeception encounted during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationExecption: Error creating bean with name 'dataSource' defined in class path resource ์ด๊ธฐํ ํ๋์ค ์์ธ ๋ฐ์ + ์๊พธ refresh ํ๋๋ฐ ์คํจํ๋ค ํด์ํฐ์บฃ๋ ์ฌ์์ํด์ฃผ๊ณ clean๋ ์ฌ๋ฌ๋ฒํ์ง๋ง ์ฐพ๊ธฐ ์ด๋ ค์ ๋ค..์๊ณ ๋ณด๋ DB ์ ์ ๋ฌธ์ ์๋ค. - url ์ \์ ์ ๊ฒ ์ถ๊ฐํด์ ๋ถ์ฌ๋ฃ์๊ฒ์ด ๋ฌธ์ ์๋ค.. ํ.. 2024. 10. 30. [HTTP] Http ์ํ ์ฝ๋ (Http Status Code) Http ์ํ ์ฝ๋ -> ํน์ HTTP ์์ฒญ์ด ์ ์์ ์ผ๋ก ์๋ฃ๋์๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ 3์๋ฆฌ ์ซ์ ์ฝ๋์ด๋ค.100๋ฒ ๋ถํฐ ์์ํด์ 500๋ฒ๋๊น์ง ํฌ๊ฒ ์ด 5๊ฐ์ ํ์ ์ผ๋ก ๋๋ ์ ์๋ค.์ํ ์ฝ๋๋ ํญ์ ์ํ๋ฉ์์ง์ ํจ๊ป ๋ช ์๋๋ค. 100 -์ ๋ณด ์๋ต / ์์ฒญ์ด ์งํ ์ค์ผ๋ ์ฌ์ฉ 200 - ์ฑ๊ณต ์๋ต/ ์์ฒญ์ด ์ฑ๊ณต์ ์ผ๋ก ์ฒ๋ฆฌ๋จ. 300 - ๋ฆฌ๋ค์ด๋ ์ / ์์ฒญํ ๋ฆฌ์์ค๊ฐ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ด๋ 400 - ํด๋ผ์ด์ธํธ ์๋ฌ / ์๋ชป๋ ์์ฒญ ใด JSP ํ์ผ์ด๋ controller ๋ด๋ถ ์ฝ๋ ์๋ฌ ๋ค์ 500 - ์๋ฒ ์๋ฌ / ์๋ฒ์์ ์ฒ๋ฆฌ ์ค ์ค๋ฅ ๋ฐ์ ใด ์๋ฒ ์์ฒด๋ฅผ refresh ํด๋ณด๊ฑฐ๋ clean ํ๊ธฐ ํน์ ํด๋น ํ๋ก์ ํธ๋ฅผ ์๋ฒ์์ ๋ด๋ฆฐ ํ .. 2024. 10. 29. ์ด์ 1 2 3 4 5 ยทยทยท 8 ๋ค์