@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

Vue.js+VueRouterを使っているときに#idでページ内を移動する

vue routerを使っているとページを示すために #/route が利用されているので、aタグやrouter-linkでidへスクロールするリンクが作成できない。 (そのidに対応するページをvue routerが探してしまう) そこでvue routerの持つルーティング情報を監視してJSでス…

macの辞書を引くコマンドをswiftで書くと速かった

macの辞書をターミナルで引ければ楽で速いかなと思い調べたが、Dictionary.appが起動するものとPythonのスクリプトしか見当たらなかった。 しかもPythonのスクリプトはちょっともたつく。 中身はObjective-Cバインディングを使っているようなので、Swiftで書…

シンプルなリバースプロキシ

ローカルでnginxもapacheも動かしていない状況でリバースプロキシが必要になったのでNode.jsでシンプルに。 背景 フロントエンドとバックエンドを別々に開発していると、XSRF扱いになりAPIを叩けず面倒。 解決方法を間違っている気がするが、フロントエンド…

macのデスクトップアプリの標準出力と標準エラー出力をコンソールで確認できるアプリを作ってみた

macのデスクトップアプリ(Mountain Lionより新しいもの)ではfprintf(stdout, ...)やfprintf(stderr, ...)が捨てられているようで、これを確認する手段を調べた。

AWS LambdaでLINE Notifyを叩く

ググって出てくる記事ではパッケージのインストール(zipアップロード)が必要で、 ほんまかいな。という気持ちになったのでcurlでAPIを叩くコードにしました。

Install elasticsearch plugins and kibana plugins behind the proxy.

elasticsearch Set proxy configurations to env $ES_JAVA_OPTS like below. ex: installing x-pack ES_JAVA_OPTS="-Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8888 -Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=8888" ./bin/elastics…

iOS11から標準カメラでQRCodeを読めるようになったのでみているページのURLをQRCodeで表示するブックマークレットを書いた

iOS11から標準カメラでQRCodeを読めるようになったのでwindow.location.hrefをQRCode表示するブックマークレットを書きました。 お気に入りのURLにコピペすればおそらく動きます。 Appleらしさあふれる作りですよね。QRCodeって選ばなくてもカメラに写ればQR…

標準入力の内容をチャットに投稿する2 (Node.js版)

peccu.hatenablog.com こんな記事を書きましたが、結局渡す内容によってcurlが実行できないことがあったのでNode.jsで書き直しました。 依存パッケージなしで書いてみました。 ただ、プロキシ越えは未実装です。。。

標準入力の内容をチャットに投稿する1 (bash, curl版)

長時間かかるコマンドの実行結果をチャットに通知したくなったので、スクリプトを書きました。 (コマンド実行後の定型文通知や引数に指定した文字列の通知はすでに利用していたが、結果を通知したくなった)

bashスクリプトでシグナルを受け取った時にどのシグナルだったかを知る

bashのシェルスクリプトがなぜか正常終了しない時に、シグナルが飛んできていないか確認したかった。

プロキシ環境下でdocker buildするときのコマンドオプション

プロキシ環境下でapt-get update等を含むDockerfileを docker build するときは --build-arg でプロキシの設定を渡す。 docker build --build-arg HTTP_PROXY=$HTTP_PROXY --build-arg http_proxy=$http_proxy --build-arg HTTPS_PROXY=$HTTPS_PROXY --build…

snake_case->PascalCase->camelCase->snake_case->...に変換するコマンド

id:IMAKADOさんの実装を参考に、以下を追加した。 リージョンだけでなくカーソルの置いているシンボル(thing-at-point)も変換対象とした snake_case<->PascalCaseだけでなくcamelCaseを加えて循環するようにした d.hatena.ne.jp

Slackのフィード一覧をOPMLファイルに書き出す

Feedlyでは読みきれないのでSlackでフィードを購読(/feed subscribe URL)すれば目について読めるのではないか。と思った私は甘かった。 結局フィードが増えて追いつけなくなったので feedreader に移行することにした。 流れ RSSの設定画面を開く https://*.…

Node.jsでメールを送る。mailコマンドやSMTPサーバー不要。

