Google Cloud Platform (Google App Engine, Compute Engine, BigQuery や Container Engine など)の情報の日本公式ブログ
supervisorのメッセージキューが溜まる つい先日, supervisorのメッセージキューが溜まり続けていたので教訓として残す. start_child, terminate_child, etc...の実装について start_childを例に取る. 見ての通り, supervisorはgen_server behaviourで定義されており, start_childは内部的にはgen_server:call/3 (timeout: infinity) が呼ばれる. その後, ここでChildSpecに則り, 起動処理を行う. 起動処理は単純でerlang:apply/3の結果を見て, 成功していればChildSpecを保存・管理する. gen_serverの起動処理 子の起動処理として以下の関数をここでは以下を想定しよう. -module(hoge_server). -beha
広告事業部の鈴木達矢です。コーディングをしてると変数やメソッド名の付け方に悩むことって多々ありますよね。逆にコードを読んでいると単語の選択がこれでいいのかなという時や、動詞の活用形が間違っていてよく意味がわからない、時に潔く日本語の変数名になっていることも見かけます。でもプログラミング言語の単語が英語をベースにしていますし、Railsを使っている場合は日本語が規約(Convention)に合わなかったりします(複数形が無いなど)。それから動詞の活用形が違っていると主語(動作の主体)が変わってしまい、意味が変わってしまいます。その結果コードの可読性が落ち混乱を招きやすくなります。 いくつかの基本的な法則だけおさえておけばコーディング中に可読性の高い単語の選択ができるようになります。今回はそれを目的に、英語の扱いに都度時間を費やしてしまうような方に向けていくつかの法則をご紹介します。*1 変数
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました チャットや通知など、Webブラウザなどとリアルタイムでコミュニケーションしたいと考える場面はたくさんあります。しかし多くのクライアントとリアルタイム通信するための基盤を作るのはとても大変です。 そこで使ってみたいのがCentrifugoです。Goで作られたWebSocketを使ったリアルタイムタイムメッセージングサーバです。 Centrifugoの使い方 まずシステムにログインします。 ダッシュボードです。ノードは一つ動作しています。 メッセージを飛ばします。メッセージはJSON形式で送信します。 受信側ではJSONフォーマットで受け取ります。 元々はCentrifugeという名前で、それをGoで書き換えることでCentrifugoとなったようです。ライブラリはPython/PHP
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く