タグ

moznionのブックマーク (3,528)

  • ISUCON 14: ClickHouse と OpenTelemetry で ISUCON の計測環境を作ったら快適だった - Unyablog.

    ISUCON 14 に id:utgwkk, id:wass80 と「ミレニアムサイエンススクール」というチーム名で参加した。 結果は 28875 点で 22 位!去年は fail して最下位だったので反省を活かすことができたのでは? 一昨年に Kiemetry (Otel) をベースにモニタリング環境を作り直し、バックエンドは ClickHouse、フロントは Grafana の構成でやってみた。これがなかなか良かったので紹介。 コンテスト当日のアプリ改善周りは utgwkk の記事を見てください。 blog.utgw. ISUCON 14: ClickHouse と OpenTelemetry で ISUCON の計測環境を作ったら快適だった - Unyablog.

    moznion
    moznion 2024/12/09
  • 生成AIを有効活用した「魔力」のあるプロダクト作り - inSmartBank

    先日、スマートバンク史上初となる生成AIを活用したプロダクトである「AIレシート読み取り機能」をリリースいたしました。この機能はざっくり言うと生成AI (記事では「大規模言語モデル」と同じ意味として利用します) を用いてレシートの内容を解析し、店舗名や総額などを抽出しつつその支出カテゴリを推定してB/43アプリ内の家計簿に登録できるというものになります。なかなか良い感じにレシートを読み取ることができ、それだけでもなかなか楽しいのでまだお試しになられていない方は是非使ってみていただければ嬉しく思います。 b43.jp さて、そうして世に出たAIレシート読み取り機能なのですが、生成AIを始めて利用したプロダクト作りということもあり試行錯誤を重ねながらの開発となりました。記事ではその過程で得られた知見について共有したいと思います。 なお、今回は技術的詳細に踏み込んだ話ではなくプロダクト作りそ

    生成AIを有効活用した「魔力」のあるプロダクト作り - inSmartBank
    moznion
    moznion 2024/11/19
  • プロダクト開発におけるリスクを排除するためにモバイルアプリエンジニアができること - inSmartBank

    こんにちは、スマートバンクでモバイルアプリエンジニアをしているロクネムです。 書籍『INSPIRED 熱狂させる製品を生み出すプロダクトマネジメント』ではプロダクト開発には以下の4つのリスクがあると説明されています: 実現可能性のリスク: エンジニアが、持っている時間とスキルとテクノロジーで必要なものを作れるかどうか 価値のリスク: 顧客が購入するかどうか ユーザビリティーのリスク: ユーザーが使い方をわかるかどうか 事業実現性のリスク: ソリューションが、販売、マーケティング、財務、法律など、ビジネスのさまざまな分野でも問題がないかどうか (順番は入れ替えています 🙏) 同書では、優れた開発チームはこれらのリスクに対して開発の早い段階で取り組むと記されています。 自分はこれらのリスクのうち「実現可能性のリスク」「価値のリスク」「ユーザビリティーのリスク」の3つについてはモバイルアプリエ

    プロダクト開発におけるリスクを排除するためにモバイルアプリエンジニアができること - inSmartBank
    moznion
    moznion 2024/10/31
  • 「最高のチューニング」をしないために / hack@delta 24.10

    https://hack-at-delta.connpass.com/event/332966/

    「最高のチューニング」をしないために / hack@delta 24.10
    moznion
    moznion 2024/10/31
    めっちゃよかった
  • ここまでできるの!?LLMにクイズ画面作ってもらったらすごかった - inSmartBank

    こんにちは!スマートバンクのmitaniです。 だんだんと寒くなってきて年末の足音が聞こえてきましたね。スマートバンクでは10月25日から行われるKaigi on Railsで今年最後のブースを出展します。ブースではクイズに答えて全国各地の名産お菓子を掴み取りする企画をやるのでぜひ遊びに来てください。 今回のブログでは、ブースで使うクイズ画面のコーディングを完全にLLMに任せてみた取り組みを紹介しようと思います!果たしてLLMは期待通りのコーディングをしてくれるのか?気になる方はぜひチェックしてみてください! 作りたいもの ネプリーグというテレビ番組でやっている「パーセントバルーン」というクイズをご存知でしょうか?初めに100個のバルーンが残りライフとして与えられます。0~100の%で答えられるクイズが出題され、正解との誤差だけバルーンが破られていきます。そして最後に残ったバルーンの数を競

    ここまでできるの!?LLMにクイズ画面作ってもらったらすごかった - inSmartBank
    moznion
    moznion 2024/10/23
    マルチモーダル活用してデザイン指定できるの素朴にすごい
  • オイ、そこのSELECT COUNT。余計な数え上げに意味なんかねえ - inSmartBank

    こんにちは。MySQLは秋の季語とする一派が世に存在していることを知り、私もMySQLに関わる記事を書いてみようと筆を取ることにしました。 さて、リレーショナルデータベースをバックエンドとするWebアプリケーション開発において、特定の条件に合致するレコードがN件だけ存在するかどうかを確認するロジックは頻出といえます。プログラマとして一度は書いたことがあるのではないでしょうか? この記事ではそのような件数カウントを行うためのクエリが引き起こした性能劣化と、その改善アプローチについて紹介していきます。 なお、記事の内容はMySQLを前提としており、アプリケーションコードの例はRuby on Railsを用いますが特別な前提知識は必要ありません。コードの雰囲気だけ感じ取っていただければと思います。 ありがちなコード if query.count == n の問題 冒頭で述べた通り、特定の条件に

    オイ、そこのSELECT COUNT。余計な数え上げに意味なんかねえ - inSmartBank
    moznion
    moznion 2024/10/11
    良い
  • MySQLのロックに起因するブロックタイムアウト撃退記 - inSmartBank

    こんにちは。スマートバンクのサーバーサイドエンジニアをやっておりますid:moznionです。 すっかり秋めいてきましたね。秋といえばMySQL*1、ということで今回は先日解消した「MySQLのロックに起因するブロックタイムアウト」のトラブルシューティングついて記していきたいと思います。 事の発端 ある時を境にSentryに ActiveRecord::LockWaitTimeout というエラーがしばしば報告されるようになっていました。 SentryにActiveRecord::LockWaitTimeoutが上がってきている様子 Mysql2::ait timeout exceeded という文言から、MySQL上でロックを取っている他のクエリにブロックされ、そのブロックが長時間に渡ったため自クエリがタイムアウトしてabortしてし

    MySQLのロックに起因するブロックタイムアウト撃退記 - inSmartBank
    moznion
    moznion 2024/10/02
    Blogged
  • PostgreSQLのチェック制約でSELECTの結果を使って制限する - そーだいなるらくがき帳

    今北産業まとめ チェック制約ではSELECTが書けない 代わりにストアドファンクションを使う 最終手段なのでメインで多用するのはやめよう やりたいこと チェック制約でカラムの値をチェックしてバリデーションしたいことがある。 同じINSERTの値であればCASEで下記のような方法で対応することができる。 soudai.hatenablog.com しかしチェック制約ではSELECTによって事前のデータを確認することができない。 正しく PostgreSQLのチェック制約でSELECTの結果を使って制限する - そーだいなるらくがき帳

    moznion
    moznion 2024/09/17
  • iPhoneのカメラで夜空に名前を描く :: デイリーポータルZ

    1971年東京生まれ。デイリーポータルZウェブマスター。主にインターネットと世田谷区で活動。 編著書は「死ぬかと思った」(アスペクト)など。イカの沖漬けが世界一うまいべものだと思ってる。(動画インタビュー) 前の記事:モバイル監視カメラでなんでもわけありに > 個人サイト webやぎの目 ゴーストとは ゴーストとは暗いところでネオンなどを撮ったときに、意図してないところに出る光の反射のことだ。iPhoneは数世代前から出るようになった。 こういうの出ますよね テープ状に貼ってあるLEDは特に出る iPhoneのような狭いところに無理してレンズを入れているせいか、レンズのなかで光があっちゃこっちゃに反射しているようだ。 でも逆に考えたら、これを利用して夜空に模様を描くことができるんじゃないだろうか?

    iPhoneのカメラで夜空に名前を描く :: デイリーポータルZ
    moznion
    moznion 2024/09/03
    めっちゃいい
  • MySQL 8.0アップグレード後に性能劣化したクエリ: セミジョイン編 - inSmartBank

    データベースアップグレード後の性能劣化、イヤですよね。 去る2023年某日、弊社ではAmazon Aurora MySQL 互換エディション 2 (MySQL 5.7 互換) から Aurora MySQL 互換エディション 3 (MySQL 8.0 互換) にアップグレードしました。当時の背景やアップグレードに関する知見は以下の記事をぜひ読んでみてください。 blog.smartMySQL 8.0へのアップグレード前後においてもいくつかの問題に遭遇しました。 記事ではそんな問題の一つ、MySQL 8.0のオプティマイザが選択したセミジョイン最適化が性能劣化を引き起こした事例と解決方法について紹介し

    MySQL 8.0アップグレード後に性能劣化したクエリ: セミジョイン編 - inSmartBank
    moznion
    moznion 2024/07/29
  • PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog

    こんにちは ハタ です。 Mirrativ では 2020年頃から サーバサイドの技術PerlからGoへのシステム移行 を行っており、2024年現在でもサグラダファミリアのように移行作業は継続しています PerlGoという2つの環境を同時に運用していますが、 基的には 新機能は Go で実装 し、 Perlでは積極的に新規実装を行わない というスタイルで進めていました しかし、既存の機能の一部に手を加えたいとなった場合、まだまだ Perl の実装に手を加えることが一定あり、Perl から Go の機能を呼び出したいというニーズが出てきました (配信やギフトといったビジネスの根幹を支えるレガシーな実装においては顕著) そこで PerlXS を利用することで Perl から Go を直接呼び出せるようにできないかと考え検証を進めることにしました Goの -buildmode=c-shar

    PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog
    moznion
    moznion 2024/05/07
  • https://upamune.github.io/go-lunch-lt-2024-04/1

    moznion
    moznion 2024/04/23
  • Signed Query は GraphQL の Trusted Document の新しい実装パターンです - スタディサプリ Product Team Blog

    こんにちは。スタディサプリの小中新規開発チームで Web エンジニアをしている @YutaUra です。 去年の4月に新卒で入社をしまして約 1 年が経ちました。インターン生時代にもブログを書いているのでご興味あれば合わせてご覧ください。 GraphQL と Persisted Query スタディサプリ小中講座ではデータ通信に GraphQL を採用しています。 GraphQL を利用することで、クライアントはスキーマに定義された範囲で自由にデータを取得することができます。 query GetUser { user { name age } } また、 GraphQL はデータのグラフ構造に基づいて関連する複数のデータを一度に取得することができます。 query GetUser { user { name age posts { title content } } } GraphQL

    Signed Query は GraphQL の Trusted Document の新しい実装パターンです - スタディサプリ Product Team Blog
    moznion
    moznion 2024/04/16
  • Deep Dive

    TiKV is a distributed, transactional key-value database. It has been widely adopted in many critical production environments — see the TiKV adopters. It has also been accepted by the Cloud Native Computing Foundation as a Sandbox project in August, 2018 and since then has moved to the Graduated project maturity level. TiKV is fully ACID compliant and features automatic horizontal scalability, glob

    Deep Dive
    moznion
    moznion 2024/02/01
  • チバユウスケが亡くなった (山崎洋一郎の「総編集長日記」)-rockinon.com|https://rockinon.com/blog/yamazaki/208246

    チバが亡くなるなんて思ってもみなかった。いまだに受け止められない。がんと闘っていたと聞いてはいても、絶対大丈夫だと勝手に思い込んでいた。 J-POPや渋谷系ポップが全盛で、真にロックなバンドの新たな系譜が久しく途絶えていた時期に突如現れたのがミッシェル・ガン・エレファントだった。そこから僕は取り憑かれたように何度も彼らにインタビューし、特にチバには長い時間に渡ってい下がるようなインタビューを何度も試みて、そのすべてをJAPANのページに刻んできた。 ミッシェルが登場したことで、日音楽シーンは一気にロックの色に染まっていった。だがべつに、ミッシェル以外に多くのロックバンドが登場して盛り上がったわけではない。ミッシェル・ガン・エレファントという一つのバンドの力で、それが起きたのだ。当時を知っている人には、それはわかるだろう。とてつもないバンドであり、事件ですらあった。 チバはその時、自分

    チバユウスケが亡くなった (山崎洋一郎の「総編集長日記」)-rockinon.com|https://rockinon.com/blog/yamazaki/208246
    moznion
    moznion 2023/12/07
  • RailsアプリのCI高速化

    参加しているプロジェクトで、RailsアプリのCIの高速化を行った。 まだ進行中の部分も幾つかあるが、結果から言うと、元々8分前後だったテストが3分半程度に短縮された。行った作業を幾つかの観点に分け、どのように高速化を行ったか、どの程度高速化されたか等を記述する。 プロセス数とマシン性能の調整 元々は2コア1プロセス4マシンで8分程度掛かっていたが、8コア8プロセス1マシンに変更することで5分程度に短縮された。 このプロジェクトではCIにGitHub Actionsを利用している。GitHub Actionsではデフォルトで2コアのマシンが利用されるが、Large runnerを利用して8コアに変更した。コア数を2倍にした代わりにマシン数も半分に減らしたので、結果的に費用は変わっていない。 また同時に、8プロセスで並列実行するためにparallel_testsを導入した。このプロジェクト

    moznion
    moznion 2023/10/31
  • Money

    Money Represents a moit's always puzzled me that money isn't actually a first class data type in any mainstream programming language. The lack of a type caublems, the most obvious surrounding currencies. If all your calculations are done in a single currency, this isn't a huge problem, but once you involve

    Money
    moznion
    moznion 2023/10/25
  • Perfectly Reproducible, Verified Go Toolchains - The Go Programming Language

    Russ Cox 28 August 2023 One of the key benefits of open-source software is that anyone can read the source code and inspect what it does. And yet most software, even open-source software, is downloaded in the fain attack on an open-source project, the least visible way would be to replace th

    Perfectly Reproducible, Verified Go Toolchains - The Go Programming Language
    moznion
    moznion 2023/08/29
  • 第28回 moznion, mazco - にゃんこ酒場.fm 公式ホームページ #にゃんこ酒場

    id:moznion id:mazcoで1週間禁酒した話、ゼロアルコールビール、格ゲーのアケコンの話をしました。 感想やおすすめのアケコン情報を教えてくださる方は#にゃんこ酒場 でツイートしてください! おたより募集中です!! ====> https://fPCacuiLv7F5Fwer5 Show Noteアルコール www.kirin.co.jp ファイティングコマンダー 有線を延長したら遅延するんでしょうか? id:Soudaiさんもしご存知でしたら教えてください。 hori.jp けんすい?けんすい?あ、酔拳 https://www.stre 第28回 moznion, mazco - にゃんこ酒場.fm 公式ホームページ #にゃんこ酒場

    moznion
    moznion 2023/08/20
    禁酒しました!!
  • #yapcjapan YAPC::Kyoto 2023に行ってきた・喋ってきた - その手の平は尻もつかめるさ

    yapcjapan.org 2023年3月19日に開催されたYAPC::Kyoto 2023に参加してきました。もう2週間も前の話になるんですね......USに戻ってきてから色々あり、すっかりブログを書くのが遅くなってしまいました。 YAPC::Kyotoの様々な感想については「にゃんこ酒場.fm」で id:pPodcastが公開されているので是非お聴きくださいませ! nyanco-sakaba-fm.hatenablog.com 面白かったトーク ジョブキューシステムFireworqのアーキテクチャ設計と運用時のベストプラクティス id:tarao さんの発表。Fireworqが発表されたあたりって、スケーラビリティが高くなおかつ複数の言語から良い感じで使えるジョブキューのプロダクトについて「何使えば良いんだろうねえ」っ

    #yapcjapan YAPC::Kyoto 2023に行ってきた・喋ってきた - その手の平は尻もつかめるさ
    moznion
    moznion 2023/04/02