タグ

関連タグで絞り込む (294)

タグの絞り込みを解除

*devに関するsh19910711のブックマーク (2,081)

  • 大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』 - ZOZO TECH BLOG

    こんにちは。MA部の田島です。 弊社では開発ガイドラインというものを用いて、システムの品質を担保しています。今回私がテックリードを務めているということもあり、バッチアプリケーションを開発するためのガイドラインを作成しました。記事では「開発ガイドライン」と「バッチ開発ガイドライン」を紹介します。 バッチアプリケーション開発に限定したTipsはまとまっているものが多くないため参考にしていただければと思います。 開発ガイドラインについての紹介 冒頭でも紹介した通り弊社では、開発ガイドラインというものを用いてシステムの品質を担保しています。バッチ開発ガイドラインを紹介する前に、まず開発ガイドラインを紹介します。 開発ガイドラインの種類 開発ガイドラインは現在、以下の種類が存在します。 共通 Android iOS Frontend Backend Infra API Batch DB(Datab

    大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』 - ZOZO TECH BLOG
    sh19910711
    sh19910711 2024/06/10
    "リトライを実装することはバグの原因になるため、ツールのリトライ機構に任せる / 利用しているクライアントライブラリなどにリトライ機構が含まれている場合は適切に設定"
  • SnowflakeのデフォルトのタイムゾーンがPDTで苦戦したお話

    前置き こんにちは。株式会社GENDAのこみぃです。 今日のお話は、データに関わる人なら結構頭を悩ませることが多いタイムゾーンについてのお話です。 データではタイムゾーンは超大切! システムのタイムゾーンを把握しておくのはデータ基盤に限らず非常に大切なのですが、データにおいてはタイムゾーンを把握しておくのは特に非常に大切です。 理由は、 データを突合するときにタイムゾーンがズレているとエライことになる からです。 特に以下の2つのパターンのミスが起こりがちです。 データソースごとにタイムゾーンが違うことにより起こるミス 例えば日々の売上のデータと来客数のデータを集計してお客様一人あたりの売上というデータを作りたかったとしましょう。 ここで来客数と売上のデータのタイムゾーンが違うと正しいデータができません。 例えばUTCとJSTのデータが混在していた場合に5/27のお客様一人あたりの売上のデ

    SnowflakeのデフォルトのタイムゾーンがPDTで苦戦したお話
    sh19910711
    sh19910711 2024/06/09
    "タイムゾーンを把握しておくのはデータ基盤に限らず非常に大切 / データを突合するときにタイムゾーンがズレているとエライことになる / ALTER ACCOUNT SET TIMEZONE = 'UTC';" 2022
  • プロンプトを見て、LangSmithのevaluatorを理解する

    はじめに LangSmith langchain.com が提供する LLM アプリ開発のプラットフォームです 2024/02/15 に GA した、今ホットなツールです LangSmith では evaluator を指定することで、様々な評価指標を出力することができます from langsmith import Client from langchain.smith import RunEvalConfig, run_on_dataset evaluation_config = RunEvalConfig( # ここで指定 evaluators=[ "qa", "context_qa", "cot_qa", ] ) client = Client() run_on_dataset( dataset_name="<dataset_name>", llm_or_chain_factory

    プロンプトを見て、LangSmithのevaluatorを理解する
    sh19910711
    sh19910711 2024/06/08
    "LangSmith: langchain が提供する LLM アプリ開発のプラットフォーム + evaluator を指定することで、様々な評価指標を出力 / そのほとんどが LLM 自身による評価 + 「このように評価して」とプロンプトで指示"
  • リリースされていない変更が溜まるのを防ぐGitHub Action「tocenbough」 - モナドとわたしとコモナド

    チームでソフトウェア開発をするとき、一度のリリースに含まれる変更が多すぎることにより、動作検証に時間がかかったり、問題が発生した時の原因特定が難しくなることがある。これを防ぐため、tocenboughというGitHub Actionを作った。読み方はもちろん「とおせんぼう」だ。 github.com 内容は至ってシンプルで、前回のlatest releaseからのマージコミットの数を計算し、その数が閾値を上回ったら落ちるというだけのスクリプトである。かなり単純なので、動作を把握するにはソースを見てもらったほうが早いかもしれない。 # GitHubから最新のリリースのタグを取得する。これがプルリクエストの数をカウントする起点となる latest=$(curl -H "Authorization: Bearer ${{ inputs.token }}" --silent \ "https://

    リリースされていない変更が溜まるのを防ぐGitHub Action「tocenbough」 - モナドとわたしとコモナド
    sh19910711
    sh19910711 2024/06/08
    "一度のリリースに含まれる変更が多すぎることにより、動作検証に時間がかかったり、問題が発生した時の原因特定が難しくなる / 前回のlatest releaseからのマージコミットの数を計算 + 閾値を上回ったら落ちる" 2023
  • Amazon SageMaker Studio + AWS Cloud9 でファイルシステムを共有して快適な機械学習開発環境を構築する

    みなさん、最近 sage を make していますか? 今回は往年の2ちゃんねる用語の話ではなくて、Amazon Web Services (AWS) が提供している機械学習開発プラットフォーム Amazon SageMaker のお話です。 Amazon SageMaker Studio と AWS Cloud9 で EFS のストレージを共有して両者いいとこどりのいい感じの開発環境を作ろうというのがテーマです。 はじめに SageMaker はデータサイエンティストや機械学習エンジニアが、機械学習の開発運用プロセス全体を効率化していただくために使っていただけるような機械学習プラットフォームのマネージドサービスです。 データのラベリングや特徴量変換といったデータの準備のフェーズから、モデルの構築、トレーニング・チューニング、デプロイ・モニタリングといった、それぞれのフェーズにおいてユー

    Amazon SageMaker Studio + AWS Cloud9 でファイルシステムを共有して快適な機械学習開発環境を構築する
    sh19910711
    sh19910711 2024/06/08
    "SageMaker Studio と Cloud9 で EFS のストレージを共有して両者いいとこどりのいい感じの開発環境を作ろう / SageMaker Studio: Jupyter の環境と、計算環境と、ストレージが分離 + その場その場で最適な環境を用いることができる" 2022
  • BERTを用いた自然言語処理プロダクトの開発・運用

    近江崇宏、「BERTを用いた自然言語処理プロダクトの開発・運用」 TensorFlow User Group Meetup #12 https://tfug-tokyo.connpass.com/event/204504/

    BERTを用いた自然言語処理プロダクトの開発・運用
    sh19910711
    sh19910711 2024/06/08
    "固有表現抽出: 機械には難しい + 企業名を正しく抽出するには文脈を踏まえた処理が必要 / Stockmark BERT: ニュース記事をもとに学習データを作成 + 高精度な企業名抽出モデルを開発 / Cloud Runを用いて前処理・後処理" 2021
  • 過去のGitHub Actionsのbuild時間を取得して集計してグラフにする - xuwei-k's blog

    継続的にメンテナンスするのではなくて、雑な使い捨てでいいならshellscriptとjq職人芸でいけるので頑張ってしまったけれど、継続的にやるならもっと違うもので書いた方がメンテナンスしやすいと思います。 細かい部分はいくらでも改善の余地があるとは思いますが、とりあえず動いたのでヨシ・・・!? 以前も多少似たような何か作ったけど、こういうの誰か既にもっと綺麗に作ってないんですかね。 xuwei-k.hatenablog.com GitHub Actionsのログはデフォルトでは90日保存されてるはずなので、その程度の期間をなんとなく集計したいだけならば、こうやって後から集計するだけで十分ですね。 もちろん、yamlの内部の構造がすごく変わっていると集計が難しいか実質不可能になるリスクはありますが。 もっとしっかり計測したいならば、buildした時点で専用の場所に綺麗に記録して、他のもっとリ

    過去のGitHub Actionsのbuild時間を取得して集計してグラフにする - xuwei-k's blog
    sh19910711
    sh19910711 2024/06/07
    "GitHubはmermaidの形式を大体?全部?サポートしてる / markdownが貼り付け可能な任意の場所に貼り付けると勝手に折れ線グラフにしてくれます / GITHUB_STEP_SUMMARY に直接書き込めば表示や保存まで全自動で最高便利"
  • LLMにまつわる"評価"を整理する

    「LLMの評価」というフレーズを見て、どんなことを思い浮かべるでしょうか? おそらく大半はLLMモデル自体の評価のことを思い浮かべると思います。新しいモデルが出てきた時に𝕏で見かける「GPT-4o のMMLUベンチマークは89%!」みたいなアレ。 ですが、プロダクト開発にLLMを使っている人の間では、プロンプト等が十分な品質を出しているかの確認などにも評価という言葉を使っていることは多いのではないかと思います。 うまい具合に後者を区別するためにいい感じの呼び名を付与したい気持ちがあるのですが、英語圏での例を見てみるとシンプルに"Evals"と呼んでることもあれば Evaluating LLM System Evaluating LLM-based Applications などなど表現の仕方は様々になっています。 そしてそのプロダクト開発文脈での評価も、実態としてはオフライン評価やオンラ

    LLMにまつわる"評価"を整理する
    sh19910711
    sh19910711 2024/06/06
    "リグレッション: より速い/安い/精度が高いモデルが出て変えたいな〜となったり、改善のためにアルゴリズムから変えることはよくある + 今まで守ってきた評価観点を満たせているかを確認する"
  • 検索失敗率のモニタリングから改善まで - Search Engineering Tech Talk 2024 Spring

    Search Engineering Tech Talk 2024 Spring の LT枠の発表資料です。

    検索失敗率のモニタリングから改善まで - Search Engineering Tech Talk 2024 Spring
    sh19910711
    sh19910711 2024/06/06
    "検索失敗: 「検索する」ということは積極的に探したいものがある + 何も開かずに離脱したのであれば「検索に失敗している」とみなす / 順序: 公開してからの経過日数とPick数をバランスよく考慮"
  • ポータブルなCI/CD Daggerを試してみる - What is it, naokirin?

    的に継続的な開発を行っていく上で、CI/CDは避けて通れなくなっています。CI/CDといえば、これまでも様々なツールやサービスがありました。 クラウドの発展やインフラ環境の変化などもあり、個々の特性を生かした機能やサポートなどを持つツールやサービスが生まれてきています。 OSSで基的に自身で環境を構築する汎用ツール:Jenkinsなど CI/CD専用のSaaS:Circle CI、Travis CI、AWS Codeシリーズ、Google Cloud DevOps、GitHub Actionsなど クラウドやKubernetes環境向けのCD:Spinnakerなど アプリケーション実行環境とCDがセットになったPaaS:GAE、AWS Beanstalkなど 一方、この各ツールやサービス間で移行することになると、複雑になりがちな設定の書き換えや、特定ツールのサポートやプラグインに乗

    ポータブルなCI/CD Daggerを試してみる - What is it, naokirin?
    sh19910711
    sh19910711 2024/06/06
    "ポータブルなCI/CDの抽象レイヤーとして、Dockerの開発者が新たにDaggerというプロダクトを作成 / 特徴的なのは、CIのConfigurationをCUEで記載する点 / 覚えることはYAMLやJSONに他に比べるとそこそこ多い印象" 2022
  • GitHub Actionsにおける脅威と対策まとめ

    はじめに こんにちは、サイボウズ24卒の@yuasaです。 サイボウズでは開発・運用系チームに所属する予定の新卒社員が研修の一環として、2週間を1タームとして3チームの体験に行きます。新卒社員の私が生産性向上チームの体験に行った際に、チーム内でGitHub Actionsを利用する際の脅威と対策について調査を行い、ドキュメント化した上で社内への共有を行いました。記事では、そのドキュメントの一部を公開します。 対象読者 記事の主な対象読者としては、以下のような方を想定しています。 GitHub Actionsを組織で利用しているが、特にセキュリティ対策を実施していない方 GitHub Actionsを組織で利用しており、部分的にセキュリティ対策を実施しているが、対策が十分かどうか分からない方 記事がGitHub Actionsのセキュリティ対策を検討する上で参考になれば幸いです。

    GitHub Actionsにおける脅威と対策まとめ
    sh19910711
    sh19910711 2024/06/06
    "脅威マトリクス: 多数存在する脅威とその対策を網羅 + その脅威がCI/CDのどの箇所で生じるか、どの箇所に影響を与えるかといったことを整理する / Permissionsはできる限りジョブ単位で管理"
  • Reactのコードを打ち込むタイピングゲームを作った話&個人開発の流れ

    はじめに 自己紹介 こんにちは、株式会社ソーシャルPLUSのフロントエンドエンジニア @zomysan です。 ソフトウェアエンジニアとしての経験は10年と少しで、趣味個人開発べることです。直近では Discord の読み上げ Bot「shovel」のWebインターフェイス(マイページ)機能・有償プランなどを作りました。 この記事について 個人開発でタイピングゲームを作ったので、それについて前半・後半に分けて話します。 前半では作ったタイピングゲーム技術選定の理由や 何を大事にして作ったのか? ということを紹介します。 後半は今回の開発を実例として、私が開発をするときの進め方について紹介します。誰にでも合うものではないかもしれませんが、少しでも参考になれば嬉しいです。 ゲームの紹介 tstt で遊びながら学ぼう! TypeScript Touch Typing 略して tstt と

    Reactのコードを打ち込むタイピングゲームを作った話&個人開発の流れ
    sh19910711
    sh19910711 2024/06/06
    "コードスニペットが出てくるので、ひたすら打ち込み / 例とぴったり同じである必要はなく、TypeScriptとしてだいたい正しければOK / 経過時間なども表示せず、今打ち込むべきコードだけを表示する"
  • CyberAgent AI事業本部2024年度MLOps研修基礎編 / MLOps Basic

    同年度のMLOps研修資料はこちらです。 (1/4) CyberAgent AI事業部2024年度MLOps研修Container編: https://speakerdeck.com/szma5a/container-for-mlops (2/4) CyberAgent AI事業部2024年度MLOps研修基礎編: https://speakerdeck.com/nsakki55/mlops-basic (3/4) CyberAgent AI事業部2024年度MLOps研修応用編: https://speakerdeck.com/tyaba/mlops-handson (4/4) CyberAgent AI事業部2024年度MLOps研修実践編: https://speakerdeck.com/hosimesi11/mlops-practice

    CyberAgent AI事業本部2024年度MLOps研修基礎編 / MLOps Basic
    sh19910711
    sh19910711 2024/05/31
    "MLOps: 機械学習・ソフトウェアエンジニアリング(特にDevOps)・データエンジニアリングの3つの分野を活用 / NeurIPS'15: 「機械学習システムの隠れた技術的負債」論文 + MLシステムの中でMLコードはごく一部でしかない"
  • 学習を日常の開発に取り込むこと - Mitsuyuki.Shiiba

    去年ぐらいから、学習を日常の開発に取り込むことについて考えている。学習は何か特別なことがあるときにだけ実行するものではなく、開発チームの中に常にあるべきものだという気がしているから。だけど、それを周りの色んな考えを持った人たちに伝えられるほどには整理できていない。ので考えている。 そんなときにRSGT2019に参加したのだけど、今落ち着いて思い返してみればChrisの基調講演がまさにそれだった。ので彼の「Learning to Experiment」を思い出しつつ、この辺を参考にしたりしながら自分の中で整理をすることにした。 www.agilealliance.org ## 変化のための実験 変化してなくてもしばらくはうまくいってるように見えるけど、気づいたときにはもう手遅れ。世界は変わり続けてるし、競合は変化に適応し続けてるから。 でも、緊急事態に陥ったときには、これまでのやり方を変えて

    学習を日常の開発に取り込むこと - Mitsuyuki.Shiiba
    sh19910711
    sh19910711 2024/05/30
    "学習は何か特別なことがあるときにだけ実行するものではなく、開発チームの中に常にあるべきものだという気がしている / 変化のための実験: 一気に変えない + チームで実験をして一歩ずつ改善するのを継続する" 2019
  • GitLab IaC Scanning機能を利用する - TECHSTEP

    今回はGitLab IaC Scanning機能を検証しました。 docs.gitlab.com 背景 GitLabのIaC ScanningはIaCファイルに対する静的解析機能を提供します。IaC Scanningの内部ではKICSというIac専用の静的解析ツールを実行しており、セキュリティの脆弱性やコンプライアンス的な問題点などを指摘します。 IaC Scanningの対象のIaCツールは複数あり、以下に対応しています。なお一つのリポジトリ上に複数のIaCツールファイルを配置する場合もサポートします。 Ansible AWS CloudFormation Azure Resource Manager Dockerfile Google Deployment Manager Kubernetes OpenAPI Terraform docs.gitlab.com IaC Scanning

    GitLab IaC Scanning機能を利用する - TECHSTEP
    sh19910711
    sh19910711 2024/05/30
    "GitLab IaC Scanning: 脆弱性やコンプライアンス的な問題点などを指摘 + 内部ではKICSというIac専用の静的解析ツールを実行 + Merge Requestでのスキャン結果の確認 / sast-ruleset.toml: ルールの無効化や上書きが可能"
  • AIによるコードレビュー "PR-Agent" を導入した効果と課題について

    モノレポ環境にPR-Agentを導入した効果と課題について書いています。 導入結果としては、AIによるコードレビューが効果がある一方で、現時点では全てのレビューがAIに置き換えることはないことが分かりました。 この記事では、PR-Agentの具体的な効果、実際に感じた課題、課題に対する横断チームの対応策などを掘り下げています。

    AIによるコードレビュー "PR-Agent" を導入した効果と課題について
    sh19910711
    sh19910711 2024/05/29
    "PR-Agent: Pull Requestで変更されたコードの分析・要約・レビュー + よくあるミスの指摘は精度が高い / 一定の開発スキルやリテラシーを持つ開発者のサポート機能であり高機能なLinter + 期待しているほど効果はない"
  • 機械学習パイプラインの作り方を改めて考えてみる

    はじめに もう今年もあと数週間ということで,1年があっという間に終わってしまいますね😅 この記事は MLOps Advent Calendar 2023 の15日目の記事になります!アドベントカレンダーの日付を選ぶ際についつい自分の好きな数字を選びがちですが,皆さんはどうですか?笑 最近,機械学習(ML)パイプラインの良い構成やパイプラインとコンポーネントの良い組み方に興味があり,それをどう管理するかのディレクトリ構成などを考えたりしているのですが,きっかけとしては参考にも載せてある「From MLOps to ML Systems with Feature/Training/Inference Pipelines」という Hopsworks の CEO である Jim Dowling が書いた記事を以前読んでとても良いなと思ったのがきっかけです. また,AB テストなどのオンライン検証

    機械学習パイプラインの作り方を改めて考えてみる
    sh19910711
    sh19910711 2024/05/29
    "機械学習: コンポーネント単位ではなく,パイプライン単位で管理 + 程よくモジュール化 / 再利用することを意識して設計開発する + 一方で最初からそれを意識しすぎると中途半端 + 逆に使いづらい" 2023
  • Glue + Athenaのローカル開発環境をOSSで構築(MinIO + Trino + HIVE) | moritalous blog

    この環境をDocker Composeを使い構築します。 環境構築​MinIO​まずはS3を置き換えるMinIOからです。 ポイントは path-styleではなくvirtual-hosted styleを使用するため、MINIO_DOMAIN環境変数をセット他のコンテナから[バケット名].minioで名前解決できるようにhostnameを指定path-styleとvirtual-hosted styleの違いはこちらを参照ください。 version: '3' services: minio: image: quay.io/minio/minio hostname: bucket001.minio restart: always volumes: - ./minio/data:/data environment: - MINIO_DOMAIN=minio command: ["server

    Glue + Athenaのローカル開発環境をOSSで構築(MinIO + Trino + HIVE) | moritalous blog
    sh19910711
    sh19910711 2024/05/28
    "MINIO_DOMAIN環境変数をセット + 他のコンテナから[バケット名].minioで名前解決できるようにhostnameを指定 / Trino: 公式イメージが用意 + 必要なのはMinIOをカタログとして使用するための設定ファイル" 2022
  • プライベートでの開発を継続する技術 / techniques to keep personal development

    Swift愛好会 vol.31 でのLT資料です。個人開発をうまくやる方法について話しました(うまく行っているとは言っていない)

    プライベートでの開発を継続する技術 / techniques to keep personal development
    sh19910711
    sh19910711 2024/05/28
    "新しいことに目移りして本来やろうとしたことを見失う / Just In Time: 必要なものを、必要なときに、必要な量だけ作る / MVP: 作りたいものを細かい機能の集合に分割 + 実装のイメージが湧く大きさ" 2018
  • 今この時代に「ゲームを作ろう!」と思い立つきっかけはなんなのか - ABAの日誌

    IGDAのプレゼンの最後にもちょっと言ったのだが、コンシューマゲームがあふれる今の時代に「自分でもゲームを作ってみたい!」と思うきっかけは、なにから生まれるんだろう。 われわれおっさんの時代は、そもそもゲームが世の中になかったので自分で作るしかなかったという、身も蓋もない自給自足のきっかけがあったわけだが、今はわざわざ自作しなくても面白いゲームが世の中にあふれているわけで、その辺のきっかけがどう生まれるのかがわからん。 ゲームを作り始めるきっかけを知ることは、より多くの人にゲームを作る楽しみを知ってもらって、より多くのアマチュアゲームが生まれるためには非常に重要なのだが、おっさんが想像であーだこーだ言っていてもしょうがない。最近ゲームを作り始めた若い連中に、なにがきっかけだったか、ということをヒアリングして、実際のところを知る作業が必要だと思うのだが、そういったのはどこに行ってだれに聞けば

    今この時代に「ゲームを作ろう!」と思い立つきっかけはなんなのか - ABAの日誌
    sh19910711
    sh19910711 2024/05/28
    "そもそもゲームが世の中になかったので自分で作るしかなかったという、身も蓋もない自給自足のきっかけがあった / わざわざ自作しなくても面白いゲームが世の中にあふれている" 2009