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

Quick Start Guide - 3.x

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

laravel.com

前回 に引き続き Intermediate の Tutorial を試してみる。 Basic との違いは認証機能を利用する点。

Basic でつまづいた箇所がここでも同じように考えればよく、新たにつまずく箇所はなかった。

こちらもメンテナンスはもうしていないようなので、 Pull Request は送らないことにした。

github.com

Laravel Tutorial

laravel.com

Laravel 5.5.17 で試してみたが、 5.2 のチュートリアルなので、変わっているところがいくつかあった。

Routing

app/Http/routes.php が見つからない。5.3 からディレクトリ構成が変わって、直下の routes に。

stackoverflow.com

laravel.com

Model

モデルのクラスが見つからない。5 から namespaces を使うようになった。(5 からと読み取れたが 5.3 以降という意味合いだろうか)

stackoverflow.com

Request

メソッドが未定義。 Request クラスの定義が変わった。

stackoverflow.com

これらを変更することで動作を確認できた。

Bootstrap が反映されていなかったので、 Github のソースと見比べて適応できた。

github.com

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 から Swift への転換にあたって理解の助けとなりました。

gihyo.jp

 

Objective-C 時代は SBクリエイティブ:詳解 Objective-C 2.0 で体系的に学べたと思います。

 

iPhone アプリの基本的な考え方については「iPhoneアプリ設計の極意」が当時強烈に印象深く、現在は表面的には見せ方は変わってしまっていますが、今もその内容は色褪せてはいないと感じています。

www.oreilly.co.jp

 

他にも本棚を眺めると、軽くしか読んでいないものもありますが、どれも地肉になっているなと感じます。

www.oreilly.co.jp

 

book.impress.co.jp

book.impress.co.jp

 

www.shuwasystem.co.jp

www.shuwasystem.co.jpwww.shuwasystem.co.jp

www.shuwasystem.co.jpwww.shuwasystem.co.jp

Release Minimum Tumblr Client for iOS

 

Firefox 52 になって tombfix の Photo Capture が動かなくなってしまい

 

github.com

https://github.com/tombfix/core/issues/214

 

JavaScript のコードを追いかけるのが大変だったのと、

iOS 向けに Tumblr SDK が提供されていたので Swift で書いてみました。

 

github.com

 

Apple Store の審査も通り、配信もしています。

 

yomblr

yomblr

  • Yoshiyuki Kawashima
  • Utilities
  • Free

 

リリースするまでにあったことを折角なので、思い出しながら追記。 

 

Tumblr SDK を利用する際にいくつか問題があり、 Pull Request を送りながら、自作のアプリケショーンに組み込めるようになりました。結局、どれも採用されず、2017年9月時点では、元のコードが大幅に書き換えられているので、どれも意味をなしていないので取り下げました。

github.com

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 に招待されました。何回かレビューをしてもらいマージされた時は嬉しかったです。

github.com

https://github.com/orta/cocoapods-keys/pull/171

https://github.com/orta/cocoapods-keys/pull/173

 

画像のトリミングには AKImageCropperView を利用しました。こちらはスムーズに導入できましたが、少し気になる箇所があったので Pull Request を送りました。

github.com

 

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 だと思う。

 

自分は常に代替可能な存在でありたい。

ともすれば誰かに仕事を奪われて仕事がなくなる。

自分以外にできる人がいるならその人がやるべきだと思う。

ただ代替可能な仕事を生み出す、誰かの仕事を作るという仕事が生まれているなと感じている。