Social Icons

分散型アプリケーション (dApps): ブロックチェーンの力を解き放つ

dAppsって何なの? 分散型アプリケーション、またはdAppは、分散コンピューティングシステム、通常はブロックチェーンネットワーク上で動作するアプリケーションです。従来のアプリが中央サーバーに依存するのに対し、dAppはブロックチェーンの力を活用して、透明性、セキュリティ、ユーザーコントロールを向上させます。 dAppの主な特徴は以下の通りです: * オープンソースコード * 分散型データストレージ * アクセスと価値移転のための暗号トークン * 単一障害点がない Ethereum: 元祖dAppプラットフォーム dApp開発において、Ethereumはその祖先です。2015年に開始されたEthereumは、コードに直接書かれた条件を持つ自己実行型契約であるスマートコントラクトの概念を導入しました。この革新により、開発者が分散型アプリケーションを作成するための可能性が広がりました。 Ethereumでの開発: 基本 Ethereum開発を始めるには、以下のことに慣れる必要があります: * Solidity: Ethereumのスマートコントラクト用の主要...

2ヶ月前
4 分で読む

コードからクラウドへ: 開発者からDevOpsエンジニアへの道を描く

DevOpsツールキット:習得すべき基本スキル DevOpsへの移行は、スイスアーミーナイフから完全装備のワークショップにアップグレードするようなものです。ツールベルトに追加すべきものは次のとおりです: 1. インフラストラクチャをコードとして管理 (IaC) サーバーを手動で設定する時代は終わりました。インフラをコードのように扱う時が来ました:バージョン管理、オートメーション、再現可能性が重要です。 学ぶべき主要ツール: * Terraform * AWS CloudFormation * Ansible * Puppet プロのヒント: Terraformから始めましょう。クラウドに依存せず、学習曲線が緩やかです。 2. コンテナ化とオーケストレーション まだコンテナを使っていないなら、今がその時です。コンテナはDevOpsにとって、開発者にとってのコーヒーのように不可欠です。 必須技術: * Docker * Kubernetes * Docker Compose クイックスタート:シンプルなアプリを作成し、...

2ヶ月前
4 分で読む

Pythonでのuvloopとaiohttpによる非同期マジック

昔の時代(例えば、先週の火曜日)、私たちはスレッドやプロセスを生成して同時にリクエストを処理していました。しかし、スレッドは手のかかる幼児のようなもので、何もしていないときでも注意とリソースを要求します。 そこで登場するのが非同期プログラミングです。これは、遅い操作(例えばI/O)が完了するのを待っている間に他の有用なことを行う技術です。まるで夕食を作り、洗濯をし、お気に入りの番組を一気見することができるようなものです—家を燃やさずに。 uvloop: asyncioのニトロブースト さて、Pythonのasyncioはかなり便利ですが、uvloopはトリプルエスプレッソを飲んだ後のasyncioのようなものです。これはCythonで書かれたasyncioイベントループの代替品で、非同期コードをカフェインを摂取したチーターのように速く実行させることができます。 どれくらい速いのか? ベンチマークによると、uvloopは次のような速度を実現できます: * Node.jsの2倍の速さ * Goプログラムに近い速度 * デフォルトのasyncioの少なくとも2-4倍の速...

2ヶ月前
4 分で読む

Linuxでのスケジューリング遅延を'perf sched'で特定する: 実践ガイド

'perf sched'は、Linuxスケジューラを詳しく調べるためのツールです。これは、より広範な'perf'ツールスイートの一部ですが、特にスケジューリングイベントに焦点を当てています。タスクの切り替え、ウェイクアップ、移行など、システムを遅くしているかもしれない要因を探るための個人的な探偵のようなものです。 なぜ気にするべきか? * マルチスレッドアプリケーションのボトルネックを特定する * CPUコア間でのタスク配置を最適化する * 時間に敏感なシステムでの遅延を理解し、削減する * 従来のプロファイリングでは解決できない謎のパフォーマンス問題をデバッグする 実践: 'perf sched'の使い方 さあ、袖をまくって、最も役立つ'perf sched'...

