JavaScriptのクロスオリジン

CORS – Cross-Origin Resource Sharing

クロスオリジンとは、異なるドメイン間でJavaScriptなどのAjaxを行う方法です。

JavaScript側の設定

スクリプトの読み込みを行うタグで crossorigin="anonymous" を付ける。

<script src="http://example.com/js/ajax.js" crossorigin="anonymous"></script>

サーバー側の設定

JavaScriptファイルの送信ヘッダーに Access-Control-Allow-Origin ヘッダーを付加します。

<?php header("Access-Control-Allow-Origin: *"); ?>

 

PHPのすゝめ – more better Python

Python前提のOSS辛い問題

Pythonで書かれたスクリプトを動かす時、一番困るのがバージョン間の問題で動かない問題。

これは辛い!!

PythonはPerlとは比較にならない読み易さなので、Python使うのは分かります。

でもPythonは、バージョン間の互換に問題があって辛いんです。

そこでPHPですよ!PHPはWebに特化している言語なのでWeb以外にはほぼ使われていないのですが、シェルスクリプトとしても十分な命令を備えているんですよ。

PHPはPerlより、圧倒的に読み易い!Pythonと変わらないかそれ以上です!

PHPはPythonより、圧倒的に互換性に強い!なんなら15年前のPHP4のソースコードも実行できそうです。

え?Perl使わないの?

え?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

→ Perl辛い問題

楽天モバイルでデータシェア

シェアとは?

“シェア”の意味を知らない人がいると思うので説明しておくと、“シェア”を直訳すれば“共有”という意味になります。もう少し意訳すると“お互いに分け合う”という意味です。

つまり、“データシェア”とは、データを分け合う(データをお互いに共有する)という意味になります。

データシェアなら楽天モバイル

データシェア

複数回線の通信量を共有できるデータシェア。このサービスを提供している会社は多いのですが、親子とか家族とか限られた範囲がほとんどですが、楽天モバイルだと友達や恋人など血縁関係のない人とも共有できます。(もちろんお互いに楽天モバイル会員でなければいけません)

余ったデータ通信量を翌月に繰り越す

また、使い切れなかった余ったデータ通信量を翌月に繰り越せるサービスも各社で提供されていますが、この繰り越したデータ通信量をデータシェアで共有できるのは、私が知る限り楽天モバイルだけです!

ただし、ここで注意して欲しいのは、“余ったデータ通信量をシェアできる”ということです。つまり、余っていない分(今月分)はシェアできないということです。

https://mobile.rakuten.co.jp/fee/alacarte/

翌月繰越とデータシェア
余った通信量を翌月に繰り越せて、前月繰り越し分を複数人で分け合えるのは楽天モバイルだけだと思う

料金もリーズナブルです!

楽天モバイル料金表
楽天モバイルの料金表。普通に安い!

お友達紹介キャンペーン

https://mobile.rakuten.co.jp/campaign/friend_referral

お友達紹介キャンペーンは、紹介した人と紹介された人の両方に楽天ポイントが貰えるサービスです。ポイントをゲットしないのは損です!!

私のユーザーIDは、【ra18022844341】です。是非ご登録ください!!

お友達紹介キャンペーン
紹介した人と紹介された人の両方ともポイントが貰えるキャンペーンです!
ポイント一覧
スーバーホーダイだと1,500円分のポイントが還元されます。

My Softbankで過去のデータ通信量が分からなくされた

My Softbankで過去のデータ通信量が分からなくされた

過去のデータ通信量をMy Softbankで調べようと思ったら、分からなくなってた。昔はわかった。

理由は単純で、自分が平均どれくらいの通信をしているか分からなくすることで契約する容量を上げさせようとしているのでしょう。

こすい!やり方がこすいんだよ。

ソフトバンクモバイルはマジ最悪!

過去のデータ通信量が分からない
過去のデータ通信量が分からない

 

ソフトバンクのMy SoftbankからSIMロック解除しようとしたら理不尽な時間制限があった件

ソフトバンクのMy SoftbankからSIMロック解除しようとしたら理不尽な時間制限があった件

これは酷い!

ソフトバンクのMy SoftbankからiPadのSIMロック解除をしようとしたら、

サービスの受付は、9時-21時までとなっております。

とエラーメッセージが出てSIMロック解除できなかった。

これは酷い!

Webサービスで受付時間があるなんて、インターネット歴25年目の間で、さいたま市のホームページとソフトバンクだけです!

ソフトバンクのMy SoftbankからSIMロック解除しようとしたらできなかった
ソフトバンクのMy SoftbankからSIMロック解除しようとしたらできなかった

いやー、これは酷い!

SELinuxを設定した後、PHPからメールが送れない → postfix fatal: setrlimit: Permission denied

