프로젝트
-
공공데이터 API 활용하기프로젝트 2023. 5. 1. 12:22
1. 공공데이터 포털에서 사용하고자 하는 API를 고른다 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase www.data.go.kr 2. 활용 신청하고 인증키 받기 - 자동으로 승인되어 바로 활용할 수 있다 3. 데이터명 옆에 상세설명에 들어가면 언어별로 샘플 코드가 있고 활용하면 된다 public class AirPollutionAPI { public static void main(String[] args) throws IOException { StringBuilder urlBuilder = new StringBuilder("http://ap..
-
JSON 덮어쓰기, JSONArray에 JSONObject put할 때의 문제프로젝트 2023. 4. 26. 10:49
API를 받아오면서 데이터를 JSON으로 받았다 받은 데이터를 누적으로 받았는데 문제가 생겼다 데이터가 차곡차곡 들어가는 게 아니라 중복이 되어 덮어 써버린다는 것... 따라서 JSON 데이터 관련 간단한 테스트를 진행했다 public static void JSONArrayTest() { // JSON 두개 생성 후 JSONArray에 넣기 JSONObject json1 = new JSONObject(); json1.put("happy", 1); JSONObject json2 = new JSONObject(); json2.put("sky", 2); JSONObject json3 = new JSONObject(); json3.put("toy", 3); JSONObject json4 = new JSONObj..
-
웹 API를 위한 JSON vs XML프로젝트 2023. 4. 25. 10:35
JASON (JavaScript Object Notation) - 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식 - 자바 스크립트 객체 표기법 - 이해하기 쉽고 용량이 적어 XML을 대체해서 데이터 전송 등에 많이 사용 - JSON은 텍스트 기반이기 때문에 다양한 프로그래밍 언어에서 데이터를 읽고 사용할 수 있다 JSON 특징 - 서버와 클라이언트 간의 교류에서 많이 사용된다 - 자바스크립트를 이용해 JSON 형식의 문서를 쉽게 자바스크립트 객체로 변환할 수 있다는 장점이 있다 - JSON 문서 형식은 자바스크립트 객체의 형식을 기반으로 만들어졌다 JSON 문법 - JSON 형식은 key/value가 존재할 수 있으며 key값이나 문자열은 항상 큰따옴표를 이용해 표기 - 객체는 ..
-
프로젝트 기본 환경설정 - 1프로젝트 2023. 1. 18. 14:04
1) 스프링부트 스타터 프로젝트 생성 2) mysql 연동 3) bootstrap 템플릿 적용하기 스프링부트 스타터 프로젝트 생성하기 [스프링부트/웹 애플리케이션 개발]스프링부트스타터 프로젝트 생성, 스프링부트버전확인, lombok 1. 프로젝트 생성 스프링 부트 스타터(https://start.spring.io/) - dependencies > spring web > thymeleaf > spring data JPA > H2 Database > Lombok > Validation 2. 스프링부트 버전 확인 - build.gradle 에서 확인 가능 3. run > 오류 gitofjy.tistory.com mysql 연동 1. sampledb 생성 C:\Users\USER>mysql -u root -p ..
-
REST와 REST API프로젝트 2022. 12. 26. 15:46
REST(REpresentational State Transfer) - HTTP URI를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Opertaion을 적용하는 것을 의미한다. - 클라이언트와 서버가 데이터를 주고받는 방식에 대한 아키텍처 스타일 - REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일 - 여섯 가지 기본 원칙이 있고 이 가이드를 준수한 인터페이스를 RESTful 하다고 표현한다. REST 구성 요소 : 자원, 행위, 표현 1. 자원(Resource) : URI > 모든 자원에 고유한 ID가 존재하고 이 자원은 s..
-
스프링 프레임워크(Framework)에 대하여, 스프링부트?프로젝트 2022. 12. 4. 20:18
국비 과정의 마지막은 스프링을 이용한 프로젝트였다 프로젝트를 끝내고 이력서를 넣고 면접을 준비하면서 느낀 점은 "너무 생각 없이 프로젝트를 진행했구나"였다 당시에는 프로젝트 주제도 괜찮고 힘들게 완성했다고 생각했지만 노력에 비해 남는 게 적은 프로젝트였다 프로젝트의 처음으로 돌아와 "왜 스프링 프레임워크를 사용했나?"라는 것에 대한 답변도 없었다 학원 과정에서 마지막으로 배운게 스프링이었고 그걸로 프로젝트를 진행했어야 하니까... 주체적인 생각이 하나도 없었다 프로젝트를 진행하면서 왜?라는 고민을 하지 않았었다 이미 지나간 과거는 어쩔 수 없으니 이제라도 내가 사용했던 것들에 대한 정리를 하기로 했다 또 다음 프로젝트를 진행하기 앞서 아쉬움을 조금이라도 줄여보고자 지난 프로젝트에 대한 회고를 해 보자 먼..
-
세션 로그인 구현 복습프로젝트 2022. 11. 22. 19:32
저번 프로젝트 때는 세션을 활용해 로그인을 구현했었다. 당시에는 서비스를 배포까지 계획이 없었기 때문에 세션으로도 충분했다. 하지만 굉장히 대충 만든 로그인이었고 이번 프로젝트에서는 JWT 방법을 이용하고자 한다. 또한 가능하다면 카카오/구글 등으로도 로그인을 가능하게 구현하는 것이 목표이다. JWT 로그인 구현 방식에 대해 간략하게 찾아보니... 대충 봐도 어려웠다. 이왕 공부하는거 세션 로그인부터 시작해서 총체적으로 정리해야겠다. 저번 프로젝트 때 로그인은 아래와 같은 코드로 구현했다. 1. controller @Controller public class LoginController { private LoginService service; @Autowired public LoginController(..
-
API 와 오픈 API프로젝트 2022. 11. 22. 15:22
새로운 프로젝트를 시작하는데, 다음 할 일은 api 명세서 작성이었다 국비 교육에서의 프로젝트 때는 모든 환경이 동일하게 설정되어 있어서 그랬는지 api, db 등등 모든 환경 설정에 대한 회의가 필요 없었다 api 명세서 작성합시다 > 무슨 말이지? 왜 api 명세가 필요하지 이렇게 되었다 그 과정에서 오픈 api와 또 헷갈리기 시작했고 이번을 기회로 정리하기로 했다. API (Application Programming Interface) 응용프로그램에서 데이터를 주고받기 위한 방법 특정 사이트에서 특정 데이터를 공유할 경우 어떠한 방식으로 정보를 요청하고 받을 수 있는지에 대한 규격 > API 역할 : 1. API는 서버와 데이터베이스에 대한 출입구 역할 2. API는 애플리케이션과 기기가 원활하게 ..