TRY AND ERRΦR

気になったこと、勉強したこと、その他雑記など色々メモしていきます。。Sometimes these posts will be written in English.,

Trap on findElement with cssSelector for Facebook WebDriver

github.com In my case using Facebook WebDriver for Headless browser Testing, there is a trap on findElement with cssSelector. Assume you want to find the element(s) by css selector that you specify like what their style attribute doesn't h…

今更ながらphpでword(docx)を読み込んでplain textを得る

word(docx)ファイルを出力する、とかのサンプルやライブラリは結構あるんですが、 今回はそもそもただ単に中身のプレーンテキストが欲しいという場合の話。docx(確かword2007以降)は実はzipアーカイブなので、unzipとかで解凍できる。 その中にword/docume…

CodeDeployでALB-EC2へのデプロイ時間を短縮する

AWS

AWS CodeDeployでALB配下のEC2にインプレースデプロイする際、本番にデプロイした際にいきなり遅くなった、、、 結論、本番のALBターゲットのヘルスチェック間隔がdevのそれよりも長かったのが原因でした。 以下のフォーラムによると、デプロイ時にトラフィ…

My Impressions About Using Vim In Earnest.

vim

At first, I've been light vim user who use it only in environment of like CLI. But I decided to use Vim for every kind of my development, taking memo or something like that. The reason why I did above is Vim's mobility, reasonableness and …

My convenient snippet for showing information of EC2 instance.

AWS

If you want to make sure ec2 instance information from inner itself, you should check this post. (Describes about in the case of EC2-AmazonLinux which has already installed `aws` command.)For instance this is an alias named `me` that outpu…

ELBのヘルスチェック(200)を受け入れつつBasic認証をかける

ELB (ALB) + EC2*2(apache)にvirtual hostでマッピングしたサービスにBasic認証をかけたい。 ただしELBはstatus=200のチェックのままで、この辺はいじりたくないなぁって時の話です。上記のようなAWS上の設定やアプリの設定を極力変えずにBasic認証をかける…

【AWS CodeDeploy】Resource permissions by appspec.yml

AWS

I had misunderstanding for "permissions" in appspec.yml of AWS CodeDeploy. Say around that we have an app which directory structure is like below. CodeDeployのappspec.ymlで使うpermissionセクションについて誤解してた。。 例えば以下のような構…

AWS CodeDeploy logs that you should watch.

AWS

We have a web service with AWS, located in like below environment. (This time in case of using AmazonLinux) WebServer: - Production: - ALB * 1 - EC2 * 2 - Dev: - EC2 * 1 DB: - Production: Aurora * 1 - Dev: Aurora * 1 Our source code is m…

【Golang】sliceのcapacityとは?

Go

sliceは可変長の配列を扱うデータ型で、ベースとなる配列のポインタと要素数、および容量(capacity)を持っている。sliceリテラルやmakeはベースとなる配列を作成した上でそのsliceを返している。 sliceは参照型なので、sliceの要素を変更すればベースとなる…

Goでjsonのunmarshal結果を構造体に入れる時のフィールド名について

Go

Goでjsonを扱う場合、json文字列をbyte配列にしたものをencoding/jsonパッケージのunmarshalに渡し、あらかじめ定義しておいた構造体に入れるといったのが定番ですが、その際に構造体のフィールド名を先頭を大文字にしていないとマッピングできないというこ…

Rollback Atom's "Synchronize Settings" to specific revision.

Assume you use "Synchronize Settings", the package of Atom Editor for synchronizing settings between multiple environments, and have taken a backup by mistake, you're able to rollback by following way faster than reverting each files with …

Auroraがマルチマスターをプレビュー公開

AWS Auroraでマルチマスター機能がプレビュー公開されました。# レジュメ https://aws.amazon.com/jp/about-aws/whats-new/2017/11/sign-up-for-the-preview-of-amazon-aurora-multi-master/プレビューはMySQLの互換エディションでのみ利用可らしいです。 マ…

AWS Aurora restarted due to an error Out Of Memory

Recently, there was a problem that Aurora database had been restarting at the same time on daily. Since at the time batch with a huge query had processed, so we guessed it was the cause of restarting Aurora. We asked AWS Technical Support …

The hard bug in MacOS High Sierra

WTF\(^o^)/ナンテコッター There's a hard bug in MacOS High Sierra if multiple users are accepted to login. In above, anyone seems to be able to get a root privilege of the mac without any specific technical skills. Anyway you'd better to see this …

Modified behavior of jquery plugins [Counter-Up] to effect at only first viewed.

I think this is the most fantastic plugin for increasing the number text dynamically.Counter-Up/jquery.counterup.js at master · bfintal/Counter-Up · GitHubBut it's been getting a little old at recent, so there's a problem that the option n…

