TRY AND ERROR

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

Basic認証2回でちゃうとき

ハマった。。 NextJSのアプリにAWSのWAFでBasic認証かけたら、特定のページで1回目の認証をスルーした後でもう一度認証求められるようになった。結論いうとChromeの仕様で401返されたときにBasic認証の認証済みステータスもろとも消し去るようになったのが…

Goのtestで特定のテストだけ実行する

Go

いまさら知った話。 testifyのSuiteでいくつかのテストケースをsubtestに分けてラベル付けしてたんですが、テスト実行してもうまくフィルタリングできず正常系、異常系ともに実行される。。。 func (suite *TestSuite) TestEdit() { // 正常系 suite.Run("no…

Docker for Macで開発するときのhost-container間の同期遅い問題に対するベストプラクティス(暫定)

Docker for Macでdockerつかって開発するときにhost(Mac)のディレクトリをcontainerと共有し、hostでのソース変更をcontainer側で検知してホットリロード、、、とかやってます。hostでソースをいじる理由としては、各サービスのソース(たとえばbackend, fro…

VueJSでwatchが反応しない時

ちょっとハマった。 VueJSでwatchプロパティが反応しない場合があった。完全に反応しないのではなく特定の動作をした時に反応しなかった。 色々試してみたところv-ifなどでwatchプロパティを含む要素をdomから消した場合に反応しなかった。 逆に、domから消…

Cannot get EC2 hostname from environment variables on CronJob

Assume having some EC2 instances and these have the same CronJob, When CronJobs attempts to put logs into S3 with EC2 hostname to identify which instance had put it, faced above problem and I had little bit struggled against it. The proble…

AWS セッションマネージャーでセッション20分制限を回避

AWS セッションマネージャーを使うとIAMユーザーでEC2にログインできるようになります。 (正確にはログインではないのですが。。)ただ1つ問題があって、何もしない状態が20分続くとセッションが強制的に終了してしまいます。 ユーザーのアクティビティが…

【Vue】CORS環境でaxiosでレスポンスヘッダが足りない時

CORSの場合、API側で色々詰めてるはずのレスポンスヘッダをダンプするとContent-Typeしか返ってこない。。 というかブラウザの開発コンソールのネットワークタブなどで見ると実際には返ってきているが、console.logでダンプした時には除去されている。 どう…

docker-composeで開発環境構築、一部コンテナをECS Fargate起動タイプで定期実行するまで

Qiitaに書きました。qiita.com

Goでsclevine/agoutiを使ってページ全体をキャプチャする方法

ページの内容によってagouti.Pageのwindowサイズを変えて内容全体が写るようにキャプチャしたい場合、 RunScriptでbodyのサイズをとるjavascriptを実行 -> ページ毎にSize()で指定すれば綺麗にフルスクリーンキャプチャがとれます。 (省略してますが、Chrome…

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…