タグ

ブックマーク / www.lifull.blog (19)

  • ポストモーテム会を行って障害対応の改善を図った話 - LIFULL Creators Blog

    プロダクトエンジニアリング部の吉田と申します。 普段はRubyTypeScriptといった言語を使ったサーバサイドエンジニアをしています。 今回、サイトの閲覧障害をきっかけに行ったポストモーテム会が個人的にとても有意義だと感じたので紹介させてください。 障害分析レポートの紹介 弊社では障害が起きた場合、障害分析レポートを書くという決まりがあります。 この障害分析レポートというものは、一般的にはSREの用語でポストモーテムとして知られている障害対応時のことを記録する文書のことです。 弊社では品質管理を行っている部署がテンプレートやフォーマットを整えてくれており、内容としてはオライリーのSREの付録Dに記載してある「ポストモーテムの例」にかなり似通った内容です。 かいつまんで紹介すると下記のような内容を記載するものです。 障害の概要 影響範囲 タイムライン 水面下で起きていた問題(根の問

    ポストモーテム会を行って障害対応の改善を図った話 - LIFULL Creators Blog
    clavier
    clavier 2023/10/08
  • 継続的ドキュメンテーション: Github DiscussionsとADRのすすめ - LIFULL Creators Blog

    こんにちは。テクノロジー部のyoshikawaです。好きなW3C Recommendation は RDF 1.1 Concepts and Abstract Syntax です。 会議やチャットでのやり取りの決定事項・議事録、アプリケーションや機能の設計書・仕様書、READMEなどなど... LIFULLの開発現場においては、ソースコード以外にもこのように様々な文書の管理・蓄積(=ドキュメンテーション)を実施しています。 多くの開発者・メンバーがドキュメンテーションの重要性やその恩恵は理解はしているものの、なかなかうまく情報の蓄積・管理ができない、 その結果、質的ではない調査に時間を取られてしまいDeveloper Experienceが下落してしまう。 このような課題を抱えているプロジェクトやチームは世の開発現場において少なからず存在すると思います。 LIFULLの開発現場にもこの

    継続的ドキュメンテーション: Github DiscussionsとADRのすすめ - LIFULL Creators Blog
  • LIFULLでの1on1: 「特に話したいことはありません」を解決した話 - LIFULL Creators Blog

    こんにちは。LIFULLのプロダクトエンジニアリング部の野澤です。エンジニアリングマネージャーをやっています。 LIFULLでは組織構造として部の下に「ユニット」があり、その下に「グループ」がぶら下がっています。 今期からは私はユニット長を拝命し、間接マネジメントを行うようになりました。 マネジメント業務の中でも1on1は部下のモチベーション維持やキャリア形成、戦略理解を促進させるために重要な手法です。 グループ長時代も1on1はやっておりましたが、間接マネジメントをやるにあたり、メンバーからは相談がしにくくなってしまったようで、「特に話したいことはありません」となってしまうことが増えていきました。 そこで改めて1on1を有意義にするためにはどうしたらいいか考えてみました。この記事ではそのための取り組みを紹介できればと思います。 LIFULLでの1on1 1on1は今やいろんな業界や会社で

    LIFULLでの1on1: 「特に話したいことはありません」を解決した話 - LIFULL Creators Blog
    clavier
    clavier 2021/04/30
  • Visual Testingに最適な画像差分検知ツール「Gazo-san」をOSS化しました - LIFULL Creators Blog

    こんにちは! LIFULLのSETグループ (Software Engineer in Testグループ)のRueyです。 前回はE2Eテストで使うテストフレームワーク「Bucky」を公開しました! www.lifull.blog そして今回はVisual Testingで使う画像差分検知ツール「Gazo-san」を公開しました! github.com この記事はVisual Testingと「Gazo-san」のポイントを紹介したいと思います。 目次 Visual Testingについて なぜVisual Testingが必要か Visual Testingツールの三要素 撮影機能 📷 差分検知機能 🔍 レポート機能 📑 E2Eテストとの違い E2Eテストは動作の保証、Visual Testingは見た目の保証 Visual Testingはメンテナンス不要 LIFULL SETグ

    Visual Testingに最適な画像差分検知ツール「Gazo-san」をOSS化しました - LIFULL Creators Blog
  • 機械学習における技術的負債をDigdagで返済する - LIFULL Creators Blog

    お久しぶりです。技術開発部の相原です。 昨年度は技術基盤部としてmrubyを導入したりしていましたが今は少しレイヤーが開発寄りになりました。 とはいえ依然として技術基盤も見ていて、最近はご多分に漏れず機械学習を用いた技術基盤の改善に興味があります。 そんな中でここ数ヶ月メインの業務の合間の時間を使って試験的に機械学習を導入していたので、今回は技術的負債の高利子クレジットカードと呼ばれる機械学習を導入する中でどのような工夫をしたかということについて書きたいと思います。 機械学習については門外漢なので、ここではモデルの訓練などのプラクティスに関しては触れません。 (一部暗黙的に深層学習を前提としている箇所がありますのでご了承ください) 技術的負債の高利子クレジットカード Data Dependencies Cost More than Code Dependencies System-leve

    機械学習における技術的負債をDigdagで返済する - LIFULL Creators Blog
  • mruby + ngx_mrubyでアプリケーションを実装するという選択肢 - LIFULL Creators Blog

    はじめまして、技術基盤部の相原(kaihar4)です! 今回は、アプリケーションのクラウドサービスへの移行の一環で、 Amazon S3から取得した画像URLを含むファイルを元に、そのURLの外部画像を取得して返す機能 をmrubyで書き直してAWSに移行した話をしていきたいと思います。 この機能は元々モノリシックなアプリケーションの一機能として動いていたもので、これを切り出してAWSに移行するというのが今回私に与えられたミッションでした。 このアプリケーションは歴史が長く、その間ほとんどメンテナンスされていませんでした。 ディストリビューションは古くPHPのバージョンも4系、したがってそのまま持っていくという選択肢はなく、AWS上に新規にインスタンスを構築することになります。 弊社にはAPI部分をPHPからRubyに移行する方針があるということもあり、Amazon Linux上にRuby

    mruby + ngx_mrubyでアプリケーションを実装するという選択肢 - LIFULL Creators Blog
  • ディープラーニングであり得そうな間取り画像を生成させてみる - LIFULL Creators Blog

    こんにちは。おうちハッカー@リッテルラボラトリーの石田です。 今日は、HOME'Sで大量に保持している間取り画像を使って、ディープラーニングの手法の一つであるDCGANを使い、あり得そうな間取りを生成させてみました。 DCGANとは? Deep Convolutional Generative Adversial Networkの略で、画像を生成する手法です。 データセットを元に画像を生成する生成器と、生成された画像かデータセット画像かを見分ける判別機の2つのニューラルネットワークを交互に学習させることで、 データセットのような画像を生成します。 論文はこちらです。 またNextremerさま主催の機械学習勉強会で、発表されていた方の資料もあります。 Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料 昨年

    ディープラーニングであり得そうな間取り画像を生成させてみる - LIFULL Creators Blog
  • 画像処理を導入するときに検討すべき10の手法 - LIFULL Creators Blog

    あけましておめでとうございます。 おうちハッカー@リッテルラボラトリーの石田です。 画像から何かを検出したい、ユーザーの動きに連動して何か作りたい、なんて思うことがあると思います。 そんなときに、どんな技術を使えばよいのか迷うと思うのですが、そんなときに検討すべきライブラリ、API、デバイスを紹介したいと思います。 画像処理といったらlennaさん オープンライブラリ系 こちらはソースが公開されている画像処理ライブラリで、自分で組み合わせて適切な処理を作成します。 ライブラリによって得手不得手があるので、単独というより、組み合わせて使うことが多いと思います。言語はC++, Pythonがメインになります。 OpenCV OpenCV | OpenCV 画像処理といったらこれ!という定番ライブラリです。 動かせるプラットフォームも、windows,mac,Linux,Android, iOS

    画像処理を導入するときに検討すべき10の手法 - LIFULL Creators Blog
  • HOME'Sデータセット画像をディープラーニング適用した物件画像分類 - LIFULL Creators Blog

    こんにちは、おうちハッカー@リッテルラボラトリーの石田です。 先日より弊社は、「HOME'S」の物件・画像データセットを研究者に提供開始しました。 情報学研究データリポジトリ(IDR)より申請頂けます。 こちらのデータセットを用いた研究を支援させていただくため、ディープラーニングによる画像分類器の学習と、テキストマイニングをお試しいただけるツールキットを提供いたします。 GitHub 記事では主に、画像解析ツールで行うことができる、ディープラーニングを用いた部屋画像の分類を紹介します。 ディープラーニングで物件画像の分類 公開されたデータの中には、約8,300万枚の物件画像データが含まれています。それらの画像には、間取り、外観、玄関、居間、キッチン、トイレなどの画像種別が設定されています。 こちらの画像を教師データとして学習を行い、部屋画像を入力として与えると、どの種類の部屋なのか判定す

    HOME'Sデータセット画像をディープラーニング適用した物件画像分類 - LIFULL Creators Blog
  • Googleの公開した人工知能ライブラリTensorFlowを触ってみた - LIFULL Creators Blog

    こんにちは。おうちハッカーの石田です。 いつもはおうちハックネタばかりですが、今日は人工知能関連の話題です。 今日2015/11/10、Googleが自社サービスで使っているDeepLearningを始めとする機械学習技術のライブラリを公開しました。 TensorFlowという名前で、おそらくテンソルフローと呼びます。 テンソルは、数学の線形の量を表す概念で、ベクトルの親戚みたいなものです。それにフローをつけるということは、そういった複雑な多次元ベクトル量を流れるように処理できる、という意味が込められているのだと思います。 こちらをさっそく触ってみたので、紹介したいと思います。 TensorFlowの特徴 公式紹介ページから特徴をいくつかピックアップします。 Deep Flexibility ~深い柔軟性~ 要望に応じて、柔軟にニューラルネットワークを構築できます。ニューラルネットワークの

    Googleの公開した人工知能ライブラリTensorFlowを触ってみた - LIFULL Creators Blog
    clavier
    clavier 2015/11/14
    Googleの公開した人工知能ライブラリTensorFlowを触ってみた
  • Android Studioで使うgradleのlint - LIFULL Creators Blog

    こんにちはAndroid開発グループ橋です。 今回はAndroidStudioで使うlintについて調査する機会があったので内容を記事にします。(lint自体の解説は省略します。) まずは実行をしてみる。 Androidlintの実行について調べてみると、Android/sdk/tools/の下にあるlintが使用できるようです。 参考:http://developer.android.com/intl/ja/tools/help/lint.html この方法だといちからlintのオプション設定を行わなければいけないため、とても手軽に使えるとは言い難いものです。ではどうしたらいいのか?そもそも開発はAndroid Studioを使う事を前提としていたのでそちらで実行したいところです。 Android Studioから実行 AndroidStudioから実行する場合、実はとても簡単で、メ

    Android Studioで使うgradleのlint - LIFULL Creators Blog
  • 泡を食いながらAsyncDisplayKitを使ってみる - LIFULL Creators Blog

    Apple原理主義者であり、Paper原理主義者とも名乗ろうかと考えている大坪です。 Facebook paperの開発舞台裏の記事を読み「がびーん」となったのがほぼ半年前。アニメーションエンジンのpopにも感動したのですが、一番重要な非同期UI部品がなかなか公開されない。最初は是非使いたいと思っていたけどこれ以上待ちきれない、と見切りをつけて開発し始めたアプリが表にでた頃いきなりニュースが飛び込んできました。 The case for AsyncDisplayKit 引用元:Introducing AsyncDisplayKit: For smooth and responsive apps on iOS | Engineering Blog | Facebook Code Facebook paperを触るとすぐに気がつくことですがあの動きの滑らかさは普通ではない。裏で大量の画像をダウ

    泡を食いながらAsyncDisplayKitを使ってみる - LIFULL Creators Blog
  • AndroidStudio でのメモリ解析 便利だった機能の話 - LIFULL Creators Blog

    こんにちは。菊地です。 前回の記事(Android Studio でのメモリ解析の方法 - 株式会社ネクスト エンジニアBlog)で、AndroidStudioにおけるメモリ解析についてまとめましたが、今回はその補足のような記事になります。 AndroidStudio でメモリ関連の調査を行う際に便利だなと思った機能がありましたので、そちらのご紹介になります。 今回は AndroidStudio (Android DDMSかもしれませんが)にある Graphics Acceleration の情報を確認するための Graphics States ActivityManagerの状態を確認するための Activity Manager State という2つの機能について記事にさせていただきます。 ※ここからは、サンプルとして Navigation Drawer Activity を新規プロジ

    AndroidStudio でのメモリ解析 便利だった機能の話 - LIFULL Creators Blog
    clavier
    clavier 2014/10/06
  • Android Studio でのメモリ解析の方法 - LIFULL Creators Blog

    こんにちは。菊地です。 最近、Androidアプリのメモリリークの調査について行う機会があったのですが、 AndroidStudioでメモリリークの調査ってどうやるの? という話が出たので、簡単にですが AndroidStudio でメモリリークの調査をする方法について記事にします。(具体的に解析結果からメモリリーク絞り込むといったことは今回は説明しません) メモリ解析ツール これは、EclipseでAndroid開発をしていた人には、馴染み深い(?) MAT(Memory Analyzer Tool) を使います。 ただし、EclipseではPluginとして存在していますが、AndroidStudioには存在していないようです。(2014/09/30調べ) ですが、Memory Analyzer には Stand-alone が存在しているため、そちらを使います。 ダウンロードはこちら

    Android Studio でのメモリ解析の方法 - LIFULL Creators Blog
  • PHPコンパイルによる高性能のFastCGIウェブサーバー構築とチューニングに関するお話し(1) - LIFULL Creators Blog

    こんにちは。新規事業部・金融グループの金(成奉)です。 前回は高性能GIS専用のPostgreSQLデータベースサーバーの構築について話しましたが、今回はFastCGI基盤ウェブサーバーのPHPコンパイル構築、チューニング、設定などについてお話したいと思います。内容の範囲が広く、長文になっているため、3回に分けて投稿します。 PHPは、ほとんどのモジュールがコンパイルされるような構成となっています。おまけにGIS関連のデータを扱うことのできるGEOSエクステンションの追加などにも触れています。 ウェブサーバーは、ApacheとNginxになりますが、Nginxのコンパイル構築方法についても説明します。特にApacheでPHPを運用する際、最も効率よい構成はなんだろうと開発やインフラ担当の方はきっと悩んだことがあるかと思います。ApacheとPHPをどのような構成と設定で運用すれば、高いパ

    PHPコンパイルによる高性能のFastCGIウェブサーバー構築とチューニングに関するお話し(1) - LIFULL Creators Blog
    clavier
    clavier 2014/09/25
  • Android Lでより強力になったNotification - LIFULL Creators Blog

    こんにちは。7月からAndroidチームに配属されました衛藤です。 先月の6月25, 26日に、Google最大のイベント"Google I/O 2014"が開催されました。 私自身は参加していないのですが、YouTubeでの配信を見ていたところ、 Notificationについての話がちらほらと出ていましたので、その辺りを書いてみたいと思います。 Notificationについて スマホユーザにはおなじみのNotificationですが、Googleによると下記のように説明されています。(そのままですが・・・) A notification is a message you can display to the user outside of your application's normal UI. iOSなんかでは、ロック画面に通知が表示され、そこからダイレクトにアプリに飛べたりする

    Android Lでより強力になったNotification - LIFULL Creators Blog
  • Google I/O 2014「間違った計画を完璧に実行する」ことについて - LIFULL Creators Blog

    Apple原理主義者の大坪です。 さて、GoogleI/O2014参加レポート第2弾。Google I/Oがカバーしている内容は、Googleの事業領域を反映しサーバーサイドからクライアントのデザインから、はてまたロボットにいたるまで非常に幅広い。今日はその中から標題のセッション+別のセッション内容を元に書きます。 ーーー スピーカーはGoogleのシニア User Experience Researcher, Tomer Sharon 氏。まずMITとStanfordのComputer Science卒業生が作った「メモ作成アプリ」を開発したスタートアップ(仮想のものか実在のものかわかりません。少なくとも創業者の写真は別の人がモデルをしていました)がなぜ失敗したかについてその理由を挙げて行きます。 1 They did not fall in love with problem :問題を

    Google I/O 2014「間違った計画を完璧に実行する」ことについて - LIFULL Creators Blog
  • __proto__が変わりゆく件について - LIFULL Creators Blog

    こんにちは、@nazomikanです この記事は(JavaScript - Client Side - Advent Calendar 2013)の15日目の記事です。 @teramako 妙な古臭さを感じるのだが…。 http://d.hatena.ne.jp/teramako/20131216/p1 と的確な斧をいただいたので記事を修正しています これまで標準化されていなかった__proto__がES6で標準化されようとしています。 参考: draft_proto_spec_rev2.pdf (大変古かったので差し替えました。) 参考: Object.prototype.__proto__ ※ まだドラフトで確定ではないのでご注意ください。 Object.prototype.__proto__ Enumerable: false Configurable: true 内部変数のUnde

    __proto__が変わりゆく件について - LIFULL Creators Blog
  • 楽天テクノロジーカンファレンス2013でのMatz まつもとゆきひろ氏の講演 - 株式会社ネクスト エンジニアBlog

    大坪と申します。先日10/26に行われました楽天テクノロジーカンファレンスに参加しました。主たる目的はライトニングトークでiPadアプリ「へやくる!」について話すことだったのですが、いろいろ興味深い発表をいくつも聞くことができました。 日はその中からまつもとひろゆき氏の講演について概要を紹介をしたいと思います。ちなみに来基調講演は楽天の三木谷会長が行う予定だったのですが、「急遽」まつもと氏が講演することになったとのこと。そんな事情を話し、笑いをとるところから講演が始まりました。(個人的にはこの「急遽登板」は歓迎するところでしたが) -------------- 1990年に学校を卒業し働き始めた。そのころはエンタープライズソフトの開発をしていた。一つのシステムを3年かけ、ウォーターフォールで開発する時代だった。その時から「この開発方法は何かが間違っている」と思ったが何が間違っているかを

    楽天テクノロジーカンファレンス2013でのMatz まつもとゆきひろ氏の講演 - 株式会社ネクスト エンジニアBlog
  • 1