2017年4月23日日曜日

拡張現実(AR)をブラウザ上で実現できるJavaScriptライブラリ「AR.js」

拡張現実(AR)をブラウザ上で実現できるJavaScriptライブラリ「AR.js」 確かに、映像を見る限り、軽快ですねぇ。面白い。







参考サイト
Web上で軽量・高速に動作するARツール「AR.js」(GET AR)
VR(バーチャルリアリティ)とAR(拡張現実)の違い(PANOPLAZA)
AR.js: Efficient Augmented Reality for the Web(UploadVR)

2017年4月22日土曜日

Ubuntuで「fish」シェル

Ubuntuで「fish」シェルです。お遊びで、ちょっと試そうと思い、インストールしてみたのですが、気に入りました(笑)。コマンドの補完が、最高に素晴らしいです。しばらく使ってみることにします。

インストール
$ sudo apt-add-repository ppa:fish-shell/release-2
$ sudo apt-get update
$ sudo apt-get install fish



参考サイト
にわか管理者のためのLinux運用入門 [70] 便利シェル「fish」を使う(IT Search)

2017年4月21日金曜日

Laravel5.4で、CSVダウンロード

Laravel5.4で、CSVダウンロードです。ストリームのレスポンスを返すようにすると良いらしい。書き方が洗練されている感じがします(笑)。

return response()->stream($callback, 200, $headers);

  public function csvDownload()
  {
    $headers = array(
      "Content-type" => "text/csv",
      "Content-Disposition" => "attachment; filename=file.csv",
      "Pragma" => "no-cache",
      "Cache-Control" => "must-revalidate, post-check=0, pre-check=0",
      "Expires" => "0"
    );

    $callback = function() {
      $handle = fopen('php://output', 'w');

      $columns = [
        'id',
        'name',
        'email',
      ] ;
      mb_convert_variables('SJIS-win', 'UTF-8', $columns);

      fputcsv($handle, $columns);

      $users = User::all();
      foreach ($users as $user) {
        $csv = [
          $user->id,
          $user->name,
          $user->email,
        ] ;
        mb_convert_variables('SJIS-win', 'UTF-8', $csv);
        fputcsv($handle, $csv);
      }

      fclose($handle);
    };

    return response()->stream($callback, 200, $headers);
  }

参考サイト
laravel5.3 CSVダウンロードを実装する(あしたからがんばるさん)
CSV export in laravel 5 controller(Stack Overflow)
Laravel 5.2 Response::stream alternative(LARACASTS)
HTTP Responses(Laravel)