OpenJDKをインストールする。下のコマンドでバージョンを切り替える。バージョンは過去のままで行っています。10年くらい前に開発していたシステムですが、今見直すとリファクタリングした方が良いと思うコードがところどこ...レトロコードの不吉な匂い2020-01-02新年、明けましておめでとうございます。あけましておめでとうございます。今年もよろしくお願いします。昨年の前半は以前から携わっていたシステムへの追加機能の開発と、後半は過去に開発したシステムをベースに違うバージョンのシステムを開発していました。今年も昨年後半の案件を継続して行...新年、明けましておめでとうございます。使った開発が今はメインになっています。確定していない状態で開発するスタイルが板に付いています。実装(コーディング)前の設計段階で、...最近のお仕事2019-01-20思い出したように...仕事3年以上放置して思い出したように更新しています。久しぶりにというか、書いていたことも忘却しかけている。すると放置状態になってしまうので、過去の仕事のことなどを日記に書き残していこうかなと思っています。要求仕様に関しては、いつも確定しないまま実装に入ってインクリメンタルな開発を行うことが多かった。この前の組み込み系通信システムの開発は完全なウォーターフォール型でした。その過程2015-10-04要求仕様化問題3年以上も放置状態だったんですね。久しぶりに更新します。現在も、3年前とかわらずプログラマとして働いています。この3年間の変化として、短期間ですが、違う開発のお仕事を経験しました。未経験の開発環境、カテゴリでの開発でした。read[Sjava.nio.ByteBuffer2012-08-31夏休みが終わり(ByteBufferと文字列エンコーディング)今日で8月も終り。はやかった今年の8月も。あっという間でしたが、夏休みは3日間いただきました。簡単な処理でも勝手が違うので少し戸惑った事。Subtyping)Scala型の階層構造とは関係なく特定のメソッドを定義して、このメソッドを持つ型として定義できる。指定して型パラメータまたは抽象型の型に制限をつけることができる。反変(-)の変位アノテーションを付けて変位指定ができる。変位指定アノテーションを付けない場合は非変(nonvariant)になる。どのパラメータ型を渡せるかの3種類の規則を指定。つけると型変換が必要な場面で自動的に型変換関数が実行される。暗黙の型変換が使用されている。データの比較、分解、抽出の用途で使用する。指定...Option#getOrElse2012-04-24XMLファイルの要素と属性をベタに表示ScalaXMLファイルを読み込むプログラムを勉強がてらつくりました。使って要素のラベルと値、属性、子要素をすべてベタに表示。runBenchmarkメソッドは引数の...ベンチマーク2012-04-16再帰Scala関数型言語では、副作用のないプログラムを行うため繰り返し処理はループではなく再帰を使用。限定的に使用するループで副作用(変数の更新)があっても特に問題なさそうだが、やはりできるだけ副作用のない再帰を使いたい。parameters)Scala引数の型に合わせた暗黙の値を指定しておくと、関数(メソッド)呼び出し時の引数を省略できる。付けると暗黙の引数が適用される。引数を省略しないときは関数呼び出し時の指定値がそのまま渡される。早起き最近、早起きできていなかったので、ひさびさに早起きした。仕事は少しだけ中だるみ状態。勉強をぼちぼちと進めているので、仕事で実用的に使える機会をなんとかつくりたいがなかなか難しい。あっ、こんな時間、出勤しなくては..あと、関数型プログ...桜満開ですが、明日は雨2012-04-09StreamScalaListとほぼ同じで、違いは実際に要素が指定されるまで作成が遅延される。要素が無限に続くリストや要素数を事前に決められないリストとして表現できる。先頭要素とリスト(Stream)を連結する。名前渡し引数は、メソッド内で引数の名前が実際に使用される時に評価される。引数が複数回参照される場合は、参照される度に評価される。関数、メソッドの定義で引数にデフォルト値を指定できる。デフォルト引数は引数の一部またはすべてに指定できる。