読者です 読者をやめる 読者になる 読者になる

Septeni Engineer's Blog

セプテーニエンジニアが綴る技術ブログ

エンジニア業務に役立つ英語学習のコツ

はじめまして、4月から新卒入社した大北です。 実は私、入社するまでプログラミング経験が0でした。現在はHttpやデータベースなど、プログラミングの基本を1から、マンツーマンで叩き込んでいただいています。

そんな私がこれまでやってきたことのうち、唯一役に立っていると感じるのが英語学習です。開発用語は英単語が多いですし、クラス名などを考えたり、ドキュメントを読んだり、意外と英語を使う機会が多いですよね。

今回は入社してからの3ヶ月間で使った英語学習方法をお伝えします。

続きを読む

Automation of Load Testing by Gatling

Gatlingによる負荷試験の自動化

In this tutorial we will create an load testing by using Gatling Tool. First, I am going to tell you about what is load testing and what is the gatling tool. Then, I will show you the simple scenario and results. Tips for reading this tutorial, I would suggest you read this tutorial step by step and I hope you will enjoy it too.

続きを読む

editorconfigでエディタの設定を共通化

editor

新卒1年目の東です。

僕はもともとvimをメインで使っており、rubyを書いていました。javascriptを書いていた時期はsublime textを、scalaを書くようになってからは intellijを使うようになりました。複数のエディタを使うようになると、インデントの整え方など共通して使える方法があれば便利ですよね。

そんな問題を解決してくれるのが、editorconfigです。

editorconfig.org

続きを読む

Management Reading Club

こんにちは、セプオリ隠れ広報の関です。

今回も前回の記事同様、オフィス内の取り組みについて書こうと思います。

セプテーニ・オリジナルでは、有志で結成されたManagement Reading Club(通称MRC)という会があります。 どういう会かというと名前の通り、マネジメントに関する本のいわば読書会です。

続きを読む

gradle + scalariformでbuild時に自動フォーマット

はじめに

お久しぶりです、加藤です。
そろそろ夏の訪れを感じる頃かと思います。 最近、業務でscalariformを導入する機会があったため、その手順を書いていこうかなと思います。 sbt + scalariformも導入しましたが、こちらは参考記事がたくさんあるので割愛します。

手順

  • プロジェクト内のbuild.gradleに追記
  • フォーマッターの設定ファイル(scalariform.properties)を作成

では、実際に記述していきます。

続きを読む

Fluentdを使ってツイートをSlackに流す

こんにちは、丸山です。

ご存知の方も多いと思いますが、Fluentdというログ収取用のミドルウェアがあります。その特徴の一つにプラグインによる様々な形でのログ収集というものがあります。プラグインの組み合わせによっては、ログだけではなく、様々なメッセージを収集し、別のところへ転送するといった連携を行うことが可能です。

そこで今回はtwitterとSlackに対応したプラグインを使用して、ツイートをSlackに流してみます。

Fluentdのインストール(Mac OS X

ここからdmgファイルをダウンロードしてインストールします。

デフォルトでは設定ファイルの場所は/etc/td-agent/td-agent.conf、ログの場所は/var/log/td-agent/td-agent.logになります。

プラグインのインストール

次に各プラグインをインストールします。

以下は今回インストールするプラグインとそれぞれのインストール方法です。

fluent-plugin-twitter

sudo td-agent-gem install eventmachine
sudo td-agent-gem install fluent-plugin-twitter

fluent-plugin-slack

sudo td-agent-gem install fluent-plugin-slack

Fluentdの設定

プラグンがインストールできたら、Fluentdの設定をしていきます。設定はconfファイルに記述していきます。

メッセージ取得元(Twitter)の設定

まずはツイートを取得する設定です。fluent-plugin-twitterTwitter Streaming APIを利用するため、ここではTwitter APIを利用する準備ができていること(consumer_key等の取得)を前提としています。

<source>
  type twitter
  consumer_key         <自分のconsumer_key>       # Required
  consumer_secret      <自分のconsumer_secret>    # Required
  oauth_token          <自分のoauth_token>        # Required
  oauth_token_secret   <自分のoauth_token_secret> # Required
  tag                  input.twitter             # Required
  timeline             tracking                  # Required (tracking or sampling or location or userstream)
  keyword              'Scala'                   # Optional (keyword has priority than follow_ids)
  lang                 ja,en                     # Optional
  output_format        nest                      # Optional (nest or flat or simple[default])
</source>

Fluentdの設定ファイルはいくつかのディレクティブを用いて記述されます。ここではsourceディレクティブを設定しています。sourceディレクティブにはログやメッセージの入力元を指定します。今回はツイートを取得してそれを他のところに流すため、メッセージ取得元であるtwitterの指定をしています。

設定内容についの詳細は省略しますが、上記の設定ではScalaというキーワードを含んだツイートを取得するようにしています。

メッセージ出力先(Slack)の設定

次にSlackへメッセージを流す設定です。fluent-plugin-slackではSlack APIのtokenが必要となりますので、予め取得しておいてください。

<match input.twitter>
  type buffered_slack
  token <Slack APIのtoken>
  channel %23fluentd-twitter
  username tweet
  icon_emoji :slack:
  flush_interval 60s
  message_keys text
  message "%s"
</match>

ここではmatchディレクティブを設定しています。matchディレクティブはログ・メッセージの出力先を指定します。今回は取得したメッセージをSlackに流すため、メッセージ出力先としてSlackの設定をしています。

上記の設定では、メッセージをtweetという名前とslackアイコンを付けて、#fluentd-twitterというチャンネルに流すようにしています。チャンネルを指定するときは、先頭に%23を付けます。

また、取得されたツイートは他の様々な情報とともにJSON形式で渡ってきます。そのなかでツイート自体はtextというkeyに対応するvalueとして渡ってくるので、message_keysにtextを指定しています。そしてmessageに"%s"と記述することで、そのtextというkeyに対応するvalue、つまりツイートをメッセージとしてSlackに表示することになります。

以上の設定を行ったら、fluentdを起動します。

sudo launchctl load /Library/LaunchDaemons/td-agent.plist

ちなみに停止は以下のコマンドです。

sudo launchctl unload /Library/LaunchDaemons/td-agent.plist

これで取得対象のツイートがされると、Slackにそのツイートが流れるようになります。

post-checkoutフックを使ってブランチ切り替え時にちょっとだけ自動でDB環境をセットアップできるようにした

こんにちは、杉山です。

最近、ブランチ切り替えの度にDBの構造が違ってたりするので、切り替えるたびにDBマイグレーションしたりダンプとって読み込んだりとかいうことをやってました。手動でやるのがそろそろだるくなってきたのでこれを機に自動化したいと思います。

続きを読む