2021/06 27

Github REST API 요청 한도 늘리기

API rate limit exceeded for 58.121.244.176. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details 어플리케이션에 위에 보이는 기능을 추가했습니다. 문제는 제가 on input으로 요청이 걸리도록 했더니.. 순식간에 403 에러를 뿜으며 작동이 안되기 시작했습니다. 알고보니 시간당 겨우 60회의 요청만 가능합니다. 지금 알아서 다행이지 발표하다가 요청 60회 다 썼으면 큰일 날 뻔 했네요. 그래도 인증된 요청은 5,000 request 까지 해준다고 하니. 인증을 해야겠네요. Settings에 Developer S..

Development/Git 2021.06.22 (1)

numbers 셀의 글자별 색상 다르게 조건 걸기

numbers 셀의 글자별 색상 다르게 조건 걸기 여러명이서 Mac으로 협업을 하다보면, numbers를 굉장히 유용하게 사용 할 수 있는데요, 담당자별로 셀 색상이 다르다면, 본인에게 할당된 업무가 무엇인지 한눈에 쉽게 찾을 수 있습니다. 간단한 조건을 걸어서 해결 할 수 있습니다. 1. 조건을 걸어줄 하나 이상의 셀을 선택합니다. 저는 D column 전체를 선택했습니다. 2. 우측 메뉴에서 Format 버튼을 누르고 Cell 버튼을 찾아 클릭합니다. 3. Show Highlighting Rules를 클릭 합니다. 그러면 이제 Add a Rule 을 클릭해서 규칙을 설정 할 수 있는데요, Add a Rule 을 클릭하고, Text 를 누릅니다 그럼 여러가지 조건이 나오는데요, 저는 is 를 선택했지만..

IT Computer/Mac 2021.06.20

자바스크립트) 한글 마지막 글자에 따라 로/으로, 을/를 어울리게 출력해주기

자바스크립트) 한글 마지막 글자에 따라 로/으로, 을/를 어울리게 출력해주기 저는 한국어가 참 어려운 언어라고 생각합니다. 특히나 우리는 자연스럽게 을/를 , 로/으로 등을 붙여서 사용하지만, 컴퓨터는 그렇지 못합니다. 외국인들도 참 어렵게 느끼는 부분입니다. 위에서 보이는 것 처럼 을/를 로/으로 를 구분하지 못해서 참 어색하게 출력되는 부분이 있습니다. 이 부분을 해결 해 보려고 합니다. 일단 받침이 있는 단어인지 아닌지를 먼저 체크해주는 함수를 만듭니다. // 받침이 있는 문자인지 테스트 해주는 함수 입니다. const isSingleCharacter = function(text) { var strGa = 44032; // 가 var strHih = 55203; // 힣 var lastStrCode..

Ajax 비동기 요청 발생시 로딩 이미지 (로딩 바) 만들기.

Ajax 비동기 요청 발생시 로딩 바 만들기. 지금 만들고 있는 프로젝트를 SPA(Single Page Application ) 으로 만들고 있습니다. 동기 방식의 페이지 이동을 하는 웹 어플리케이션을 만들었을때와는 다르게 세세히 신경써야 하는 부분이 굉장히 많은데요, 그 중에는 수업시간에서 따로 다룬 적 없는 부분도 종종 있었습니다. 몇가지 예를 들자면, 1. 페이지 이동시 url 변경 시키기 -> history.pushState 함수를 이용해 해결 했습니다. 2. 뒤로가기 이벤트 발생시 처리 -> pushState 발생시 data에 기록해둔 데이터를 바탕으로 $(window).bind("popstate", function(event){} 로 뒤로가기에 대한 바인딩을 해 해결 했습니다. 3. 페이지 이..

btoa 혹은 atob 사용해 BASE64 <-> UTF-8 인코딩 할때 한글 깨짐 해결

btoa 혹은 atob 사용해 BASE64 UTF-8 인코딩 할때 한글 깨짐 해결 Github에서 저장소의 readme 파일을 불러와 화면에 렌더링 해 주는 기능을 구현 하고 있는 중, 한글이 깨져버리는 현상이 발생했습니다. 위에서 보이듯, github 에서는 readme 파일을 base64 로 인코딩 해서 보내주는데요, let decoded = atob(res.content); 이렇게 해서 출력 했더니 한글이 깨지는 현상이 발생 했습니다. https://github.com/dankogai/js-base64 dankogai/js-base64 Base64 implementation for JavaScript. Contribute to dankogai/js-base64 development by creati..

Github REST API 사용하기

어느 덧 한달의 시간이 흘러 프로젝트 수행 계획서를 작성할때 소설을 쓴다는 마음으로 작성했던, 'Github 저장소 연계 해 사용하기' 를 구현해야 할 시간이 왔습니다. 일단 Github의 REST API 관련 Documents 를 읽어 보았습니다. https://docs.github.com/en/rest GitHub REST API - GitHub Docs You can use the GitHub REST API to create calls to get the data you need to integrate with GitHub. REST API overview→ Learn about resources, libraries, previews and troubleshooting for GitHub's RE..

Development/Projects 2021.06.11 (1)

MyBatis ) VO(Value Object)객체 만들지 않고 map 으로 쿼리 결과 받아오기

