Twitter APIとMeCabで街コンのエゴサーチをした話


社会人2年目エンジニアの関です。

突然ですがリンクバルの主要サービスと言えば・・・そう「街コン」ですね。
日頃街コンジャパンという街コンのサイトを保守・運用しているわけですが、やはり一般ユーザからのサービスへの評価が一番気になるところです。
しかしユーザ一人一人にインタビューするわけにもいかないですし、Twitterとかでエゴサーチをしようにも情報量が多すぎていまいち価値のある評価が良く分からない。
そこで今回は、Twitter APIとMeCabを使って「街コン」に関するツイートの中からより重要な単語・ツイートを分析・発見していきたいと思います。
続きを読む


Athenaを使ってS3のログファイルを検索してみる


AWSのサービスにS3のログ解析ツール「Athena」について書かせて頂きます。

Athenaとは?

https://aws.amazon.com/jp/athena/

Amazon Web ServiceのS3にある大量のログをSQLのクエリを書いて抽出できるサービスです。
大量のファイルが分割されていると解析するのが大変なのですが、

これらのファイルの入っているパケットを指定してAthenaの設定を完了すると、
以下のようにSQLクエリを実行するだけで検索できてしまいます。

SQLクエリは業務で良く書きますので、データベースを触っていたサーバーサイドエンジニアでも使いやすいのではと思いました。

Athenaの設定方法

1、データベースを作成する

2、データフォーマットを指定する


※CSVやJSONのデータフォーマットも指定できます。

3、カラムを指定する

4、パーティションを指定する


※CreateTableを押すとAthenaで利用するデータベースの完成です。

Athenaを使ってやってみたかったこと

json形式でファイル出力されたS3のログをキーベースで検索して、簡単にS3のファイルからデータを抽出したかったのですが、結果できませんでした。
なぜかというと、ファイル転送を挟んだログファイルだったためにファイル自体がtsv形式だったので、json形式のデータフォーマットに適用できなかったためです。
カラム型にjson型があると嬉しいなと思いました。

TSV形式での検索

LIKE検索ができますので、ログ自体の検索はできましたし、レスポンスも遅いわけでもなく使い勝手は良かったです。

下記、簡単なクエリ例です。SQLと変わらないですね。
SELECT * FROM table_name WHERE column_name LIKE '%xxxxx%' LIMIT 100;

まとめ

AWSを使ってS3に溜まっているログをAthenaを使うだけで抽出できるので、今後も使っていきたいと思います。
導入も簡単なので、まだ使ったことのない方は試してみるとどうでしょうか。

最後に

リンクバルではエンジニアの採用を募集しています。採用はこちら


JMeterによるもっとも簡単な負荷テスト方法


リンクバルの井上です。
今回はJMeterで誰でもできるもっとも簡単な負荷テストをやってみます

JMeterの起動

まずJMeterを起動してみますすると下記のような画面が表示されるかと思います

テストは基本的にはこのテスト計画に対して作成していきます。

 

スレッドグループ設定

まずテスト計画を選択した状態で「編集」を押下し「追加」の「Threads」と見て行くと下記のようにスレッドグループが表示されますのでスレッドグループを選択しましょう

 

スレッドグループを追加すると下記のような画面が表示されます

ここではどのくらいの負荷をかけるか設定をします。

例えば「10のスレッドを20秒の時間をかけて処理開始し、スレッド毎にシナリオを1回だけ実行する」だと下記のようになるのでこの辺をいじれば基本的な負荷は大丈夫です

スレッド数: 10
Ramp-Up期間(秒): 20
ループ回数: 1 (無限ループのチェックボックスはオフにしてください)

 

GETリクエストの設定

次にスレッドグループを選択した状態で「編集」から「追加」、「サンプラー」と見て行くと下記のようにHTTPリクエストが表示されるので追加します。

 

追加したHTTPリクエストに下記のように今回は自分のローカルアプリケーションの設定をしていきます

今回は単純なページアクセスの負荷をかけるのでサーバ名、メソッド、パスのみ設定します

 

 

試験結果の表示

そして負荷をかけたら当然結果を見たいかと思いますので結果表示の設定をします。

また同じ手順でスレッドグループを選択した状態で「追加」、「リスナー」と見ていくと下記のように表示されるので「結果を表で表示」を追加します

 

 

さてようやく準備が整ったので負荷試験を実行します

実行する際は上のメニューにあるので緑の再生ボタンのようなボタンを押下すると実行されます。

すると結果は「結果を表で表示」で以下のように表示されるかと思います。

いかがでしたでしょうか?簡単な負荷試験ならこんなに簡単にテストが作れるんです!

リンクバルではエンジニアを積極募集中です。興味のある方は、こちらまでご応募ください。もちろん、社内の人間と面識があるのでしたら、直接にご連絡いただいてもかまいません。


【WordPress】投稿を集計するただひとつのプラグイン「Site Posts Stats」


社会人2年目エンジニアの関です。

WordPressの開発で、テーマとかプラグインを自作しているとなんだか上級者っぽい感じしませんか?かっこよくないですか?
ということで、私もかっこいい上級者に一歩でも近づきたいのでプラグインを自作してみました。

今回の制作物は以下で公開しています。
概要や画面説明などはREADME.mdを見てください。
https://github.com/hseki-luckey/site-posts-stats
続きを読む


踏み台サーバを用いてTableauに外部のMySQLサーバを接続する


こんにちは、リンクバルの佐藤です。

最近BIツールのTableauを導入し始めたのですが、Tableau単体では外部サーバーのMySQLに接続できません。

開発用DBはAWS上にあるので、接続するには踏み台サーバーを経由する必要があります。

なのでSSH ポートフォワーディング(SSHトンネルともいう)で踏み台サーバーを経由する方法を備忘録的に書いておきます。

一度踏み台にアクセスしてしまえば、あとは放置で大丈夫です。

お膳立て

以下のコマンドを打ってsshポートフォワーディングしましょう。 参考URLはこちらです。

ssh -f -N -L 10000:localhost:3306 ユーザー名@サーバーホスト名 -p 22

これでSSHポートフォワーディングが完了しました。 一応接続できているかをtelnetを使って確認しましょう。 飛ばしても問題ありませんが念のため。

telnet サーバーのホスト名 10000

10000はローカルの10000ポートを指定しています。 先ほど接続先の3306ポートにマッピングしたものと同じポートを指定しています。

Connected to localhost.とターミナルに表示されれば接続されています。 明記してませんでしたが、ここまですべてMacです。Windowsではtelnetはデフォルトでは使えないので、有効化してあげる必要があります。

さてここまでお膳立てしてあげてから、Tableauを起動します。

Tableau起動後

サーバーへMySQLといって、

  • サーバーホスト名
  • ローカルポート番号
  • ユーザー名
  • パスワード

をぽちぽちしてサインインしてください。ここまでの設定で接続できるでしょう。

設定が終わったらググってTableauを存分に使い倒してやりましょう。 Tableauの作図方法は次回書くことにします。 では。