Programming(178)
-
오늘의 삽질(Nintendo Switch 북미 할인중인 타이틀 확인)
@Markdown>일본 eShop의 API는 파악을 못했지만, 북미 API는 검색 페이지를 참조하니 쉽게 파악할 수 있었다. 아무래도 국가별로 홈페이지 구조가 조금씩 달라서, 국가별로 세일중인 데이터를 수집하려면 크롤링을 하는게 나을 듯 했다. 아직 서버비용을 댈 돈이 없으니 이건 패스.front-end단에서 api 호출시 CORS 이슈가 발생할 줄 알았는데, 닌텐도의 북미 홈페이지에서는 발생하지 않았다. node.js로 진행하고 있던 서버쪽 작업은 멈추고, Vue.js를 이용해서 레이아웃을 작성했다.template {{game.title}} Release: {{game.release_date_display || game.release_date}} ${{game.ca_price}} ${{game.esho..
2018.12.19 -
많이 늦은감이 있는 Steemit dApp 개발과 관련된 조사
@markdown> 스팀(Steem), 그리고 스팀잇(Steemit)이란?[전종현님의 블로그](http://hyuni.me/2017/09/steemit/)를 참조하자. 설명이 잘 되어있다. 짧게 요약하면 스팀은 가상화폐고, 스팀잇은 저자가 글을 씀으로써 스팀으로 보상을 받을 수 있는 플랫폼이다. > 스팀에 왜 급 관심을?스팀은 블록체인에 모든 거래를 기록하기 때문에 그 기록만 꺼낼 수 있으면 어떠한 형태로든지 웹사이트를 운영하는 것이 가능하다. [나무위키](https://namu.wiki/w/%EC%8A%A4%ED%8C%80%EC%9E%87#s-2)에서 참조한 내용이다. 즉, 이더리움 기반의 dAPP을 만들기 위해 solidity를 사용하는 것과는 달리, 서드파티 앱을 사용하는데 러닝커브가 적다. 사실상..
2018.12.17 -
Wireshark로 SSL/TLS(HTTPS, HTTPS2) 트래픽을 복호화하기
참조: Walkthrough: Decrypt SSL/TLS traffic (HTTPS and HTTP/2) in Wireshark 최근 웹서버가 탑재된 카메라, NVR 장비의 TTA 인증으로 인해, 서버에 대한 보안 작업이 증가하고 있다. 문제는 보안을 적용하는 방법이 아니라, 제대로 적용됐는지를 TTA에 확인할 수 있는 방법이 필요했다. 장비를 최초 부팅할때마다 인증서를 생성하는 것은 문제가 없으나, 인증서를 장비 외부로 반출하여 '정말로 해당 인증서를 사용하여 HTTPS 통신을 하고 있는지'를 보여주는 게 문제였다. 여튼 테스트 중에 RSA키를 사용하여 TLSv1.2로 전송되는 패킷의 복호화를 시도했으나, 정상적으로 복호화가 진행되지 않았다. 서버에 대한 지식이 부족했던 나로써는 꽤나 골치아픈 일이었..
2018.07.02 -
javascript에서 sha256 암호화하기
http://www.movable-type.co.uk/scripts/sha256.html 위의 페이지를 참조하도록 하자. sha256을 암호화하는 로직을, javascript로 구현한 코드다.javascript로 암호화하는 코드를 적용한 경우, 클라이언트에서 해당 파일을 열어볼 수 있다. 이것이 어떠한 문제를 야기할 수 있는가 생각해봤는데, 현재로써 큰 문제를 야기하지는 않을 것 같다. 내 경우에는 php에서 쿼리스트링으로 넘어온 값에 sha256을 적용해야 할 필요가 있었는데, 개발자도구를 통해 확인해보면 키값이 고스란히 노출된다. 따라서 sha256을 javascript 적용하는 게 거의 무의미하다고 생각했었는데, 어차피 해당 키 값을 쿼리스트링으로 전달하는 이상, javasciprt건 activex..
2017.04.06 -
nginx(openresty) + digest 크로스컴파일 삽질기록
- 우리 회사에서 사용하는 장비의 웹 환경은, Openresty가 크로스컴파일되어 fcgi로 api를 주고받는 형식이다. - 예전에 칩셋의 제조사가 한번 바꼈었는데, 예전의 칩셋을 사용하는 장비들은 모두 digest방식을 지원했다. 하지만 어째서인지, 최근 칩셋을 사용하는 플랫폼에는 digest방식을 지원하는 기능이 빠져있었다. - 어찌어찌해서 기존의 플랫폼을 참조하여, digest방식을 지원하는 UI를 만들었다. 그런데 문제가 있었다. 쿼리 스트링을 사용해서 api를 호출하려 하니, 계속해서 재인증을 요청한다. - 도무지 원인을 알 수가 없었기에, nginx 문서와 가이드를 한참을 뒤져보고, 또 설정파일을 분석하느라 약 2주일이 걸렸다. 바짓가랑이라도 잡는 심정으로 전임자가 만들어놓고 간 openres..
2016.12.27 -
Unsupported Selector Lookup. Looking up elements via selectors is not supported by jqLite
Unsupported Selector Lookup. Looking up elements via selectors is not supported by jqLite. jQuery를 사용하지 않기 위해서 사용하기 시작한 AngularJS지만, 가끔씩 AngularJS가 필요할 때가 있다. AngularJS 프레임워크 내부에 jqLite를 포함하고 있기 때문에 $를 이용해서 element를 찾더라도 문제가 없는 경우가 태반이지만, 브라우저에 따라 $가 선언되어있지 않다며 에러를 내뱉는 경우도 왕왕 있다. 그럴때는 보통 angular.element를 이용해서 브라우저의 element를 가져오기 마련이다. 하지만 이 기능을 사용하다보면, Unsupported Selector Lookup. Looking up ele..
2016.10.19