2023-11-21 技術的負債に向き合う Online Conference https://findy.connpass.com/event/297813/
「SREの現場から」と題した本連載では、さまざまな企業におけるSREの実践事例を不定期に紹介していきます。 こんにちは、LINE株式会社の加藤(maru)です。SREチームに所属し、主にLINEスタンプや着せかえ、ホームタブ、ウォレットタブでEmbedded SREとして信頼性の改善に従事しています。 LINE株式会社は、コミュニケーションアプリ「LINE」を機軸として、コミュニケーション・コンテンツ・エンターテイメントなどモバイルに特化した各種サービスの開発・運営と広告事業に加え、Fintech事業、コマース事業などを展開しています。基軸となる「LINE」アプリは2023年現在、世界で約2億人が利用しており、LINEスタンプと呼ばれる画像を用いたコミュニケーションがユーザー同士で活発に行われている点が大きな特徴のひとつです。 これから数回にわたり、SREの私が主に担当しているLINEスタ
InteractorオブジェクトとはInteractorオブジェクトとは「デザインパターンのひとつで、ビジネスロジックをカプセル化するためのモデル層に属するクラス群」です。ひとつのInteractorオブジェクトはひとつの責務をもちます。 「ひとつの責務」とは、たとえば「記事を投稿する」「決済を行う」という、それ以上分割できない責務です。またInteractorオブジェクトを使うための共通のインタフェースが定義されます。 Interactorオブジェクトと同じ役割として、Serviceオブジェクトがあります。ただ、Railsの文脈で語られるServiceオブジェクトは定義があいまいで、特定のルールをもちません。ルールがないとインタフェースが統一されず、また複数の責務をもってしまうといった問題が生じます。 Interactorオブジェクトはビジネスロジックをカプセル化する役割をもち、インタフ
私たちの公式Twitterで「この食べ方に出会ったから、この食材を買うようになった」エピソードを集めてみたら、すごいことになった!という話です。 きっかけ 世の中には食材もレシピも星の数ほどあります。 そしてスーパーに買い物に行けばたくさんの食品があり(これは、生産者さん、メーカーさん、流通に携わる皆さんのおかげであり、非常に恵まれたことです)、世の中に溢れるレシピを試すことは(やる気さえあれば)容易です。 しかしながら、日常的に自分の食事を振り返ると、かなり限られた種類の食材しか買いませんし、作る料理の幅も広くはありません。 買い物に行った時の思考回路を思い返してみると、 ・キャベツか…野菜炒めかな…寒いからおでんに入れるか… ・トマト…そのまま食べるか、卵炒めか… ・カリフラワー…あんまり使ったことないな… ・豚こま肉…野菜炒めか、よだれ豚か… ・鶏むね肉…ど、どうしてもパサパサするか
脳の右側で描け ワークブック はい。 ベティ・エドワーズの「脳の右側で描けワークブック」を全て終えたので更新します。 全てを終えての所感をこれから書きますが、この本は「ある程度絵が描ける人」「模写ができる人」「絵を描くことが楽しい人」にはほぼ無意味、もしくは効力が低いと思います。 対し、この本を読む・ワークブックに取り組むのに適している人は「絵心がない人」「自主的に絵を描いた事がない人」「絵を描くことが苦痛な人」「絵の描き方を教えてもらった覚えがない人」「絵が描けるようになりたいけど、デッサン等に取り組む胆力がない人」等の絵心が育まれなかったまま成人した人、いわば絵の超初心者に適しています。 (追記2021-05-13:適しているという表現が何だコイツと思ったので斜線。断言調で書かれてても所詮はn=1なので話半分に読んでください) この本です。 右脳って・・・胡散臭いよ 人によっては題名見
尊厳死法制化をめぐる議論で、尊厳死を推進しようとする人たちの中から「既に安楽死や自殺幇助を合法化した国では、なんらおぞましいことは起こっていない」という発言が出ることがある。私はそうした発言に遭遇するたびに、そこでつまづき、フリーズしたまま、その先の議論についていくことができなくなってしまう。 「おぞましいこと」は本当に起こっていないか? それとも現実に何が起こっているかを、この人は知らないのか? しかし、これだけ尊厳死法制化に積極的に関わってきたこの人が、本当に知らないということがあるだろうか? それとも現実に起こっていることを十分に承知していながら、なおかつそれらをこの人は「おぞましい」とは思わない、ということなのだろうか? ……目の前の議論から脱落し、そこに立ち尽くしたまま、私の頭はこだわり続けてしまう。 2006年の夏から、インターネットを使って介護と医療に関連する英語ニュースをチ
2018年9月12日、メドピア株式会社が主催するイベント「MedBeer」が開催されました。今回のテーマは「Rails開発での技術的負債との付き合い方」。長期間の開発において避けて通れない技術的負債をいかにして克服するか? そのノウハウを語ります。「Rails Good Parts, Bad Parts」に登壇したのは、前島真一氏。技術的負債を増やさないRails活用法を解説します。 技術的負債を増やさずに開発する 前島真一氏:では、始めたいと思います。お願いします。前島です。ginza.rbというコミュニティをやってます。あとはメドピアさんを始め、何社かで技術顧問として活動をしています。 主にやっていることは、負債を減らしたり、これから作るもので負債を増やさない、ということをがんばっています。ほかにもいろいろやっていますが、気になる人は資料があるので、そちらを見てください。 今日のテーマ
2022年1月より、トヨタ自動車 デジタル変革推進室 に主査(担当部長)としてジョインし、6月より、アルゴリズムグループを新設しました。 (22/08/09 11:40追記) アルゴリズムグループについての情報は以下のページにあります!!! (追記おわり) atcoder.jp 「なんで急にそんなことやってるの?」、「AtCoderの業務に集中しろよ!って思う人もちょこちょこいると思うので、そのあたりの考えを、AtCoder社長としての立場で書きたいと思います。 AtCoder・chokudaiを知らない人のための情報 ここは知ってる人は飛ばしてください。 AtCoder 2012年から提供されている、プログラミングコンテスト(競技プログラミング)のサービスです。年間70回程度のコンテストをオンラインで開催しており、世界中から40万人のユーザが登録・参加しています。 chokudai At
こんにちは。@kenkoooo です。 教科書に載っているようなアルゴリズムって勉強しても仕事では全然使わない、と見せかけて意外と使うなぁと感じたので、仕事で見たことがあるアルゴリズムをいくつか紹介します。 広告を配信したい! あなたはウェブサービスの会社で働いています。サービス利用者のユーザーに広告を配信することで、広告主からお金をもらっています。 あなたは今から広告主からもらった広告をユーザーに配信します。 広告主が 社います。 広告主 は広告を 人に配信したいです。 配信対象となるユーザーが 人います。 ユーザー は広告主 の広告は受け取りを許可しています。 ユーザー は、合計 件までしか広告を受け取りたくないです。 上記のような条件の中で、どのように広告を配信したら良いでしょうか? 条件を整理する 条件を整理してみましょう。 各ユーザーごとに、受け取りを許可している広告主がいます。
はじめに スタンフォード大学の John Ousterhout 教授が執筆された “A Philosophy of Software Design”(以下 APoSD と略す) という書籍をご存じでしょうか? 書籍のタイトルを直訳すると、「ソフトウェア設計の哲学」となります。書籍の内容はまさに、ソフトウェア設計について扱っています。 本書籍をベースに、「A Philosophy of Software Design を30分でざっと理解する」というお題で社内ランチ勉強会が開催されました。本記事執筆者である岩瀬(@iwashi86)が発表者であり、勉強会資料は以下のとおりです。 スライド P.4 に記載したとおり、本書籍は John Ousterhout 教授の意見が強く反映されており、ソフトウェアエンジニアであれば、議論を呼ぶ箇所があります。実際、勉強会の実況Slackでは、「これはどうな
解決したい問題 例として、飲食店の予約サービスを考える。 予約を受け付けるためには各店舗の営業スケジュールを管理しておいて、営業日の営業時間内のみ予約を受け付けるようにする必要がある。 たとえば、ある店舗は各曜日の営業時間について、以下のように定めているとする。 平日:11:30-22:00 土曜日:11:00-22:00 日曜日:11:00-21:00 定休日:木曜日 これを素朴に設計すると、たとえば以下のような「営業日については営業時間を保持し、定休日についてはレコードがない」というテーブルになるかもしれない。 店舗 曜日 開店時刻 閉店時刻
マネーフォワード福岡拠点の責任者をしております 黒田 です。 普段はRailsエンジニアとして マネーフォワードクラウド経費 の開発を担当しています。 普段Railsを使って開発されている方であれば、N+1問題に悩まされた経験は大抵の方がおありではないでしょうか。 N+1なクエリの発見には bullet を使うと良いですね。 bulletを使うとN+1なクエリを発見してくれ、さらに、具体的にここにincludesを追加しなさいと指摘までしてくれるので大変助かります。 しかし、先日bulletに言われるがままにincludesを付けてみたところ、N+1は解消したものの、スロークエリに見舞われることとなったので、includes,preload, eager_loadについて改めて調べてまとめてみることにしました。 (ソース調査したRailsのバージョンは 6.0.0.beta3 です。) i
Executive Summary ポランニー『ダホメ王国と奴隷貿易』は、ダホメでは経済が社会に埋め込まれており、各種交換は社会関係の一環として行われる儀礼でしかない、権力関係の結果として行われるお歳暮やお中元みたいなもの、という描き方をする。だがその見方は片手オチではないか? 各種交換や配布は人々の生存に直結するものであり、その中では、そうした贈与にせよ交換にせよ、そうした行為自体が権力を創り出す。これはコルナイ・ヤーノシュ「不足の政治経済学」の指摘でもある。つまり、そうした経済関係がむしろ社会関係とその権力関係を創り出しているのでは? ニワトリと卵的な面もあるが、社会関係を先に置くのは倒錯ではないのか? 昨日、ポランニー『ダホメ王国と奴隷貿易』の全訳終わった。 cruel.hatenablog.com この本は、小さく見れば17-19世紀ギニア海岸での経済システムと、特に奴隷貿易に伴う
先日からずっと、ラヴジョイ『存在の大いなる連鎖』の勝手な翻訳とまとめをやっているのはご存じのとおり。 cruel.hatenablog.com 残った一つの章は、とっても大事なんだけれど長いので、仕上がるのはかなり先になるとは思う。が、それとは別の余談。 先日、コーマック・マッカーシー遺作『通り過ぎゆく者』『ステラ・マリス』邦訳が出た。 で、決してわかりやすい本ではないので、ほとんどの人はたぶんチンプンカンプンだと思う。これまでに出てきた感想を見ても、読点のない乾いた文体と残酷な世界が〜、原爆が〜、みたいな訳者あとがきの反芻みたいな感想文ばかりで、あんまりおもしろい書評は見ていない。これは別に日本だけではなく英語のレビューとかでも同様。 たぶんこのままだと、みんな敬遠してだれも何もきちんとしたことを言わないままになっちまうといやだな、と思ったんだ。昔、朝日新聞の書評委員だった頃、気楽に読め
こんにちは。スキルアップAIの小宮です。本ブログでは、AI を用いた音声・音楽モデルに必要な、音声信号処理の基礎知識について解説します。第2回の今回は、スペクトル解析について解説します。 第1回の内容はこちらです。 1.スペクトル解析 音声データの分析においては、音声波形そのものを分析するということは少なく、通常は周波数成分に分解した状態で分析を行います。フーリエ変換を用いて音声波形を周波数成分に分解したものをスペクトル(Spectrum)と呼び、スペクトルを解析することをスペクトル解析と呼びます。 1-1.フーリエ変換 音声波形を周波数成分に分解する際にはフーリエ変換を用います。コンピュータで扱われる音声信号は離散信号(デジタル信号)であるため、フーリエ変換の中でも離散フーリエ変換を用います。元の音声信号を x 、スペクトルを X とおくと離散フーリエ変換は次のように定式化されます。 x
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 bashパフォーマンスMySQLInnoDBDB設計インデックス こんにちは、羽山です。 今回は MySQL のプライマリキーに UUID を採用する場合に起きるパフォーマンスの問題を仕組みから解説します。 MySQL(InnoDB) & UUID のパフォーマンスについては各所でさんざん議論・検証されていますが、論理的に解説した記事が少なかったり一部には誤解を招くようなものもあるため、しっかりと理由から理解するための情報として役立つことができればと思っています。 UUID と比較される古き良き昇順/降順のプライマリキーはというと、 MySQL の InnoDB において良いパフォーマンスを出すために縁の下の力持ちのような働きをしてくれているケースが実は少な
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く