リンクバル

Alexa!スキル開発のやり方を教えて!①


4月に新卒入社しました、村上です。

私は入社前にアルバイトとして業務に携わっていたのですが、
そのアルバイト時代に「Alexaスキル」の開発を行いました。

そこで今回はその開発について振り返り、
・Alexaってそもそも何?
・Alexaスキルって何?
・どうやって開発するの?
ということを、初心者向けにご紹介したいと思います!

Alexaとは?

→Amazonが提供する「音声認識サービス」のことです。

続きを読む


Attending to the SendGrid’s Email Delivery Hands-On – Part 1


Hi! I’m Dennis and I’ve been working at Linkbal as a software engineer since October 2017.

Today, I’d like to share how was my experience taking part in SendGrid’s mail delivery hands-on. I will mainly write about some background information and concepts that were presented and also about the first part of the hands-on, that included the initial setup, a simple email delivery test and the use of SendGrid’s dashboard to check the results.

Introduction

SendGrid is an US based company represented by KOZO KEIKAKU ENGINEERING Inc. here in Japan.

As you may already know, it provides one of the most well-known cloud-based transactional email delivery services, but also includes an email marketing platform. This article will focus on transactional emails as it was also the focus of the hands-on.

Background Information

The hands-on started with the presentation of some background information about SendGrid and the company representing it in Japan.

Then, the presenter  showed how their service is used daily by large corporations to send transactional emails, such as sign-up notifications, password resets and invoices. And also how their tool is used to send marketing emails such as promotions, campaigns and newsletters.

After that, the subject was the challenges involved in email delivery as, according to ReturnPath, 20% of the emails don’t reach the inbox. Then, all the things we need to consider when working with emails were presented.

Mail delivery flow

Source: https://sendgrid.com/docs/Classroom/Basics/Email_Infrastructure/email_flow.html

Reputation

And, when working with emails, one of the most important things to consider is our sending reputation. This is a score that an Internet Service Provider (ISP) attributes to mail senders and it is a very important factor in email deliverability. The higher our reputation with a ISP, the more likely it will deliver our emails to the inboxes of recipients in its network. Low reputation, by contrast, may result in emails being recognized as spam or even discarded.

Each ISP decides which factors to consider when calculating this metric, but there are factors that are commonly used such as the reputation senders build around their IP and domain. You can read more about those types of reputation here.

After the explanation about reputation, the presenter showed us some practices that can be applied to increase our score. I won’t enter in much detail here and will briefly mention just two examples below. You can read more about these and other methods to increase email deliverability are mentioned in this article.

  • List Cleaning – the act of removing addresses that are inactive, reporting your emails as spam or leading to bounces. Keep trying to send emails to such addresses can eventually impact your reputation negatively.
  • IP Warm-Up – especially when start using a specific IP address, it is recommended to increase the amount of emails sent little by little. This will help ISPs recognize that you are sending wanted email.

The Hands-On

After the introduction above, we effectively started the hands-on, which was focused on using SendGrid’s Web API and interacting with its dashboard. In this article, I will only present the first part of the hands-on, containing information about a simple email delivery. The requirements for the hands-on were the following:

After logging in to the application, we are presented to the following screen:

Preparation

There are a couple of initial steps we will want to take before actually testing the Web API.

First, let’s enable plain text emails. By default, SendGrid automatically converts any plain text messages to multipart emails. As this is usually a unnecessary feature, let’s disable it.

Go go Settings > Mail Settings and under “Plain Content”, switch it to “ON”.

Plain content setting

Next, we are going to create a new API key. It will be used for authentication and authorization when using the API. Just go to Settings > API Keys and click the “Create API Key” button. Give it any name you want and choose the “Restricted Access” option, so we can customize the access level for the key. For each feature, we can choose one of: “No Access”, “Read Access” and “Full Access”. Read access allow us to just execute GET requests against that specific feature.

For the hands-on, we set “Mail Send” to “Full Access” and “Suppressions” to “Read Access”.

API access levels

