Twitter Facebook github

Category “未分類”

おとといやったこと

Reactでログイン画面のマークアップ。ベースとなる部分が曖昧だと死を見るので、設計に時間をかけた。
成果は画面比率を固定するコンポーネント。

昨日やったこと

昨日の記事にある通り、APIサーバー用の開発環境を構築。

今日やったこと

APIドキュメントとモックアップに apiary.io を採用

マークアップに独自のシンタックスを覚える必要があった。

マークアップのドキュメントとサンプルはgithubにあり。
apiaryio/api-blueprint

後述のSuperAgentでリクエストした際にParse Errorになって、何かと思えば Response のキーの後ろにカンマ , が入っていた。TSlintではカンマを強制するルールを有効にしていて、癖で入れてしまっていた。apiaryのコンソールやcurlからはエラーにならなくてハマった。

SuperAgentを使ってApiaryのAPIを叩いた

Apiaryとても便利。

ログインAPIの応答に基づいてシーンの変更を行った

コンポーネントの構造として App の下に各シーンを並列に設置しているんだけど、
シーンの切り替えはAppが責任を持つべきなので、Appに現在のシーンをステートとして持たせた。

Reactの子コンポーネントから親コンポーネントを呼び出して、シーンを切り替えする必要があるが、その実装に迷った。

  • Reactドキュメント通り、親から子へpropsで渡して呼ぶ
  • AppにstaticなAppインスタンスの変数を作り、そのインスタンス経由で呼ぶ
  • JSのEventを使ってPubsubぽく実装する

どれもpros/consがあるが、2番目の方法を選択。
3番目の方法と同じく、どこからでもコール可能であることと、3番よりもコードのトレーサビリティに優れているため。

どこから呼ぶ関数か、によって、1番と2番の方法を切り替えると良いのではないかと推測・・・。この辺は実装を続けていく中で見えてくると思う。

nginx + php7 + Lumen な開発環境をVagrantでつくる

趣味のプロジェクトで、APIサーバーとしてLaravel製の軽量PHPフレームワーク、Lumenを採用することにしました。

ここではVagrantを使ったローカルの開発環境を作るための手順を残します。

前提

  • ホストOS: Mac OS X El Capitan
  • ゲストOS: CentOS 7.1 (bento/centos-7.1)
  • ホストOSにVagrant 1.7.4 をインストール済み

今回は開発用なので、Lumenは /vagrant の中に配置し、
パーミッションの問題を避けるために、nginxもvagrantユーザーで起動することにします。

Read More »

saku.io はじめました

思いつきでブログを始めました。

今まではQiitaやStackOverflow、所属する組織の技術ブログに執筆していましたが、量が多くなるに従い自分が書いた情報が分散してしまい、「この記事どこに書いたっけ?」状態が煩わしくなったので、自分でブログ作ることにしました。

どうやって作ろうか悩みました。信頼していないFC2やエキサイトのようなブログサービスを使う気にはなれません。記事を書くのは時間がかかり、その多くの時間をかけたデータを自分で直接管理できないところに預けるのは怖かったからです。結局WordPressを使って、AWS上に作りました。

想定している投稿は次の3つです。

  1. 触れた技術についての考察
  2. 日記(取引日誌や日々考えたことの備忘録等々)

2についてはトップページに出てこないようにするかもしれません。ブログそのものを分けることも考えたのですが、そうすると多分途中で書くのやめちゃうので…。

三日坊主にならないよう、続けるためにもドメインを取ることにしました。今回は自分のメインブログになる予定だったので、本名をベースとしたドメインにしようと決めました。結局、 saku.io になりましたが、TLDに関してはエンジニアらしい .io か.md 、.tech の3つですごく悩みました。ioドメインはInput/Outputの意味から、技術クラスタに人気です。その名の通り自分の知見をOutputし、忘れた頃に見返してInputし直せるような場所にしたいと思っています。

また、記事によって文体が変わることがあります。技術系や真面目なポストは基本的にこのような雰囲気で残しますが、技術系ではないポストや自分の日誌などには、もっとやわらかい雰囲気になる…はずです。通して読まれる方には読みにくくて申し訳ないです。