Java製アプリを Eclipse から実行したことしかない新人に「ビルドツールとは?」を説明してみる…そして CI へCIgradleビルドツール継続的インテグレーション Ant とか Gradle とか,名前は見かけるけど何に使っているのかよくわかりません (意訳) 的なことを新人から立て続けに言われたので,順を追って説明してみようと試みる. ビルドとは: 書いたプログラムを本番環境で動作させるまで 「ビルド」という言葉をいきなり説明するのも唐突なので,そもそもプログラムコードが本番で稼働するまでの流れをざっくりと説明します. デプロイまでに必要な作業 アプリケーションをテスト環境や本番環境で動作させるためには,おおまかに言えば以下の様な手順をを踏みます. (自分や新人の実業務ではサーバーサイドは Java,クライアントは Java だったり TypeScript で書かれた Web
Javaの最強リファレンス、その名も「Java最強リファレンス」を頂きました。 これが最強のリファレンスだ! pic.twitter.com/lsNf0mRSh6 — 山本://裕介 (@yusuke) 2014, 11月 7 サイボウズ株式会社にてkintoneなどを開発されているエンジニア田中 裕一(@yuichielectric)さんの著書。 Java8対応をうたう本はそれなりに出始めていますが、「とりあえずJava8に追加されたAPIにいくつか触れている」「Lambda記法をちょっと解説している」だけの本も相応にあります。またLambdaに触れる章を追加しただけで、他のコードは古めかしい残念な書き方をしている残念な本があるので注意が必要です。 そしてこのリファレンス、Java5〜Java8までとかなり広範囲をカバーしています。バランスを取るのは非常に難しいはず! 章立ては以下の通り
この文書はGoogleの「Introduction to Parallel Programming and MapReduce」を日本語に翻訳したものです。 原文のライセンスに従い、この文書はクリエイティブ・コモンズ 表示 2.5 一般 ライセンスの下に提供されています。 なお、誤字脱字、誤訳などありましたらぜひコメント欄などでご指摘ください。 対象読者と前提条件 このチュートリアルは並列プログラミングとMapReduceプログラミングモデルの基本をカバーします。 前提として、C++やJavaのような言語と、データ構造とアルゴリズムについての相当なプログラミング経験を必要とします。 逐次プログラミングと並列プログラミング コンピューティングの初期には、プログラムは逐次プログラムでした。 逐次プログラムとは、一続きの命令で書かれたプログラムのことで、そこでは各命令はひとつづつ順番に実行されま
16. from old Java to modern Java ∼ 職業プログラマに聞いて欲しいJava再入門 Acroquest Technology株式会社 JJUG / 関西Javaエンジニアの会 谷本 心 ( @cero_t ) 19. private List m_list = null; private int process_file(String str_file_name) { String str_line; List list_lines = new ArrayList(); int i_result = read_file(str_file_name, list_lines); if (i_result == 0) { List list_record = new ArrayList(); for (int i = 0; i < list_lines.size(); i+
Welcome Welcome to the LearnJavaOnline.org Interactive Java Tutorial. Whether you are an experienced programmer or not, this website is intended for everyone who wishes to learn the Java programming language. Just click on the chapter you wish to begin from, and follow the instructions. Good luck! Learn the Basics Hello, World! Variables and Types Conditionals Arrays Loops Functions Objects Compil
Sleep - Duct Tape for the Java platform Sleep ... is a multi-paradigm scripting language for the Java Platform easy to learn with Perl and Objective-C inspired syntax executes scripts fast with a small package size (~250KB) excels at data manipulation, component integration, and distributed communication seamlessly uses Java objects and 3rd party libraries Sleep source and binaries are released un
はじめに 最近、言語の型について語っているブログをよく見かけます。 便乗するつもりはないですが、前々からJava/C# からRubyに乗り換えて感じていることを書きたいな〜と思っていたので、このタイミングでちょっと書いてみることにします。 今回のエントリはあくまで僕個人が感じていることを書くだけであって、別に言語の優劣を述べようとしているわけではありません。 そもそもプログラマ個人のバックグラウンドや知識、スキル等々によって感じ方や見解は異なってしかるべきだと思うので、その前提で読んでもらえればと思います。 僕のバックグラウンド まず、最初に僕のバックグラウンドを紹介します。 この業界に入って最初の3年ぐらいはJavaをよく書いていた。 最後に使ったのは Java 5.0 + Struts + Spring + Hibernateとか、そういう時代。 前職ではC#/ASP.NETをよく書い
技術者仲間で話していたら、4月入社の新人に、オブジェクト指向プログラミングをどうやって教えたらよいか?、という話になった。 想定している言語は Java。 ■動物・犬・猫モデルの説明から ■基本用語の説明から:「カプセル化とは」「継承とは」... ■サンプルコードから: System.out.println( "hello world" ) ... どのパターンでもうまくいかなかったので、今度の新人研修では何か工夫したいね、という話。 結論から言うと「これだ」というアイデアがでたわけではないが、話の内容は、いろいろ興味深かったのでメモ書き。 Java はオブジェクト指向の言語なの? Java は、ある意味 C言語の仲間。ある側面はほとんど同じ言語。 ・int, long (プリミティブなデータ型) ・配列操作 ・if/for/return ここだけ見れば、C言語のまま。つまり命令型、手続き
Javaの文法一覧です。他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1. 基礎 classの作成 プログラムはclassに記述します。たとえばSampleという名前のclassを作る場合、Sample.javaファイル内に次のように書きます。 public class Sample { } mainメソッドの作成 プログラムはclass内のmainメソッドの先頭から実行されます。mainメソッドは次のように書きます。 public class Sample { public static void main( String[] args ) { // 処理を書く } } System.out.printlnメソッド 文
Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初
衝撃を受けたできごと 最近Rubyを勉強しています。 JavaやC#でオブジェクト指向プログラミングの基本はマスターしてるから、Rubyもそのあたりは楽勝〜!・・・と思っていたら、JavaやC#の常識が全く通用しない振る舞いに遭遇してかなり衝撃を受けました。それは、 privateメソッドはサブクラスからも呼び出せる ・・・ということです!!がーん。 たとえば、JavaやC#だと自分のクラス内でprivateメソッドが使われていない場合、不要なメソッドとして削除できます。(リフレクションを使って呼び出される可能性はここでは無視ね) しかし、Rubyでは誰かがサブクラスを作って呼び出している可能性があるので、privateメソッドを削除する場合は注意が必要です。メソッド名を変更する場合も同様ですね。 また、知らずに親クラスと同名のprivateメソッドを定義すると、予期せず親クラスの実装をオ
Javaのクラス宣言には5種類ある。 トップレベルクラス・ネストしたクラス・内部クラス・ローカル内部クラス・匿名クラス(無名クラスとも言われる)の5種類だ。 今回はこの5種類のクラス宣言のおさらい。 トップレベルクラス これは普段使っているクラス。拡張子が.javaのファイルを作り、そのファイル名とクラス名を合致させなくてはいけない。そのjavaファイルのトップレベルに位置する。 ネストしたクラス 「ネストしたクラス」(Nested class)とはクラスの中にクラスがネストしている状態。トップレベルクラスの内側にstaticキーワードをつけてクラス宣言を行う。 public class Outer { public static class Nested { } } このネストしたクラスは、トップレベルクラスと同等の機能性を持つ。 クラス名はOuter.Nestedという名前で扱われるが
ずっと積ん読になっていました。 購入したのはおよそ3年前。最近、私が Java を勉強し始めたという動機もあり、3日で読んでしまいました。3年も読めなかった本をいま読めてしまうというのは、いつか読むかもしれないから気になった書籍は取りあえず買っとけという気にさせてくれますね (^ ^;; さて、本書は Jython の入門本であると同時にプログラミングの抽象概念を、著者の考察と簡潔な論理で説いてくれるので、とても分かりやすく参考になります。私は何となくそういうもんだと解釈していたことが、意図するものの背景を知って、新たな発見がいくつもありました。 Java の世界と Python の世界を行き来する 序盤は Eclipse の使い方や外部ライブラリのパスの通し方も丁寧に紹介されています。私は Eclipse を使い始めたばかりなので、そういった気遣いも嬉しいです。 Jython とは、Ja
Java, Ruby & expressiveness Six years ago, I added Ruby to my technical arsenal. I learned C++ and Java in high school, and I planned to use them for statistics in college—mainly in the lab. But when I discovered Ruby, I knew something was different. Ruby let me be productive and get things done fast. It was ridiculously useful, for everything from renaming files to plotting finances to doing math
276行(ライセンス宣言を除いた222行)という数値にはインパクトがないような気もするが、OpenFlowコントローラをJavaで書いたみたので、その事をネタに久しぶりにブログを更新してみようかと。 いくつかのコントローラの実装を見たところ、エラー処理、例外処理とかを除けば基本的な部分を作成するのは自分でも出来る気がしたので、OpenFlowに興味もあるし、勉強がてら単純なOpenFlowコントローラを実装してみた。OpenFlowは今のところver. 1.1まで仕様が公開されているが、実装としてはver. 1.0までしか公開されていないようなので、ver. 1.0ベースでの実装ということにした。 言語の選択 個人的には、最近、Pythonをよく使っている(NetworkXが便利というのがその理由だが)のもあって、Pythonが一番慣れているのだが、動的型付け言語なので型チェックがないとか
昨晩遅く、id:backpaper0さんの以下のツイートが目にとまりました。 staticでない本物の内部クラスは暗黙で外側のインスタンス(エンクロージングインスタンス)のthisにアクセスできる仕様なので、newを使った普通のインスタンス化の方法では決して外部のインスタンスが存在しない状態でnewできないようになっています。つまり、内部クラスのインスタンス化にはエンクロージングインスタンスの存在が前提となるというのが私が長年Javaのコードを書いてきた中での常識でした。 実際、エンクロージングインスタンスの外側で内部クラスのインスタンスを作成する場合、以下のようにnew演算子の前にエンクロージングインスタンスを書かなくてなならない仕様となっているため、これがnullでは決して内部クラスが生成できないように構文上工夫されています。 public class Outer { private
Javaの生みの親ジェームズ・ゴスリング(James Gosling)氏は自身のブログOn a New Roadにポストした記事「Next step on the road...」で、グーグルに就職したことを報告しています。 I find myself starting employment at Google today. 今日からグーグルの社員として働き始めるのだ ゴスリング氏はオラクルがサン・マイクロシステムズを買収した後の2010年4月2日にオラクルを退社していました。それ以来、多くの企業からオファーがあったようです。 One of the toughest things about life is making choices. I had a hard time saying "no" to a bunch of other excellent possibilities. 人
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く