並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 59件

新着順 人気順

stdin stdout pythonの検索結果1 - 40 件 / 59件

  • MCP入門

    MCP概要説明 この記事はMCP2025-03-26リビジョンを基に作成しました。 Model Context Protocol (MCP) とは何か? MCP は、AI アシスタント(チャットボットや自動化エージェントなど)が、さまざまな外部データやツールにアクセスするための 共通のルール(プロトコル) です。 従来は、AI にデータベースやウェブサービス、ローカルのファイルを使わせたいとき、それぞれ違う接続方法をいちいち作り込む必要がありました。すると、AI を拡張するたびに「新しいツール用の独自コード」を用意しなくてはなりません。 MCP を使うと、「AI ⇔ データやツール」 の接続方式を 標準化 できるため、同じ仕組みでいろいろなデータソースや外部サービスとやり取りできます。これは、AI の開発者とデータ管理者双方にとって、大きな手間削減や再利用性の向上につながります。 Anth

      MCP入門
    • Model Context Protocol(MCP)とは?生成 AI の可能性を広げる新しい標準

      はじめに こんにちは。クラウドエースの荒木です。 ChatGPT や Claude などの生成 AI が日常生活やビジネスに浸透してきましたが、これらの AI の真価は外部システムと連携したときに発揮されます。しかし、この連携には大きな課題がありました。 これまで AI と外部システムを連携させるには、システムごとに個別の API 統合が必要で、認証方法やデータ形式、エラー処理など、細かな実装を繰り返す必要がありました。このような個別対応は開発効率を下げ、拡張性や保守性の面でも問題がありました。 そこで登場したのが「Model Context Protocol(MCP)」です。2024 年 11 月に Anthropic が発表したこのオープンプロトコルは、AI と外部システムの接続を標準化し、開発者の負担を大幅に軽減します。 この記事では、MCP の基本概念から実装方法、活用事例まで、技

        Model Context Protocol(MCP)とは?生成 AI の可能性を広げる新しい標準
      • シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ

        はじめに 開発部の ikasat です。 皆さんは git, ssh, rsync のような外部コマンドを呼び出すスクリプトを書きたくなったことはありますか? 個人的にこの類のスクリプトは最初はシェルスクリプトとして書くのですが、改修を重ねるうちに肥大化して処理も複雑になり、 後から Python のような汎用プログラミング言語で書き直すことがよくあります。 外部コマンド呼び出しを書き直す際に、Git 操作のために pygit2、 SSH 接続のために paramiko のようなライブラリをわざわざ使うのは大がかりだったり、 rsync に相当するようなこなれたライブラリが存在しなかったりする場合があります。 そのような時は標準ライブラリの subprocess モジュールを利用し、Python から外部コマンドを呼び出すことになるでしょう。 しかしながら、Python のチュートリアルペ

          シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ
        • MCPでLLMに行動させる - Terraformを例とした tfmcp の紹介 - じゃあ、おうちで学べる

          はじめに こんにちは!今回は、私が最近開発した tfmcp というツールを紹介します。これは Terraform を LLM(大規模言語モデル)から操作できるようにするツールで、Model Context Protocol (MCP) を活用しています。 github.com このブログが良ければ読者になったり、GitHub リポジトリにStarをいただけると開発の励みになります。nwiizoをフォロワーしてくれるのもありがたいです。より良いツール開発のためのフィードバックもお待ちしています! MCP とは何か? 記事を始める前に、まず MCP (Model Context Protocol) について簡単に説明しましょう。MCP についてより詳しい情報は、公式ドキュメント modelcontextprotocol.io や Anthropic の Model Context Protoc

            MCPでLLMに行動させる - Terraformを例とした tfmcp の紹介 - じゃあ、おうちで学べる
          • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

            はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

              【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
            • Pythonで理解するMCP(Model Context Protocol) | gihyo.jp

              動作環境 Python 3.12 ライブラリの使用バージョン gradio 5.34.2 anthropic 0.54.0 mcp 1.9.4 python-dotenv 1.1.0 仮想環境とライブラリインストール % cd mcp-host-with-gradio % python3 -m venv venv % source venv/bin/activate (venv) % pip install gradio anthropic mcp dotenv .envファイルの設定 AnthropicのAPIキーが必要です。APIキーの作成は以下を参考にしてください。APIの利用には料金がかかりますが、API従量課金であれば5ドルから始めることが可能です。 Claudeを使い始める -Anthropic .env ANTHROPIC_API_KEY=xxxxxxxxxxxxxxxxxx

                Pythonで理解するMCP(Model Context Protocol) | gihyo.jp
              • Webサーバの仕組みについて入門してみた(Python実装) - iimon TECH BLOG

                はじめに 株式会社iimonでSREエンジニアをしているhogeです。 本記事はiimonアドベントカレンダー9日目の記事となります。 今回の記事は技術的な棚卸しとして、普段大変お世話になっているWebサーバがどういった仕組みで動いているのかを実装しながら深堀りしていこうと思います。 弊社のバックエンドはDjango/FastAPI + Gunicornの構成で動作しているため、Pythonを絡めた説明が多くなるかと思います。サンプルコードもPythonで実装をしています。 途中、システムコールやファイルディスクリプタなどにも踏み込んだ話をするのですが、低レベルなプログラミングをちゃんとやったことがないため、間違えている部分があるかもしれません。今後学習して行く中で気づいたら都度修正していきたいと思います。 環境・使用ツール 言語 Python OS Ubuntu(Linuxのシステムコー

                  Webサーバの仕組みについて入門してみた(Python実装) - iimon TECH BLOG
                • Claude Codeの使用率がステータスラインに表示できるようになったので表示用のスクリプトを作った話

                  こんにちは!逆瀬川 (@gyakuse) です! Claude Code v2.1.80で待ちに待ったステータスライン用のrate_limitsフィールドが追加されました。これがないために本当にみんな頑張ってきたのです。本当につらい世界でした。 何が変わったのか 2026年3月19日リリースのv2.1.80で、ステータスラインに渡されるJSONにrate_limitsフィールドが追加されました。 changelogの記載はこうです。 Added rate_limits field to statusline scripts for displaying Claude.ai rate limit usage (5-hour and 7-day windows with used_percentage and resets_at) これにより、Claude Codeのサブスクリプションの使用量

                    Claude Codeの使用率がステータスラインに表示できるようになったので表示用のスクリプトを作った話
                  • ラズパイ使って赤ちゃん快適室温設定システム構築してみた | ラズパイラボラトリー

                    ラズパイを使ってやってみたかったことの一つ、センサーを用いた温度湿度の計測。 今回はセンサを用いて部屋の温度室温を計測してみることとしましたが、せっかく計測するなら、ラズパイでできる他の機能も活かして、何か生活に役立てられるようなものができないか、と考え、今回思いついたのが、「赤ちゃん快適室温設定システム」。 今回は、温度湿度センサーと、これまで本ブログで紹介してきたいくつかの簡単な技術、機能を組み合わせて、赤ちゃんが快適に過ごすことができる部屋をつくるためのシステムを構築しました。 こうがくん ラズパイで赤ちゃん快適室温設定システム構築したよ! 赤ちゃん快適室温設定システムの概要 経緯と目的 ラズパイの特徴と言えば、センサなどいろいろな電子機器を繋げて、計測したり、制御したりできることです。接続できるセンサは、本当にいろんな種類のものがあり、ラズパイを始めた身としては、全種類扱ってみたい

                      ラズパイ使って赤ちゃん快適室温設定システム構築してみた | ラズパイラボラトリー
                    • Building a tiny Linux from scratch

                      Last week, I built a tiny Linux system from scratch, and booted it on my laptop! Here’s what it looked like: Let me tell you how I got there. I wanted to learn more about how the Linux kernel works, and what’s involved in booting it. So I set myself the goal to cobble together the bare neccessities required to boot into a working shell. In the end, I had a tiny Linux system with a size of 2.5 MB,

                        Building a tiny Linux from scratch
                      • Claude Code / CursorのHooksで実装した AIエージェントの3層プロンプトインジェクション対策 - 弁護士ドットコム株式会社 Creators’ blog

                        Claude Code / Cursor の Hooks で実装した AI エージェントの 3 層プロンプトインジェクション対策 こんにちは、クラウドサインで CRE をしている藤谷です。 CRE は「Customer Reliability Engineering」の略で、お客様やビジネス部門で発生した課題をエンジニアリングで解決する役割を担います。 私たちのチームでは顧客理解を加速させるため、AI エージェントを業務に積極的に活用しています。 2026 年 1 月の Cursor 2.4 で Skills 機能が追加されたのをきっかけに、Hooks(以下フック)を使ったプロンプトインジェクション対策を設計・実装しました。 LLM に「気をつけて」と指示するのではなく、LLM の外側にある実行境界で止める。この考えのもと、Python でフックスクリプトを実装しました。 この記事では、全

                          Claude Code / CursorのHooksで実装した AIエージェントの3層プロンプトインジェクション対策 - 弁護士ドットコム株式会社 Creators’ blog
                        • 次世代のワークフロー管理ツールPrefectでMLワークフローを構築する CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ

                          ※ DynalystではAWSを全面的に採用しているため、AirflowもManaged版を調査しています。 導入後の状態 Prefect導入後は、以下の構成となりました。 ポイントは以下の点です。 ワークフローをDocker Image化することで、開発・本番環境の差を軽減 staging・productionはECS Taskとしてワークフローを実行、開発ではローカルPC上でコンテナ実行 ML基盤のGitHubレポジトリへのマージで、最新ワークフローが管理画面であるPrefect Cloudへデプロイ 従来のyamlベースのdigdagから、DSに馴染み深いPythonベースのPrefectに移行したことで、コード量が減り開発負荷が軽減しました。 Prefect 入門 ~ 基礎 ~ 注意: 本記事ではPrefect 1系を扱います。Prefect 2系が2022年7月にリリースされてい

                            次世代のワークフロー管理ツールPrefectでMLワークフローを構築する CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ
                          • コンテナランタイムを自作した - zebian.log

                            コンテナの仕組みを勉強したかったため、Goでコンテナランタイムを自作した。雑実装だし未実装の機能もたくさんあるが、ある程度形になってきたため現状をまとめる。 リポジトリ github.com kombu/dashi - 自作コンテナランタイム kombu/nimono - eBPFを利用したシステムコールロガー kombu/yaminabe - dashiとnimonoを利用したマルウェアサンドボックス プロジェクト名から和の雰囲気を感じるが、これはリポジトリ名をkombu(昆布)にしたかったため、せっかくなら今回は和風で固めようと思ったから。趣があっていいんじゃないでしょうか。 dashiが自作コンテナランタイムだが、nimonoとyaminabeは実験的な要素で、セキュキャン2023でコンテナを使ったマルウェアサンドボックスを実装した経験があり、今回はその再実装を自作コンテナランタイム

                              コンテナランタイムを自作した - zebian.log
                            • Choose the Right Python Concurrency API - Super Fast Python

                              How to Choose the Right Python Concurrency API Python standard library offers 3 concurrency APIs. How do you know which API to use in your project? In this tutorial, you will discover a helpful step-by-step procedure and helpful questions to guide you to the most appropriate concurrency API. After reading this guide, you will also know how to choose the right Python concurrency API for current and

                                Choose the Right Python Concurrency API - Super Fast Python
                              • Go言語でJSONをYAMLに変換するコマンド json2yaml を作りました! - プログラムモグモグ

                                JSONをYAMLに変換するコマンド json2yaml を、Go言語で作ってみました。 他の言語も含めると同じようなコマンドラインツールは無数に作られていますが、 Goのライブラリとして組み込みたかったというのが最初のモチベーションです。 また、JSONをストリーミング的にYAMLに変換できるのかという疑問を以前から抱いていて、ここに答えを得たかったというところもありました。 github.com go install github.com/itchyny/json2yaml/cmd/json2yaml@latest Homebrewでもインストールできます。 brew install itchyny/tap/json2yaml JSONファイルを引数にしてYAMLを出力したり、 $ cat sample.json { "Sample": "JSON" } $ json2yaml sam

                                  Go言語でJSONをYAMLに変換するコマンド json2yaml を作りました! - プログラムモグモグ
                                • Announcing WASIX · Blog · Wasmer

                                  Announcing WASIXWASIX extends the WASI proposal to build useful and productive applications today with full POSIX compatibility Today we are very excited to launch a new initiative that will start shaping the future of WebAssembly on both the browser and the server. WASI was announced about 4 years ago and was a great push to move the Wasm community forward. It got everyone so excited that even So

                                    Announcing WASIX · Blog · Wasmer
                                  • An Opinionated Guide to xargs

                                    Preliminaries What Is xargs? It's an adapter between text streams and argv arrays, two essential concepts in shell. You pass it flags that specify how to split stdin. Then it generates arguments and invokes processes. Example: $ echo 'alice bob' | xargs -n 1 -- echo hi hi alice hi bob What's happening here? xargs splits the input stream on whitespace, producing 2 arguments, alice and bob. We passe

                                    • 2025年、それはスクワットの時代 🏋️ - マンガ〜ノ伊藤ノ〜ト

                                      この記事は「はてなエンジニア Advent Calendar 2024 - Hatena Developer Blog」の 41 日目の記事です。昨日は id:masayosu さんの「AWS EKS Automode のノード管理について」でした。 はてなのマンガアプリチームで Android エンジニアをやっている id:mangano-ito です。 スクワット最強説 スクワットは筋トレの中でもオススメらしいのです。 理屈はよくわかってないけど、筋トレやるならスクワットがオススメだよみたいなことはよくきくと思います: diamond.jp ので、自分は風呂前や風呂中に気休め程度にスクワットをやっている。たまに変な腹筋もやっていますが…自分のヘソを見つめるやつ。 www.nisshin.com それはさておき、スクワットのいいところとしましては、映像をみながらやりやすいということです。

                                        2025年、それはスクワットの時代 🏋️ - マンガ〜ノ伊藤ノ〜ト
                                      • Sublime Text 4

                                        The first stable release of Sublime Text 4 has finally arrived! We've worked hard on providing improvements without losing focus on what makes Sublime Text great. There are some new major features that we hope will significantly improve your workflow and a countless number of minor improvements across the board. A huge thanks goes out to all the beta testers on discord and all the contributors to

                                          Sublime Text 4
                                        • 複数の AWS アカウントの AWS Security Hub 検出結果を Google BigQuery と Google DataPortal(DataStudio) により可視化した話 - Adwaysエンジニアブログ

                                          こんにちは、インフラの天津です。今日は 複数アカウントの AWS Security Hub 検出結果の可視化についてお話したいと思います。 前提 モチベーション AWS Security Hub とは 構想 ツール・サービスの選定 検出結果データのエクスポートについて 可視化用データベース(またはクエリサービス)と可視化ツールについて 構築 全体像 検出結果データエクスポート 検出結果データの S3 -> GCS への転送と BigQuery へのインポート Security Hub からエクスポートしたデータには BigQuery のカラム名に使用できない文字(以下禁則文字)が使用されている件 自動判別で生成されたスキーマでインポートした際に INTEGER 型のカラムに STRING 型のデータが入ってくることがありインポートエラーが発生する件 AWS アカウントデータの S3 ->

                                            複数の AWS アカウントの AWS Security Hub 検出結果を Google BigQuery と Google DataPortal(DataStudio) により可視化した話 - Adwaysエンジニアブログ
                                          • 缶つぶし機とソフトウェア移行技術 - Refactoring to Rust の読書感想文 - じゃあ、おうちで学べる

                                            はじめに ——あるいは、「知っている」と「理解している」の間 Rustのことは、知っていた。学習もしていた。実務でも使っていた。 でも、それは知っているつもりだった。 知ってるつもり 無知の科学 (ハヤカワ文庫NF) 作者:スティーブン スローマン,フィリップ ファーンバック早川書房Amazon 日々Rustで開発し、BoxとRcとArcを使い分け、tokio::spawnでタスクを生成し、?演算子を当たり前のように書いている。FFI?PyO3使えばいいでしょ。WebAssembly?wasm-bindgenがあるじゃない。技術的には、確かに「使える」レベルにはあった。 でも、心のどこかで感じていた違和感があった。 オートバイのエンジンを分解できる人と、エンジンが動く原理を理解している人は違う。コードが動くことと、なぜそう書くべきかを理解することも違う。私は前者だった。メカニックではあった

                                              缶つぶし機とソフトウェア移行技術 - Refactoring to Rust の読書感想文 - じゃあ、おうちで学べる
                                            • Improving the Developer Experience with the Ruby LSP - Shopify

                                              Improving the Developer Experience with the Ruby LSPThe Ruby LSP is a new language server built at Shopify that makes coding in Ruby even better by providing extra Ruby features for any editor that has a client layer for the LSP. In this article, we’ll cover how we built the Ruby LSP, the features included within it, and how you can install it. Ruby has an explicit goal to make developers happy. H

                                                Improving the Developer Experience with the Ruby LSP - Shopify
                                              • "Rules" that terminal programs follow

                                                Recently I’ve been thinking about how everything that happens in the terminal is some combination of: Your operating system’s job Your shell’s job Your terminal emulator’s job The job of whatever program you happen to be running (like top or vim or cat) The first three (your operating system, shell, and terminal emulator) are all kind of known quantities – if you’re using bash in GNOME Terminal on

                                                • POSIX準拠とは本当はどういうことなのか?「POSIXで規定されたものだけを使う」ではありません - Qiita

                                                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? POSIX 準拠とは 「POSIX準拠」とは移植性を高めるための POSIX が定義した要件を満たすことです。Linux/Unix用の多数のソフトウェアは POSIX に準拠しており、多くの環境での動作を実現しています。POSIX の要件には OS ベンダー向けとアプリケーションの開発者向けの要件があり、高い移植性の実現には双方が POSIX の要件を満たして開発する必要があります。POSIX が目標とする移植性とは実行ファイルのバイナリがそのまま動くことではなく「ソースコードレベルの移植性」です。つまり 「アプリケーションの移植性が高

                                                    POSIX準拠とは本当はどういうことなのか?「POSIXで規定されたものだけを使う」ではありません - Qiita
                                                  • A Critical Look at MCP - Raz Blog

                                                    "MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools." ― Anthropic TL;DR I would like for this to turn out to be a skill

                                                      A Critical Look at MCP - Raz Blog
                                                    • 0.10.0 Release Notes ⚡ The Zig Programming Language

                                                      Tier 4 Support § Support for these targets is entirely experimental. If this target is provided by LLVM, LLVM may have the target as an experimental target, which means that you need to use Zig-provided binaries for the target to be available, or build LLVM from source with special configure flags. zig targets will display the target if it is available. This target may be considered deprecated by

                                                      • Scripts I wrote that I use all the time

                                                        In my decade-plus of maintaining my dotfiles, I’ve written a lot of little shell scripts. Here’s a big list of my personal favorites. Clipboardcopy and pasta are simple wrappers around system clipboard managers, like pbcopy on macOS and xclip on Linux. I use these all the time. # High level examples run_some_command | copy pasta > file_from_my_clipboard.txt # Copy a file's contents copy < file.txt

                                                        • Introducing the new Wasmer JS SDK · Blog · Wasmer

                                                          Introducing the new Wasmer JS SDKToday we are incredibly excited to present `@wasmer/sdk`, a new library that allows running WASI(X) applications easily on the browser Dive into a world where running any WASI and WASIX package in your browser is a breeze. Whether it's Python, Bash, FFmpeg, or any package published in the registry, Wasmer Javascript SDK makes it all seamlessly possible. We think th

                                                            Introducing the new Wasmer JS SDK · Blog · Wasmer
                                                          • GoとPoatgreSQLでCOPY | フューチャー技術ブログ

                                                            GoのORマッパー連載の2日目の記事です。 データベースでパフォーマンスが大きな問題になりがちなのが、バッチでのデータのインサートと、複雑なクエリーです。が、今回は後者は置いといて、前者のデータの取り込みについて扱います。データの挿入の高速化は最近、ちょびっと大事かなと思うところがあります。というのも、バッチ処理をクラウド上で実行するといろいろな制約が襲ってくるからです。 クラウドサービスとバッチの時間制限AWSのLambdaは15分(900秒)です。GCPのCloud Functionsは9分(540秒)。この時間で済むならスケジューラサービスと繋げて定時実行でLambdaとかで処理できれば運用はとても簡単です。もうちょっと厳しい制限だと、AWSのAPI Gatewayは30秒制限です。この時間内であれば、サーバーレスな管理画面からアップロードしてデータをバルクインサートみたいなことが簡

                                                              GoとPoatgreSQLでCOPY | フューチャー技術ブログ
                                                            • jpro: JavaScriptで書くJSON processor - memo.yammer.jp

                                                              この記事は、🎅GMOペパボエンジニア Advent Calendar 2022の2日目のものです。 みなさんは、JSON processorを使っていますか?ええ、jqのようなツールのことです。世は大JSON時代、値を抽出したり、変換したりする機会も多いことでしょう。 ところで、jqの抽出クエリやコマンドラインオプション、さらっと書けますか?私はあんまり得意じゃないです。そこで、JavaScriptで書けるJSON processor「jpro」 をつくりました。 使ってみる 実際に使ってみましょう。Node.jsとnpmが使える環境ならば、事前のインストールなしに、「npx jpro」で実行できます1。以下では、私が最近書いた記事のタイトル5つを、JSON Feedから抽出しています。 抽出クエリはJavaScriptで書く 記事タイトルの「JavaSciriptで書く」とは、JSON

                                                                jpro: JavaScriptで書くJSON processor - memo.yammer.jp
                                                              • Chrome拡張機能とローカルアプリでプロセス間通信 | DevelopersIO

                                                                Introduction Native messagingとは、ユーザーのPCにインストールされたアプリと Webブラウザの拡張機能間でメッセージ交換を可能にする機能です。 この機能を使えば、ネイティブアプリケーションが Web経由でアクセスできなくても拡張機能にサービスを提供できます。 例えば、ローカルアプリがパスワードの暗号化と保管を行い、 拡張機能へパスワードを送信してフォームに自動設定、みたいなことも可能です。 また、拡張機能からは通常アクセスできないリソースに対しても実質的にアクセス可能になります。 本稿ではGoogle Chromeの拡張機能(extention)と ローカルに用意したNodeプログラムでプロセス間通信をためしてみます。 ※現状ではChrome以外でもEdge/Firefox/Safariなど主要なプラウザで使用可能 Environment OS : MacOS

                                                                  Chrome拡張機能とローカルアプリでプロセス間通信 | DevelopersIO
                                                                • mod_wasm: run WebAssembly with Apache

                                                                  Apache httpd is a modular web server that powers 31% of all websites you access every day. One of its most compelling features is the ability to extend it with new modules. Developers can choose among different modules to add or remove features like CGI, TLS, PHP, and many others. Today, we announce a new Apache module to run WebAssembly modules: mod_wasm. This module opens a new set of possibilit

                                                                    mod_wasm: run WebAssembly with Apache
                                                                  • PythonとD言語の連携: パフォーマンスと使いやすさの融合 - ITエンジニアが仕事に対して思うこと

                                                                    **PythonとD言語の連携: パフォーマンスと使いやすさの融合** こんにちは、皆さん。今回は、PythonとD言語を連携させ、お互いの利点を最大限に活かしてプログラミングを行う方法に焦点を当ててみたいと思います。Pythonの柔軟性とD言語のパフォーマンスを組み合わせ、効率的で高速なプログラミングを実現しましょう。 1. PythonからD言語の共有ライブラリを呼び出す まずは、PythonからD言語で作成した共有ライブラリ(Dynamic Link Library)を呼び出す例を見てみましょう。D言語のコードをコンパイルして共有ライブラリを生成し、それをPythonから使用します。 // D言語のコード(add.d) int add(int a, int b) { return a + b; } このD言語のコードをコンパイルして共有ライブラリを生成します。 $ dmd -shar

                                                                      PythonとD言語の連携: パフォーマンスと使いやすさの融合 - ITエンジニアが仕事に対して思うこと
                                                                    • Claude Code CLIで日次KPIレポートを自動化した話 — 1人開発でもデータドリブンを回す仕組み

                                                                      はじめに 1人でプロダクト開発をしていると、「ユーザーは増えているのか」「昨日のエラーは何件だったか」「主要機能の応答速度は悪化していないか」を毎日手動で確認する余裕がありません。PostHogのダッシュボードを開き、Sentryをチェックし、それをSlackに書く——この作業を毎朝やれるほど暇ではないのが現実です。 そこで、Claude Code CLIの claude -p(プログラマティック実行)とMCP(Model Context Protocol)を組み合わせて、PostHog・Sentryからデータを自動取得し、分析結果をSlackに配信する日次レポートを作りました。 結果として、以下のようなレポートが毎日Slackに自動投稿されるようになりました: KPI(DAU/WAU/CVR/継続率)の7日間推移と前週比 コア機能のファネル完了率と応答時間(機能別P50/P90) サーバ

                                                                        Claude Code CLIで日次KPIレポートを自動化した話 — 1人開発でもデータドリブンを回す仕組み
                                                                      • EC2インスタンスのユーザーデータ内のdnfコマンドやyumコマンドが失敗する場合の緩和策を考えてみた | DevelopersIO

                                                                        ユーザーデータでパッケージのインストールをしようとすると失敗するんだが こんにちは、のんピ(@non____97)です。 皆さんはEC2インスタンスのユーザーデータでdnfコマンドやyumコマンドが失敗したことはありますか? 私はあります。 具体的にはユーザーデータでdnf upgradeやdnf install パッケージ名を実行すると、以下のようにRPM: error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Resource temporarily unavailable)とログが出力されます。 $ dnf upgrade -y --releasever=latest Amazon Linux 2023 repository 30 MB/s | 23 MB 00:00 Amazon Linux 2023 Ker

                                                                          EC2インスタンスのユーザーデータ内のdnfコマンドやyumコマンドが失敗する場合の緩和策を考えてみた | DevelopersIO
                                                                        • RustでLinuxプロセス管理をしてみた - じゃあ、おうちで学べる

                                                                          はじめに これまでPythonとGoでプロセス管理システムを実装してきましたが、今回Rustでも実装してみました。各言語にはそれぞれ得意不得意があり、プロジェクトの要件によって最適な選択は変わります。変なとこがあれば教えてください。 この記事では、Rustでプロセス管理システムを実装した経験を共有します。標準ライブラリのstd::processだけでは不十分な要件があったため、より高度な制御が可能な実装を行いました。 doc.rust-lang.org サンプルコードはこちらに配置しておきます。 github.com Python、Go、Rustでの実装経験から見えた違い 3つの言語でプロセス管理を実装してきた経験から、それぞれの特徴をまとめます。 Pythonでの実装 subprocessモジュールは高レベルで使いやすい asyncioとの組み合わせで非同期処理も可能 GILの影響で真の

                                                                            RustでLinuxプロセス管理をしてみた - じゃあ、おうちで学べる
                                                                          • Python の open 関数と io モジュールをきちんと使うために - 朝日ネット 技術者ブログ

                                                                            はじめに 開発部の ikasat です。 Python の言語・ライブラリ・処理系はプログラマのタスクを手早く簡単にこなせるようにするために設計されており、数行程度のコードを書いただけでも内部で様々なことをやってくれます。 しかし、この便利さが特定のユースケースにおいては逆にお節介になってしまうこともあり、また内部動作が複雑であることにより挙動を修正する方法も分からなくなりがちです。 特に組み込みの open 関数や標準入出力 (sys.stdin, sys.stdout) はその最たる例であり、UnicodeEncodeError / UnicodeDecodeError や TypeError: a bytes-like object is required は Python を使った人であれば誰もが見たことのあるエラーメッセージでしょう。 私自身これまでこの類のエラーが出た時には検索

                                                                              Python の open 関数と io モジュールをきちんと使うために - 朝日ネット 技術者ブログ
                                                                            • Diffusers版のControlNet+LoRAで遊ぶ:理論と実践 | Shikoan's ML Blog

                                                                              前回に引き続き、Stable DiffusionのControlNetで遊んでみます。ControlNetとは画像主に空間方向の強い条件付が可能です。LoRAと組み合わせて動画レンダリングのようなこともできつつあるので、使いこなすとかなり強力な武器になりそうです。 はじめに 前回はLoRAで遊んでみましたが、今回はこちらもよく話題にのぼるControlNetで遊んでみました。ControlNetもDiffusersで対応しており、簡単に使うことができます。 ControlNetとは 解説が結構多いので今更感はありますが、2023年2月に発表された論文です。 従来のStable Diffusionは「この人をこういうポーズで配置してほしい」や「ここにこれをおいてほしい」や「輪郭線はこうしてほしい」のような、なにか制約条件をおいた上で生成するということが難しいという課題がありました。実践的には

                                                                                Diffusers版のControlNet+LoRAで遊ぶ:理論と実践 | Shikoan's ML Blog
                                                                              • sqlc generate は何をしているのかメモ

                                                                                [2023-09-11 追記] 以下のブログの方が分かりやすいので、そちらを読むことをお勧めします。 sqlc internals - 薄いブログ 最近、個人開発で Go のアプリケーションからデータベースを操作するために sqlc を使っている。sqlc は SQL で書いたスキーマのファイルから sqlc generate コマンド一つで Go の構造体を、クエリのファイルから型安全な Go の SQL クライアントを生成することができる。1 私は普段の仕事で ORM が提供するメソッドやクエリビルダを使って SQL を組み立てている。ORM は便利ではあるが、最終的に実行される SQL は可読性が低くてデバッグしづらいことが多い。そのため「最初から SQL を書けば良いのでは…?」と考えるようになり、初めて sqlc を見たとき自分の好みに合うツールと確信した。 使い方は簡単で便利な

                                                                                  sqlc generate は何をしているのかメモ
                                                                                • ゼロからはじめるPython(91) 自作Slackコマンド作成は簡単! 100円運用でチーム連携を強化しよう

                                                                                  ビジネス用メッセージングアプリのSlackが便利だ。Slackを使うとプロジェクトごとの専用スペースに情報を集約できる。筆者が特にSlackが便利だと感じているのが、自作コマンドを簡単に自作できる点にある。今回はPythonと格安レンタルサーバーを活用して、自作Slackコマンドを作ってみよう。 自作Slackコマンドを実行しているところ Slackについて Slackはビジネス向けのメッセージングアプリだ。チャット機能に加えて、ファイル管理、検索機能など、社内コミュニケーションの円滑化に役立つ機能を備えている。こちらに分かりやすく基本的な使い方が書かれている。これからSlackを始めてみようという方は確認してみると良いだろう。 なお、基本的にはLINEなどのコミュニケーションアプリと大きな違いはないが、外部のWebサービスと連携する機能が豊富なのが特徴だ。そして、プログラマーにとってのメ

                                                                                    ゼロからはじめるPython(91) 自作Slackコマンド作成は簡単! 100円運用でチーム連携を強化しよう