embryo

エンジニアの備忘録

2017-01-01から1年間の記事一覧

SketchPlugin開発の効率化

この記事はSketch Adevent Calendar の 17日目の記事になります。 今日はデザインツールSketchのPlugin開発を効率的に行う手法についてまとめていきます。開発者向けの記事となりますのでご留意ください。 SketchPlugin開発の基本 SketchPluginは以下のディ…

PWAを支える技術とPRPLパターンの実装

この記事はトレタ Advent Calendar 2017の11日目の記事です。 dev.toで最近話題になったPWA実装ですが、今日はそのPWA設計パターンの1つであるPRPLを実践するために必要な技術スタックとその実装方法についてまとめました。 PRPLパターンとは Googleが提唱…

Golangの環境をつくった(goenv+ghq+peco)

goの開発環境を整えた際のメモです。 goenvでgoをインストール golangのバージョンを管理するためにgoenvを導入しました。direnvと併用してプロジェクトごとに環境を分けることも可能ですが今回はgoenvのみをセットアップします。 GOPATHを設定する goのワー…

DNSの仕組みと調査方法について

仕事で外部のエンジニアに依頼したドメイン移行が正しく動作していなかったため、良い機会と思いDNSについて調べました。 名前解決の方法 そもそも名前解決とは何かというと、ドメインとIPアドレスを紐付けることです。手法として以下の2つが上げられます。 …

LU分解を実装してみた

今日は連立方程式の解法などに用いられるLU分解についてです。 LU分解とは とある正方行列Aに対して以下のような等式が成り立つ場合を考えます。 このとき A を L(下三角行列)とU(上三角行列)に分解すると三角化された行列の計算を2回行えば 解を得られるこ…

Generatorと非同期処理

今日はes6の仕様であるGeneratorについてです。 es6でカスタムイテレータを作る (Iterator, Iterable, Generator) - embryo で簡単に紹介しましたが、今回はGeneratorで非同期処理を扱ってみたいと思います。 co で非同期処理 GitHub - tj/co: The ultimate …

es6でカスタムイテレータを作る (Iterator, Iterable, Generator)

今日はes6の仕様であるIterator、Iterableについてです。仕様を調べつつ実装して挙動を確かめていきます。 Iterator 一連の処理中において現在の処理位置を把握しつつ、コレクション中の項目へ一つずつアクセスする方法を指します。es6においては下記のnext…

React+Typescriptでコンポーネント公開用のBoilerplateを作った

今日はReact製のコンポーネントを外部公開するための雛形を作成したのでその紹介です。 ソースは以下。 github.com 構成 AltJS: Typescript Development・Docs: Storybook Unit test: Jest Typescript 型が欲しいのでTypescriptを使用しています。普段も大体…

UniversalLinksの挙動について

iOS

OpenIDConnectのクライアント実装のためにUniversalLinksを使用したので、その挙動についてまとめました。 Webブラウザからアプリへの遷移方法 AppScheme app://[*] でアプリへのリンクを実現しようというもの。被ったり敢えて被せてくるセキュリティリスク…