2ヶ月前
3 分で読む

Kafka: コンシューマーグループのリバランスを高速化

少し昔を振り返ってみましょう。昔(Kafka 2.4以前)の時代、コンシューマーグループのリバランスは全てか無かの選択でした。リバランスが始まると、グループ内のすべてのコンシューマーは次のことを行いました: 1. メッセージの処理を停止する 2. すべてのパーティションを解放する 3. グループコーディネーターが新しいパーティションを割り当てるのを待つ 4. 新しいパーティションのオフセットを取得する 5. 処理を再開する この「世界を止める」アプローチは、ラッシュアワーのマンハッタンで大型トラックを駐車しようとするようなものでした。処理の遅延を引き起こし、慎重に扱わないとメッセージの重複処理を引き起こす可能性がありました。 インクリメンタル協調リバランスの登場 Kafka 2.4は画期的な変化をもたらしました:インクリメンタル協調リバランス。このアプローチは、あの不格好な大型トラックから機敏な電動スクーターの艦隊にアップグレードするようなものです。以下がその仕組みです: * 影響を受けたコンシューマーのみが処理を一時停止する * パーティションは複数の小さな...

2ヶ月前
3 分で読む

py-spyでPython WSGIサーバーをプロファイリング: ハンドラー内のCPUホッグを追跡

FlaskアプリケーションをGunicornで実行しているとしましょう(クールだからです)。いくつかのエンドポイントがありますが、そのうちの一つが問題を起こしています。さあ、py-spyゴーグルを装着して、何が起きているのか見てみましょう。 容疑者:CPUを食い尽くすハンドラー こちらが問題を起こしているシンプルなFlaskアプリです: from flask import Flask import time app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' @app.route('/cpu_hog&...

2ヶ月前
2 分で読む

Fluentd、Vector、Lokiを使ったモダンなロギング

21世紀においてスケーラブルで安全、そして実際に役立つログ設定を目指しています。私たちの強力なトリオをご紹介します: * Fluentd: ログ収集の万能ツール * Vector: 新たな注目株で、Fluentdに挑戦中 * Loki: 「ログがメトリクスのようにクールだったら?」というGrafanaの答え ステップ1: Syslogに別れを告げる(泣かないで、これが最善です) まず最初に、Syslogを手放す準備をしましょう。以下のチェックリストで準備が整っているか確認してください: * すべてのSyslogソースをインベントリ化する * カスタムの解析やルーティングルールを特定する * 現在のSyslog設定をバックアップする(念のため) * チームに通知する(そしてピザを注文するかも—変化は食べ物と共にあると良い) ステップ2: Fluentdのセットアップ - ログの万能選手 Fluentdはこのログの冒険の最初のステップです。これが素晴らしい理由は: * 多様な入力と出力プラグインをサポート * 構造化データと非構造化データを巧みに処理...

2ヶ月前
2 分で読む

大規模なプライベートパッケージリポジトリのホスティング: NexusとArtifactoryのトレードオフ

対決: NexusとArtifactory 赤コーナーにはSonatype Nexusがあります。2008年からリポジトリ管理で活躍しているオープンソースの人気者です。青コーナーにはJFrog Artifactoryがあります。豊富な機能セットで知られるエンタープライズ向けの巨人です。 これらのツールはどちらもパッケージ管理を簡単にするために設計されていますが、それぞれ独自の特徴があります。詳しく見ていきましょう。 Nexus: オープンソースの強者 * 利点: * 無料のオープンソース版が利用可能 * 軽量でセットアップが簡単 * Mavenリポジトリの強力なサポート * 組み込みのセキュリティ機能 * 欠点: * プラグインエコシステムが少ない * UIが一部のユーザーには直感的でない場合がある Artifactory: 機能豊富な巨人 * 利点: * 豊富なプラグインエコシステム * 高度なメタデータ管理 * 優れたアーティファクトのクリーンアップと保持ポリシー * 統合のための強力なAPI *...

2ヶ月前
4 分で読む

