投稿者「yoda56」のアーカイブ

2017年4月の10万円以下で買える株主優待付き株一覧

個人用でごめんなさい。
2017年の4月に権利確定する、10万以下で買える株主優待付きの国内株式一覧です。
リンク先は楽天証券になっています。
※2017/03/11(土)の値

銘柄 証券番号 価格 優待
アイ・ケイ・ケイ 2198 78,900 自社特選品(菓子)
メガネスーパー 3318 8,600 優待券(通常価格30%割引)
20,000円相当のメガネレンズ仕立券(10,000円×2枚)
トーエル 3361 93,700 自社取扱商品
※500株以上
トーシン 9444 59,500 株主優待カード((1)商品券、(2)自社グループ運営ゴルフ場プレー代金優待、(3)同平日無料招待、(4)同休日無料招待)

4月は少ないですが、これくらいです~

ではでは

【広告】

MacBookでVagarnt+Apache+PHP7.0を使った開発環境の構築

表題の通りです。メモになりますが下に書いていこうと思います。

とりあえず環境を作ります。

環境の導入

virtualboxのインストール

以下公式サイトから、virtualboxをダウンロード→インストールを行います。
なお、最新版で構いません。
https://www.virtualbox.org/

vagrantのインストール

以下公式サイトから、vagrantをインストールします。
なお、2017/02/26時点の最新環境だとプライベートIPで接続できなくなる問題が自分の環境では発生したので、最新版ージョンではなく、1.8.6の環境を落としてきました。
※最新版についての記事はこちら参照
https://www.vagrantup.com/
DOWNLOAD→ARCHIVESから過去バージョンをインストールできます。

Mac上にVagrantファイルを作成

virtualboxとvagrantのダウンロードとインストールが完了したらMac上に環境を構築します。
※ファイルの作成位置などは、自分のやりやすいところに作ってください。

Macのターミナルから

$ cd ~
$ mkdir vagrant
$ cd vagrant
$ mkdir centos71
$ cd centos71

CentOS7.1環境のパッケージをVagrantのBoxに追加

$ vagrant box add centos7.1 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.1/vagrant-centos-7.1.box
$ vagrant box list

Vagrantの初期化でファイルを作成

$ vagrant init centos7.1

作成されたVagrantファイルの編集

$ vi Vagrantfile

一旦はプライベートIPアドレスの解放のみ、以下のようにアンコメントします。

# config.vm.network "private_network", ip: "192.168.33.10"
↓
config.vm.network "private_network", ip: "192.168.33.10"

完了したら:wqにて保存してファイルを閉じる
vagrantを起動させます。

$ vagrant up

起動したらまずPingが通るか確認
※ここで通らなくても、Firewall等が起動していて通らないことがあるかもなので、できなくても一旦進めちゃっていいです。

$ ping 192.168.33.10

vagrant sshにて、ログインを行います。

$ vagrant ssh
[vagrant@localhost ~]$ 

Centos上での環境構築

とりあえずしばらくsudo連打することになるので、スーパーユーザになって操作します。
ソフト全体のupdate

# yum update

Localeを日本に設定

# localectl status //ロケールの確認
# localectl list-locales | grep -i ja //日本語のロケールの確認
# localectl set-locale LANG=ja_JP.utf8 //日本、UTF-8に変更
# localectl set-keymap jp106 //キーマップをセット

SELinuxが無効になっているか確認
多分無効になっているはず

# getenforce
Disabled

firewalld稼動確認
多分稼動していないはず

# firewall-cmd --state
not running

// 稼動していた場合
# systemctl stop firewalld

■PHP7.0インストール
デフォルトでインストールすると7.0系はインストールできないので、EPELとRemiリポジトリからインストール

// EPELリポジトリ
# yum install epel-release

// Remiリポジトリ
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

// PHP7.0インストール
# yum install --enablerepo=remi,remi-php70 php php-mbstring php-pdo php-gd

// インストールされたバージョン確認
# php -v

■httpdインストール→起動

# yum install httpd

// インストール確認
# httpd -v

// とりあえず稼動させる
# service httpd start

// 自動起動設定にしておく
# chkconfig httpd on

■ホストから疎通できるか確認
以下URLからApacheの初期ページが表示できるか確認
http://192.168.33.10

ホストPCにあるフォルダを共有する

Macに戻ってVagrantとフォルダ共有設定を行う。
なお、ディレクトリは自分の好きなように作ってください。

■共有用のディレクトリ作成

$ cd ~
$ mkdir develop
$ cd develop
$ mkdir php
$ cd php
$ mkdir testProject
$ cd testProject
$ pwd
/Users/yoda56/develop/php/testProject
$ touch index.php
$ vi index.php

