タグ

Javaに関するblueleのブックマーク (252)

  • 簡単なWebサーチエンジンの作り方 - Imagine with 加藤和彦

    筑波大学は3学期制で,12月1日から3学期が始まりました.3学期には私が担当している学類生(普通の大学の学部生)3年生向けの実験があります.約3ヶ月を掛けて,ほどほどの規模のプログラム作成を行います.私が作り,担当しているプログラム実験は「Webサーチエンジン」といいまして,テキストはこちらに公開しています. この実験,結構,自信作なんです.Javaの基的なプログラミングができることだけを仮定して,漏れのない全文検索を行うWebサーエンジンを作ります.Webデータ収集を自動的に行うクローラー付き.Googleのようなページランキング機能はありませんが,一応,サーチエンジンの基機能を備えます.自慢は,このテキストが実質A4で印刷して2ページくらいであること.数学の小問を解いていくように,順番に小問を解いていくと,最後にはWebサーチエンジンができます. ミソはサフィックス・アレイ(suf

    簡単なWebサーチエンジンの作り方 - Imagine with 加藤和彦
  • Java技術者がフロントにFlashを選択した理由とは? - @IT

    J2EE関連の最新トピックをわかりやすく解説 J2EE Watch [10] Java技術者がフロントにFlashを選択した理由とは? 聞き手・構成 スティルハウス 吉川和巳 2006/7/20 おそらくJavaエンジニアの多くが、HTMLベースのおなじみのWebアプリケーション開発の現場で、ある種の“カベ”に直面しているのではないだろうか。顧客のニーズを満たすために、 HTMLの制約と格闘する苦労。データベースとHTML間のバケツリレーに終始する中で生じる、「なぜPHPではなくJavaなのか」という疑問。こういったさまざまなカベがある。 そういった状況の中で、その回答として、UI に Flash を選択した人たちがいる。クラスメソッド株式会社 代表取締役 横田聡氏、株式会社電通国際情報サービス 事業推進部 開発技術推進センター Seasar2技術推進グループ 主任 公門和也氏、日電気

  • Javaのクラス宣言5種+α - プログラマーの脳みそ

    Javaのクラス宣言には5種類ある。 トップレベルクラス・ネストしたクラス・内部クラス・ローカル内部クラス・匿名クラス(無名クラスとも言われる)の5種類だ。 今回はこの5種類のクラス宣言のおさらい。 トップレベルクラス これは普段使っているクラス。拡張子が.javaのファイルを作り、そのファイル名とクラス名を合致させなくてはいけない。そのjavaファイルのトップレベルに位置する。 ネストしたクラス 「ネストしたクラス」(Nested class)とはクラスの中にクラスがネストしている状態。トップレベルクラスの内側にstaticキーワードをつけてクラス宣言を行う。 public class Outer { public static class Nested { } } このネストしたクラスは、トップレベルクラスと同等の機能性を持つ。 クラス名はOuter.Nestedという名前で扱われるが

    Javaのクラス宣言5種+α - プログラマーの脳みそ
    bluele
    bluele 2012/03/10
  • JPype - Java to Python integration

    Home Blog Documentation Roadmap PNI Download Sourceforge Project Links: Python Java Jython/JPython Similar Projects : JEP JPE Important Message Here. This template is free at www.r7designer.com! JPype is an effort to allow python programs full access to java class libraries. This is achieved not through re-implementing Python, as Jython/JPython has done, but rather through interfacing at the nativ

  • how to use boilerpipe with a local html file?

  • URLを引数に本文抽出を行うJavaライブラリ「Boilerplate」 | MOONGIFT | オープンソース・ソフトウェア紹介を中心としたITエンジニア/Webデザイナー向けブログ

    BoilerplateはURLを与えると文部分を抽出するライブラリ。 BoilerplateはJava製のオープンソース・ソフトウェア。Webサイトをクローリングしたり、そのサイト内にあるテキストを使って別なWebサービスを構築すると言った手法はよく存在する。そんな時に必要になるのが文抽出というテクニックだ。 デモ Webサイトには文以外にも多様なコンテンツが存在する。例えばヘッダー、サイドバー、フッター、広告などだ。そうした無用なコンテンツを除去し、必要な部分だけ取り出すためのライブラリがBoilerplateだ。 BoilerplateはURLを引数に、後は自動的にコンテンツを取得して文だけを返却してくれるという手軽なライブラリだ。Javaのライブラリなので、既存のJavaシステムに組み込むのはもちろん、Google App Engineを使ってWeb APIとしてコンテンツ抽

  • MacでHadoopスタンドアローンモード - kj-ki’s blog

    HadoopのMapperやReducerを自分で書こうとすると,ローカルマシン上でHadoopを動かしたくなります. Macなら最初からJVMも入ってるし,ソースを持ってくればそのままで動くか,と思ったらそうでもなかった. 何はともあれダウンロード Mac用のパッケージはなさそう(?)なので,TarBallをそのままダウンロードします. 今回はclouderaからゲット.(hadoop-0.20.2+737.tar.gzとかがそうです) JavaVM設定が必要 で,解凍した後にバージョン表示させようとしたら,さっそくコケました... $ bin/hadoop -version Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file at jav

    MacでHadoopスタンドアローンモード - kj-ki’s blog
  • HTTPサーバにJava NIOは必要か

    0x00. はじめに 筆者はJava製のWAF(Web Application Firewall)、Guardian@JUMPERZ.NETの開発とメンテナンスを行っている。元は自社のシステムを守るために(そして半分趣味で)作ったものだが、数年前にこれをコアのエンジンとしてさらに拡張し、SaaS型の商用サービス「Scutum(スキュータム)」を立ち上げた。 その後順調に顧客を獲得することができ、システムリソース的にも増強が必要となる段階などを経験した。Google、mixiやはてな等、さまざまな大規模サイトのインフラエンジニアの方々がインフラ設計に関する考え方などをインターネット上で公開してくれているおかげで、初期のシステム設計時に「将来的にスケールアウト可能なシステム構成にしておくこと」が重要であるということがわかっていた。その教えに従っていたおかげで、リソースの逼迫(ちなみに今回はCP

    HTTPサーバにJava NIOは必要か
  • 『オブジェクト指向講座 スタック領域とヒープ領域』

    令和からの働き方について 元「傲慢SE日記」で、しばらく放置していました。 2020年からはこれからの働き方などについて書いて行こうかと思います。 カテゴリーは手続き型言語になれている人がどうやったらオブジェクト指向を理解できるのかを考えて書いている記事です。 多少の言語知識があることを前提に進めます。 C#やJava等の言語では肝となる部分です。 この概念が分からないとガベージコレクションの概念が分かりません。 そして、この概念を持っているとオブジェクト指向の理解が早まります。 さて、スタック領域は皆さん知っているはずです。 特にC言語を使っている方はお手の物のはずです。 なぜなら、 普段使っている領域 ですから。 まぁ、順を追って一つずつ解決していきましょう。 まず。ポインタの概念からゆっくりと解決していきましょう。 int i = 0; この書式はint型のiを定義して0を入れてい

    『オブジェクト指向講座 スタック領域とヒープ領域』
    bluele
    bluele 2011/12/30
  • 遅延初期化には気をつけろ - かとじゅんの技術日誌

    フィールドの遅延初期化について勉強したので要約としてまとめておきます。 遅延初期化とは 遅延初期化とは、コンストラクタなどで事前にフィールドを初期化するのではなく、フィールドが利用される時に初期化することいいます。遅延初期化は諸刃の剣と呼ばれていて、必要がなければやらないというのが考え方らしい。 public class Fuga{ private Hoge hoge; public Hoge getHoge(){ if ( hoge == null ){ hoge = new Hoge(); // 遅延初期化している } return hoge; } } ただ、この場合だと複数のスレッドから呼び出されてしまうと、遅延初期化が循環してしまいます。(遅延初期化循環といいます)ではなく、複数のスレッドが割り込むと初期化が何度も行われてしまうということ。 追記:さらにいうとシングルトンは単一のイ

    遅延初期化には気をつけろ - かとじゅんの技術日誌
  • Pythonで変数の型をチェックする方法(Javaでいうinstanceofが使いたい)

    リスト、辞書、タプルのようなイテレータが使える型には__iter__属性がある ただし文字列には__iter__がない Javaでいうinstanceofがやりたいときは、組み込み関数isinstance(obj, type)を使う issubclass(obj, type)というのもある 基的にPythonではあまり変数の型を気にしないようなのですが、 それでもどうしても型チェックがやりたくなるときはあります。 引数が当にリストなのかどうかチェックしたりとか、引数をfor()文でループさせたいときとか。 そういった場合にPythonではどうすればいいのか調べてみました。 以下、すべてPython2.5.2で動作確認しています。 Javaでいうinstanceofに相当するPythonの組み込み関数はisinstance(obj, type)です。このメソッドを使えば、引数がリストか、

  • イベントモデルの概念と用語法が混乱しているので、イライライするんですが - 檜山正幸のキマイラ飼育記 (はてなBlog)

    [追記 dateTime="2007-12-07 夕刻"]あーっ、今ごろ気付いた。イライライって「イ」がひとつ多いや。タイトルを編集すると、なんか悪いことが起こったりしませんかね? うーん、いいや。typoしたままにしとこう。ちなみに、「イライライ」は回文になっているぞ。[/追記][追記 date = "2007-12-11"]http://d.hatena.ne.jp/keyword/%a5%a4%a5%e9%a5%a4%a5%e9%a5%a4 [/追記] いつか文句言ってやろうと思っていた件ですよ。長いぞ。 内容: 似てるけど少しずつ違うイベントモデル達 イベントターゲット イベントフロー EventTargetインターフェース イベントハンドラーとイベントリスナー リスナーとハンドラーについてもう少し イベント伝搬とハンドラー実行 イベントの通過または出現 イベントタイプ 「イベント

    イベントモデルの概念と用語法が混乱しているので、イライライするんですが - 檜山正幸のキマイラ飼育記 (はてなBlog)