My days of...

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

アメリカメジャーリーグで82勝したピッチャー、ブルース・チェンが履いていたのは...

WBCワールド・ベースボール・クラシック)がニュースを賑わせていますが、こんな記事が。

full-count.jp

スリッポンって何?中国チームの39歳のベテランピッチャーであるブルース・チェンが登板時に履いていた靴かもしれないそうですが、スパイクでもトレーニングシューズでもないそうです。

スリッポンってこんな感じの靴っぽいです。履きやすそうです。紐もないし、マジックテープで止めるタイプでもない。

記事の中で見るのはそんな風に見えないですね。

Twitterではこれっぽいように言われていますね。昔からあるスニーカーで『Posture Fundation』のインソールが使用されているので、履き心地抜群だそうです。「弘法筆を択ばず」の言葉にあるように、どんな靴でも素晴らしいピッチングやパフォーマンスが可能なのでしょうか。

野球などに使われるスパイクとは異なる靴で素晴らしいピッチング、と言われるのは技術など何か優れたものがあるように思えますね。

 

 

 

Magento2をインストールする際に必要なエクステンション

Ubuntu16.04のLAMP環境にMagentoをインストールする際に必要なエクステンション一覧

  • PHP Extension curl.
  • PHP Extension dom.
  • PHP Extension mcrypt.
  • PHP Extension simplexml.
  • PHP Extension spl.
  • PHP Extension xsl.
  • PHP Extension intl.
  • PHP Extension mbstring.
  • PHP Extension ctype.
  • PHP Extension hash.
  • PHP Extension openssl.
  • PHP Extension zip.
  • PHP Extension xmlwriter.
  • PHP Extension gd.
  • PHP Extension iconv.

php.iniファイルを開けて、(Ubuntuの場合は/etc/php/7.0/apache2/php.ini)

date.timezone = Asia/Tokyo

memory_limit=2G

の2つを設定。

 

マジェントで構築するECサイト

マジェントで構築するECサイト

 
Magento 2 Theme Design

Magento 2 Theme Design

 

 

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 改訂版