MySQL用のGithubPageを作成した。
kindle unlimitedの本の内容をまとめていく。
少しずつ前に。
以上
備忘録とか雑記とか
$delimiter
, string $string
[, int $limit
= PHP_INT_MAX ] )文字列の配列を返します。この配列の各要素は、 string
を文字列 delimiter
で区切った部分文字列となります。
$glue
, array $pieces
)$pieces
)配列の要素を glue
文字列で連結します。
$glue
のデフォルトは空文字。
大小関係のある値
調べたけど忘れちゃった。
ジェネリクスは確か,型を汎用的にとらえる書き方。
POSTは登録時に使用する。URLに情報が記載される。
GETは情報を取得するときに使用する。body部分に情報が記載される。
どちらもClient側から参照可能なので重要な情報は記載しないこと。
重要な情報はSESSIONに委ねる。
ポインタは,変数のアドレスを記憶する変数。
ファイルポインタは,どこまで読み込んだかの情報を保持している。
以上
$lscpi
以上
IISでローカルのPHPの開発環境を構築して勉強をしていたが
諸々考えてくとXAMPPで環境構築した方がはかどることに気づいて乗り換えた。
その時に,ポートが競合してハマったのでメモ。
XAMPPインストール後に,Apacheを起動しようとすると
Port 80 in use by "Unable to open process" with PID 4!
と怒られる。
IISがポート80を使用していたため,inetmgrからIISを停止すれば解決する。
以上
vim用のプラグインを導入するのは初めてなので作成しておく
$mkdir ~/.vim
$mv (ダウンロードしたファイルのパス) ~/.vim/
$vim ~/.vimrc
下記を追加
" PDV - phpDocumentor for Vim source ~/.vim/php-doc.vim inoremap <C-P> <ESC>:call PhpDocSingle()<CR>i nnoremap <C-P> :call PhpDocSingle()<CR> vnoremap <C-P> :call PhpDocRange()<CR>
.vimrcも更新しておいた。
https://github.com/nekonisi/Tools/tree/master/Vim
以上
IISを利用して,PHPの実行環境を構築する。
Windowsボタン + R
を押下 > controlと入力(コンパネを開く)C:\inetpub\wwwroot\
の既存ファイルを削除(ndex.htmlを作成し,HelloWorldと入力Alt + Enter
を押下。以上
C:\inetpub\php
配下に展開(どこでもいいんだけどね)extension_dir = "ext"
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
fastcgi.logging = 0
extension=mbstring.dll
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
TODO: 設定項目に関する説明を別投稿にまとめる。
C:\inetpub\php
にフォーカスを合わせAlt + Enter
を押下Windowボタン + R
を押下し,inetmgrと入力要求パス: *.php モジュール: FastCgiModule 実行可能ファイル: C:\inetpub\php\php-cgi.exe 名前: PHP
設定はこれで完了。
C:\inetpub\wwwroot\test.phpを作成し,下記をコピペ
<?php
//ここを書き換える。
$name="nekonisi";
$fp=fopen("http://abehiroshi.la.coocan.jp/top.htm","r");
$arr=array();
$arrVal=array();
while(!feof($fp)){
$data = mb_convert_encoding(fgets($fp), 'UTF-8', 'sjis-win');
array_push($arrVal,$data);
}
$arr=preg_replace("(阿部 寛)",$name,$arrVal);
foreach($arr as $val){
echo ($val);
}
?>
以上
このブログはAWSのlightsailを使用して作成されている。
ネットワークの知識が希薄なため,Qiitaの記事を参考になんとなく作成されていたが,この機会にセキュリティを強化しようと思い記事を作成した。
オンプレミス(実機を使ったサーバ構築)と比較し,クラウドサーバのセキュリティは甘いのか?という疑問があるだろう。
確かに,オンプレミス型のサーバと異なり,クラウドサーバは誰でもアクセスすることができるため,不正アクセスの危険性はある。
オンプレミス型のサーバの場合,システム管理者がセキュリティパッチを当てて,最新化しなければならないが,AWSの場合,Amazon社がこれをカバーしてくれるため,情弱でも安心して使用できるという一面もある。
注意点として,セキュリティグループ。ファイアウォールの設定である。
つまりはIP等に関するポートの設定である。
攻撃者は常にポートスキャンを行っていると考え,不用意なポート開放は避けなければならない。
オンプレミス型のサーバでは,パスワードログインによる接続も十分にセキュアになりうるが,パブリックネットワークに晒されているクラウドサーバではパスワードログインはセキュリティが甘い。
なぜなら,攻撃者はパスワードをクラックするツールを保持していると考えるべきだからである。
AWSのサーバは,インスタンスであるので簡単にマシンイメージのコピーを行うことができる。
便利な機能ではあるが,最新のセキュリティパッチが適用されていないイメージをコピーしてしまう可能性があるため,注意が必要である。
2月からWeb業界に転職するつもりなので,PHPの勉強をしている。
基本的にはバスと電車の中で本を読んで,
帰りにコーヒー屋で手を動かしてアウトプットという感じで進めている。
読んでいる本はコレ。
一周目が終わって内容を理解したので,アウトプット中。
開発用サーバ: http://52.194.187.169
文法等については後日まとめる。
きちんと寝て,明日に備えよう。
やってきたこと,考えてきたことを出せればいい。
結果はどうあれ,あの日から全力でやってこれた。
以上
プログラムのことについて,勉強しようとするとついつい書くのに夢中になってまとめる時間がなくなってしまう。
1時間勉強したら40分は勉強,20分はまとめる時間を取らないとだめだなぁ。
www.nekonisi.comを名前解決しようと思ったら下記の手順になる。
nekonisi.com
ってどこよ? > ルートサーバcom
のこと知ってんのはコイツら > Clientnekonisi.com
ってどこよ? > comのこと知ってるサーバ13.231.122.238
やで。 > ClientDNSの頂点のサーバ。
全部で13クラスタある。
下記で確認できる。
PING *.ROOT-SERVERS.NET
もし,世の中をメチャメチャにしたければ,
この13クラスタを潰せば世界中のインターネットは止まる。
ping A.ROOT-SERVERS.NET
A.ROOT-SERVERS.NET [198.41.0.4]に ping を送信しています 32 バイトのデータ:
198.41.0.4 からの応答: バイト数 =32 時間 =167ms TTL=49
198.41.0.4 からの応答: バイト数 =32 時間 =81ms TTL=49
198.41.0.4 からの応答: バイト数 =32 時間 =71ms TTL=49
198.41.0.4 からの応答: バイト数 =32 時間 =66ms TTL=49
198.41.0.4 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 66ms、最大 = 167ms、平均 = 96ms
ルートサーバがボスだとしたら,中ボス。www.nekonisi.com
のcom
の部分。
ルートサーバの次にたらいまわしにされるサーバ。
www.nekonisi.com
のnekonisi
の部分。
元々は同じドメインでも
HTTP nekonisi.com 192.○.○.○
-> www.nekonisi.com
SMTP nekonisi.com 192.△.△.△
-> smtp.nekonisi.com
POP3 nekonisi.com 192.□.□.□
-> pop.nekonisi.com
という風に分けていた名残。
以上