タグ

javaとtipsに関するlepton9のブックマーク (23)

  • GradleとEclipseを使う場合のTipsをいくつか紹介 - wadahiroの日記

    またまたGradleネタです。Gradleなどのツールでビルドしつつも普段の開発やユニットテストはIDEで行うというのはよくある話。GradleではIDE開発をサポートするプラグインも用意されています。 Eclipse Plugin IDEA Plugin 今回はこのうちEclipse Pluginに関していくつかTipsを紹介。 Eclipse Pluginを使うと何ができる? プロジェクトからEclipseの各種設定ファイルを自動生成することができる。Mavenで言うところのMaven Eclipse Pluginと同じような物。 Eclipseのプロジェクト情報である.projectファイルや、クラスパスを定義した.classpathを生成することができる。 この時、Gradleで定義した依存関係も解決してくれるので、MavenみたいにJARを自動でダウンロードしてEclipseのク

    GradleとEclipseを使う場合のTipsをいくつか紹介 - wadahiroの日記
  • 新人研修でドヤ顔で披露したらウケたEclipseのショートカット集 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 最近新人研修(プログラミング未経験者・大学で専攻など、ごちゃまぜ)に関わることがありました。 適当なタイミングでEclipseのショートカットキーを教えていたのですが、実演してあげるといつきがよかったです。 ウケがいい≒新人から需要があるといえそうですし 教えるほうも教わるほうもモチベーションを保ちやすいです。 その点で、ウケるかどうかは大切な視点のひとつだと思います。 なので、ウケのよさランキングの形式で、ショートカットを紹介したいと思います。 環境は、WindowsでPleiadesのやつ(http://mergedoc.sour

    新人研修でドヤ顔で披露したらウケたEclipseのショートカット集 - Qiita
  • LL から Java に移行した人がはまりがちなこと - tokuhirom's blog

    LL から Java に移行した人がはまりがちなこと こんにちは。Java 初心者です。 Java 初心者、得に LL から Java に来た人にありがちな問題について社内向けに書いたものをオープンアンドシェアさせていただきます。 前提として、我々は Java 8 でガンガン攻めているということをご承知おきください。 また、自分がこの数ヶ月で「うわー。こうしとくべきだったのかー」と気づいたやつをドヤ顔で語っているということにもご注意ください。 【追記】 対象は中規模 B2C の場合です(中規模というのは facebook より小さいという程度の意味です) 例外を握りつぶさないようにしよう Eclipse が生成する以下のようなコードをそのまま残しているケース。 これは言うまでもなく良くないですね。デバッグが困難になります。 try { } catch (IOException e) { e

  • Javaトラブルに応じた初動対応のまとめ - n-agetsumaの日記

    Javaトラブルでは『情報がなくて、再現もなかなかしません』といった状況に陥ることがある。このような状況を回避するために、以下の3つの代表的なトラブルを例に、アプリケーションサーバを再起動する前に何を取得すれば良いのかをまとめてみる。 アプリケーションから応答がない アプリケーションが遅い ヒープメモリが足りない(OutOfMemoryErrorの発生) アプリケーションから応答がない 取得する情報 スレッドダンプ データ取得方法 スレッドダンプとは、コマンド実行時点でのJavaスレッド実行状態を出力したものである。応答がない場合、何らかの要因によりどこかで処理が止まっていることが想定される。スレッドダンプは『どこで止まっているのか?』を切り分けるのに大切な情報である。 取得方法はJDKのバージョンによって色々ある。 kill -3 <pid> (少なくとも1.4.2にはある〜JDK7でも

    Javaトラブルに応じた初動対応のまとめ - n-agetsumaの日記
  • Javaで末尾再帰最適化をする。(?) - terazzoの日記

    お題: http://d.hatena.ne.jp/wasabiz/20110118/1295335821 Rubyで末尾再帰最適化をする。 - Homoiconic Days Javaなどの言語では、通常、再帰を使ったプログラムは、呼び出しが深くなるといつかはStack Overflowで実行時エラーになってしまう。それに対して、Schemeなどの関数型言語では、自動で末尾再帰最適化というのをおこなって、Stack Overflowがおこらないようにしているものが多い。(末尾再帰最適化についてはhttp://practical-scheme.net/docs/cont-j.htmlの「末尾再帰と継続」の解説が分かりやすい。) PythonRubyは自動では末尾再帰最適化はおこなっていないが、言語にあるしくみを利用して末尾再帰最適化を後付けすることが出来るらしい。内容をみるとCPS化して

    Javaで末尾再帰最適化をする。(?) - terazzoの日記
  • JUnitのカスタムアサーションを簡単に実装できるcmtest | DevelopersIO

    渡辺です。 先日、「JUnitのオブジェクト等価比較を怠けたい!」というスライドが公開されました。「オブジェクトのカスタムアサーションをどのように実現するか」という問題は、ユニットテストを実践していくとよく発生します。この問題に関して、先日のJJUG CCCでも相談されました。また、簡単に書ける仕組みは共有した方が良いのですよね。そんなわけで、cmtestというライブラリにまとめましたので紹介したいと思います。 Objectクラスのequalsメソッド Javaではオブジェクト同士の比較にはObjectクラスのequalsメソッドを利用することが定石です。これはユニットテストのアサーションでも同様です。テストした結果に作られる実測値と、テストの期待値を比較する時、通常はequalsメソッドを利用します。equalsメソッドを使った比較を行うのであれば、定番のassertThat構文を利用で

    JUnitのカスタムアサーションを簡単に実装できるcmtest | DevelopersIO
  • JavaScriptのTyped Arrayのコピー - kazuhoのメモ置き場

    JavaScriptのTyped Arrayにおいて、JavaのSystem.arraycopy相当の関数は以下のような形で実装することができる。 function arraycopy(src, srcPos, dest, destPos, length) { dest.set(src.subarray(srcPos, length), destPos); }

    JavaScriptのTyped Arrayのコピー - kazuhoのメモ置き場
  • データベース設計の煩雑な作業を自動化する「ERMaster」

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

  • Javaの動かないコード(初級編) メソッド引数の 「参照のコピー渡し」を理解していない - 主に言語とシステム開発に関して

    下記のJavaコードが,意図した通りに動作しないのはなぜですか。(制限時間:1分) オブジェクトのプロパティを更新して,それぞれ3, 4と表示したい。 Hoge.java public class Hoge { // 数値を保持するクラス。 static class Fuga { public int x; } public static void main( String[] args ) { // オブジェクトを新規作成。 Fuga f1 = new Fuga(); f1.x = 1; // プロパティの値を更新。 func1( f1 ); // プロパティの値を表示。 System.out.println( f1.x ); // オブジェクトを新規作成。 Fuga f2 = new Fuga(); f2.x = 2; // プロパティの値を更新。 func2( f2 ); // プロ

    Javaの動かないコード(初級編) メソッド引数の 「参照のコピー渡し」を理解していない - 主に言語とシステム開発に関して
  • Javaのメソッド名によく使われる単語・接頭辞 - 地平線に行く

    Javaの標準APIjava.*, javax.*)に含まれるメソッド名を分析して、よく使われている単語や接頭辞を抜き出してみました。 これで、もうメソッド名を決めるのに迷わない!はず…。 接頭辞 順位 単語 意味 代表例 出現回数 1 get 取得する List#get() 21198 2 set 設定する List#set() 8197 3 is 〜かどうか List#isEmpty() 4373 4 remove 取り除く List#remove() 2403 5 add 追加する List#add() 2213 6 create 作成する URI#create() 853 7 paint 描画する Component#paint() 731 8 update 更新する Component#update() 573 9 contains 含んでいるか List#contains()

    Javaのメソッド名によく使われる単語・接頭辞 - 地平線に行く
  • 例外設計における大罪 - 契約

    unassert - encourage reliable programming by writing assertions in production

    例外設計における大罪 - 契約
  • 読書マップとDDD 〜DDDは3冊目の本?〜 - Digital Romanticism

    技術書の読み方を考えつつ、『ドメイン駆動設計』を位置づける。 はじめに 〜1冊目の〜 あなたは技術書をどのくらい読んでいるでしょうか?多い人は月何冊も読んでいるでしょうし、もう何年も読んでいないという人もいるでしょう*1。あるいは、「買っているけど読んでいない」ということもあるかもしれませんね。私にも積んでしまっているがあります。 技術書はすでにかなりの数が出版されており、その数は増え続けています。経験を積んだ方であれば、「自分にとって必要なを見抜く眼」を持っているものですが、これから学ぼうとする方にとっては、読んだ方がよさそうなの数も値段も絶望的かもしれません。このエントリの目的の1つに、『ドメイン駆動設計』の紹介があることは否定しませんが、それ以上に、「技術書の読み方」について考えてみたいと思います。 仕事としてプログラミングに携わる人であれば、「退職するまでに1冊も読まない人

    読書マップとDDD 〜DDDは3冊目の本?〜 - Digital Romanticism
  • Javaの例外処理で知らないと損する7つのテクニック

    Javaの例外処理で知らないと損する7つのテクニック:【改訂版】Eclipseではじめるプログラミング(24)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipseとJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります(この回と前回のみ、別連載「EclipseでJavaに強くなる」の改訂版です。今回は第4回Javaの例外のテクニックを知る」の改訂版です) 前回の「プログラマの宿命! 例外とエラー処理を理解する」では、Javaにおける例外の用途と基的なコードの書き方、例外が発生するさまざまなケースについて理解しました。 今回は、独自に例外を定義する方法や、ちょっとした例外のテクニックを紹介します。 【1】Eclipseで独自の

    Javaの例外処理で知らないと損する7つのテクニック
  • List list = new ArrayList();と書く理由 |トピックアップ Java

    List list = new ArrayList();と記述する理由 Tweet インタフェースとクラス Javaの開発現場でよく見かける実装である List list = new ArrayList(); としてインスタンスを取得する記述。 Javaエンジニアでこの記述を見たことがないという方は恐らくいないのではと思います。 どうしてこのような記述にしているのか? ます結論として、以下を考えています。 Listはインタフェースなので List list = new List(); の記述は不可能 Listインタフェースが持つメソッドで必要十分 ArrayListでインスタンスを取得するのは ArrayListの使い方(単純にaddして取り出す)が多いから 以下、解説していきます。 答えというよりは考え、程度でご覧いただければ。 まず、Listはインタフェースなので List list

  • 【Java】ArrayListに配列を格納して扱う方法

    JavaのArrayListに配列を格納して、格納された配列をArrayListから呼び出して使う方法をご紹介します。 「可変長配列×可変長配列」を作成したい場合にはArrayListを使って多次元配列を作成すれば良いのかもしれませんが、「可変長配列×固定長配列」でこの手の手法を用いるのは冗長すぎる気もするわけです。 「可変長配列×固定長配列」の場合には、可変長配列部にArrayListを使い、固定長配列には従来型の1次元配列を使えば良いわけです。というわけで、以下に ArrayListに配列を格納して扱う方法を簡単に示したサンプルプログラムを紹介しておきます。 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package arraylistt

  • Eclipseのキーバインドをvim風にできるVrapperが素晴らしすぎる件について - ( ꒪⌓꒪) ゆるよろ日記

    俺はエディターはvim派です。指が覚えてしまっているので。 普段はターミナルでvimを使っていて、Javaのコードを書くときだけEclipseな生活なんですが、Eclipseのエディターは、 なので、常々不満に思っておりました。 いままで、Eclipseのキーバインドをvim風にする、vipluginやEclimなどを試してみたのですが、vipluginはeclipseの補完がうまく働かない、Eclimはeclimdを起動させておく必要がありちょっと大げさ、など「これだっ!」というものがありませんでした。 そこで、「Vrapper」さんの登場ですよ! Eclipseのエディターがvim風のキーバインドで使えます。しかも、Eclipseの補完機能なども同時に使えます! Vrapperのインストール Eclipseの更新サイトに"http://vrapper.sourceforge.net/u

    Eclipseのキーバインドをvim風にできるVrapperが素晴らしすぎる件について - ( ꒪⌓꒪) ゆるよろ日記
  • Eclipseを使い始める人がまず押さえるべき10のショートカット (でぃべろっぱーず・さいど)

    近頃話題の「リンクベイティング」っぽいタイトルにしてみました。 タイトルの通り、Eclipseを使い始める人がまず押さえるべきショートカットです。 "Ctrl + C"のようなWordやテキストエディタでも使うショートカットははずしています。 "Ctrl+Space" --- コンテンツ・アシスト "Ctrl+Shift+F" --- フォーマット "Ctrl+Shift+O" --- インポート宣言の編成 "Ctrl+D" --- 次の行を削除 "F12" --- エディターをアクティブにする "Alt+Shift+J" --- Javadoc コメントの追加 "Ctrl+H" --- 「検索」ダイアログを開く "Ctrl+Shift+S" --- すべてを保管 "Ctrl+Shift+W" --- すべて閉じる "Ctrl+1" --- 即時修正 コンテンツ・アシストは基中の基です

  • Javaジェネリクス再入門 - プログラマーの脳みそ

    ジェネリクスでは、「型」を変数にした「型変数」というものを取り扱う。型変数で何が嬉しいかというと、メジャーな例ではコレクションAPIが挙げられる。java.util.Listとかjava.util.Mapとかのデータを格納するタイプのユーティリティクラスのことだ。 2004年にJavaのバージョンが5.0となるまでは、Javaにはジェネリクスの機能はなかった。なので、Listにデータを格納し、取得する場合は List list = new ArrayList(); list.add("hello!"); String str = (String) list.get(0); といったソースコードになる。 add()の引数はObject型で宣言されており、どんな参照型でもadd()することができた。 get()の戻り値もObject型で宣言されておりキャストが必要だった。このキャストはプログラ

    Javaジェネリクス再入門 - プログラマーの脳みそ
  • アプリケーションをデーモンとして起動する

    Windowsでは、アプリケーションをサービスとして起動する方法があるわけですが、Mac OS Xでも、アプリケーションをデーモンとして起動する方法があります。Dockには表示されませんが、ログイン前に起動してくれますし、root権限で動作するので、別アカウントに移っても機能は有効なままです。バックグラウンドで常に動作させておきたい、フェイスレスアプリケーションを、この方法で起動させておくと便利です。 その方法は簡単なもので、起動したいアプリケーションのプロパティリストを記述し、/Library/LaunchDaemonsフォルダへ入れておくだけです。例えば、ニコニコ動画のローカルキャッシュサーバである「NicoCache」を、デーモンとして起動させてみましょう。NicoCache体はJavaで記述されており、ファイル名は「NicoCache.jar」です。ファイルは/Applicati

  • 初心者がJavaを“超高速”で学ぶためのコツ:ITpro

    皆さんの中には,「いまどきJavaくらいできなきゃねぇ~」と言われてからもう何年も過ぎちゃった…なんて人も多いのではないでしょうか。いつ何時「新しいプロジェクトJavaでいくから」なんて上司に言われたりしないか,内心ドキドキしてる方もいらっしゃるでしょう。私が受け持つJavaの授業でも,受講生の方からそういった悩みをよく聞きます。 しかしよく聞いてみると,なんだかとても効率の悪い勉強をしているなあと驚くことがあります。なぜなら多くの方が「Javaの入門書で勉強しているのにJavaのプログラムを作れるようにならない」と言われるからです。COBOLやC言語のプログラミング経験があるにもかかわらずです。 なぜJavaの学習がなかなか進まないのでしょうか。残念ながら「Javaのスキルが上がらない」という方の多くは,「データとアルゴリズム」「Javaの文法」「オブジェクト指向」の三つをきちんと学べ

    初心者がJavaを“超高速”で学ぶためのコツ:ITpro