2018

This is place where I stack up my history. Tweet-like but more personal story of mime. Some of these are invisible for private concern.

 

 

2018년 12월 18일 (화)

  • BitGo 접근제한으로 인한 오류 처리

2018년 12월 3일 (월)

  • Trezor 연동 테스트

2018년 11월 12일 (월)

  • AWS Serverless Platform 적극 활용. M21https://insureum.co/프로젝트는 BeansTalk에서 서비스

2018년 11월 2일 (월)

  • Unhandled Promise Rejection 작열.. TheChallengeApp

2018년 10월 15일 (월)

  • Klaytn Network2https://www.klaytn.com/  연결 제의 받음

2018년 10월 12일 (금)

  • 블록체인/토큰, 강의 자료 작성

2018년 10월 8일 (월)

  • Parity를 사용해서 Ethereum Ropsten Network Full Node로 셋업

2018년 10월 4일 (목)

  • Framer X, 테스트 진행 불가. 디자이너에게 TypeScript는 너무 큰 벽

2018년 10월 1일 (월)

  • 미친 작명... 듣기도 보기도 싫다
  • 휴... 증말.. 힘들다; ㅆㅂ 자기는 정상이라 생각하는 것도 그걸 내버려 두는 것도 이해불가 

9월 28일 (금)

  • 결국 두명 다 입사 취소로 결론.
  • 어디에나 있는 미친 놈은 있기 마련인데 이건 뭐 인생 또라이라 할 정도니... 

9월 20일 (목)

  • Batch4 검토후 토큰 전송

9월 19일 (수)

  • ProtoPie, Device와 연결하는 부분에서 기능이 충분치 못함.
  • PWA 데모용 어플에 적용 불가.

9월 12일 (수)

  • ProtoPie 라이센스 2 copy 요청

9월 11일 (화)

  • CxJS3https://cxjs.io is the best JavaScript framework for building administrative applications, management consoles, dashboards and other applications containing a large number of data-related UI elements such as forms, tables and charts.

9월 5일 (수)

  • 비행기운행정보 (2007~2018 현재)를 CSV 파일 포맷으로 저장
     
    "use strict";
    var system = require('system');
    var args = system.args;
    var url_base = "http://www.airportal.go.kr/servlet/aips.life.airinfo.RaSkeCTL?cmd=c_getList&dep_airport=RKSS&arr_airport=RKPC&srch_type=dep¤t_dt_from=20070101¤t_dt_to=20180614®Cls=1&one_group=10&one_page=10000&curr_page=";
    
    function try_once(pageNo) {
      var page = require('webpage').create();
      page.onConsoleMessage = function(msg) {
        console.log(msg);
      };
    
      page.open(url_base + pageNo, function(status) {
        if (status === "success") {
          page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js", function() {
            page.evaluate(function() {
              var $contents_area=$("body>form>table >tbody>tr:nth-child(2) table tbody");
              $("tr", $contents_area).filter(function(){
                return ($(this).height() > 2 ) ? true : false;
              }).each(function(){
    					  var row = [];
                var $tr = $(this);
                $("td", $tr).filter(function() {
                  return ( $(this).height() <= 3 || $(this).width() <= 3 ) ? false : true;
                }).each(function() {
                  row.push( $(this).text().trim() );
    					  });
                console.log(row.join(','));
              });
            });
            phantom.exit(0);
          });
        } else {
          phantom.exit(1);
        }
      });
    }
    
    if( args.length < 1) {
      console.log( 'no pageNo' );
      phantom.exit(1);
    }
    
    try_once( parseInt(args[1]) );
    

9월 4일 (화)

  • Batch2 토큰 전송, 완료

9월 3일 (월)

  • AXA 및 외부 보험사 데모용 DApp Service 구현 태스크 추가
  • 파티션별/폴더별로 스토리지 사용량 조사하는 Command line 유틸리티: gt5, ncdu 4https://askubuntu.com/questions/36111/whats-a-command-line-way-to-find-large-files-directories-to-remove-and-free-up

8월 28일 (화)

  • Yet Another Getting Started Package for VueJS: https://github.com/ecofic/course-vue-getting-started5https://github.com/ecofic/course-vue-getting-started 

8월 17일 (금)

8월 16일 (목)

8월 15일 (수)

8월 14일 (화)

  • 데이터 검증 작업 끝남
  • Ownership 전송 및 재 전송 확인

