PostgreSQL
PostgreSQL
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
2018.10.31 水
結果から言うとGCPの方がシンプルで安価でいいということになります。しかしAWSはここ最近でかなりコッテリしてきているので、コッテリ系のコンテンツがある場合はAWSは簡単に選択肢から外すことはできないといった感じです。 GCP と AWS サービス対応表・比較表(2018年2月版) GoogleCloudPlatform料金上限設定 GCPとAWSでの利用料コスト比較 もうちょっと使ってみてまたレポートします。 どうでもいいけどAWSのアイコンの方がかっこいいです。
2018.10.30 火
つまりはもうフルスクラッチでなんかかけませんということなのです。 Composer Composerの入手 curlがあると楽。 $ curl -s http://getcomposer.org/installer | php 何もない場合は、 Download Composerから入手。 このコマンドのどれかで落ちてくると思います。 $ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $ php -r "if (hash_file('SHA384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8...
2018.10.26 金
バージョン確認 $ psql —-version (ログインしてから、"# select version();") ログイン $ su - postgres $ psql (または psql -d postgres / psql -U postgres) postgres=# ログアウト postgres-# \q データベースに入る postgres-# psql DATABASE_NAME ユーザーを指定してデータベースに入る postgres-# psql -U USER_NAME DATABASE_NAME データベースの一覧 postgres-# \l (または $ psql -l) データベース切り替え(というか接続) postgres-# \c DATABASE_NAME (p...
2018.10.26 金
Postgresqlの最新をインストールします。 基本はここから最新を探してくる。 PostgreSQL RPM Building Project – Repository Packages リポジトリの登録 CentOS 7 – x86_64をインストールします。 # yum -y install https://yum.postgresql.org/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm インストール # yum -y install postgresql11-server postgresql11-devel postgresql11-contrib バージョン確認 # psql --versi...
2018.10.24 水
PHP7でOracleに接続するでPHP7からの接続はできるようになりました。 LaravelでOracleを使うときの具体的な手順を解説します。 パッケージのインストール 必要なパッケージはこれ。 – Packagist: yajra/laravel-oci8 – Github: yajra/laravel-oci8 $ php composer.phar require yajra/laravel-oci8:v5.7.2 どうやらこれだけで動くっぽいです。 Databese接続パラメータの設定 例によってconfig/database.phpに設定します。Oracleはデフォルトで設定項目がない(配列に入っていない)ので自分で追加してあげる必要があります。 'co...
2018.10.23 火
oci_connect()はデフォルトのPHPには含まれていない関数なのでoci8とpdo_ociのインストールが必要です。 Instant Client18.3 oci8 pdo_oci オラクルクライアント(Instant Client)のインストール まずは普通にコマンドラインからつながるようにしておきます。どっちにしろ開発で使うので。 Oracle Instant Client mysqlとかだったら特にクライアントとか意識せずにClientとRemoteの両方のマシンにmysqlをインストールしてしまえばいいんですが、Oracleは面倒です。まずはOracle Instant Clientでsqlplusでもってコマンド上でログインして操作できるようにしてみます。 Instant ...
2018.10.23 火
Grid 定義済みクラスの種類(* は1~12の数値) px < 576px ≥ 576px ≥768px ≥992px ≥1200px 全サイズに適用 .col-* 576px以上に適用 .col-sm-* 768px以上に適用 .col-md-* 992px以上に適用 .col-lg-* 1200px以上に適用 .col-xl-* .col-xs-がなくなって.col-だけになりました。 Bootstrap4移行ガイド
2018.10.22 月
Search Everything デフォルトの検索機能に加えて記事内の言葉に検索ワードがヒットするので、これをインストールしてやっと満足のいく検索機能になる感じです。ヒットしたワードにマーカーがつくのでとてもわかりやすいです。 有効化するとデフォルトの検索機能に勝手に機能拡張が行われるので特に何もする必要なしです。 https://ja.wordpress.org/plugins/search-everything/ Crazy Bone ログインしたIPを記録してくれるプラグインです。セキュリティーと管理を強化するプラグインです。 Crazy Bone JP Markdown 記事をマークダウンで記述できるプラグインです。 JP Markdown WordPress Popular Po...
2018.10.19 金
デバック方法は数ある中でも最終的に頼りになるデバック方法を備忘録として書いておこうと思いました。いろいろな武器はかなりの性能を発揮するのですが、それがいつでもどこでもどの環境でも使えるわけではないというわけで、とりわけサバイバルナイフ一本でどこまでできるかというような趣旨になります。 そして「プログラムは嘘をつかない、いつかは必ずみつかるバグ」をモットーにがんばりましょう! Grep いわずと知れたgrepコマンドですが、grepはシステムを制すなのです。 ほとんどの場合、他のコマンドをパイプでつないで使います。出力した内容をそのままパイプで渡して文字列検索をします。 パイプを使う $ cat index.php | grep -n "include" -nオプションを入れておくと行数が出て...
2018.10.8 月
HDDがいつの間にかいっぱいになっちゃったという原意の100%はログといっても過言ではありません。 なのでlogrotateサービスを設定しておく必要ありです。 # rpm -qa | grep logrotate logrotate-3.8.6-15.el7.x86_64 ファイルは以下のようになっています。 – /etc/logrotate.conf ログローテーション全体の管理ファイル – /etc/logrotate.d/* ログファイル個々の設定ファイル – /var/lib/logrotate/logrotate/status 「最後にローテーションした日時」を管理するファイル 基本的な設定 /etc/logrotate.confのデフォルト。...
2018.10.6 土
リポジトリの作成 yumのリポジトリにデフォルトで入っていないのでリポジトリを作成 # touch /etc/yum.repos.d/nginx.repo 以下記述 [nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=0 enabled=1 これでリポジトリの設定完了。 インストール # yum -y install nginx バージョン確認 # nginx -v nginx version: nginx/1.15.5 これでインストール完了。 自動起動の設定をしておきます。 # systemctl enable nginx nginxを起動します。 ...
2018.9.28 金
$ npm install audited 7693 packages in 44.258s found 3 vulnerabilities (2 low, 1 high) run `npm audit fix` to fix them, or `npm audit` for details 「3つの脆弱性が見つかりました(低2、高1)。それらを修正するために npm audit fixを実行するか、詳細についてnpm auditを実行します。」というのが最近出てきます。脆弱性(vulnerabilities)とか言われるとたいしたことないのにイヤな感じです。 手順 npmのバージョンあげる。 npm i -g npm 確認する(audit)する npm audit 解決するコマンドを出して...
2018.9.25 火
MySQL5.7.22でrootのパスワードを設定しようと思ったら昔と全然違うことになっていた。 結果からいうと、 $ mysql -u root mysql> update mysql.user set authentication_string=password('foobar') where user='root'; mysql> flush privileges; mysql> exit; $ mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) $ mysql -u root -p Enter password: (foob...
2018.9.20 木
プロジェクトを作成する 直接vue.jsをダウンロードして読み込む方法もありますがnpmで管理した方が楽です。 vueを使うディレクトリの作成。ここではPROJECT_DIR mkdir -m 755 PROJECT_DIR cd PROJECT_DIR node.jsのバージョンの確認 node -v v9.2.0 vueをnpmでインストールする npm install vue@csp これで準備は完了です。 ソースを書く <!DOCTYPE html> <html> <head> <script type="text/javascript" src="../node_modules/vue/dist/vue.min.js"></sc...
2018.9.12 水
前回のDocker入門と基礎知識(1)ができるようになったら、Docker内で実際に小さなプロジェクトを動かしてみます。 むかーしむかしはローカルPC内にApacheを起動させたりxamppやmamppでwebサーバーを作ったり、もっとむかしはIISとかでwebサーバーを作っていたはずです。それがコンテナ内で比較的お手軽に制作でき且つそのままデプロイできるというのが魅力です。 Dockerはコマンドライン操作が基本なのですが、複雑且つ面倒くさい操作は、 Dockerfile .dockerignore docker-compose.yml というファイルに、かくかくしかじかの設定情報を書いて、まとめてビルドします。 いわゆるpackage.jsonとかcomposer.jsonとか諸々の設定...
2018.9.6 木
いろいろ解説は他のサイトにもあるので、まずはDocker Hubに登録してみましょう。 https://hub.docker.com/ ここでアカウントを取得しておくと Githubみたいに自分で作ったDockerの管理ができるようになります。(自分のローカル内で管理するより数段いい。) MacにDocker環境を作成する ダウンロードとインストール Dockerをダウンロードしてきます。Stableの方でOKかと。499MBぐらいなのでそんなに重くないんですね。 https://store.docker.com/editions/community/docker-ce-desktop-mac 通常のアプリケーションと同様dmgファイルからインストールします。 上部にDockerのアイコンが...
2018.9.6 木
もうAPPサーバーみたいな使い方になってます。私個人の中では。 Apacheのインストール まずはインストール。SSLは今どき必須みたいなところがあるので入れておくけど、ポリシーによってAPPサーバーとしてlocalhostみたな感じで使うのだったら不要。 yum -y install httpd yum -y install mod_ssl 自動起動の設定 enableになっていればOK systemctl enable httpd.service systemctl list-unit-files 起動 systemctl start httpd.service 基本設定 バックアップとってから設定はじめよう。 cp -p /etc/httpd/conf/httpd.conf /etc/...
2018.9.5 水
ちょっと数年前はものすごく使いづらいところあったAWSですが最近はドチャクソ使いやすい。 Amazon Linux 2 AMIはとてもCentOSっぽいというだけで特に選択した理由はないです。 EC2インスタンスの作成 Elastic IPの設定 EC2インスタンスにログイン rootになる 基本設定 Tools類(絶対使うやつ) EC2インスタンスの作成 AWSのコンソールにログインしてEC2に移動。左メニューのインスタンスを選択すると次のページの上部に青いボタンで「インスタンスの作成」というボタンがあるので、そこから新しいインスタンスを作成します。 AMIの選択で「Amazon Linux 2 AMI (HVM), SSD Volume Type」を選択。 無料枠のt2.microを(と...
2018.8.29 水
サーバーが死にそうになっているときのマニュアルです。 サーバークラスタリングとかスケールアウトとかスケールアップとか考えた方がいい。クラウドフロント辺りのキャッシュサーバでもいいかも。 原因は?と聞かれますがたいていは「サーバースペックがショボいから」というのが大半。 急いでやるやつ rootでログイン 簡易的に状態をみる load average 目でだいたいの状態を把握する top HDDの容量 df ブラウザーアクセスやSSHでログインして明らかに操作が遅延したり見た目で動きがもっさりしていたりする、あるいは監視のアラートメールが来たりしているピーク時に目視するのが目的のコマンドになります。 落ち着いてやるやつ procs memory swap io system cpu プロセスを...
2018.8.28 火
Ruby on Railsの環境構築までができたらRailsつまりアプリの設定をします。 普通に考えてルーティングしてサンプルコントローラ作ってDB作って接続してというところまで。 Sampleを立ち上げる $ rails new sample $ cd sample $ gem update --system $ gem install rails $ gem install sqlite3-ruby $ gem install uglifier $ gem install bundler $ rails s -p 3001 => Booting Puma => Rails 5.2.1 application starting in development => Run ...
2018.8.26 日
AWSのS3はこの先ほとんどのWebアプリケーションが(部分的にでも)使って損はないストレージサービスです。ここではその特徴と基本的な使い方を解説します。 概要 S3は純粋にストレージ(データを貯めておくところ)のサービスです。ときどきS3をhtmlだけ扱えるWebサーバーという認識の方々に会うこと多いですが、この静的なコンテンツを扱えるWebサーバーは単なるS3のオプションサービスです。なので、S3は非常に抽象的な意味での単純なストレージサービスなのです。 現在運用中のサービスでも部分的にマウントが可能でログ・ファイルや単純なトランザクションデータ、先のhtmlファイルに関連するcssやjsや画像などのassets関連など切り分けて保存することが可能です。 また、使いやす過ぎてワンクリック...
2018.8.24 金
“rails s”が動かないときがあって、そのときやってみることリストの覚書です。 Railsのアプリを作成してローカルサーバーを立ち上げるときに、 rails s -p 3000 とか rails server -d などで起動させるんですが、 Usage: rails new APP_PATH [options] .... Example: rails new ~/Code/Ruby/weblog This generates a skeletal Rails installation in ~/Code/Ruby/weblog. という具合にオプションの一覧なんかが出てきてしまってサーバーが立ち上がっていないということがあります。 アップデートしてみる rake...
2018.8.22 水
準備 公式ページのインストール方法はこちら nodeが必要です。インストールして使えるようにしておいてください。 $ node -v v9.2.0 当然npmも必要です。 $ npm -v 6.4.1 vue-cliをインストール(してない人だけ) $ npm i -g @vue/cli + @vue/cli@3.0.3 @vue/cliを初期化(してない人だけ) $ npm i -g @vue/cli-init + @vue/cli-init@3.0.2 vueのバージョン確認(してない人だけ) $ vue -V 3.0.0-rc.10 開発ツールの準備。いわゆるAdd-on Vue.js Devtoolsの導入方法と機能まとめ プロジェクトの作成 $ vue init nuxt/star...
2018.8.22 水
各ユーザーのデフォルトの挙動を追加したりするにはLinuxのprofileの仕組みを使います。この機能についてはなんか全般的に名前ってないんですかね。 各設定は継承されるようになっていて/etc/profileが最優先で読み込まれ設定されます。これは全ユーザーに反映されます。~/から各ユーザーに個別に設定することが可能になっています。 設定される優先順位 /etc/profile /etc/profile/profile.d/* ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc /etc/bashrc となっています。 設定 PATH 環境変数の設定 (例) export PATH=$PATH:/usr/local/mysql/bin PS...
2018.8.20 月
「徹底的なユーザーの理解」と「プロダクトへの落とし込み」 そのサービスを使って実現したいGoal(目的) そのサービスを使う事へのNeed(必要性) そのサービスを使うContext(前後の文脈、環境)
2018.8.20 月
すごい若い女の子にもらったレシピだけど、見てたら読みたkなってきたぞ。 Unix はじめてUNIXで仕事をする人が読む本 Linuxシステム[実践]入門 Web 「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか Webを支える技術 -HTTP、URI、HTML、そしてREST マスタリングTCP/IP 入門編 第5版 Datastore 達人に学ぶ DB設計 達人に学ぶ SQL徹底指南書 Datastore (advanced) SQL実践入門 高速でわかりやすいクエリの書き方 SQLアンチパターン プログラマのためのSQL 第4版 すべてを知り尽くしたいあなたに Cording ails tutorial ブジェクト指向設計実践ガイド オブジェクト指向...