# API

댓글 API 조회시에 500 에러
CommentApiController.java CommentDto.java Comment.java CommentRepository.java CommentService.java 해당 코드들 완성 후 서버를 실행했을때 서버는 정상적으로 실행되지만, Talent API Tester에서 테스터 시에 500에러가 발생하는 문제가 생겼다. 콘솔창 확인
Flutter Dio
출처 : [플러터 / 라이브러리] API 통신에 편리한 dio의 기능정리. 출처 : [Flutter] Dio 출처 : [Flutter] Interceptor

[Review] 알라딘 api 데이터를 DB에 저장하기
🔓 서론 포폴 쓰면서 1, 2차 프로젝트에서 내가 짰던 코드들을 다시 봤는데, 내가 짰는데도 이게 뭔 소린지.. 싶은거 보면 시간에 쫓겨서 급하게 짜느라 정작 내가 짠 코드를 내 걸로 못 만든 것 같다. 그래서 이제라도 리뷰를 통해 내 걸로 만들어 보려고 한다. 리팩토링도 할 수 있으면 더 좋고! 💻 Review > ✅ Today's Review : 알라딘 API를 통해 가져온 책 정보를 DB에 저장 🛠️ Tech Stack > ✅ JAVA 11, JSP, MySQL 8.0, HTML5 📚 알라딘 API 알라딘 API란 알라딘에 등록된 책들의 정보를 제공하는 API이다. 자세한 사항은 [알라딘 Open API 매뉴얼](https://docs.google.com/document/d/1mX-WxuoGs8Hy-QalhHcvuV17n50
키워드 기반 보고서 자동화 모델
모델을 만들게 된 계기 아는 지인 분과 이야기하다가 크몽에서 대학 과제를 대신 해준다는 이야기가 나왔다. 특정 키워드로 보고서를 작성하는 과제가 많은데, 지인 분은 키워드에 해당하는 뉴스 기사를 모으고 chatGPT를 거쳐 약간의 수정을 통해 만든다고 했다. 이 이야기를 들으며 자동화 아이디어가 떠올랐다. 실제로 내가 딥러닝 모델의 구조를 디자인 할 일은 없으니 금방 걸릴 거라고 생각했다. > Github Repo 전반적인 프로그램 기획 우선 입력받은 키워드를 기반으로 네이버 검색 API에 뉴스 카테고리 데이터 수집으로 시작한다. 수집된 데이터는 cache디렉토리 밑에 json 파일로 저장된다. 수집된 데이터는 해당 기사의 본문 URL을 포함하므로request 및 beautifulSoup 모듈로 해당 기사의 본문 텍스트를 파싱한다. 파싱한 텍스트를 konlpy의 `O

React + Spring Boot + MySQL (12)
회원가입 페이지(SignUp) 을 구현해보자 SignUp/index.tsx SignUp/style.ts styled-components 를 이용해 CSS를 구현하였다. Request 받은 값을 출력해보면 백엔드 서버로 데이터가 잘 들어오는 것을 알 수 있다. Service라는 패키지를 하나 만들고 AuthService 클래스를 만들어주자 Service는 클라이언트와 서버의 접점이고 Repository는 DB와 서버의 접점이다 인터페이스로 만들어서 상속받는 것이 좋은 방법이지만 지금은 Class로 만든 다음 나중에 수정해보겠다 UserEntity에 생성자를 만들어보자 다음과 같이 생성자를 작성하면 Repository를 통해 DB에 넣으면 된
[스프링] 스프링 웹 개발 기초
스프링 입문-코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 스터디를 위한 정리하는 글입니다. 1. 스프링 웹 개발 기초 스프링으로 만들 수 있는 웹에는 크게 3가지 방식이 있다. 정적 컨텐츠, MVC 와 템플릿 엔진, API 방식이 있다. 1-1. 정적 컨테츠 📢 우선 정적 컨텐츠부터 살펴보자. 정적 컨텐츠는 서버를 이용하는 것 없이 저장된 소스 코드를 웹브라우저에게 응답해 보여주는 것을 말합니다. 대표적인 예시로는 섹션 1에서 만든 웰컴 페이지가 있습니다. 💻 HTML 작성 하위에 파일을 생성하고 다음과 같이 작성해줍니다. 👉🏻 프로젝트 실행 클라이언트로부터 요청이 들어오게 되면 파일을 반환을 해줍니다. 이를 웰컴 페이지라고 합니다. 
2. API란?
개인적인 이야기를 해보자면 난 이 API라는 단어가 드럽게 어렵다. 들을때마다 대체 저게 뭘까 하는 생각이 들면서 당최 이해를 못 하겠다. API란 응용 프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어에서 제공하는 기능을 제어할 수 있게 해주는 인터페이스라고 한다는데... ㅅ1qkf 응용 프로그램, 운영체제, 인터페이스 비전공자 + 컴퓨터 문외한인 나에겐 너무나 낯선 단어들인걸. 고로 이 글은 그냥 내가 겁나 쉽게 이해하려고 쓰는 똥이라고 보면 된다. 인터페이스 : 버튼이라고 생각하면 편하다. 유튜브 소리를 키우기 우리 '버튼을 눌러'서 핸드폰의 볼륨을 높이는 느낌. API : 어플케이션끼리 요 인터페이스를 실행하는 것. 즉 A어플리케이션이 B어플리케이션에게 볼륨을 높여
Spring 강의정리 - 2
Spring 공부하면서 그 내용을 정리하려고 합니다. 인프런 스프링 입문 - 코드로배우는 스프링부트, 웹 MVC, DB접근기술 강의를 참고했습니다. 스프링 웹 개발 기초 정적콘텐츠 static 서버에서 html을 그대로 웹 브라우저에 전달해주는것 MVC와 템플릿 엔진 서버에서 html을 동적으로 바꿔서 브라우저에 전달해주는것 controller: 비즈니스 관련 로직처리 view: 보여지는 화면 그림 API json 데이터 구조 포맷으로 클라이언트에게 데이터 전달 화면은 클라이언트가 알아서 그린다. 서버끼리 통신할 때도 사용. 예제코드

[React_기초] Context API
지금까지 우리가 알아본 Component 에서 데이터 전달할 때 Props를 통해 무조건 상위에서 하위로 내려가는 단방향으로 데이터를 전달했었다. 하지만 전역 데이터에서 이렇게 보낼려고 했을 때 한번씩 Component를 거쳐서 데이터를 전달하는 복잡함이 있다. Context 활용 정의 하지만 React에서는 Context</code
타회사와 협업
판매량 데이터가 집계되도록 추출하여 전송하는 업무를 진행중에있다. 곧 새로운 매장 오픈을 앞두고 새로운 플랫폼을 연동중에 있는데 중화권사이트이다보니 공식문서가 중국어다.^^ 중학교때 배우고 다 까먹었는데 이제와서 심지어 공식문서를 중국어로 봐야한다는 점에 충격먹고 있었는데. 공식문서 파일자체를 번역해주는 디플이라는 사이트를 찾았다. DeepL 상당히 정확도도 높고 말이 이어지게 번역해준다. 덕분에 인증키 발급까지 하루밖에 안걸렸다. 테스트 서버에 데이터를 전송하던중 이슈가 생겼다. 오픈마켓 특성상 상품 바코드를 등록하는 칸이 따로 없는 플랫폼들이 있어 서버에 데이터 전송시 꼭필요한 바코드가 없는것. required 데이터중 한개라도 없으면 반려된다. 하지만 에러코드와 이유까지 출력되는점이 좋다. 에러코드를 보면 어떤점이 문제인지 바로 알 수 있다는고 그부분에 있어서 문의를 남길시 담당자분과 개발팀 한분

[Spring Boot] 카카오 로그인 API 연동 과정
카카오 로그인 API 연동 과정를 설명합니다. 🏆 💻 카카오 로그인 연동 URL 생성하기 카카오 로그인을 시작하는 단계로써, 카카오 로그인 동의 화면을 호출하고, 사용자 동의를 거쳐 인가 코드 발급을 요청하는 API입니다. 요청 URL 응답 사용자가 [동의하고 계속하기] 선택 후 로그인 요청이 승인되면 토큰 받기 요청 필요한 인가코드를 전송해줍니다. 💻 토큰 받기 인가 코드를 받은 뒤, 인가 코드로 액세스 토큰과 리프레시 토큰을 발급받는 A

[Spring Boot] 네이버 로그인 API 연동 과정
네이버 로그인 API 연동 과정를 설명합니다. 🏆 💻 네이버 로그인 연동 URL 생성하기 네이버 로그인 연동을 진행하기 위해서는 네이버 로그인 버튼을 클릭하였을 때 이동할 '네이버 로그인' URL을 먼저 생성하여야 합니다. 이 과정에서 사용자는 네이버에 로그인 인증을 수행하고 네이버 로그인 연동 동의과정을 수행할 수 있습니다. 사용자가 로그인 연동에 동의하였을 경우 동의 정보를 포함하여 Callback URL로 전송됩니다. 💻 요청 URL 정보 | 메서드 | 요청 URL | 출력 포맷 | 설명 | |:----------:|:----------:|:----------:|:----------:| | GET/POST | https://nid.naver.com/oauth2.0/authorize | URL 리다이렉트 | 네이버 로그인 인증 요청 | 요청 변수 정보 
[Docker] Valhalla API 도커로 설치하기
Valhalla API란? 사람의 위치 데이터와 건물, 도로 등의 지형 정보를 활용하여 사람의 위치 데이터를 보정해주는 API https://velog.io/@zinna_1109/API-%EB%8F%99%EC%84%A0-%EB%B3%B4%EC%A0%95-Valhalla-API-%EC%82%AC%EC%9A%A9%EB%B2%95 dockerfile로 valhalla 설치 > 제한된 리소스에서 valhalla API의 최대 요청 횟수를 알기 위해, Docker로 valhalla를 설치할 서버와 똑같은 환경을 만든 뒤 valhalla를 설치하였다. 해당 Dockerfile을 기록하고자 한다.😊 How to build and run valhalla (dockerfile explanation) prepare Allow access to the ubuntu 18.04 packages and install some basic tools

[API] 동선 보정 Valhalla API 사용법
Valhalla Map Matching API > GPS 등 위치 좌표를 open street map의 도로나 경로에 matching 해주는 오픈 소스 routing 서비스. HTTP Method = POST 종류 | trace_route | GPS 위도, 경도 좌표 목록을 위치 보정해서 일련의 방향성을 가진 경로로 변환해 줌. 이를 사용하여 자전거 경로의 GPS를 추적해 여행을 재현하거나 다른 사람과 공유할 수 있다. | | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | trace_attributes | GPS 위도, 경도, route의 일부를

REST API를 알아보자
REST API란 REST를 기반으로 만들어진 API를 의미합니다. REST란, REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미합니다. HTTP URI(Uniform Resource Identifier)을 통해 자원을 명시하고, HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통하여 자원(URI)에 대한 CRUD를 적용하는 것을 의미함 CRUD란, Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어부르는 말 Create : 데이터 생성(POST) Read : 데이터 조회(GET) Update : 데이터 수정(PUT,PATCH) Delete : 데이터 삭제(DELETE)

Home Training Calender
개발 시나리오 1 번에 필요한 데이터: 캘린더 리스트 데이터 2 번에 필요한 데이터: 캘린더 특정 하루에 대한 상세 데이터 추가 시나리오 유저가 존재하는 경우 유저별 데이터 구성 원하는 운동의 항목이 없는 경우 운동의 추가, 수정, 삭제 운동(WorkOut) models 운동명 자극 부위(분류) 운동 방법 Views - GenericAPIView ListCreateAPIView: 전체 운동 리스트 조회, 운동 생성 RetrieveUpdateDestroyAPIView: 운동 상세 페이지 조회, 수정, 삭제 유저(User) models 성, 이름 성별 프로필 이미지(프로필 페이지를 만들 경우)

오픈뱅킹API 실습(React + Express + MySql) A부터 한...T정도까지?(Z까지는 아님)
오픈뱅킹 API 활용일대기 경고 : '쉽지 않은 여정이기 때문에 마음 단단히 먹어야 함' 준비1. 소스트리(Sourcetree) step1: git 설치하기 step2: 소스트리 설치하기 step3: 소스트리에서 git clone 3-1. url 에서 복제하기(깃 레파짓토리 주소) 
효율적인 API 호출을 구현하는 방법 (Feat. 디바운싱, 로컬 캐싱)
검색창을 구현하면서 겪었던 API 호출에 관한 문제점과, 이를 해결하기 위해 적용했던 디바운스, 로컬 캐싱에 대해 학습하고 프로젝트에 적용했던 것들을 공유하고자 한다. 검색창을 구현하며 만난 문제들 한국임상정보의 검색창을 클론코딩 하는 과제를 받아, 이를 구현하면서 API 호출과 관련된 두 가지의 문제점을 만났다. 매 입력마다 호출되는 API 검색창의 Input 에 검색어를 입력할 때 매 입력시 마다 API가 호출되는 문제가 발생했다. 예를 들어, '암' 이라는 질병을 검색할 경우에 'ㅇ', 'ㅏ', 'ㅁ', '암' 이런식으로 하나의 키워드에 총 4번의 API를 호출했다. 이 얼마나 비효율적인가 ? '암' 이라는 한 글자 키

2023 09 18
API란?? 애플리케이션 소프트웨어를 빌드하고 통합하기 위한 정의 및 프로토콜 세트인 애플리케이션 프로그래밍 인터페이스(Application Programming Interface) FrontEnd에서 BackEnd로 요청(request) 하면 BackEnd는 DB에서 맞는 값을 가져와 JSON 형태로 응답(response) 한다. FrontEnd는 값을 받아오는 방식이 GET, POST가 있다. Get은 URL을 이용하여 정보를 받아오는 것이고, POST는 Body에 값을 받아오는 것이다. 사용하는 방식은 jQuery CDN을 가져와 ajax 기능을 이용하거나, React에서 HTTP 클라이언트 라이브러리(axios, fetch)를 이용한다. ajax? Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를
IT상식_API
API란? API는 Application Programming Interface의 약자로 응용 프로그램들 간의 상호 작용을 도와주는 도구나 인터페이스를 의미한다. 예를 들어, 컴퓨터와 스마트폰과 통신을 진행할 때 스마트폰에서 보내는 규격과 컴퓨터가 보내는 규격이 다를 것이다. 이렇게 자기 규격에 맞게 보낸다면 원할한 통신을 하지 못할 것이다. 이러한 문제점을 해결하기 위해 컴퓨터와 스마트폰 사이에 API를 두게되면 규격이 표준화되서 원할한 통신이 이뤄질 것이다.