SELinuxを設定した後、PHPからメールが送れない。

/var/log/maillogを確認すると、以下のようなエラーが出ているはず。

Mar 3 18:11:59 php postfix/sendmail[2237]: fatal: setrlimit: Permission denied

以下のコマンドでSELinuxの設定を確認できます。
sudo getsebool httpd_can_sendmail

httpd_can_sendmail –> off

いかのコマンドで、offからonに変更します。

sudo setsebool -P httpd_can_sendmail on

 

 

FTPのエラー → 500 OOPS: cannot change directory

SELinuxを有効にすると、

500 OOPS: cannot change directory: /home/developers

というようなエラーが出る。

これは、SELinuxがhomeディレクトリへのアクセスを禁止しているため。

次のコマンドで設定を変更する。

sudo setsebool -P ftp_home_dir 1

ただし、デフォルトではSELinuxは全てのFTPの設定を許可していません。

次のコマンドを入力すると、次のように出力されます。

sudo getsebool -a | grep ftp

allow_ftpd_anon_write –> off
allow_ftpd_full_access –> off
allow_ftpd_use_cifs –> off
allow_ftpd_use_nfs –> off
ftp_home_dir –> off
ftpd_connect_db –> off
httpd_enable_ftp_server –> off
sftpd_anon_write –> off
sftpd_enable_homedirs –> off
sftpd_full_access –> off
sftpd_write_ssh_home –> off
tftp_anon_write –> off

原則的には、意味を確認しながら一つずつ許可していくのですが、一般的には次のコマンドで全てを許可します。

sudo setsebool allow_ftpd_full_access on

個別に許可が必要な場合は、意味を調べて、必要な権限だけ許可して下さい。

Macでビットコイン(bitcoind)をビルド(コンパイル)する方法

ビットコインとは

言わずと知れた仮想通貨(本当は暗号通貨と呼ぶのが正しい)です。ビットコインとは、ブロックチェーンという出納台帳により、所有が保証されている資産です。(永遠不滅の資産です)

現在は、少額決済(コイン)として使うものではなく、長期保有による資産の保全となっています。(資産が増えるのは結果論ですが、需要と供給のバランスから高騰するのは当然といえるでしょう)

プログラムとしてのビットコイン

PHPからビットコインを操作したいというニーズは多いと思います。例えば、あなたが新規サービスを作成し、そのサービスへの対価としてビットコインを受け取りたいなどです。

結論から先に書けば、bitcoind というデーモン(常駐プログラム)を、あなたのサーバーで起動すれば、いわゆる支払いができるようになります。

bitcoind とは?

bitcoind とは、あなたのサーバー(サービス)に関わる売買記録をブロックチェーンに記録してくれるサービスです。

Macにビットコインをインストールするだけであれば、Homebrew や MacPorts に bitcoind のパッケージがあります。

それをインストールすれば、bitcoind の起動に必要な依存ライブラリも全てインストールされます。

Bitcoin Core について

ビットコインは、オープンソースソフトウェアです。ソースコードは github にあります。

これは、Satoshi Nakamoto のコミット履歴もある、ビットコインのリファレンス(公式実装)です。Bitcoin Core と呼ばれています。

リファレンスということは、bitcoind (bitcoin core)以外のビットコイン・プログラムもあるということです。

ビットコインとは、ブロックチェーンを読み書きするためのツールだといえます。これはC++で書かれた実装ですが、C# や Java や Go で書かれたライブラリもあります。もちろんPHPで書かれたライブラリもあります。

しかしながら、安定してビットコイン・ネットワークに参加するには、やはり bitcoind となるでしょう。

Bitcoin Core のダウンロード

それでは実際の作業を始めましょう。

まずは、bitcoin core をダウンロードします。

git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
ls -l

bitcoind のコンパイル(ビルド)

autogen.shconfigure は初期設定です。

make でコンパイル(ビルド)を行います。

make check でビルドをチェックします。

./autogen.sh
./configure --without-gui
make -j4
make check

--without-guiは、QTで作成されたウォレットアプリの作成をしないオプションです。

-j4は、ジョブ数を4つに増やすオプションです。この数字は、一般的にCPUのコア数に対して2倍が良いと言われています。

問題なければ src ディレクトリに bitcoind が作成されています。

src/bitcoind --version

バージョン情報が表示されましたか?

具体的な bitcoind の操作については、また次回。

落合陽一さんの発言について

動画の4:15

落合陽一「いやもうみんな分かってんですよ」

編集長←誰?「何が?」

落合陽一「お金を盗むことが本質じゃなくって、価格を操作することが本質な不正アクセス」

いや、違うだろ?!

単純に、お金を盗むことが目的ですよ。