デルタレイクのタイムトラベル: データ監査のためのデロリアン

Delta Lakeは、Apache SparkやビッグデータワークロードにACIDトランザクションをもたらすオープンソースのストレージレイヤーで、Time Travelという便利な機能を備えています。これはデータのバージョン管理のようなもので、いつでも過去のデータバージョンにアクセスして復元することができます。すごいですよね? でも、なぜこれが重要なのでしょうか?規制遵守の世界では、この機能はまさにスーパーパワーです。詳しく見てみましょう: * 監査証跡が簡単に * データの系譜?お手の物 * 過去のレポートの再現?簡単です * 誤って削除や更新したデータの復元?問題なし Time Travelの実践例 例えば、監査が必要な財務データを扱っているとしましょう。Time Travelをどのように活用できるか見てみましょう: from delta.tables import * from pyspark.sql.functions import...

2ヶ月前
3 分で読む

Redisのブルームフィルター

ブルームフィルターとは何かを分解してみましょう: * スペース効率の良い確率的データ構造 * 要素が集合のメンバーであるかをテストするために使用される * 偽陽性はあるが、偽陰性はない * 不要な検索を減らすのに最適 簡単に言えば、データベースの用心棒のようなものです。実際に中を見せる前に、何かがクラブ(データベース)にあるかもしれないと素早くチェックします。 Redisの登場:スピーディーなサイドキック では、なぜRedisなのか?それは速いからです。まるで「瞬きしたら見逃す」ほどの速さです。ブルームフィルターとRedisを組み合わせることは、すでに速いレーシングカーにロケットを取り付けるようなものです。 Redisブルームフィルターのセットアップ まず最初に、RedisBloomモジュールをインストールする必要があります。Dockerを使用している場合、次のように簡単です: docker run -p 6379:6379 redislabs/rebloom:latest 次に、...

2ヶ月前
2 分で読む

OpenAI、次世代の推論モデル「o3」を発表

OpenAIの言語モデルo1とo3について5秒で考えたこと * 2024年9月、OpenAIはo1言語モデルのプレビューを発表しました。 * OpenAIはo3とo3-miniモデルを発表しました。 * 以前のモデルはo1と呼ばれています。 * OpenAIのCEOサム・アルトマンは、「Telefonica(O2ブランドで運営されている通信会社)への敬意と、悪い名前を考える伝統を守るために、1つの数字を意図的に飛ばした」と述べました。 * 開発者たちは、o3がユーザーの質問に答える前に「考える」ように訓練しました。 * このモデルは少し遅れて応答します。 * TechCrunchによると、最も正確だと考える答えを出す前に、推論の過程を繰り返します。 * ユーザーは推論の時間を「調整」できます。モデルに与える時間が長いほど、リクエストをより良く処理できます。 * トレーニングデータを超えたスキルを学ぶAIの能力を測るARC-AGIテストで、o3は87.5%のスコアを獲得しました。 * 85%のスコアは「人間レベル」と見なされます。 * Te...

2ヶ月前
1 分で読む

GoにおけるノンブロッキングI/Oの解体: epoll、ゴルーチン、チャネルベースのパターン

Goの並行処理モデルは、ノンブロッキングI/O技術と組み合わせることで、アプリケーションのパフォーマンスを大幅に向上させることができます。この記事では、epollの仕組み、goroutineがどのように並行プログラミングを簡単にするか、そしてチャネルを使ってどのようにエレガントで効率的なI/Oパターンを作成できるかを探ります。 Epollの謎 まず最初に、epollを解明しましょう。これは単なる高機能なポーリングシステムではなく、Goの高性能ネットワーキングの秘密のソースです。 そもそもepollとは? EpollはLinux特有のI/Oイベント通知メカニズムです。プログラムが複数のファイルディスクリプタを監視し、それらのいずれかでI/Oが可能かどうかを確認することを可能にします。I/Oナイトクラブの超効率的なバウンサーのようなものだと考えてください。 epollの動作を簡単に説明すると、次のようになります: 1. epollインスタンスを作成する 2. 監視したいファイルディスクリプタを登録する 3. それらのディスクリプタでイベントを待つ 4. イベントが発...

