Category Archives: Code

공휴일 선택안되는 jQuery Datepicker 구현 (delayed render datepicker)

공휴일은 공공데이터포탈 이용

공공데이터포탈 한국천문연구원_특일 정보 이용
https://www.data.go.kr/data/15012690/openapi.do 에서 서비스키 발급

공휴일 조회 API

http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getRestDeInfo?serviceKey=[서비스키]&solYear=2022&solMonth=01&_type=json

JSON형태로 받는다

{"response":{"header":{"resultCode":"00","resultMsg":"NORMAL SERVICE."},"body":{"items":{"item":[{"dateKind":"01","dateName":"설날","isHoliday":"Y","locdate":20220201,"seq":1},{"dateKind":"01","dateName":"설날","isHoliday":"Y","locdate":20220202,"seq":1}]},"numOfRows":10,"pageNo":1,"totalCount":2}}}

jQuery Datepicker 구현

cors 설정이 안되어있으므로 jsonproxy를 이용한다. (for cors/jsonp)
beforeShowDay, refresh 를 이용해서 ajax로 데이터를 가져온후에 다시 날짜를 표현한다.

function 

zoom video sdk 녹화 (canvas+audio dom+webcam)

zoom 녹화 기능 구현

@zoom/videosdk 1.1.4 기준

zoom video sdk 에서 녹화가 없어서 직접 구현한다.

현재기준 sdk에 stream 관련 api는 없으므로 웹페이지에서 영상을 저장하고

vanila javascript로 접근한다.

canvas, audio, webcam 를 합쳐서 영상을 만든다.

화면 -canvas

음성 -audio …

zoom video sdk “set aec delay20” “fps error” SharedArrayBuffer관련 오류

관련 zoom document 내용

https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#web-isolation

SharedArrayBuffer 지원못할때 발생하는 오류

크롬 92버전(2021년 7월 업데이트)부터 cross-origin isolation이 필수가 됨

Making your website “cross-origin isolated” using COOP and COEP
Use COOP and COEP to set up a cross-origin isolated environment and enable powerful …

docker 서비스시 nginx certbot https 설정

.well-known 작업

# my.domain.com
server {
  listen 80;
  server_name my.domain.com;

  location ~ /.well-known/acme-challenge {
      allow all;
      root /var/www/certbot;
  }
}

현재 작업폴더 기준

pwd 
/home/ubuntu/webhome

certbot 이미지를 이용해 등록

sudo docker run -it --rm --name certbot \
-v '/home/ubuntu/webhome/certbot/conf:/etc/letsencrypt' \

텔레그램 봇 만들기 -네이버 실검순위 알람-

텔레그램(Telegram) 봇 만들기

보안 메세지로 유명한 텔레그램(Telegram)공식적으로 봇(bot)을 지원한다. 만드는 방법도 매우 간단하다.
다양한 용도로 사용할 수 있으며 스마트폰이나 PC에 알림메세지를 push하는 용도로만 사용해도 유용하다.

텔레그램에서 봇 만들기

먼저 @BotFather를 추가한다.

/newbot 기능을 이용해서 봇을 등록한다. 이름과 …

업비트API 트레이딩 (2) -자동 손절 프로그램-

자동 손절 프로그램

업비트는 스탑로스을 지원하지 않는다. 프로그램으로 구현해보자.

업비트 웹소켓 API

업비트 API문서 추가적으로 웹소켓API 을 사용한다.
이것을 이용해서 실시간 체결 정보(현재가격)를 가져온다.

auto_cut.js

const WebSocket = require('ws')
const Upbit = require('./upbit_lib')
const timeout = ms => new Promise(res 

업비트API 트레이딩 (1) -준비 및 테스트-

업비트API 트레이딩

업비트API를 이용하여 가상화폐 트레이딩 프로그램을 만들어본다. 모든 예제는 node.js를 이용하였다.

API키 발급받기

업비트 [마이페이지-Open API 관리]에서 API키를 발급받는다.

혹시모르니 출금기능을 해제하고 IP설정을 꼭 하도록하자.

[발급받기]를 클릭하면 나오는 secret keyaccess key를 따로 적어둔다.…

관리가 간편한 자동 글등록 봇 만들기 -디씨봇- (1)

목차

  1. 준비
  2. phontomjs 설치및 테스트
  3. node.js phontomjs 연동
  4. 실제예제
  5. raspberry pi 이용

준비

자동으로 글을 등록하는 가장 간단한 방법은 post로 필드값을 보내는 것이다. 하지만 로그인을 해야한다거나 복잡한 전처리가 필요하다면 하나하나 분석하여 값을 서버로 넣고.. 쿠키를 저장하는등 구현하기 까다러워진다. 이것은 개발이후에도 …

어셈블리 튜토리얼 (18) 64비트 api hooking(Trampoline #2)

4.5. api hooking(Trampoline #2)

좀 더 유연한 Trampoline방식과 조금 다른 방식의 소스이다. 원래의 함수를 이어붙인 이전방식과 달리 매번 후킹을 해제했다가 다시거는 방식이다.
후킹된 함수들을 관리하기위해 후킹 관련 정보를 담은 구조체를 추가하였다.

앞서본 Trampoline처럼 기본구현 방식은 14byte(jmp코드)를 덮어씌우는 방식으로 동일하다. 후킹함수내에서 …