不器用なエンジニア見習いのメモ

プログラミングなどのIT関連について学んだことをメモ代わりに書いていきます。 その他興味のあることについても書いていきます。 最近は機械学習に関することをまとめています。 HTML,JavaScript等を使って簡単なゲームを作成して公開しています。

2016年06月


 参考記事
『「預け先が無い」 自ら保育園をつくった母』(2016.4.10 日テレニュース:http://www.news24.jp/articles/2016/06/30/07334087.html)


今週気になったニュースです。


自分で保育園をつくって経営しているか。

以下のサイトで認可保育園と認可外について説明がありますが、
http://contents.en.mamitan.net/basic/?itemid=13

個人で小規模ながらも保育園を経営している人は他にも沢山いたような気がしたんだけど、違うのかな。
幼い子どもを預けることが出来る場所ではあるけど保育所、という訳ではなかったのかな。


なんにせよ今回の記事で取り上げられている保育園は定めた基準を満たしたということで認可を受けることが出来ているようです。認可を受けるのに必ずしも法人であるないしは規模が大きい必要はないのでしょうか。

保育園の経営に関する相談も良く受けるそうで、今後こういった小規模での形態の保育園が増えていくことが考えられます。

待機児童は主に首都圏で見られる課題ですが、都市の住宅街では土地を購入して施設を維持することが難しいという事情が一因になっています。規模が大きいものを作れないのなら、小規模なものを複数用意することで課題を解決することが今度の主流になっていくのではないでしょうか。



参考書籍:「NATIONAL GEOGRAHIC」2016年6月号
(出版社:(明記されていない為恐らく)日経ナショナルジオグラフィック社、
発行人:中村尚哉
URL:natgeo.nikkeibp.co.jp/)



「NATIONAL GEOGRAPHIC」 6月号の感想になります。
*ネタバレ注意です。


・メキシコ 悪夢から抜け出す街

うーん、出だしからいきなりコメントし辛い写真。
ぱっと見た感じだと男性が庇っているいるように見える。

複数回打たれたことになるよね。
流れ弾とかじゃなくて完全にこの車が標的にされたんだよな。

女性の表情が穏やかなのがせめてもの救いか。
御冥福をお祈りします・・・・・・。
本当に・・・・・・。


かつて世界一危険な街と言われたフアレスか。

2chとかでもよく取り上げられてたな。
2011、12年辺りはよく僕も2chを見てたからな。
今絶対に行っては行けない街だとか言われてたよ。

そうか。
麻薬戦争も収束してきて治安も落ち着いてきたのか。
良かった。


職を失なった人は職を求めて国境を超えて隣町のエルパソに行くのほとんど。
それかギャングの仲間入りをして地域で商売をしている住人からみかじめ料を徴収しているか。

警察機構もろくに機能していおらず、裸足で逃げ出す様な始末だったとか。
収容所は受刑者がコントロールしているってなんだよ。

本当にやり放題の地域だったが少しずつだけど落ち着きを取り戻して着ているんだ。

世界の危険な街と言うと中南米の国が取り上げられることが多い。
フアレスがどのように改善されて来たのかを研究し、他の地域でも活かされることを期待したい。


参考書籍:「NATIONAL GEOGRAHIC」2016年6月号
(出版社:(明記されていない為恐らく)日経ナショナルジオグラフィック社、
発行人:中村尚哉
URL:natgeo.nikkeibp.co.jp/)



「NATIONAL GEOGRAPHIC」 6月号の感想になります。
*ネタバレ注意です。




・ペルー 先住民たちの豊かな森へ


ペルーの世界遺産と言えばマチャピチュが有名ですが、マヌー国立公園という自然遺産も要注目な場所のようです。
特徴としましては、とにかく交通の便が悪いこと。
このせいでほとんどが手付かずの状態のままのようです。

国立公園に指定して保護する前から手がつけられることが殆どなかったことを考えると、このエリアへ辿り着くまでがいかに過酷であるかが伺えます。

また、他のいくつかの部族が共存しているようです。
中には、「未接触部族」と言い、近代的な外界との接触を一切絶っている部族もあるようです。
マヌー国立公園内に居住している部族に関しては、自然を破壊しない程度の狩猟、伐採、農耕が認められてるようで、銃火器の代わりに弓矢で狩りをして食料の自給自足を行なっているようです。

この国立公園内で多数の割合を占め、比較的外界との接触を行なっているのが「マチゲンガ族」と呼ばれる部族です。


日々の生活の糧となる食料を調達する為に何時日間もかけて狩りに出かけることもあれば、若い世代は公的な中等教育を離れた所で受ける過程で世俗的なものを好むこともあるようです。

彼らの国立公園の敷地から出たすぐ周辺では既に、ダムや金鉱の開発が行われており、文化的または自然的な影響が懸念されています。

「マチゲンガ族」が狩りを行うという事は、一種の警察的な役割を果たすことにも繋がるそうです。
土地勘の彼らだからこそ、環境の僅かな変化に気づき、外部の者が違法で狩猟を行なっていることに感づくことが出来るとのことです。

近年では、政府から「マチゲンガ族」が国立公園の敷地外で暮らすように手綴きすべきではないかとの意見が出ているようです。

もし仮にそのような自体が実現がしたらマヌー国立公園の存続そのものが危機に瀕することになると思います。

「未接触部族」はと呼ばれる部族はけして外部からの接触者に友好的な訳ではありません。

また、逆に、外部からの接触者が友好的な関係を築く意思が無い場合も考えられます。

未だ生物の多様性が保たれているのは、アクセスの悪さに加えて「マチゲンガ族」がバランスの取れた生活をとり続けてくれているからなのでと思います。



長かった・・・・・・。

やっとフレームワークを構築出来た。
初めは最近ユーザー数が増えている「Laravel」をインストールしようと思ったけど、訳が分からなくなりあえなく挫折。
その代わりに比較的簡単と言われているCakePHPをインストールすることに。
けどこれも簡単には行かなかった。

今回躓いた箇所と対処法を記載する為、是非出来るだけ少ない出順で構築できることを祈っています。


・基本的なインストールを参考にしたサイト
URL: http://qiita.com/hiroseabook/items/b538f4bf748cc8f22631

色々なサイトに書かれているやり方を拝見しましたが、一番内容がシンプルで分かりやすいと思ったのがここ。
他にサイトに比べて内容が少ないよに見えましたが、余計な情報が少ない分躓いたところだけ他にサイトに当たるという形が一番てっとり早かったと思います。

以下躓いたところ。

1-1intl.soが無いからインストールでエラーが出る。

参考URL:http://momoiro-tj.hateblo.jp/entry/2016/01/15/200512


remiのレポジトリを有効にするのがポイントです。
また、インストールするソフト「php-intl」が古いPHPのバージョンを示している可能性があります。
自分のバージョンは「5.6.23」だった為、「php56-php-intl」と指定してインストールしました。

(以下、下の★まで実際の処理です。)
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
# yum list | grep intl
intltool.noarch                        0.50.2-6.el7            @New_Repository01
perl-libintl.x86_64                    1.20-12.el7             base             
php-intl.x86_64                        5.4.16-21.el7           base             
php56-php-intl.x86_64                  5.6.23-1.el7.remi       remi-safe        
php70-php-intl.x86_64                  7.0.8-1.el7.remi        remi-safe        
php71-php-intl.x86_64                  7.1.0-0.3.alpha2.el7.remi

# yum --enablerepo=remi-safe install php56-php-intl
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * remi-safe: mirrors.mediatemple.net
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php56-php-intl.x86_64 0:5.6.23-1.el7.remi を インストール
--> 依存性の処理をしています: php56-php-common(x86-64) = 5.6.23-1.el7.remi のパッケージ: php56-php-intl-5.6.23-1.el7.remi.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ php56-php-common.x86_64 0:5.6.23-1.el7.remi を インストール
--> 依存性の処理をしています: php56-runtime のパッケージ: php56-php-common-5.6.23-1.el7.remi.x86_64
--> 依存性の処理をしています: php56-php-pecl-zip(x86-64) のパッケージ: php56-php-common-5.6.23-1.el7.remi.x86_64
--> 依存性の処理をしています: php56-php-pecl-jsonc(x86-64) のパッケージ: php56-php-common-5.6.23-1.el7.remi.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ php56-php-pecl-jsonc.x86_64 0:1.3.10-1.el7.remi を インストール
---> パッケージ php56-php-pecl-zip.x86_64 0:1.13.3-1.el7.remi を インストール
---> パッケージ php56-runtime.x86_64 0:2.1-5.el7.remi を インストール
--> 依存性の処理をしています: environment-modules のパッケージ: php56-runtime-2.1-5.el7.remi.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ environment-modules.x86_64 0:3.2.10-8.el7 を インストール
--> 依存性の処理をしています: libtcl8.5.so()(64bit) のパッケージ: environment-modules-3.2.10-8.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ tcl.x86_64 1:8.5.13-4.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package                  アーキテクチャー
                                     バージョン             リポジトリー   容量
================================================================================
インストール中:
 php56-php-intl           x86_64     5.6.23-1.el7.remi      remi-safe     149 k
依存性関連でのインストールをします:
 environment-modules      x86_64     3.2.10-8.el7           base          105 k
 php56-php-common         x86_64     5.6.23-1.el7.remi      remi-safe     691 k
 php56-php-pecl-jsonc     x86_64     1.3.10-1.el7.remi      remi-safe      45 k
 php56-php-pecl-zip       x86_64     1.13.3-1.el7.remi      remi-safe      43 k
 php56-runtime            x86_64     2.1-5.el7.remi         remi-safe     1.1 M
 tcl                      x86_64     1:8.5.13-4.el7         base          1.9 M

トランザクションの要約
================================================================================
インストール  1 パッケージ (+6 個の依存関係のパッケージ)

総ダウンロード容量: 4.0 M
インストール容量: 9.6 M
Is this ok [y/d/N]: y
Downloading packages:
(1/7): php56-php-pecl-zip-1.13.3-1.el7.remi.x86_64.rpm     |  43 kB   00:01     
(2/7): environment-modules-3.2.10-8.el7.x86_64.rpm         | 105 kB   00:02     
(3/7): php56-php-common-5.6.23-1.el7.remi.x86_64.rpm       | 691 kB   00:02     
(4/7): php56-php-intl-5.6.23-1.el7.remi.x86_64.rpm         | 149 kB   00:02     
(5/7): php56-php-pecl-jsonc-1.3.10-1.el7.remi.x86_64.rpm   |  45 kB   00:03     
(6/7): tcl-8.5.13-4.el7.x86_64.rpm                         | 1.9 MB   00:03     
(7/7): php56-runtime-2.1-5.el7.remi.x86_64.rpm             | 1.1 MB   00:04     
--------------------------------------------------------------------------------
合計                                               663 kB/s | 4.0 MB  00:06     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : 1:tcl-8.5.13-4.el7.x86_64                       1/7
  インストール中          : environment-modules-3.2.10-8.el7.x86_64         2/7
  インストール中          : php56-runtime-2.1-5.el7.remi.x86_64             3/7
  インストール中          : php56-php-pecl-jsonc-1.3.10-1.el7.remi.x86_64   4/7
  インストール中          : php56-php-common-5.6.23-1.el7.remi.x86_64       5/7
  インストール中          : php56-php-pecl-zip-1.13.3-1.el7.remi.x86_64     6/7
  インストール中          : php56-php-intl-5.6.23-1.el7.remi.x86_64         7/7
  検証中                  : php56-runtime-2.1-5.el7.remi.x86_64             1/7
  検証中                  : php56-php-pecl-jsonc-1.3.10-1.el7.remi.x86_64   2/7
  検証中                  : environment-modules-3.2.10-8.el7.x86_64         3/7
  検証中                  : php56-php-common-5.6.23-1.el7.remi.x86_64       4/7
  検証中                  : php56-php-pecl-zip-1.13.3-1.el7.remi.x86_64     5/7
  検証中                  : php56-php-intl-5.6.23-1.el7.remi.x86_64         6/7
  検証中                  : 1:tcl-8.5.13-4.el7.x86_64                       7/7

インストール:
  php56-php-intl.x86_64 0:5.6.23-1.el7.remi                                     

依存性関連をインストールしました:
  environment-modules.x86_64 0:3.2.10-8.el7                                     
  php56-php-common.x86_64 0:5.6.23-1.el7.remi                                   
  php56-php-pecl-jsonc.x86_64 0:1.3.10-1.el7.remi                               
  php56-php-pecl-zip.x86_64 0:1.13.3-1.el7.remi                                 
  php56-runtime.x86_64 0:2.1-5.el7.remi                                         
  tcl.x86_64 1:8.5.13-4.el7                                                     

完了しました!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

1-2intl.soの起動確認が出来ない


intl.soがインストール出来たら、まず起動できているかを確認します。

# php -i | grep intl
で出来るのですが、なんにも反応がありません。

実は、/etc/php.iniに、extension=intl.soと言う記述を追加する必要があります。
(php.ini)
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
[intl]
;intl.default_locale =
; This directive allows you to produce PHP errors when some error
; happens within intl functions. The value is the level of the error produced.
; Default is 0, which does not produce any errors.
;intl.error_level = E_WARNING
extension=intl.so

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
1-3extension_dirってどこだ


改めてコマンドを実行すると、
# php -m | grep intl
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/intl.so' - /usr/lib64/php/modules/intl.so: cannot open shared object file: No such file or directory in Unknown on line 0

まだなんかあるみたいです。
どうやら、intl.soは「/usr/lib64/php/modules」下に入れないといけないようです。
参考したサイトにはシンボリックリンクの作り方が書いていました。
ディレクトリの構成なども全く一緒だったので助かりました。


参考URL:http://note.onichannn.net/archives/3107


extension_dirの場所
/usr/lib64/php/modules

*php.iniでは、「ext」という別の場所がextension_dirに指定されているが別の場所の為、コメントアウトしておくこと。
*/usr/lib64/php/modulesの先に「*.so」のファイルが置かれているが、「ext」には置かれていない。
*本来/usr/lib64/php/modulesにintl.soを入れないといけないが別の場所に入っている為、怒られているのである。

remiのモジュールインストール先
/opt/remi/php56/root/usr/lib64/php/modules


/usr/lib64/php/modulesに移動し、
以下のコマンドでextension_dirにシンボリックリンクを貼る。

# ln -s /opt/remi/php56/root/usr/lib64/php/modules/ .

1-4intl.soへのシンボリックリンクが使用できない。

せっかくリンクを作ったのに使用できない。
仕方ないからintl.soをコピーして、extension_dirにペーストしたら上手くいきました(笑)

/opt/remi/php56/root/usr/lib64/php/modules/にカレントを移動。
[root@localhost modules]# ls
bz2.so       ctype.so  exif.so      ftp.so      iconv.so  json.so  sockets.so    zip.so
calendar.so  curl.so   fileinfo.so  gettext.so  intl.so   phar.so  tokenizer.so
[root@localhost modules]# cp intl.so /usr/lib64/php/modules/intl.so
[root@localhost modules]# cd
[root@localhost ~]# cd /usr/lib64/php/modules
[root@localhost modules]# ls
bz2.so       exif.so      iconv.so     modules     pdo.so         sockets.so
calendar.so  fileinfo.so  intl.so      mysql.so    pdo_mysql.so   sqlite3.so
ctype.so     ftp.so       json.so      mysqli.so   pdo_sqlite.so  tokenizer.so
curl.so      gettext.so   mbstring.so  mysqlnd.so  phar.so        zip.so
[root@localhost modules]# systemctl restart httpd

[root@localhost ~]# php -m | grep intl
intl

intlの字が出てきたら、起動している証拠です!!
長かった。


httpdを再起動して自分のドメインをアクセス。
すると・・・・・・。


1-5CakePHPの画面がおかしい。
なんだこれ。
文字はしっかり出てきているんだけど色がない。
画像もない。
なんだこれ。
「Get the Ovens Ready」って出てきているから一応正しい。画面が出てきてはいるんだけど。


参考URL:http://tbrhdys.hatenablog.com/entry/2015/05/02/174214
httpd.confのドキュメントルートの設定の問題らしいです。

# cd /etc/httpd/conf
# vim httpd.conf

<VirtualHost *:80>
        DocumentRoot /var/www/html
        ServerName 各自のIPアドレス
        <Directory "/var/www/html">
        AllowOverride All
        # .htaccessを有効にしておきます
        Options Includes FollowSymLinks
        Order allow,deny
        Allow from all
        </Directory>
</VirtualHost>


これで、やっと、CakePHPを動作させることが出来ました!!

あともう少し、細かいところがあると思いますが、参考URLだけ記載させて頂きます。
恐らく上記の手順では、まだ、MySQL等のデータベースに接続できていないはずなのでご参考下さい。


CakePHP設定後のMySQL接続は以下のサイトを参考にしました。
参考URL:http://qiita.com/IKEA_dless/items/f536b3c009af295bb4a5

MySQLに繋ごうと思ったら、入ることが出来なくなった。
↓対象法を参考にしました。
http://www.goofoo.jp/2011/11/1457


今週気になったニュースです。

 参考記事
『英、EU離脱へ=欧州分裂、大きな岐路に-残留派に僅差で勝利・国民投票』(2016.6.24 時事通信:http://www.jiji.com/jc/article?k=2016062400436&g=int)


日本時間6月24日の朝にイギリスのEU離脱の是非を決める国民投票の開票が行われました。
最初は残留派が優勢との報道がされていたのですが、お昼頃には「EU離脱確実」とのニュースが飛び込んできました。
私もお昼すぎにTwitterを見ていたらTLに離脱派が多数を占めているという記述を目にして驚きました。


これを受け、イギリスのキャメロン首相は、近いうちに辞任をすることを表明しました。また、国民の意思は尊重されるべきだとの見解を示し、今後議会でEU離脱に向けての準備がされる見込みです。

国民投票の結果を受けて直ちにEUを離脱するのではなく、議会とEU側の承認が必要のようです。
2年ほどの時間がかかるそうです。


EUを離脱したい理由、逆に残留すべ理由、離脱による影響などは以下の記事によくまとめられています。
「3分でわかるイギリスのEU離脱問題とその影響について」
URL:http://www.goodbyebluethursday.com/entry/brexit

一番の原因はやはり移民の流入が原因のようです。もともと雇用や福祉に恵まれていて労働者が多くいたのに加えてイラクやシリアからの移民が欧州に押し寄せて来た為に危機感を募らせたのでしょう。
雇用機会の減少、税額の上昇、治安の悪化、どれも一般市民の負担を増加させるだけに過ぎない為、離脱したいという気持ちも理解出来ます。そして国民投票で多数派の意見としてまとまった以上無視することはできません。

大国イギリスのEUを離脱という選択は同様の課題を抱える欧州各国にも離脱への動きを加速させそうです。

また、日本にも大きな影響が出ています。
丁度日本の株式市場が開いてい時間だったこともあり、日経平均株価も1000円以上の下落、為替相場対ドルで約2年振りに100円を切る自体となりました。
日系企業の株価も軒並み下落しています。
FXをされている方は大ダメージを受けているかと思われますが・・・・・・。

今後もイギリス、EUの一挙一動で大きな余波が日本に迫ってくる以上、目を離すことが出来ない自体となりました。






↑このページのトップヘ