Walking through Token2049, it was hard to tell that the crypto industry was going through a “winter” phase. The crypto conference held in Singapore in September attracted an unprecedented
元ネタはこちらですが、「優れたJavaプログラマ」を見分ける質問ではありません*1。次のような状況を想定してください。 受託業務を中心にしている弊社は、Javaで業務系ウェブアプリケーションの開発を行う事になりました。しかし社内のリソースを使うにも1−2名足らない事が見積もりから解っています。そこで、中堅エンジニアを1−2名募集することになりました。正社員か派遣かは問いませんが、経験が3年程度の中堅プログラマが必要です。同等またはそれ以上のスキルを持つ正社員がプロジェクトを牽引しますが、ゼロから教えながら教育することはできないので、必要最低限のスキルを持っていることが条件になります。 こんな状況を想定して、面接の質問を考えてみました。経験が3年程度あれば、問題なく答えられるはずです*2。尚、質問はホーム言語がJavaである前提です。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること
もう落ち着いた話題だけど、SwingWorkerのサンプル書いて思い出した。 文字列リテラルの比較の話だけど、"リテラル".equals(s)よりもs.equals("リテラル")のほうが見やすいとか意味を反映しているとかあった。 けど、実際にJavaで文字列リテラルの比較などという無粋なことをする場合は、select〜case的な使い方をすることがほとんどであるような気がする。 PropertyChangeListenerであれば if("progress".equals(evt.getName(){ ・・・プログレスバーの処理 } else if("width".equals(evt.getName()){ ・・・幅がかわったときの処理 } else if("height".equals(evt.getName()){ ・・・高さがかわったときの処理 } のような。 HTTPだと if
UNIX と C ってのは,やっぱり最悪のコンピュータウィルスだな.この 2 老害のせいで,計算機科学の発達は 20 年遅れた.こいつらのバッドノウハウにそそぎこまれた, 確かに autotools とかバッドノウハウ以外の何者でもないよなぁ。ないともっとアレなんだけど。 で、これを読んで、ふと思い出した。昔 Java-House で高木さんが似たようなこと言ってたような・・・ あった、これだ。 > > 悪しき習慣です。CやC++がプログラミングに携わる人のすべての必携の言語 > > として蔓延りかけてしまったことは、世界の情報産業の生産性をいったいど > > れだけ損失させたか計り知れません。 > > すべての必携の言語にCがなり得たのは、それだけ優れた言語だったからでしょう。 いいえ。一部の人が使うのには優れていますが万人が使うべきものではあり ません。C以外が普及しなかったのは、様々
Java以下は無駄に長い駄文です。なんか書いてみたはいいもののうまくまとまらなかった。ごく一部しか表せなかった気がする。これではInputStreamReaderとかがたくさんオブジェクトを連結しないと使えないめんどくささをなぜ許容できるか、しか表せてない... もともとは「 Java における本質的でない記述がどのように大規模開発に役立つのか - kwatchの日記」がらみの話です。文中にいくつか「アクセッサが簡潔に定義できない」「FileReader に文字コードを渡せない」のような例があって、「それらが改善されたら大規模開発になにか不利益があるのかどうか」という具体的な質問があったので私はそこにコメントしときました。私はコメント欄に「不利益なんてないよ」と回答しました。実際のところ、後方互換性が維持され、言語としての統一性が維持されるなら別に不利益なんてあるわけない。あるとしたらマネ
まじめな話に切り替えて、Java屋さんJava信者さんに質問したいと思います。 質問: Java における、本質的でない冗長な記述は、どのように大規模開発に役立つのでしょうか。 質問の背景を説明すると、以前の晒されエントリで、Java における本質的でない記述の数々について話題にしました。それに対する反応で、『Java は大規模開発向けだから記述が長くてもいいんだ (または長くなくてはいけない)』という意見が多くあります。 たとえば、ブックマークコメントより: エンタプライズ分野であの大伽藍が求められたのだから仕方ないですよ。 エンタープライズ分野のような大規模開発こそ、必要な情報を簡潔にわかりやすく記述する必要があると思ってたんですが、世の中は違うようです。 同じくブックマークコメントより: Java屋の怠慢は高層ビル建築をどうサボるかであって、犬小屋を作る時にどうサボるかという視点とは
最近Hadoopを使うために5〜6年ぶりにJavaをいじっています。 そんで、ちょっとばかり耐えがたいわけです。 例えばありがちな例題を挙げると、 ["google", "検索","開発"] のようなタグ(文字列)のリスト(でも配列でもなんでもいい)を受け取って [ {tag=>"google", enc=>'google'}, {tag=>"検索", enc=>'%E6%A4%9C%E7%B4%A2'}, {tag=>"開発", enc=>'%E9%96%8B%E7%99%BA'} ] のようなハッシュテーブルのリストに変換しなさい。 ただしパーセントエンコーディングを行う関数(でもメソッドでもなんでもいい) uri_encodingは与えられているものとする。 こんなこと、Webアプリケーションではよくやるじゃないですか。 んで、実際Perlなんかでは結構簡単に書けて #my @tag
X10 is an experimental new language currently under development at IBM in collaboration with academic partners. The X10 effort is part of the IBM PERCS project (Productive Easy-to-use Reliable Computer Systems) in the DARPA program on High Productivity Computer Systems. The PERCS project is focused on a hardware-software co-design methodology to integrate advances in chip technology, architecture,
Java の配列の要素数、インデックスは int じゃないとだめなので、最大で 2^31-1 個の配列しか取れない。これってそろそろ深刻な問題になっているような気がするのであるが、あんまり聞かないなぁ。一応、Bug Database にはのっているけど、Vote が少ないし、Priority も低い。 ref:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4880587 これは配列に限った話ではなくて、たいていの API でオフセット指定は int なので、これまた 2^31 以上になると問題が発生する可能性がある。いまどき 2GB以上 のファイルとか珍しくもないから、多分どこかで問題になっているんだろうなぁ。
Java が使いにくい言語であるというのは、世界中の LL ファンが皆思っていることだろうから改めていうことでもないけど、使いにくいのは静的言語だからというのは間違っている。Java が使いにくいのは単に Java の設計者のセンスが悪かっただけであり、静的言語のせいではない。 たとえばこんなコード。 public Map<String, List<String>> example() { List<String> list = new ArrayList<String>(); list.add("foo"); list.add("bar"); list.add("baz"); Map<String, List<String>> map = new HashMap<String, List<String>>(); map.put("names", list); return map; }
Prof. Alan Kaminsky Rochester Institute of Technology -- Department of Computer Science Overview Books and Publications Preinstalled Version Download Version System Requirements Installation Usage License Documentation (Javadoc) Overview Parallel Java (PJ) is an API and middleware for parallel programming in 100% Java on shared memory multiprocessor (SMP) parallel computers, cluster parallel compu
まあ、ちょっとこんなコードを書いたと思ってください。(はてなの仕様上インデントされてません) import java.awt.*; import java.awt.event.*; import javax.swing.*; class Swing_Test1 extends JFrame{ private JTextField inputField = new JTextField(20); private JLabel testLabel = new JLabel(); { setLayout(new FlowLayout()); inputField.addKeyListener(new keyListener()); add(inputField); add(testLabel); testLabel.setText(String.valueOf(inputField.getTex
mpiJavaの利用法 梶原 広輝, 廣安 知之, 三木 光範 ISDL Report No. 20040809005 2004年 7月 7日 Abstract 本報告では,並列計算プログラミングのライブラリとして利用されているMPI(Message Passing Interface)におけるJavaでの実装mpiJavaについての報告である. mpiJavaの概要, インストール方法, API, サンプルプログラムを調査し, その結果Java環境において並列計算プログラミングを行うことができた. 1 はじめに 並列計算プログラミングでは, メッセージパッシングを用いるのが一般的である. メッセージパッシングはプロセス間のデータの移動をプログラム中に明示的に記述するプログラミング手法であり, メッセージパッシングのAPIの標準としてMessage Passing Interf
先々週にHotSpot VMでのメモリー管理について解説しました。ここでキーとなるのは世代別GCです。 HotSpot VMで世代別GCが採用される以前は,Old領域のGCで使用されるMark & Sweep GCだけでした。世代別GCが導入されたことにより,GCのパフォーマンスは劇的に向上したのです。 しかし,GCの進化はここで終わってしまったのではありません。Java SE 6(開発コード名Mustang)にいたるまで,様々な改良が加えられてきました。 今週はそれらの新しいGCの手法について解説していきます。その前に,まずは基本となるMark & Sweep GCを説明しましょう。 Mark & Sweep GC Mark & Sweep GCは二つのフェーズでGCを行います。 はじめのフェーズで,使用しているインスタンスに印をつけます(Mark,図1a)。Markにはルートインスタン
オペレーティングシステム II 電子・情報工学系 新城 靖 (臨時代講) <yas@is.tsukuba.ac.jp> このページは、次の URL にあります。 http://www.coins.tsukuba.ac.jp/~yas/classes/os2-2003/2004-01-13 あるいは、次のページから手繰っていくこともできます。 http://www.coins.tsukuba.ac.jp/~yas/classes/ http://www.is.tsukuba.ac.jp/~yas/index-j.html ■スレッドの実際 C言語での利用 -- Pthread Java言語での利用 (言語組込み) ◆スレッドとは スレッド(thread) あるいは、 軽量プロセス(lightweight processes) とは、 1つの保護の単位としての プロセス(タスク,あるいは,アド
本文書は、Javaにおけるコマンドライン引数の処理方法について検討・紹介するものです。まずはじめに、コマンドライン引数を含むパラメータの設定方式について整理し、それから本題のコマンドライン引数の処理について見ていくことにします。コマンドライン引数の処理には、JDKの範囲でコーディングする方法の他、オープンソースのライブラリを利用する方法について紹介します。最後に、アノテーションを使ったコマンドライン引数の処理を作っていきます。 プログラムにおけるパラメータ設定 はじめに 多くのプログラムでは、パラメータとして設定値を外から与えることが必要となります。パラメータをプログラム中に記述する、いわゆるハードコーディングをしてしまうと、パラメータを変更するためにはソースコードを修正して再ビルドすることになってしまうからです。したがって、プログラムを実行するときにパラメータを外部から取り込んでその設定
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く