Vapor Trail

明るく楽しく元気よく

さくらのクラウドをTerraformから作る

さくらのクラウドをTerraformから作る わざわざTerraform使わずにコンパネからポチポチ作れるが、Terraform使ってみたかったしテスト環境とか複数の環境用意するときに手順忘れるので使ってみた。 sacloud.github.io バージョン CentOS7 Terraform v0.11.13 Te…

Bulk Insertした場合のレスポンスをfilter_pathで整形する

Bulk Insertした場合のレスポンスをfilter_pathで整形する http://localhost:9200/logs/_bulk?filter_path= ",",".","*","-"を駆使して任意の形のレスポンスデータで返ってくるようにできる filter_pathを指定しないでinsertした場合 { "took" : 3, "errors"…

Elasticsearchを使う

CentOS7にインストール www.elastic.co バージョン Elasticsearch 7.0.1 Kibana 7.0.1 データをInsertする curl curl -H 'Content-Type:application/json' -XPOST 'localhost:9200/logs/_doc?pretty' -d ' { "value": 1000, "recorded_at": "2019-05-09 08:0…

『Ship It! ソフトウェアプロジェクト成功のための達人式ガイドブック』を読んだ

筆者はよい習慣(プラクティス)を取り入れることで毎日の仕事を改善することができ、しかもそれは社員数4人の規模の会社から筆者が務めるSASのようなグローバル企業でも通用するという。 第1章はじめにの「2つの現場」の話で本に引き込まれる 1つ目の現場はめ…

Prometheusのインストール

環境 CentOS7 Prometheus v2.9.2 Node exporter v0.18.0 Grafana v5.4.2 (d812109) 基本的にこれに従ってインストールすれば動く gihyo.jp 参考 インフラ・サービス監視ツールの新顔「Prometheus」入門 | さくらのナレッジ Node exporterのインストール $ mk…

『Head First オブジェクト指向設計』第5章 前半

第5章 良い設計=柔軟なソフトウェア この章で学ぶこと ソフトウェアの変更が困難になっていれば顧客からの変更要求に対応することが難しくなる。既存のソフトウェアの設計を改善することを通して、柔軟な設計を学ぶ。 ギターだけでなくマンドリンも扱えるよ…

『Head First オブジェクト指向設計』第4章

第4章 分析 テキスト分析によって、今まで作成してきたユースケースを顧客が必要とする内容を表現するクラスやメソッドに変換する方法を学ぶ。 ソフトウェアは理想の世界ではなく、現実世界で動作する必要がある。 システムを不確実性が高く混沌とした現実世…

『Head First オブジェクト指向設計』第3章

第3章要件変更 この章で学ぶこと 要件は常に変化する。設計やアプリケーションがどんなに素晴らしくても、やがてアプリケーションは成長し変更される。この章では、要件変更に対応するための方法を学ぶ。 今回の例では、リモコンを使用して犬用ドアを開閉す…

『はじめてのSQL』を読んだ

DB

SQLは日々の業務でよく使うし、数百万件のデータを扱うようになって、インデックスを計画的に貼って、どういうクエリを発行すればいいのかまで、考えられるようになったが、実は雰囲気でSQLをやっている。このカラムは255文字以上の文字列は保存しないと思う…

WSLでGoの開発環境を構築

Go

curl -LO https://dl.google.com/go/go1.12.4.linux-amd64.tar.gz tar xzf go1.12.4.linux-amd64.tar.gz export PATH=$PATH:$HOME/go/bin /etc/profileもしくは.profile vi ~/.profile export PATH=$PATH:$HOME/go/bin export GOROOT=$HOME/go export GOPATH…

さくらのクラウドを使う

さくらのクラウドでこんな構成を作りたい。さくらのクラウドのドキュメントがわかりやすいので、これを読めば分かると思う。 さくらのクラウド ドキュメント あとは、チュートリアル形式のものがあるので、この通りにやれば作れる。 スイッチを使ってローカ…

考えすぎても先に進まないから作りはじめたいけど、何も考えずに作りはじめると失敗するんだよなぁ。先を見通して作るって難しいなぁ。

『Head First オブジェクト指向設計』第2章

第2章 要件収集 この章で学ぶこと 素晴らしいソフトウェアへの第1歩は、顧客が必要としている処理の実行。 顧客の真の必要性をどのように把握するのか?顧客自身が真の必要性に気づいていない場合、顧客にどうやって気づかせればよいのか? この章では、顧客…

『Head First オブジェクト指向設計』第1章

『Head First オブジェクト指向設計』を読み始めた。顧客志向の考え方が非常に良いと思う。コードを書いてWebアプリケーションを作る目的は顧客の要望を叶え、必要な機能を提供することなのだ。コードが汚いとかきれいとかは結局、顧客にとっては関係ない。 …

GitHub CI

