Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
(2022/09/22 17:52更新)画像生成AI「Stable Diffusion」を簡単に利用するための実行環境の1つである「Stable Diffusion web UI」のコントリビューター(開発貢献者)の1人であるAUTOMATIC1111氏が、フォークではないものの同名で「機能全部盛り」なStable Diffusion web UI(AUTOMATIC1111版)の開発を進めています。 GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI https://github.com/AUTOMATIC1111/stable-diffusion-webui ◆目次 1:AUTOMATIC1111版Stable Diffusion web UIでできること・対応していること 2:Google Co
※おすすめの基準には上記「導入の手軽さ」「学習の手軽さ」「パッケージ依存関係の解決」以外に、「対象OSとの相性」「検索による情報の見つかりやすさ」を考慮しています。詳しくは後述します 筆者の主観が入りますが、概ね以下のフローチャートのように選択すると良いかと思います (詳しくは後述します) なお、実用上ハマりやすいプロキシ環境での使用方法についても、以下の記事に別途まとめました 必要知識 ここから先は、Pythonのパッケージ管理が何をやっているかを解説します。 「御託はいいから早く使いたい!」という方は、「3種類の方法比較」の項目まで飛んでください まず、一般的に「パッケージ管理」と呼ばれている要素を、以下の4つの機能に分割して考える必要があります。 A. インタプリタ切替 (Pythonのバージョンを切り替える) B. パッケージ切替 (パッケージのバージョンを切り替える) C. パッ
a = [1, 2, 3] b = a # コピー? c = a # コピー? b.append(4) # 追加 c.append(5) # 追加 print(b) # [1, 2, 3, 4, 5] # c に追加したはずの 5 が # b にも追加されていて、ビビる print(c) # [1, 2, 3, 4, 5] # b に追加したはずの 4 が # c にも追加されていて、ビビる const a = [1, 2, 3] const b = a // コピー? const c = a // コピー? b.push(4) // 追加 c.push(5) // 追加 console.log(b) /* [ 1, 2, 3, 4, 5 ] c に追加したはずの 5 が b にも追加されていて、ビビる */ console.log(c) /* [ 1, 2, 3, 4, 5 ] b に追
今朝は雨が降ったようで、久しぶりに涼しい朝を迎えられた菅野です。 前回の記事「日々のExcel管理を効率化するPythonスクリプトをChatGPTに作ってもらう」には多くの反響をいただきありがとうございます。 acro-engineer.hatenablog.com 前回は、Pythonスクリプトを生成することで、Excel管理の作業を自動化することを目的としていました。 ただ、エンジニアでない社員からは、以下のようなコメントをもらいました。 エンジニアではない人はPython実行もハードルが高い ChatGPTとExcelファイルだけで完結させてほしい ということで、今回はPythonスクリプトを意識することなく、ChatGPTのCode Interpreterのみを用いてExcelの集計・編集作業を行ってみます。 今回のテーマではGPT-4モデル、Code Interpreterを使
会議の最中であるにもかかわらず、政治家が集中せずに手遊びしていたり居眠りしていたりする様子が中継に映り込むことがあります。これを、中継映像から機械学習と画像認識を用いて自動的に検出し、TwitterとInstagramのアカウントで映像付きで報告する仕組みが運用されています。 The Flemish Scrollers, 2021-2022 – Dries Depoorter https://driesdepoorter.be/theflemishscrollers/ Machine Learning Detects Distracted Politicians | Hackaday https://hackaday.com/2022/01/17/machine-learning-detects-distracted-politicians/ ベルギー人アーティストのドリス・ディポーター氏
京都大学は全学共通科目でプログラミング演習の教材に使用している、Pythonの教科書を無償公開している。教科書は京都大学学術情報リポジトリ「KURENAI(紅)」で公開しており、累計ダウンロード数は100万件を超えるという。 教科書は2018年に授業で使用し始めたもので、学生の反響を取り入れながら毎年のようにアップデートを繰り返してきた。本稿執筆時点で最新版となる2023年度版では、前年度版の誤植の修正や読みにくい文章を改訂したほか、前年の授業で補足した説明などを追記している。その他、章立ての改訂や新たな演習を追加するなど、公開から約5年が経過した現在でも改良が続けられている。 教科書を執筆したのは、京都大学 国際高等教育院 教授の喜多一氏ら。なぜ、大学教授がPythonの教科書を書くことになったのだろうか? Pythonユーザーが集まる開発者向けのカンファレンス「PyCon APAC 2
NumPy 2.0.0の主要な変更点 皆さんもお世話になっているであろう科学計算ライブラリNumPyが、2006年以降初めてのメジャーアップデートを発表しました。そこで、変更点をざっくりとまとめてみました。以下は変更点の一部であり、それ以外については実際のドキュメントを参照してください。 免責事項:この記事は、NumPy 2.0.0の変更点について個人的な見解を述べたものであり、NumPyの開発チームや関係者の公式な見解を代表するものではありません。変更点の影響や対応方法については、必ず公式のリリースノートと移行ガイドを参照してください。また、この記事には不正確な情報が含まれている可能性があります。記事の内容を実際のプロジェクトに適用する前に、必ず公式ドキュメントで情報を確認してください。 概要 2006年以来の最初のメジャーリリース 破壊的な変更あり 多くの新機能とPython/C AP
画像生成AI「DALL・E2」や文章生成AI「GPT-3」「InstructGPT」などを開発するAI研究団体のOpenAIが、2022年9月に高性能な文字起こしAI「Whisper」を発表しました。オープンソースのWhisperはリポジトリが一般公開されており、日本語にも対応しているとのことで、オンライン実行環境のGoogle Colaboratory(Google Colab)やローカルのWindows環境に導入して使ってみました。 Introducing Whisper https://openai.com/blog/whisper/ GitHub - openai/whisper https://github.com/openai/whisper ○目次 ◆Hugging Faceの体験版を使ってみる ◆Google Colabに導入して使ってみる ◆Windows環境に導入してみ
AWSのlambdaにPythonのlambdaにLambda Labsに...世の中Lambda(ラムダ)だらけですね。 LambdaがRazerと共同開発したディープラーニング向けノートPC「Tensorbook(テンサーブック)」が発表されています。価格は3499ドル(約44万円)から。 構成は、駆け出しPythonエンジニア初学者でも分かる「これなら大丈夫だろうGPU」GeForce RTX 3080(VRAM16GB)と、Core i7 11800、メモリは64GB。GPU性能はアップルのM1 Maxより最大4倍近く速く、Google Colabを用いた学習モデルの構築と近くすれば最大10倍の差が出ているといいます。ま、RTX3080なんだからそりゃそうだよね。 OSはUbuntu 20.04 LTS(Windows 10のデュアルブートオプションもあり)で、コマンド1行でディー
学生時代にビープラウドで仕事をされていた@c-bataさん執筆の実践Django Pythonによる本格Webアプリケーション開発を拝読しました。 読み終わり感じたことは「筋肉質で骨太な書籍である」ということです。 筋肉質である なぜ「筋肉質」かというと、それは書籍の構成にあります。 構成は、1章のチュートリアルを一通り学べば、Djangoの主要機能を広く学ぶことができ、さらに知識を深めたい場合は、2章以降を必要に応じて読めば良い構成になっています。 また各章は、必要最低限の要素が学べる洗練されたサンプルコードをもとに説明されています。 これは現場でDjangoを使った開発に取り組む必要があり、短時間で学ばなければならないエンジニアにとってとてもありがたいことです。 骨太である 「骨太」という点においては、各章の説明が充実していることです。 実運用するWebアプリでは、機能を動かすだけでは
はじめに Claude3Opusはものすごい能力で、手動で作成するのは面倒なプロジェクトのドキュメンテーションなどを一撃で生成してくれます。 しかし、プロジェクト全体の内容をWebのCladeには投入できないし、ファイルを1個ずつコピペするのもかなり時間を要します。 頼みのCursorもClaudeは対応していないので@Codebase機能が利用できません・・・ そこで、Pythonスクリプトを使ってプロジェクトのフォルダ構造とファイルの内容を自動的にまとめるスクリプトを作成したので紹介します! このスクリプトを使うことで、プロジェクトを200kトークンまでの単一のテキストにまとめ、Claude3Opusに簡単に投入できるようになります。 スクリプトの機能と使い方 このPythonスクリプトは以下のような機能を持っています: プロジェクトのフォルダ構造をMarkdown形式で生成。※本当は
Meta(旧Facebook)は、ブログ「Engineering at Meta」で公開した記事「Programming languages endorsed for server-side use at Meta」で、Rustを新たに社内の正式サポート言語に追加したことを明らかにしました。 Meta社内ではソフトウェア開発において正式にサポートする言語を慎重に選択しており、社内においてサポートされた言語に対しては十分な投資が行われ、プログラミング、デバッグ、デプロイなどにおいて良好な開発体験が期待できるとともに、新しプロジェクトが開始される場合には、サポートされている言語を選択することが推奨されています。 サーバサイド向けの言語としてこれまでPython、C++、Hackがサポートされており、今回そこにRustが追加されました。 性能重視のバックエンドサービスやCLIの開発にRustを推
PolarsというPandasを100倍くらい高性能にしたライブラリがとても良いので布教します1。PolarsはRustベースのDataFrameライブラリですが、本記事ではPythonでのそれについて語ります。 ちなみにpolarsは白熊の意です。そりゃあまあ、白熊と大熊猫比べたら白熊のほうが速いし強いよねってことです2。 何がいいの? 推しポイントは3つあります 高速! お手軽! 書きやすい! 1. 高速 画像はTPCHのBenchmark(紫がPolars)3。 日本語でも色々記事があるので割愛しますが、RustやApach Arrowなどにお世話になっており、非常に速いです。MemoryErrorに悩まされる問題も解決されます。開発者のRitchieがしゃれおつなツイートをしてるので、そちらも参考にどうぞ ↓ 4。 抄訳: (ひとつ目)Pandasは黄色くした部分でDataFram
コンフィグ設定 まずはapps/config.pyを作成し以下のコンフィグを追加しましょう。実践的なアプリでは開発環境の他にstaging環境、本番環境、テスト環境などが存在するのでそれぞれ専用のコンフィグ設定を行います。 from pathlib import Path basedir = Path(__file__).parent.parent class BaseConfig: """ BaseConfigクラス """ SECRET_KEY = os.environ["SECRET_KEY"] WTF_CSRF_SECRET_KEY = os.environ["WTF_CSRF_SECRET_KEY"] class LocalConfig(BaseConfig): """ BaseConfigクラスを継承してLocalConfigクラスを作成する """ SQLALCHEMY_DA
はじめに 前回と前々回は、browser-useに関する記事を投稿し、AIが自律的にWebブラウザを使ってコンテンツ情報を取得する仕組みについて解説しました。今回は、Webブラウザを介さずに「スクレイピング」という手法でコンテンツ情報を取得するツール、Firecrawlを試してみます。 ただし、「スクレイピング」は誤った使い方をすると他のWebサイトに迷惑をかけたり、トラブルを引き起こす可能性があります。そのため、ご自身が管理しているWebサイトや利用許可を得たサイトでのみ実施するようにしてください。 それでは、Firecrawlを使ったスクレイピングに挑戦してみましょう! Firecrawlについて Firecrawlは、指定したURLをクロールし、その内容をマークダウン形式や構造化データに変換するAPIサービスです。手軽にウェブ情報を整理・変換できるため、データ収集や分析に役立つツール
こんにちは,米国データサイエンティストのかめ(@usdatascientist)です. (追記)動画版も公開しました!全38時間の3部作という超大作です 【日本一の高評価】機械学習超入門講座(前編&後編)を公開しました!! 【ついに3部完結】機械学習超入門講座の本番編を公開しました!! いやーついに長かったデータサイエンス入門機械学習編35回分の記事を書き終えました!! 本記事はそのまとめです.目次として使ってください. 目次 線形回帰 第1回: 機械学習とは?なにをしているのか? 第2回: 線形回帰の損失関数をわかりやすく解説 第3回: 最急降下法を図と数式で理解する(超重要) 第4回: 正規方程式を完全解説(導出あり) 第5回: scikit-learnを使って線形回帰モデルを構築する 第6回: 線形回帰の係数の解釈の仕方(p値) 評価 第7回: (超重要)過学習と汎化性能を理解する(
本記事では、RAGの基本的な仕組みを理解するために、Pythonを使ってゼロからRAGを実装する手順をざっくり解説します。 株式会社ナレッジセンスは、「エンタープライズ企業の膨大なデータを掘り起こし、活用可能にする」プロダクトを開発しているスタートアップです。 この記事は何 この記事では、非エンジニアでも、手元のPCで「RAG」を動かせるというところまで解説したいと思います。 こんな感じでRAGを構築できます。入門から解説します 最近、非エンジニアでも、RAGに興味を持つ方が増えました。 ただ、一方で、RAGの「基本」についての記事は、だいぶ減っています。このままだと、「RAGに詳しい人だけが、さらに詳しくなっていく」という状態になってしまいます。 そこで今回は、入門者向けに、「やってみた」形式で、RAG技術のざっくり解説をしていきます。なるべく簡単に行きます↓ そもそもRAGとは? RA
「OpenAI Agents SDK」の概要についてまとめました。 ・OpenAI Agents SDK 1. Agents SDK「Agents SDK」は、Agentシステムを構築するための軽量パッケージです。これは、以前の実験プロジェクト「Swarm」の本番環境対応版となります。 「Agents SDK」は、以下な最小限のプリミティブで構成されています。 ・Agent : 指示とToolを備えたLLM ・Handoff : 特定のタスクを他のAgentに委任できる機能 ・Guardrail : Agentへの入力を検証するしくみ これらのプリミティブを Python と組み合わせることで、ToolとAgentの間の複雑な関係を表現し、学習コストなしに実用的なアプリケーションを構築できます。 さらに、SDK には トレース機能(Agentの動作を可視化・デバッグできる機能)が組み込まれ
import datetime import asyncio from time import sleep # グローバルな2面のデータバッファ DataBuffer1 = [] DataBuffer2 = [] # ログファイル出力数 logFileNum = 0 # 1ファイルあたりのデータ数 dataNumMax = 100 # 仮のファイル名 MACAddress = "12:34:56:78" # 2面のデータバッファを指定してバッファ格納 def storeDataBuffer(buffNo, dataStr): if (buffNo == 0): DataBuffer1.append(dataStr) else: DataBuffer2.append(dataStr) # 非同期で動かすがasyncは付けない def writeDataToFile(targetBuffNo)
GitHub Actions でワークフローを実行するときに git commit と git push を実行して GitHub Actions の実行を待つことがよくある.より迅速に実行して,結果を受け取るために「act」を使って GitHub Actions をローカル環境(コンテナ)で実行する仕組みを試してみた.便利だったので紹介しようと思う❗️ 当然ながら GitHub Actions を完全再現できてるわけではなく,最終的には GitHub Actions を使うことにはなるけど,特に開発中に頻繁にテストを実行できるのはメリットだと思う.うまく併用しながら開発体験を高めよう👌 github.com セットアップ macOS の場合は Homebrew を使って簡単にセットアップできる.他には Chocolatey (Windows) や Bash script も選べる.今回
Amazon Web Services ブログ データサイエンス100本ノックが SageMaker Studio Lab からすぐに学べるようになりました 2022 年夏の甲子園は、決勝で満塁ホームランが出る記録的な試合となりました。球児が野球のノックを受けるのなら、エンジニアが受けるノックは何でしょう ? 本記事では「データサイエンス 100 本ノック(構造化データ加工編)」を Amazon SageMaker Studio Lab で簡単に学ぶ方法をご紹介します。データサイエンス 100 本ノックは、データベースのテーブルや CSV ファイルといった表形式のデータから欲しいデータを取り出す方法を学べる教材です。 GitHub で公開されており、 2022 年 8 月時点で 1,800 を超える Star がつけられています。 データサイエンス 100 本ノック(構造化データ加工編)ト
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Pythonコルーチンの開発プロセスと新旧コルーチンの深層分析 1. Pythonコルーチンの歴史的進化 Pythonの長い開発の歴史を通じて、コルーチンの実装はいくつかの大きな変更を経てきました。これらの変更を理解することは、Pythonの非同期プログラミングの本質をよりよく把握するのに役立ちます。 1.1 初期の探索と基本機能の導入 Python 2.5:このバージョンでは、ジェネレータに.send()、.throw()、.close()メソッドが導入されました。これらのメソッドの登場により、ジェネレータは単なるイテレータ以上のもの
1. PPTXファイルの正体 ── ZIP の中の XML 群 PowerPointファイルは、見た目はひとつの塊だが、実態は XMLファイルの集合体をZIPで圧縮したもの だ。 スライド本体(slide*.xml)とは別に、デザインを司る「マスター」「レイアウト」「テーマ」が独立したファイルとして存在している。この分離が、後述するテンプレートの概念に直結する。 python-pptx は、このZIP内のXML群を Python の Presentation オブジェクトに変換してくれる。開発者は XML を意識せずに、Python のオブジェクト操作だけでスライドを読み書きできる。 2. PPTXの5層構造 ── コードで辿る入れ子の箱 PPTXの中身は、マトリョーシカのような入れ子構造を持っている。python-pptx はこれを忠実にオブジェクトモデルとして表現する。 文字の装飾(太
Metaは、コードもしくは自然言語によるプロンプトから、コードの生成およびコードに関する自然言語の説明を生成できる大規模言語モデル「Code Llama」を公開しました。 Code Llamaは、先月(2023年7月)にMetaが発表した大規模言語モデル「Llama 2」をベースに、コードに特化したデータセットでさらに訓練したバージョンだと説明されています。 対応するプログラミング言語はPython、C++、Java、PHP、JavaScript、Typescript、C#、Bashなどを始めとする主要な言語。 GPUで処理できるサイズやPython特化のモデルも Code Llamaは3つのサイズ、7B、13B、34Bが提供されています。 7Bモデルは1つのGPUで処理できる一方で、34Bモデルは最善の結果を返し、より良いコーディング支援を可能にする能力があります。 一方、7Bおよび13
国立国会図書館サーチのAPIとは? 国立国会図書館と全国の図書館の蔵書情報にアクセスできるAPIです。 主に3つのAPIが提供されています。 検索用API ハーベスト用API 書影API 今回は検索用APIと書影APIを使ってみたので、その知見を共有します。 利用申請について と、その前に簡単に利用申請について触れておきます。 非営利利用の場合は申請不要ですが、営利利用の場合は利用申請が必要な場合があります。 営利利用の判断基準については以下の通りです。 データを利用することにより、なんらかの収益を得る場合(例:サイトの運営による広告収入等)は、営利目的にあたるため、利用申請が必要です(希望されている利用方法が営利目的に該当するか判断に迷う場合は、NDLサーチAPI利用申請フォームからご相談ください)。 特に検索用APIでは検索対象のデータプロパイダ(データソース)を指定できるため、利用す
JPCERT/CCは、2019年6月から継続して攻撃を行っている標的型攻撃グループDangerousPassword [1][2](CryptoMimicまたは、SnatchCryptoとも呼ばれる)に関連すると思われる、暗号資産交換事業者の開発者を狙った攻撃を5月末に確認しています。この攻撃は、マシン上にPythonやNode.jsがインストールされたWindows、macOS、Linux環境をターゲットとしたものです。 今回は、JPCERT/CCが確認した攻撃および使用されたマルウェアについて解説します。 Pythonマルウェアを起点としたWindows環境における攻撃 攻撃者は、QRコードを扱うためのPythonモジュール(https://github.com/mnooner256/pyqrcode)のbuilder.pyというファイルに不正なコードを挿入したものをあらかじめ用意し、
LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog こんにちは。LINEの小林滉河(@kajyuuen)です。NLPチームで固有表現抽出、有害表現の検知、LINEスタンプ推薦の改善など自然言語処理に関する仕事をしています。 この記事ではLINEが公開した言語モデル「LINE DistilBERT」について紹介します。 https://huggingface.co/line-corporation/line-distilbert-base-japanese https://github.com/line/LINE-DistilBERT-Japanese LINE DistilBERTは次のような特徴を持つ日本語言語モデルです。 高性能・高速・軽量 Hugging Faceのtra
Tweet Pocket あなたは今、ITエンジニアとして入社して3ヶ月が経過し、これから本格的にプログラミングを学ぼうとしている段階ではないでしょうか。 実はプログラミングを習得するためには、プログラミング自体の知識だけでは十分ではありません。抽象化のスキル、プロジェクトマネジメントのスキル、コミュニケーションスキルなど、多様なスキルが必要です。 私たちはこれまで約24年間にわたり開発を携わってきました。約500名のエンジニアと共にしてきました。そのなかでも新卒研修を共にしてきたエンジニアは100名にのぼります。 私たちよりももっと大きな経験豊富で素晴らしい研修を提供されている会社はあるかもしれません。でも、私たちは私たちなりに新卒エンジニアにとって素晴らしい研修を追求し続けてきた自負があります。 そこで今回は、そんな私たちの経験を踏まえて、入社3ヶ月の新卒エンジニアを対象に、プログラミ
表計算ソフト「Microsoft Excel」でついにPythonが使えるようになった。2024年9月に正式リリースされた新機能「Python in Excel」によるもの。この機能の基本的な使い方を解説する。 表計算ソフトのデファクトスタンダードである「Microsoft Excel」は、多くの人に使われています。Excelで使えるプログラミング言語といえば、長らくはVBA(Visual Basic for Applications)のみでしたが、ついにPythonも使えるようになりました。「Python in Excel」という名称の機能として、パブリックプレビュー版を経て、2024年9月に正式リリースを迎えました。利用にあたっては、インターネット接続環境が必要です。 ただし、同機能が利用できるのは、本稿執筆時点(2024年11月上旬)ではWindows版「Microsoft 365」
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
杉田(@ane45)です。今月の「Python Monthly Topics」では、CrewAIを紹介します。 従来のLLM(大規模言語モデル)の活用は、単一のモデルに1つのプロンプトを投げて完結させる使い方が中心でした。しかし、複雑なタスクになると「調査→分析→執筆」のように役割を分けた方が効率的です。人間のチームと同じように、AIも役割分担することで品質が向上します。CrewAIは、このような「AIチーム」を簡単に構築できる軽量で高速なPythonフレームワークです。 CrewAIとは CrewAIは、複数のAIエージェントを役割ごとに編成し「チーム」として協力させ、複雑なタスクを自律的に実行させることができます。 公式ドキュメント(CrewAI Documentation) URL:https://docs.crewai.com CrewsとFlows CrewAIには中核となる2つ
総評としては、Claudeがライブラリ指示追従性能が高く便利で、ロングコンテキストを加味するとGemini 2.5 Proをサブとして用いると良さそうです。 備考 実際のコーディングにおいては画像対応やモデルごとの最大コンテキスト長も加味する場合もあります。上記ではo1以外は画像対応しており、かつコンテキスト長を最大付近まで使うと現状では性能劣化が激しいためロングコンテキスト性能だけを見るに留めました。 どの言語を使えばいいの? この節のサマリ とりあえず日本語でOK LLMにおける言語間の差異について プロンプトにおける言語選択は重要な問題です。言語によって、これらの能力が変わります。 推論能力 トークン効率 ChatGPT が登場した当時は明確に英語での推論が優れていましたが、現在はトークン効率が改善され、以下のベンチマークで見るとおり、推論能力も他とあまり変わりません。 ゆえに現状で
Skip to the content. Pythonプログラミング入門 本授業の情報はUTOLを参照してください。
The document outlines strategies for enhancing research efficiency, emphasizing the importance of effective literature review, management skills, and collaborative efforts among researchers. It discusses two main methods for skill enhancement: learning from peers and leveraging online resources, while highlighting the challenges and advantages of each approach. Additionally, it provides insights i
この記事は「Hacobell Developers Advent Calendar」ー 8日目の記事です。 はじめに 「あの言語の並行処理って、結局どう動くんだっけ?」 日々の開発業務に追われる中で、ふと立ち止まってしまうことはありませんか?現代のアプリケーション開発において、マルチコアCPUの性能を最大限に引き出し、ユーザーに快適なレスポンスを返すために並行処理の理解は不可欠です。 しかし、使用する言語によって、そのアプローチや内部的な挙動は驚くほど異なります。 本記事では、Node.js, Python, Ruby, Goをピックアップし、それぞれの並行処理モデルが「CPUバウンドなタスク」と「I/Oバウンドなタスク」に対してどのように振る舞うのか、具体的なコード例を交えながらその違いを再整理します。 対象読者 本記事は以下のような方を想定しています。 複数の言語を日常的に使用している
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く