Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

2008-01-01から1年間の記事一覧

若手に覚えてほしい質問への答え方

「第一声で質問への答え/結論を述べること」質問するとこういう人がいる。 「○○はスケジュールどおりですか?」 ↓ 「○○は今ここをやってまして、ですが先に××の作業がありまして・・・」 この答え方は完全にアウト。 質問した人が聞きたいのはあなたの状況で…

ScalaのAdvanced Exampleを写経する(6)-extractor

ScalaのAdvanced Exampleを写経する(5)-case class - Fight the Future じゅくのblogを変更したソース。 extractorPatterns.scala | The Scala Programming Language パターンマッチングはケースクラス使わなくてもobjectでもできる。 ただしapplyメソッドと…

ScalaのAdvanced Exampleを写経する(5)-case class

またまたパターンマッチング。 それだけこの概念が大事だってことなんだろうね。 package sample.snippet /** Illustrate the use of pattern matching in Scala. */ object Patterns { /** We need an abstract base class for trees. * Subclasses with th…

消せる紙

昨日のワールドビジネスサテライトのトレたまでやってた。普通の紙に特殊なニスを塗ったもので、持ち運びのホワイトボードとして活用できるらしい。まだ東京のハンズでしか販売してない。 仕事耕具:あの“持ち運びできるホワイトボード”が発売 欧文印刷の「…

ScalaのAdvanced Exampleを写経する(4)-lazy evaluation

いわゆる遅延評価ってやつ。 package sample.snippet object LazyLib { /** Data type of suspended computations. */ abstract class Susp[+A] extends Function0[A] class SuspImpl[A](lazyValue: => A) extends Susp[A] { private var maybeValue: Option…

Cedricは日本が好きだね〜

CedricさんがAndroid Marketに翻訳アプリを出したみたい。Android Translate « Otaku, Cedric's blog サンプルが馬だもんなあ。

ScalaのAdvanced Exampleを写経する(3)-Guarded Algebraic Data Types

Guarded Algebraic Data Types = 保護された代数データ型?検索するとヒットした。 Guarded algebraic data types, which subsume the concepts known in the literature as indexed types, guarded recursive datatype constructors, and phantom types, an…

ScalaのAdvanced Exampleを写経する(2)-for comprehension

for文もJavaとは違ってるね。 Advanced Exampleになってコードが長い! 理解したり試したり、時間がかかります。 fors.scala | The Scala Programming Language package sample.snippet object Persons { var persons = List( new Person("Bob", 17), new Pe…

プロパーも協力会社も目的を同じくした同志では?

プロパーも協力会社も、目的を同じくした同志なんじゃないかなあ。 「プロジェクトを成功させる」という。。。 そりゃ責任の所在とか契約形態とか各々に視点の違いがあるのは間違いないけど。 でもみんなプロジェクトのメンバーである以上、 すべての行動は…

Scalaのmainメソッド実行

こういうScalaプログラムがあるとして、 Dのメインメソッドはどういうコマンドで実行できるんでしょう? package a.b; object C { object D { def main(args: Array[String]) { print("テスト") } } } 「$ scala a.b.C」ではダメでした。。。 わからないので…

ソフト開発の生産性は新メンバーの生産性と足手まとい率によって変わる

「要員を増やす」ことにどんなトレードオフがあるか、しっかり理解しとかないと。 メリットがデメリットを上回るとそのときに限り、要員は増やすこと。 ご存知のようにブルックスの法則とは「遅れているソフトウェアプロジェクトへの要員追加はさらに遅らせ…

Windows XP SP3を入れるとPallarelsが動作しない

mac

Boot CampではWindosは正常に動作するけど、 Pallarelsで起動できなくなった。 このエラーが出て、 起動が無限ループする。 原因はSP3でした。 対処法は下記にあります。 ってかアンインストールして再インストールです。ページが見つかりません | 株式会社…

Scalaのfor文はシンタックスシュガー

次のExampleはforのことみたいだったけど、コードが長いので少し自分で調べてみた。 forループは文法ではなく,for-comprehensionという一種のシンタックスシュガーして定義され,map, filter等に変換される。 第3回 Scala言語を探検する(1):ITpro という…

continuation monadのコードが読めない(Scala)

モナドってだけで若干引き気味だけど。 モナドにもいろんな種類があって、その1つがcontinuation monadらしい。 で、サンプルを動かそうとしたけど、ソースの意味が理解できない。 いかん。実力がないのがバレバレだ。。。 type Answer = Value; /** * A con…

ScalaのAdvanced Exampleを写経する(1)-XML Processing

Snippetは終わったので、今回からAdvanced Example。 addressbook.scala | The Scala Programming LanguageScalaはXMLをリテラル(表現あってる?)として扱える。 文字列にする必要がない。 さらにXMLのリテラルの中にScalaコードを直接記述できる。 package …

ScalaのSnippetを写経する(11)-可変長引数

Javaの可変長引数もそのまま使える。Scala Snippets | The Scala Programming Language package sample.snippet object VarargsSample extends Application { val message = java.text.MessageFormat.format("At {1, time} on {1, date}, there was {2} on p…

ScalaのSnippetを写経する(10)-try catch

try-catchはJavaとほぼ一緒。 でもcatch句でcase使ってるってことはパターンマッチングなのかな??Snippet: Sum Arguments | The Scala Programming Language package sample.snippet object TryCatchSample extends Application { var array = Array("1", …

ScalaのSnippetを写経する(9)-for文の応用

Scalaではfor文に条件を書いてfilterかけれる。 Snippet: Primes | The Scala Programming Language Primeってのは素数のことね。まだ学術的段階だから?複素数とか素数とか数学のサンプルとか多いね。 package sample.snippet object Primes extends Applic…

ScalaのSnippetを写経する(8)-パターンマッチングその2

パターンマッチングのサンプルその2。Snippet: Match Arguments | The Scala Programming Language package sample.snippet object PatternMatchSample2 extends Application { var verbose = false val array = Array("-h", "-verbose", "aaa") for (a <- a…

ScalaのSnippetを写経する(7)-パターンマッチング

パターンマッチングのサンプル。実におもしろいw Snippet: Maps | The Scala Programming Language package sample.snippet object PatternMatchSample { val colors = Map("red" -> 0xFF0000, "turquoise" -> 0x00FFFF, "black" -> 0xFFFFFF, "orange" -> …

ScalaのSnippetを写経する(6)-Implicit Conversionその2

ScalaのImplicit Conversionを使うサンプルその2。Snippet: Implicits | The Scala Programming Language package sample.snippet object ImplicitSample extends Application { implicit def arrayWrapper[A](x: Array[A]) = new { def sort(p: (A, A) => B…

Java EE 6ではServletがPOJO

Servlet 3.0では、アノテーションを用いてServletに関するメタデータを記述できるようになります。これにより今まで必須だった「web.xml」がオプションになります。また、従来HttpServletクラスのようなJ2EE/JavaEEの仕様が提供する親クラスを継承してServle…

ScalaのSnippetを写経する(5)-Implicit Conversion

Snippet: Extend Builtins | The Scala Programming LanguageScalaの特徴的な機能であるImplicit Conversion(暗黙的な型変換)。 Implicit ConversionについてはJJUG CCCのBOFでもScalaについて話されていた水島さんの資料がわかりやすいです。 http://www.co…

ScalaのSnippetを写経する(4)-For and Yield

Snippet: For and Yield | The Scala Programming Languageyieldしたら処理後のものを戻しますよーというサンプル。 package sample.snippet object YieldSample extends Application { val array = Array("a", "b", "c") println("変換前" + array.toString…

ScalaのSnippetを写経する(3)-Complex Operations

Snippet: Complex Operations | The Scala Programming Language Scalaには「演算子」という概念はない。 「+」という名前のメソッドにすぎない。 だから演算子のオーバーライドで悩まされることもない。 package sample.snippet object ComplexOperations e…

ScalaのSnippetを写経する(2)-BigInt

Snippet: BigInt | The Scala Programming Language IntからBigIntにはシームレスですよーというサンプルだと思う。 package sample.snippet object BigIntSample extends Application { def functional(n: BigInt): BigInt = { if (n == 0) { 1 } else { n …

ScalaのSnippetを写経する(1)-Abstract Types

Scala公式サイトにあるSnippetを淡々と学んでいきます。 サンプルコードはコピペしちゃだめ!必ず手打ち!写経していきます。Snippet: Abstract Types | The Scala Programming Language package sample.snippet object AbstractTypes extends Application {…

AndroidでScalaは動く

Developing for Android | Scala IDE for Eclipse Space | Assembla そらScalaはコンパイルしたらclassファイルやし、Andoroidで動くよね。。。 今からObjective-Cを学ぼう、とはちょっと思えないし。 # web-career.com読んじゃったし。 そうなるとJava & Sc…

管理者とは

システム開発の仕事は、「自ら考える」ことが必要な仕事です。自発的に工夫したり、考えたりしながら作業を進めているSEにとって、単なる作業マシーンの役目を指示されることは、とても苦痛なのではないでしょうか。 キャリア・働き方を考えるブログ: 第3回 …

「下流から見たIT業界」がおもしろい

下流から見たIT業界: SEとPG、どっちが頭がいい?(2) 例えば企業の会計システムを作るとします。その設計に携わって企業の会計を知ることができるようなSEがどれだけいるでしょう。会計の知識はそんな甘いものではありません。 下流から見たIT業界: SEとPG…