2023/08/25のフレッシュメンLT #0で発表した資料になります。 https://connpass.com/event/285559/
![アプリケーションパフォーマンスの計測と改善の方法を勉強している話](https://cdn-ak-scissors.b.st-hatena.com/image/square/bc68aad057c1b9d24dce222fa8ac9bf49db9ce9c/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F4f14553558a94da5b03dfa50f3f18119%2Fslide_0.jpg%3F27052508)
2023/08/25のフレッシュメンLT #0で発表した資料になります。 https://connpass.com/event/285559/
こんにちは、MackerelチームでSREをしている id:heleeen です。 2023年3月に実施したMackerelのメンテナンスでは、データベースをAmazon RDSからAmazon Auroraに移行しました。この記事ではAuroraを選択した背景や、移行で考慮したことについてお伝えします。 データベースのアップグレードを機に検討 Auroraへ移行することによるメリット パフォーマンスの改善 マイナーバージョンアップのダウンタイムが短く サイジングを適切にできリソース活用も効率的に リードレプリカの運用負荷も改善 Auroraのリードレプリカを利用した移行 RDSにAuroraのリードレプリカを作成する リードレプリカの昇格と切り替え 本番のAurora移行に向けて準備したこと 検証環境で移行して課題を確認 本番メンテナンス時のバックアッププランを用意 Mackerelのメ
はじめに この記事では、モノタロウの基幹系を構成するシステムの一つである、商品情報管理システム(PIM:Product Information Management システム)の導入プロジェクトで、商品情報を基幹系と同期するシステム(商品情報同期機能)の性能や運用環境の改善を行った話をご紹介します。 背景 モノタロウの基幹系は、長年内製のシステムで支えられてきました。基幹系のシステムは、少数のWebアプリケーションと多数のバッチから構成されています。中でも商品情報の管理に関するシステムは、在庫や仕入先に関するシステムと一体化していて、商品情報に関する数多くのマスタメンテナンス画面を備えたやや複雑なシステムです(図1)。 図1 基幹系の概略図 当社のシステムは、もともと自分たちのビジネスに必要な機能を提供する手頃なパッケージ製品がなかったため、すべてを内製でまかなってきたという経緯があります
PDF版を先行発売していた新刊、『検索システム ― 実務者のための開発改善ガイドブック』(打田智子・古澤智裕・大谷 純・加藤 遼・鈴木翔吾・河野晋策 共著)の発売を開始しました。 本書は、Webサイトをはじめ現代のITシステムで当たり前のように提供されている「検索」の仕組みを実装、運用、改善したい人のためのガイドです。これから作りたい人はもちろん、より進んだユーザー体験を提供したい人まで、検索システムの実務にかかわる多くのエンジニアのために書かれました。以下のような側面から、「よい検索システム」を提供するための知見が網羅的に整理されています。 全文検索エンジンを支えるデータ構造、アルゴリズム、テキスト処理 検索の対象とするデータの整備 さまざまな検索機能のためのユーザーインターフェース 検索システムを定量的に評価し、それをもとに改善していく考え方 検索クエリから検索者の本来の意図を推測する
こんにちは、freee会計でワークフロー機能の開発をしている @mitubaEX です。 先日 freee会計のパフォーマンスチューニングに取り組みました。本記事では、調査の流れ、改善の事例を紹介します。 問題発覚までの流れ freee では自社の経理業務に freee会計を利用しており、その中でも経費精算の機能はほぼすべての従業員が利用しています。そのため日々多くのフィードバックをもらえます。そのフィードバックの1つで、「経費精算の一覧を開くのが遅い」という報告をもらいました。幸い表示件数を指定できるので調整すれば遅くはならないのですが、一覧性が下がってしまうため有用な解決策ではありません。 そこでワークフローを開発しているチームで、このパフォーマンスイシューの調査を始めました。 調査する まず事前調査として Datadog*1 で一覧画面を表示するリクエストの処理を確認しました。 一覧
本記事の続編として、自分が有害な振る舞いをしないようにする改善の取り組みを扱った記事も書いてます。 エンジニアや上司が"有害な振る舞い"を改善する方法 ※「難しい人」は概念として用い説明するのに便利な言葉でしたが、誤解を生じたり、本記事のポリシーに沿わない使用(難しい人というラベリングを特定個人に適用する使い方)が容易にされてしまいそうだと分かりました。そのような誤用を防ぐことを最優先とするため、代わりに「有害な振る舞い」という表現を使用し、人ではなく振る舞いに着目するタイトル及び文章に変更致しました。 はじめに 以下の記事を読んだ際に「難しい人」という表現が何となく面白い響きで印象に残ったので、これを機に自分の考えを今までの経験をもとに書きたいと思います。 “難しい人”が1人入ると、チームの生産性は30〜40%低下する 対抗せずに、場の「安心感」を作るための3つの条件 - ログミーBiz
フォームを改善するUIデザインのテクニックを紹介します。 フォームのデザインに少し手を加えるだけで、ユーザーにとって使いやすい、コンバージョンを高めるための実践的なテクニックが満載です。 15 UI Tips for Better Forms by Jim Raptis 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに 01. ラベルを常に記述する 02. Zパターンを避ける 03. ラベルを入力欄の上に配置する 04. 右揃えのラベルを使用する 05. 関連する入力欄をグループ化する 06. ユーザーフローを尊重する 07. スペースを与える 08. ラベルの繰り返しを避ける 09. エラーメッセージは分かりやすく 10. 必要に応じてドロップダウンを使用する 11. プレースホルダーを活用する 12. ボタンは1つに
この記事はこんな人に刺さるかも知れません🙂 ・デスクをすっきりさせるマガジンが好きな人 ・自宅のデスク環境を改善したい人 ・ガジェットが好きな人 ・スタンディングデスクが気になってる人 ・オーダー天板が気になってる人 ・ディスプレイを縦に並べてみようと思ってる人 ・MacやPCを天板裏に収納出来ないかアイデアを探している人 ・DIYが好きな人 ・ ・ ・ ・ケーブルの存在を消し去りたい人...🗑 こんにちは! LONZ(ロンズ)という会社をやっている、鈴木と申します。 普段はWEBやアプリのデザインや設計を。週末は極たまにお寺の住職をしてます。 そして生涯現役ピンピンコロリな人生を模索しています😌 さて、ここから本題です。 2020年リモートワークの波。 デスク環境改善の無限にループにはまる♻️2020年はほぼ自宅で仕事をしていた関係で、こんなループにはまってました...(こういう人
アークシステムワークスによる対戦格闘ゲーム『GUILTY GEAR XX ΛCORE PLUS R』(以下、GGXXACPR)のSteam版において、オンライン対戦の遅延を改善する「GGPO」と呼ばれるネットコードが試験的に導入された。このパブリックテストは10月29日から開始されている。また同時期に開催されているSteamのハロウィンセールによって同作は現在80%オフの296円にて購入することが可能だ。 Early reports say that #GuiltyGear XX Accent Core Plus R runs SMOOV with its new rollback code. You know what's SMOOV-ER than that? Picking it up for $2.99 on @Steam's Fall sale.https://t.co/JTkQ
プログラムの実行速度やウェブサイトの表示速度は、たった数秒の改善でも多くのエンジニアたちの苦心を必要としますが、時として拍子抜けするほどにあっけなく、かつ劇的な改善がなされる場合もあります。画像共有サービスのPinterestが自社のブログで「たった1行の変更でコードの実行時間を99%短縮した」事例を紹介しています。 How a one line change decreased our build times by 99% | by Pinterest Engineering | Pinterest Engineering Blog | Oct, 2020 | Medium https://medium.com/pinterest-engineering/how-a-one-line-change-decreased-our-build-times-by-99-b98453265370
LINEの開発組織のそれぞれの部門やプロジェクトについて、その役割や体制、技術スタック、今後の課題やロードマップなどを具体的に紹介していく「Team & Project」シリーズ。今回は、LINEアプリのiOSクライアント開発チームを紹介します。マネージャーの富家将己と朴盛民に話を聞きました。 ―― まず、自己紹介をお願いします。 富家:LINEのiOS版のエンジニアマネージャーをやっている富家です。仕事では、チームメンバーのマネジメントをしながら、技術検証など開発に関わるタスクも行っています。 朴:LINEアプリのiOS版のエンジニアマネージャーをやっている朴です。仕事ではLINT ProjectのメンバーとしてiOS側の作業をやっています。チームメンバーのマネジメントや他のチームのサポートも行っています。 ―― お二人がLINEに入った理由、働くやりがいなどを教えてください。 富家:私
突然ですが、「UI Stack」ってご存知ですか? アメリカのプロダクトデザイナー Scott Hurff さんが3年ほど前に世に出した考え方で、考慮すべき UI の5つの側面を示したものです。 当時「これは使える!」と思って社内向けに作った勉強会資料を見つけて、今でもやっぱりすごく大事だと思ったので、備忘録的に書いておきます。 ちなみに元記事はこちら。(英語です) UI Stack とは?Stackとは、1つの画面が持つ(複数の)側面、状態、ステータスのようなもの。その側面ごとに最適化されたUIを設計しようするのが UI Stack の考えです。 Scottさんが紹介しているUI Stackは5つ。 ※図はScottさんのページから引用 ・Blank State(空っぽの状態) ・Loading State(ローディング状態) ・Partial State(部分達成状態) ・Error
2019年10月9日、『神姫PROJECT』などソーシャルゲームの企画・開発を手がける株式会社テクロスが主催するイベント「TECH x GAME COLLEGE」が開催されました。第27回となる今回のテーマは「HTML5で『重い』問題をクリアしてリッチなゲームを作る」。株式会社ノックノート執行役員の岡山知弘氏が、話題のHTML5ゲームを作るにあたって、いかにJavaScriptでリッチなゲームを作りながら重い問題を解決していくかを語りました。前半パートとなる今回は、負荷改善における前提とCPUの問題についてレクチャーしました。 HTML5で「重い」問題 岡山知弘氏:それでは、30分ほどお時間をみなさんにいただいて、HTML5で重たい問題は、みなさんがHTML5を触られている方であれば、まさに直面しているかなとは思うんですけど、そこで弊社でどういうふうにアプローチしたのかをお伝えさせていただ
こんにちは。「家族アルバム みてね」の開発チームに所属している黒川と申します。今回は、その「みてね」の機能の1つで、写真や動画をDVDにして注文できる機能を動的計画法を使って改善した話をします。 「みてね」では家族の写真や動画をアップロードし、アプリ上で月ごとに振り返ることが可能になっています。一方、たとえば自宅のテレビやパソコンでまとめて振り返りたいという要望もあり、「みてね」では最長過去1年間の写真や動画をDVDにまとめて注文することができます。 このときに問題となるのがDVDのディスク分割です。1年分の写真や動画はともすると1枚のディスクに収まりきらず、複数のディスクに分割する必要があります。いままでは、動画を月ごとに分けて各ディスクに入れていく、というシンプルなアルゴリズムで分割を行っていました。しかし、ユーザーさんからは「1枚のディスクにすこしの動画しかないがどうなっているのか」
はじめに この半年くらいで初めて本格的にチーム開発を行い、今では日常的に GitHub の Pull Request を使っています。 チームの方々には、基本的なことから応用的な部分まで様々な観点からレビューをしてもらって、大いに勉強になりました。 ただ、時には「新人にとっては厳しいレビュー」をいただき、1 人で傷つきモチベーションを落とすこともありました。 もちろんそれは悪意のあるものではなくて、新人とレビュワーのスキルのギャップによって意図せず生み出されてしまうものです。 そのような不幸なレビューによって苦しむ新人が減ることを願って、新人を不用意に傷つけてしまう恐れのあるレビューをまとめていきたいと思います。 新人教育の場に少しでも役に立てていただけると嬉しいです。 前提条件 今回の対象とする「新人」は、本格的な開発経験が1年未満の方を想定しています。 個人で少しプログラミングはしてき
パフォーマンス改善ハンドブック ウェブページにおけるパフォーマンスに関する問題の見つけ方や考え方の事例をまとめた Webフロントエンド パフォーマンス改善ハンドブックを公開しました。 URL: https://dwango-js.github.io/performance-handbook/ このハンドブックでは過去に行ったWebフロントエンドのパフォーマンス改善の事例を中心に紹介しています。 注意点としてWebフロントエンドは常に変化しているため、現在の最適な解決方法を提案するものではありません。 また、アプリケーションによっても最適な解決方法は異なります。 今回の事例ではViewライブラリにReactを用い、映像再生プレイヤーなどある程度複雑な機能を持ったウェブアプリケーションのWebフロントエンドを扱います。 具体的にはニコニコ生放送(以下「生放送」)で行った事例を中心に書かれていま
リクルートテクノロジーズの大杉です。 広島市立大学修士2回生の飯沼さんと一緒に、自然言語要約ツールを作りましたので、リクルートテクノロジーズのgithubアカウントにて公開します。このapiでは、入力した文章から、指定したパラメータ(行数など)に応じて、重要だと思われる文の抽出ができます。例えば、当ブログ当記事の直前のこの記事を3行で要約すると、以下のようになります。 1. “リクルートテクノロジーズでは、ここ最近、UXデザインの専門家とビッグデータの専門家が、協力してリクルートグループ内の各事業に入り、プロジェクトを推進していく事例が多くなっています。”, 2. “UXデザインでは、定性的なリサーチと定量的なアクセスログ解析を組み合わせて、ユーザ行動を可視化することは以前からやってきました。”, 3. “「成功体験とは何か」を定義して、きちんとデザインできるかが、UXデザインの大きな目的
PWAで表示速度が2倍に! スピード改善を妥協しない日経電子版に学ぶ、PWAのメリット&デメリット ネイティブアプリに近い体験を簡単に提供できるとして注目を集めている「PWA」。実際に導入し、表示速度が2倍になったという日経新聞電子版の開発者に「PWA」のメリットとデメリットを伺いました。 PWA(Progressive Web Apps)は本当に「アリ」なのか――? ネイティブアプリの開発にはWebとは異なる専門知識が必要であり、またAndroidやiOSなどOSごとでも異なるため、リソースが膨大にかかるという課題があります。そこで昨今は、XamarinやReact Nativeなどのクロスプラットフォーム開発ツールを使い、ネイティブアプリやWebの開発を一本化しようという動きが活発になっています。 一方で、ネイティブアプリに近い体験を簡単に提供できるとして注目を集めているのが、Goog
2018年4月25日にはてなさんのオフィスでプレゼンしたときの資料です。 ※このスライドは、2017年1月に公開した資料 ( https://speakerdeck.com/makoga/regional-scrum-gathering-tokyo-2017 ) に「社外評価者」の取り組みなどを追加した内容になってます。 ---- 2018/05/15追記 このスライドを公開後、下記2点を懸念する声がいくつかありました。 ・プレゼンスキルだけが高い人が過剰に評価されるのでは。 ・社内政治やコネを作るのがうまい人が過剰に評価されるのでは。 それを受けて、工夫していることを別ブログとして書きましたので、ぜひ読んでみてください。 適切な技術力評価をするために工夫していること https://note.mu/makoga/n/nfafc523957f3 ---- 2019年2月5日追記 スライドだ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く