タグ

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

  • neovim で venv 環境の pyright LSP を使う - Qiita

    概要 venv 環境 (pipenv や Rye で作成した環境など) にインストールした pyright の language server を使って支援を受ける方法を探していたので書き残します。 環境 neovim v0.10.0 (Release) nvim-cmp, lspconfig 設定 bash -c で .venv/bin/activate を呼び出して仮想環境に入り、.venv/bin/pyright-langserver のバイナリを呼び出します。 require("lspconfig").pyright.setup { on_attach = on_attach, capabilities = capabilities, filetypes = { "python" }, root_dir = util.root_pattern(".venv"), cmd = { "

    neovim で venv 環境の pyright LSP を使う - Qiita
  • Neovim起動時にPythonの仮想環境をActivateしたい!

    動機 Neovim内で定義ジャンプを利用する際に、venv内の外部ライブラリに対してもLSPの機能を利用したかったためです。pyrightの機能としてvenvまでのPATHを記述するオプションがあるようですが、pyrightのためだけにセッティングを書くのが億劫だった(おい)のと起動時にactivateしておくとNeovim内で起動するターミナルに対してもvenv内のpythonにPATHが当たるといった恩恵があります。 環境 macOS Sonoma14.4 terminal kitty(0.35.1) Neovim NVIM v0.10.0 やり方 init.luaなどに以下を記述します。 local function auto_activate_venv() local venv_path = vim.fn.getcwd() .. '/.venv' if vim.fn.isdirec

    Neovim起動時にPythonの仮想環境をActivateしたい!
  • モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話

    こんにちは、Sally社 CTO の @aitaro です。 マーダーミステリーアプリ「ウズ」とマダミス制作ツール「ウズスタジオ」、マダミス情報サイト「マダミス.jp」を開発しています。 はじめに この記事ではウズの開発当初から利用していた Docker Compose をやめることにした背景についてご紹介します。 Docker Compose は各マシンの開発環境での差異を吸収するというメリットがあり、多くの開発現場で導入されていますが、Docker Composeの抱えているデメリットを勘案して、最終的に一部を残して辞める決断をしました。 Docker Composeの特徴 Docker Composeは、複数のコンテナを定義し、管理するためのツールです。ウズの開発環境では、バックエンド、フロントエンド、データベースなどをそれぞれコンテナ化して、Composeで一括管理していました。こ

    モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話
    ouest
    ouest 2024/06/18
    Task いいよねー
  • やる気がなくてもやる - 腹は減る

    イチローだったか誰かが、成功する秘訣?か何かで「やる気が出たからやるのではなく、やる気がなくても毎日やる」みたいなことを言っていた気がする。 昔それを聞いた時には「むりだが???????」と思っていたけれど、最近は当にそうだよなあと思ってきた。 というのも歳をとってくると、やる気とか気分の問題以前に「体の不調」みたいなのが当たり前に日々やってくる。 腰が痛い、首が痛い、顔が痒い、などなど。 もちろん当に大変な病気であれば「やる」ということは一旦お休みした方がいいわけだけれど、日々の不調(若い頃に比べれば不調だが歳をとってからは割と普通)なんかに左右されていると一生「やる気」ってやつはこない。 だから毎日やる。やる気がなくてもやる。これしかない。 あとよくきく「とにかく10分でも手を動かし始めれば段々気持ちがのってくる」ってやつ、あれを信じすぎないほうがいいとも思う。 10分で気持ちが乗

    やる気がなくてもやる - 腹は減る
    ouest
    ouest 2024/06/11
    やる気なんてものに左右されないようにする
  • 無料で商用にも使える日本の郵便番号APIをリリースしました

    jp-postal-code-api https://github.com/ttskch/jp-postal-code-api郵便番号から住所のデータを取得できるWeb APIです。 GitHub Pagesを使用して静的なJSONファイルとして配信している ため、可用性が高いのが特徴です。また、オープンソースなのでクライアントワークでも安心してご使用いただけます。もしリポジトリの永続性や GitHub Pagesの利用制限 が心配な場合は、ご自由にフォークしてご利用ください。 日郵便によって公開されているデータ を元に住所データのJSONファイルを生成して配信しています。JSONファイルには日語表記・カナ表記・英語表記の住所データが含まれています。ただし、以下の注意事項があります。 大口事業所個別番号の住所データは以下のように出力されます(元データ の内容がそうであるため)

    無料で商用にも使える日本の郵便番号APIをリリースしました
    ouest
    ouest 2024/05/28
    GitHub Pages での静的 JSON はいいけど、みんなが使ったら...
  • 知ってるようで知らないRefererとReferrer-Policyのお話 - Qiita

    概要 この記事は主に以下の内容に触れていきます! Refererというものはそもそもなんなのか Refererはどのように動いているのか セキュリティを意識したReferrer-Policyを設定するにはどうすればいいのか 番外編: target=_blankでの脆弱性 つい半年ほど前にGoogleChromeのデフォルトのReferrer-Policyを変更して話題になりましたね。 この記事を読んでいただければGoogleがReferrer-Policyを変更した背景も分かってくるかと思います! 参考記事: Entry is not found - paiza開発日誌 Referer is 何? HTTPリファラ(英: HTTP referer)あるいは単にリファラは、HTTPヘッダの1つで、インターネット上の1つのウェブページまたはリソースから見て、それにリンクしているウェブページや

    知ってるようで知らないRefererとReferrer-Policyのお話 - Qiita
  • HTTP CSP について - Qiita

    Content-Security-Policy (CSP) CSP は Cross Site Scripting (XSS) や data injection 攻撃を防ぐための HTTP の仕様です。 CSP を有効にするには、以下のいずれかを実施します。 HTTP header で Content-Security-Policy を返す Content-Security-Policy: default-src 'self'; img-src *; media-src media1.com media2.com; script-src userscripts.example.com CSP directives CSP の policy は、上記のように directive に続けて、空白区切りで値リストの記述を ; 区切りで複数記載していきます。 directive は Content

    HTTP CSP について - Qiita
  • Dockerのコンテナイメージを1/10以上軽量化してみた - Qiita

    はじめに VSCode + Python + Poetry + Docker(docker-compose)でdev-containerを作成して開発を行っていました。 Dockerを勉強し、イメージの軽量化に関する記事を読んでいると、自分が使っているコンテナイメージのサイズが気になりました。 docker images > REPOSITORY TAG IMAGE ID CREATED SIZE > dev-container latest a9b8e3df9087 2.31GB 2.31GB!? サーバとしてアプリを動かしていないのにここまで大きいなんて… というわけで勉強も兼ねて、イメージの軽量化に取り組みました。 イメージが軽量であるメリット ストレージの節約 これは言わずもがなだと思います。 限られたリソースを有効に使うことができます。 ビルド時間の短縮 Dockerは環境を作っ

    Dockerのコンテナイメージを1/10以上軽量化してみた - Qiita
    ouest
    ouest 2024/05/21
    マルチステージビルド、知らんかった
  • 【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
    便利すぎる