Click “Create & View” and you will be presented to your newly created key.  You have to store it somewhere safe as it won’t be shown again.

Calling the API

After the initial setup steps, we started testing the API. It is nice that all the tests can be done in the API’s reference page:

https://sendgrid.com/docs/API_Reference/api_v3.html

In the side menu, select “MAIL SEND”. After the page opens, click the “Try it out” tab and paste your API key in the “YOUR_API_KEY” field.

Mail Send API reference

At this point, we can already start making calls to the SendGrid’s API. Just edit the “Request Body” to look like below (replace the recipient_email_address and recipient_name accordingly).

Then, click “SEND REQUEST” and the “Response” field should change to “202 Accepted”. Also, check your inbox as you should have received the test message.

The Activity Feed

We can use the dashboard to keep track of the sent emails. Just access the “Activity” menu in the sidebar. Click “Search” to list the sent emails and our test email should show up. If everything went fine, the email should show “Delivered” in the STATUS column. You can also click the message to display additional details.

During its life-cycle, our test email should have gone through the “Processed” and “Delivered” events. In the diagram below, you can check all the events a message can go through.

Email event flow

Source: https://sendgrid.com/docs/API_Reference/Event_Webhook/event.html

Conclusion

In this article, I shared some of the concepts presented in the SendGrid’s event and the first part of the contents of the hands-on. There are still some content to be covered in a future post, such as “Bounce Handling”, “The Tracking Feature” and “The Use of Templates”.


街コン運営をちょっとスマートにしたかった


4月よりエンジニアとして入社しました、18卒の小野と申します。

リンクバルではエンジニア採用でも当社のサービスである街コンの主催者を新人研修として行います。

今回はエンジニア目線の街コン運営について書きたいと思います

目次

・街コン運営で感じたアナログ
・改善案
・学びとおわりに

続きを読む


エンジニアが街コンのイベントスタッフをやってみた


初めまして、リンクバルのエンジニアの前田です。
今回は普段の仕事とは違うイベントスタッフとしてイベントに参加してきましたので、簡単ではありますがレポートさせて頂きます。

今回スタッフとして参加したイベントはこちらです

大規模×恋活イベント★ナイトミュージアムコン!イベント中、連絡先交換自由♪♪≪街コンジャパン主催≫

普段は会社でエンジニアとして仕事をしているのですが、イベントスタッフとして参加するのは今回初めてとなります。
しかも、開催規模が300人を超えている大規模イベントのスタッフとしての参加の為、とても緊張しました。

今回参加したイベントの大まかなスケジュールや僕の仕事内容は以下の通りでした。

当日の主なスタッフスケジュール

14:00:集合、会議室で打ち合わせ
15:15:会場の下見、各担当の確認
16:00:テーブル搬入、設営
17:00:受付開始
18:30:イベントスタート
20:30:イベント終了、後片づけ
21:00:撤収

僕のお仕事

14:00:集合、会議、打ち合わせ、会場下見
無線機チェック、名札作成などしてました。
16:00:テーブル搬入、設営
腕に力のあるスタッフは長方形のテーブルを2つ持ちで運んでいましたが、僕は1テーブルづつ運びました。
17:00:待合せスペースの入り口で弊社で開発しているマッティングアプリ「Couplink」の事前インストールチェック
Couplinkは会場でマッティングゲームをするためにインストール頂いています。
19:00:受付、Couplinkの代理投票役
※Couplinkの代理投票とは、Couplinkをインストールできなかった人でもマッティングゲームに参加することができる仕組みです。
20:30:お見送り、Together のチラシ配布
沢山チラシを受け取って頂けました!
21:00:解散

イベント参加者様を待合せスペースに迎え入れた後、イベント会場(鉄道博物館)に移動した時のイルミネーションが写真の通りでとても綺麗だったのが印象的です。

イベントスタッフは無線機で各持ち場の状況を頻繁に連絡を取り合って連携しています。
僕は受付でお客様のサポートをしたり、会場で使う荷物を取りに待機室に移動するなど臨機応変に対応していました。

