テキストマイニングメモ

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

Java8を便利にするためのSF(少しFunctional)なライブラリJL2を作ってみた

Java8をもう少しだけ便利に使うための少しFunctionalなライブラリを書いてみました。 github.com Java8からStream APIが増えて随分コーディングが楽になったんですが、まだまだ不満があります。 その一つが多値を扱うTupleが無いこと。StreamAPIでmapを使っ…

分散システムの「キホン」の「キ」 - あるいは普通のWebアプリの作り方

みなさん、分散システムというと何を思い浮かべますか? Hadoopですか? Sparkですか? 現代だと多くの人がそういったイメージを持つと思いますが、調べてみるとそれらは厳密には分散「コンピューティング」に属する技術のようです。 分散システムとはメイン…

Hadoop の時代は終わってないけど、使いどころは限定されてきたかもしれない

id:shiumachi さんが書かれてる下記の記事がとても良かったです。 shiumachi.hatenablog.com 私自身もSparkを触る前は「Hadoop == MapReduce」と思ってましたが、どちらかというとYARNやHDFSがHadoopファミリの核だと最近は思いますし その意味でのHadoopは…

Javaの分散トレーシングとかAPMとか実行時ログとか

メモ的まとめ APM blog.takipi.com www.itcentralstation.com http://www.hawkular.org/hawkular-apm/www.hawkular.org github.com 分散トレーシング http://zipkin.io/zipkin.io http://opentracing.io/opentracing.io ログ系 builder.japan.zdnet.com docs…

形式手法関連のメモ

ソフトウェア工学の道具としての形式手法 形式手法に関して歴史的かつ網羅的にまとめてあった OpenJML 上記でも触れられてたJava向けの拡張静的チェッカ? ECS/Java2の後継? Java8対応らしいので試してみる Home | OpenJML 机上の Kubernetes - 形式手法で…

ゼロから始めるdocker生活 ~ VT-Xなんてない

さて、タイトルで誤解されそうですがこの記事はDockerの入門記事ではありません。 現代的なツールチェインが使えない異世界な気分に浸れる開発環境を与えられたとあるプログラマーの異世界訪問記みたいなものです。 現代的な開発環境を作る上で欠かせない存…

Oracle Exadataは分散システム?

はじめに Oracle Exadataとは? Oracle RAC(Real Application Clusters)とは? ExadataとSmart Scan ExadataとRACと分散ストレージ まとめ 参考 はじめに 最近、Oracle Exadata/RACを触る機会がありました。 個人的にはOracle RAC自体まともに触るのが初めて…

いつのまにかGitのshallow cloneが”Push”も"Pull"もできるように超進化していたよ! すごーい!

git

流行りに乗ってフレンズ用語を活用しようと思って、タイトルで力尽きたブログはこちらです。 はじめに 基本的なpushとpull 元になるリポジトリの作成 shallow cloneリポジトリの作成とPush full-repoとshallow-repoでの相互のpull & push まとめ はじめに 不…

レガシー分散システムからモダン分散システムへ

はじめに Dockerは個人的には色々便利なんだけど、オンプレな本番環境に適用するメリットあるかな? とたまに思います。 Infrastructure as Codeは別な方法でも実現できますし。 Googleとかもコンテナは分散システムの基盤としてを重要視してるように感じる…

運開分離とDEVOPS

この記事は「システムエンジニア Advent Calendar 2016」の記事です。 さて、今日はクリスマス☆イブ。ITな香りがほんわかするポエムを書いてしまおうと思います。 システムエンジニア Advent Calendarってあったから、とりあえず登録しといたんですが、よく…

英語で萌えよう!

この記事は、 OIT Advent Calendar 2016の19日目の記事です。 OITでAdvent Calendarが書かれるのは感慨深いです。 自己紹介 2003年入学、2009年修士卒のOBです。HxSコンピューターサークルとF教授の研究室にいました。今は、某IT系企業でエンジニアをやって…

ふつうのユニットテストのための7つのルール

最近、久しぶりにコードレビューをすることが増えたのですが、UnitTestのコードを見るとヒドイ部分が多く残念な気持ちになることもあります。 原因のひとつとして、プロダクトコードと違いテストの書き方をあまり書き方を明文化してなかったのが悪かったなと…

Sparkメモ

メモというかブックマーク的な www.sigmoid.com https://www.quora.com/What-exactly-is-Apache-Spark-and-how-does-it-work/answer/Prithiviraj-Damodaranwww.quora.com

自動テスト関係のメモ

そのうちちゃんと調べたいので忘れないようにメモ EvoSuite github.com JUnitのテストケースの自動生成. [シンボリック実行を活用した 網羅的テストケース生成 - Fujitsu] シンボリック実行に入門しようとした ntddk.github.io 用語とか基本知識の解説 coq-c…

gitの良さは未だに分からないがPullRequestの良さはちょっとだけ分かるぞい

git

スマートニュース見てたらこんな記事が上がってました。 crapp.hatenablog.com まあ、gitの良いところはそれなりにありますがローカルコミットを上手に使えるようになるまでの壁はとても高いですよね。 正直言えば私もrebaseとかなるべく打ちたくないし、使…