8월 13일 (월)

  • 이미 배치된 컨트랙에 일괄 취소 기능이 없다. 개발자 Token Owner의 PrivateKey를 사용할 수는 없는 노릇.
  • Token Ownership을 잠시 전송받아 처리하는 Contract을 작성함. 

8월 10일 (금)

  • 전달받은 데이터 자체에 문제 있음을 확인. 토큰 전송 보류
  • 잘못 전송된 상황 파악
  • 개뺑이 시작..

8월 9일 (목)

  • 1차 토근 수령자에서 누락된 주소에게 토큰 배포
  • 중복 주소 1,300개 이상 발생. Stop!  ㅆㅂ  데이터 거지같...

8월 8일 (수)

8월 7일 (화)

  • Incremental Backup: /var/www/phabricator/phabricator/bin/files migrate --engine amazon-s3 --all
  • Phabrciator 내용을 S3에 백업을 위해, 명령행 설정
    
    sudo su
    cd /var/wwww/phabricator/phabricator/
    ./bin/config set amazon-s3.access-key 'ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ'
    ./bin/config set amazon-s3.secret-key 'ㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌ'
    ./bin/config set amazon-s3.region ap-northeast-2
    ./bin/config set amazon-s3.endpoint s3-ap-northeast-2.amazonaws.com
    ./bin/config set storage.s3.bucket phabribucket
    ./bin/files migrate --engine amazon-s3 --all
    

8월 6일 (월)

  • 투자자 대상 토큰 전송 1차. 163명, $203.33761  (80 gwei)
  • Infura, BIP39 임의 셋팅해서 전송

8월 3일 (금)

  • remove/reset Git credential:   git credential-osxkeychain erase ; git credential-osxkeychain set

8월 1일 (수)

  • AWS Lambda, CORS 활성화후 반드시 베포해야함6https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html#how-to-cors-console: After CORS is enabled on the GET method, an OPTIONS method is added to the resource, if it is not already there. The 200 response of the OPTIONS method is automatically configured to return the three Access-Control-Allow-* headers to fulfill preflight handshakes. In addition, the actual (GET) method is also configured by default to return the Access-Control-Allow-Origin header in its 200 response as well. For other types of responses, you will need to manually configure them to return Access-Control-Allow-Origin' header with '*' or specific origin domain names, if you do not want to return the Cross-origin access error.
    As with any updates of your API, you must deploy or redeploy the API for the new settings to take effect.
  • 교보 라이프플래닛에서 미팅 및 블록체인 기술 강의
  • macOS 환경에서 특정 어플리케이션 사용시 Key-Repeating 동작이 안될 때, 해결 방법: defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false 7https://github.com/Microsoft/vscode/issues/31919

7월 31일 (화)

  • WebJS v1.0 beta를 사용해야 하는데 0.2X 버전을 사용함으로써 개삽질...
  • 각종 조건에 따라 비밀번호를 생성하는 모듈 작성

7월 30일 (월)

  • Slack으로 이미지 파일 던지고 받는 짓을 하기 싫어 자원해서 사내 디자이너 대상, Git 강의.  (두번 다시 디자이너들에게 '좀 더 나은' 환경에 대해 얘기하지 말것)

7월 27일 (금)

  • MySQL, 테이블 체크섬의 활용 8https://www.datavail.com/blog/using-checksums-to-ensure-table-consistency-in-mysql/

7월 26일 (목)

  • 투자자 정보를 받아 토큰 전송을 위한 데이터 생성을 위해 Token Bash Script 작성 (시작)

7월 25일 (수)

  • Jupyter-Notebook9https://jupyter.org/ 가상 사이트 설정