MyBatis ) VO(Value Object)객체 만들지 않고 map 으로 쿼리 결과 받아오기 VO 객체를 만들어 두고 MyBatis 에서 맵핑을 해서 쓴다면 정말 간편하고 쉬운데요, property 가 적고, 자주 사용하지 않는 객체들도 모두 VO 로 등록하기엔 비 효율적입니다. 마침 팀원분 한 분이 Map 에 맵핑 하는걸 궁금해 하시기도 해서 이번 기회에 Map으로 한번 코드를 작성 해 보았습니다. package best.gaia.project.dao; import java.util.List; import java.util.Map; import org.springframework.stereotype.Repository; @Repository public interface RepositoryDao {..

스프링 websocket 사용시 java.io.IOException: Broken pipe 해결하기.

스프링 websocket 사용시 java.io.IOException: Broken pipe 해결하기. java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) at sun.nio.ch.IOUtil.write(IOUtil.java:65) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469) at org.apache.tomcat.u..

MAXIMUM SESSIONS OF 1 FOR THIS PRINCIPAL EXCEEDED 해결하기

MAXIMUM SESSIONS OF 1 FOR THIS PRINCIPAL EXCEEDED 해결하기 Spring Security를 사용해 로그인 인증 처리를 하고 있습니다. 정상적으로 로그인, 로그아웃이 이루어지고 있는데 특정 시점마다 자꾸 로그인이 제대로 되지 않는 문제가 있었습니다. Session의 에러 메시지를 확인 하니 MAXIMUM SESSIONS OF 1 FOR THIS PRINCIPAL EXCEEDED 문제 였고, 해결을 위해 선생님을 찾아 갔습니다. spring security 를 관리하는 xml 파일입니다. 아래의 max-sessions = 1 부분에서 최대 세션을 1개로 제한하고 있는데, 세션을 추가로 생성하려고 했기 때문에 생겼던 문제 입니다. 서버에서는 해당 회원은 이미 로그인이 되어..

Programming/JPA ⁄Spring 2021.06.10 (2)

GAIA 알람 시스템을 만들기 위해 구축한 여러가지 모듈 소개와 과정

GAIA 알람 시스템을 만들기 위해 구축한 여러가지 모듈 소개와 과정 드디어 알람 시스템을 어느 정도 완성 했습니다. 사실 처음에는 Elastic search로 알람 기능을 구현 하려고 했지만, 이제 시간이 얼마 남지 않은 상태에서 팀 내 많은 이슈가 발생해서 쿼리부분에서 어느정도 막힌다 싶을때 급하게 Oracle 로 일단 턴 했습니다. Elastic Search를 사용하려고 elasticUtil 모듈을 만들어 Bean에 등록 했고, 그 유틸을 사용할 수 있는 나름의 Dao와 Service를 만들어서 했는데, 알람이 확인이 되면 모두 확인되었다는 update를 쳐야 하는데, '조회' 와 '등록' 단 두가지로 Elastic Search 활용을 준비하던 터라 거기에서 막혔습니다. 간단한 log 쌓기나 메시지..

Java 에서 Elastic Search 사용하기3. - 간단 검색하기

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/_search_apis.html Search APIs | Java REST Client [master] | Elastic www.elastic.co 이번에는 엘라스틱 서치를 사용하는 이유인 검색을 해 보도록 하겠습니다. 일단 작성한 코드 먼저 보여드리겠습니다. client로 search 명령을 주면 , response를 return 합니다. 해당 response는 SearchHits 라는 Iterable 구현체를 가지고 있습니다. 지네릭 타입은 SearchHit 입니다. 해당 SerarchHit에서 각각 source를 getSourceAsMap() 메서드를 통해 받고, 모두 lis..

Database/Elastic Search 2021.06.08 (1)

Java 에서 Elastic Search 사용하기 - 2. Post Request (Create)

Java 에서 Elastic Search 사용하기2. - Post Request (Create) https://shanepark.tistory.com/139 Java 에서 Elastic Search 사용하기 - Get Request org.elasticsearch elasticsearch 7.12.1 org.elasticsearch.client elasticsearch-rest-high-level-client 7.12.1 Elastic Search client로는 High level client 와 Low level client가 있습니다. low level clie.. shanepark.tistory.com 이번에는 1편에 이어 CRUD 중 첫번째인 C 를 해보겠습니다. 일단 1편에서 GET 방식을 연..

Java 에서 Elastic Search 사용하기 - 1. Get Request

org.elasticsearch elasticsearch 7.12.1 org.elasticsearch.client elasticsearch-rest-high-level-client 7.12.1 Elastic Search client로는 High level client 와 Low level client가 있습니다. low level client는 버전에 영향을 받지 않고 유연하지만, 사용하기 좀 더 어렵습니다. High level client는 Low level client를 한번 추상화 해서 사용합니다. https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high.html Java High Level REST Cl..

Eclipse에서 Tomcat 프로젝트 Context Path 변경하기.

ContextPath가 https://localhost/gaia 로 잡혀 있습니다. 나중에 배포를 하더라도 gaia.co.kr 이런식으로 되어야지 gaia.co.kr/gaia 로 도메인 하위 contextPath를 잡는 사람은 아무도 없겠죠? 저희팀에서 만들고 있는 프로젝트는 URL을 네비게이션 처럼 사용 할 수 있게 하고 pathVariable을 적극적으로 사용하고 있는데요, kkobuk 이란 아이디가 생성한 testproject 에서 issue 들을 열람 하면 아래와 같이 kkobuk/testproject/issue의 URL 주소를 갖습니다. Restful API 까지 활용하며, 하위로 /1 까지 하면 1번 이슈를 조회 하게끔 했습니다. 확대해서 보면 주소가 아래와 같습니다. ContextPath를 ..

반응형