魔法使いの卵

WEBエンジニアの卵の成長記録

口頭で伝わるなんて幻想だった話

はじめに

  • この記事は株式会社アイスタイルアドベントカレンダーの5日目の記事になります
  • 他の方がエモい内容書いてるので、実際にあった失敗談ついて書きます。

こんな経験ないですか?

  • 同じワードを口にしているが人によって指しているものが異なる
  • 言っているページ名が共通認識として持っていない

実際に経験したこと

  • 画面遷移が複雑になって来た時のMTGでみんな同じキーワードを口にしているのに違和感がある
  • 話をすすめるとイメージで会話していた為、MTGで必要な前提情報が共有できていなかった

やりたいこと

  • 常にチームとしての認識は共通化させたい

実際にやったこと

guiflowとは

guiflowを使ってよかった点

  • 書き方がシンプルでMarkdownを使ったことあればすぐに使える
  • テキストベースのため管理しやすく編集もしやすい
  • 図が自動生成されるため本当にテキストを書くだけというコスパの高さ
  • 書き方がシンプルなため非エンジニアでも編集可能

guiflowを使ってつらかった点

  • PCが落ちた時保存する前だったのでデータが消えた

guiflowのマニュアル

個人的によく使う書き方

  • 矢印にURLの情報も表示させたい
    • ={表示させたいurl}=>ページ名
  • 図面が見づらくなってきた
    • [ページ名#] と書くと該当ページを画面左に寄せることができます

目指しているところ

  • 個々が別々にイメージしてしまう情報を視覚的にまとめて正確に伝えたいことを伝えれる文化を作りたい
  • 画面をこういうふうに遷移させたいなどの要望は口頭ベースではなく図ベースで話していきたい

最後に

伝えたいことは共通認識があってはじめて正確に伝わるとおもうので、 共通認識をきちんと作れる基盤があれば幸せになっていけると思います。 そういう基盤作りにguiflowを選択肢の1 つとして推したいなぁと思います。

明日は、okadaiさんの 仮)やさしいオブジェクトモデリングもしくはAgileのお話 になります

slackでtravis CIから通知を受け取る

ブラウザ側の設定

  • めんどくさいので割愛
    • ぐぐればたくさんでてくる

travisをインストール

  • コマンドでトークンを発行するために使う
sudo gem install travis

トークンの発行

cd プロジェクトまでのパス
  • Encrypting your credentialsのコマンドを実行
travis encrypt "{{slackのプロジェクト名}}:{{トークン}}" --add notifications.slack

さいごに

  • .travis.yml にSlackのトークンを記述されているのでpush
  • 設定したSlackのチャンネルに通知が来ていたら成功

PhpStormを日本語化する

PhpStormを日本語化できるの?

  • できます

やり方

  • 日本語リソースをインストールする
cd ~/
git clone git@github.com:yuuna/IDEA_resources_jp.git
  • 該当ファイルまで移動します
/Applications/PhpStorm.app/Contents/lib
  • リソースファイルを上記にコピーする
cp ~/IDEA_resources_jp/resources_jp.jar /Applications/PhpStorm.app/Contents/lib/resources_jp.jar
  • phpstormを再起動

最後に

  • お世話になったIDEA_resources_jpを片付けてます
rm -rf ~/IDEA_resources_jp

感想

ao-works.net

  • 上記をもとにやってみました
  • かんたんなので英語苦手な人もこれで使いこなせるんじゃないかな

OSX El Capitanをクリーンインストールして1から設定した話

クリーンインストールした経緯

  • 環境を一度きれいに整理したくなったのが理由

激選して入れたアプリ

Finderをカスタマイズ

  • XtraFinder様がEl Capitanがつかえなくなったので純正をカスタマイズすることにした

  • 以下が作業内容

itkhoshi.com

  • 実際にやった作業
    • リスト化
    • 各バーをすべて表示
    • 環境設定はサイドバー以外デフォルト
  • ※気づいたこと
    • Finderほとんど使わなかった

Homebrewインストール

  • xcode-selectをインストールする
xcode-select --install
  • homebrewをインストールする
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • doxygenをインストールする
brew install doxygen

開発環境構築

default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
  • 以下の対応で治ります(応急処置)
    • 通常のsshで仮想環境に入るかVirtualBox経由で入るかはおまかせ
    • どちらにしても次のバージョンアップで改善されてそう
chmod 600 /home/vagrant/.ssh/authorized_keys
  • 作った鍵はgithubに登録して疎通テストする
ssh -T git@github.com

ログインシェルをzshに変更する

  • zshのインストール
brew install zsh
  • 該当ファイルを開く
sudo vi /etc/shells
  • 以下を追加
/usr/local/bin/zsh
  • ログインシェルを変更する
chpass -s /usr/local/bin/zsh
  • 自前のdotfilesを入れる
git clone git@github.com:yutanakano/dotfiles.git
ln -s ~/dotfiles/.zshrc ~/
  • 課題
    • 個人的にはsetup.shで必要なものは自動でインストールしてシンボリックリンク貼るところまでできてると楽できると確信

php7をインストールする

  • デフォルトのphp環境がすでにサポート外なので更新する
brew install homebrew/php/php70
brew install homebrew/php/php70-xdebug
  • .zshrcを更新する
source ~/.zshrc
  • 結果
