[LoaTodo / Spring] 로스트아크 오픈 API - 오레하 제작(낚시) 효율 계산
·
Project/LoaTodo
1. 서론 API 데이터 활용하는거 연습해볼겸 평소에 낚시 재료로 오레하를 만들었을 때 "어떤 오레하를 만들어서 파는 것이 이득인가?" "낚시 재료로 파는 것과 만들어서 파는 것중에 어떤게 더 골드를 더벌까?" 두 가지 생각을 바탕으로 엑셀에 적당히 만들어서 계산을 하였다. 이 표에서 필요한 데이터는 "낚시 재료 가격"과 "오레하 가격"이다 이 두 가지 데이터를 페이지 접속시 API로 가져와서 계산 후 보여줄 것이다. 2. 개발 2 - 1. 낚시 재료 가격 호출 public JSONObject CallMarketCategories(int CategoryCode) { try { URL url = new URL("https://developer-lostark.game.onstove.com/markets/it..
[Loatodo / Spring] 로스트아크 오픈 API 테스트
·
Project/LoaTodo
2022년 12월 7일 로스트아크 오픈 API가 출시되었다. 기존에 사이트에서 검색해서 얻은 정보나 로아와, 아이스펭 등에서 크롤링으로 얻어온 데이터를 얻어온 데이터들을 오픈 API로 쉽게 얻어 올 수 있게 되었다. 캐릭터 정보, 경매장, 거래소 데이터들을 얻어올 수 있어서 온라인 API 테스트사이트에서 간단히 테스트를 해보았다. GET 으로 캐릭터 장비정보들도 얻어올 수 있고 POST 방식으로 경매장 매물을 검색할 수 있다 (원한3 점화5 품질 70이상 소서 고대 귀걸이 검색) 비슷한 내용을 스프링 기반 코드로 작성해보았다. 생각나는 대로 막 작성한거라 흐림 처리를... 결과 원한3 상소5 품질70이상 고대 귀걸이 검색 알고리즘을 만들고 프론트화면을 만들면 여러가지 최적화를 구현할 수 있을것같다.
[CS / 기술면접] 개발자 기술 면접 준비 - 자바
·
Computer Science
📕 Java의 특징을 설명해주세요. 자바(Java)는 절착적 언어와 다르게 객체 지향 언어로 개발된 프로그래밍 언어입니다. 자바는 자바 가상 머신(JVM, Java Virtual Machine)을 사용하기 때문에, 운영체제와는 독립적으로 동작할 수 있습니다. 또한 “가비지 컬렉션”에 의해 메모리가 자동 관리되며, “멀티 쓰레드”를 지원합니다. JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느리다는 단점이 있습니다. 📕 JVM의 역할에 대해 설명해주세요. 자바 가상 머신(JVM, Java Virtual Machine)이란 운영체제 위에서 자바 바이트 코드를 실행시키기 위한 가상의 기계라고 할 수 있습니다. 자바 바이트 코드(Java Bytecode) - 자바 가상 머신이 이해할 수 있는 언어로 변환..
[CS / 기술면접] 개발자 기술 면접 준비 - 프로그래밍
·
Computer Science
📕 HTTP METHOD에 대해 설명해주세요. HTTP METHOD란 클라이언트가 웹 서버에게 사용자 요청의 목적이나 종류를 알리는 수단으로 GET, POST, PUT, PATCH, DELETE 등이 있습니다. GET - 서버의 데이터 조회 POST - 서버에 데이터 등록 PUT - 서버의 데이터 갱신, 데이터가 없다면 생성 PATCH - 데이터의 일부 변경 DELETE - 리소스 삭제 📕 HTTP METHOD에서 GET과 POST의 차이점에 대해 설명해주세요. GET은 주소 뒤에 쿼리스트링이 그대로 전달되어 보안성이 떨어지고 속도가 빠르며, POST는 주소가 전달 될 때 인코딩하여 전달되어 보안성은 높지만 전송속도가 느립니다. 또한, GET요청은 캐시가 되나, POST는 캐시 되지 않는다는 것과 GET..
[Java / Spring] MAC OS 스프링 빌드 후 배포
·
Spring
0. AWS EC2, RDS 활용 Sping boot 빌드, 배포 스프링 인스타그램 클론코딩 프로젝트 진행 중 무중단 배포 테스트를 위해 AWS EC2와 RDS를 사용하였다 EC2 인스턴스로 리눅스 서버를 구축하고 RDS로 MariaDB를 구축하고 탄련적 IP로 IPv4 주소를 할당 한 후 한국도메인 사이트를 이용하여 도메인을 설정하였다 이후 리눅스 서버를 깃허브와도 연동하여 CI/CD(Continuous Integratio/Continuous Deployment)로 자동화를 하려고했으나 AWS 프리티어의 적은 RAM 용량으로 빌드 중 계속해서 서버가 멈추는 현상이 발생해서 노트북 개인서버를 포트포워딩으로 접속하는 방식으로 바꾸었다. (노트북을 안끄면 무중단배포니깐...) 1. MAC OS에서 스프링 빌..
[Spring] 인스타그램 클론코딩 005. 회원가입 - 비밀번호 암호화(Bcrypt)와 권한 부여
·
Project/인스타그램 클론코딩(PhotoGram)
회원가입 DB 저장시 비밀번호를 암호화하고 역할을 부여한다. 1. 비밀번호 암호화와 디폴트 유저 권한 부여 DB에 클라이언트의 데이터가 INSERT될 때, 데이터가 그대로 들어갔다. 나중에 어떤 서비스를 하게 되든 개인정보 보호는 매우 중요한 부분이다. (캡쳐를 깜빡해서 인강 사진으로 대체...) 먼저 SecurityConfig.java안에 @Bean 기능을 삽입한다. @Bean 어노테이션을 걸어주게 되면, SecurityConfig 가 IoC컨테이너에 등록 될 때, @Bean 어노테이션을 인식해서 BCryptPasswordEncoder 를 리턴해서 IoC컨테이너에 등록하게 된다. BCryptPasswordEncoder는 함수명처럼 비밀번호를 암호화시켜주는 메서드이다. 암호화 된 비밀번호가 IoC컨테이너..
마볼링
게임을 좋아하는 개발자의 블로그