My days of...

生活のことなど、がんばろう

UbuntuにLAMP環境を作成する際の簡単な方法はtaskselをインストールすること

忘れるので、メモのつもりで。

UbuntuLAMP環境を作りたいときに行う方法。

sudo apt update

sudo install tasksel

sudo tasksel install lamp-server

 これでApache2、PHPMySQLがインストールされる。本当は、Vagrantを利用しているならchefを使ったり、dockerを使ったりしてもっと簡単な方法でローカルの開発用環境を用意する方がいいのだろうけど、割と正直な話、よくわからないので、できるだけ自分にわかるような方法でやっているだけ。

そのうちdockerを使うのが一般的、という時代になるのかも。

 

 

Windows Vistaのサポートが2017年4月で終了。だからIE9と10も無視できるって?本気ですか?

もうすぐWindows Vistaのサポートが終了するということで、IE9とIE10をもうすぐ無視してCSSを実装できるようになる日がやってくる!という感じです。

web-tan.forum.impressrd.jp

 

Windows Vista SP2の延長サポートは2017年4月11日に終了

4月11日から、IE 9もIE 10もサイトでサポートしなくてよくなります。

 

というのも、マイクロソフトは、Windows Vista Service Pack 2(Vistaの最終バージョン)の延長サポートを2017年4月11日に終了するのです。

 

「延長サポート」とは、メインストリームサポートが終了したあとに、セキュリティ更新プログラムを提供するサポート期間です。延長サポートが終了するということは、セキュリティに問題があっても修正されなくなるということであり、その製品を使い続けることのリスクが非常に大きくなることを意味します。

 

つまり、今年の4月11日以降は、サイトとしても公式な推奨環境(閲覧環境)としてWindows Vistaをサポートする必要がなくなります。

 

そして、これにより、デスクトップ向けWindowsでサポートされるIEはすべてIE 11になります。あなたのサイトでは、IE 9もIE 10もサポートする必要がなくなるのです。サイト制作のときに気にする必要があるIEInternet Explorer 11だけになるのです!

 CSS3のみのサポートだけで十分になる、と喜べる反面、CSS3だけ対応するために記述していると、これから先も古い環境のクライアントからは、「うちのパソコンで見えないんだけど」「壊れているから直して」といった苦情は絶えることがないのでしょう。いつまで古いWindows環境は残るのでしょう?

 

 

 

10M以上のファイルアップロードをPHPのフォームだとできない?post_max_sizeを変更すればできました

昨日、10Mを超えるとフォームでファイルをアップロードできないのはCodeIgniterが原因かなー?と考えてたら、そうでなく普通にHTMLでフォームを作ってPHPで受け取るようにしただけでも無理だった。

 アップロードしたファイルの大きさは、10.2Mでそのまま画面が繊維し、8Mくらいのファイルだと$_POSTと$_FILESの内容が表示された。

php.iniでupload_max_filesize = 20Mと設定したのだが・・・。

 【追記】

php.iniにある post_max_size の初期値が8Mなので、この値を20Mにすればできました。

 

CodeIgniterで10Mを超えるファイルをフォームを使ってアップロードさせようとしたら失敗してしまう

CodeIgniter3で、ファイルのアップロードを行うようなフォームを作成したのだが、ファイルサイズが10Mを超えると、フォームが動かなくなった。ファイルのサイズはある程度の予想で、10.2メガくらいのファイルをアップロードさせようとしてsubmitボタンを押すと、そのままフォームがリロードしたような画面になってしまう。

php.iniを

upload_max_filesize = 20M
max_file_uploads = 20
memory_limit = 512M

と変更したがダメ。8.7Mくらいのファイルならアップロードできるのだが、なぜだろう・・・?

image_lib ライブラリを使っているからだろうか?

アップロードしたファイルをメールに添付して送信するのに、uploadライブラリを使わず、image_libライブラリで画像のサイズを変更し、画像のクオリティなどを加工してからテンポラリフォルダに一旦保存し、それをメールに添付して送信送信が成功したらテンポラリフォルダに入れてあるファイルをunlink関数で削除するやり方が変なのかな?

 

気づけばプロ並みPHP 改訂版--ゼロから作れる人になる!

