2021년 03월 09일
axios은 기본적으로 api timeout이 설정되어 있지 않다.
따라서 API를 호출하면 서버에서 응답 주기 전까지는 계속 연결되어 았다.
axios를 생성하여 timeout을 옵션으로 추가하고 해당 인스턴스로 api를 호출하도록 작업을 진행한다.
const instance = axios.create({
timeout: 30000,
});
export const baseApi = (method, url, params) => {
return instance
.request({
method,
url,
data: params,
})
.then(axiosResponseToData)
.catch(axiosErrorResToData);
};
기존에 ts로 작성되어 있던 부분들인데, 불필요해 보여 제거 후 함수만 등록하였다.
2021년 03월 10일
Disqus 계정에서 이메일을 변경하면서 인증하라는 메시지가 나왔다. 인증받기를 눌러도 메일은 한참 지나서오고 들어가보니 연결을 거부당했다. ```bash 사이트에 연결할 수 없음 disq.us에서 연결을 거부했습니다. ERR_CONNECTION_REFUSED ``` 도메인이 disq.us인게 url shoutcut으로 사용한 것 같은데, 내 네트워크 문제인지 쟤네 문제인지.. 아무튼 거부당했다. 혹시나 해서 disq.us 부분만 disqus.com으로 바꿨더니 url이라는 사용자의 프로필로 이동했다. URL을 다시 확인해보니 결국은 disq.us에서 url을 파라미터로 받아서 리다이렉트를 하는 방식이다. ## 해결방법 1. disq.us/url?url= 여기서 부터 뒷부분을 전부 복사한다. 2. url을 decode 해주자. [urlDecoder](https://meyerweb.com/eric/tools/dencoder/)에서 붙여넣기 후 decode 3. decode 된 url 경로로 이동하자. `Your email has been verified successfully!`
2021년 03월 09일
Grafana Plugin을 React로 개발하여 배포하는 방법을 설명한다. #### 작업환경 ```json OS: Mac node: >= 14.0 grafana: >= 7.0 ``` ## 시작하기 ### Grafana 설치하기 [Grafana 설치 가이드 문서](https://grafana.com/docs/grafana/latest/installation/requirements/) Ubuntu, Docker 등 OS 별 설치방법 문서가 존재한다. ```bash brew update brew install grafana ``` ### Grafana 프로젝트 생성 프로젝트 구조는 `grafana-toolkit`를 사용한다. grafana-toolkit은 creact-react-app 처럼 초기 프로젝트를 구축하기 위한 `CLI`이다. 맨 설치하는 과정에서 plugin, author 등은 원하는 형태에 맞춰서 작성하면 되며, 플러그인 이름은 신중하게 입력해보자. ```bash npm install -g @grafana/toolkit npx @grafana/toolkit plugin:create [project-name] cd graph-plugin npm install ``` `( 프로젝트를 grafana에 연동하는 부분은 아래에서 진행한다. )` ### 실행하기 설치한 grafana 서비스를 실행한다. ```bash brew services start grafana ``` 기본적으로 `localhost:3000`로 포트가 열린다. 초기 계정은 `admin/admin` 이다. ## 개발셋팅 프로젝트를 생성했고 grafana service 가 동작한다면, 프로젝트를 플러그인에 연동해야한다. ### grafana ini 설정 grafana 설정파일에서 plugin path를 연결한다. ```bash vim /usr/local/etc/grafana/grafana.ini [paths] plugins = [Grafana Project Path] ``` 이때, `[paths] 아래에 추가`해야한다....
2021년 03월 08일
ERROR: Error installing jekyll-sitemap: ERROR: Failed to build gem native extension. gem으로 jekyll 모듈을 설치하는 과정에서 다음과 같은 오류가 나타났다. 검색해보니 xcode 관련 자료만 나오다가 해당 모듈이 사용 중인 jekyll 버전을 미지원하는 내용이 나왔다. 해당 모듈의 버전 리스트를 검색한다. gem list --remote --all jekyll-sitemap *** REMOTE GEMS *** jekyll-sitemap ( [versions] ) 지원하는 버전을 설치해보자. sudo gem install jekyll-sitemap -v [version] Successfully installed jekyll-sitemap-[version] 사용하려는 jekyll-sitemap은 현재 jekyll 버전에서 v1.2.0까지만 지원한다고 한다. 지원 여부를 깃헙에서 확인해 봤으면 됐을 텐데, 오류만 검색하다가 시간을 많이 소모했다. 이렇게 모듈을 설치하고 빌드하니 gem install을 실행하라고 한다. Gemfile.lock 파일을 삭제하지 않아 의존성 체크가 되었는데, 신기하게 gem install 하니 직접 설치할 때 오류 나던 jekyll-sitemap 1.4.0이 설치되었다. lock 파일의 의존성은 알겠으나 yarn.lock 하고 좀 다르게 동작하는 느낌이다. 아직 gem에 대한 이해가 부족해서 나온 이슈인데, 공부가 필요할 듯하다. 참고 자료 understanding-the-gemfile-lock-file https://stackoverflow.com/questions/4907668/removing-all-installed-gems-and-starting-over/49960935