ミルク色の記録

やったこと、やってみたこと

Raspbianのinitramfsをカーネルのアップデートに追従するようにした

Raspberry PIでrootfsのReadOnly化やUSB OTGとかで試してきて、ちょっとだけinitramfs使ってやりたいことやれるようになった。 だけど、apt-get upgradeでカーネルが更新されると、既存のinitramfsを作りなおさなければならないことに気がついた。 しばらく…

RaspbianでOS再起動せずにネットワーク再起動で設定反映できるようにした

Raspbianのいつのバージョンだったか忘れたけど、固定IPアドレスの設定を/etc/dhcpcd.confに行うようになったあたりで、変更したネットワーク設定をサービス再起動で適用する方法がよくわからなくなった。 とりあえずdhcpcd.confで設定しているのだからdhcpc…

Raspberry PIでNTPの同期が取れてからアプリケーションのサービスを起動するようにした

Raspberry PIにはRTC(リアルタイムクロック)が搭載されていないので、ボード上に日時を保存しておいてOSのシステム時計に反映する方法はデフォルトではない。 ただ、昨今のRaspbianはsystemd-timesyncdによって、ファイルシステムに最後の日時を保存してお…

極力バックエンドを書かずに異なるドメインのWebサイトからデータを取得するCORS Proxyというのを作った

作ったと言っても、実際コードを書いたのは2年近く前だったのだけど。 当時書いてたアプリのために作っておいたのをずっと放置していたが、最近ちょっと使う用途があったので久しぶりに触ったら何もかも忘れてて(README書いてなかった)えらい苦労した。改…

Raspberry PI ZeroのUSB OTGで遊んだ

Raspberry PI Zeroのセットアップで、電源供給用じゃない方のマイクロUSBポートとホストPCを繋いで仮想ネットワーク経由で接続する云々の情報をみて、どういう仕組みでやっているんだろうと調べてみたら、Raspberry PI ZeroではUSB OTG(On-The-Go)が使えると…

Webプログラマの手持ちスキルを駆使してRaspberry PIに電源OFFボタンをつけた