気づけばプロ並みPHP 改訂版--ゼロから作れる人になる!

 
詳細! PHP 7+MySQL 入門ノート

詳細! PHP 7+MySQL 入門ノート

 

 

CodeIgniterのチュートリアルで詰まったのは、配列で複数取得することがわかっていなかったから?

今更ながらCodeIgniter3チュートリアルをやっています。

News section — CodeIgniter 3.1.3 documentation
日本語はこっち

CodeIgniterはPHPフレームワークで現在4が開発中っぽい。簡単軽量という触れ込みがあり、割と楽で緩めの感じがいいといえば良いという印象。

チュートリアル内のニュースセクションでコントローラーで、

public function view($slug = NULL)
{
  $data['news_item'] = $this->news_model->get_news($slug);

  if (empty($data['news_item']))
  {
   show_404();
  }
  $data['title'] = $data['news_item']['title'];

  $this->load->view('templates/header', $data);
  $this->load->view('news/view', $data);
  $this->load->view('templates/footer');
}

 と記事を1つ取り出すのですが、これだとエラーに。「?」と思いながら、モデルに描いたget_news()がおかしいのかと考えて、

public function get_news($slug = FALSE)
{
  if ($slug === FALSE)
  {
   $query = $this->db->get('news');
   return $query->result_array();
  }

  $query = $this->db->get_where('news', array('slug' => $slug));
  return $query->row_array();
}

を確認。$query->row_array()で返ってきている値をprint_rで確認したら、

Array ( [0] => Array ( [id] => 2 [title] => test2 [slug] => test2 [text] => 2つ目のテスト記事。))

な感じで最初に「0」が含まれてた。配列で返るのだから当然といえば当然だったのですが、チュートリアルで間違いなの?それとも動作が変わったけどチュートリアルは古いまま?

いずれにせよ、配列で帰ってくるので、単一の記事を取得する場合には、一番始めの値であれば「0」が必要であるし、そうでなくslugとなっているので、複数取得することを前提としているのであれば、foreachなどを利用する必要があるなと思った次第でした。

 

CodeIgniter徹底入門

CodeIgniter徹底入門

 
はじめてのフレームワークとしてのFuelPHP 改訂版

はじめてのフレームワークとしてのFuelPHP 改訂版

 

 

耳を塞がないイヤカフで聴けるイヤフォン

耳を塞がないイヤフォンの登場ですって。

av.watch.impress.co.jp

ambie(アンビー)/ 耳を塞がず音を楽しむ

駅のアナウンス、車の接近、職場の電話の着信音など周囲の音も聞き取れるスグレモノに見えます。イヤホンを外さずに、やり取りができるのもいいですね。なんか、年齢の上の方からイヤホン外せ!礼儀が〜なことも言われそうです。

ただ、防水・防滴仕様ではなく、自転車で使うのにもオススメしないそう。

Amazonで探してみたんですが、見つかりませんでした。

【送料無料】ambie Sound earcuffs My Heart White(My Heart White) - ITEM - CHALIE VICE

購入できるのはこちらなんでしょうか。価格は5,940円。BlueToothでないので有線です。少し面白そうなものが出てくるのを知るのは楽しいですね。

 

 

ベストノートパソコン2017は?

CNETでベストノートパソコン2017が発表されていました。

  1. Apple MacBook Pro with Touch Bar (13-inch, 2016)
  2. Dell XPS 13 2-in-1
  3. Apple MacBook (2016)
  4. HP Spectre x360 (late 2016)
  5. Razer Blade Stealth
  6. Origin PC Evo 15-S
  7. Microsoft Surface Pro 4
  8. Lenovo Miix 510

タッチバー付きApple MacBook Proが1位という結果でした。タッチバーついてもどうなの?みたいな感想をよく見かけた気がしましたが、CNETでは大人気のようです。

2位にはDell XPS 13 2 in 1。ヒンジが新しくなっているようで、モニターの映りもよいタブレットにもノートパソコンにもなる1台。

パナソニック東芝が入っているかと思ったら、全く入らずで、ノートパソコンは、アップル、Dell、HP(ヒューレットパッカード)、マイクロソフトLenovoなどを購入する方がいいのかも。