Blog

技術の深掘り・日常など幅広く紹介してます

    All Posts
  • thumbnail

    Go で競技プログラミングに臨んだことがある人なら、一度は fmt.Scan 関数の落とし穴にハマったことがあるのではないでしょうか。 Go では標準入力を受け付ける際に、fmt.Scan 関数、もしくは bufio.Scanner メソッドや bufio.ReadLine メソッドをよく用います。 しかし、Go を使って競技プログラミングをやる場合、bufio.Scanner を使用しなければ困る場面があります。 今回のブログでは、fmt パッケージの Scan 関数と bufio パッケージの Scanner メソッドに注目しながら、fmt.Scan で TLE が発生する原因と解決策について紹介します。

    Published on
  • thumbnail

    コンテナ仮想化技術と Kubernetes の俯瞰図 - 基礎編 では、コンテナ技術の歴史的背景から Docker の内部アーキテクチャ、そして Kubernetes の設計思想や各コンポーネントの役割について紹介しました。Kubernetes は、「宣言的 API」や「Reconciliation Loop」といった仕組みによって大規模な分散システムを自律的に運用可能にするプラットフォームでした。Kubernetes の基本的な仕組みについて理解したところで、本記事では実際に Kubernetes を運用する上で必要となる具体的なプラクティスを紹介したいと思います。

    Published on
  • thumbnail

    近年、クラウドネイティブなアプリケーション開発において Kubernetes はデファクトスタンダードとしての地位を確立しつつあります。今後はインフラエンジニアだけでなく、アプリケーション開発者にとっても、コンテナ上で動作するアプリケーションのライフサイクルやリソース管理を理解することはほぼ必須のスキルになっていくと考えられます。今回のブログは前後編の 2 部構成になっています。本記事では、Kubernetes がなぜ必要とされているのかについて、背後にあるコンテナ仮想化技術や Linux カーネルの仕組みを交えつつ章立てて紹介したいと思います。また、実装編 では Pod の詳細なライフサイクル、ネットワークの仕組み、ワークロード管理といった、Kubernetes の実践的な運用について紹介します。

    Published on
  • thumbnail

    インターネットを介して提供されるサービスはどのように構築・実現されるのでしょうか。現代のネットワークアプリケーション開発において、Socket API は非常に重要な役割を果たします。 Socket API は、異なるコンピュータ間でデータを送受信するための低レベルインターフェースを提供し、TCP/IP に則った通信を実現します。今回のブログでは、ネットワークソケットについて触れ、Socket API の概要から実際の使用法について紹介します。

    Published on
  • thumbnail

    インターネット上には様々な脅威が存在するため、端末間通信におけるセキュリティの確保が重要です。異なるプライベートネットワークに存在する端末同士をセキュアに接続する代表的なネットワーク技術として VPN(Virtual Private Network)があります。VPN は、公共ネットワーク網の中に仮想的な専用線を作り出し、送受信データを暗号化することでグローバルネットワークを介したセキュアな端末間通信を実現します。VPN を使用すると、オフィスと自宅、異なる拠点同士等、地理的に離れた場所にあるプライベートネットワーク同士が直接繋がっているかのようなエンドツーエンド通信が可能になります。近年では、クラウドサービスや IoT(Internet of Things)の普及、リモートワークの一般化が進み、ネットワークの構造は複雑で分散的なものになってきています。こうした背景を踏まえ、VPN を用いた安全かつセキュアなリモート接続は組織や企業においてますます重要な役割を担います。今回のブログでは、VPN を利用することで地理的に離れた端末同士をセキュアに繋げられる仕組みや要素技術、VPN の代表的な接続トポロジについて紹介したいと思います。

    Published on