タグ

ouestのブックマーク (3,567)

  • 【Rye + uv + Ruff】Docker で VS Code の Dev Container 上に快適な Python 環境を構築する

    0. はじめに 株式会社ディー・エヌ・エーに入社し,MLOps エンジニアをやっている @a5chin です. 記事では,図 1 の様に VS Code の Dev Container 上に爆速で快適な Python 環境を構築することを目指します. 図 1: Dev Container 上で開発をすると Ruff による自動フォーマット[1]と pre-commit が走る 記事の内容は全て上記リポジトリで簡単に試すことができるので,ぜひ clone して試して頂けたらと思います↑ Dockerfile 内で,Rye, uv, そして Ruff をインストールする手順を記述することで開発環境を標準化し,異なる環境間での一貫性を担保することができます. 0.1. 事前準備 記事で作成したリポジトリを動かすためには,Docker Desktop と VS Code のダウンロード,VS

    【Rye + uv + Ruff】Docker で VS Code の Dev Container 上に快適な Python 環境を構築する
    ouest
    ouest 2024/04/26
    これらに加え mypy も使いたい
  • データベースの在庫の持ち方をビットで管理してる話 - 一休.com Developers Blog

    こんにちは、一休.comスパ(以下、「スパ」)の開発を担当しているshibataiと申します🙏 今回はスパのデータベースの在庫の持ち方で試行錯誤した話をさせていただきます。 背景 2024-03-29追記: 一休.comスパにおける在庫の特徴について 一休.comスパが扱う「在庫」は、「ある日付の特定の時間に対する空き枠」です。以降の説明では、スパ施設ごと、日付ごと、また時間ごとに増えていく「在庫」をいかに効率よく扱うかについて説明しています。 詳細については次のスレッドも参照してください! https://t.co/Y0SPmDE4yZ この記事のコメントみてると、少し我々のシステムの要件が伝わってないというかそこの説明が記事に不足しているように思った。ので以下その補足— naoya (@naoya_ito) March 29, 2024 現在の実装 スパは予約を受け付けるために在庫の

    データベースの在庫の持ち方をビットで管理してる話 - 一休.com Developers Blog
    ouest
    ouest 2024/04/26
    時間在庫をビットで持つのはいいなぁ
  • 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
    ouest
    ouest 2024/04/26
    fork あると UDS のほうが早いのか
  • パターンからわかりやすく入門するドメイン駆動設計(DDD)|研修コースに参加してみた | SEプラス 研修 Topics

    成瀬さんは日最大の Java のカンファレンスでの登壇に加え、 YouTube でも「なるせみ」という IT 技術解説で人気のチャンネルを持ってらっしゃいます。 ドメイン駆動設計とは まずはドメイン駆動設計とは何か紹介いただきました。 ソフトウェア開発は難しい 理由: たくさんの技術 + 対象のドメイン知識 (物流、など) ドメインとはソフトウェア対象領域 ドメインのソフトウェアを作りたいなら、ドメインを主軸とした設計 = ドメイン駆動設計が必要 「エリック・エヴァンスのドメイン駆動設計」(翔泳社刊) というが原典(翻訳版は 2013 年刊行。 原著は 2003 年出版) ただし、とっっっっっっても難解 ドメイン駆動設計の進め方 “モデリング” と “パターン” というパートに分けて進める 関係者と開発者が集まって、モデリングで設計して、設計したものをパターンで実装する それぞれに専門

    パターンからわかりやすく入門するドメイン駆動設計(DDD)|研修コースに参加してみた | SEプラス 研修 Topics
    ouest
    ouest 2024/04/13
    第2ステップ理解として分かりやすい
  • ふわっと理解するDDD ~ドメイン駆動設計~ - Qiita

    はじめに 記事では、初学者向けにドメイン駆動設計(domain-driven design)についての、基的な考え方と実装における基概念について解説を行います。 ドメイン駆動設計(domain-driven design)とは? ドメイン駆動設計とは、その名の通り "ドメイン" の知識にフォーカスした設計手法です。 ここで言う "ドメイン" とは、「ソフトウェアを使って問題解決しようとしている領域」や「プログラムを適用する対象となる業務領域」のなどを指します。 具体的には、会計システムにおける「金銭」や「振込処理」、SNSにおける「投稿」や「ユーザー」などが該当します。 これらのドメインを含め、システムが扱う業務仕様やビジネスルールを軸に設計を行い、 最適な業務実現・課題解決をしていこうという手法をドメイン駆動設計と呼びます。 ざっくり言うと、良いシステムを構築するための設計のベスト

    ふわっと理解するDDD ~ドメイン駆動設計~ - Qiita
    ouest
    ouest 2024/04/13
    第1ステップ理解として分かりやすい
  • アップグレードしたいとき見るべきドキュメントは? - 41から始めました

    この記事はMySQL Advent Calendar 2023 25日目の記事です。 はじめに 1.どのバージョンにアップグレードするのか決める アップグレードパス ※アップグレード先のバージョンとOSのコンパチを確認する 2.新機能・追加・非推奨・削除された機能を確認する。 ドキュメントには無いけど… 3.レプリケーションを使用している場合 4.OSごとにアップグレード手順を確認→手順書作成 論理アップグレードとインプレースアップグレード 4-1.論理アップグレードの方法 インストール バックアップとリストア mysqldump MySQL Shellのダンプロードユーティリティ mysqlpump 4-2.OSごとのアップグレード方法(論理以外) Unix/LinuxWindows その他のアップグレード 4-3.MySQL Serverが8.0.15以前はmysql_upgrad

    アップグレードしたいとき見るべきドキュメントは? - 41から始めました
  • 非 Aurora な RDS から Aurora へ移行する時に考えること全部盛り - ゆるっと Tech Blog

    Japan AWS Jr. Champions Advent Calendar 23日目の投稿です!クリスマスイブイブですね。 今回は、Aurora でない RDS で稼働している DBAurora へ移行することを検討してみます。 現在の データベース 具体的な例があった方が分かりやすいので、移行対象の DB の情報を仮定しておきます。 データベースの情報 利用サービス:RDS (非Aurora) インスタンスタイプ:db.t3.medium (2vCPU/4GiB) ディスク容量:50GiB DBエンジン:MySQL 8.0系 MultiAZ構成 (Active-Standby) リードレプリカなし オンデマンドインスタンス 利用状況 CPU利用量:余裕あり ディスク利用量:余裕あり メモリ利用量:2GiB弱程度で安定推移 システム稼働:時間帯や日による変化はなく、一定した稼働

    非 Aurora な RDS から Aurora へ移行する時に考えること全部盛り - ゆるっと Tech Blog
  • 開発者が知るべきキャッシュ設計でよく遭遇する問題

    はじめに 分散システムの設計および開発において、キャッシュはパフォーマンス向上のための非常に重要な要素です。頻繁にアクセスされるデータをキャッシュすることで、アクセス速度が遅いデータベースへのアクセスを削減し、データへの迅速なアクセスを可能にします。これにより、システムの全体的な効率とパフォーマンスが向上します。 しかし、キャッシュは慎重に設計しないとむしろパフォーマンス上のデメリットになるケースが存在します。 この記事ではよく遭遇するキャッシュ設計の問題とその回避策について解説します。 Cache penetration DBに存在しない値を検索したときに、DBから返された空の結果をキャッシュしない場合に発生するシナリオです。 このシナリオではDBに存在しない値を繰り返し検索することにより、その値がキャッシュされていないため検索ごとにDBへのアクセスが必要になってしまいます。 存在しない

    開発者が知るべきキャッシュ設計でよく遭遇する問題
  • Google Cloud案件を1年半程度経験してみてAWSと比較しながら違いを整理してみた - NRIネットコムBlog

    記事は 【Advent Calendar 2023】 15日目の記事です。 🎄 14日目 ▶▶ 記事 ▶▶ 16日目 🎅 はじめに 想定している読者 一覧 まとめてみて 参考 はじめに クラウド事業推進部の小野内です。昨年5月にキャリア入社してから早1年半以上が経ちました。 入社以降、AWSGoogle Cloud のデータ分析基盤の開発・運用に関わっておりますが、現在はGoogle Cloud メインでやってます。 試行錯誤の毎日ですが、Google Cloud案件をどんどん盛り上げていきたい所存です。 1年ほど前の投稿記事では、 Google Cloudの学び方について触れましたが、記事ではGoogle Cloud案件を1年半程度経験してみて、 AWSと比較しながら、Google Cloudの主要なサービスについて、違いを整理しました。 想定している読者 AWS案件に半年以

    Google Cloud案件を1年半程度経験してみてAWSと比較しながら違いを整理してみた - NRIネットコムBlog
    ouest
    ouest 2023/12/16
  • Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog

    IIJ 2023 TECHアドベントカレンダー 12/16の記事です】 この記事について 背景:TCP はコンピュータネットワークの通信において広く利用されているプロトコル・標準化された通信規格です。コンピュータは TCP/IP スタックと呼ばれるようなソフトウェアを実行することで、定められた規格に則って通信を行います。汎用 OS 環境では、TCP/IP スタックは多くの場合、カーネル空間に OS 機能の一部として実装されています。 課題:通信に関するソフトウェアの研究コミュニティでは、そのようなカーネル空間に実装されている TCP/IP スタックは、近年の高速な NIC の性能を十分に引き出すことが難しいという課題が指摘されてきました。 テクニックの紹介:当記事では、近年の研究コミュニティにおいて比較的一般的な高速化テクニックとされている「カーネルをバイパス(迂回)して TCP 通信を

    Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog
  • MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita

    この記事は、株式会社カオナビ Advent Calendar 2023 の3日目です。 はじめに 株式会社カオナビの高橋(@kunit)です。 今回は MySQL バージョンアップ(5.7 -> 8.0) で起きた問題とそれに対してどのように対処したのかを書いていこうと思います。 何が起きたのか MySQL 5.7 から 8.0 にバージョンアップをするにあたって、CI およびローカル環境でテストができるように MySQL 8.0 のイメージを作成し、それをつかって各機能の担当者にテストを開始してもらっていたのですが、以下のような事が起きました。 接続を MySQL 5.7 から 8.0 に切り替えただけでテストの時間が3倍くらいかかるようになった そこを変更するだけで3倍遅くなるってやばいぞということで報告してくれた担当者と同じテストを自分でも実施してみると再現性があり、それが以下のどの

    MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita
  • tmuxの中のsshの先のtmuxの中の…から一気にクリップボードにコピーする方法

    ターミナルで作業をしていて、ログなどをコピーしたいことはよくあります。ターミナル内で領域を選択してコピーすることもできますが、マウスで選択するのがやりづらかったり、画面に収まらない長さだとちょっと面倒です。 ローカルな環境で作業している場合は、Linux であれば xclip や wl-copy などを使って解決できることもありますが、ssh で入った先だったり、tmux の中だったり、tmux の中の ssh の先の tmux の中だったり、さらにその中のエディタ内だったり、実際の環境は多様で複雑です。 そんなときでも簡単にターミナルからコピーする方法、関連してターミナルに安全にペーストする方法を紹介します。 ターミナルエミューレーターを用意する 今回紹介する方法は、すべて OSC 52 という仕組みに依存します。OSC (Operating System Command) はターミナル

    tmuxの中のsshの先のtmuxの中の…から一気にクリップボードにコピーする方法
    ouest
    ouest 2023/11/29
    便利すぎる
  • </> htmx - high power tools for html

    NEWS: htmx finished 2nd in the 2023 JavaScript Rising Stars "Front-end Frameworks" category, just behind React (htmx is a library, btw) and #10 overall! Thank you to everyone who starred us! introduction htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hyper

    ouest
    ouest 2023/10/15
    最近また加熱してる
  • Docker Compose Watchのすすめ - Hatena Developer Blog

    やあ!id:cockscombです。日々の生活に役立つちょっとした知識を紹介していきます。最近は、Apple WatchやPixel Watchみたいな、ナントカWatchのリリースが多いですね。でも今日紹介するのは、WatchはWatchでも、Docker Compose Watchです。 Docker Composeは、複数のコンテナを扱った開発に用いる道具で、コンテナを活用した開発では当たり前に使われている。そのDocker Composeに、ファイルの変更を監視してコンテナの再構成を行わせるのが、Docker Compose Watchだ。Docker Compose 2.22以降で利用できる。最新のDocker Desktopにも付属している。 ホットリロードとコンテナ開発 Docker Compose Watchがどういうものかを説明する前に、Next.jsのホットリロードにつ

    Docker Compose Watchのすすめ - Hatena Developer Blog
    ouest
    ouest 2023/10/15
    Watch 便利そう
  • BrowserStack:テスト自動化有料ツールの決定版

    特によく使われる上二つのサービスでは”Webアプリケーションのテスト環境"を提供しており、インターネットに公開されたWebアプリケーション、開発中のローカルのWebアプリケーションのテスト環境が揃っています。 テスト環境 = テスト用アプリケーションがデプロイされ、ホストされている環境 テスト実行環境 = 上記テスト環境にアクセスし、テストを実施するためのデバイス・ブラウザ・OSを含む環境 BrowserStackはクラウド上で後者の「テスト実行環境」を提供しています。 BrowserStack Live (手動テスト) BrowserStackにホストされている様々なデバイスを利用し、マニュアルテストすることが可能です。画像ではiPhone13のデバイスを立ち上げ、Webのダッシュボード上で操作を行っている様子です。シミュレータではなく、実機デバイスをブラウザ上から操作できます。 Bro

    BrowserStack:テスト自動化有料ツールの決定版
    ouest
    ouest 2023/10/15
    一度使ってみるか
  • 新人を潰す上司・伸ばす上司の差は“指導の順番”にある 社員の4タイプ別の特徴と、適切な指導のポイント

    人材育成で悩んでいる人事担当者、部下指導を「なんとなく」で行っている管理職が、感覚的な指導から脱却し、部下の活躍を促すために有効な打ち手について、株式会社PDCAの学校 代表取締役の浅井隆志氏が解説。記事では、社員を4つのタイプに分類しながら、タイプ別の適切な指導方法について語っています。 忙しい上司を見て「ああはなりたくない」と思う部下 浅井隆志氏:これは、繰り返しウェビナーでお話しさせていただいておりますが、特に最近の若手は自己成長、スキルアップ、キャリアアップを図りたいというニーズがあります。ただ一方で、管理職にはなりたくない。 「管理職になりたくない」という割合が、過去20年ずっと遡っても右肩上がりで増えてるんです。なんでかというと、責任を負いたくない。理由はここだけなんですね。自分の会社の課長や部署を見ると、大変そうだからなりたくない。 もう1つ余談になりますが、以前、千葉に十

    新人を潰す上司・伸ばす上司の差は“指導の順番”にある 社員の4タイプ別の特徴と、適切な指導のポイント
    ouest
    ouest 2023/09/29
    SL理論か
  • 5年やって分かった要件定義に必須な5つのスキルとその上達方法 - みんなのシステム企画

    「要件定義のスキルを上げたいけどどうしたら良いかわからない」 こんなふうに悩んだことはないだろうか。 要件定義ではかなり幅広いスキルが求められる。さらに要件定義の対象は毎回異なるため、具体的なレベルでスキルを言語化するのがかなり難しく、どうしてもスキル定義が「コミュニケーションスキル」や「ビジネス理解スキル」といった抽象的な言葉になりがちだ。 そこでこの記事では、要件定義を第一線で実行してきた私が、要件定義を構成するスキルを以下の5つに分解し、それぞれの向上のための方策も可能な限り具体化した。 ・論理的に物事を整理するスキル ・ビジネスの数字を理解するスキル ・業務のフローを理解するスキル ・要求を具現化するスキル ・要求を達成するために必要な機能を洗い出すスキル それでは一つずつ見ていこう。 1 要件定義をするために必要な5つのスキル この章では、要件定義に必須なスキルとそれがなぜ必要な

    5年やって分かった要件定義に必須な5つのスキルとその上達方法 - みんなのシステム企画
    ouest
    ouest 2023/09/29
    文章はあまりよくないが、5つのスキルは理解できる。要件を必要と十分なものに整理しながら優先順位をつけ、どう実装するかを考える力が要件定義としての力。
  • Kubernetesクラスタ内に大量のServiceリソースがあるとNginxコンテナが起動しなくなる - Pepabo Tech Portal

    こんにちは、技術部プラットフォームグループのそめやポチです。最近はpng形式の画像をjpeg形式に変換する仕事をしています。 この記事では、私が社内のKubernetesクラスタのお世話をしているときに出会ったトラブルとその解決方法、またトラブルが起こった原因について説明します。トラブルの原因についてはKubernetes, Nginx, Linuxの3つのプロダクトについて、コードリーディングをしながら解説します。 直面した事象 急にKubernetesクラスタ内のNginxコンテナが起動しなくなりました。 GMOペパボが提供しているサービスの一つであるminneでは、検証用のKubernetesクラスタを利用しています。番環境で使用しているKubernetesクラスタを模倣した、開発・検証のための環境です。そのクラスタ内でトラブルが起きていました。 トラブルの説明をするために、まずこ

    Kubernetesクラスタ内に大量のServiceリソースがあるとNginxコンテナが起動しなくなる - Pepabo Tech Portal
    ouest
    ouest 2023/09/29
    ふむふむ
  • シニアエンジニアの先にある「スタッフエンジニア」という役職 書籍『Staff Engineer』から見る4つの役割

    「【t_wada & masuidrive CARTA探訪】スタッフエンジニアというキャリア」は、書籍『スタッフエンジニア マネジメントを超えるリーダーシップ』の監修・解説を担当した増田氏を招き、スタッフエンジニアという役職について学ぶイベントです。基調講演には増井氏が登壇。まずはスタッフエンジニアの役割について紹介します。 増井氏の自己紹介 増井雄一郎氏:よろしくお願いします。今日これから話をする増井雄一郎と言います。あらためてよろしくお願いします。 僕のアイコンはお風呂に入っている姿のアイコンで、ここ20年ぐらいずっと使っています。16歳ぐらいの時にフリーランスエンジニアとして仕事を始めたので、そこから考えると30年ぐらいエンジニアをしています。 僕の名前がけっこうよく出ていたのは前職のトレタという名前の会社にいた時で、あとはiPadの受け付けのアプリのハッカソンで作って、それをいろ

    シニアエンジニアの先にある「スタッフエンジニア」という役職 書籍『Staff Engineer』から見る4つの役割
    ouest
    ouest 2023/09/13
    スタッフエンジニアか
  • 経営者というモンスターのエクスペリエンスをハックする | knowledge / baigie

    国税庁「会社標調査(2019年度)」によると、日国内の法人の数は約275万社あるとされています。この統計から単純計算すると、日には約275万人の「社長」がいることになります。 さらに「経営者」となると「企業の経営方針や経営計画を立案・決定し、経営に関するすべての責任を持つ人の総称」となって対象が拡がります。ザックリ500-1000万人くらいの規模感になるのではないでしょうか。 これを正とするなら、15歳以上の就業者と完全失業者を合わせた日の労働力人口は2022年で 6902万人(総務省)なので、全労働者に対して7-14%くらいの数の経営者が日国内に存在することになります。大雑把に言えば、仕事の中で出会う10人に1人は経営者ということです。 そんな経営者、一般的に取り扱いが難しい人材という印象があります。 気分屋で我儘。人に従うのが嫌い。一貫性がなく意見がコロコロ変わる。思い込みが

    経営者というモンスターのエクスペリエンスをハックする | knowledge / baigie
    ouest
    ouest 2023/09/03
    いろいろ納得。「ワンウェイドアは慎重に、トゥーウェイドアは迅速に」という考え方は大切。