昨日は去年買った服のブランドの26年の秋冬の受注会に行って服を買ってきた。 26年の秋冬なので、届くのは半年以上先だけど。 最近の円安からの原価高騰により、在庫を減らして価格を抑えるために、ほとんどを受注会で売り上げるドメブラが増えてきているら…
うちは毎年、年末年始や記念日を家で過ごす場合、結構高確率で麻布十番にある「スーパーナニワヤ」というスーパー内の精肉店で売っているローストビーフを買って食べることが多い。 ナニワヤのローストビーフはこれまでの人生で一番美味しいローストビーフと…
facebookが公開しているlexicalエディタというリッチテキストエディタのライブラリがあって、便利に使っている。 lexical.dev エディタstateを管理するためのコアライブラリといくつかのプラグインが提供されていて、プラグインの仕様に沿ったReactコンポー…
久々にライブラリを作って Rubygems に publish した。 github.com ライブラリの名前は MysqlReplicator とした。これは MySQL の Binlog イベントを Ruby のプログラムで受け取って自由に処理を書くためのライブラリ。 MySQL にはレプリケーションプロトコ…
前回 Ruby の TCPソケット通信で MySQL の認証を通すやり方を書いたので、その続き。 認証を通せれば、Rubyから SQL を発行して実行できるようになるのでやり方をまとめる。 MySQL には各種処理を実行するためのコマンドというのがあり、SQL の実行は COM_QU…
ローカル環境で、Ruby で MySQL のレプリケーションプロトコルを扱う処理を作りたいのだけど、いつも使っている mysql2 gem がレプリケーションプロトコルに対応していないので自分で作ることにした。 普段はナイーブに TCP ソケットを使った処理を書くこと…
そういえば今年の年初って1/1だよね(あたりまえ)、早すぎ! コードを書く感覚が戻った 前職を辞める前2~3年くらいはほんとに不具合改修とか障害起きたときに調査するくらいしか開発に触れてなかったのだけど、まあすぐに勘を取り戻すっしょと気楽に考えて…
日記です。 タイトルの通り10年勤めたfreee株式会社を退職して、自分で会社を作ってやっていくことにした。 freee最終出社でした、10年間ありがとうございました!(ビルを見上げる写真撮り忘れた) 次回作にご期待ください! — yo_waka (@yo_waka) June 16, 2…
このブログは[Cloudflare Workersで配信している](https://waka.hatenablog.com/entry/2020/11/08/000000のだけど、ライブラリや実装の見直しをサボりにサボっていたため3年ぶりに更新した・・ 開発環境でもあり、CLIツールでもあるWranglerがv3になっていた…
今の情勢だと人が多いところに出かけづらいので、人がいない場所でも楽しめる趣味としてカメラを買った。 レンズ交換式のカメラを買うのは2回目で、大昔デザイナーやってた頃に素材くらい自分で用意できるようになるかーとNikonの一眼レフを持っていた時もあ…
Ruby3 がリリースされてめでたい! RBS という型定義ファイルでコードチェックする機能がデフォルトで使えるようになった(実際は Steep という型チェックライブラリと合わせて使う)。 今後主要なリポジトリで RBS ファイルが提供されて、エディタサポート…
3月から在宅勤務になってからというものの、なかなか家だと集中して働けない(自分は外に出て家族でない誰かがいる環境の方が集中できるぽい)ということが分かり、学びがある9ヶ月になってしまった。 そんな中でも仕事はしないといけないため、快適に過ごす…
このブログでは「waka.dev」のルートドメインを Cloudflare に名前解決させて Workers に向き先を変えているが、DNS の設定にハマったのでやり方を残しておく。 DNS の向き先を変えるやり方はサポートサイトにあるので、その通りやればよくて、サブドメイン…
r7kamura さんのこのサイトの実装 2020年版に倣って、このブログの実装を書いてみる。 ソースコードは全て GitHub に上げてある。 ホスティングとCI Cloudflare Workers を使って配信している。 CI は専用CLIツールの Wrangler の使い勝手がよく簡単。 GitHu…
Cloudflare Workersの既存のキャッシュ(KV)を全てクリアしたい場合。 単体のコマンドでは全てのkeyを削除することは出来ないので、 kv:key list と kv:bulk delete を組み合わせて使う。 このときlistで返ってくるJSONをそのままbulk deleteで使えないので…
月曜を休みにしたので四連休になった。四連休最高! おかげでコードを書いているのだけど、最近ようやくダイニングのイスを卒業し、作業用のイスを買ってからというもの、腰の状態がすこぶるよい。 買ったのは会社で使ってるのと同じバロンチェアで14万円が…
エッジコンピューティングを素振りしてみたかったので、Cloudflare Workersを触ってみた。 恐らく仕事で使うとしたらLambda@Edgeになると思うけど、個人で気軽に試すにはCloudflare Workersは無料で動かすことも出来るのでハードルは低い。 触ってみて思った…
グローバルなJSONリファクタ に続き、地道なリファクタシリーズ第2弾。 Facebook社が公開している flux-utils、使っていますか。 今は大抵の人がReduxでFluxを実装していることでしょう。flux-utilsは3,4年前はシンプル故に普通に選定してもよいと思える選択…
新年の書き初めにReact Hooksでいろいろ習作を書いたりしてた。 WebアプリケーションだとサーバサイドからHTMLビューにJSONを書き出して、フロントエンドでそれを使うというのはよくやるやつだと思う。 こんなやつ(例はRailsのERB) <script> window.GLOBAL = {}; w</script>…
そろそろ家のMacbook Air (2013 Mid)が限界にきてたので、Thinkpad X1 Carbon (Gen 5th)を買ってArchLinux入れた。 この時期は毎年Lenovoのオンラインショップで40%以上ディスカウントされてるらしく、SSD以外モリモリでつけても17万円を切って財布にやさし…
Github Pagesで書いてたけど思い立ってはてなブログに戻した。 インポートスクリプト書いたものの、記事数多くないしMarkdownだし手でコピった方が早かったんじゃという気がしてきた。
先週になりますが、「ReactiveCocoa Tokyoというイベントがあり、そこでfreee社での導入の経緯やMVVMでのReactiveCocoaの使い方について話してきました。 freee社でのReactiveCocoa活用例 from yo_waka ReactiveCocoaは役割上ロックインされがちで、そこをな…
Android StudioがBetaになったので、0.8.2に上げようとしたらモジュールのビルドでハマった。 Android Studioのバージョンを上げるときは、build.gradleを弄る時でもある。 Betaに上げるからには最新版のGradleプラグインとAndroid SDKでコンパイル&ビルドで…
少し、いやかなり前に渋谷Javaで「Android meets RxJava」というタイトルでLTしてきました。 スライド上げるのが遅くなってすいません。。。 RxJava meets Android - 渋谷Java#6 from yo_waka freeeのAndroidアプリの開発前にチーム内で考えていたのが、テス…
ウチの会社ではHipchatとGitHubを開発のコミュニケーションの中心にしている。 だんだん人も増えてくると、以前よりプルリクの数がそれだけ増えて、レビューで1日終わってしまう人がでてきた。 昔から仕様を知っている人にレビューが投げられがちで集中しや…
2/22発売のWEB+DB PRESS Vol.79のJavaScript連載で「AngularJS」をテーマに記事を書きました。 こんな感じのことを書いてます。 AngularJSについて AngularJSの主な機能 2wayバインディング スコープ モジュール コントローラ Dependency Injection (DI) サ…
今作っているアプリで、改善のためにどれくらい画面が使われているか知りたかったので、GoogleAnalyticsを入れたときのメモ。 GoogleAnalyticsはご存知みんな知っているアクセス解析ツール。 iOS用にもSDKが公開されていて、CocoaPodsを使っていればpod inst…
先週 Macbook Air を新しいマシンにリプレースした際に、環境構築どうしようかなーと思って、homebrew-caskを使ってみたらかなり捗った。 Mac上の環境構築でよく聞くのは、GitHubが公開しているBoxenだと思うけど、PuppetのDSL覚えるの面倒くさいし、パッケ…
追ってみたシリーズ第3回目。 AngularJSのディレクティブ、名前は聞いたことあるけどあれでしょ?自前の「ng-hoge」を作るための仕組みでしょ? だいたいそんな感じですが、どうやって実現しているのか。 ディレクティブの役割 ディレクティブはHTMLビューを…
AngularJS黒魔術のうちの1つ。DI。 コントローラーの引数に$httpなどを指定すると、なぜ何もしなくてもHttpProviderの返り値が入ってくるのか。 var userControllers = angular.module('userControllers', []); userControllers.controller('UsersCtrl', fun…