MANA-DOT

PIXEL ART, PROGRAMING, ETC.

プログラミング

文字列置換により20行程度で実装する倉庫番ゲームのミニマム実装

先日、Slack上でインタラクティブに倉庫番を遊べるhubot-slack-soukobanを作ったにてSlack上で遊べる倉庫番の紹介を行いました。 このhubotスクリプトでは文字列置換による実装を駆使して倉庫番のゲームロジック部分が20行程度で実装されており、今回はその…

PHPで利用できる配列操作系高階関数

PHP5.3からクロージャが利用可能であり、高階関数を積極的に利用して簡潔なコードを心がけたいのですが、一度調べておかないと意外な関数が利用可能であることに気づかなかったりするのでまとめ(個人的によく使う順)。

ssh-agentのforwardを利用し、ホストマシンとローカルVMの非公開鍵を共有する

ssh-agentはずっと利用していたものの、agentのforwardという機能をつい最近まで知リませんでしたが、ローカルVM開発する上でかなり便利な機能でしたので書きます。 ssh-agentのforwardを利用すると、例えばVM開発する上で、ホストマシンの非公開鍵を使用し…

ブログのサイドバー追尾の個人的最適解。コンテントとサイドバーのスクロール速度を変えてみる

まとめブログなど、メインコンテントとサイドバーの2カラム構成で、メインコンテントが非常に長いサイトでよく見るサイドバーの動きで、スクロールしてサイドバーをすべて表示したら、その箇所からサイドバーをスクロールに追尾させるというものが有ります。…

SublimeTextの設定をgit管理し、複数PCで設定やパッケージを同期する。

SublimeTextの設定をgitでバージョン管理し、複数PCで同じ設定を使う方法のメモです。

ドット絵のパレットその他を表示するJSをGruntやbrowserifyで作りなおしてみた

結構前に作ったブラウザでドット絵のパレットその他を表示するライブラリをGrunt / CoffeeScript / browserify / compass といったモダンなツールでビルドするように作りなおしてみました。また、新しくリポジトリを切り直して公開しました。

SublimeTextでパワーポイントにコードを綺麗に貼り付ける

パワーポイントにコードを貼り付けたいとき、シンタックスハイライトを有効にしたいと思うことは稀によく有ります。 SublimeTextを用いてそれを行なう場合、SublimeHighlightというプラグインが便利です。

正規表現で作るワンライナーライフゲーム

会社のLTで発表したものです。 以前の記事の内容を発展させ、先読み後読みを利用してループを使わずに正規表現の置換のみでライフゲームを実現させています。 ベンチ取れとか言われたので、そのうち追記します。 正規表現で作るワンライナーライフゲーム from…

PHPフレームワーク「Phalcon」を使ってみた感想

先日書いたように、YahooのOpenHackDayに参加し、そこでPHPのフレームワークとしてPhalconを利用したので、忘れないうちに使用感などを書いておきます。 (ちょっとしか触ってない上での感想なので、誤りなどあったら指摘お願いします。)

WindowsでPHPMDやPHPCSを入れてSublimeLinterでLintする

Windows上で使っているSublimeText の SublimeLinterでPHPのLintを行うためにWindows環境でPHPMDやPHPCS を叩けるようにしたので、その時のメモです。

Yahoo Open Hack Day2 に参加してきました

Yahoo Open Hack2 に参加してきました。 以下感想をだらだらと。

ドット絵からsvgフォントを作るプログラムを書いたよ

前回作った、ドット絵からsvgを作るプログラムでは、文字を1つずつsvgとして出力するため、IcoMoonAppでWebフォントにする作業が大変でした。 なので、プログラムを回収してsvgフォントの形式でまとめた状態で出力するようにしてみました。(ソースコード)

ドット絵のWebフォントをつくってみたよ

なにやらWebフォントという言葉をよく聞くようになりました。 僕も試してみたかったので、ドット絵のWebフォントを作ってみました。

HubotでIRCのログをとる

常駐しているbotにログの残らないIRCのログをとってもらいます。

Hubotでいない人に伝言を残すスクリプト

IRCを使っていると、用がある人がいなくてメッセージを残せなくて困ることがたまにあったので作りました。

正規表現による置換の繰り返しだけでライフゲームを作る