2ヶ月前
3 分で読む

カスタムPrometheusエクスポーターの構築: Quarkusでメトリックの迷路をナビゲート

Quarkus Jakartaを使用してカスタムPrometheusエクスポーターを構築し、高いカーディナリティを避け、効率的なメトリクスを確保することに焦点を当てています。メトリクスの魔法を体験しましょう! なぜカスタムエクスポーター?車輪の再発明ではないのか? 始める前に、なぜ既製のソリューションがたくさんあるのにカスタムエクスポーターを作るのか、その理由を説明しましょう。 * カスタマイズされたメトリクス:アプリはユニークで、時には標準で提供されないメトリクスが必要です。 * パフォーマンスの最適化:カスタムエクスポーターを使用すると、測定する内容を微調整でき、オーバーヘッドを減らすことができます。 * メトリクスの爆発を回避:大きな力には大きな責任が伴い、高いカーディナリティの落とし穴を避ける能力もあります。 Quarkus Jakartaプロジェクトのセットアップ まず最初に、Quarkusプロジェクトを立ち上げましょう。Quarkusが初めての方は、Jakarta EEのスーパーヒーローバージョンと考えてください。弾丸よりも速く、機関車よりも強力です。...

2ヶ月前
3 分で読む

ダイエット中のKafkaコンシューマー: メモリの無駄を削減

フィットネスの旅を始める前に、なぜこれに取り組むのかを考えてみましょう。メモリ使用量が大きいKafkaコンシューマーは、次のような問題を引き起こす可能性があります: * 処理時間の遅延 * インフラコストの増加 * OOMエラーのリスク増加(深夜3時の電話は誰も好きではありません) * システム全体の安定性の低下 それでは、袖をまくって余分なものを削ぎ落としましょう! オフヒープメモリ:秘密の武器 まずはオフヒープメモリです。これはメモリの世界の高強度インターバルトレーニングのようなもので、効率的で強力です。 オフヒープとは何か? オフヒープメモリは、Javaのメインヒープスペースの外に存在します。これはアプリケーションによって直接管理され、JVMのガベージコレクタによって管理されません。これにより: * GCのオーバーヘッドが減少 * パフォーマンスが予測可能に * ヒープサイズを増やさずに大規模なデータセットを処理可能 Kafkaコンシューマーでのオフヒープの実装 Kafkaコンシューマーでオフヒープメモリを使用する方法の簡単な例を示します:...

2ヶ月前
4 分で読む

seccompでコンテナを強化する: システムコールを安全に制限する実践的な手順

Seccomp(セキュアコンピューティングモードの略)は、コンテナのシステムコールに対する用心棒のようなものです。どのシステムコールがカーネルにアクセスできるかを決定し、どれが拒否されるかを決めます。しかし、詳細に入る前に、なぜこれが重要なのかを説明しましょう。 なぜシステムコールの制限が必要なのか? * 攻撃面の縮小:システムコールが少ないほど、潜在的な脆弱性も少なくなります。 * コンテナの隔離の向上:好奇心旺盛なコンテナが他を覗き見するのを防ぎます。 * セキュリティの強化:安心して眠れるように。 さて、興味を持っていただけたところで、実際にseccompを実装してみましょう。 seccompの設定:ステップバイステップガイド ステップ1:アプリケーションのプロファイリング システムコールを無闇にブロックする前に、アプリケーションが実際に必要とするものを知る必要があります。以下はシステムコールプロファイルの作成方法です: # straceを使ってコンテナを実行 docker run --rm -it --name syscall_profiling y...

2ヶ月前
2 分で読む

私たちのコミュニティに参加 👋

Suddo.jp — テクノロジーニュース、ITコース、チュートリアル、プログラミング のフルメンバーシップを解除し、限定コンテンツの広範なコレクションを探索してください。

今すぐサインアップ、いつでもキャンセル可能

プランを見る