circleci.com Sample Configurationを .circleci/config.ymlに貼れば、とりあえず動く。 ・phpunitを実行する # run tests!#- run: phpunit- run: vendor/phpunit/phpunit/phpunit tests/ src/tests内のユニットテストが実行される。 参考:https://nonsense…

WSL SFTP

WSL

sudo apt-get remove --purge openssh-server sudo apt-get update --fix-missing sudo apt-get install openssh-server sudo service ssh start vi /etc/ssh/sshd_config Port 22 #AddressFamily any ListenAddress 127.0.0.1 ListenAddress ::1 シンボリッ…

2019/04/10

なぜテスト書くのか 機能追加をしたときに、いろいろ手を加えたり、その過程でリファクタリングするわけで、そうなると端々から壊れていく。ある程度プログラムの規模が大きくなってくると、実際に動作させてテストしておかしなところがないか確認するのが難しく…

合理的な順序

クラスメンバーの順序 クラスメンバーや初期化子の順序の選択はわかりやすさに多大な影響を与える。しかしながら唯一の解法は無い。クラスが異なれば内容は異なった順序で並べられる。 重要な事はそれぞれのクラスはそのメンバーを 何らかの合理的な順序 で…

Apache + PHP でAuthorization headerが取得できないとき

httpd.confに SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 を追加する stackoverflow.com

『JUnit実践入門』を読んだ

機能追加部分をテスト駆動開発でやろうとは思ったものの、テスト書くのにめちゃくちゃ時間かかりすぎて、これ意味あるのか?と思ったり、迷走しはじめたので読んだ。 事前にたくさんフィクスチャを用意しなければいけなかったり、少しコードを直しただけで、壊れる…

OAuthについてのリンク

認証で信用できそうなリンク ・REST APIの基本 https://community.cisco.com/legacyfs/online/attachments/document/files/d-04_overview-of-rest-apis.pdf ・HTTP認証とBasic認証について developer.mozilla.org ・OAuth関係 openid-foundation-japan.github.i…

『Web API: The Good Parts』を読んだ

API設計をしなければいけなくなったが、大して知識や経験もなく、ネットで落ちてる断片的な情報では限界を感じて買って急いで読みました。 知りたいことが体系的にまとまっていて、大変良かったです。 特によいAPIとはなにかを考えさせられた。 シンプルでわかりや…

Laravel 会員登録の実装

mailhogの設定 $ docker-compose up -d mailhog Laravel側の設定 /laravel/.env MAIL_DRIVER=smtp MAIL_HOST=mailhog MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null localhost:8025にアクセス 仮登録メールの実装 readouble.c…

Laradock migrateまで

環境 Windows 10 Pro Docker Desctop 2.0.0.3 PHP 7.2.15 Laravel Framework 5.7.27 MySQL 8.0.15 ターミナル:Git Bash $ git clone https://github.com/LaraDock/laradock.git $ cd laradock $ cp .env.example .env $ docker-compose up -d nginx mysql wo…

AWSクラウドプラクティショナーに合格した

1. きっかけ AWSについて勉強しなきゃなぁーと前から思っていたものの、サービス多すぎアップデート早すぎでどこから手を付けていいのかわからないままでいた。 お正月休みでまとまった時間が取れるので、今までやろうと思ってたけど腰が重くてできてなかったこ…

PHP プロセスの多重起動を防ぐやり方

PHP

cronでPHPのタスクを定期的に起動したいが、すでにプロセスが動いている場合に起動しないようにしたい。 PHPのタスクを実行する前に確認するタイプ

Railsのwebpackのsource mapsの設定についてのDHHのコメントがかっこいい

source mapsの設定についてのissueでDHHのコメントがかっこよかった。訳は若干怪しい。 プロダクション環境におけるsource mapsの設定についてのissue。 デフォルトでソースを見えないようにする設定にしており、すでに1年以上前にcloseされている。 github.com …

手を動かしながら2週間で学ぶ AWS 基本から応用まで Day14

AWS

Day14 CloudFormationを用いた環境構築の自動化 CloudFormationについて Infrastructure as Code テンプレート AWSリソースの構成をYAML or JSONで記載したドキュメント スタック テンプレートから自動構築されたAWSリソースの集合 1. シンプルなテンプレー…

手を動かしながら2週間で学ぶ AWS 基本から応用まで Day12 Day13

AWS

Day12 Eメール送受信サービスSESとキューイングサービスSQS Amazon SES ドメインを登録する Route53に紐付ける メールアドレスを事前登録する マネージメントコンソールから送信 SDK for PHPでメッセージを送信する 1. ドメインを登録する Amazon SES→Domain…

手を動かしながら2週間で学ぶ AWS 基本から応用まで Day10 Day11

AWS

Day10 CLIによるAWSの操作とシステム監視 マネージメントコンソールからの操作をターミナルでできる インストール AWS コマンドラインインターフェイス(CLI - AWS サービスの制御・管理)|AWS > aws --v aws-cli/1.16.96 Python/2.7.15 Windows/10 botocor…