□index.phpの中身

<?php
phpinfo();

■Vagrantfileの設定

$ cd ~/vagrant/centos71/
$ vi Vagrantfile

□以下を追加

// 他の言語等もこの配下で開発するので、develop階層で共有
// 左がホスト、右がゲストになります。
config.vm.synced_folder "/Users/yoda56/develop", "/home/develop"

■Vagrant再読み込み

$ vagrant reload

// ssh接続
$ vagrant ssh

再度CentOS側の設定

■共有ファイルが存在するか確認

ls -la /home/develop/php/testProject/

■virtualhostの設定

$ su
# cd /etc/httpd/conf.d
# touch vhosts.conf
# vi vhosts.conf

□vhosts.confの記載内容

Listen 8000
<VirtualHost *:8000> 
  DocumentRoot /home/develop/php/testProject
  <Directory /home/develop/php/testProject>
    Allowoverride All
    Require all granted
  </Directory>
</VirtualHost>

■Apache再起動

// 記述チェック
# httpd -t
Syntax OK
// 再起動
# service httpd restart

■確認
以下URLから、phpinfoが表示されることを確認
http://192.168.33.10:8000

phpinfoが表示されれば基本的なローカル開発環境の設定は完了です。
他にもMYSQLとかがありますが、また別の機会で

ではでは

【広告】

Vagrant1.9.1にてハマる

Macの開発環境を新しく変えようと思ってVagrant最新版突っ込んだら見事にハマりました。。

ハマったところ

いつものようにCentOS7.0環境とapache使い、フォルダ共有する形で開発環境を整えようとしたら192.168.33.10でアクセスができない

ハマった環境

vagrant 1.9.1
VirtualBox 5.1.14
インストールしたLinux→CentOS 7.1

原因

Vagrantのバージョンが原因、1.9.1→1.8.6に落としたところアクセスができるようになった。

やったこと

SE Linuxが無効になっていること

$ getenforce
Disabled

firewallが無効になっていること(ローカル開発環境なので入にしておく必要がない)

$ firewall-cmd --state
not running

おかしいと思ったのでPingが通るかチェック

ping 192.168.33.10

通らない..

色々探し回ったのですが、特にこれといった解決策が見つからず、とりあえずメインのWindowsマシンのVagrantのバージョンを入れてみたら通りました。

ネットに書いてある通りにやっても動かないという若干罠なので気を付けたい

ちなみになぜ動かないのか追っていない、何が変わったのかなぁ?

Node.jsで指定したWebページをダウンロードする

Node.jsを使って簡単にWebページをダウンロードしてみます。

getpage.js

// requireモジュール取り込み
var http = require('https'); // HTTPモジュール
var fs = require('fs'); // ファイル関連モジュール

// 保存先指定
var savepath = "download.html";
// 出力先指定
var outfile = fs.createWriteStream(savepath);
// 引数の受け取り
var url = process.argv[2];

if(url === undefined){
	console.log("引数がありません:",url);
	return;
}

// 非同期でURLからファイルダウンロード
http.get(url, function(res){
	res.pipe(outfile);
	res.on('end', function(){
		outfile.close();
		console.log("complete");
	});
});

こんな感じで、引数にURLを渡して実行すると渡したURLからダウンロードを実行してくれます。

$ node getpage.js https://yoda56.com
complete

とりあえずWebスクレイピング前の基本として

–自分用の処理順メモ–
Node.jsは非同期で実行するので、処理完了を待ちません。
なので、この場合だとhttp.get(url)のリクエストを出して処理を戻します。
処理が終わるとコールバック関数のfunction(res)が呼ばれます。
res.pipe(outfile)で保存するように指示を出します、ここでまた処理を戻します。
処理が終わるとres.on(‘end’, function()の部分が呼ばれ処理が完了する。

SSL化したけど保護された通信にならないとき

SSL化してURLをhttpsとしたのですが、しばらく下の画像のような感じになっていました。

GoogleChromeで見ているのですが、本来なら下のようになっている想定でした。

保護されたコンテンツになっている記事となっていない記事があったので、原因の切り分けをして判明しました。

掲載コンテンツのURLもhttps://としなければならない

掲載している画像のコンテンツ等もhttpsとして貼らなければ保護された通信とならないようです。

以下の野獣先輩画像を例として見ていきましょう。
下の記事がhttpの野獣先輩です。
httpと化した先輩

下の記事がhttpsの野獣先輩です。
httpsと化した先輩

どうでしょうか、httpのコンテンツは保護されていないコンテンツとなっていることが分かるでしょう。

保護された通信となっていない場合は、掲載している画像等のコンテンツのURLを見直してみると良いでしょう。

ではでは