タグ

ブックマーク / i-beam.org (5)

  • 図解 Go Slice Tricks | Folioscope

    この記事はGo7 Advent Calendar 2019の記事です。 Go には JavaRuby などのモダン言語のような slice を操作する関数は用意されていません。 Go では built-in 関数のappend()やcopy() と for 構文を組み合わせることで、他の言語にあるような slice 操作を実装できます。 この記事ではそれぞれの slice 操作を図解で解説します。 元ネタは Go 公式 Wiki にあるGo SliceTricks - golang/go Wikiです。 Slice の連結 a = append(a, b...) コピー先 a にコピー元の b の全ての要素をコピーします。 連結後の長さが cap(a) を超える場合は、新たな slice が作成されて a、bともにコピーします。 以降はappend()のコピー先には十分なcapがある

    図解 Go Slice Tricks | Folioscope
  • サービスメッシュとAWS App Meshに入門した | Folioscope

    こんにちは、ご無沙汰しています。 2020 年も終わろうとしていますが、この度サービスメッシュと AWS App Mesh に入門しました。 サービスメッシュ超入門 AWS App Mesh は、AWS 上のサービスでサービスメッシュを実現するための AWS サービスです。 サービスメッシュやその背景については、Tori さんによる「サービスメッシュは当に必要なのか、何を解決するのか」の講演が詳しいです(この講演にも最後の 5 分くらいで App Mesh が登場します)。 サービスメッシュは、サービス間の通信のリトライ処理、レートリミット、サーキットブレイカーなどの仕組みを、クライアントやサーバー側で制御するのではなく、プロキシサーバーで解決します。 Envoy Proxyは、サービスメッシュのプロキシサーバーとして、広く利用されています。 Envoy Proxy へのリトライやレート

    サービスメッシュとAWS App Meshに入門した | Folioscope
  • Goで作るモダン・ブートサーバー Day4 - PXEサーバー実装編 | Folioscope

    この記事は「Go で作るモダン・ブートサーバー」の 4 日目の記事です。 この記事では PXE ブートができるブートサーバーの実装をします。 シリーズの記事は以下のリンクからどうぞ。 Go で作るモダン・ブートサーバー Day 1 - 基礎知識編 Go で作るモダン・ブートサーバー Day 2 - 環境構築編 Go で作るモダン・ブートサーバー Day 3 - 雑 DHCP サーバー実装編 Go で作るモダン・ブートサーバー Day 4 - PXE サーバー実装編 ← この記事 Go で作るモダン・ブートサーバー Day 5 - iPXE サーバー実装編 PXE ブートは古くからあるネットワークブートの規格の 1 つです。 この記事では前回実装した DHCP サーバーを元に、新たに TFTP サーバーを実装します。 そして PXE ブート環境を構築して、実際に Linux がネットワーク経

    Goで作るモダン・ブートサーバー Day4 - PXEサーバー実装編 | Folioscope
  • curlで覚えるWebDriver (1/2) | Folioscope

    WebDriver について調べる機会があったので簡単にまとめました。 この記事では curl を使って、WebDriver によるブラウザ操作をしてみます。 WebDriver と Selenium の歴史 Selenium は現在最も広く使われている、Web ブラウザの自動化・テストフレームワークです。 多くの言語をサポートしており、Java や C#などの言語から、Web ページを開いたり要素の検証ができます。 そのため Web サービスの End-to-end (E2E) テストの自動化で主に利用されています。 Selenium 1 (Selenium RC) と呼ばれていた時代は、ブラウザを操作するために Selenium Core という JavaScript をブラウザ上でロードしてました。 しかしブラウザのセキュリティ強化により、Selenium Core の JavaSc

  • JVMのヒープサイズとコンテナ時代のチューニング | Folioscope

    最近 JVM のヒープ領域とパラメータ、そしてコンテナの関係について調べてました。 案外まとまった情報が少なかったので簡単にまとめました。 Java のヒープサイズを設定 まずは Java のヒープサイズについて簡単なおさらいです。 番環境で Java アプリケーションを運用する上で、JVM のヒープサイズを決定するのは非常に大事なポイントです。 ヒープ領域の最大サイズを大きくすればガベージコレクション (GC) の回数は減らすことができますが、 必要以上に大きくしすぎると無駄にリソースを消費したり、OOM killer で OS にプロセスを終了させられます。 JVM が使用できるヒープサイズは、Java API の Runtime.getRuntime().maxMemory() で確認できます。 また java の起動オプションに -XX:+PrintFlagsFinal オプショ

  • 1