サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
techblog.housmart.co.jp
エンジニアの西辻です。 今回の記事では、Railsプロジェクトで一部の画面のみをVue.jsを用いてSPA化するにあたって、その際に得た知見などを共有できたらと思います。 Overview 大きく以下の流れで書いていきます。 Motivation RailsとVue.jsの連携方法について調査、部分的なSPAが実現可能かの検証 実装を進めていく中での気づき スマホ対応の方針決め 最後に Motivation まず、なぜRailsプロジェクトで一部の画面のみをSPA化する必要があったかの背景を説明したいと思います。 今年の5月からtoB向けの管理ツールを新規開発したのですが、その際にjQueryだとコードの見通しが悪いのでVue.jsを積極的に利用していこうという話があり、チームメンバーでVue.jsを学習しながら開発を進めていました。 管理ツール自体は無事リリースでき、稼働はしているのです
カウルのプロダクトデザイナー稲井です。 今回はSketchファイルのバージョン管理ツールにAbstractを導入した話をします。 暑い暑い夏にひんやりとした話題をお届けしたかったのですが、そんなに寒くも暑くもない話題です。 デザインファイルの管理に頭を悩ませているデザイナーの方のストレスを少しでも軽減できれば幸いです。 バージョン管理の必要性 カウルではSketchファイルの管理や共有をDropbox上で行ってきました。 デザイナー同士の作業がぶつからないように作業単位でファイルを分割し、衝突を避けるなどの工夫を行ってきました。 デザイナーが少ない状況では管理コストを下げるのに有効でしたが、作業ファイルの分散化やバージョンごとのファイルが増えるなど複数人作業には向いていませんでした。 プロダクトラインの増加にあたり、事業のスピードアップの観点からSketchファイルにもバージョン管理を導入
エンジニアの@macs_6です。 AWS上で稼働中のサービスをスケールアウトする際に、DBのパスワード等のセキュアな設定をどこに保存しておくか困ったことはありませんか? HerokuやKubernetesであれば以下の機能があります。 Heroku: Config Vars Kubernetes: Secrets AWSではどこで管理すればいいのでしょうか? KubernetesをAWS上に構築するサンプルを見てみるとSecretsの裏側にはパラメータストアが利用されています。 そこでこのブログではAWS ECS上でのRedash構築を例にして、パラメータストアとKMSを使った秘密情報を含んだ環境変数の管理方法について紹介します。 現在のECS環境については、“会社の本番環境をDocker(ECS)に置き換えるために準備したこと気づいたこと”で紹介しているので、そちらを参照して下さい。 目
こんにちは。ハウスマートの高松(@t2kmt)です。 皆さんは開発要件をまとめるのにどんなフォーマットを使っていますか? 開発要件をいい感じにまとめるのって大変ですよね。 ドキュメント整備せずに開発に着手し始めてしまうと手戻り抜け漏れが出てしまいますが、一方で要件定義書をガチガチなフォーマットにするとドキュメントの作成自体の工数が増えてしまいます。 スタートアップはスピードが命。ドキュメントを書きまくって開発が進まないなんて言語道断です。 開発要件の整理はプロジェクトの成否に多大なインパクトを与えますが、ほとんどの現場では企画を考える人にフォーマットが委ねられていることが多いと思います。 今回は皆さんが快適に開発要件をまとめられるように、ハウスマートで利用している mini spec というフォーマットをご紹介します。 mini spec とは mini spec とは開発の要件をまとめる
Sketch49のプロトタイピング機能を実際に試してみた カウルTechBlogをご覧のみなさん、こんにちは。カウルでプロダクトデザイナーを勤めている稲井です。主にUIデザイン〜フロントエンドコーディングまでを担当しています。詳しい業務内容は以前寄稿した記事にまとまっておりますのでそちらをご覧ください。 今回のTechBlogは、デザインツールSketchのアップデート(Sketch49)でプロトタイピング機能がリリースされたので使用感を確かめてご紹介しようと思います。はてさてプロトタイピングの戦国時代に終止符を打つ決定的な機能となり得るのか? ※2018/03/08執筆時の感想になります。これからアップデートされていくと思いますので詳しくはSketchの機能リリースページをウォッチしてください。 https://sketchapp.com/docs/prototyping/ Sketch
ROPPONGI.swift 第1回にて「良い通知」について考えた内容を発表しました📣 アプリを作った際にほぼ必ず送ることになる通知ですが、なんとなく送ってそのままになっていませんか? この資料ではメールも含めた「良い通知」を送るために以下の3つを大事なポイントとして挙げました。 「良い通知」は送る対象が絞られている 「良い通知」は計測により支えられている 「良い通知」はなめらかにアプリに遷移できる なめらかな遷移のために、iOSの ディープリンク に使われるCustom URL SchemeとUniversal Linksの違いも簡単にまとめています。 「通知を送ろう」「ディープリンクを実装しよう」となった時に非エンジニアとエンジニアが一緒に考えるためのきっかけや参考になれば幸いです。 会場で「効果出てますか?」という質問をいただいたのですが、実際にカウルではリテンション率やアクション
Housmartの高松です。今回はディープラーニングのためのGPU計算実行環境を物理サーバーからAWSのECSに移行した話について紹介したいと思います。 昨今のディープラーニングブームで、普通のWebサービスを作るエンジニアでもGPU実行環境が欲しい!という場面に出くわすことが多くなってきていると思います。そんな時にサクッと環境を作れるとかっこいいですね。 また、この記事はディープラーニングのエンジニアリング Advent Calendar 2017の25日目に参加しています。 背景など Housmartでは、マンションを賢く買えるアプリ「カウル」で提供している売り出し中のマンションの市場相場価格を推定する機能にディープラーニングを利用しています。その他にも実験的なプロジェクトとしてディープラーニングを用いた画像分類などにも取り組んでいます。 実行環境として、2年ほどGPUを搭載した物理マ
OSSを読んで調査しながら、手を動かしているうちに出来上がったのがこちらです。 はじめに AirbnbのiOSアプリの実装に興味が沸いたのですが、Airbnbのソースを直接読むこともできません。そこで、似たような動作を実現しているOSSから内部実装を推測して自分でも書いてみることにしました。事前に調査したところ、既に似たようなことを考えている方がいて、大いに参考にさせて頂きました。感謝です。 今回の記事は、私が調査して気づいたことを再度整理した、という位置付けです。 これ以降の記述は下記のような読者を想定して書いていますので、ご承知おき下さい。 m(_ _)m iPhoneアプリ開発の経験は多少あるけれどもUIの実装は苦手 著名なアプリの実装に興味がある 画面の構成 TableViewが縦のスクロールを担い、各ジャンルのリストを横にスクロールしていく部分はTableViewの各rowの中に
Housmartの宮永です。 Housmartではプロジェクト管理ツールにJiraを採用しています。Jiraはエンジニアリングの時と違って意外とググって解決策を見つけ出すことができないなんてことが多いですよね。 今回は社員20人程度のスタートアップでこの1年Jiraを運用している中で、よく聞かれたことやお願いされたことをベースに5つほど機能紹介したいと思います。 また、今回の記事は Qiita Atlassian(JIRA , Confuence, Trello, Bitbucket)のTips Advent Calendar 2017 16日目に参加しています。 目次 特定のグループだけアクセスできるプロジェクトを用意したい 複数のチケットを一度に編集、削除をしたい 作業時間のレポートを作成したい 特定のプロジェクトや特定のグループのチケットだけをSlackに通知したい BoardやBa
Housmartの宮永です。 Ruby on Rails 5.2 betaからデフォルトGemとしてRailsの起動を高速化するBootsnapが新たに採用されました。Railsでサービス運用をしているとGem数が増加し起動時間もどんどん遅くなっていくと経験をされている方も多いのではないでしょうか。 今回はBootsnapに関して、起動時間に関する検証を行いましたので簡単に紹介したいと思います。 なお、今回はQiita Ruby on Rails Advent Calendar 201712日目の記事になります。 Bootsnapとは 概要 BootsnapはRails減らすことでにアプリケーションの起動時間を高速化するgemで、そのパフォーマンスは公式ドキュメントでも堂々と記載しています。(Discourseの報告ではBootsnap導入前後で6秒から3秒と50%削減とあります。) Di
アプリケーションエンジニアの西辻です。 今回の記事では、弊社内で開発している Android アプリを master ブランチマージで Play Store Beta に公開するまでの方法についてご紹介したいと思います。 また、今回の記事は Qiita Android その2 Advent Calendar 2017 5日目に参加しています。 Overview 大きく以下の項目について書いていこうと思います。 はじめに Play Store 公開までの全体の流れ CI 環境の設定方法 Play Store Beta に配信するまでの時間について apk ファイルを Play Store に公開するライブラリの設定方法 Play Store での公開方法について 半年運用して分かったこと 間違えて apk ファイルを Play Store Beta にあげた時の対応 Proguard を有効
Housmartの宮永です。 みなさんはプロジェクト管理ツールに何をお使いでしょうか。ハウスマートではJiraを採用しています。レポート機能という視点で見ると、Jiraには標準機能としてBurndown Chart, Verocity Chartなどスプリント運営周りをサポートするあらゆるカテゴリでレポートが用意されています。ただTimesheet(作業時間管理)に関しては運用上、弊社では少し物足りなさ(特にレイアウトの柔軟性への物足りなさ)を感じていました。 誰が何をやっているかは把握出来ているが、誰が(もしくはどのチームが)どのタスク(もしくはどのプロジェクト)にどれだけ時間をかけているか上手く可視化出来ていない状態でした。 この課題に対して、JiraプラグインのTempoを導入することで解決し、全作業時間を可視化することで上手く運用できているため、今回はこのTempoを紹介したいと思
「Growth Hack Talks #7 不動産テック×アプリ特集」にて発表しました🎉 今回はどのような視点でグロースハックのプロセスを回しているかにフォーカスして発表をさせていただきました。 日々行っている具体的な施策についてはビジネスによっても異なるので、一つ一つの施策の詳細については話していません。 発表に含めた、どのような視点で数値を選び、ユーザのセグメントを切って、コミュニケーションしていくかということは、他のケースでも適用できると思っています。 15分の発表とパネルディスカッションでしたが、カウルの日々の改善視点をお伝えできていると嬉しいです。 発表で触れていないReproについては高松が「導入3ヶ月で問い合わせ数2倍! Reproを使いこなしてグロースハックするために必要なこと」をGROWTH HACK JOURNALに寄稿しています。 Reproがサポートしてくれる3つ
カウルTech Blogをご覧のみなさまこんにちは。 2017年の3月にHousmartにジョインしたデザイナーの稲井です。 食う寝る遊ぶが大好きなので色々と回り道してますが、よろしくお願いします。 さて今回はテックブログへの初投稿ということで、デザイナー不在の開発チームにジョインしてからの半年間を振り返って、チーム内でのデザインフローをどのように整えていったか?といった内容で送りしたいと思います。 スタートアップ企業でのインハウスデザイナーの役割や、デザインワークフローの改善に興味のある方は参考にしていただければと思います。 ジョインする前の状況の確認 基本的にエンジニア3人(iOS,Android,WEB,サーバーサイド)の体制で開発をしており、デザインに関しては外部から手伝ってくれるデザイナーさんやフリーランスの方に機能ごとにスポットで依頼しているという状況でした。 サービスとしては
エンジニアの@macs_6です。 このブログでは社内のAWS EC2上で運用しているアプリケーション群をECS移行したプロジェクトについて紹介します。 ローカルの開発環境をDockerした話は以前の記事(複数の rails プロジェクトが共存する開発環境を Docker 化した話を晒してみる)で西辻が紹介しているので、そちらを参照して下さい。 概要 プロジェクトを始める前に感じていた課題 目指す状態 ECSを選択する理由 設計 移行のために必要な作業 Digdagによるスケジューリングについて ECSを使って見て気づいたこと 今後やりたいこと プロジェクトを始める前に感じていた課題 ローカル・本番で再現性のある環境を簡単に作れるようにしたい 簡単にスケールできるようにしたい コストを抑えたい ECS移行プロジェクトを始める前にはこれらの3つの事に課題感を持っていました。 1.ローカル・本番
エンジニアの田中です。そういえば、もう3ヶ月経ったので、これまでにやったことを振り返ってみます。 今はまだ前職での記憶も鮮明に残っている一方で、入社してから色々と見えてきたものもあるので、割りと冷静な視点で書けるかなと思っています。実は、これくらいのフェーズのスタートアップにJOINするのは2度目です。経験を活かして先回りしてつぶせた部分もあれば、全然通用しなかった部分もあり、学びの多い3ヶ月となりました。 今、スタートアップ・不動産テックといったキーワードやtoC向けのサービス開発などに興味をお持ちの方に、少しでも現場の雰囲気が伝われば幸いです。 簡単な経歴 近年のお仕事では主にRubyとSwiftをいったりきたりしています。それなりに転職を経験してきたので、年齢は30半ばです。 金融系のSEとしてキャリアをスタートし、主にメガバンク向けアプリケーション開発と基盤リプレイスを担当しました
アプリケーションエンジニアの西辻です。 今回のブログでは、弊社のローカル開発環境を Docker 化した話をご紹介したいと思います。 このブログでは、なぜローカル開発環境を Docker 化する考えに至ったのかに始まり、 具体的にどのような方法で Docker 化を進めていったかを振り返りながら書いていきます。 また、Docker 化したことで受けた恩恵などを最後に書いて終わります。 Overview 大きく以下の項目について書いていこうと思います。 自分の仮想化環境への考え方について 今の現場に Docker 開発環境を導入する判断について 実運用している構成例を用いての説明 Docker for Mac のファイルI/Oのパフォーマンス改善方法 Tips: Docker コンテナに対して binding.pry を利用する ローカル開発環境を Docker 化した恩恵 自分の仮想化環境
Housmart高松です。 2017年9月18-20日の3日間、広島で開催されたRuby Kaigi 2017に参加してきました。Ruby Kaigi自体は去年に引き続き2回目の参加となります。 今年も様々なトピックがありましたが、今回は私が注目しているテーマの1つである “Ruby x データサイエンス” の観点からRuby Kaigiの参加レポートをします。 Rubyコミュニティのデータサイエンスへの取り組み ここ2-3年で機械学習・ディープラーニングやデータサイエンスを業務で使うことはどんどん普通のことになってきています。 この領域はほとんどがPython/R/Scalaなどで行われており、最近までRubyでデータサイエンスをやるのは実質不可能な状態でした。 ですが、Rubyが言語としてこれらの領域をサポートするかは、Rubyのこれからを考える意味でもとても重要になります。 これらの
アプリケーションエンジニアの西辻です。2017年4月からHousmartで主にAndroidアプリ開発を担当しています。今回のブログでは、弊社のCI環境としてメインで利用している Bitbucket Pipelines についての活用事例についてご紹介したいと思います。 Overview 元々CIとしてはWerckerを利用していたのですが、社内でソースコードを管理しているBitbucket内でもCIを利用できることがわかったので 利用するプラットフォームを減らす目的でBitbucket Pipelinesを導入してみようという流れになりました 利用してみて特に問題なく運用できているのでこの記事では、Bitbucket Pipelinesで何ができるのかと 実際の運用方法について書いていこうと思います 公式ドキュメント https://confluence.atlassian.com/bi
アプリケーションエンジニアの田中です。今年6月に入社して、初めてのTech Blogへの投稿になります。最近の大きな出来事は、スプラトゥーン購入をしたこと、Housmartへのjoin、そして結婚したことです。 先日、何となく目標にしていた「お仕事でお世話になったOSSに機能追加する」を達成できました。今回は、私がReactiveSwiftに機能を追加した際の事前準備、背中を押してくれたものなどについて書いてみます。 これまでにも、OSSライブラリのAPIドキュメントを作成したり、READMEを修正したり、bug fixなど細々とやってきました。もちろんそれもそれで、とても楽しかったのですが、もう少し守備範囲を広げたいなーと思っていたタイミングでのことでした。 ひそかに今月のマイルストーンとしておいていたこともあり、感慨があります。 やったこと お仕事でお世話になったReactiveSwi
こんにちは。あすかです。Housmartでは普段Swiftで開発していることもあり、 try! Swift TOKYOというSwiftのカンファレンスに参加して来ました! try! Swiftは世界中のSwiftディベロッパーが一堂に会し、Swiftに関する知見を共有するカンファレンスです。参加人数は、昨年の約1.5倍の733人だったそうですごい熱気に包まれていました!会期は2017年3月2日-4日の3日間、うち2日、3日は招待講演とライトニングトーク、4日はハッカソンが開催されました。 今回参加の目的 HousmartはReTech(不動産テック)スタートアップで、中古マンション売買サービス「カウル」をメインのサービスとして運営しています。このサービスを使うことで中古マンション売買の際、ユーザーの方が自分でマンションデータベースから中古マンション物件情報、相場、新築価格、売買事例、間取り
このエントリは Elastic stack (Elasticsearch) Advent Calendar 2016 の17日目の投稿です。 こんにちは。Housmartの高松です。今回のテーマは Elasticsearchを使った日本語でのサジェスト です。 Elasticsearch便利ですよね。個人的には今から検索関連の機能を作るならElasticsearch一択だと思っているのですが、こんな便利なElasticsearchを使っても、実用レベルの日本語のサジェスト機能を実装するのはちょっと難易度が高いです。 今回は実務での経験をもとに、なぜ日本語でのサジェストが難しいのか、Elasticsearchを用いた実装はどうすれば良いのかについて書いていこうと思います。 今回取り組んだ問題 弊社HousmartはReTech(不動産テック)スタートアップで、中古マンション売買サービス「カウ
ここ数年でWebエンジニアを取り巻く環境は劇的に変わったと思う。 具体的に言うと、知的好奇心とやりがいを求めて仕事を選ぶことが当然になったように感じる。 Webエンジニアを取り巻く変化 5年半前、私が新卒で就職した時はまだ、エンジニアでも長時間労働はあたりまえで、エンジニアはビジネスサイドが考えた要件に従ってサービスを実装する人だ、という認識が強かったように思う。 一緒に大学院を卒業した優秀な友人たちはみんなメーカーか大手SIerに就職し、それこそWeb企業を就職の選択肢に入れている人はめずらしかった。 その後、リーンスタートアップやアジャイルの導入によって、エンジニアがサービスを考えて、実装・リリースし、データを取り、そのデータを元にまたサービスを改善していくことが当然となり、エンジニアという仕事はよりクリエイティブなものとなった。 また、オープンソースのプロダクトは当然のように色々なサ
エンジニアの@macs_6です。 AWS上で稼働中のサービスをスケールアウトする際に、DBのパスワード等のセキュアな設定をどこに保存しておくか困ったことはありませんか? HerokuやKubernetesであれば以下の機能があります。 Heroku: Config Vars Kubernetes: Secrets AWSではどこで管理すればいいのでしょうか? KubernetesをAWS上に構築するサンプルを見てみるとSecretsの裏側にはパラメータストアが利用されています。 そこでこのブログではAWS ECS上でのRedash構築を例にして、パラメータストアとKMSを使った秘密情報を含んだ環境変数の管理方法について紹介します。 現在のECS環境については、“会社の本番環境をDocker(ECS)に置き換えるために準備したこと気づいたこと”で紹介しているので、そちらを参照して下さい。 R
こんにちは!Housmart 宮永です。 今回は不動産系スタートアップである弊社のKPI管理方法についてお話します。 以前のブログでも紹介致しましたが、弊社ではサイトのトラッキングを徹底し、あらゆるサービス指標を数値化できる状態にしております。 (過去記事「スタートアップのための「お金と時間がかからない」ログ分析基盤」) しかし指標は眺めているだけではサービスは改善されません。 サービス指標の進捗を追って、課題を見つけ改善していく必要があります。(KPI管理) ただ、弊社のようなスタートアップ企業の場合、少人数でサービス運営するとどうなるでしょうか。 (弊社、社員は7名(2016年11月現在)) 集客コンテンツのPVを上げようとか、会員機能など利用継続時間を長くしたい、ログイン日数を増やしたいとか、新規開発したいとかやりたいこともたくさんあります。 かといってリソースを理由にKPI管理を放
Housmartの高松です。 みなさんのサービスはUX設計をしっかりと出来ていますか? 現在カウルでは、さらなる使いやすいサービスを目指してUXの再設計を行っています。 今回はその一部として行ったペルソナの定義、カスタマージャーニーマップの作成などを具体例をもとにご紹介します。 実際のサービス設計では結構抜けてしまいがちなUX設計のフェーズ。ペルソナやカスタマージャーニーマップなど知識としては知っているけど、自分のサービスで実践をしたことがない!という方も多いのではないでしょうか。 カウルのサービス カウルはスマホで簡単にマンション探しが出来るサービスをWebとiOSで提供しています。 ユーザは会員登録後、欲しいマンションの条件を登録するとおすすめのお部屋の提案を受けられます。おすすめのお部屋を見てお気に入りに入れたり、実際に見学の予約をすることもできます。 その他にも購入にかかる費用のシ
「iPhoneアプリ作る前に考慮しておくべきことってなんだろう?」 こんな疑問を開発前に持つ方向けに、「サービス・システム設計」の観点から新規アプリ開発において意識すべきポイントをまとめました。 また、弊社より8月30日にリリースしたカウルのアプリ開発でとった対応も併記しています。 過去に携わっていたショッピングアプリでの経験や、先輩アプリエンジニアの方々に教えていただいたことをベースとしています。 企業でiOSアプリを初めて開発するエンジニア や 作る機能・スケジュールを決めるプロダクトオーナー といった方々の判断の材料になれば幸いです。 エンジニア視点でのスムーズなiOSアプリ開発のためのポイントはこちらにまとめています。 ちょっとの工夫でスムーズになるiOSアプリ開発のコツ9つ(コーディング・デザイン編) サービス・システム設計で考えておきたい5つのこと 1.ユーザにアプリアップデー
こんにちは! Housmartの宮永です。 スタートアップのエンジニアはリソースの都合もあるので 「何でもやる」というのが一般的認識かと思います。 弊社エンジニアもその一般的認識に違わず、何でもやる集団です。 でも「何でもやるんです。」では曖昧すぎて、どういう仕事をしているか全然イメージわきませんよね。 ということで、実作業を全て記録しているという弊社の特徴を活かして 今回は実作業時間をベースに弊社エンジニアがどんな業務をどういう割合で行っているのか紹介します。 <背景>組織の話 弊社エンジニアは3人。 メインプロダクトは中古マンション売買サービスのカウルで、皆で大事に大事に育てています。 エンジニア3人はプロジェクトのプランニングからリリースまで幅広く業務を行います。 (これがいわゆる「何でもやる」) 主なタスク プロジェクトプランニング プロジェクト管理 設計 開発 テスト 運用(トラ
「Gitのブランチ構成どうしましょうか?」 「とりあえずdevelop切ってやっていきますね。」 そのdevelopブランチ本当に必要でしょうか。 developブランチだけ使われていて、masterが全く使われていなかったりしないでしょうか。 よく聞かれるブランチ戦略としてはgit-flowやGitHub Flow、、GitLab Flow等があります。 git-flowにおいてはdevelopやhotfix、releaseといったブランチがありますが、GitHub Flowにはmasterブランチと機能開発ブランチの2つしかありません。GitLab Flowはmasterを中心に開発を行い、productionブランチを安定させていくスタイルです。 実際に新しいプロジェクトを始めるとしたら、どの構成が良いのでしょうか。 今回はカウルを開発するにあたり採用したブランチの構成とその背景につ
次のページ
このページを最初にブックマークしてみませんか?
『カウル Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く