タグ

ブックマーク / www.ne.jp (9)

  • 「マルホランド・ドライブ」 シカゴ発 映画の精神医学

    購読者千人突破 樺沢紫苑のメールマガジン シカゴ発 映画の精神医学 現在、最新映画の批評は、このメルマガにて配信しています。 登録のうえ、究極の映画分析をお楽しみください。 メールマガジン登録 まずい。わからん。 難解映画の解読を得意技とし、すでに『ファイト・クラブ』『スネーク・アイズ』『御法度』『AI』などの難解映画を解読してきた。しかし、この『マルホランド・ドライブ』(以下『マルホ』)はわからん。難解映画解読の樺沢が、すっかりリンチのしかけた曲がりくねったマルホランド・ドライブに迷い込まされてしまったとは・・・。何たる失態。 『マルホ』終了、15分前には、この映画のことが全くわからなかった。「どーしよう」という感じである。 しかし、ベティの住む家の大家ココが、パーティーでアダム・ケシャー監督の母親として登場した瞬間、全ての謎が解けた。同時に、このパーティーでは、前半の登場人物が何人も再

    bluele
    bluele 2013/10/24
  • Scala Listメモ(Hishidama's Scala List Memo)

    ScalaのListはJavaのListとはかなり異なる。 JavaではListは代表的なコレクションのひとつだが、ScalaではSeqが代表であり、ListはSeqの一種。 概要 ScalaのListはJavaのListとは異なり、単方向(片方向)のリスト(かなり原始的でその分シンプルなリスト)である。 継承関係は、Seq←LinearSeq←List。 JavaのListはインターフェースであり、具象クラスでよく使われるのはArrayListやLinkedList。 JavaのListでデータを追加するメソッドはadd()であり、データはリストの末尾に追加される。 ArrayListは内部で配列を使ってデータを保持しており、配列サイズを超えるデータが追加される場合には拡張される。 LinkedListは双方向リストであり、末尾データへの“ポインター(参照)”を保持しているので、末尾へ簡

    bluele
    bluele 2013/09/05
  • Scala Javaコレクション変換メモ(Hishidama's Scala JavaConversions Memo)

    Scala2.8.0では、scala.collection.JavaConversionsオブジェクトのメソッドをインポートしておくと、変換を自動的に行ってくれるようになる。 したがって、Javaコレクションに対しScalaコレクションのメソッドを適用すれば、JavaコレクションからScalaコレクション(のラッパークラス)に暗黙に変換される。 scala> import scala.collection.JavaConversions._ import scala.collection.JavaConversions._ scala> val jl = new java.util.ArrayList[Int] jl: java.util.ArrayList[Int] = [] scala> jl += 123 res0: scala.collection.mutable.Buffer[I

  • Scalaベンチマーク メモ(Hishidama's Scala Benchmark Memo)

    概要 Benchmarkトレイトを使って実行時間を計測するには、以下のようにする。 scala.testing.Benchmarkトレイトをミックスインしたクラスを作る。 runメソッドをオーバーライドして、時間を計りたい処理を記述する。 runBenchmarkを呼び出す。(計測回数を指定する)(個人的には、startというメソッド名が良かったなぁ。Threadでそういう風に意識に染み付いてるw) Benchmarkはmainメソッドも持っているので、Benchmarkを継承したobjectを作れば、scalaコマンドでベンチマークを実行することも出来る。 使ってみた感じでは、計測の初回は実行時間が多めに出ることが多い気がする。(ベンチマークではよくある事) 計測回数は5回くらいでは少ないかも。 REPLでの実行例 REPLで実行する例。 new scala.testing.Benchm

    bluele
    bluele 2013/07/29
  • Scala Mapメモ(Hishidama's Scala Map Memo)

    概要 マップは、キーとなるオブジェクト(文字列やSymbol等)に対し、それに該当する値を保持するコレクション。 →他言語のマップ(ディクショナリー・連想配列) ScalaMap[K,V]はIterable[(K,V)]を継承している。 つまり標準的な追加・繰り返し処理はキーと値のペア(タプル)で行う。 JavaMapで繰り返し処理を行う場合、map.keySet().iterator()でキー、map.values().iterator()で値、map.entrySet().iterator()でキーと値(Entry)を対象とするので、 ScalaMapiteratorはentrySet().iterator()に相当する。 Mapのクラス Map関連のクラス。 パッケージ名 クラス名 (オブジェクト名) 備考 参考

    bluele
    bluele 2013/06/27
  • Javaスレッドメモ(Hishidama's Java thread Memo)

    概要 Javaでは、マルチスレッド用のクラスとしてThreadが用意されている。[2017-04-15] しかし新しいJavaでは、Threadを直接使う事はあまり無い。 ExecutorService/Future(JDK 1.5)やFork/Join(JDK 1.7)といったクラスが追加されているので、そちらを使う。 Java21で仮想スレッド(virtual thread)が導入された。[2023-09-23] これにより、従来のスレッドはプラットフォームスレッド(platform thread)と呼ぶようになった。 Javaでは、マルチスレッド用のThreadクラスが用意されている。 Threadを継承して独自のクラスを作り、runメソッドをオーバーライドして処理体を記述する。 class スレッドクラス名 extends Thread { @Override public vo

  • Javaアノテーションメモ(Hishidama's Java annotation Memo)

    それぞれの指定の意味する場所は、以下のようになっている。 @LocationExampleAnnotation //TYPE:クラス定義やインターフェース定義をする場所 public class アノテーションを付けるサンプル { @LocationExampleAnnotation //FIELD:フィールド(メンバー変数)定義 protected int value; @LocationExampleAnnotation //CONSTRUCTOR:コンストラクター定義 public アノテーションを付けるサンプル() { } @LocationExampleAnnotation //METHOD:メソッド定義 public void メソッド() { } public int 引数ありメソッド( @LocationExampleAnnotation //PARAMETER:パラメータ

    bluele
    bluele 2013/06/23
  • Java総称型メモ(Hishidama's Java Generics Memo)

    メソッドの総称型 メソッドのみに総称型を適用した定義を行うことも出来る。[2007-06-12] 戻り値の型の直前に「<仮型引数, 仮型引数…>」を置くだけ。後はクラスの場合と同様。 public static <T> T notNull(T arg1, T arg2) { T ret; if (arg1 != null) { ret = arg1; } else { ret = arg2; } return ret; } このメソッドを呼び出す側は、クラスの場合とは異なり、明示的に型引数を指定する必要は無い。 指定した引数の値に応じて、自動的に型が判断される。 String s = notNull("abc", "def"); //型引数はString Long l = notNull(new Long(1), new Long(2)); //型引数はLong int i = notNu

    bluele
    bluele 2012/04/19
    generic type
  • Scala Actorメモ(Hishidama's Scala Actor Memo)

    概要 Actorは、送られてきたメッセージ(オブジェクト)に対して処理を行う。 1つのActorに対して1つのスレッドが割り当てられる。 同一Actorに複数のメッセージが送られた場合、キュー(メッセージボックス)に入れられ、そこから順番に処理していく。 Actor同士は同じデータを共有することが無い為、スレッド間の競合を気にする必要が無い。 ただしメッセージとして送られたオブジェクトは共有されうるので、同一オブジェクトを複数Actorに送るような事をする場合には注意が必要。 ただ、オブジェクトが不変であれば気にする必要は無いので、不変オブジェクトが推奨されるのだろう。 Actorトレイト 普通は直接Actorトレイトを使うことは無いが、基(実際に使用される動作)として。 Scala Java相当 備考

  • 1