osqueryの紹介 https://builderscon.io/tokyo/2017/session/ce1bf3ee-33bd-4899-897d-ba3c4364c1c5
先日行われた builderscon tokyo 2017 にて、「複雑なJavaScriptアプリケーションに立ち向かうためのアーキテクチャ」という発表をしてきました。この記事では、そのプレゼンテーションの再現を行います。 アバンパート 本日はこういう発表をします。よろしくおねがいします。 普段はメディロムという会社で働いていて、ScalaとJSを主軸に活動しています。PerlとRubyもたしなむ程度には書きます。業務では、業務で使うアプリケーションをブラウザプラットフォーム上に作っています。こういうブログも書いてるんでよかったら読んでください。 あと、何度かweb+DBプレスに特集書かせてもらっていて、とくに左の「データ構造の基礎知識」ってやつは自分で言うけどまじでいい記事なんでまだ読んでないひとはバックナンバー買って読んでください。 さて、複雑なアプリケーションに立ち向かうためのアー
リトライを肴に一晩酒が飲める古橋です。 大規模なデータに触れることが日常茶飯事になっている今日この頃。この分野のおもしろいところは、いつまで経っても終わらないプログラムを簡単に作れてしまうことかもしれません。エラー処理、リトライそして冪等性*1の3つを抑えていないプログラムは、小規模なデータなら問題ないが、データ量が多くなると使い物にならなくなる可能性が大です。 大規模データをバッチ処理するケース以外でも、リトライは一般にプログラムの信頼性に関わる重要な問題です。 そんなわけで、リトライに関わるいくつかのデザインパターンを、連載でまとめておこうと思います*2。 では、第1回は背景から: なぜリトライが必要なのか プログラムは色々な理由で失敗する。例えば、 A) 通信先のプログラムが高負荷すぎて応答できなかった B) メモリを消費しすぎてメモリ確保に失敗した。またはOOM KIllerに殺さ
この記事はブロッキングやノンブロッキンクとは何か、Servlet3.0の Async Servletや Servlet3.1の NonblockingI/Oとは何か、を理解することが目的です。 検証バージョン ブロッキングI/O コード例(シングルスレッド) 実行例 コード例(マルチスレッド) 実行例(マルチスレッド) ブロッキングI/Oで何がいいか ブロッキングI/Oで何が困るか ノンブロッキングI/O コード例 実行例 ノンブロッキングI/Oで何がいいか ノンブロッキングI/Oで何が困るか Tomcatのコネクタ実装 ブロッキングI/O HTTP Keep-alive 今までありがとうBIOコネクタ ノンブロッキングI/O SocketProcessorの実行タイミング HTTP Keep-alive BIOとNIOを比べる その他の仕組み Servlet3.0 Async Servl
package sample.javaparser; import com.github.javaparser.JavaParser; import com.github.javaparser.ast.CompilationUnit; import java.io.IOException; import java.nio.file.Path; import java.nio.file.Paths; public class Main { public static void main(String[] args) { Path source = Paths.get("src/main/java/sample/javaparser/Main.java"); try { CompilationUnit unit = JavaParser.parse(source); System.out.pr
2.1 ピリオド ピリオド . は最もシンプルなメタ文字の例です。 メタ文字 . は任意の 1 文字にマッチします。 キャリッジリターンと改行にはマッチしません。 例えば .ar は任意の文字の後に a と r が続く文字列にマッチします。 ".ar" => The car parked in the garage. 正規表現の動作確認をする 2.2 文字集合 文字集合は文字クラスとも呼ばれます。 文字集合を指定するには角括弧でくくります。 文字の範囲を指定するにはハイフンを使用します。 角括弧内の文字の記述順はマッチングには関係ありません。 例えば [Tt]he という正規表現は大文字 T または小文字 t の後に h, e が続く文字列を表します。 "[Tt]he" => The car parked in the garage. 正規表現の動作確認をする 文字集合内でのピリオドは文字
Intro 長いこと議論になっていた ES Modules の Node における扱いに一応の決着が付き、 .mjs という拡張子が採択された。 この拡張子の意味と、今後ブラウザと合わせて Universal JS を実装していく上での作法が見えてきたことになる。 合わせてエコシステムが対応していくことで、長年の夢だった JS のモジュール化を進めていくことができるだろう。 ES Modules 徐々に揃いつつある ES Modules(ESM) の仕様は TC39 で行われており、その仕様については主に以下のような部分になる。 import や export と行った構文 module 内はデフォルト strict mode module でスコープを閉じる module 内の this は undefined etc 逆に以下は TC39 での策定範囲外となる どう Module を読
こんにちは、滝澤です。 Apache HTTP ServerをOpenID Connect Relying Partyにするmod_auth_openidcというモジュールを使ってみる機会がありましたので、本記事で情報共有します。 なお、記事が長くなったので本編と設定例である3編に分けました。 本編 ←本記事 設定例 Google編 Azure AD編 複数プロバイダー編 本記事では本編として、mod_auth_openidcの概要とmod_auth_openidcの導入方法を紹介します。 OpenID Connectとは OpenID Connectについてはここでは特に詳しくは説明しませんが、いくつか説明やサイトを紹介します。 OpenID Connect Core 1.0 日本語訳によると次のように説明されています。 OpenID Connect 1.0 は, OAuth 2.0 プ
こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 今回は Java アプリケーションをセキュアに運用する仕組みである Java Security Manager について紹介しようと思います。この仕組みは Linux の強制アクセス制御機構(SELinux や AppArmor) の Java 版に相当するもので、プログラムの挙動を制限することができます。弊社が提供するクラウドサービス cybozu.com でも有効化されています。 セキュアなサービスを提供する上では良い仕組みだと思うのですが、検索したところ Java Security Manager に関する記事があまり多くなかったため、我々が得た知見をここに記します。 Java Security Manager とは Java Security Manager (以下 JSM) とは、Java コードを安
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く