タグ

technologyとjavaに関するtsupoのブックマーク (17)

  • Googleの開発者によるJavaVM向けの新言語「Noop」、公開 - SourceForge.JP Magazine

    Googleの開発者らが中心となって、Java仮想マシンで動く新しい言語「Noop」が、Google Code上で公開された。新・旧の開発言語の良い点をブレンドし、可読性の高いコードが書きやすい文法を備えているという。 Noopは、Googleの開発者を中心に有志が集まって開始したプロジェクト。当初、Java仮想マシンを対象とする。Google Codeのプロジェクトページでは、Spring、Guiceなどのコンテナがアプリケーション開発に大きなメリットをもたらしていること、Unit Testingなどの自動テストの重要性が高くなっていることなどから、言語レベルでこれらの特徴を備える必要がある、と開発の背景を説明している。 Javaに似たソースを持ち、言語レベルで依存性の設定やテストを言語レベルで統合する。最初からこれらの特徴を持たせることで、サードパーティのライブラリが不要になる。この

    Googleの開発者によるJavaVM向けの新言語「Noop」、公開 - SourceForge.JP Magazine
    tsupo
    tsupo 2009/09/21
    Javaに似たソース / 依存性の設定やテストを言語レベルで統合 / コードの読みやすさを重視し、デフォルトでの不変性、プロパティ、実行可能なドキュメンテーションなどの特徴 / Apache License 2.0
  • セキュリティ企業、最新版「Mac OS X」のJava脆弱性で警告--実証コードを公開

    Macintosh向けのセキュリティコンサルティングを手がける企業SecureMac.comは米国時間5月19日、Appleの「Mac OS X」のJavaにパッチ未対応のセキュリティ脆弱性があるとして、「重大」レベルの警告を発した。 この脆弱性を発見したというLandon Fuller氏によると、問題とされているJavaの脆弱性は、12日にリリースされたばかりのMac OS X最新版「Mac OS X 10.5.7」でも解決されていないという。そこでFuller氏は、このセキュリティホールのコンセプト実証コード公開に踏み切った。 この脆弱性は、SecureMacが「自動ダウンロード」と呼ぶ行為の実行に使われる恐れがある。これはウェブページを訪問するだけで、コンピュータを感染させてしまうものだ。Fuller氏はこの脆弱性により、悪意あるコードがその時点のユーザー権限で命令を実行可能になると

    セキュリティ企業、最新版「Mac OS X」のJava脆弱性で警告--実証コードを公開
    tsupo
    tsupo 2009/05/21
    問題とされているJavaの脆弱性は、12日にリリースされたばかりのMac OS X最新版「Mac OS X 10.5.7」でも解決されていない / この脆弱性の現時点での回避策としては、ユーザーが利用するブラウザでJavaアプレットの利用を無効にし
  • Javaの父:「Javaはレガシーか?」「その表現は妥当ではない」と反論

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 12月2日から4日にかけて行われた「Sun Tech Days 2008 in Tokyo」に合わせ、「Javaの生みの親」であり、Sun MicrosystemsのVice President and Sun Fellowを務めるJames Gosling氏が1年ぶりに来日した。 2日に行われた報道関係者向けのラウンドテーブルでは、JVMや動的言語、Java 7などについての音を語ってくれた。 同氏はクラウドコンピューティング――この用語は「おかしなバズワード」だと指摘しながらも――への活用を例に挙げた。 「ある企業では、JavaSpaceを利用してクラウドを構築するという試みを行っている。Javaを利用することで、クラウドの内側で

    Javaの父:「Javaはレガシーか?」「その表現は妥当ではない」と反論
    tsupo
    tsupo 2008/12/05
    Javaの次期バージョンとなるJava 7 → まるで Winows 7 に韻を合わせたようだ、みたいな感じ // Gosling といえば、Java の人というより、emacs の人、というイメージの方が強いなぁ
  • 2008-11-19 - きしだのはてな: マルチスレッド対応カウンタ

    Javaの++演算子はアトミックじゃない。つまり、++nは、n = n + 1と分解されたとき、nを読み込んだ後、1足した値をnに書き込む前に他のスレッドがnを変更していたら、すでに他のスレッドで行っていた変更が無効になる。 で、これはvolatileをつけてもだめ。 つまり、このプログラムの実行結果が20000にならない。 public class NonAtomicIncrement { static int count; public static void main(String[] args) throws InterruptedException{ Thread t = new Thread(){ @Override public void run(){ for(int i = 0; i < 10000; ++i){ ++count; } } }; t.start(); for

    2008-11-19 - きしだのはてな: マルチスレッド対応カウンタ
    tsupo
    tsupo 2008/11/19
    「Java2SE 5.0からはAtomicIntegerなるものが用意されているので、これを使うと便利」
  • Undo,Redoの実装って何十回もやってる気がする - あしあと日記

    undo,redoの実装って何十回もやってる気がする。毎回同じパターンだ。undo,redoが登場するような編集ソフトは大体同じパターンに落とせる。フレームワークも作った。ブログにそういう内容を書きたいが面倒くさい。需要があれば面倒でも書くんだけどなあ http://twitter.com/youpychan/status/994486992 という発言をしたら何人か反応を頂いたので書いてみることにする。 需要があるなら書こう。undo,redoだけじゃなくてグラフィカルな編集ソフト全般の話をいつかまとめたいと思っていたので、ちょいとシリーズで書いてみようかとおもう http://twitter.com/youpychan/status/994636764 書こうと思う。 まずUndo,Redoについて。 Unod,Redoってみなさんどういう風に実装しているでしょうか? 私はコマンドパタ

    Undo,Redoの実装って何十回もやってる気がする - あしあと日記
    tsupo
    tsupo 2008/11/10
    C#(というかクロージャ)を使うとさらに簡単になります / を使用してCommandクラスを定義します / クロージャの仕組みの便利さに改めて感心した一例でした
  • Strutsの諸問題を解決するWebフレームワークとは?

    Strutsの諸問題を解決するWebフレームワークとは?:オープンソースTERASOLUNAで作るWebアプリ(1)(1/3 ページ) 連載では、4回にわたってWebフレームワークの1つとしてオープンソース化された「TERASOLUNA Server Framework for Java」(以下、TERASOLUNAフレームワーク)を紹介します。 TERASOLUNAフレームワークが、いかにしてWebアプリケーションに特有のセッション管理や認証処理、トランザクション管理などの煩雑な処理を簡素化し、業務開発者が業務処理の実装に集中できる仕組みを提供しているかについて説明します。 しかしStrutsは、Webブラウザを介したアプリケーション開発に必要な基的な機能を備えているものの、「モジュールの独立性」「プログラムの可読性」「テスト容易性」といったところになると、各プロジェクトの業務開発者

    Strutsの諸問題を解決するWebフレームワークとは?
    tsupo
    tsupo 2008/10/07
    先日の .NET Framework 対応版の TERASOLUNA Server Framework に続き、今度は Java 対応版の宣伝
  • C++で演算子オーバーロードしたときの演算子決定基準について調べた - 矢野勉のはてな日記

    C++すみませんしょぼい話です。『ジョエル・オン・ソフトウェア』の下記記事で 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project C言語では i = j * 5 は j を5倍する以外の意味はないけども、C++の場合は、i = j * 5 が何を意味するかは i と j の型を調べ、型の定義を見て、型にサブクラスがないかどうかをチェックし、もしあったら、実際には i あるいは j がそのサブクラスの方だったりしないかどうかチェックして初めて、 i = j * 5 の意味がわかる、という話があります。この話をtwitterにぽろぽろ書いているうちに、自分がC++の演算子オーバーロードについて無知であることが分かったので実験コードを書いてました。 その実験コード書きながらもtwitterにぽろぽろ書いてたんですが、何度

    tsupo
    tsupo 2008/09/24
    明示的にコンストラクタを呼び出したい場合は CBase *base = new CBase(); と書けばいいし / virtual は油断すると、いろいろな罠にはまるので注意(メモリリークの原因になったり、予想外のメソッドが動いたり)
  • Windows版FUSE Dokan がオープンソースになったよ!! - yukobaのブログ

    English blog Dokan(Windows版FUSE) が、昨日、オープンソース(LGPL)になりました! http://decas-dev.net/2008/05/26/open-source-dokan-library-032-released/ FUSE とは、File system in User space の事で、通常はファイルシステムを作るには、カーネルモードで開発しなくてなならないのですが、ファイルシステムへのアクセスがあった際に、カーネルモードからユーザーモードにコールバックすることにより、ユーザーモードのアプリとして、ファイルシステムを作ることを可能にするライブラリのことです。FUSE があることにより、ファイルシステムの作成は劇的に楽になります。 LinuxMacOSX の FUSE はあるのですが、Windows 版の FUSE はオープンソース版が

    Windows版FUSE Dokan がオープンソースになったよ!! - yukobaのブログ
    tsupo
    tsupo 2008/06/02
    Flickr をファイルシステムとして読めるようにしました → これが Windows でもできるようになったのはうれしい
  • パフォーマンス大幅向上の「JRuby 1.1」リリース - @IT

    2008/04/08 JRubyコミュニティは米国時間の4月5日、「JRuby」の最新バージョン「JRuby 1.1」をリリースした。 JRubyはJavaによるRuby実装で、オープンソースで提供されている。これにより、JavaVM上でRubyを実行させることができる。 バージョン1.1は、2007年1.0以来となる2度目のメジャーリリースという位置付けで、パフォーマンスが大幅に改善された。Rubyのバージョン1.8.6を上回るパフォーマンスが実現できているという。また、性能を大幅に高めたRuby 1.9と比較しても、一部のベンチマークでそれを上回るとしている。 また、数千に上る互換性問題の修正やメモリ消費の改善に加え、AOT(Ahead Of Time)およびJITJust In Time)両モードでRubyJavaバイトコードにコンパイルする機能が加わった。また、正規表現ライ

    tsupo
    tsupo 2008/04/09
    AOT(Ahead Of Time)およびJIT(Just In Time)両モードでRubyをJavaバイトコードにコンパイルする機能が加わった / 正規表現ライブラリ「鬼車」をJavaにポーティングするなどして、処理の高速化を実現
  • *「ふっかつのじゅもんがちがいます。」 Javaにvariant型を実装した

    最近Hadoopを使うために5~6年ぶりにJavaをいじっています。 そんで、ちょっとばかり耐えがたいわけです。 例えばありがちな例題を挙げると、 ["google", "検索エンジン","開発"]のようなタグ(文字列)のリスト(でも配列でもなんでもいい)を受け取って [ {tag=>"google", enc=>"google"}, {tag=>"検索エンジン", enc=>"%E6%A4%9C%E7%B4%A2%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3"}, {tag=>"開発", enc=>"%E9%96%8B%E7%99%BA"} ] のようなハッシュテーブルのリストに変換しなさい。 ただしパーセントエンコーディングを行う関数(でもメソッドでもなんでもいい) uri_encodingは与えられているものとする。 こんなこと、Web

    tsupo
    tsupo 2008/03/17
    5〜6年ぶりにJavaをいじっています / Javaのリハビリとしてバリアント型を作ってみました / もうJavaソースには見えません / JavaでhackするというよりJavaをFxxkしてる気分になりました → 何かの伏線かな
  • jLHA

    jLHA -LHA for Java- 概要 Java で動作する LHA の互換アーカイバです。 動作環境 JRE 1.1 以降が必要です。 HotSpot performance engine もしくは JIT compiler の使用を推奨します。 ライセンス Copyright (C) 2002 Michel Ishizuka All rights reserved. 以下の条件に同意するならばソースとバイナリ形式の再配布と使用を 変更の有無にかかわらず許可する。 1.ソースコードの再配布において著作権表示と この条件のリスト および下記の声明文を保持しなくてはならない。 2.バイナリ形式の再配布において著作権表示と この条件のリスト および下記の声明文を使用説明書もしくは その他の配布物内に 含む資料に記述しなければならない。 このソフトウェアは

    tsupo
    tsupo 2007/11/27
    Java で書かれた lzh 形式のアーカイブファイルを扱うアーカイバ。圧縮・展開用のライブラリ部分だけを抽出したのが http://homepage1.nifty.com/dangan/Content/Program/Java/jLHA/LhaLibrary.html にある
  • Google、Java用DIフレームワーク「Guice」をオープンソースとしてリリース:CodeZine

    Googleは、社内で利用していたJava用DIフレームワーク「Guice」をオープンソースとしてリリースした。Google Codeよりダウンロードできる。 「Guice 1.0」(「ジュース」と読む)は、Dependency Injection(依存性注入)のフレームワークで、Java5をベースに開発がされていた。Guice 1.0は、静的メンバの依存性注入やカスタムスコープといった機能を盛り込んでいる。 同じDIコンテナというと「Spring」があるが、GuiceはDIに特化したつくりになっているためSpringとは競合しないという。その一方で統合手段も用意されており、AOP Allianceインターセプターにも対応している。 Guice 1.0は、Bob Lee氏によって開発が進められていた。Wikiによると、その開発目的はGoogleの中でも特に巨大なアプリケーション「Ad

    tsupo
    tsupo 2007/03/13
    「Guice 1.0」(「ジュース」と読む)は、Dependency Injection(依存性注入)のフレームワーク / 静的メンバの依存性注入やカスタムスコープといった機能 / 「AdWords」で使われる
  • 第1回 JavaScriptレスでAjax開発!

    日経クロステック登録会員になると… ・新着が分かるメールマガジンが届く ・キーワード登録、連載フォローが便利 さらに、有料会員に申し込むとすべての記事が読み放題に! 【キャンペーン】8/7(木)まで >>詳しくは

    第1回 JavaScriptレスでAjax開発!
    tsupo
    tsupo 2006/12/05
    Ajax開発には,JavaScript,DHTML,CSS,XML,XSLT,DOM…といったスキルセットが必要とされ,その敷居は低いとは言い難い / JavaScriptはWeb開発経験のある技術者間でもスキル格差が激しい言語
  • Rubyの生産性の高さはどこまで本当か? - 分裂勘違い君劇場 by ふろむだ

    もの人がブックマークしているこの「Ruby仕事に使うべし!」という記事で書かれているRubyの優れた特徴は、実際のところ、どの部分が、どこまで当なのでしょうか? 少し検証してみたいと思います。 「Rubyがスゴイ」とされる点のどれがホントでどれがウソ? 「Ruby仕事に使うべし」では、まず、Rubyの特徴として、 (1)いろんな言語のいいとこ取り (2)構文が強力 (3)楽しくプログラミング (4)問題が起こりにくいように設計されている という点を冒頭で掲げています。 まず、これらをどのように検証すればよいか、考えてみます。 まず、(1)のいいとこ取りについては、いいとこ取りをし続けながらいつも進化しているのは、最近の言語はみんなそうで、それはRuby独自の特徴でもなんでもありません。 たとえば、C#は、その典型で、VM、自動メモリ管理、パッケージによる名前空間管理、マルチスレッド、

    Rubyの生産性の高さはどこまで本当か? - 分裂勘違い君劇場 by ふろむだ
  • 不正なXML/HTMLもパース可能 - ShaniXmlParser | エンタープライズ | マイコミジャーナル

    The ShaniXmlParser projectは8日(米国時間)、ShaniXmlParserの最新版となるShaniXmlParser version 1.4を公開した。ShaniXmlParserはJavaで開発されたXML/HTML DOM/SAXパーサ。不正なフォーマットであってもパースできる点に特徴がある。 ShaniXmlParserはGNU GENERAL PUBLIC LICENSE Version 2のもとで公開されているオープンソースソフトウェア。ShaniXmlParser 1.4における主な変更点は次のとおり。 メモリ使用の改善 SoftReferenceキャッシュに関するドキュメントを削除 DOM 3 Core Test Validation suite試験パス数: 649(722のうち) DOM 2 Core Test Validation suite試験

    tsupo
    tsupo 2006/07/12
    検証されたXMLやXHTMLをパースできるパーサは存在するが、不正なフォーマットの状態のXMLやXHTMLをパースできる点がShaniXmlParserにおける最大の特徴
  • DIをスクリプト言語で実装する:CodeZine

    JavaScriptJava SE 6)を用いた実装 JavaScriptで定義したオブジェクトをJSR223で定義されているAPIを用いてJavaのコード側で取得し実行します。実行クラスの作成 「di.js」ファイルにTestContainerインターフェイスを実装した定義が記述されているものとして実行クラスを作成します。 import java.io.*; import javax.script.*; public class AppMainJs { public static void main(String[] args) { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByExtension("js"); try {

    tsupo
    tsupo 2006/05/29
    現時点では実用性の判断は困難ですが、アノテーションやCoC(Convention over Configuration)を用いたDI定義の削減とは別のアプローチとして、こういう方法もあり/JSR223の活用手段を考える上でも有効な発想
  • プログラミングと開発者のためのCodeZine:DIをスクリプト言語で実装する(Java, DIコンテナ, スクリプト)

    はじめに DIコンテナのオブジェクト依存性の注入定義には、XMLベースの設定ファイルを用いることが主流ですが、「ツール無しでは視認性が悪い」「記述が面倒」といった使いにくさから、あまり手軽ではないと感じる時があります。 そこで、「変更容易な外部ファイルでDIの定義を行う」という前提で、もっと手軽に使える手段としてスクリプト言語を利用する事を考えてみました。 実装手段として、Java SEの次期バージョンJava SE 6で採用予定のJSR223(Scripting for the Java Platform)仕様を用いた場合と、現J2SE 5.0で実現する場合の2通りを考える事とし、以下のスクリプト言語を採用しました。JavaScriptJava SE 6環境)Groovy(J2SE 5.0環境) 必要な環境Java SE 6  もしくはJ2SE 5.0Groovy 1.0 jsr05

    tsupo
    tsupo 2006/05/29
    実装手段として、Java SEの次期バージョンJava SE 6で採用予定のJSR223(Scripting for the Java Platform)仕様を用いた場合と、現J2SE 5.0で実現する場合の2通りを考える/JavaScriptとGroovyを採用
  • 1