イベント会場の鉄道博物館ではイベント参加者が電車にも入ることができるのですが、今回は一部の電車毎にそれぞれ以下のことができるように準備されていました。

鉄道博物館の電車内でできる4つのこと
・謎解き
・占い
・恋愛相談
・休憩

まさかここで恋愛相談ができる車両があるとは思いもしませんでしたし、鉄道博物館の関係者様にもご協力頂いた鉄道ガイドツアーはあっという間に受付締め切りで大変な人気でした!

この度、初めて鉄道博物館に入館させて頂いたのですが、珍しい電車が沢山あったり雰囲気も良かったのでプライベートでも行ってみたいと思いました。

感想

実際のイベントに参加してみると当日の大変さをしりつつも、お客様の顔が見れるので大変貴重な体験だったと思います。
イベントは2時間程度で終わりますが、企画からイベント開催まで時間を使って開催されるイベントは思い出にも残ると思うし、イベントスタッフでの参加でしたがとても心に残りました。

当社ではエンジニアの仲間を募集しております。
興味のある方はこちら↓からご応募ください。
http://linkbal.co.jp/recruit/


自動テキスト分類で経費削減٩( ‘ω’ )و


はじめまして!リンクバルでエンジニアとして働いている磯谷と申します。

先日行った機械学習系の仕事について書かせていただきます。

何番煎じかわかりませんが、よければ最後までお付き合いください( ´ ▽ ` )

 

やったこと

投稿された文章を自動でカテゴライズする。

なお言語はPythonです、jupyter notebook上でコードを書いています。

 

目的

弊社が展開しているCouplinkというサービスにおいて、投稿内容に規約違反がないかどうかをチェックしています。

今までは全て人力で行っていた分類作業に対し、マシーンラーニング導入でコスト削減!

今回は「規約違反(以下、カテゴリX)か否か」の2値分類を行った際の話を書かせていただきます。

 

続きを読む


KibanaでElasticsearchの簡単な操作をやってみる


エンジニアのクオンです。
本日はKibanaでElasticsearchの簡単な操作をやってみるというテーマについて紹介させていただきます。

振り返りですが、

Elasticsearchとは

Elasticsearch は Elastic 社が開発しているオープンソースの全文検索エンジンです。
大量のドキュメントから目的の単語を含むドキュメントを高速に抽出することができます。

Kibanaとは

KibanaはElastic社が開発しているビジュアライゼーションのためのツールで、Elasticsearchというデータベースに入っているデータを様々な形式で描画することができます。

続きを読む


Jquery Validation Pluginでフォームバリデーションを作る


初めまして。

エンジニアのクオンです。

今日はJquery Validation Pluginについて紹介させて頂きたいと思います。

Jquery Validation Pluginとは

フォーム要素内の入力部品に入力された値が正しいかを、指定したルールに基づいてチェックを行うjQueryライブラリです。
リンクはこちらです。https://jqueryvalidation.org/

続きを読む


AWS re:Invent 2017 – リンクバルエンジニアの参加レポート / 4日目


AWS re:Invent 2017 – リンクバルエンジニアの参加レポート / 4日目

こんにちは、リンクバルでエンジニアをしております。船寄です。
本日のre:Invent参加レポートを書かせていただきます。

本日はSESSIONとre:PLAY PARTYへの参加がメインとなりました。これらについて書かせていただきたいと思います。

続きを読む


ベトナム語、中国語、日本語は似ている


最近、ベトナム語と中国語を勉強している堀内です。

職業人生の半分を経過しようとしている今、物覚えも悪くなり、むしろ物忘れをするようになりました。以前は決して忘れなかった携帯を、ここ一年で数回、飲み会の場において店を出るという失態を演じてショックを受けています。

この歳になって、若者に混じって React とか Kotlin とか頑張っても、覚えたころには別のものが流行っていそうなので、劣化しにくいスキルの習得に力を入れようとしています。今後数年は語学と数学を狙っています。数学もコミュニケーションの手段と考えると、語学の一種かなとも思います。

続きを読む