回路組んで基盤作ったりとかできないので、Raspberry PI用のLCD購入して、UI作って電源OFFボタンをつけた。 UIはLinuxのGUIアプリケーションを書く...のは回避して、ブラウザでできるようにして自分の手持ちスキル側に寄せた(Electron使うって手もあったか…

Raspbianに追加したextrafsパーティションのためのツールを作った

以前にRaspbianのデフォルトOSイメージにextrafsパーティションを追加する手順をまとめて、スクリプト化した。 今回は追加したextrafsパーティションをSDカードの最大容量まで拡張するツール(expand-extrafs)と、SDカードの違いで起こる問題を考慮してOSイメ…

RaspbianのrootfsをReadOnlyにした

fsprotectとroot-ro Raspberry PIでRaspbianを使っている時、rootfsのReadOnly化については、fsprotectを使った方法を過去に試したことがあった。 github.com fsprotectはdebianパッケージとしてインストールして、/boot/cmdline.txtにfsprotectパラメータを…

RaspbianのOSイメージのパーティションを分割した

動機 公式で配布されているRaspbian OSイメージはbootとrootfsのパーティションのみで構成されていて、 Raspberry PIに入れて起動するとrootfsが自動でSDカード全体まで拡張される。 そのまま常時稼働で運用していると、OSのログやtmpやswapの利用でSDカード…

Raspbianの初期起動でのrootfsパーティション自動拡張の仕組みを調べた

環境 試したRaspbianのイメージは2018-11-13-raspbian-stretch-lite.img。母艦はLinux PCで調べた。 きっかけ Raspbian Jessieのいつ頃からか忘れたけど、イメージをSDカードに焼いてRaspberry PIに入れて起動すると、 自動でrootfsのパーティションがSDカー…

Elmのupdate: Msg -> Model -> (Model, Cmd Msg)にあこがれてJavaScriptの状態管理用のライブラリ作った

作ったのはこれ。 www.npmjs.com 動機 普段Reduxで非同期なことをやる時にredux-thunkミドルウェアを使っている。 で、次のようなことをするときにいつも悩む。 非同期にデータを取ってくるアクションで取得前にローディングマスクを表示し、取得完了後にロ…

E2Eテストの実行時間を1/2とか1/4に縮めた

前回も触れたけど、普段Seleniumを使ってpythonでE2Eテストを書いている。 E2Eテストの接続先サーバはdocker-composeを使って必要なものをガッと立ち上げていて、 テスト内でredisやDBに直接接続してデータの初期化をしながらやっている。 使っているdocker-…

2019年現時点の自分のWebフロントエンド開発環境

数年前、年末にその時点での自分のWebフロントエンド開発まわりの環境を記録用にまとめていたけど、 それからすっかり怠けてしまい、去年の暮れには久しぶりにやろうと思っていたものの、気がついたらすっかり年が明けていた。 最近色々ずっとアレな感じでメ…

Selenium WebDriverでテスト書くのにAsync/Awaitを使ってみた

E2Eテストを書くときにSelenium WebDriverを使っているんだけど、テストをJavaScriptで書くと、下みたいな感じでPromiseのチェーンだらけになるのがあまり好みじゃなかった。 const assert = require('power-assert'); const chrome = require('selenium-web…

observable-storeとfreezable-storeというのを作ってみた話

きっかけ ビューを作るのにReactを使っているとpropsで渡すものはなるべくシンプルなオブジェクトにしたいかな...みたいな気分になる。 (雑な例であまり良くないのだけれど)例えば、カウンタアプリケーションで現在のカウントを表示するビューみたいなのを…

PhinxでマイグレーションしつつEloquentのモデルのテストをする方法

PhinxでDBのマイグレーションしているけど、モデルにはIlluminate\Database\Eloquentを利用していて、 PHPUnitで単体テストするときにSQLiteのオンメモリでやりたいなと思ったのでソース見ながら方法探してた。 やり方まとまったのでメモしておく。 こんな感…

Y8 2017 spring in Shibuyaに参加してきた

y8-2017-spring.hachiojipm.org 去年に引き続き、今年も参加してきた。 そして今年は、2nd season(懇親会)の方で猫型さん(@neko_gata_s さん)と「春だ!webフロントエンド開発を語り尽くすぞ!!」というタイトルで漫談してきた。 トークを聴いて 苦労話…

【NDSiN#12×Niigata.js×C4N】JavaScript 2017春に参加した

nds-meetup.connpass.com 久しぶりのNiigata.js絡みのイベントに参加して、「SPAのルーティング」の話をしてきた。 SPAのルーティングの話 from ushiboy www.slideshare.net SPAのルーティングに関してはあまり話に出てるの見たことがなくて(この前のWEB+DB…

2016年にフロントエンド開発に使った環境

今年も終わるのでメモしておく。 去年との大きな違いはwebpackの設定を個別ファイルにするのをやめたくらい。 webpackの設定はgulpfile.js内で関数用意して、引数で対象の環境(development, production, testing)を切り替えるようにした。 こんな感じで使…

SVGのtext要素でUnicodeのHTML文字参照を使う

意外なやり方だったのでメモしておく。 方法 次のようなsvg#screen1にHTML文字参照を含むコンテンツを持つtext要素を追加したい場合、 text要素をcreateElementNSで生成したらinnerHTMLでコンテンツをセットする。 これで"test@foo"が表示される。 見つけた…

YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawaに行ってきた

すっかり時間が開いてしまったけど、7月の2日、3日にYAP(achimon)C::Asia Hachioji 2016 mid in Shinagawaへ行ってきたので残しておく。 感想 ベストトーク賞の上位に上がっていたトークはすべて会場で聴いていてどれもこれも良かったのだけど、特に@kamadan…

Niigata.js #1に参加して発表した話

(いろいろあって忘れてた)一ヶ月前の話だけど、記録のために書いておく。 3行でふりかえり 4月23日にNiigata.jsの第1回目で「Web Worker使って◯◯する」という話をしてきた。 話した内容は、Web Workerの基礎に見せかけたWeb Worker使ってFluxする話。 去年…

2015年が終わるのでフロントエンド開発に使ってるツールまわりをざっと書き出してみた

題名の通り、ざっと書き出し。 このあたりのことを相談された時に、手元のリポジトリを漁って「こんな感じでやってます」とやってたけど、 とりあえずこのURL渡して参考にしてもらうみたいなことができれば... ご注意 Xubuntu 14.04でやってるのでWindowsやO…

勉強会に初めてLT参加した話

ちょっと時間開いてしまったけれど、記録のために書いておく。 NDS meetup #8nds-meetup.connpass.com という勉強会で初めてLTやってみた。 自分は35歳の平凡なプログラマ。 勉強会とかデベロッパー向けイベントに参加しても毎回聴くだけの側。 この夏YAPCに…

YAPC::Asia Tokyo 2015に行ってきた

初参加。 めちゃくちゃ楽しかった。 以下、ふり返り。 きっかけ 去年のuzullaさんの『半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情』を動画で見て、「なんなんだろう?この空間。会場でリアルタイムに見たかったな...」と思ったの…

WebSocketとcreateObjectURLとvideoで遊んでみた

(´・ω・`)。oO(WebSocketのバイナリデータ送信って、クライアントの方も対応したのかなぁ…) と、ふと思ったので試してみた。環境こんな感じ。 OS : ubuntu 11.04 ブラウザ : Google Chrome 17.0.963.56 node.js v0.6.11, connect, websocket nodeのwebsock…