サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
shokai.org
wikiを作った semiraraというwikiを作った。blogとして使えるgyazz(アウトラインエディタ的なwiki)を目指したもので、既にwordpressより書きやすいので今後はこっちに書いていく。 http://wiki.shokai.org/shokai Reduxとkoa v2とasync-awaitとサーバーサイドレンダリングの練習がしたかったので色々やった。 こんな感じでカーソルのある所だけwiki記法がむき出しになる。 くわしい解説 semirara: このwikiのこと – shokai しばらくしたらこのblogのfeedも転送する 2日目(7/3 日曜日)の14時からwikiについて喋らせてもらう。 トーク概要 ReactでWikiを自作して運用している話 · Issue #94 · hachiojipm/yapcasia-8oji-2016mid-timeta
Raspberry Piにnode.jsインストール と同じ方法 Edisonのopkgにあるnodeが0.12とかで古すぎるので、自分で5.5を入れた。 CPUはAtomなので、linux-x86のビルド済みバイナリをダウンロードしてくればすぐ使える http://nodejs.org/dist/ % wget http://nodejs.org/dist/v5.5.0/node-v5.5.0-linux-x86.tar.gz % tar -zxvf node-v5.5.0-linux-x86.tar.gz % mv node-v5.5.0-linux-x86 ~/node 最初から入っている/usr/bin/nodeを消す方法がよくわからなかったのでホームディレクトリに置いてしまった PATHを前の方に通した .bashrc export PATH=$HOME/node/bin:$PA
monorepoという1つのリポジトリに複数プロジェクトを入れる開発手法がある。 この記事で知った。 単一リポジトリで複数package|projectを管理することをmonorepoというそう – なっく日報 そういえばRocketIOやnode-lindaを作っていた時は自作のライブラリ/パッケージが3,4層に積み上がっていて、単一パッケージ内で生じるバグはテストを書けば潰せるけどパッケージ間で起こるバグは非常に解決が難しかった。イベント発火のタイミングによるものとか。パッケージをまたがったテストをどこに書くのかという問題がある。 複数パッケージで起こったバグはどっちのissueに書けばいいのかわからないし、両方でブランチ切って同時に修正してリリースしたりとか超面倒だった。 バージョン毎の依存関係も、serverの1.3に対応してるのはclientの1.5で・・とか依存関係を書くのがや
Node.jsでYahooから天気を取得するnpmを作った。 https://www.npmjs.com/package/weather-yahoo-jp YOLP(Yahoo Open Local Platform)のリアルタイム降雨情報のAPIと、Yahoo天気の予報の取得ができる。 Nodeに日本の天気関係のnpmが無かったのと、今まで使っていたRubyのお天気系Rubygemが全て動かなくなっていたので自作した。 天気をスクレイピングして取ってくる部分がHTMLの変更により動かなくなってしまう事が多いみたいなので、CircleCIで毎日テストを走らせる事により異常にすぐ気づけるようにしてある。 現時点でv0.2.0 forecastの方はまだ多少項目追加する予定なので(気温の前日との差や降水確率など)最新情報はREADMEを見ると良い エラーや要望はissueかtwitterにどう
定期的にCircleCIでのテストを実行するAWS Lambda Functionを書いた。 shokai/circleci-daily-build: kick CircleCI rebuild everyday とくにソースコードの変更が無くても定期的にCIを実行しておきたい場合がある。 依存ライブラリを毎日全て最新版にアップデートしてテストするとか、スクレイピング対象のHTMLが変更されていたらすぐに気づきたい場合とか。 天気予報をスクレイピングで取ってくるライブラリを定期的に実行している様子。毎朝テストされて結果がSlackに通知される。 CircleCIにビルドを頼む CircleCIにはAPIがあるので外部からビルドを要請できる。 https://circleci.com/account/api でAPIキーを取得して使う。 curlとかでやってもいいんだけど、circleciと
mochaでtestを書く時にitという関数を使うのだが、ifと書き間違えている事に気づかず30分ぐらいハマった。前にも同じ事があったのに30分かかったので、この調子だと何度でもハマる自信がある。 itがifでも文法エラーが起こらないし、そのテストコードの部分が実行されないだけなので気づかない。 シンタックスハイライトされてても文字の色で判別なんて人間には不可能。 間違え探しみたいなデバッグをしたくないからテスト書くのに、そのテスト自体が間違え探しなのはどうなのと思う。 もっと細かく考えると if文に定数を渡せるのがおかしい カンマ演算子の存在自体が悪い itって関数名どうなの そもそもtestの中でif文なんて必要ない というのがある。 eslint-if-in-test作った テストコードの中でif文を使う理由が思いつかないので、ESLintでなんとかする事にした。ESLintはプラグ
新横浜は新幹線が止まるしイベント施設が複数あるので、土日はなんらかの目的をもって訪れる人が多いみたいでニコニコ笑顔の人が多くて良い。そのかわりイベントの入場前・退場後の時間帯は強烈に混雑して駅に入れなくなる事がまれによくある。 そこでtwitter botにイベント情報を喋らせることにした。毎朝ツイートするので危険を察知できる。 そのうち混雑度を算出する機能も追加したい。あと開場時間も。 新横浜 12月23日のイベントは 横浜アリーナ : 平井 堅 日産スタジアム : 日産スタジアム歳時記イベント 「もちつき&しめ縄飾りづくり」 — neoyokohama (@neoyokohama) December 22, 2015 ソースコード https://github.com/shokai/neoyokohama-bot coを使うと、非同期処理を同期的に書いて順番に実行したり、あるいはasy
ローストビーフとグレービーソースを作った。何度作ってもおいしいのでレシピを書いておく。 料理としては簡単なのだが、牛モモ肉が手に入りづらい。(今はクリスマスだからわりと手に入りやすい) 自家製ローストビーフが流行ったら近所のスーパーにも常時置かれるようになる気がするので流行ってほしい。 感想 人間が実際に手を動かす時間が短いので楽でよい。適当に焼いて放っておけば肉はできる。トンカツ等の方が難しいぐらいのレベル。 アルミホイルで包んで余熱で調理したり、肉を事前に室温に戻しておく必要があるので、そこだけ時間がかかる。 ソースが重要。グレービーソースでぐぐるとみんな違う作り方していたので気にせず適当に作ったら最高にうまくできた。 材料 肉 牛モモ肉の塊 オリーブオイル クレイジーソルト 塩 キッチンペーパー アルミホイル ソース(グレービーソースのような物) 肉を焼いた後の油 玉ねぎ 1/2個
BlendMicro npmが自動再接続・複数接続できるようになった で、BLE Nanoにも接続できるっぽいと書いた。今やってる。 BLENano実機の開発環境が手に入ったのでセットアップしたメモを書いておく。 写真の上の部分がBLE Nanoで、下はそれにUSBインタフェースを追加するMK20 USBボード。プログラムを書き込む時だけ下が必要で、デプロイする時は上の部分だけで良い。 なおBLE Nanoは12ピンでMK20は14ピン、1ピンずつ余るけど差し間違えると死ぬ可能性があるので注意。写真のようにUSBコネクタ側を余らせ、USBコネクタと反対側に白いアンテナとRedBearLabのクママークが来るようにする BlendMicroとの違い BLE Nanoと似たものにBlendMicroがあるが、これは普通のAVRマイコンを使ったArduinoにnRF8001というBLEチップを外
縦長のwebページを画像として保存したかったので久しぶりにcapybara-webkitを使った。 インストール Macで使うにはqtが必要 % brew install qt % gem install capybara-webkit % gem list | grep capybara capybara (2.4.4) capybara-webkit (1.5.2) キャプチャ 久しぶりに使ったらインタフェースが変わってたけど、ドキュメントが無いみたいなのでlib/capybara/webkit/driver.rbを読んで適当にやったらキャプチャできた。 capybara-capture.rb require 'capybara-webkit' require 'uri' exit 1 if ARGV.empty? url = ARGV.shift driver = Capybara:
既存のbrainがあまりにもひどいので自作した。 https://www.npmjs.com/package/hubot-mongodb-brain https://github.com/shokai/hubot-mongodb-brain npm installして、external-scripts.jsonに書けば使える。何も設定しなくてもローカルのmongodbか、Herokuならmongolabかmongohqを読み込む。 他のbrainからの移行スクリプトもある。 以前爆発した時 hubotのbrainが爆発した hubot-brain-redisは全データを1つのblobとして固めて保存するから、brainのサイズが1.5MBを超えるとRedisToGoのmax memoryにひっかかって保存できなくなる。 そこでhubot-brain-redis-hashに乗り換えたのだが、
久しぶりにCircle CIを試したら、起動が妙に速くなっていた(前からこんなに速かったっけ?)のでいくつかのプロジェクトで使ってみる事にした。 Slackのインテグレーションがlimitに達していたので、Hubotで通知させるのを書いた。 circleci-webhook.coffee 設定 こんな感じでwebhook設定するとJSONが来るので、HubotがSlackに通知してくれる。 circle.yml machine: node: version: 0.12 deployment: staging: branch: master heroku: appname: (herokuのアプリ名) notify: webhooks: - url: https://自分のhubot.com/circleci-webhook?room=(chat部屋名) 動作 Hubot自体のビルド通知も、
参考 Sending and Receiving Messages | Android Developers これ読んであとは勘で書いたらWearable.MessageApi.sendMessageがなんとなく動いた。 Wearable.MessageApi.sendMessageの用途 Wearにはスマホ側の通知が全部表示されてそこからアクションも全部実行できるんだけど、スマホ通知からWearのActivityを起動したりはできない。スマホからWearのActivityとか呼びたい時は、sendMessageでWear内のWearableListenerServiceを実装したサービスと通信して、そこからWear内でIntent発行してもらってActivityを起こす。 Wear上のActivityからスマホに通信して何か処理してもらう時もsendMessageを使う。 WearにはW
Gitをhomebrewで2.3.6にアップデートしたら、行内の文字単位のdiffが完璧に出るようになってた。 以前は一応見れたけど3割ぐらい文字化けしてた → 文字単位でgit diff 1行が長い文章を書いている時は、変更された文字単位で背景色がつくとどこが変わったかわかりやすい 設定 diff-highlightにパスを通す % brew install git % ln -s /usr/local/Cellar/git/2.3.6/share/git-core/contrib/diff-highlight/diff-highlight /usr/local/bin/diff-highlight ~/.gitconfig でpagerを設定 [color] ui = auto [pager] log = diff-highlight | less show = diff-highli
次のページ
このページを最初にブックマークしてみませんか?
『shokai.org - 橋本商会』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く