Spring Cloud Sleuthと、Twitterがオープンソース化したZipkinを通し、Javaアプリケーションでは分散トレーシングをどうやって行えるかご紹介します。
![DI(依存性注入)について](https://cdn-ak-scissors.b.st-hatena.com/image/square/de9d3b71f1c7dcb03649f024e464c963e753853c/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fdi-160106144003-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
DIコンテナ使ってるけど、アノテーションってなんなの!って聞かれて、作ってみたらわかるよと答えてみたので、自分でも作ってみました。 よくわかった。 「DIコンテナ使うと何がいいの?」ということも、作ってみるとわかります。あと「DIって何がいいの?」に関しては、「DIはちょっとコードを書くのが楽になるだけで、それだけあっても仕方ない、大事なのはコンテナ」と答えるようにしてますが、コード比率からもそれがよくわかります。 続編としてWebフレームワークも作っているので参考まで。 作って理解するWebフレームワーク - きしだのHatena まずはコンテナを作る とりあえず1ソースの状態で。 こんな感じで、管理する型を登録できるようにします。 static Map<String, Class> types = new HashMap<>(); static void register(String
ポリモーフィズム(サブクラスによる切り替え、抽象化) ここに分類されるのは、オブジェクト指向の第3原則、ポリモーフィズムを使用したパターンです。ポリモーフィズムを使用すると、動的に使用するクラスを切り替えることができます。<参照> 他に分類されているものでも、ポリモーフィズムが重要な位置を占めているものもありますが、ここではそれしか使われていないものを扱います。 ただデザインパターン全体を通して強調されているのは、インターフェースでプログラミングするということです。実装への依存をなくし、そうすることによって設計の骨組みを明らかにするのです。 Template 次のようなメソッドがあった場合に、処理Bのところを条件によって変えたい場合があるとします。 class Hogehoge { void doit() { ... 処理A ... ... 処理B ... ... 処理C ... } }
JavaScriptにもクラスがやってきた!JavaScriptの新しいclass構文をマスターしよう 高津戸壮(株式会社ピクセルグリッド) ECMAScript 2015(ECMAScript 6)で新たに追加された待望のclass構文について、その概要をサンプルコードを交えて紹介します。 これまでのJavaScriptにおけるクラス 多くのプログラミング言語はクラスを作れる機能を持っていますが、JavaScriptにその機能は用意されていませんでした。しかし、JavaScriptにはprototypeという柔軟な仕組みが存在しており、このprototypeを利用することで、他の言語で表現されている「クラス」と似たような振る舞いを再現することが可能でした。 それは例えば、こんなふうにです。 /* Cat雛形の作成 */ function Cat(name) { this.setName(
いよいよ、PHP の次期メジャーバージョンの PHP 7 がリリースされます。すでに、RC4 が登場しており、来月予定されている本リリースが楽しみです。 PHP 7 には幾つかの新機能が盛り込まれているのですが、その中でも気になるのが、無名クラスです。 無名クラスとは 無名クラスは、クラスの定義をすることなく、オンザフライでオブジェクトを生成する機能です。匿名関数(ネイティブクロージャ)のクラス版だと思うとイメージしやすいです。 無名クラスは、new classで、生成します。下記が、そのサンプルです。ここでは、sayメソッドを持つ無名クラスを定義して、$objectに格納しています。$object の say メソッドを実行すると、'Hello'という文字列が出力されます。 <?php $object = new class { public function say() { echo
AngularJS x TypeScript でちょっと本格的な TODO アプリを作ってみる – AngularJS + TypeScript #2 wakamsha 2015.05.18 426 5735224110 2015年5月23日 controllerAs について追記しました。 はじめに とりあえず何かアプリっぽいものを作ってみようということで、定番の TODO アプリに挑戦してみようと思います。 ググればいくらでも情報は出てきますが、この記事では以下にあるようないかにもチュートリアルっぽいものからもう一歩踏み込んで、より実践的かつ規模の大きな案件にも応用出来るような作りを目指してみます。 AngularJS 1.2 日本語リファレンス | js STUDIO AngularJS • TodoMVC サンプルコードはこちらからどうぞ。 wakamsha/angular-dem
こんにちは丸山@h13i32maruです。 昨日、ESDocというツールをリリースしました。GW中になんとかリリースできて一息ついているところです。今回はそのESDocというツールについて紹介します。あと最後に雑談と宣伝があります。 ESDocとは? ESDocとはJavaScript(ES6)向けのAPIドキュメントツールです。JavaScript界隈ではJSDocがデファクトスタンダードであり、ESDocもJSDocに触発されて作りました。なのでタグの使い方はなるべく互換性を持たせています。とはいえ不要だなと思うタグもかなりあったのでそれらは実装していません。 ESDocの特徴(主にJSDocに比べて)としてはこんな感じです。 詳細なドキュメントを生成する ドキュメントカバレッジを計測する テストコードとドキュメントを関連付ける ES6のclass, import/exportを使った
艦これってオブジェクト指向を説明するのにかなり優れた教材なのでは!?と思ったので、艦これを用いてオブジェクト指向を説明したいと思います。内容は簡単にしているので正確には間違っている箇所があるかもしれませんが、ご容赦ください。 事の成り行き Twitterでオブジェクト指向と艦これをからめたTweetをしたら結構RTされたので、せっかくなのでより詳しく分かりやすくオブジェクト指向を説明してみたいと思ったのでブログに書くことにしました。 【艦これで説明するオブジェクト指向】 ・戦艦→クラス ・金剛型→「戦艦」を継承したクラス ・比叡→「金剛型」クラスのインスタンス ・比叡も榛名も残り弾薬量というパラメータがある→インスタンス変数 ・どの金剛型も最大速力は同じ→クラス変数— 椛川 (@windymelt) April 15, 2015 艦これオブジェクト指向、艦これのロード画面でもわかるように、
メンテナンスしやすいようにCSSの記述方法を変えてみました。 なにも難しいことはしません。 いままではこんな感じ タグを階層的に指定してCSSを記述。(子孫セレクタ) pとかdivは広範囲すぎるのでh,liなどで使うことが多かったです。 最近は以下のとおり。 一個ずつ、個別にclassをつけ、CSSを記述。 メリット HTMLの構造に変更を伴う修正に対応しやすい。 デザインの修正が入った時に、タグを増やしたり、減らしたり、HTMLの構造を変更せざるを得ない場合があります。この時、構造に依存しないCSSの記述方法だと非常にメンテナンスしやすくなります。 デメリット classを多用するので、HTMLの記述が増えたり、class名が長くなったりしてソースが見にくくなります。ソースが見にくくなるということは、ミスが増える可能性を増やしてしまいます。なるべく誰がみてもわかりやすい命名規則を使うなど
The document discusses minimizing the size of a Java "Hello World" class file. It begins by creating a simple "Hello World" Java class that prints the message, which compiles to a 408 byte class file. The document then explores using Jasmin assembler to reduce the size to 303 bytes by removing the constructor. It analyzes the class file format and constant pool, identifying the constant pool as th
個人的にBuilderパターンはオブジェクトの生成制御や、ものによっては可読性が高くて好きなパターンなんですが、その実装には用途によっていくつかパターンがあるので、まとめてみました。 生成するオブジェクトの条件 クラス名:People フィールド:String name(必須), Integer age(必須), String hobby(オプション) 必須要素はnullを禁止 PeopleクラスはStringを返り値とするhelloメソッドを持つ 今回はBuilderパターンの比較のため、パターン上必要でない限りgetterなどのメソッドは省略 Native Builder Builderパターンではなく、ただのコンストラクタ。Builderパターンを使いたくなるのはこれをやりたくないからだけど、比較のために記載。 class People { private String name;
The document discusses Functional Reactive Programming (FRP). It provides an overview of FRP, explaining that it is a programming paradigm for reactive programming using functional programming techniques. It contrasts the treatment of values and events in FRP compared to traditional programming by treating events as values that change over time. Examples are given showing how FRP reacts to changes
この記事は Perl Advent Calendar 2014 の 15日目 の記事です。 14日目の記事は karupanerura さんの Carton時代の必須インストールモジュール(Webアプリ編) でした。 目次 はじめに $classと$self mapの使い所 doブロック内でreturn 終わりに 明日は はじめに はじめに言っておきますが、Perlを分かってそうで分かってない人 = 僕 です。 この記事では、Perlの扱いにある程度慣れてきたけれど、実はあんまり理解せず使っています、という方が陥るであろうミスをアンチパターン形式で紹介する。と見せかけて僕の恥ずかしい失敗というか、勘違いを書いていきます。 $classと$self Perlでメソッドを定義するとき、私は全てこういう風に書き始めていました。 sub method { my $class = shift; #
何かと話題のPHPでのDIについてまとめてみました。 そもそも DI(Dependency Injection)ってなんぞ? その名の通り、 依存性(Dependency)の 注入(Injection)です。 依存をクラス内で生成せずに外から設定します。 まだパッとしないので具体例を挙げて説明してみます。 まずDIでないパターン class Car { /** * @var EngineInterface */ private $engine; public function __construct() { $this->engine = new Engine(); } public function run() { $energy = $this->engine->burn(); } } このコードの良くない点 別のエンジンに変えたい時にCar.phpを修正しなければならない。 エンジン
概要 待ち焦がれた人も多いことだろう。ES2015の一番の目玉機能とも言えるクラス構文が、ついにV8でサポートされた。 Class構文は、『関数(コンストラクタ)定義』+『.prototypeへのメソッド定義』の糖衣構文である。 JSで今まで様々に工夫されてきたクラスの書き方を、綺麗に統一してくれる可能性を秘めている。 クラスを作る 従来、Catクラスを作ろうとした場合このように書いてきた。 function Cat(name) { this.name = name } Cat.prototype.meow = function () { alert( this.name + 'はミャオと鳴きました' ) } しかしこの書き方だとどうしても、コンストラクタとメソッドの定義が分離されているため、クラスとしてまとまりがなく分かりづらく感じる。 メソッドが増えてきた時も、Cat.prototyp
SwiftでUIViewController+UITableView+カスタムセル+カスタムモデルやってみた投稿者: Naoki 投稿日: 2014-06-09 さて、僕流始めます。おかしなところがあったらご指摘お願いします!!!ちなみにコードはGitHubにアップしています。 動機 UIViewControllerとUITableViewとUITableViewCellのカスタムクラスを一通り作ってみれば、Swiftの感覚がつかめるかなぁと思ったってのが始まりでした。 やること UIViewControllerとUITableViewの組み合わせを利用する カスタムのモデルを利用する カスタムのセルを利用する MZRModel とりあえず、モデルを作りました。initメソッドで値をセットします。 import Foundation class MZRModel: NSObject { v
Objective-Cでいうところの [[self class] classMethod] を Swift では以下のように書くことが出来るようです。 class Hoge { class func classMethod() { println("classMethod") } func method() { self.dynamicType.classMethod() } } let hoge = Hoge() hoge.method() // "classMethod" hoge.dynamicType.classMethod() // "classMethod"
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く