技術的負債はリボルビング払いで返そう!

qiita.com という記事がTwitterに上がってたので見てみましたが、大変共感できるものでした。 システム開発をしていれば技術的負債はつきものです。特にサービス運営をしていれば、「たとえ借金をしてでも今出すべき!」ってタイミングは良くあります。 技術…

分散バッチフレームワークとしてのApache Spark

ヌラーボさんのGeeks Who Drinkで分散バッチフレームワークとしてのApache Sparkというタイトルで話させていただきました。 nulab.connpass.com 資料はこちらになります。 Apache Spark as Batch 最近、Sparkを触り始めたんですが、世の中の資料は機械学習や…

書き初めコーディング! Docker + CGI + COBOLな環境を作って温故知新

さて、今年の書き初めコーディングは「温故知新」ということで、古いものと、とても古いものと、最近のものを組み合わせてみました。 というわけで、CGI + COBOL + Dockerという異色組み合わせをしてみました。エンジニアは「最新の技術」ではなく「最適な技…

さよならスティッキーセッション!PayaraでJavaEEでもセッションをKVSに。

この記事は Java EE Advent Calendar 2015 の 9 日目です。 昨日は btnrouge さんの「Payara Microのからくり」でした。 意図せずしてPayaraネタ連続です。 はじめに Payara MicroはSpringBootやWildfly Swarmあるいは一日目に紹介されていたKumuluzEEと同様…

WildFly Swarmではじめる「パーツとしてのJavaEE」

天神LT勉強会 on Zusaar でWildFly Swarmに関して話してきましたので、ブログにまとめ直してみます。 JavaEEコンテナの世界観 昔ながらのJavaEEコンテナはすべてがJavaEEで完結することを目指して作られていました。 なので、WeblogicやGlassFish, WildFly等…

Dockerってなんですか? それ、JavaEEで分かるよ。

はじめに 最近、Dockerが大人気ですね。GoogleやMicrosoftも参入してることはもちろんですが、Oracle Weblogicのサポート対象に入ってたりとミドルウェア側、それもエンタープライズ系製品が対応してきたのは面白い動きです。 とはいえDockerって何?ってい…

萌える瞬間英作文バージョン 0.401をリリースしました!

毎年、エイプリルフールはなんか作ろう! と画策しているのですが、今年は「萌える瞬間英作文」というAndroidアプリを作りました。 萌える瞬間英作文 - Google Play の Android アプリ さて、瞬間英作文ってご存知でしょうか? こちらの英語上達完全マップ●…

Meteorが見せるIsomorphicなDBとリアクティブな開発モデル

最近、Meteorを試して見てます。これはちょっとスゴイ。正直、当時Railsに受けたのと同じ興奮がある。 Meteorの説明は「リアルタイムWebアプリケーションフレームワークMeteorについて」あたりが分かりやすいので、こちら参照。 実は、2012年の公開時から存…

JavaEEだけどDockerがしたい!- GlassFish on Docker

Java EE Advent Calendar 2014 14日目です。 今年はDockerが大躍進した年だな、と思います。 そこで、このビックウェーブに乗り遅れないように、GlassFishを使って、Dockerベースの環境を作ってみました。 今回利用するコンテナはこちら Appコンテナ GlassFi…

Excelを使わない技術 - 正しい神の殺し方

ドキュメント作成技術 Advent Calendar 2014 13日目です。 ※ なお、本題とは一切関係ありませんが中2力全開気味なのでご注意ください。 Excel、というツールをご存知でしょうか? まあ、知らない人はいないと思います。 それは表計算ツールであり、グラフ描…

Consul with Dockerを手軽に試せる環境を作ってみた

Consulを使ってDockerの名前解決を簡単に実現する - Qiita でConsulを使って、サービスディスカバリをして、DNSの名前解決をする方法を書いたんだけど、検証用の環境を簡単に作れるようにしたのでこっちに公開。 koduki/consul-with-docker-example koduki/c…

Java VM別の簡単なベンチマークをしてみた

最近のJavaは速い。 この言葉は良く聞くけど基本Java1.2とか1.4みたいな古代のバージョンと比較してのこと(まだ動いてそうだが...) 最近のバージョンはどうなんだろう? と気になったのだけど、あんまりVM毎のベンチって出回って無さそうだったので、試し…

問い:Java 8のStream APIは業務でどんな時に使うの? 答え:あなたがfor文使いたい時

※ サンプルがJDK7までとJDK8までで意味が変わっていてわかりにくいという指摘があったので、少し直しました。 ※ boxedを使う書き方だと無駄なAutoboxingが走るとの指摘を頂きましたのでmapToObjを利用するように変えました。 Java8の目玉機能の一つにStream …

Java Day Tokyo 2014に参加してきました

勉強会はブログに参加記事を書くまでが勉強会だと以前習ったので、昨日参加してきたJava Day Tokyoの感想とか書いときます。 Java SE 8がちょうどでたばかりということもあって、今回はほとんどのセッションがJava8祭りでした。 https://oj-events.jp/public…