회사 동료들이랑 프로젝트 시작! 개발 환경은 Spring Boot X React로 오랜만에 스프링부트 환경 세팅 중. 다음 회의 까지 각자 맡은 기능 api 정리하기로 해서 스웨거를 적용해보았다. Swagger란 REST API 웹 서비스를 설계, 빌드, 문서화해주는 오픈 소스 소프트웨어 프레임워크. API 명세, 관리, 테스트 가능 SpringBoot Swagger 적용법 스프링부트 스웨거 라이브러리는 springfox, springdoc 2가지가 대표적인 것 같았는데 나는 springdoc을 적용했다. 1. 의존성 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0' 2. SwaggerConfig.java 스웨거 설정 정보 ..
구현 목표 웹 크롤링을 통해 공연장 목록 가져오기 cheerio 사용하기 1. cheerio 설치 npm install cheerio //사용 시 import 방법 cosnt cheerio = require('cheerio'); 2. 웹 크롤링 cheerio 사용법 const html = await getHTML(); const $ = cheerio.load(html.data); 3. 최종 코드 공연장 목록을 오브젝트 배열로 담은 후 const getTheaterList = async () => { const html = await getHTML(); const dataArr = []; const $ = cheerio.load(html.data); const $child = $(".theater-righ..
정처기 끝났으니까 다시 시작.... 카카오랑 조금 다르기도 하고 버전 올라가면서 조금 수정된 부분이 있어서 겨우겨우 성공.. 리액트는 많아도 리액트네이티브+스프링부트+네이버 로그인 참고 소스는 지인짜 찾기 힘들어서 겨우겨우 했다ㅠㅠ 1. ⭐️Frontend 1. 네이버 개발자센터 등록 설명 생략 2. 리액트네이티브 네이버 로그인 라이브러리 설치 npm install @react-native-seoul/naver-login --save // RN version >= 0.6.0부터 Auto Linking 적용, // ios 경우 추가적으로 Cocoapods 설치 필요 cd ios && pod install https://github.com/crossplatformkorea/react-native-naver-..
1. 큐 import java.util.NoSuchElementException; public class Queue { private static int MAX_QUE_SIZE = 10; private int last; private int first; private int size; private int[] data = new int[MAX_QUE_SIZE]; public Queue() { first = last = size = 0; } public int size() { return size; } public boolean isEmpty() { return size==0; } public void add(int item) { last = (last+1) & data.length; data[last] ..
아무리 여러 번을 해봐도 로그인은 늘 어렵다.....ㅎㅎㅎ 그리고 아직 친해지지 못한 맥북 + 리액트 네이티브 환경에서 하려니 엄청난 에러를 겪고 겨우 성공한 카카오 로그인... 시작!! ⭐️Frontend 0. 카카오 개발자센터 애플리케이션 설명 생략 1. 리액트네이티브 카카오 로그인 라이브러리 설치 npm install @react-native-seoul/kakao-login //RN 0.60.X 이상부터는 Auto linking 지원 pod install https://github.com/crossplatformkorea/react-native-kakao-login GitHub - crossplatformkorea/react-native-kakao-login: react-native native m..
💡구현 목표 앱 메인 화면에 당월의 뮤지컬 포스터를 슬라이더로 출력하기! 1. KOPIS 공연 API 인증키 발급 아래 링크에서 인증키를 발급하고 OPEN API의 자세한 항목을 확인할 수 있다. https://www.kopis.or.kr/por/cs/openapi/openApiList.do?menuId=MNU_00074 공연예술통합전산망 예술경영지원센터 운영, 공연 예매 정보 집계 및 DB, 예매상황판, 공연통계 등 제공. www.kopis.or.kr:443 2. 리액트 네이티브 fetch + KOPIS 공연 API 가져오기 Fetch란? 리액트네이티브에서 네트워크 통신을 도와주는 api (fetch와 axios가 있음.) axios와 달리 라이브러리를 import하지 않아도 사용할 수 있다. Prom..
회사에서 엑셀 다운로드 개발 업무를 맡게 됐는데 기존 소스 로직은 페이징 처리된 부분은 1페이지만 다운이 되서 전체 row를 추출하기 위해 SheetJS 라이브러리를 사용하게 됐다. 결론적으론... 이 라이브러리를 사용 안 하기로 했지만 덕분에 스터디를 했기 때문에 기록해 본다. SheetJS 란? Javascript 클라이언트단에서 엑셀 다운로드 구현 시 사용되는 라이브러리 https://docs.sheetjs.com/ SheetJS Community Edition | SheetJS Community Edition SheetJS Community Edition Documentation docs.sheetjs.com 1. SheetJS , FileSaver 스크립트 추가 2. 테이블 내용 JSON 으로 ..
정처기 시험 끝나고 리액트 네이티브 프로젝트 마저 진행 시작! 시작에 앞서 회의하고 가장 먼저 한 작업은 깃허브 저장소 분리였다! 원래 프론트엔드 & 백엔드를 한 저장소에서 같이 관리했는데 두 작업 속도가 달라서 싱크가 맞지 않고 오류가 자주 발생함... 그래서 백엔드 저장소를 따로 만들고 기존 저장소 이름도 Frontend로 변경하기로 했다. 변경 방법 굉장히 간단함 주의... 1. 해당 깃허브 Repository - Settings 메뉴에서 변경할 이름 입력하고 Rename 클릭 2. 로컬로 가서 git remote set-url origin "저장소 주소" , git remote -v 입력 후 잘 변경됐는지 확인하면 끝!