Go言語における高並列処理の実現手法

現代のソフトウェア開発において、並列処理は重要な概念です。Go言語は言語レベルで並列処理をサポートし、マルチコアCPUの能力を最大限に活用できるよう設計されています。 goroutineの仕組み Javaではスレッドを直接生成しますが、Goでは「go」キーワードを使用して軽量なgoroutineを生成します。goroutineは非常に軽量で、数百万単位で作成可能です。 // 関数をgoroutin ...

6月27日 00:22 投稿

CentOS 7 環境での YUM 問題対応と NPS 内網トンネルツールの導入手順

CentOS 7 初期環境における YUM ユーティリティの異常対応 新規インストール直後の CentOS 7 サーバ上で yum install -y wget を実行した際に失敗する現象に遭遇することがあります。ネットワーク接続確認(ping 通信可)は問題ないにもかかわらず、wget コマンドが存在しないためネットワーク経由での修正が難航するケースがあります。また、ネット上で推奨される ONBOOT ...

6月11日 18:01 投稿

Go言語基礎入門

一、基本構文 1. packageキーワード packageはコードが属するパッケージを示し、コードの組織構造です 他のパッケージはパッケージ名を使ってこのパッケージの内容を呼び出します packageは必須で、各ファイルの有効なコードの最初の行に存在する必要があります package mainはプログラムのエントリーポイントとなり、このパッケージ内にmain関数を記述できます 2. im ...

6月3日 00:13 投稿

企業向けIoTプラットフォームの高速開発フレームワーク:PandaX-Go/PandaX

PandaX-Go/PandaXとは PandaXは、Go言語にて開発されたオープンソースの企業向けIoTプラットフォームを構築するための低コード開発基盤です。go-restful、Vue3.0、TypeScript、vite3、element-Plusを活用したフロントエンドとバックエンドの分離型アーキテクチャを採用しています。デバイス管理、ルールチェーン、クラウド組態、ビジュアライゼーションダッシュボード、レ ...

5月26日 00:10 投稿

Go言語におけるsync.Poolの実装解析

Go言語におけるsync.Poolの実装解析 syncパッケージのPoolは、一時的にオブジェクトを再利用するための仕組みを提供します。これにより、頻繁に作成・破棄されるオブジェクトのガベージコレクションオーバーヘッドを削減できます。 基本的な使い方 package main import ( "sync" "fmt" ) // 再利用可能なオブジェクトの型 type Resource struct { ID string } fu ...

5月23日 18:09 投稿

Go言語におけるGobエンコーディングとRPCの基礎

Go言語では、データ構造のシリアライズにはGobエンコーディングが利用されます。また、分散システム間通信にはRPC(Remote Procedure Call)が使用されます。 Gobエンコーディングの基本 GobはGo標準ライブラリのencoding/gobパッケージで提供されるバイナリシリアライゼーション形式です。データ構造のエンコードにはEncoder、デコードにはDecoderを使用します。 package ...

5月13日 15:38 投稿