この資料では、JavaScript でオブジェクト指向プログラミングを行う際に備えておくことが望ましい、基礎知識や概念について解説します。 【対象者】 ・JavaScript でアプリケーションを構築できる方 ・JavaScript におけるオブジェクト指向プログラミングの 実現手法や原理への理解を深めたい方 ・Java 的なクラスベースの言語との違いに違和感や混乱を 感じてらっしゃる方

この資料では、JavaScript でオブジェクト指向プログラミングを行う際に備えておくことが望ましい、基礎知識や概念について解説します。 【対象者】 ・JavaScript でアプリケーションを構築できる方 ・JavaScript におけるオブジェクト指向プログラミングの 実現手法や原理への理解を深めたい方 ・Java 的なクラスベースの言語との違いに違和感や混乱を 感じてらっしゃる方
This talk discusses Linux profiling using perf_events (also called "perf") based on Netflix's use of it. It covers how to use perf to get CPU profiling working and overcome common issues. The speaker will give a tour of perf_events features and show how Netflix uses it to analyze performance across their massive Amazon EC2 Linux cloud. They rely on tools like perf for customer satisfaction, cost o
超エコで超高速なやつらの性能比較: Go vs Node.js (vs Vert.x) 今時のWebで大量接続で高負荷になりそうなサイトを作りたい人は必見。 スタートアップ起業が選ぶなら、こういう言語やフレームワークを選ぶべき。 人気が出て急激な負荷に耐えられる様に、最初から正しいアーキテクチャを選んでね。 妙なやつを選んだらサーバはたくさん必要だし、クラウドでも費用が高くなるし大変だよ。 Node.js vs Go の記事を読んだのでこの記事を書いています。 http://yosuke-furukawa.hatenablog.com/entry/2014/02/10/134014 https://speakerdeck.com/yosuke_furukawa/benchmarking-node-dot-js-vs-golang http://sssslide.com/speakerdec
初めまして、新卒の増田と申します(^o^) 入社後はJavaを使っていて、チームを異動して初めてScalaを触り始めた・・・ という頃に、Akkaというフレームワークを使うので勉強するように言われました(^o^;) まず入門書を買おうとしたのですが、日本語の本がない・・・(T_T) ドキュメントも英語だし何書いてあるのかさっぱりわからない・・・(T_T) Scalaも始めたばっかでよくわからない・・・(T_T) という状況だったので、英語でもドキュメントより入門書の方がまだ理解できるかも・・・と思い『Developing an Akka Edge』という本を購入しました。 その本を読みながら、ドキュメントを読みながら、先輩に聞いたり調べながらAkkaについて勉強したことをスライドにまとめました! ただとても長いので、このブログでは簡潔なまとめ+説明のための簡単なコードを書いていきます(^o
※本記事は、長岡IT開発者勉強会#40 初心者Dayで話す内容のドラフトとして書かれたものです。 ※本記事は、2015年2月時点での技術に関する時事ネタを多分に含んでいます。ご留意ください。 2/26 この記事のメイキング記事を書きました。 はじめに Androidが世に出た2008年秋からもうすぐ7年が経とうとしています。日本で初めてのAndroidスマートフォンであるHT-03Aがドコモから発売された2009年夏からは、もうすぐ6年です。「ツートップ戦略」が記憶に新しいXperiaやGalaxy Sシリーズが出始めたのは2010年ですから、そこからも5年は経とうとしています。 十年一昔、という言葉がありますが、Web方面に関わっていると三年一昔という言葉が脳裏をよぎることすらあります。7年足らずの歴史しか持たないAndroidにとっても、3年という時間は半生と呼ぶに差し支えないものでし
新規広告開発部の松本です。 クックパッドiOS/Androidアプリの広告の開発に携わっています。 Androidアプリ開発の際、皆さんはnullをどのように扱っていますか?また、nullチェックを行うのであれば、どのような基準で行っていますか?私自身まだまだAndroid開発歴が浅いため、特に何か基準がある訳でもなく至る所でif (foo != null)といったnullチェックを行おうとしていました。 これに対し、先日の社内コードレビューでとてもためになるアドバイスをもらいました。私のようなAndroid初心者にとってnullに対する考え方の基礎を作ってくれるレビューだったので、本稿で共有したいと思います。 また、AndroidやJava開発に慣れた方にとっては「今更そんな話か」といった内容かと思いますが、クックパッドでのレビューの一例としてご覧いただければ幸いです。 やりがちなnul
Builderパターン 個人的にBuilderパターンはオブジェクトの生成制御や、ものによっては可読性が高くて好きなパターンなんですが、その実装には用途によっていくつかパターンがあるので、まとめてみました。 生成するオブジェクトの条件 クラス名:People フィールド:String name(必須), Integer age(必須), String hobby(オプション) 必須要素はnullを禁止 PeopleクラスはStringを返り値とするhelloメソッドを持つ 今回はBuilderパターンの比較のため、パターン上必要でない限りgetterなどのメソッドは省略 Native Builder Builderパターンではなく、ただのコンストラクタ。Builderパターンを使いたくなるのはこれをやりたくないからだけど、比較のために記載。 class People { private S
Programming languages like Java provide the facilities for subtyping/polymorphism as one of the ways to construct modular and reusable software. This language choice naturally comes at a price, since there is no hardware support for virtual calls, and therefore runtimes have to emulate this behavior. In many, many cases the performance of method dispatch is not important. Actually, in a vast major
RxAndroidは、RxJavaを内包しAndroidで利用するための機能を追加したものです。 RxJavaの概要と基本的な使い方については過去の記事で紹介しています。 過去記事内で「実際のAndroidアプリでのユーケースに合わせた例も書いてみたいと思います」とか書いてそのまま3ヶ月以上放置してしまいました。 RxJavaは非常に多機能かつFRPという新しい概念に基いて設計されており、使いこなすには相当に学習コストが掛かるため、利用するにはハードルが高いイメージなのではないでしょうか。 しかし、そこまでRxJavaを深く理解し様々な関数を活用しなくても、RxAndroidは結構気軽に利用出来るのではないかなという気がしてきたので、RxAndroidの活用ケースを考えてみようと思います。 AsyncTaskなどの代わりに非同期コールバック処理に利用する RxAndroidを使えば、非同期
去る 9 月 20 日(土)に、第八回 #渋谷java というイベントで LT してきました。(第八回 #渋谷java でスレッドダンプについてお話ししました - この国では犬が) あとあと自分で参照したり、スレッドダンプを知らない人に見せたりしたい内容でもあるので、ブログとしてまとめておきます。 スレッドダンプとはなにか スレッドダンプは、ひとことで言うと「Java のスレッドのスナップショット」ということになります。 スレッドダンプを取得することで、取得した瞬間に JVM 上でどのような処理が実行されているのかを一覧して、調査することができます。 具体的には、その瞬間に存在している各スレッドの名前、状態、スタックトレース等を見ることができます。 スレッドダンプはなんの役に立つのか プログラムが遅いとき・フリーズしたとき 一つには、プログラムが遅いとき・フリーズしたときの原因調査に役立ち
渡辺です。 現在のEC2のデフォルト機能では、EC2インスタンスのメモリ使用量をCloudWatchで確認することはできません。 ですが、AWS CLIと簡単なスクリプトを使えば、Custom MetricsとしてCloudWatchに表示することができます。 ただし、一般的なLinuxのメモリ使用量であればシェルスクリプトで簡単に取得できるのですが、TomcatなどのJavaのアプリケーションサーバではもう一手間必要です。 Javaでのメモリ管理の仕組み Java(JVM)はヒープ領域というメモリを仮想マシンの内部に確保し、ヒープ領域の中でインスタンスなどを割り当てる仕組みになっています。 したがって、OSから見たJavaのメモリ消費量を見ても、それはJVMが確保しているヒープ領域の使用メモリ量です。 内部的にどの程度メモリを消費しているかは解りません。 JVMのヒープ領域がどの程度メモ
Tomcat をそれなりに本気でセットアップしたいんだけど…… WebLogic を多く使っていたので Tomcat はほとんど経験が無く、ネットでも実用的な情報がほとんど見つからないので一般的にはどうセットアップするのが正しいのかよくわからない。本も買ったけどカバー範囲が広い代わりに内容が浅くほとんど役に立たず*1。 とりあえず断片的情報をかき集めて作ったやり方を晒してみる。 前提条件 Red Hat系Linuxで、SELinuxとかは使ってないとする。 標準の Apache HTTP Server 2.2 が入っているとする。 Java 6はインストール済みの前提で、${JAVA_HOME} で参照できるとする。 ファイルのインストール まず、Tomcat用のユーザを作る。 # useradd tomcat # passwd tomcat公式サイトのダウンロードページ http://t
こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、
Tip: ただ何かのプログラムが非ASCII文字を正しく処理しないという危惧だけでコードを読みにくくしてはならない。もしそのような事が起こる場合はそのプログラムが 壊れている のであってそちらが 修正 されるべきである。 3 ソースファイル構造 ソースファイルの内容は 以下の順序 であること。 1. ライセンスあるいはコピーライトの情報(もしあるならば) 2. package文 3. import文 4. ただ1個のトップレベルクラス。 ソースに書かれている内容それぞれの分離には ただ1行の空行 を使うこと。 3.1 ライセンスあるいはコピーライトの情報(もしあるならば) もしファイルにライセンスあるいはコピーライトの情報があるならばここに入る。 3.2 パッケージ文 パッケージ文は 改行してはならない。 文字数制限(4.4節 文字数制限は100文字 )はパッケージ文には適用されない。 3
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 A
アプリケーションの自動操作をスクリプトで実現するために、Sikuliを調べてみました。 Sikuliとは# Sikuliとは、 OpenCVをつかった画像認識 OCRをつかった文字認識 で、アプリケーションの自動操作を実現するためのツール、スクリプト言語。 Sikuli Script - Home Javaで実装されているため、JVM上で動作するスクリプト言語から利用できる。 スクリプト編集のためのIDEは、画像とプログラム言語を合わせて表示できるという、革命的なソフトウェア。久々に、スゴイ!とおもったソフトウェアだ。 インストール# sikuli-setup.jarをダウンロードして、インストーラをダブルクリックで起動するだけ。 すると、いろいろとインストールオブションがきかれる。JRubyを選択。 slkulix.jarをダブルクリックで起動。IDEが立ち上がる。 インストールは、以下
コード探知機「Sonar」でプロジェクトの深海を探れ!:ユカイ、ツーカイ、カイハツ環境!(17)(1/4 ページ) プロジェクトの深海を照らす「Sonar」とは? 「Sonar」は、スイスのSonarSource S.A.を中心に開発されているコードの品質管理を行うオープンソースのプラットフォームです。LGPLライセンスで提供され、無償で利用可能で、拡張も自由です。 2009年に「Jolt Product Excellence Awards」「Open World Forum Innovation Awards」などを受賞した、いま注目のツールです。 Sonarは、まるで音波探知機を装備した潜水艦のように、コードのさまざまなメトリクス(統計情報)を総合的に集計し、現在の開発の状況を視覚化します。非常に使いやすいWebのUI(ユーザーインターフェイス)で、プロジェクトごとのメトリクスから各パ
https://www.youtube.com/watch?v=7KS4L-mA_-c 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Takipi のFounderであるTalWeissのSan Francisco Java User Groupミートアップでの講演。本番環境で役に立つデバッグテクニックの紹介です。 1. スレッド名の活用 スレッド名はmutable(EJB除く)である。コードのコンテキストにあわせて、Thread.currentThread().setName(Context, TID, Params, Time,...);のようにすれば、トランザクションID、Serveletパラメータ、キューメッセージID、起動時間など、スタックトレースに役に立つ情報を表示できるようになる。 J
JavaのライブラリをC/C++から呼ぶ方法のメモ. フルのソースコートはこちら 参考にしたページ: シンプルな C言語からJava言語を呼び出すJNIサンプル ここでは以下のようなJavaのクラスをC++から利用することを想定する. package my.hoge; public class Hoge { public Hoge() { } public void printHoge(){ System.out.println("Hoge!"); } public String getHoge(){ return new String("Hoge"); } public int add(int i, int j) { return i + j; } public String getMsg(String msg){ return new String("Hoget is " + msg)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く