読者です 読者をやめる 読者になる 読者になる

MANA-DOT

PIXEL ART, PROGRAMING, ETC.

Slack上でインタラクティブに遊べるゲームを作るためのフレームワークを作った

この記事は Slack Advent Calendar 2016 24日目の記事です。

すべてのリポジトリでGithubのpull requestをfetchする設定

git

githubのプルリクエストのコミットをローカルにfetchする方法はよく知らてていますが (知らない人は是非設定をオススメします。特にコードレビューでレビュー相手がfork先からプルリクエストを出している場合でも対象コミットを取得できるため便利です)、 …

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

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

Slack上でインタラクティブに倉庫番を遊べるhubot-slack-soukobanを作った

Slack 上でリアクションを操作ボタンとして利用して倉庫番を遊べる、 hubot-slack-soukoban を作りました。

レスポンシブなCSSスプライト

よく知られたCSSスプライトはボックスの幅・高さをスプライト画像と同じに指定し、background-position をずらすことで複数のスプライト画像を含むスプライトシートの中から対象画像だけを表示します。 この方法だと表示できる画像のサイズは固定なのですが、…

部屋の照明を操作するかっこいいWebアプリを作った

GW中に上記画像のような見た目と操作感で部屋の証明をコントロールできるWebアプリを作ったので紹介します。

RPGツクールMVで作ったゲームをコマンドラインで動かしてみる

会社のLT用のネタで、RPGツクールMV で作ったゲームをCLI上で動かすということをやりました。 ニコナレ にLTで使ったスライドをアップしてあります。

babelのasyncで遊んでみたメモ

ES7から利用可能な async/await は非同期プログラミングの際に非常に魅力的な構文です。 babelを用いることによりES5の環境でもコードを実行可能です。 babelで非同期処理がどのように変換されるのか興味があったので、いろいろ遊んでみました。

direnvを使って複数のgitコミッタ名を切り替える

例えば会社のPCでこっそり個人的なリポジトリで作業してgithubにpushする場合、 うっかり会社用のgitコミッタ名(本名@会社名.co.jp みたいなアドレスとか)で commit/pushしてしまい、紐付けるつもりのなかったネットの人格と本名/会社名が紐付いてしまう と…

SublimeTextでgrep, sort, uniq, diff, sedっぽいテキスト操作

SublimeTextでもコマンドラインで行うような、grep, sort, uniq, diff, sed といたコマンド相当の操作ができます。 ログファイルをSublimeTextで眺めてる時などに便利なのでご紹介。

Hubot-slack で絵文字でアニメーションする8パズルゲームができるbotを作った

社内のSlackで後輩がSlackの絵文字にでかい絵を分割して登録し、パズルだとか言っていたので、なんとなく作りたくなってしまいHubot上で8パズルが出来るbotを作ってしまいました。

Hubot-slackでDMを送る

hubot-slack でDMを送るスクリプトを書きたかったが、 DMを送る方法が用意されてるにもかかわらず、単純に呼ぶだけでは利用できなかったので呼び方のメモ。 ※ hubot-slackが利用するnode-slack-clientのバージョンが1.2時点での内容です。今後改善されると思…

Hubotでbotの反応する部屋やユーザーに制限を設ける

少し前に slackでbotアカウントが作れるようになり、それまで IRC Gateway で動作させていたSlack上のbotを hubot-slack を利用したbotアカウントによるbotに乗り換えました。 ところでslack上でhubotを動かす場合、IRCと比べ次の2点が不便です。 必ずgenera…

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

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

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

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

はてなブログでレスポンシブデザインが利用できるようになっていた

はてなブログのデザイン設定画面を久しぶりにいじってみたら、スマホのデザインをいじる機能と、PCのデザインをレスポンシブデザインとしてスマホでも利用できる機能が追加されていたので、このブログをレスポンシブデザインにしました。

bootstrap-sass でレスポンシブなはてなブログのテーマを作る

最近このブログのテーマを一新しましたが、その際に Bootstrap を利用しました。 はてなブログで Bootstrap を利用するために、sass によるセレクタの継承、uncss による不必要なセレクタの除去と一手間かけたので、その方法を紹介します。

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

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

City witch

トップ絵を変えたくて打った。 魔女+愉快なしもべ+渋谷みたいなのを描きたかった。ビル街が難しすぎた。

切り替えスイッチをCSSでつくる

画像のような切り替えスイッチをHTMLとCSSだけで作ります。

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 に参加してきました。 以下感想をだらだらと。

ドット絵Webフォントをいろいろ作ってみた

この記事は前々回と前回の記事の続きです。 ドット絵から手軽にWebフォントを作れるようになったので、フォントを幾つか作ってみました。

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

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

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

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

HubotでIRCのログをとる

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

tmuxのタブ名を今いるディレクトリのリポジトリ名にする

知ってる人には今更でしょうけど、タブに今いるリポジトリ名が出るようにしてみた。

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にやらせてみたのでメモ。

今使っている WordPress のプラグイン

自分にとってももし環境がぶっ飛んだ時のメモにもなるし、 僕に近いスタイルでブログ書く人には役立つ情報だろうから、一回まとめてみます。

zshプロンプトで今いるレポジトリに下線が出るようにした

zsh

上記画像のように、zshのプロンプトのパス部分で今いる場所に下線を引きます。

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が投げられます。)

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

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

Cygwinで sshが ~/.ssh/config を見てくれない

Cygwin が最近64bit版が正式にリリースされたらしいので、早速入れてみました。 その時、せっかくだから従来使っていた32bit版のCygwinを完全に消して、一から入れなおしたのですが、入れなおしたあとsshが~/.ssh/config を見つけられなくなりました。同様の…

nginxでgzip圧縮とプロキシキャッシュを利用してる時に気づいたこと

このサイトはnginxでgzip圧縮とリバースプロキシキャッシュを利用しています。

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

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

Nginx Cache Controller を入れてみた

WordpressプラグインのNginx Cache Controllerを入れてみました。

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

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

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

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