タグ

ブックマーク / ascii.jp (5)

  • Go言語で知るプロセス(3)

    シグナルのハンドラを書く ここからは、実際にGo言語でシグナルを扱う方法を紹介します。 最初に注意点ですが、シグナルに関する設定はプロセス全体に及ぶグローバルな設定です。 また、シグナルはフォアグラウンドのプロセスに最初に送信されます。 したがって、自作のコードでシグナルのハンドラを書き、それをgo runを使って実行すると、シグナルは自作コードのプロセスではなくgoコマンドのプロセスに送信されてしまいます。 これを避けるため、シグナルをハンドルするコードはgo runでは実行せず、go buildコマンドで実行ファイルを作成してから実行してください。 手始めに、SIGINTとSIGTERMを受け取ってもすぐには終了せず、それぞれSIGINT、SIGTERMと表示するコードを下記に示します。 package main import ( "fmt" "os" "os/signal" "sys

    Go言語で知るプロセス(3)
  • ASCII.jp:ファイルシステムと、その上のGo言語の関数たち(3)|Goならわかるシステムプログラミング

    Go言語でシステムプログラミングの世界を覗くこの連載では、前々回からファイルシステムに関係する話題を扱ってきました。 今回の記事では、その総まとめとして、アプリケーションから見たファイルシステム周りの最深部を辿っていきます。 扱う話題は次の4つです。 ファイルロック ファイルのメモリへのマッピング 同期・非同期とブロッキング・ノンブロッキング select属のシステムコールによるI/O多重化 ファイルのロック(syscall.Flock()) ファイルのロックは、複数のプロセス間で同じリソースを同時に変更しないようにするために「いま使用していますよ」と他のプロセスに伝える手法のひとつです。 ファイルロックの最も単純な方法は、リソースが使用中であることをファイル(ロックファイル)によって示すというものでしょう。 たとえば、古いプログラマ(30代以上?)にはお馴染みのCGI(かつて動的なウェブ

    ASCII.jp:ファイルシステムと、その上のGo言語の関数たち(3)|Goならわかるシステムプログラミング
  • スタバからでも自宅にイケる!Raspberry Piで専用VPNサーバー作ってみた

    自宅のネットワークにスタバやオフィスからリモートで接続したいときに便利なVPNサーバー。自宅に転がっているRaspberry Piを使えば、安く手軽にサーバーを立てられちゃいますね。 Internet of Things(モノのインターネット)を使う難しさは、家にいないときに家にあるデバイスへの接続が難しいことです。私はいろいろな場所に出かけるので毎週この問題に直面します。というのは、IoTのテストをしたり、デモを作成したりする必要があるのに家にはいられないからです! そのため、家のネットワークに遠隔から接続できるようにRaspberry PiをVPNにしようと決めました。この記事ではPiVPNと呼ばれるOpenVPNインストーラーを使って、Raspberry PiをVPNにした方法を解説します。 記事を読めば、Raspberry Pi上のターミナルやSSHを使ってRaspberry Pi

    スタバからでも自宅にイケる!Raspberry Piで専用VPNサーバー作ってみた
    syossan
    syossan 2017/04/04
  • ファイルシステムと、その上のGo言語の関数たち(1)

    コンピュータにはさまざまなストレージが接続されています。 ハードディスクやSSD、取り外し可能なSDカード、読み込み専用のDVD-ROMやBlu-Ray、書き込み可能なDVD-RWなど、種類を網羅するのが困難なほどです。 種類はいろいろありますが、どのストレージも、基的にはビットの羅列を保存できるだけです。 そこで、そのストレージスペースを、特定の決まったルールで管理するための仕組みが必要になります。 たとえば、自分のローカルフォルダにあるテキストファイルをエディタで開き、編集して書き込みたいとします。 ストレージのどこかにテキストファイルの内容を表すビット列があるはずですが、その実体のある場所を、ファイル名から探し出せる必要があります。 また、そこから内容を読み込んだり、新しい内容を上書きすることが、アプリケーションから不自由なく実現できなければなりません。 そのためにOSに備わってい

    ファイルシステムと、その上のGo言語の関数たち(1)
  • フロントエンドエンジニアなら知っておきたい、JavaScriptのログ収集方法まとめ

    サーバーサイドに比べて見落とされがちな、フロントエンドのエラーログ収集。JavaScriptのログ収集、確認に役立つ手法、ツール、ライブラリーを総まとめ。 開発進行中も番モードでの運用時も、ソフトウェアアプリケーションにおいてロギングは大切です。 サーバーを運用しているなら、サーバーサイドの言語選択にかかわりなく無数のライブラリーを利用でき、広範に及ぶストレージメカニズムやログ出力を扱う際の各種ツールも使えます。 しかし、クライアント側アプリケーションとなるとロギングは見過ごされがちで、利用できる手法もかなり限られています。 この記事ではクライアント側アプリケーション、特にJavaScriptを中心としたシングルページアプリケーション(SPA)におけるロギングの実装方法を紹介します。 コンソール エラーとメッセージのロギング方法でもっとも一般的かつ分かりやすいのは、おそらくコンソールの使

    フロントエンドエンジニアなら知っておきたい、JavaScriptのログ収集方法まとめ
  • 1