uoz 作業日記

様々な作業の記録を共有するブログです。

CakePHP 3.x の migrationが失敗するとき

問題

$ bin/cake migrations migrate


 [InvalidArgumentException]                 
  Could not infer database type from driver 

これは、設定ファイルの読み込みがおかしいのが原因

対策

config/app.phpの下記、'url'というオプションをコメントアウトしろ!

/**

            'url' => env('DATABASE_URL', null),

それか、環境変数DATABASE_URLをちゃんと設定するか

原因

cakephpが設定ファイルを読み込む

vendor/cakephp/cakephp/src/Core/StaticConfigTrait.php

  if (isset($config['url'])) {
            $parsed = static::parseDsn($config['url']);
            unset($config['url']);
            $config = $parsed + $config;
        }

この部分のコードがが$configを壊す

ASINコードからAmazon商品の画像を取得するwindowsツール

動機

クラウドワークスみてるとAmazon関連の案件は一定数あるが、めんどくさそうという食わず嫌いで全然やってなかった。

今回、一念発起してちょっとやってみた。

といっても、APIを使わず、単にスクレイピングで画像のURLを取得するだけ。

方法

プラットフォームは、今回は想定使用者に合わせてWindowsのアプリとしてつくるので、.netのWPFアプリだ。 C#でかく。

コアになる技術は例によってヘッドレスブラウザのphantomjs。ほかにもHTTPクライアントっぽいのはいろいろあるがやはりjsが絡むとこれしかない。

PhantomJS | PhantomJS

こいつの.netのラッパーを使った。

NReco.PhantomJS: PhantomJS wrapper for C#/.NET

成果

作った。 f:id:uoz:20160606023358p:plain

ASINをいれると、AMAZON商品の画像URLを一つだけ取得する。

gitにあげたので見てください。

github.com

もしくは、ご連絡をいただければビルド済みのツール(インストーラ)をあげます。 何かカスタマイズしてほしい場合もご連絡ください。

後記

そもそも画像のURLってルールできまってんのかな。無駄なことしたかも。 Amazon画像をASINから生成する方法

LINE BOT Rubyリベンジ

数カ月前にLINEのボットがはやったとき、人の書いたPHPのやつをコピペして
一応動かせた。

その時は何がなんだかわかってなかったけど、
Rubyで作り直してちょっとわかった。


メッセージを送るだけの単純な代物
.envでいろんな値を管理しています。

github.com



こちらにある、from(mid)を間違う問題でめっちゃはまったよ。

今更だけどラウル様と会話できる LINE bot を作ってみようとしてやめました→動きました - Qiita

Webstorm (Intellij idea) でnode.jsデバッグが止まらねえ

症状

タイトルのとおり。
ブレークポイントを設定しても止まらない。



厳密に言えば、とまってるっぽいけど、Webstorm上でそれが検出されない。
Resume buttonにも反映されないので、止まってるのを動かすこともできない。
再起動するしかない。

原因

とりあえず、console.logを実行するとそれ以降のブレークとポイントで止まらない事がわかった。

対策

stackoverflow等、いろいろ探してみた。
debugging - Webstorm console.log interrupts debugger - Stack Overflow
今のところ、解決策なし...

How to take sreencapture (screenshot) of WebView for OSX app (swift) | OSXのSwiftアプリでスクリーンショットを取る方法(webViewのiframe内)

I found two ways.
ググりまくって、2つの方法を見つけた。iOSの場合は多いが、OSXアプリの情報は少ない。

Using WKWebView | WKWebViewを使う方法

References
https://github.com/lemonmojo/WKWebView-Screenshot
http://qiita.com/edo_m18/items/3df1861dfb837838d33b(timer)

let delay = 3.0 * Double(NSEC_PER_SEC)
let timeout = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))

let image = self.webView!.captureScreenshotWithTimeout(timeout)

"self.webView" is a instance of WKWebView.

This method works, but can not take contents inside iframe.

Another problem is that this code use private API, so you cannot publish apps through the App Store using this codde.

ただし、この方法だとiFrame内が真っ黒になってとれない。

Using screencapture command | OSXのscreencaptureコマンドを使う方法

References
https://github.com/leemachin/say-cheese

 system("screencapture -c -x");
 let imageFromClipboard = NSImage(pasteboard: NSPasteboard.generalPasteboard())

This code can get iframe content.
However, you have to crop image if you need only a part of the whole screenshot.

  • R option allows you to take a part of the whole screen.

http://qiita.com/South_STR/items/f4624134726eca839647

私のtodo タスク管理の変遷

学生時代から10年くらいの私のTodo管理の変遷です。
でも初期の頃のは覚えてなかった...

googleカレンダーのタスク

これです。
Google カレンダーに ToDo リストを表示する | Google カレンダー の使い方

Gmailをずっと使っているし良いかと思ったけど、なんか欄が小さいからか定期的にみることが習慣化しなかった。

Toodoledoo

ちょうどGTDとか流行ってた時期、iPhoneアプリもいれてやってみた。

http://www.toodledo.com/signin.phpwww.toodledo.com

タスクとかの登録がめんどくさすぎてあきらめました。

Evernoteでテンプレート

Evernoteチェックボックス機能とか使って単純にtodoリストを作ってたけど、
予定と実績を管理したいなと思って作ったテンプレート。
f:id:uoz:20160216123012p:plain

これを毎日コピーして使ってた。

ただし、スマホだと表がくずれるのと、予定の変更がめんどくさいのでもっとシンプルなものに変えた。

Evernoteテンプレート改良


表を使うのをやめて、単純に/で予定と実績を区切ることにした。

f:id:uoz:20160216125051p:plain

良かった点

これは結構使いやすくてつづいた。

スマホでも入力がかんたんだし。

欠点

ただし、この方式だと、開始時刻はきめられても終了時刻がないからダラダラやっちゃって、だいたい予定の半分くらいしか消化出来ていなかった。

あと、これを使い始めた頃から忙しくなり、複数のプロジェクトの進捗管理という問題がでてきた。

Torrelo

カンバンです。

Evernoteによるその日のtodo一覧に加え、プロジェクトの管理として使っている。

trello.com

良い点

UIが単純でわかりやすいので意外と続いている。

Fluidでアプリ化して使ってます。
fluidapp.com

悪い点

プロジェクトの分け方が難しい。
これは別にトレロのせいではないか。

時間割方式 Evernoteテンプレート

f:id:uoz:20160216125357p:plain

小学校とかの時間割みたいにしたら、週の予定を俯瞰できるし、あるタスクをどれくらいやるか管理できて便利じゃないかと思って作ってみた。
定着するかどうか試し中。



時間を決めるという点では、ポモドーロテクニックに影響を受けている。
今日から始める生産性アップ術。ポモドーロ・テクニック再入門ガイド | ライフハッカー[日本版]