You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
2014年11月15日に開催されたJJUG CCC 2014 Fallにて「Javaエンジニアのためのアーキテクト講座」と題して発表を行いました。資料は以下です。 「良いアプリケーションを作る」時代から「良いITサービス運営を実現する」時代になったことで、アーキテクトの役割はどうなったか、という内容を話しました。 今回は自分なりにITサービス運営というものをモデルを書いてみました。v0.1となっていますが、まだまだ見直せることはあると思っています。 元ネタはソフトウェア品質モデルです。ソフトウェア品質モデルでも「外部」「内部」といった静的な要素に加えて、「利用時」「プロセス」といった動的な要素も含めて、お互いに依存したり影響を与えたりするということが定義されていました。ITサービス運営ということを考えて、もう一歩、複雑な構成となっています。大きく分けて「ITサービスを構成する要素」と「IT
java における sticky session の話 HTTPのセッションをRedisのようなバックエンドに持たせて毎回参照するような構成と、それに加えてローカルオンメモリキャッシュとSticky sessionでさらにnear cache挟んで高速化するの、どっちがベターか論争みたいなのって過去にあるのかな — Takayoshi Kimura (@nekop) November 17, 2014 Javaだとローカルオンメモリキャッシュ簡単だけど、マルチプロセスモデルなスクリプト言語とかだとローカルキャッシュ共有面倒だからバックエンド一択というのが多数派になる — Takayoshi Kimura (@nekop) November 17, 2014 このへん見てて考えたことのメモ。 実際、Java のシングルサーバーからスケールアウトさせる場合は「sticky session によ
のように、Collections.synchronizedMap() でよしなにする方法がある。この方法でラップすると、メソッドアクセスの際に synchronized がかかるので安全になる。 ConcurrentHashMap と HashMap HashMap をマルチスレッドからアクセスする場合、get メソッドを使った場合でも synchronized をかけざるをえず、パフォーマンスが出ない。 ConcurrentHashMap ならば、取得時にはロックがかからないので、キャッシュには ConcurrentHashMap を使うことが望ましい。 Java 8 以後における ConcurrentHashMap によるキャッシュ実装 Java 8 では ConcurrentHashMap に computeIfAbsent メソッドが追加されている。これを利用すれば簡単にキャッシュ
献本して頂きました。 私を推薦してくれたのざきひろふみさん、ありがとうございます! Javaエンジニア養成読本[現場で役立つ最新知識、満載!]:書籍案内|技術評論社 この本は経験の浅いJavaエンジニアがふつうのJavaエンジニアになるために必要な技術的な知識 (と技術以外の知識) を一度に取り入れる事ができるような内容になっています。 「特集1」ではJava入門という事で誰もが通る道について解説されています。 ただしよくある入門書のように制御文やintの取りうる範囲、演算子の優先順位などをちまちま解説したりはしません。 その代わりJava言語の要であるクラスについて2章をまるごと使って解説しています。 トップレベルのクラス、インナークラス、staticなネストしたクラス、匿名クラスの違いを説明できますか? この本を読めば説明できるようになります。 また、例外の扱いかたについても実践的な視
_ Javaエンジニア養成読本 どこの誰かは知らないけれどJavaエンジニア養成読本をくださったので読んだ。 うまい。特に構成が。網羅性も。そして読みやすさだ。 こんな人に勧める。 普通にJavaを知っているが、Java8のストリームAPIについてはまだ知らない人。おれおれ。3部が簡潔にうまくまとまっていて、これ読むだけで十分だ(もしかするとおれはC#のLINQを知っているからかも知れないが、それでも問題ないんじゃないかな)。 これからJavaでコードをまじめに書く人。おれは2部を書いた人と意見が合わない点がたくさんあるが、それでもスタンダードに悪くない。やはり簡潔に必要だと思えることが網羅されていた。 Javaでしばらく食おうと思っている人。1部にきしださんがまじめなんだかふまじめなんだかよくわからないJavaの周辺情報(歴史とかカルチャーとか)を書いているのでこれの最後のところが役に立
はじめに 前編では MLlib で実装されている協調フィルタリングについて、アルゴリズムの面から解説してみました。 いわば理論編です。 後編は実践編として Java コードや性能評価実験の結果を見ていきます。 MLlib 協調フィルタリングの実行 MLlib の協調フィルタリング org.apache.spark.mllib.recommendation.ALS を利用する Java のコード例を以下に示します。 import org.apache.spark.api.java.JavaRDD; import org.apache.spark.mllib.recommendation.ALS; import org.apache.spark.mllib.recommendation.MatrixFactorizationModel; import org.apache.spark.mll
指定ディレクトリ内の全 JAR ファイルをクラスパスへ指定して Java アプリケーションを起動するスクリプト例です。 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20141103-1/ Windows の場合 (bat) lib ディレクトリ内の全 JAR ファイルをクラスパスへ指定して Java アプリケーション (下記では sample.SampleApp) を実行する bat スクリプトは下記のようになります。 enabledelayedexpansion と !<環境変数>! で環境変数を遅延展開させる点に注意が必要です。 こうしないと CP 環境変数へ JAR のパスが正しく設定されません。 exec_java_sample.bat @echo off setlocal enabledelayedexp
In this quick tip, we take a brief look at the popular Android image library, Picasso. It's a simple and practical library created and maintained by Square. It is great for working with images in your Android projects. 1. Introduction Picasso is an image library for Android. It's created and maintained by Square, and caters to image loading and processing. It simplifies the process of displaying i
弊社ではテストのエビデンスとして、JUnitの結果とコードのカバレッジを提出するルールにしておりますが、開発者それぞれの環境でallTestをするようなこともあります。その時に環境によっては、マシンのスペックが悪くallTestにけっこう時間が掛かってしまうこと、またその影響でマシンの負荷が高くなり、他の作業を並行してやれず仕事にならないようなことがありました(注1)。その対応としてJenkinsにブランチのallTestが流せるジョブを作って対応しました。 あと、Jenkinsのバージョンはこまめに更新した方が良いなと実感しました。バージョンアップする前はビルド、AllTest、ページビューなどが結構遅くて、周りの人からも遅いという声があがっていました。改善として、サーバのスペックをすぐに上げることは無理そうだったので、jvmのチューニングをしたりしましたがさほど効果はなく、Jenkin
こんにちは @wasabeef_jp です 最低限、これだけ知っていればAndroidエンジニアとして語れるものを一覧にしています。 随時、このRepositoryを更新していきますので、参考にして下さい。 参照:wasabeef/ListOfAndroidLibraries UI系のライブラリは含めてません Networking Name | Repository | License --- | --- | --- | --- Android Asynchronous Http Client | https://github.com/loopj/android-async-http | Apache License V2 Async Http Client | https://github.com/AsyncHttpClient/async-http-client | Apache Li
前置き:このエントリはJavaおよびJava周辺の*1開発環境に全く縁の無い人間が、可能な限り依存ソフトウェアを少なく手順をシンプルに保ったままやろうとしたものであり、知識・経験のある人にとっては全く最適な手段でなかろうことをお断りします。 先日のエントリ で書いたとおり woothee 1.0.0 をリリースした。Perl, Ruby, Node.js および PHP などはそれぞれの言語毎のモジュールリポジトリに登録されている。 が、Javaについては自分が Maven Central の勝手がわからず、されてると便利だよなーとは思いつつ放置していた。 が、なんと @making さんからMaven Central登録用の pull requestがきた 。きてしまった。これで最大の問題(xmlを書く)はおおむね解決されてしまったので、覚悟を決めて登録作業をすることにした。 せっかくや
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く