JFRをBigQuery/Metabaseのオレオレダッシュボードで可視化する

JDK Flight Recorderを皆さん使っていますか? JDK 9からAPIが整備されJDK 11からOpenJDKに寄贈されたので商用ライセンスを持っていなくても本番で自由に使えるようになりました。新しいJFRではJMC以外のツールとも連携できるので今回はBigQuery/Metabaseと…

そもそもJWTに関する私の理解は完全に間違っていた!

TL;DR ステートレスなJWTはそもそもセッションの代替では無い アクセストークンとしての利用が基本で数分レベルの短寿命な有効期限で利用 従来のセッションに近い概念はリフレッシュトークン。てか、リフレッシュトークンはセッションでも(たぶん)良い ユー…

Graphvizで画像を読み込むとエラーになる

Graphvizで画像を下記の構文で読み込もうとするもビルド時にエラーが発生。 d [shape=none, label="", image="sample.png"]; $ dot -Tpng -o sample.png sample.dot Wed Oct 30 23:03:17 2019 2019-10-30 23:03:18.988 dot[97555:3328824] +[__NSCFConstantS…

個人的に気になってるNewSQLな一覧

OceanBaseとかNEDOに採択されたProject Tsurugiとか気になるニューフェイスが登場したので、トラッキング用にメモしておく。 NewSQLの定義が謎だけど、たぶん脱レガシーを標榜したSQLは皆NewSQLに分類されてるんじゃ無いかなぁ? OceanBase Alibabaによって…

世界1位になったアリババの独自開発DB OceanBaseとは何者か?

さて、1週間くらい前のニュースですがAlibabaがOracleのデータベースを抜いて世界1位の座を獲得しました。 itnews.org 世界一位って何よ? って所なのですが TPC-C - All Results - Sorted by Performance の結果みたいです。 まあ「Oracleのデータが10年前…

JDK Flight Recorderのアーキテクチャ概要

はじめに JFRにおける「イベント」 イベントタイプとサンプリング データフォーマット 循環バッファとデータフロー リポジトリとJFRファイル名 JFRの開始とJFRファイルダンプ まとめ 参考 はじめに JDK Flight Recorder(JFR)はJavaで利用できる常時本番適用…

Oracle Code One 2019に参加してきました

ブログに書くの忘れてましたが、去年に引き続き今年もOracle Code One/Oracle Open Worldに参加してきました。 すでにキーノートとかの詳細は素晴らしいレポート出てるのでそちらをみてください。 Oracle OpenWorld 2019開幕 - エリソン氏が数多くの新製品を…

カタログスペックで見るExadata X8M

Oracle OpenWorld 2019でExadata X8Mが登場しましたね! 基本的にExadataはOracleが毎年リリースする「僕の考えた最強のデータベース」です。 で、今回はついに夢の不揮発性メモリIntel Optena DCを本格搭載して登場しました! blogs.oracle.com 不揮発性メ…

サーバレスなバッチを管理するためのKudaを作成しました

概要 こちらの記事でも書いたのですが、小さなバッチを運用するにはCloud Runのようなコンテナベースのサーバレス環境はとても向いています。 バッチサーバとしてインスタンスを常駐しておく必要が無いのでコスト面でも有利ですし、横にスケールさせやすいと…

「二段階認証…?」と言わないためのMFA入門 --- あるいはIDシステム地獄への案内

はじめに さて、7 Payの社長が2段階認証知らなかった問題が良い感じに炎上していますね。 個人的には常に知っておく必要が絶対あるかというと専門分野の問題があるから議論の余地あるとして、セキュリティの問題で会見するなら部下にちゃんとレクさせろよ、…

どんなコマンド/スクリプトもサーバレス化するためのhwrapを書いた

ちょっとした処理を実行する時にはサーバレス(FaaS/CaaS)環境は便利ですよね。 呼び出しベースでコストが最適化されるのでバッチサーバ的なものを常駐させておく必要もありません! ただ、AWS Lambdaとかで書くと特定の言語/FWで実装する必要があるので過去…

なぜRDBからCSV + COBOLに変更する事でコスト削減と高速化を同時に実現出来たかの考察

そもそも既存はどんなロジック? RDBなんだからWhere句使ったら? なぜファイルにすると速くなるのか? 並列化と分散処理による高速化の可能性 COBOL使う必要あったの? Javaとかじゃダメだったの? まとめ TLを見てると以下の記事が少し話題になってました…

ついにDockerに対応したWSL2を私見で解説してみた

多くの記事も出ていますがMicrosoft Build 2019にて、Windows Subsystem for Linuxの次期版でフル互換のLinuxが動作するとの発表がありました。 これの何が嬉しいってDokcerがWSLで普通に動かせるようになる事です! www.publickey1.jp セッションを聞いて来…

Serverless時代のJavaEEコンテナ - Quarkus

はじめに JavaEEコンテナの世代と移り変わり Quarkus まとめ 参考 はじめに Quarkusをご存知ですか? Redhat社が出した爆速のJavaEEコンテナです。 Publickeyの記事でも紹介されていますがGraalVMのnative-imageでコンパイルされるため、JAX-RSやCDI、JPAや1…

Unlimited Process Works - 無限にスケールするためのアーキテクチャープロトタイプ

「行くぞDocker! プロセスの貯蔵は十分か!?」 はじめに さて、以前顧客向けシステムに最適なDBは何だろう? と思ってこんな記事を書きました。 koduki.hatenablog.com で、その中でも顧客向けシステムはユーザ毎にDB作れば良いんじゃね? Dockerでいける…

信頼性の高いサービス運用のための5つの要素

さて少し遅れてしまったのですがSRE 2 Advent Calendar 2018の23日目です。 SREでどんな事をしているというより、どういうポリシーで信頼性を実現するか、という観点でまとめてみました。 SRE観点で運用改善をしていく! と言っても闇雲にやると「何やってる…

第四世代言語って知ってるか? - 古の次世代言語 4GL

ロストテクノロジー Advent Calendar 2018 14日目です。 皆さんは古の次世代言語 4GLをご存知でしょうか? 我々が普段使ってるプログラミング言語は所詮第三世代言語、それに続く言語の次なる進化が第四世代言語です。 www.weblio.jp 第一世代言語機械語 第…

そうだアドベントカレンダーを書こう - 年末の〆切ドリブン

取り敢えず今年分は下記。 qiita.com qiita.com qiita.com qiita.com qiita.com Docker Advent Calendar 2018 - Qiita qiita.com 盛りだくさんだけど、落とさないようにがんばるぞい、と。

Oracle Code One 2018に参加してきました

JavaOneには結局ついぞ参加する機会がなかった私ですが、Oracle Code Oneになったのを契機にというかたまたまサンフランシスコ近辺に住んでるので参加してきました! 紆余曲折あって会社のブース展示とかの手伝いもしてたので、セッションを十全に回れた訳で…

クラウドというかマイクロサービス

API First, First, First !!! Fintechやモバイルに本気で対応するための APIを中心とした最新アーキテクチャ docs.microsoft.com SoR系 分散業務処理システムでのもろもろ考慮点(勢い版 2017.07 from Arichika Taniguchi www.slideshare.net マイクロWebア…

大規模DB設計メモ

speakerdeck.com qiita.com speakerdeck.com docs.microsoft.com 超実践 Cloud Spanner 設計講座 from Samir Hammoudi www.slideshare.net 12c R2ではじめるOracle Databaseのシャーディング | アシスト

Argoでkubernetesのジョブ管理を導入してみた

先日作った下記のサイトですが小さいながk8sでジョブを動かしてます。 koduki.hatenablog.com ジョブの構成は BTCの情報を収集 学習&予測 スコアリング の3種類で1 -> 2-> 3の順番に依存があります。で、2の部分は当然アルゴリズムを増やすと増えますし並列…

流行りの技術を集めてビットコインの予想サイトを作ってみた

最近、ビットコインが久しぶりに80万円を超えて調子が良いですね! そう言う訳でと言う訳では無いのですがビットコインの予想サイトを作ってみました。 明日のビットコインを大予想! 最近、特に自分のサービスを運用にしてなかったので新し目の技術をHello …

僕の考えた最強のDB for 会員むけシステム

ソシャゲとかその他C2Bな会員向けシステムにとって最強のDBはどういうのだろうか? とTwitterでつらつら考えてたのでブログにもまとめ直してみる。 SparkやHDFSみたいにデータのあるところで処理出来るDBでかつトランザクションを曲がりなりにもサポートした…

nodejsの"nobody" does not have permission to access the dev dir

gypなライブラリをDockerでnpmからインストールする時に-g付けてグローバルに出そうとすると下記のエラーが出て正常にインストールが出来なかった。 gyp WARN EACCES user "nobody" does not have permission to access the dev dir "/usr/lib/node_modules/…

ラズパイメモ

Setup a simple CI pipeline to build Docker images for ARM · Docker Pirates ARMed with explosive stuff www.ecliptik.com docs.docker.com

JavaでのUT作成基準を整理してみた

チームが小さいとよしなにですむのだけど、大人数になってくると明文化しとかないと結局テストが書かれないのでUTの作成基準とかを整理してみた。 自分のチームで使う想定のイメージで書いてみたけど、体制やプロダクトの性質によっても変わってくるだろうし…

Intel Xeonから見るCPUクロックとコア数の10年間の遷移 - 2017版

タイトルの通りなのですが、良くある「フリーランチは終わった」的な話の資料を作りたくて、CPUクロックとコア数の遷移を追った資料が欲しかったんですがここ最近のものが意外と無かったので作ってみました。 インテル® 製品の仕様情報 - 高度検索 でCPU情報…

lineageメモ

Cloudera Navigatorみたいにファイルの作成をトレースできるツール Hadoop界隈のものしかない? github.com http://atlas.apache.org/ Data Lineage & Big Data Governance: Data Quality & Masking

テキストマイニングメモ

Webページのメインコンテンツの抽出方法。 「HTMLからのメインコンテンツ抽出 (Main Content Extraction)」とか「本文抽出」とか呼ぶらしい。 個別の詳細記事抽出のためのWebページ分割手法の提案 確率モデルを用いたWebブロックの役割推定手法とその応用 半…