7월 20일 (금)

  • Owner 스스로도 TransferAgent로 등록해야 함
  • BIP39 10https://iancoleman.io/bip39/
  • Parity, first time:  parity --datadir $HOME/ethereum-nodes/parity-nodes/ropsten --geth --warp --chain ropsten
  • Parity, running:
    
    #!/bin/bash
    parity  --datadir $HOME/ethereum-nodes/parity-nodes/ropsten \
            --geth \
            --chain ropsten \
            --ipc-path=$HOME/ethereum-nodes/parity-nodes/var/run/jsonrpc.ipc \
            --jsonrpc-interface=0.0.0.0 \
            --jsonrpc-apis="all" \
            --rpccorsdomain="*" \
            --ws-port=8546 \
            --ws-interface=0.0.0.0 \
            --ws-apis="all" \
            --ws-hosts="127.0.0.1,125.143.163.33" \
            --ipc-apis=all \
            --ipfs-api-interface=0.0.0.0 \
            --ipfs-api-hosts="127.0.0.1,125.143.163.33"
    
  • truffle configuration에서 주소형식이 모두 소문자여야하는 이상한 해법..
  • nonce too low 문제. Infura 백엔드가 Cloud 서비스로 구성되어 있으므로 멤버 서비스간 Nonce 값 전파에 문제 발생. 
  • Nonce Tracker11 web3-provider-engine/subproviders/nonce-tracker 패키지 사용으로 해결
    
    const NonceTrackerSubprovider = require("web3-provider-engine/subproviders/nonce-tracker")
        main: {
          provider: function() {
            let wallet = new HDWalletProvider(mnemonic_main, "https://mainnet.infura.io/"+INFURA_KEY, '기준위치', '번호')
            let nonceTracker = new NonceTrackerSubprovider();
            wallet.engine._providers.unshift(nonceTracker);
            nonceTracker.setEngine(wallet.engine);
            return wallet;
          },
    

7월 19일 (목)

  • Trezor, Hardware Wallet12trezor.io/start 셋업  
  • https://stackoverflow.com/questions/50596256/send-signed-transactions-to-ropsten-or-truffle-develop-network-with-trezor-hard 13https://stackoverflow.com/questions/50596256/send-signed-transactions-to-ropsten-or-truffle-develop-network-with-trezor-hard

7월 16일 (월)

  • 내부 개발자 대상, Promise 강의
  • 토큰 배포에 Truffle14https://truffleframework.com/docs 사용 결정
  • MediaWiki/VisualEditor 셋업

7월 10일 (화)

  • ErrGasLimit is returned if a transaction's requested gas limit exceeds the maximum allowance of the current block.

7월 9일 (월)

  • 투자자 토큰 정보 조회 사이트 (한 페이지로 구성)

6월 27일 (수)

  • Etherisc flight15https://fdd.etherisc.com/Delay Source Code16https://github.com/etherisc/flightDelay 분석
  • 이더, 비트, 루트 스탁이랑 인터페이싱하는 모듈: https://docs.oraclize.it/17https://docs.oraclize.it/

6월 11일 (월)

  • /etc/sudoers 파일이 corrupt 되서 sudo를 하지 못하는 상황이 됨. recovery 모드에서 GRUB 라인을 변경해서 구사일생...
  • 
    linux /boot/vmlinuz-4-4.0-22-generic root=UUID=43ad24d3-ec5b-44ee-a099-a88eb9520989 ro quiet splash $vt_handoff
    linux /boot/vmlinuz-4-4.0-22-generic root=UUID=43ad24d3-ec5b-44ee-a099-a88eb9520989 rw init=/bin/bash
    

6월 6일 (수)

  • MediaWiki를 KMS로 쓰기 위해 PHP Composer 설치:  
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

6월 5일 (화)

  • Blockchain Server, Geth 설치 on AWS EC2 t2.medium 

6월 4일 (월)

  • 블록체인기반 보험업체 입사. 

2월 11일 (일)

  • Raspberry Pi 에서 WiFi 설정
    
    $ wpa_cli
    > scan
    > scan_results
    > set_network 0 ssid “SSID”
    > set_network 0 psk “비번”
    > enable_network 0
    > save_config
    > quit
    done. cool!!
    

References   [ + ]

1. https://insureum.co/
2. https://www.klaytn.com/
3. https://cxjs.io
4. https://askubuntu.com/questions/36111/whats-a-command-line-way-to-find-large-files-directories-to-remove-and-free-up
5. https://github.com/ecofic/course-vue-getting-started
6. https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html#how-to-cors-console
7. https://github.com/Microsoft/vscode/issues/31919
8. https://www.datavail.com/blog/using-checksums-to-ensure-table-consistency-in-mysql/
9. https://jupyter.org/
10. https://iancoleman.io/bip39/
11. web3-provider-engine/subproviders/nonce-tracker
12. trezor.io/start
13. https://stackoverflow.com/questions/50596256/send-signed-transactions-to-ropsten-or-truffle-develop-network-with-trezor-hard
14. https://truffleframework.com/docs
15. https://fdd.etherisc.com/
16. https://github.com/etherisc/flightDelay
17. https://docs.oraclize.it/