Make replication between external Mysql and RDS-Aurora.

My external Mysql, which means non-AWS-RDS, has a large capacity records in it, and have been replicating between master and slave which are both external Mysql.It's difficult and too annoying about its slowness to dump data and to import …

What a awesome awk!!

awk!! You're so fantastic!! I'd love to use "awk" which is a linux command easy to format some kind of text to whatever you want. For instance as below, you're able to get the most recent loadaverage. $ uptime 00:08:33 up 134 days, 7:25, 2…

My recent favorite Podcast

I'm going to introduce my recent favorite Podcast programs for Learning English.Frequently, English is going to be required when we're in a middle of some programming. When we're reading docs, watching movies that someone speeches about te…

.htaccessのリダイレクトなどでつかう正規表現の%とか$とか

.htaccessで以下の様にサブドメを継承し、かつ最初のディレクトリをカットするということがしたくて色々やってハマったのでメモ。http://xxx.from.com/yyy/zzz... を http://xxx.to.com/zzz... にリダイレクトしたい。。。 結論、こんな感じになりました。 R…

GoogleAdwordsAPIで指定したキーワードの月間平均検索ボリュームと競合性を取得する。

Google Adwords APIでキーワードの検索ボリュームを取得する話。 前提として、MCCアカウントの取得やOAuthまわりの設定などを済ませておくこと。キーワード候補を取得するRequestType::IDEASのサンプルはよく見かけるけど、任意のキーワードのボリュームだけ…

Behavior of "BETWEEN" operator for datetime in MySQL.

I had a big misunderstanding to the "BETWEEN" operator respect to datetime columns in MySQL.I had thought that "BETWEEN" does not contain the value of end when the date value is used respect to datetime columns like this. SELECT * FROM sam…

Python-boto3でAWSのEC2インスタンスを立ち上げ、そのPublicIPを取得する

boto3とawscliを入れておく $pip install boto3 $pip install awscliAWSのCredentialsなどをセットする $ aws configure AWS Access Key ID [None]: アクセスキー AWS Secret Access Key [None]: アクセスキーシークレット Default region name [None]: regi…

ChatworkAPIがバージョンアップしました。

ChatworkAPIがv1からv2にバージョンアップしました。help.chatwork.com ユーザー数が増えてmessage_idの桁が足りなくなったみたいな感じか?? 対応としては、基本エンドポイントを変更するくらいです。以前アップしたChatworkのAPIラッパーについてはは修正…

How to check if index is exist in Array or Slice in Golang?

Go

I guess in Golang, there isn't any method to check that index is exist in Slice, for PHP like "isset()". So I take a method I made like below. func isset(arr []string, index int) bool { return (len(arr) > index) }By the way, in Golang when…

In CakePHP3, change just a specific table class's datasource.

If you want to get the Table objects to access to DB without appalently using ConnectionManager, I think you use the "TableRegistry" like following. TableRegistry::get("Yours"); Above then, "default" datasource in app.php is chosen. If you…

google-api-php-clientを使ったOAuth2認証で、セッションを使わずにコールバックを経由しても保持される任意のパラメータをセットする

OAuth2認証において、Googleに認証リクエスト → Google認証画面にてアプリ許可 → コールバック画面に遷移という流れの中で、コールバックをもらった際にどのユーザー(アプリ側の)で認証したかを持ち回る必要があった。 アプリ側で必要となる任意のパラメー…

In the HTML5, "readonly" attribute just works for text fields.

In the HTML5, "readonly" attribute just works for text fields like <input type="text"> or <textarea>... I didn't know about that!For example, in the case of to put an select tag.Like this, it doesn't work as you think. It is editable. <select readonly> <option value="</textarea>…

Cakephp3のShellがcronで動かなかった理由

デイリーの集計絡みのバッチを書いていてちょいはまったのでメモ。 まず、 CakeのShellをcronで叩く際のOfficialの記載はこう 15 0 * * * cd /full/path/to/app && bin/cake myshell myparamこれが動かなかった。 次に試したのは、そもそもcdする必要ないん…

phpQueryでタグの破片などのノイズを除きつつテキストっぽいものだけを取得する。

PHP

とりあえず行き着いた方法をメモします。 htmlによっては、先頭にxmlステートメントが混ざってくる場合が稀にあるので、最初に除去しておく。 さらに、なぜかscriptやstyleの破片などがノイズとして紛れ込むケースが多々あるので、これらも除去。newDocument…

InternetExplorerでjsのメソッドの引数のデフォルト値が使えない

めちゃめちゃあせったー......orzって話です。 function test(a,b=[]) { // IEだとここで落ちる console.log(a) console.log(b) }こういう書き方をするとIEだとスクリプトが落ちる。(ちなみにIE11) Chrome,FFは動きます。とりあえず typeof b == "undefine…