2017-11-30

AWS Certified Solutions Architect (Associate) を受験して合格しました

こんにちは。@mozamimy です。先日機運が高まって AWS Certified Solutions Architect (Associate) を受験する気持ちになり、受験したら合格したのでメモを残しておきます。

ちなみにわたしのスペックは以下のような感じです。

  • AWS 歴: 業務および個人で 1 年半程度
  • 好きなサービス
    • ECS
    • ELB
    • Lambda

❓ なぜ突然 AWS の資格を受験する気持ちになったのか

もともと資格にはあまり興味がない性格なのですが、きっかけは AWS re:Invent 2017 | Amazon Web Services に行くことになっ...

2017-11-15

「言語実装パターン」の LL(1) 再帰的下向き構文解析器を Rust で実装してみた

この記事は、「言語実装パターン」の LL(1) 再帰的下向き字句解析器を Rust で実装してみた の続きです。言語処理系の実装のセオリーと Rust を学ぶために、「言語実装パターン」で紹介されている各パターンを Rust で実装する活動の 2 回目です。

O'Reilly Japan - 言語実装パターン

言語実装パターン表紙

LL(1) 再帰的下向き構文解析器の実装

ここで作るのは、以下のような文法を持つ入力を受理するパーサです。

list     : '[' elements ']' ;
elements : element (',' element)*
element  : NAME...
2017-11-12

「言語実装パターン」の LL(1) 再帰的下向き字句解析器を Rust で実装してみた

(2017-11-13 ちょっとコードに変更を加えたので加筆修正しました)

ごきげんよう。深夜のおかしな時間に起きてしまってついついケータイの公式アプリで Twitter を見てしまうとき、流速が遅いのについついリロードしてしまって、こんな感じになっちゃいますよね。もざみみです。

2017-11-08

AWS EC2 の新世代インスタンス c5 のマイクロベンチマーキング

2017-11-08 に、AWS の EC2 に新たなインスタンスファミリーである c5 シリーズが登場しました。これまでのコンピューティング最適化インスタンス c4 の後継となるものです。まだ ap-northeast-1 では利用できませんが、us-east-1 などのリージョンで利用することができます。

詳しい情報は以下の AWS の公式ページにまとまっています。

2017-11-05

Redis の無停止マイグレーションと ElastiCache そして Redis Sentinel

やんごとなき事情により、CentOS 6 が動く古いサーバをつぶしていくというようなことを普段やっていて、Cent OS 6 上で動く Redis をどのように移行しようか、ということを最近考える機会があったので、このエントリにメモしておきます。

オンプレミスではなく AWS の EC2 や ElastiCache に寄せていくということと、Redis を利用するアプリケーションサーバでは Ruby on Rails が動いているという暗黙の前提があるため、そのつもりで読んでいただければと思います。

無停止で Redis サーバをマイグレーションすることの困難さ

Ubuntu 16...

2017-10-24

ISUCON 7 の予選を突破した (†空中庭園†《ガーデンプレイス》)

今年も大盛り上がりな ISUCON 7 でしたが、わたしも†空中庭園†《ガーデンプレイス》というチームで、同僚の @ryot_a_rai さんと @eagletmt さんと一緒に予選 (2 日目) に出場しました。

ISUCON7 本選出場者決定のお知らせ : ISUCON公式Blog にある通り、最終スコアは 588,107 でなんと両日合わせてのトップでした。身に余る光栄..! 自分用の記録も兼ねて、チームでどのように考えて動いたのかをメモしておきたいと思います。

📃 リポジトリ

リポジトリは @ryot_a_rai さんが公開してくれていますので、以下の GitHub リポジト...

2017-10-14

max virtual memory areas vm.max_map_count [65530] is too low. で Elasticsearch が起動しないとき

Elasticsearch の起動時に、以下のようなログが出て起動できない場合があります。以下の例では、docker-compose を用いて Elasticsearch 5.5.2 を起動しています。

$ sudo docker-compose up es1
WARNING: The k9 variable is not set. Defaulting to a blank string.
Recreating dockercerebro_es1_1 ...
Recreating dockercerebro_es1_1 ... done
Attaching to dockercerebro_es1_1...
2017-10-07

Docker で唐突に MySQL 8.0 を試したくなったときにシュッと環境を用意するメモ

MySQL の運用をしていると、唐突に MySQL 8.0 を触りたくなる瞬間があると思います。

実際、わたしもたまに触りたくなって適当に Docker を使ってコンテナを起動して検証に使うことがあります。その都度ビルドするのも面倒なので.. いつもそのときに使うコマンドなどを忘れるので、メモがてらブログに置いておきます 🐰

環境

  • Arch Linux (2017-10-07 時点)
  • Docker version 17.09.0-ce, build afdb6d44a8

MySQL 8.0 を起動する

$ docker pull mysql:8.0.3
$ docker run...
2017-06-03

Elasticsearch 5.x & Kibana 5 に移行したときになぜか棒が分割できない問題に対処したメモ

古いバージョンの EC2 上で動く Elasticsearch と Kibana を AWS Elasticsearch Service (5.1) & Kibana 5 に移行するときに、ちょっとハマったポイントがあったのでメモとして残しておきます。

一部のレコードがなぜか aggregate できない

MySQL が吐くスロークエリログをいい感じにしたいとき、fluent-plugin-mysqlslowquery を利用して Elasticsearch に送り、Kibana を使って視覚化する、という常套手段があります。 このとき、以下のスクリーンショットのような感じで Split...

2017-05-07

Slack の発言を他のチャンネルに転送するためのツール「telescreen」

前々から作ろうと思いつつなかなか手が動かなかったのですが、ゴールデンウィークで暇を持て余してたこともあり、勢いで telescreen というツールを作りました。

mozamimy/telescreen

telescreen - A slack bot to forward messages by simple routing definition

telescreen は Slack の bot として常駐し、join しているチャンネルの発言を他のチャンネルに転送するためのツールです。人間の発言を集めたいというモチベーションで実装したため、bot による発言は転送しません。 利...