lit-html を Storybook 上で表示させる

乱立しているフロントエンド界隈の共通ライブラリの作成について、 Web Components による問題解決を夢見て、最近は lit-html を触っています。

以前の記事で取り上げましたが、 React などのライブラリはたくさんのツールが存在しています。
Custom Elements (Web Components) については、必要ないからかツールはあまりありませんが、 Storybook は役に立つツールとなるのではないかと思います。

Custom Elements は v1 、 Storybook は v3.4.1 で確認しました。

サンプルプロジェクトはこちら

Read More

Python で gRPC の単体テスト

Swagger (OpenAPI) による API 定義が鬱陶しく感じるようになってきたので、 gRPC を使った API でシンプルに記述したいと思うようになりました。
要求として Python で不自由なく使えることという事項があったため、現状の Python による単体テストについて調査しまとめました。

公式には広くドキュメント化されていない方法ですので、これから変更が加えられる可能性はあります。

Python 3.6.5 と gRPC 1.13.0 の組み合わせで確認しました。

サンプルプロジェクトはこちら

5 月 31 日更新
Pipenv の場合の説明を追加しました。

7 月 22 日更新 “grpcio-testing” パッケージが PyPI から取得できるようになったため、それと Pipenv の利用を前提とした説明に変更しました。
古いページはこちら から参照できると思います。

Read More

camel2kebab-proxy を公開しました

昨日投稿した記事Jest を使っていた際、 CSS Modules での複雑なユースケースでは新しいファイルを加える工夫が必要でした。
一単語のセレクタだけにするのが正答のような気がしますが、試験的に設定してみるのも悪くないなと思い、 Jest 用の Mapper を作成してみました。

何かある場合は GitHub のリポジトリにお願い致します。

$ yarn add -D camel2kebab-proxy

transmit-update-loader を公開しました

昨日投稿した記事webpack を使っていた際、すこし脇道を通るような処理をさせたい場合や、名前以外に関連がないようなファイルにロードを伝搬させたい場合がでてきました。
こういうユースケースは正答ではないような気がしますが、試験的に設定してみるのも悪くないなと思い、 webpack の loader を作成してみました。

これを変に使うと、複雑に絡み合うネットワークや止まらないローダー、ラッチ回路などもできてしまうかもしれません。

何かある場合は GitHub のリポジトリにお願い致します。

$ yarn add -D transmit-update-loader

React を TypeScript で使う際のツール考察 2018 春

最近のフロントエンドの流れから取り残されている感じがしたので、一念発起して React で小さなアプリを作ろうと思いました。
せっかくなので、 React 関連ツールはなるべく統合して使うようにし、コード本体は TypeScript を使って開発しようと設定を始めました。
( webpack 4 が出てきてしまいましたので、まだ周回遅れです。)

残念ながら、 create-react-app でテンプレートを作成してからツールを追加していくたびにエラーに見舞われたので、メモ書きとして記録しておきます。
執筆に長い期間かかってしまいましたので、もしその間にライブラリがアップデートされ、動かなくなっていたら申し訳ありません。

目次と使用ツール

(以下のリンクは関係する部分へジャンプします。)

Windows 10 Pro (Fall Creators Update), Yarn, WebStorm で動かしています。

Read More

XPS 13 (2018) を購入しました

正月に投稿してから全く投稿できていませんでしたが、とうとう新しいノートパソコンを購入するに至りました。
最たる原因は、Meltdown Spectre によって IvyBridge 世代だった自機がほぼお亡くなりになったことがありました。
加えて、ちょうど XPS 13 を検索した日が新モデルの発売日だったこともあります。

下記の構成で購入しました。

  • New XPS 13 (9370) プラチナハイエンド
  • 13.3 インチ 4K Ultra HD (3840 x 2160) タッチパネル
  • ローズゴールド & アルペンホワイト
  • Windows 10 Pro 64bit 日本語 *
  • Core™ i7-8550U (UHD Graphics 620)
  • 16GB LPDDR3 2133MHz
  • 512GB PCIe ソリッドステートドライブ (KXG50ZNV512GB NVMe TOSHIBA 512GB *)
  • US / インターナショナル 指紋認証リーダー付き *
本当はローズゴールドでも 1TB SSD のモデルを選択したかった。

発売日当日に 15% のクーポンを使って購入し、送料込・税込でおよそ 23 万円になりました。。。

これで自宅にも開発環境を整えられそうなので、順次プログラムを書いていこうと思います。

Read More

あけましておめでとうございます( 2018 年製)

去年は新卒でソフトウェア企業に入社し、プログラミングに関わる時間が圧倒的に増えました。 Maven や Spring の知識も増えました。

しかしながら、去年の年始に立てた目標は、「働く」しか達成できませんでした。勉強会にも参加しませんでしたが、これは採用イベントを兼ねている関係上、自分にとって面倒な時間に設定されているのが要因ですが。

今年の目標は次のものにしたいと思います。サービスを作るのは業務でもそれなりにやることにはなるので、ちょっと奇をてらったテーマを趣味でやっていきたいです。

  1. 引き続き働く
  2. MSA 時代のフロントエンドを考える
  3. Rust の活用
  4. Kotlin をがっつり使う
  5. (再再再) 3DCG 系のページを再構成

自作 Hexo タグ作成のトリック

以前のブログは WordPress のプラグインによる拡張タグや HTML タグの直打ちで作っているページが多く、 Hexo でそれを同じように実現するには自作の Tag プラグインを作成する必要がありました。
複雑なものではなかったので、作成に慣れてしまえば問題無く量産できてしまえますが、最初はわからないことが多かったので忘備録として残します。

Read More

ブログを移行しました

AWS の無償期間で 1 年間動いていたインスタンスを畳み、また数年間 WordPress として提供していたものを、 Netlify と Hexo という組み合わせで提供するようにしました。 これにより、現時点では完全無料で運営でき、 HTTPS にも対応できるため、かなり楽になります。

同時に他のページも Netlify に移したので、このブログも含めてデザインなどをこれから修正していきます。

Read More