php -v
PHP 7.0.11 (cli) (built: Sep 16 2016 23:09:59) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans

brewでcomposerをインストールする

brew install homebrew/php/composer

brewでtigをインストールする

brew install tig

brewでtmuxをインストールする

brew install tmux

brewでvim8.xをインストールする

brew install vim --with-lua --HEAD
  • 最後にmacを再起動すれば終わり

反省点

  • まだまだ自動化できるはず

よかったこと

まとめ

  • クリーンインストールはある程度自動化する仕組みをつくってないと辛い
  • おすすめのツールとかあれば教えてください
  • 一応最小の構成で初期設定終えた
  • 最後の方、小並感やばい(真顔

MacのPHPのバージョンをPHP7に上げる

はじめに

普段仮想環境もしくはサーバ内でしか開発しないので まったくmacの標準の環境を使って開発することはないけど Macの中を整理していると急に古い環境っていうのが どうも気に食わなかったのでphpバージョンを上げてみることにした

環境

買った時のOS 今のOS
Yosemite EI Capitan

標準で入っていたphpのバージョン

(๑˃̵ᴗ˂̵)و < php -v
PHP 5.5.31 (cli) (built: Feb 20 2016 20:33:10)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

qiita.com

  • 上記でサポートされているバージョンか確認
  • サポート終了してるPHPだった(白目

brew updateでbrewが死んだ

brew update
  • あ、死んだ
(๑˃̵ᴗ˂̵)و < brew update
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- mach (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Library/Homebrew/extend/pathname.rb:2:in `<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Library/Homebrew/global.rb:3:in `<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Library/brew.rb:15:in `<main>'
~
  • brewが死んだ時の対応

qiita.com

  • 以下、直し方を抜粋
cd /usr/local
git reset --hard && git clean -df
sudo chown -R $(whoami):admin /usr/local
brew update
  • 死んだ理由
    • yosemiteからEl Capitanにアップデート(らしい

php7が動くようにする

  • 参考元

qiita.com

  • php7をインストールする
brew install homebrew/php/php70
  • bashrcもしくはzshrcを書き換える
    • 僕はzshを使っているのでzshrcを指定してますが、bashrcの場合でも同じです
vim .zshrc
  • 以下を追加します
export PATH="$(brew --prefix homebrew/php/php70)/bin:$PATH"
  • zshrcの変更内容を即時反映させる
source ~/.zshrc
  • phpのバージョンを確認してみる
(๑˃̵ᴗ˂̵)و < php -v
PHP 7.0.11 (cli) (built: Sep 16 2016 23:09:59) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

ついでにXdebugも入れておく

brew install --build-from-source php70-xdebug
  • はい、かんたんに入りました
PHP 7.0.11 (cli) (built: Sep 16 2016 23:09:59) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans

感想

  • 先人に感謝
  • Apacheなのはどうしようかなぁ・・・

githubのProjectsを早速導入してみた話

githubのProjectsとは

  • 以下参照

qiita.com

  • 今日追加された機能ですが、便利そうだったのでさっそく導入してみました。

Projectsの使い方

  • 以下が参考になるとおもいます

qiita.com


Project名の命名

  • 運用の方法によって変わるとおもいます
  • 今回はphaseとかそういう期間的命名にしています
  • 運用フェーズに入っているサービスとかならサービス名とかでもいいんじゃないでしょうか

カラム名と用途

カラム名 用途
Issue 問題があるところやいずれ対応をしなければならない問題が発生したら作成
PR Issueを対応する時や作業する時に作成したPRを設置
Review コードレビューしてほしいPRをこちらに移動させる
KPT 振り返り時につかう
DONE 完了したカンバンはこちらにためて問題がなければ削除

何にメリットを感じたのか

  • アプリケーションの現状の把握が行いやすいです
  • 特にIssue周りの把握が快適になるなぁとおもいました。

Issue周りで感じていた個人的なツラミ

  • もともとgithubにIssueはあるが管理するのがつらい
  • Issueが溜まってくると誰がどれを着手していて未着手がどれでがわかりにくい
  • かといって別に切り出して管理するのも煩わしくてつらい
  • だれかに聞かないとわからない状況がつらい
  • Issueの建て忘れなどヒューマンエラーが起こりやすい

ProjectでIssueカラムを作成することで改善されるであろう問題

  • Issueカラムにはノートを使ってサービスの問題などをメモしておくことが可能(さらっとメモれるので作り忘れが防げる)
  • Issueカラムのメモからその場でIssue化することができるので気づいたらチーム内でサポートできる
  • IssueカラムのIssueは未着手のみを残すようにするとIssueのステータスが分かる("あ、これまだ誰も手付けてない"ってことがわかる)
  • 対応中のIssueはPRを見ればわかるし未対応のIssueはProjectで把握できるし完了のIssueはIssueを見たらわかるようになる

感想

  • github様ありがとうございます

Composerでrequire-devに任意のパッケージをコマンドで追加する

はじめに

しょっちゅうやり方忘れるのでメモ程度に残しておく

require-devへ1ライナーで追加する方法

composer require アカウント名/パッケージ名 --dev

require と require-devのちがい

種類 目的
require 本番環境と開発環境で共に利用
require-dev 開発環境のみ利用

さいごに

  • バージョンとか色々罠あるのでなんかそのへんいつかまとめたい