今更だけど最近正規表現で$1などのマッチした文字列を利用した置換をすることの強力さに気づいたので、なにか面白いことをしたかった 新年一発目だしなにか面白いことをしたかった ということで、タイトル通りにライフゲームを正規表現による置換の繰り返し…

HubotでURLが貼られたらページのタイトルをしゃべるようにする

よくあるやつ。 request = require 'request' cheerio = require 'cheerio' module.exports = (robot) -> robot.hear /(h?ttps?:\/\/[-a-zA-Z0-9@:%_\+.~#?&\/=]+)/i, (msg)-> request { uri: msg.match[1] }, (error, response, body)-> return if error $ …

hubotにIRCのなると(オペレータ権限)配布をやらせる

IRCBotに新しく入ってきた人になると(オペレータ権限)を配布させることはよくやると思います。 それをHubot+hubot-ircにやらせてみたのでメモ。

JavaScriptで変な形のクリック領域を作るとき、svgが便利

昨日のVieraのリモコン、リモコンを作りたかったのもあるけど、svgとJavaScriptを組み合わせた簡単なプログラムを試しに書いてみたかったというのがあります。

node.js でVIERAを操作するWebアプリケーションを作った

昨日の記事 の内容をnode.jsでGUIアプリケーションにしてみました。 Github に上げてあります。 使い方はGithubの方にも書いてありますが、 npm install で依存パッケージをダウンロードした後、 node app.js 192.168.x.x #Vieraのホスト です。 expressでリ…

VIERA(パナソニックのテレビ)をPCから操作する

週末同期と遊んでてパナソニックのテレビを操作する方法を調べたり、便利なコードを発見したりしたので、そのメモ。

node.js で elasticsearchを使ってみる

node.jsはいろんなパッケージがあるので色々出来る!いろんなことをちょっとやってみるのに捗る!全文検索もできたらもっといろんなこと出来そう! そうnpmを探してみたのですが、node.jsネイティブな全文検索エンジンは見つけたもののまだアルファ版だった…

PHP Badparts 4.catch節(というよりタイプヒンティング)

いきなりですが問題。次のコードを実行するとどんな出力がされるでしょうか。 (前提知識として、DateTimeクラスのコンストラクタに不正な値を渡すと、Exceptionが投げられます。)

加速度センサーでパララックス効果

以前 から、このサイトのトップ絵をパララックス効果でマウスでグリグリ動くようにしていますが、 この記事で紹介されているパララックスライブラリが、スマホの場合加速度センサで傾きを使ってアニメーションさせるというもので、面白そうだったのでやって…

gitのpre-commit hookを使って、綺麗なPHPファイルしかコミットできないようにする

PHPのようなゆるふわな言語を安全に書くためには、コードの綺麗さや作法などを担保する手段が大切になります。 IDEを使う、JenkinsなどのCIサーバーを立ててチェックさせるなどの方法が考えられますが、今回はgitの pre-commit hook を利用して、一定の条件…

HubotでHubotの更新をforeverを利用してHubotにさせてみる

前の記事でHubotでIRCbot Consoleと同等の仕事をさせられることが分かったので、会社で置き換えて使っています。 botが色々できるようになったのですが、唯一劣ってしまった点として、スクリプトの更新の容易さがあります。IRCbot ConsoleではWebからスクリ…

node-promise で複数の処理を待ってみる

以前 作ったircbotで、RSS通知を複数のフィードの和集合をとってからつぶやくということをする必要があったので、複数の非同期なRSS取得を待つためにnode-promiseを使ってみたメモ。

githubのwebhookを使って、push時に自動でサーバーを更新させる

このサイトのテーマはgithubで管理しています。 ただgithub上でソースを管理し ローカルで修正 → githubにpush → Webサーバーでpull としても便利なのですが、githubにはwebhookという機能があり、githubのレポジトリに変化があった時に任意のURLを叩いても…

HubotでIRCbot consoleと同等のことをする

会社のIRCで ircbot console を利用してbotを立てて、Jenkinsタスクの完了時にカスタマイザブルなメッセージを流したり、github enterpriseやfecruのRSSを加工して流したりしてたのですが、拡張性に限界を感じたので、今更ながらhubotとcoffeescriptを触って…

PHP Badparts 3.define関数