Archive "2018年11月"を表示しています。
2018.11.26 月
PostgreSQLは優秀なデータベースなんですが、これまでの歴史の中でいろいろと複雑になっていて面倒になっているというのがあります。正直面倒臭い。でも優秀。MySQLの方が使いやすさで言えば断然使いやすい。最近は能力も拮抗しだしたし果たしてPostgreSQLを使う意味があるのか?と言われればそれまでですが、差別化っていう意味では非常に難しくなってますよ。 Ownerなのかuserなのか。 マニュアルとか読んでいるとuserとownerとroleがほんとよくわからないです。どうして「CREATE ROLE …」というコマンドがユザー作成のコマンドなのか?ほんとわかりません。直感的にcreate roleって個々の権限とか権限セットみたいなものを作るコマンドだと思うじゃないですか...
2018.11.22 木
え、こんなのあるの?こんなのあったの? リンククリック。確認画面が出て、OKしたらリンク先に飛ぶ。キャンセルしたらそのまま、という簡単なやつです。window.confirm()自体の返り値がOK押してもキャンセル押しても後続のスクリプトが実行されるってのが。。 <html> <head> <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script> <script> $(functi...
2018.11.22 木
インストールデータの入手(ダウンロード) インストールと設定 接続テスト、環境編数の設定(パスを通す) 動作確認 PostgreSQLをWindowsPCのローカル環境にインストールする手順です。MySQLはXAMPPとかにくっついているので便利なんですが、Postgresは自分でインストールしないと駄目です。 以下ダウンロードページに行って最新バージョンの「Windows x86-64」をダウンロードします。 Windows x86-64: 11.1 Download exeファイルなのでインストール方法はクリックするだけですね。 インストールと設定 postgresql-11.1-1-windows-x64.exeというexeファイルをクリックするとインストールが始まります。 格納先はこ...
2018.11.19 月
配列 初期化 list=[] 値の格納 (int) list=[1,2,3,4,5] 値の格納 (string) シングルクォートで囲っても同じです。 list=["a","b","c","d","e"] 値の取り出し print(list) print(list[0]) 配列の種類 タプル(tuple) 任意の数の要素を持つことができる配列です。作成したあとは要素の追加や削除を行うことができません。 リスト(list) 任意の数の要素を持つことができる配列です。作成したあとでも要素の追加や削除を行うことができます。 ディクショナリ・辞書(dict) 任意の数の要素を持つことができる配列で、keyとvalueのペアを一要素とします。作成した後でも要素の追加や削除を行うことができますが、1つの...
2018.11.19 月
パッケージ管理のためpipはインストールしておいてください。 Pythonをインストールする Python3のモジュールをインストール インストールコマンドのpipをアップグレードしておきます。 $ python -m pip install --upgrade pip 基本的なモジュールインストールのコマンドは以下になります。アップグレードするときは–upgradeオプションをつけます。 $ python -m pip install SomePackage $ python -m pip install --upgrade SomePackage 実際にインストールしてみます。 python -m pip install lxml という感じで手軽にインストールできます。 イ...
2018.11.19 月
インスールしてPythonの使える環境を整えます。 CentOS7に最新(でもないかな)のPythonをインストールする Pythonが使える環境が整ったらさっそくHello Worldを書いてみます。 Hello world hello.pyを作成して、 print("Hello world!") これをpythonでたたきます。 python hello.py Hello world! これでOK。 変数 普通の変数は普通に格納する。 a=1 print(a) 文字列もそのまま string='hello' print(string) 文字列はシングルクォートでもダブルクォートでもOKです。
2018.11.15 木
料金ポリシーがコロコロ変わるのでその都度確認が必要ですが2018年11月15日現在でのある程度の方法論となります。 料金制限の設定 従量課金は無尽蔵に課金されるので料金の上限を設けて、それ以上になるとアラートが飛ぶように設定します。 GCPのメニューから「お支払い」→「予算とアラート」を選択します。 予算アラートの設定 予算の設定 予算名: アイデンティファイできるように名前を設定します。 プロジェクトまたは請求先アカウント: 全体をターゲットにしたい場合は”請求先アカウント”を設定します。 無料枠内での算出をしたい場合は「クレジット適用後の費用」のチェックを外しておきます。 予算額: 指定額を選択してから、適当な金額を入力します。(数千円から数万円といったところでし...
2018.11.14 水
これやたらとよく使うけど毎回忘れる。 $title_count = mb_strlen($title,"UTF-8"); $title = $title_count < 20 ? $title : mb_substr($title, 0,20)."..."; タイトルの文字数が20文字以下だったらそのまま出力。20文字以上だったら20文字に丸めて「…」をつけて出力。
2018.11.14 水
Python3.6.5をインストールします。現時点の最新は3.7ぐらいになっているはずなんですが、3.6はまあまあ安定版だと思うのでよいでしょう。 ここではPython3.6をpythonコマンドで使えるようにしてデフォルトで入っているPython2.7.5を(一応とっておいて)python2で叩けるようにしておきます。 Python 3.6.5インストール まずはリポジトリをインストールします。 # yum install -y https://centos7.iuscommunity.org/ius-release.rpm Pythonをインストール # yum install -y python36u python36u-devel python36u-libs これで終わりなので、バ...
2018.11.13 火
設定ファイルのデフォルトの状態のバックアップは必ずとっておく。 # cp -p /etc/php.ini /etc/php.ini.org Error表示関連 画面にエラー表示をする display_errors = Off ↓ display_errors = On たぶんデフォルトのままでよし。 error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT /var/log/httpd/errorあたりのログに出力するやつ。たぶんデフォルトのままでよし。 log_errors = On php関連のエラーログを有効にする ;error_log = php_errors.log ↓ error_log = php_errors.lo...
2018.11.12 月
GCP プロジェクトの作成にやたらと時間がかかる。早い場合でも10分程度かかる。下手すると数時間から半日ぐらいかかる感触です。とにかく時間がかかるのでご注意。 GCE VMインスタンスの外部IPからの接続は最初はやたらと面倒くさい。AWSのように直感的に設定はできない。外部IPからアクセスするには通常のFWの設定やグローバルIPアドレスの設定などの他にgcloudeコマンドなるものを通しておく必要があり、その作業フローを経てSSHの鍵認証が有効になるようです。
2018.11.12 月
CGP(GCE VMインスタンス)のSSH接続方法です。インスタンス作成が成功したらブラウザーウィンドウからSSH接続できるようになっています。これは結構便利は便利なんだけど、LOCAL PCの普通のSSHクライアントとかで鍵認証でアクセスした方が長い開発の中では便利なので、ブラウザーウィンドウでのコマンド操作は初期構築の場面やクライアントからSSHアクセスできなくなったとき(FWの設定などを失敗した場合)ってことになるかと思います。 Google Cloud SDKのインストール Google Cloud SDK ドキュメント 「Cloud SDKのインストーラ」をダウンロードします。GoogleCloudSDKInstaller.exeというファイルが落ちてくるのでダブルクリックしてイン...
2018.11.12 月
The zone 'projects/PROJECT_NAME/zones/asia-northeast1-c' does not have enough resources available to fulfill the request. Try a different zone, or try again later. 東京リージョンの「asia-northeast1-a、asia-northeast1-b、asia-northeast1-c」が比較的不安定なようです。VMインスタンス作成時に失敗し上記エラーが出ることがあります。タイミングが悪いと比較的頻繁に多発します。しばらく時間をおくとたいていはインスタンスの作成が可能になります。VMインスタンスは作成成功時は30秒程度で完了する...
2018.11.9 金
VMインスタンスを作る時間は1分もかからない程度だけどプロジェクトを作成してスタート時の初期化は少なくとも半日以上はかかった。 プロジェクトに対してのユーザーの権限設定があるのであってVMインスタンスに対する権限があるのではない。 システムのユーザー単位でSSHログインしようと思うときは、通常のSSH鍵の接続方法でのみ接続可能でgcloudeやプラットフォーム上でユーザー管理ができない。root権限に相当するユーザーはgcloudeやIAMで管理できるっぽい。 起動中とか停止中とかを表示するGUIが消極的。AWSの方が気持ちがいい。 極端に高スペックなVMインスタンスを作成した次の日に「インスタンス「xxxxxxxx」は十分に使われていません。次のマシンタイプに切り替えると、毎月およそ$78...
2018.11.8 木
とかいうタイトルですが普通にhttpプロトコルでリクエスと投げてレスポンスが返ってくるというだけの話です。RESTという観点で言えば認証のところがちょっとおもしろいというだけです。いわゆるあのRESTFULLでセッションを持たないという考え方です。それ以外は別に特に何も考えなくていいです。 ルーティングとエンドポイント APIのエンドポイントの設定です。 Route::get('/foobar/search/standard', function(){ echo "foobar"; }); “/foobar/search/standard”にアクセスしたら、Laravelはデフォルトで”/api/foobar/search/standard”が...
2018.11.8 木
Reverse Proxyがかんでいるwebサーバーでは以下のようなエラーになって正しいログイン情報を入れてもログインできません。 There is mismatch between HTTPS indicated on the server and client. This can lead to non working phpMyAdmin or a security risk. Please fix your server configuration to indicate HTTPS properly. mysqli_real_connect(): (HY000/1045): Access denied for user 'xxxxx'@'localhost' (using pass...
2018.11.6 火
リバースプロキシとかLBとかを挟むと当然アクセスIPアドレスがlocalhostになってしまうので、正しいアクセス元のグローバルIPアドレスを設定する必要があります。普通はX-Forwarded-ForというhttpヘッダにグローバルIPを渡して後方のwebサーバーでそれを拾うという段取りになります。 nginxの設定 nginxの方の設定ではserverのプロキシのヘッダに設定してあげます。$proxy_add_x_forwarded_forでグルーバルIPが拾えるのでそれをそのままX-Forwarded-Forにセットします。 server{ server_name example.com; return 301 https://$host$request_uri; proxy_set_...
2018.11.6 火
料金計算ツール AWSの料金を1とすると、CGPは料金的にはかなりお得ということになります。 WEBサーバー半額 [0.5] DBサーバー半額 [0.5] データ転送量(50万pv/月)2割減 [0.8] LB(転送量含む)半額 [0.5] たぶんだいたい半額 料金リスト Google Compute Engine の料金 すぐに試算できる!GCP利用料計算ツールの使い方 GCPとAWSでの利用料コスト比較 GCE vs AWS ベンチマーク
2018.11.5 月
# Linux CentOS7 .bash_history .bash_logout .bash_profile .bashrc .cache .config .ssh .viminfo # my backup batch logs #public tmp
2018.11.2 金
/でgit initしてサーバー全体をgitで管理します。 .gitignoreは以下のように設定します。設定ファイルとアプリケーションだけ管理すればいいのでログやバイナリやシステムがらみのものは抜いておきます。 .readahead #/bin #/usr/bin /boot /dev #/etc /home #/lib #/usr/lib #/lib64 #/usr/lib64 #/media #/mnt #/opt /proc /root /run #/sbin /usr/sbin /srv /sys /tmp #/usr /var