Skip to content

Instantly share code, notes, and snippets.

@sys9kdr
sys9kdr / monitor.ahk
Created February 23, 2018 03:58
太古の昔Android-SDKかなんかについてきたmonitor.batの自動化に使ったような気がする。スクリーンショット効率化みたいなやつだった気がする。
#UseHook
#IfWinActive ahk_exe monitor.exe
^r::
ControlClick Button1
ControlClick Button3
Return
#IfWinActive
#f::#s
@sys9kdr
sys9kdr / acrord32.ahk
Created February 23, 2018 03:56
Acrobat Reader DCのキーバインドをちょっと変えたときのスクリプト。
#UseHook
#IfWinActive ahk_exe AcroRd32.exe
^r::^+n
Return
#IfWinActive
#f::#s
@sys9kdr
sys9kdr / markdown-headings-to-locationlist.vim
Created February 17, 2018 07:42
ロケーションリストにMarkdownの見出しを表示するやつ。
function! MdHeadertoQflist()
" heavily inspirde by SidOd/mkdx
let l:headers = []
" l:inCodeBlock = [inTildeCodeBlock, inBqCodeBlock]
let l:inCodeBlock = [0, 0]
for l:lnum in range(1, line('$'))
let l:currentLineContents = getline(lnum)
" 力技で```のコードブロックにも~~~のコードブロックにも対応した。パターンマッチがほしい。
let l:mdIdentifier = matchstr(l:currentLineContents, '^\%(\`\`\`\|\~\~\~\)')
if (l:mdIdentifier ==# '```')
@sys9kdr
sys9kdr / Puppeteerがクローリングに使えるかも.md
Created December 16, 2017 18:03
Puppeteerがクローリングに使えそう

この記事はWebスクレイピング Advent Calendar 2017の17日目の記事です。puppeteerでクローリングします。

Google Chrome(Chromium)でクローリングをやる

SPAみたいなちょっと凝ったWebサイトをクローリングするときは一昔前はSelenium + PhantomJSあたりが鉄板でしたが、今後はSelenium + Headless ChromeもしくはPuppeteer + Headless Chromeが主流となっていく見通しです。 (HeadlessとはGUIアプリケーションのGUIを介さないモードのことです。)

前者についてはWeb上に情報も多いですが、Puppeteerでクローリングする話をそんなに見ない気がするのでクローリングの歴史を踏まえてやってみます。

一昔前のクローリング

@sys9kdr
sys9kdr / Haskell入門失敗.md
Last active January 24, 2018 01:32
Haskell入門しようとして環境構築で失敗。

この記事はHaskell (その3) Advent Calendar 2017の5日目の記事です。Haskellの環境構築につまずいた経験をシェアーします。

2017年、Haskell入門元年

関数型プログラミング言語の親玉Haskell。昨今の関数型ブームで学びたいと思ってる人も多いんじゃないでしょうか。 今年は『Haskellによる関数プログラミングの思考法』『Haskell 教養としての関数型プログラミング』に『Haskell入門 関数型プログラミング言語の基礎と実践』と入門書がバンバン出ています。 まさしくHaskell入門元年ですね。

というわけでこのビッグウェーブに乗じて入門しようと思ったのですが、環境構築で失敗しました。

@sys9kdr
sys9kdr / つくりたいもの.md
Created November 24, 2017 15:43
作りたいものリストです。
  • userChrome.css/userContent.css用のスタイルマネージャー
    • node.jsでやる
    • cssoとかで最適化欠けたら-mozとか消えてたのどうするか調査する
    • firefoxのユーザープロファイルを簡単に開くモジュールがないか探す
  • vim8向けのパッケージマネージャー
    • 理想はpackだがwindowsで動かない
    • goでpackのクローン作りたい
    • 実際に作るのはbashとgit submoduleでつくる簡単なやつになりそう
      • 俺go書けない、bash大丈夫
  • 俺設定ファイルパースしたくないだるい、だからgit submodule以下のファイルだけ管理するやつつくる
@sys9kdr
sys9kdr / userChrome.css
Last active November 27, 2017 01:58
My userChrome.css
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
@-moz-document url("chrome://browser/content/browser.xul"){
#main-window:not([sizemode=normal]) #TabsToolbar{
margin-top: 1px !important;
}
#:root:not([uidensity="compact"]) back-button{
border-radius: 0 !important;
}
@sys9kdr
sys9kdr / tildewrap.cmd
Created November 18, 2017 17:13
cmderのコマンドをラップしてチルダをいい感じにするやつ。
@echo off
rem usage
rem doskey=tildewrap command $*
echo %* | find "~" >NUL
if not ERRORLEVEL 1 goto TILDE
:CHAR
call %*
goto EOF
@sys9kdr
sys9kdr / cmder-unix-command-memo.md
Created November 18, 2017 15:18
cmderのunixコマンドのメモ

cmderでUnixコマンド(git for windows由来)を使おうとすると起きる問題

  • mv hoge ~\Desktopのような~によるHOMEの表現とcmd.exeの流儀に沿った記法を組み合わせると\がエスケープキャラクターと解釈されてmv hoge ~Desktop相当になる。

すぐに使える解決策

  • mv hoge ~/Desktopと書く

自力救済

@sys9kdr
sys9kdr / tildecd.cmd
Created November 18, 2017 14:53
cd wrapper to use 'cd ~' on cmd.exe.
@echo off
REM cd wrapper to use 'cd ~' on cmd.exe.
REM ----------------------------------------
REM usage
REM 1. Add the %PATH% to direcroty including this DOS Batch.
REM 2. doskey cd=tildecd $*
REM 3. cd ~
REM Known Issues
REM * Tab completeion doesn't work