2017年8月20日日曜日

QRコードで決済「Origami Pay」

QRコードで決済「Origami Pay」 スマートフォンに専用アプリをインストールして、QRコードを読み取るだけで、決済できるというもの。面白いアイディアですね。今後注目のサービスだと思います。



参考サイト
QRコード買い物サービス拡大 スマホで読み取るだけで支払い(NHKニュース)
ドコモが「QR決済」導入 買い物代、毎月の携帯料金に合算 今年度、ローソンなどで(ITmedia エグゼクティブ)

2017年8月19日土曜日

オープンソースの情報共有化ツール「Pleasanter」

オープンソースの情報共有化ツール「Pleasanter」 C#で書かれています。ちょっと試させてもらいましたが、かなり高機能です。かなりの業務をウェブ上で共有できるようになるのではないでしょうか。素晴らしい。





参考サイト
プリザンター(GitHub)

2017年8月18日金曜日

PHPのSplFileObjectでCSVファイルを読み込み

PHPのSplFileObjectでCSVファイルを読み込みです。ファイルオープンして、fgetcsvでもいいですが、こちらの方がスマートかな? とにかく、気に入りました。

$filepath = 'sample.csv' ;
$file = new \SplFileObject($filepath) ; 
$file->setFlags(\SplFileObject::READ_CSV) ; 
foreach ($file as $line) {
  if (!empty($line[0])) {
    $data = [
      'id' => $line[0],
      'name' => $line[1],
      'price' => $line[2],
      'created_at' => $line[3],
    ] ;
  }
}

参考サイト
【PHP】CSVファイルの読み込み(Qiita)
SplFileObjectでオブジェクト指向らしいファイル操作をしてみる(Qiita)

2017年8月17日木曜日

Laravel5.4で、コントロラー内のミドルウェア

Laravel5.4で、コントロラー(Controller)内のミドルウェア(Middleware)です。 middleware('auth') は、よく使うとして、特定のメソッドにのみミドルウェアを適用することもできるんですね。ようやく、ミドルウェア(Middleware)の使い方がわかったかもしれません(笑)。

class UserController extends Controller
{
  public function __construct()
  {
    $this->middleware('auth');

    $this->middleware('aaa', ['only' => [
      'index',
      'show',
    ]]);

    $this->middleware('bbb', ['except' => [
      'edit',
      'update',
      'destroy',
    ]]);
  }
}

参考サイト
Controllers(Laravel)
Laravel 5.* multiple middleware whole controller(Stack Overflow)

2017年8月16日水曜日

Laravel5.4で、フォームをタイムアウトさせない「laravel-caffeine」

Laravel5.4で、フォームをタイムアウトさせない「laravel-caffeine」 タイムアウトを防ぐため、定期的にリクエスト(カフェインドリップ?)を送っているとのこと。 「_token」フィールドを持つページでのみで実装されていて、他のページは通常どおりタイムアウトするそうです。試していませんが、こだわりたい場合は便利かなと思いますのでメモ。



参考サイト
Laravel5.4で、CSRFのエラー処理「TokenMismatchException」

2017年8月15日火曜日

Laravel5.4で、CSRFのエラー処理「TokenMismatchException」

Laravel5.4で、CSRFのエラー処理「TokenMismatchException」です。ディフォルトだと、Symfonyのエラー画面が表示される(?)ようなので、例外処理でエラーを拾って処理すると、エレガントな振る舞いになるように思います。

/app/Exceptions/Handler.php
use Illuminate\Session\TokenMismatchException;

  /**
   * Render an exception into an HTTP response.
   *
   * @param  \Illuminate\Http\Request  $request
   * @param  \Exception  $exception
   * @return \Illuminate\Http\Response
   */
  public function render($request, Exception $exception)
  {
    if ($exception instanceof TokenMismatchException){
      return redirect('/csrf_error') ;
    }

    return parent::render($request, $exception);
  }

参考サイト
Laravel catch TokenMismatchException(Stack Overflow)

2017年8月14日月曜日

2017年8月13日日曜日

即座に数値データをインタラクティブに可視化してくれる「Tableau」

即座に数値データをインタラクティブに可視化してくれる「Tableau」 データベースに直結で、数値データを高度に分析してくれます。日々思うことですが、プログラマーは全くもって必要なくなりますね(笑)。





2017年8月12日土曜日

JavaScriptの日付ユーティリティライブラリ「date-fns」

JavaScriptの日付ユーティリティライブラリ「date-fns」 便利そうだったのでメモ。CDNも用意されています。

<script src="http://cdn.date-fns.org/v1.9.0/date_fns.min.js"></script>
<script>
  dateFns.isToday(new Date())
  //=> true
</script>



参考サイト
面倒なJavaScriptの日付の処理は「date-fns」でラクに片付けよう(ASCII.jp)
date-fns(GitHub)

2017年8月11日金曜日

一度にPOSTできる変数の数の上限「max_input_vars」

一度にPOSTできる変数の数の上限「max_input_vars」 こんな設定があったんですね。なんでデータを取得できないのか、しばらく悩んでしまいました。

php.ini
; How many GET/POST/COOKIE input variables may be accepted
; max_input_vars = 1000
max_input_vars = 3000

参考サイト
PHP5.3以降で一度にPOSTできる上限数(max_input_vars)を変更する(PHP工房さん)
PHP 5.3 max_input_vars and big forms(The eternal fight between admins and computersさん)

2017年8月10日木曜日

Laravel5.4で、セッションのタイムアウト時間設定

Laravel5.4で、セッションのタイムアウト時間設定です。設定ファイルのsession.phpで、変更が可能。lifetimeで、セッションの時間(分)を変更できます。expire_on_closeをtrueにすると、ブラウザを閉じると、セッションが切れます。ディフォルトでは、ブラウザを閉じてもセッションは保たれる設定らしい。

/app/config/session.php
/*
|--------------------------------------------------------------------------
| Session Lifetime
|--------------------------------------------------------------------------
|
| Here you may specify the number of minutes that you wish the session
| to be allowed to remain idle before it expires. If you want them
| to immediately expire on the browser closing, set that option.
|
*/

// 'lifetime' => 120,
'lifetime' => 60,

// 'expire_on_close' => false,
'expire_on_close' => true,

参考サイト
Laravel Inactivity time setting(Stack Overflow)