株式会社スタメン の技術ブログ

TUNAG iOSアプリのチャット機能をVIPERアーキテクチャで開発した話

はじめに こんにちは、スタメンで iOS/Android アプリのエンジニアをしている @temoki です。 昨年の10月にスタメンにジョインしてからの私の最初のミッションは、 TUNAG iOS アプリのチャット機能の開発プロジェクトでした。本記事ではこのチャット機能開発プロジェクトにおいて採用した VIPER というアーキテクチャについて紹介し、チャット機能の初版リリースからいくつか

try! Swift 2019 Tokyo 2日目 に参加しました!

こんにちは! スタメンで iOS / Android アプリエンジニアとして インターン をしているカーキ @khaki_lit です! スタメン開発ブログに登場するのは初めてになります.現在は主にTUNAGの Android 版を開発していますが,以前は iOS 版のTUNAGチャットの開発にも少し関わっていました. try! Swift とはTUNAGの iOS アプリでも使用されているSwiftという言語の国際的なカンファレンスと

RubyKaigi2019 参加レポート!

はじめに 4/18〜4/20に開催されたRubyKaigiに、スタメンエンジニア @mmoto99299415 (写真左) と @uuushiro (写真右)の2名で参加してきました。そのレポート記事になります。 セッション いくつか気になったセッションを紹介します。 1日目 Building Serverless Applications in Ruby with AWS Lambda AWS SDK for Ruby チーム の@alexwwoodさんによるセッションでした。 柔軟性・スケーラビリティ・高可用性・

【Rails】FormObject で Controller を綺麗に

こんにちは、Web アプリケーションエンジニアのミツモトです。 普段は TUNAG という、企業やコミュニティを対象としたサービスの開発しています。 今回のブログでは、TUNAGのユーザー登録を実装するときに採用した、 Rails の FormObject を取り上げます。 目次 はじめに FormObject 採用例 ActiveModel::Model おわりに はじめに ユーザー登録にあたり、ユーザーだけでなく、その付属

AWS Systems Managerでセキュアでシンプルな運用を簡単に実現

こんにちは、スタメンエンジニアの松谷です。 組織のエンゲージメントを高めるプロダクト TUNAG(ツナグ) を開発しています。 開発・運用に関わる中で日々思うのは、アプリケーションの管理をよりシンプルにし、セキュアで信頼性が高く、スケーラブルに運用することを容易にしたいということです。 AWS Systems Manager には、これらのニーズを満たす多くの機能があること

try! Swift 2019 Tokyo 1日目 に参加してきました!

こんにちは、スタメンで iOS / Android アプリのエンジニアをしている @temoki です。 TUNAG の iOS アプリはすべて Apple 発の プログラミング言語 Swift で書かれていますが、この3月にその Swift の国際カンファレンス try! Swift 2019 Tokyo が開催されました。 アプリ開発 の情報収集やスキル向上のために、昨年からスタメンのエンジニアもこのカンファレンスに参加しており、今回は

ElasticsearchのMulti Matchで検索時に対象フィールドを変更する

こんにちは、スタメンのエンジニア、津田です。以前、弊ブログでも「 TUNAGの全文検索を支える Elasticsearch × Rails 」として紹介させていただいたように、TUNAGでは検索機能の実装にElasticsearchを利用しています。検索クエリとしては主にMulti Matchを利用しているのですが、 RDB に登録されているレコードを利用しやすい形でElasticsearchのドキュメント化する方法について試行錯

スタメンのエンジニアチームの VISION (目指している姿) と VALUE (価値観や行動指針)

こんにちは、スタメンCTOの小林です。 2019年3月1日に、スタメンのエンジニア全員で合宿を行い、スタメンのエンジニアチームが目指している姿( VISION ) と 個々のエンジニアの価値観や行動指針( VALUE ) を全員で話し合って決めました。 スタメンのエンジニアが作っている『TUNAG』の技術的な解説 と合わせると、スタメン開発チームの現在と将来をご理解いただけると思い

スタメンのエンジニアが作っている『TUNAG』の技術的な解説

こんにちは、スタメンCTOの小林です。 最近、面接や勉強会などで社外のエンジニアの方と話した際に、スタメンのエンジニアチームの詳細について、思ったより面白そう、まともそう、やりがいがありそうとの感想をいただくことが続き、スタメンの中の人たちの詳細が外の人たちに伝わっていないと感じることがありました。 ちょうど先月の1/29、株式会社スタメンは

Webアプリケーションエンジニアとしての1年目を振り返る

1. はじめに 明けましておめでとうございます。エンジニアのミツモトです。 年末は皆さんいかがお過ごしでしたでしょうか? 年末、私は家でゆっくりしながら、リーダブルコードを読んでいました。 リーダブルコード この本は私がスタメンに入ってから最初に勧められて読んだ本です。 スタメンがリーダブルコードを推奨している理由 スタメンはチームでの開発が前

Markdown Parserの闇•闇•闇に浸かった話

こんにちは。桑原です。 2度目の投稿となります。 今回は TUNAG のフィードに埋め込まれている Markdown の仕組みについて解説します。 ※ ソースコード は部分的な公開になるため、ご了承ください。 前置き Markdown とは、テキストで HTML を表現するための マークアップ 言語です。 下記の画像のように、タイトルやプログラムコード、画像の埋め込みなど、多彩な表現が可

Rubocop × RubyMineで、リアルタイムにコードをチェックしよう!

はじめに こんにちは! スタメンのシュール ( @shule517 ) です。 RuboCop って便利ですよね! 僕は Ruby を書き始めた頃に、「君の書いたコードは Ruby っぽくない。Rubocopを入れると良いよ!」とアド バイス をもらってから、ずっと愛用しています。Rubocopは Ruby の一般的な書き方を教えてくれたり、もっと効率の良い書き方を教えてくれるので、 Ruby を学ぶ中でとても頼りにな

SVGでloaderをつくる

1. はじめに こんにちは。エンジニアのミツモトです。 普段は TUNAG という 社内SNS サービスのバックエンドを担当しています。 フロントエンドの業務も行いますが、触れる機会が少なく、たまには動くものを作ってみたい!と思い、今回は SVG でloaderを作りました。 2. つくったもの See the Pen svg loader by mitsumoto ( @mmoto ) on CodePen . 3. SVG とは Scalable Vector Graphicsの略 ベクター 画

障害対応への考え方と備え

こんにちは。スタメンの 小林 ( @lifework_tech )です。 スタメンの社内勉強会で障害対応について話しましたので、資料を公開させていただきます。 障害対応への考え方と備え どんなに対策を行っていても障害は必ず発生します。 地震 のようにいつ発生するのかはわかりません。でも、予め障害発生を想定して、準備しておくと、影響の低減、復旧までの時間短縮など多く

銀座Rails#1で発表してきました!「Railsスタートアップがやってよかったこと」

こんにちは、スタメンの松谷( @uuushiro )です。 「 Rails スタートアップがやってよかったこと」 というタイトルで、 銀座Rails#1 で発表してきました。その時の資料を公開します。 発表内容 https://speakerdeck.com/uuushiro/yin-zuo-rails-number-1-uuushiro スタメンが創業してから約2年間のやってよかったことをまとめているので、以下のような内容に興味のある方はぜひスライドをご参照