No available formula with the name "php72-intl"
Homebrew から php72-intl
がなくなっていました。
~$ brew install php72-intl Error: No available formula with the name "php72-intl" ==> Searching for a previously deleted formula (in the last month)... Warning: homebrew/core is shallow clone. To get complete history run: git -C "$(brew --repo homebrew/core)" fetch --unshallow Error: No previously deleted formula found. ==> Searching for similarly named formulae... ==> Searching local taps... Error: No similarly named formulae found. ==> Searching taps... ==> Searching taps on GitHub... Error: No formulae found in taps.
以下のページも File not found になっています。
https://formulae.brew.sh/formula/php72-intl:php72-intl – Homebrew Formulae
homebrew/php/php72
に Bundle されるようになっていて、個別でインストールする必要はなくなりました。
~$ php -info | grep intl Configure Command => './configure' '--prefix=/usr/local/Cellar/php/7.2.6' '--localstatedir=/usr/local/var' '--sysconfdir=/usr/local/etc/php/7.2' '--with-config-file-path=/usr/local/etc/php/7.2' '--with-config-file-scan-dir=/usr/local/etc/php/7.2/conf.d' '--with-pear=/usr/local/Cellar/php/7.2.6/share/php/pear' '--enable-bcmath' '--enable-calendar' '--enable-dba' '--enable-dtrace' '--enable-exif' '--enable-ftp' '--enable-fpm' '--enable-intl' '--enable-mbregex' '--enable-mbstring' '--enable-mysqlnd' '--enable-opcache-file' '--enable-pcntl' '--enable-phpdbg' '--enable-phpdbg-webhelper' '--enable-shmop' '--enable-soap' '--enable-sockets' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--enable-wddx' '--enable-zip' '--with-apxs2=/usr/local/opt/httpd/bin/apxs' '--with-bz2' '--with-fpm-user=_www' '--with-fpm-group=_www' '--with-freetype-dir=/usr/local/opt/freetype' '--with-gd' '--with-gettext=/usr/local/opt/gettext' '--with-gmp=/usr/local/opt/gmp' '--with-icu-dir=/usr/local/opt/icu4c' '--with-jpeg-dir=/usr/local/opt/jpeg' '--with-kerberos' '--with-layout=GNU' '--with-ldap' '--with-ldap-sasl' '--with-libedit' '--with-libzip' '--with-mhash' '--with-mysql-sock=/tmp/mysql.sock' '--with-mysqli=mysqlnd' '--with-ndbm' '--with-openssl=/usr/local/opt/openssl' '--with-password-argon2=/usr/local/opt/argon2' '--with-pdo-dblib=/usr/local/opt/freetds' '--with-pdo-mysql=mysqlnd' '--with-pdo-odbc=unixODBC,/usr/local/opt/unixodbc' '--with-pdo-pgsql=/usr/local/opt/libpq' '--with-pgsql=/usr/local/opt/libpq' '--with-pic' '--with-png-dir=/usr/local/opt/libpng' '--with-pspell=/usr/local/opt/aspell' '--with-sodium=/usr/local/opt/libsodium' '--with-unixODBC=/usr/local/opt/unixodbc' '--with-webp-dir=/usr/local/opt/webp' '--with-xmlrpc' '--with-xsl' '--with-zlib' '--with-curl' intl intl.default_locale => no value => no value intl.error_level => 0 => 0 intl.use_exceptions => 0 => 0
CakePHP Quick Start Guide
PHP の Web framework を検証していて、次は CakePHP を試す。
composer
による CakePHP アプリの生成が成功したと思い、サーバを起動しようとした段階でエラーが発生する。
$ bin/cake server PHP Fatal error: You must enable the intl extension to use CakePHP.
スルーしてしまったが、後になって思い返すと多分アプリの生成に何かしら異常もあったはず。
最近 PHP を触る関係で Homebrew 経由で PHP 7.2 にしていた。
同じように Homebrew で PHP 7.2 向けの intl
がないか探したら見つかった。
php72-intl – Homebrew Formulae
$ brew install php72-intl
もう一度 CakePHP アプリを生成し直し、この段階で aura/intl
が入ったことも確認しつつ、サーバも正常に起動し、ブラウザから CakePHP が動いていることを確認できた。
Laravel Tutorial Intermediate
前回 に引き続き Intermediate の Tutorial を試してみる。 Basic との違いは認証機能を利用する点。
Basic でつまづいた箇所がここでも同じように考えればよく、新たにつまずく箇所はなかった。
こちらもメンテナンスはもうしていないようなので、 Pull Request は送らないことにした。
Laravel Tutorial
Laravel 5.5.17 で試してみたが、 5.2 のチュートリアルなので、変わっているところがいくつかあった。
Routing
app/Http/routes.php
が見つからない。5.3 からディレクトリ構成が変わって、直下の routes
に。
Model
モデルのクラスが見つからない。5 から namespaces
を使うようになった。(5 からと読み取れたが 5.3 以降という意味合いだろうか)
Request
メソッドが未定義。 Request
クラスの定義が変わった。
これらを変更することで動作を確認できた。
Bootstrap が反映されていなかったので、 Github のソースと見比べて適応できた。
5.5 で 5.2 と同じように動くようになったと思ったので、 Pull Request も送ってみたが、残念ながら、チュートリアルのメンテナンスはもうしないとのこと。
https://github.com/laravel/quickstart-basic/pull/15github.com
Books for develop iPhone application
iPhone アプリの開発にあたって参考にした書籍について3冊選ぶとしたら
- Swift実践入門
- 詳解 Objective-C 2.0
- iPhone アプリ設計の極意
直近だと、「Swift実践入門」が Objective-C から Swift への転換にあたって理解の助けとなりました。
Objective-C 時代は SBクリエイティブ:詳解 Objective-C 2.0 で体系的に学べたと思います。
iPhone アプリの基本的な考え方については「iPhoneアプリ設計の極意」が当時強烈に印象深く、現在は表面的には見せ方は変わってしまっていますが、今もその内容は色褪せてはいないと感じています。
他にも本棚を眺めると、軽くしか読んでいないものもありますが、どれも地肉になっているなと感じます。
Release Minimum Tumblr Client for iOS
Firefox 52 になって tombfix の Photo Capture が動かなくなってしまい
https://github.com/tombfix/core/issues/214
JavaScript のコードを追いかけるのが大変だったのと、
iOS 向けに Tumblr SDK が提供されていたので Swift で書いてみました。
Apple Store の審査も通り、配信もしています。
リリースするまでにあったことを折角なので、思い出しながら追記。
Tumblr SDK を利用する際にいくつか問題があり、 Pull Request を送りながら、自作のアプリケショーンに組み込めるようになりました。結局、どれも採用されず、2017年9月時点では、元のコードが大幅に書き換えられているので、どれも意味をなしていないので取り下げました。
https://github.com/tumblr/TMTumblrSDK/pull/130
https://github.com/tumblr/TMTumblrSDK/pull/131
https://github.com/tumblr/TMTumblrSDK/pull/132
https://github.com/tumblr/TMTumblrSDK/pull/133
Tumblr API を使うにあたって Consumer key と secret key のバンドルが必要になります。ソースコードは公開を前提としていたので、 Swift で扱える環境変数的なライブラリを探していたら cocoapods-keys を見つけたのでこれを採用してみました。ちょっとうまくいかない部分があったので Pull Request を送ったら、 Collaborators に招待されました。何回かレビューをしてもらいマージされた時は嬉しかったです。
https://github.com/orta/cocoapods-keys/pull/171
https://github.com/orta/cocoapods-keys/pull/173
画像のトリミングには AKImageCropperView を利用しました。こちらはスムーズに導入できましたが、少し気になる箇所があったので Pull Request を送りました。
https://github.com/artemkrachulov/AKImageCropperView/pull/19
https://github.com/artemkrachulov/AKImageCropperView/pull/20
Tumblr SDK 5.0 、 iOS 11 、 Swift 4 への対応をやりたい
Worth of business
お客様が依頼内容の価値を決めて欲しいと思った。
自分自身には価値はなくて、作るものに価値が生まれる。
これから作るものにどれだけの価値を見出しているのかがとても重要だと思っている。
大して価値のないものを作ろうとしていたら、依頼内容に対して大きな価値はつけられない。
まずその時点でそれがビジネスとして成立していないと気づけるのでお互いに泥沼にはまらず Happy だと思う。
自分は常に代替可能な存在でありたい。
ともすれば誰かに仕事を奪われて仕事がなくなる。
自分以外にできる人がいるならその人がやるべきだと思う。
ただ代替可能な仕事を生み出す、誰かの仕事を作るという仕事が生まれているなと感じている。