이런게 있었네..

Vim-Devicons

NerD Font Patcher

  • 위의 아이콘을 사용하려면 사용하려고 하는 폰트를 이걸로 패치해야함
  • 링크 : Nerd fonts Patcher

D2Coding을 패치한 github

  • 내가 사용하는 D2Coding ligarture를 패치해서 누가 github에 올려두었네..
  • 링크 : nerd-d2coding-font

위 링크를 발견한 블로그 글

meet puppeteer .. (2020-11-25)

Puppeteer 로고 깃허브 링크 : https://github.com/puppeteer/puppeteer
문서 페이지 : https://pptr.dev/
API 문서 : https://github.com/puppeteer/puppeteer/blob/v5.5.0/docs/api.md

Puppeteer란 ?

  • #puppeteer
  • Google Chrome DevTools 개발팀에서 만든 WebDriver 기능의 Node.js 라이브러리
  • 단어의미 : 인형사 - 인형(puppet)을 부리는 사람
  • Puppeteer 간단 정리하기 - 박성룡
    • 2017년 부터 나온듯하다.
  • 역할이 Selenium 비슷한데 Selenium과의 차이에 대한 설명을 puppeteer github 사이트에서 찾을 수 있다.
  • Python에서 Selenium으로 웹 스크레이핑 하듯이 Javascript로 Puppeteer를 써서 스크레이핑할 수 있다.

async & await ?

  • #async.js #async-await
  • 초면? 예제중에 async와 await이 있네..
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    const puppeteer = require('puppeteer');
    
    (async () => {
      const browser = await puppeteer.launch();
      const page = await browser.newPage();
      await page.goto('https://example.com');
      await page.screenshot({path: 'example.png'});
    
      await browser.close();
    })();
    
    • 사족 : 위 예제에서 require() 마지막줄에 ;을 빼먹었더니 다음과 같은 에러 발생..
    • require(…) (async … ) 를 함수로 파싱한듯..
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      
      D:/repository/puptest>node example.js
      D:/repository/puptest/example.js:3
      (async () => {
      ^
      
      TypeError: require(...) is not a function
          at Object.<anonymous> (D:/repository/puptest/example.js:3:1)
          at Module._compile (internal/modules/cjs/loader.js:1201:30)
          at Object.Module._extensions..js (internal/modules/cjs/loader.js:1221:10)
          at Module.load (internal/modules/cjs/loader.js:1050:32)
          at Function.Module._load (internal/modules/cjs/loader.js:938:14)
          at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
          at internal/main/run_main_module.js:17:47
      
  • 괜찮은 Javascript 비동기 강의 시리즈 : 1. 비동기 처리와 콜백함수, 2. Promise, 3. asnyc와 await
  • 위 강의 본문중 axios에 대한 언급이 있는데..
    • axios는 Promise based HTTP Client
    • 본 위키 root/js/parent.js 에서도 axios를 사용중임
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      
      // parent.js
      axios.get('/data/wikilist.json', {})
          .then(function(resp) {
              if (resp.data == null) {
                  return;
              }
              var plist = walkParents(resp.data);
              document.getElementById('parent-list').innerHTML = makeHTML(plist);
      
              return;
          });
      
      

따라 해볼 예제

Typescript로 puppeteer 사용해보기

유용한 사이트

typescript 시작하기 (update: 2022-03-25)

TypeScrip 시작하기