タグ

JavaとProgrammingに関するt-tanakaのブックマーク (65)

  • Javaで暗号化したデータをPerlで復号化しようとしたら大変だった件 - download_takeshi’s diary

    JavaでRijndael(AES)で暗号化されたデータをPerlで復号化しようと思います。 「暗号方式と秘密鍵だけ聞いておけば簡単にデコードできるっしょ、余裕っしょ」とタカをくくっていたら、思いっきり天罰がくだりました。久しぶりにハマったのであります。 ちゃんと確認しておくべきだった情報 まずは暗号方式と秘密鍵だけでなく、以下の情報をしっかりと確認しておく必要アリでした。 暗号アルゴリズム 秘密鍵 秘密鍵の長さ ブロック暗号化モード IV(Initialization Vector:初期化ベクトル) padding方式 暗号のことちゃんと勉強した事がないので、なんだかよくわからんけど、必要らしい。 せめて事前にここらへんを読んで勉強しておけばよかった。 ぱせらんメモ http://d.hatena.ne.jp/pasela/20100612/crypto DESに代わる次世代暗号「AES

    Javaで暗号化したデータをPerlで復号化しようとしたら大変だった件 - download_takeshi’s diary
  • Javaの環境まわりについてレクチャーしてもらった - 仙台 Ruby Vim JavaScript フリーランスプログラマ

    7月15日、 id:masanobuimaiさんにお願いして、Javaの環境まわりについて、マンツーマンで講義してもらったよ。 なんという贅沢でしょう。masanobuimai ++ おかげで大分理解が進みました。まだ怪しいですが、とりあえずのとっかかりは掴めました。 ありがとうございました〜。 経緯 そもそもなんでJava環境について知りたかったのかというと・・ Scalaお勉強してると、まわりの環境色々にひっかかるわけです。web上からサンプル拾ってきて動かしたり、書き換えてみたりすると、LL言語ばっかやってる身としては、例えばビルドツールとか配備の仕方とかにひっかかります*1。 よくあるサンプルなんかはパッケージ切ったりしないで1ファイルだったりするので、scalacでコンパイルすればOKだったりするのですが、web上から参考になりそうなものとか探してくると、とたんにどこになにが置い

    Javaの環境まわりについてレクチャーしてもらった - 仙台 Ruby Vim JavaScript フリーランスプログラマ
  • Eclipse と Java 6u21 の問題

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Eclipse と Java 6u21 の問題
    t-tanaka
    t-tanaka 2010/08/05
    「Sun」の文字列の有無で場合分けをしているプログラムか・・・。私も過去に書いた記憶があるなあ・・・。
  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

  • GAE/Pythonテスト環境に欲しいもの - たごもりすメモ

    いまPython on GAEのテスト環境の貧弱さをなんとかするべく、あれこれやってる。とにかくテスト環境がショボいんだよね。 App Engine/Pythonはローカルのデータストアのstubの出来が良くないので、ローカルとプロダクションで動きが違うことが結構あり、ローカルでテストできることが限られてしまいます。Javaの方は、Statisticsの機能を除いては、ローカルとプロダクションの動きはほとんど同じです。stubレベルでは、ローカルでプロダクションと違う部分もあったりしますが、Slim3でおなじになるように実装してたりするので、ほとんど違いがないのです。 プロが仕事で使う場合にApp Engineでどの言語を選べばいいのか - ひがやすを blog ぐうの音も出ない! 事実だ! じゃ、プロならJavaを使った方がいいかというとそんなこともありません。好きで慣れている方を使った

    GAE/Pythonテスト環境に欲しいもの - たごもりすメモ
    t-tanaka
    t-tanaka 2010/04/27
    「リファクタリングのしやすさの問題というのは、詰まるところテストがきちんと書かれてるかって問題」違う。強く型付けされているかって問題。ソースの静的解析でメソッド・変数の素性を確定できることが必要。
  • あなたのJavaスキルを見せてくれ! 「Javaプログラミングコンテスト 2010 Spring」開催中

    Javaプログラミングのスキルを競い合うオンラインコンテスト「Javaプログラミングコンテスト 2010 Spring」がスタートした。実務に近い環境でプログラミングの実力を診断し、成績をもとにランキング。無料で参加でき、優勝者には賞金10万円を贈呈。腕に覚えのあるプログラマよ、来たれ! プログラミングコンテストは、キーエンスグループのログアスが開発したプログラミングスキル診断システム「スキルセンサ」を活用して実施する。 スキルセンサは、Javaなどのプログラミングスキルを短時間で診断できる業界初のツールだ。プログラミング課題を提示し、解答プログラムの作成過程を計測することで、受験者の品質能力や生産性能力を診断。実務で必要な「開発効率」を測定できるのが特長だ。 プログラミング課題は、できるだけ実務に近いプログラミング状況を意図して出題。スキルセンサは「よりシンプルなプログラム構造を、より早

    あなたのJavaスキルを見せてくれ! 「Javaプログラミングコンテスト 2010 Spring」開催中
  • Clojure入門

    The document shows code examples of printing "Hello" greetings in different programming languages like Common Lisp, Scheme, Clojure, Ruby, and using different approaches like functions, macros. It also demonstrates basic Clojure REPL usage, loading files, documentation lookup, source viewing, and different ways to read lines from a file in Clojure.

    Clojure入門
    t-tanaka
    t-tanaka 2010/03/29
    JVM上で稼動するLisp方言。
  • CodingBat Java

    Array-3 Harder array problems -- 2 loops, more complex logic

  • Song of Cloud: 送金のトランザクション処理パターン

    App Engineで現実的な送金処理について考え中です。 ドラフト版なので、怪しい点があればご指摘いただければ幸いです。 コメントで情報いただきました。 Distributed Transactions on App Engineで紹介されてる方法と基的に同じなので、おそらく問題なく動きそうです。ありがとうございました。 今回はこんな図を使います。 この図の読み方は、矢印の方向にユースケースの一連の処理(またはリクエストの処理)が流れていて、右に行くほど時間が経過しています。そして、矢印がくし刺しにしている四角形は、そのユースケース中で操作するエンティティを表しています。 また、左右の位置が同じ矢印は、基的には同じ時刻に発生したイベントを表しています。上記の図では、A, B, Cがそれぞれの口座エンティティを同時に操作している感じです。 並行性制御(おさらい) 最初の図のように、それ

    t-tanaka
    t-tanaka 2010/02/13
    Google App Engineにおける「送金のトランザクション」処理パターン
  • Javaバイトコードの読み方 - プログラマーの脳みそ

    Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh

    Javaバイトコードの読み方 - プログラマーの脳みそ
  • Java用デコンパイラー·JD MOONGIFT

    JDはJava製のフリーウェア。Javaはコンパイルする言語なので(コンパイルされるのは中間言語だが)、コンパイルされた内容は基的には見られない。だが以前の担当者が作ったプログラムを修正しないといけない時に元のコードがなくなっていたら惨事になってしまう。 Java向けのデコンパイルツール そんなときに役立つのがデコンパイラーだ。コンパイルの逆、コンパイルされたコードを元のソースに戻してくれるソフトウェアだ。使い方を誤ると問題になりかねないが、使い方によってはとても役立つ。その一つがJDだ。 JDはGUI版とEclipseのプラグイン版の二つが存在する。GUI版についてはWindows/Mac OSX/Linuxそれぞれ用に実行ファイルが提供されている。使い方は簡単で、ただコンパイル済みのjar/classファイルを開けば良いだけだ。 検索ウィンドウ コードはハイライト表示され、階層も分か

    Java用デコンパイラー·JD MOONGIFT
  • 総まとめ:Javaの将来的な後継者としての Scala

    あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

    総まとめ:Javaの将来的な後継者としての Scala
  • 全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記

    この記事は、http://d.hatena.ne.jp/higayasuo/20090612/1244772658 の「Ctrl+1とCtrl+Spaceうんぬん」の話にインスパイアされて書いた。Eclipse可愛いよ。Eclipse。 記事長いから、さくっと読み飛ばして、アニメーションgifがあるところから読んでも十分訳にたつと思う。 あと、新人さんとかに写経させるのもいいかも。というか、半分ぐらいうちの新人に勉強のためと思って書いたから。で、実際に写経させて役にたった。 Java は Eclipse などの IDE も含めて言語というか、環境というか…だと僕は思ってる。Commons, Maven なども含めたい(まぁ、そのあたりは、CPANも含めてperlだろ。とか、これは否定する人だらけだろうけど、Railsrubyということを言う人もいるよね)。 少なくとも僕は、Eclipse

    全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記
  • 各言語におけるtrue/falseまとめ - 昼メシ物語

    たとえば PHP で、 if ($hoge) { ... } とか書いてあったら、 $hoge がどんな値のときに if の中身が実行されるのか即答できますか。 こういう書き方は多くの言語で可能ですが、言語によって何が真で何が偽になるのかが異なるので、それぞれまとめてみました。 C言語 C言語には bool 型が無い。 0 (int) だけが偽となり、それ以外はすべて真となる。 NULL 定数は stddef.h で以下のように ((void*)0) と定義されているため、偽値として使える。 意見が分かれそうなところですが、個人的にはNULLを偽値として使用するは好きじゃないです。 #ifndef __cplsuplus #define NULL ((void*)0) #else #define NULL __null #endif C++ C++になると bool 型が出てくる。C と同

    各言語におけるtrue/falseまとめ - 昼メシ物語
    t-tanaka
    t-tanaka 2009/06/05
    コメントした。こういっちゃ何だが,Javaが一番すっきりしてるな。真偽値以外をif文に書けるほうが変。
  • 良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog

    Java並行処理プログラミングを読み終えた。ここ 1 年に読んだ技術書の中でダントツのベスト。(2位はWorking Effectively With Legacy Code) 「Javaだから関係ない」と思った人にこそ読んで欲しい。僕もここ数年 Java のコードなど一切書いていないが、このを読んで得たものは非常に大きかった。 このでは マルチスレッドプログラミングにおける問題と背景、その対処方法 Java が提供している API の設計と実装 を解説している。分かりやすさとレベルの高さを兼ね備えたとても良い。翻訳も最高。 僕はこのを読んで、Java の並行処理プログラミングは、想像を遙かに超えて進化している事に驚きを隠せなかった。何回も twitterJava すげーと叫んだ。 これを読んでしまうと、最近僕が熱心な Scheme も含めて、自分の身の回りにあるプログ

    良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog
    t-tanaka
    t-tanaka 2009/03/27
    そうそう。「volatile」の概念が言語レベルで備わっているのがJavaの大きなアドバンテージ。
  • [ThinkIT] 第1回:Javaはまだまだこれからだ! (1/3)

    皆さんこんにちは。連載を担当させていただきますチェンジビジョンの近藤と申します。 世間ではJavaはすでに成熟期に入ったというような位置づけで語られることが増えてきているようです。連載をお読みの方はどうお感じでしょうか。個人的な見解ですが、筆者はそうは思えません。 Javaには大きく分けて2つの側面があります。1つはプログラミング言語という側面です。静的なクラス構造を持ち、実行するためにはコンパイルが必要で、実行する前にプログラムの文法的な異常やクラス間のインターフェースのい違いを発見します。 しかし、Rubyなどコンパイルが不要なスクリプト言語では対話型のシェル(実行環境)が整えられるようになりました。シェルに対してプログラムを書いていくことで、文法的な部分やクラス間のインターフェースの異常をすぐに確認できます。しかも十分な速度で実行結果が返ってくるため、Java言語を使って実装し

    t-tanaka
    t-tanaka 2008/11/11
    「先取りJava SE 7!」の第1回。JSR 294 Superpackage,JSR 277 JAM,JSR 291 Dynamic Component(module)を紹介。
  • clazz.getAnnotation(Xxx.class)はキャストする必要がある? - ひがやすを技術ブログ

    パラメータとして渡しているその当のクラスにキャストするところが何か「変な感じ」がしたのがだが、戻り値は1つの型に固定される(戻り値のオーバーロードはないというコト)のでインターフェイスの Annotation でしかしょうがなく、受ける変数の型の方が勝手に対応してくれるハズもないので、プログラマが明示的に「キャスト」するしかない。 private String findTableNameFromModelAnnotation(Class clazz){ String foundTableName = ""; assert clazz.isAnnotationPresent(Table.class); Table annotaion = (Table)clazz.getAnnotation(Table.class); foundTableName = annotaion.name(); re

    clazz.getAnnotation(Xxx.class)はキャストする必要がある? - ひがやすを技術ブログ
    t-tanaka
    t-tanaka 2008/10/30
    そうかClass<T>はそう使うのか。
  • Java におけるコード進化パターン (Code Evolution Patterns in Java)

    Java におけるコード進化パターン (Code Evolution Patterns in Java) asato shimotaki <asatohan at gmail.com> 最終更新日 : 2009/6/21 (2004/4/22 より) [...] For twenty years, I spent two or three hours a day looking at pairs of things -- buildings, tiles, stones, windows, carpets, figures, carvings of flowers, paths, seats, funiture, streets, paintings, fountains, doorways, arches, friezes -- comparing them, and asking my

  • 銀行の言語事情 - novtan別館

    といってもグローバルに活躍するためのマルチリンガルな話ではありませんよ。 今やメガバンクになってしまいましたが、僕がIT業界に入ったときはまだ都銀と呼ばれていた某銀行でのお話。用語について一切説明せずに行ってみる。世代チェッカーかも。 ホスト系 今やメインフレームだからといってホストでもない時代ではありますが、都銀のシステムはトランザクション量やダウンタイムの問題からやっぱりメインフレーム、で、過去の遺産がありすぎてホスト型。 言語はCOBOLが中心ですが、コア部分に近づくとPL/Iだったりアセンブラだったりする。大事なスキルはJCLを書けること。まあ、JCL自体はシェルプログラミングと変わりません。VOL-=SELの指定とか面倒だけど。基的に端末のI/Fを想定しているから、SNAとかFNAとかで通信しなきゃいけなくて手続きはめんどくさい。メモリとかディスクの容量が少なかったときの設計を

    銀行の言語事情 - novtan別館
  • Javaでコンパイラの基礎を理解する

    そもそもコンパイラの中ってどうなっているの? Javaでコンパイラの基礎を理解する(1) 普段、なにげなく使っているコンパイラ。中身を理解すると、プログラミングへの意識が変わり、技術力もつきます! 開発者必見です