L is Bエンジニアブログ

ビジネス用メッセンジャーdirectのエンジニアによるブログ

LisBエンジニアブログ

ビジネスチャットdirectのエンジニアブログ

第4回社内LT大会を実施しました

f:id:iidaapp:20180316114021p:plain

はじめに

direct のサーバーサイドとデスクトップアプリの開発を担当している飯田 (@iidaapp) と申します。

去年の 5 月、記念すべき第 1 回目の LT 大会の開催を記事にさせて頂きました。

blog.lisb.direct

喜ばしいことに、それ以降定期的に実施するようになり、先日 2/27 には第 4 回目の LT 大会を開催しました。今回は第 4 回目の内容をお伝えしたいと思います。

続きを読む

try! Swift Tokyo 2018に参加しました #tryswiftconf

directのiOSアプリを開発している吉岡(@rikusouda)です

2018/3/1から2018/3/3にかけて開催された try! Swift Tokyo 2018 というカンファレンスに参加してきました。このカンファレンスについては多くのブログで紹介されているのでここでは詳しい説明を省きますが、海外のエンジニアを含めて今回は800名が参加したと言われておりiOSに関連するカンファレンスとしては大規模です。

www.tryswift.co

続きを読む

Kotlin 導入前に抱えていた5つの懸念

f:id:takara727:20180228095004p:plain

こんにちは、direct の Android エンジニアをしている高良(@takara727)です。プライベートのブログも含めブログを書くのは数年ぶりで拙い記事ですが、お付き合い頂ければ幸いです。 Google I/O 2017 で Android の開発言語として Kotlin が正式に採用されることが発表されてからというもの、開発に Kotlin を採用しているプロジェクトは日増しに増えてきているように感じます。
10月末に Kotlin が正式にサポートされた Android Studio 3.0 がリリースされたので、弊社の direct も11月にUnitテストを Kotlin 化、今年に入ってから本体にも Kotlin を導入し始めました。

心配性な私には Kotlin を導入する前に懸念していたことが5つありました。
実際に導入してみてこの懸念がどうだったのか検証しようと思います。

続きを読む

RxSwiftを部分的に導入してみてわかった3つの効果と4つのハマりどころ

directのiOSアプリを開発している吉岡(@rikusouda)です。最近は try! Swiftというカンファレンスの開催が間近になってきたのでそわそわしています。

directのiOSアプリにRxSwiftを部分的に導入しましたが、どのような効果があってどのようなはまりどころがありどのように解決したのかを紹介します。

続きを読む

Spring による Reactive WebSocket

f:id:mike_neck:20180221140954p:plain

こんにちは、directのサーバーエンジニアをしている持田(@mike_neck)です。 会社ブログに初めて記事を書くので、非常に緊張しておりま…せん。

Spring Framework 5 がリリースされて少し経ち、僕も素振りに余年がありませんが、今回も素振りがてら Spring の Reactive websocket を使って簡単な websocket サーバーを書いてみました。 direct でも websocket を利用していますが、 Spring の WebFlux framework でどのように扱うのか非常に気になります!

続きを読む

コードベースのiPhone X対応で行った5つのこと

iOSアプリエンジニアの吉岡です。 最近はブームに乗り遅れてスプラトゥーン2を始めたり、ガルパンを見たりしました。

弊社は direct というビジネスチャットを提供しており、そのiOSアプリをiPhone X対応してリリースしました。 対応記事はすでに世の中にあふれているように思いますが、どんなことをしたのかはアプリの事情ごとに異なると思います。似たような事情の方の参考になるかもしれないと思い、私がやったことを書きます。

ちなみに、現状で弊社アプリではStoryboardやxibを使ったViewが少ないこともあり、Interface Builderを使った対応についてはこの記事では触れません。コードベースでレイアウトしているアプリでの対応実例です。

続きを読む

チャットボットでAsync/Awaitを使ってみました

こんにちは。相変わらずチャットボットのコードばかり書いている鍋山です。
チャットボットはNode.jsで書いていますが、その他には最近はGolangを少し書いたりしていて、同僚から型のある言語はいいだろうと言われました。
ちょっとだけいいなと思いました。

はじめに

さて、Node.js v7の途中から追加されたAsync/Awaitを使ってHubot(daab)を書いてみました。
(Async/AwaitはJavaScriptの標準仕様のECMAScript2017(ES2017)で追加された新仕様です)
Promise登場前のコールバックが連続するようなコードから逃れ、Promise登場によってチェインでつなぐというコードが書けるようになりました。
それでもまだスッキリとしたコードを目指すために、Async/Awaitを使います。

この記事で検証したプラットフォームはdirectです。

direct4b.com

使用したNode.jsのバージョンはv8.1.2です。
(2017.6現在は、v8.x.xの本番利用は推奨されていません)

https://nodejs.org/en/

続きを読む

fastlaneとBitriseでiOSアプリのCI始めました

iOSアプリを開発している吉岡です。少し前にdaabを使ったチャットボットのハッカソン会場にお邪魔してチャットボット開発の雰囲気を楽しんだりしているこの頃です。

はじめに

directというサービスのiOSアプリをビルドするためにfastlaneを使用しています。しかしいままではずっと開発者のマシンで実行していて、ビルドにリソースがとられて他の作業ができないなどの問題をかかえていたのでCIサービスでビルドできるようにしました。ついでにPull Requestと連携したテストを実行するようにもしました。ベストプラクティスでは無いかもしれませんが、実際の現場でCIを導入した例として参考にしていただければと思います。

続きを読む

連絡ツールの枠を越え、directを活用したチャットボットハッカソンに発展

2017年6月10日~11日、directをご利用いただいている専修大学ネットワーク情報学部にて、direct上で動作するチャットボットのハッカソンが開催されました。 今回はその様子をご紹介します。

f:id:AKNz:20170629151835j:plainf:id:AKNz:20170629151828j:plain

続きを読む