github.com npm i sendmail const sendmail = require('sendmail')(); sendmail({ from: 'from@example.com', to: 'to@exampl.com', subject: '件名も化けなかった', text: 'これは本文' }, function(err, reply) { console.log(err && err.stack); console.…

Emacsでウィンドウのフォーカスを移動するキーバインド

順方向を C-;、逆方向を S-C-;すなわちC-:にすると便利。

Common Lispで特定のパッケージを使っているものを探すなら「filetype:asd」をつける

redditで見かけたのですが、「filetype:asd パッケージ名」でググると、そのパッケージに依存しているものが引っかかることを知りました。 www.reddit.com 例えばwebsocket-driverを使っているものを検索するならこんな感じ filetype:asd websocket-driver -…

サムライトのEngine.IOサーバーを試す

深町さんがサムライトでEngine.IOサーバーを書いていたので試しに動かしてみた。 github.com ただ、そのままじゃClack(Lack)やwebsocket-driverの変更に追従していなかったので、forkして修正してみた。 github.com 果たして今さらプルリクエストを作成して…

CavemanでWebSocketしつつslime-connectでデバッグ

cavemanでwebsocket-driverを読み込んで、defrouteにwebsocket-driver:make-serverを入れるとよい。

Git stashからdropしてしまったものを復旧する

stash popで衝突して修正している間に何をしていたか忘れてdropしてしまうというミス git reflogでは出てこなかったが、git fsckでは出てくるとのこと。 stackoverflow.com この回答の通り。

GiHubリポジトリのページとGitHub Pagesを行き来するブックマークレットを書いた

ソースを見たくなった時に、URL手打ちが面倒だったので書いた。 独自ドメインは対応してない。(できる気がしない)

Emacsで"Autoloading failed to define function"が出たらload-path内に複数の定義がある

タイトルの通りですが。 emacs.stackexchange.com load-path内で衝突しているものの一覧がM-x list-load-path-shadowsで表示されるので、 autoloadしようとしていたものを探して、不要な方を消す。

git fetch, pullで fatal: git fetch-pack: expected ACK/NAK, got 'ERR want ... not valid'

GitBucketを使っていて、clone/pull/fetchするときにエラーが出るようになった。 サーバーのリポジトリでgit fsck -> git gcを実行するとエラーが出ずに実行できるようになった。

SubversionのようにGitで差分リリースする

Subversionでは指定した二つのコミット間で変更のあったファイルのスナップショットを書き出せるようです。 差分リリースでよく利用されているかと思います。 Gitではそのままのコマンドがないので今まで諦めていたのですが、 コマンドの組み合わせで実現で…

embed.lyを使うのは簡単かも

aタグにembedly-cardクラスをつけて、embedlyのjsを読み込むだけで良さそう See the Pen embedly example by peccu (@peccu) on CodePen.

Vue.jsからCommon Lispの関数をjsonrpcで呼ぶ

深町さんのポケットチェンジでの活躍を見て、私も試してみたくなった。 Building GUI App with Electron and Lisp from fukamachi www.slideshare.net 最近は Vue.js で遊んでいるので、そこからjsonrpcでCommon Lispの関数を呼んでみた。

webpackでビルドしたものをブックマークレットで読み込む

vue-cliで作ったVue.jsアプリをブックマークレットで使う遊びをしていて、 開発中はwebpackでビルドしたもの(npm run dev)を直接呼び出したかった。

JSでframesetをbodyに置き換える

最近ブックマークレットでVue.jsを読み込んで既存ページを書き換えるのがマイブーム。 昔ながらの frameset を使っているページでフレームを越えたものを使おうとした時に調べた。

第1回関西Lispユーザー会に参加した

4/22(土)に京都で第1回関西Lispユーザー会があったので行ってきました。

JavaScriptでオブジェクトを対象にmapやreduceする

JavaScriptでオブジェクトを対象にmapやreduceしたかった。 Object.keys()でオブジェクトのキーが取り出せるので、それを元にmapやreduceする。 var o = { key1: 'value1', key2: 'value2', key3: 'value3' }; // retuce Object.keys(o).reduce(function (pr…

nginxでレスポンスヘッダを追加する

リバースプロキシとしてnginxを動かしていて、どのnginxやlocationの設定が有効なのか区別したくてヘッダ情報を追加したかった。 この設定で X-Whom: www-node01とヘッダに追加される。 add_header X-Whom www-node01 www.cyberciti.biz この記事ではcurl -I…