今日はviteを利用したprojectでブラウザ対応を宣言しpolyfillなどを対応する方法についてまとめます。 トランスパイラを用いたブラウザ対応 babelなどのトランスパイラを利用している場合はbabel-preset-envを利用してbrowserslistとコードベースの内容に応…
前職の振り返り含むので何だかんだ1年半の振り返り。 2019年 やったこと 婚約 退職&開業 iOS Frontend開発 Web Frontend開発 Web Frontendのトレーナー 技術書典 向き合った細かいトピックなど Web Frontend ドメインモデルとUIコンポーネント設計 gRPC 型生…
今日はDependency Injection(以下DI)の目的を整理しました。 できるだけ目的やメリットをベースにまとめていきます。 tl:dr DIはオブジェクトを外から渡すこと → モジュールは依存するオブジェクトの依存解決(生成)方法を意識しない 抽象に依存することによ…
前回はサークル参加の反省をメインにまとめましたが、今回はイベント自体の感想を一般参加者目線のまとめになります。 戦利品 一人サークル参加してしまったため、半ば諦めていたのですが隣のサークルの方のご好意で回ることができました。ありがとうござい…
頒布したもの techbookfest.org 「本 + PDFダウンロードカード セット」で500円で頒布しました。 用意したのは以下。 本は100部 PDFダウンロードカード100枚 (+予備94枚) ※ ダウンロードカード6枚は手違いでダメにしてしまいました 結果 詳しく時間を見てい…
今日は言語ファイルの管理方法及び命名規則に関してです。技術書典5でデザインシステムの本を書く予定なんですが、その中でも言語は重要な要素なので一度整理しておこうと思います。 なぜ言語ファイルを管理するのか 実際のところ本当に多言語対応するつもり…
今日はAtomicDesignについてです。 概要 弊社のとあるチームでAtomicDesignの導入を試みていたのですがあまり上手くいっていないようでした。そこでなぜ上手く行っていなかったのか考えて整理したので、その内容をまとめました。 AtomicDesignとは Design La…
Xcode9においてビルド高速化するための手法についてまとめました。 設定ファイルの最適化 ビルドの速度に関係する主な項目が下記になります。それぞれの設定の意味と推奨される設定値を解説していきます。 Build Active Architecture Debug Information Form…
パーサ入門として式解析の一つである再帰下降構文解析をTypescriptで実装してみたのでまとめました。 構文解析の基礎 構文解析入門にあたって基本的な語句を整理します。 構文図 構文の規則を図式化したもの。構文の構成要素とその関係性を図式で表します。 …
この記事はSketch Adevent Calendar の 17日目の記事になります。 今日はデザインツールSketchのPlugin開発を効率的に行う手法についてまとめていきます。開発者向けの記事となりますのでご留意ください。 SketchPlugin開発の基本 SketchPluginは以下のディ…
この記事はトレタ Advent Calendar 2017の11日目の記事です。 dev.toで最近話題になったPWA実装ですが、今日はそのPWA設計パターンの1つであるPRPLを実践するために必要な技術スタックとその実装方法についてまとめました。 PRPLパターンとは Googleが提唱…
goの開発環境を整えた際のメモです。 goenvでgoをインストール golangのバージョンを管理するためにgoenvを導入しました。direnvと併用してプロジェクトごとに環境を分けることも可能ですが今回はgoenvのみをセットアップします。 GOPATHを設定する goのワー…
仕事で外部のエンジニアに依頼したドメイン移行が正しく動作していなかったため、良い機会と思いDNSについて調べました。 名前解決の方法 そもそも名前解決とは何かというと、ドメインとIPアドレスを紐付けることです。手法として以下の2つが上げられます。 …
今日は連立方程式の解法などに用いられるLU分解についてです。 LU分解とは とある正方行列Aに対して以下のような等式が成り立つ場合を考えます。 このとき A を L(下三角行列)とU(上三角行列)に分解すると三角化された行列の計算を2回行えば 解を得られるこ…
今日はes6の仕様であるGeneratorについてです。 es6でカスタムイテレータを作る (Iterator, Iterable, Generator) - embryo で簡単に紹介しましたが、今回はGeneratorで非同期処理を扱ってみたいと思います。 co で非同期処理 GitHub - tj/co: The ultimate …
今日はes6の仕様であるIterator、Iterableについてです。仕様を調べつつ実装して挙動を確かめていきます。 Iterator 一連の処理中において現在の処理位置を把握しつつ、コレクション中の項目へ一つずつアクセスする方法を指します。es6においては下記のnext…
今日はReact製のコンポーネントを外部公開するための雛形を作成したのでその紹介です。 ソースは以下。 github.com 構成 AltJS: Typescript Development・Docs: Storybook Unit test: Jest Typescript 型が欲しいのでTypescriptを使用しています。普段も大体…
OpenIDConnectのクライアント実装のためにUniversalLinksを使用したので、その挙動についてまとめました。 Webブラウザからアプリへの遷移方法 AppScheme app://[*] でアプリへのリンクを実現しようというもの。被ったり敢えて被せてくるセキュリティリスク…
トレタ Advent Calendar 2016 - Qiita 16日目の記事になります。 フロントエンドエンジニアのすえだです。 はじめに Flux実装する上で曖昧性をできるだけ無くすために頑張る話です。 ***アーキテクチャはこうあるべきみたいな原理主義的な話はありません。あ…