Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

programming

MacでIntelliJ IDEAを使うと、optionキーを含んだショートカットが効かない/特殊文字が出る場合

いつのバージョンから発生していたのか、気づけばIntelliJ IDEAでoptionキーを含んだショートカットを使うと、動作しなかったり、特殊文字が入力されるようになりました。 具体的には、次のようなものです。 キーマップでは、option + shift + Gでクラスをナ…

SIGのスポンサーになって、プログラミングの英語論文を読みまくろう!

半年ほど前からプログラミング関連の英語論文を読み始めたことを書きました。 www.sakatakoichi.com 今もメインの読み物として、こうした論文やプレプリントを読んでいます。もちろん書いてあることをすべて理解しているわけではありません。ただ、学びとな…

InfoQ翻訳記事からのJavaニュースレター vol.2: モナドに迷える者への手引

InfoQ.comの公式翻訳者として主にJava関連の記事を翻訳しています。 最近モナドについての記事を翻訳しました。 www.infoq.com 今まで翻訳した記事の中で一番長く(普段はニュースを翻訳していますが、これはArticleなので段違いに長くなります)、英単語数…

オレオレJVM言語を作ろう! How to create a new JVM language #Graal #Truffle

DevoxxUSに参加した際、とてもおもしろかったセッションがありました。Oleg Šelajevの"How to create a new JVM language"というセッションです。 www.youtube.com OlegはvJUG(virtual JUG: オンライン上の仮想Java User Group)のOrganiser、JRebelやXRebe…

Project Lambdaの変更差分をまとめてみる

関ジャバでさくらばさんにProject Lambdaの最新情報について話していただけました。 僕も以前調べていました。 Java SE 8に導入されるのは、ほんとにクロージャ!? - Fight the Future http://jyukutyo.hatenablog.com/entry/20111121/1321891230 この頃か…

jQuery Mobile 1.0 + jQuery 1.7.1だとIE6-9すべてでスクリプトエラーが発生する(解決編)

jQuery Mobile 1.0 + jQuery 1.7.1だとIE6-9すべてでスクリプトエラーが発生する http://d.hatena.ne.jp/jyukutyo/20120111/1326373079ということがあったのですが。 RC2の段階でこういうバグがあったようです。#2965: JQuery Mobile 1.0RC2 is currently in…

jQuery Mobile 1.0 + jQuery 1.7.1だとIE6-9すべてでスクリプトエラーが発生する

IE爆発しる「フォーカスをコントロールに移動できません」というエラーが発生する。 解決方法を調査中。

Java SE 8に導入されるのは、ほんとにクロージャ!?

Javaプログラマが悩むラムダとクロージャと匿名関数と - Fight the Future じゅくのblog http://d.hatena.ne.jp/jyukutyo/20111117/1321587651 の続き。 セットアップ ラムダ式の使えるJava SE 8のアーリービルドは、ここからダウンロードできます。 Java Pl…

Javaプログラマが悩むラムダとクロージャと匿名関数と

僕は、Javaでプログラミングを始めて8年以上になります。 ここ数年、RubyやScalaを少しずつ学んでいます。 やっと、さっとWebアプリケーションを作るのに、 Ruby(Sinatra)で作れるようになってきました。 Ruby、Scalaと進んでいくと、 Javaになかった概念が…

大事なことだから2回言うけど、ソースコードのコメントは書けばいいものじゃない

僕は他人のソースコードを批評するほど、すごいプログラマでも何でもない、 ただの初級プログラマだけど、これだけは言える。 ソースコードに、こういうコメントは一切必要ない。絶対必要ない。 public void connectToAndQueryDatabase(String username, Str…

eclipseのEmacs+に追加する設定

Delete Previous Ctrl + H Editing Text Open Search Dialog をUnbind Commandする。 Ctrl + H, *系のコマンドをすべてUnbind Commandする。 Maximize Active View or EditorをCtrl + MからCtrl + Shift + Mに変更する(Ctrl + Mの改行が効くようになる)

eclipseのWTPでPublishingせずにHot Reloadingさせる

参考にさせていただいたサイト WTPで毎回ワーキングフォルダをPublishingしにいってほしくない設定 - yummy-yummy http://d.hatena.ne.jp/uriyuri/20080328/1206694040 Serversに設定してあるTomcatの設定を変更 Over viewタブ設定 Server OptionsのServer m…

MyBatis Generatorで出力するクラスをカスタマイズする

Generator - mybatis - An introduction to the code generation tool for MyBatis - SQL Mapping Framework for Java - Google Project Hosting http://code.google.com/p/mybatis/wiki/Generator MyBatis(旧iBatis)には、ジェネレータがあって、DBのスキー…

発行したSQLのログを取るp6spyを設定し、ログのフォーマットを設定する

p6spyのバージョンは1.3。 Mavenで設定する場合は、次のとおり。 <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>1.3</version> </dependency> 1.3ではロガーにバグがあるらしく、フォーマットやカテゴリを指定しても、その設定でログ出力されない。 なので、ロガーを作成する。 import java.text.DecimalFormat; imp…

JSF 2.0で、ファイルアップロードのコンポーネントを作成し、SpringのMultipartFileオブジェクトとして扱う

参考にさせていただいたサイト The BalusC Code: Uploading files with JSF 2.0 and Servlet 3.0 http://balusc.blogspot.com/2009/12/uploading-files-with-jsf-20-and-servlet.html JSFにはファイルアップロードコンポーネントがないらしい。 CommonsのFil…

Mavenで本番用と開発用の設定ファイルを分ける

pom.xmlでプロファイルを定義する。 <profile> <id> prod </id> <build> <plugins> <plugin> <groupid> org.apache.maven.plugins </groupid> <artifactid> maven-war-plugin </artifactid> <configuration> <webresources> <resource> <directory> src/production/webapp </directory> </resource> <resource> <directory> src/main/web…</directory></resource></webresources></configuration></plugin></plugins></build></profile>

Commons4E updatesite

Commons4E updatesite http://commons4e.berlios.de/updatesite31/

Mavenで動作させたJettyにEclipseからデバッグする

Debugging with the Maven Jetty Plugin inside Eclipse - Jetty - Codehaus http://docs.codehaus.org/display/JETTY/Debugging+with+the+Maven+Jetty+Plugin+inside+Eclipse

JavaScriptで半角英数全角英数変換

参考にさせていただいたサイト JavaScriptで全角英数と半角英数の相互変換 - Rewish@hatena http://d.hatena.ne.jp/Rewish/20100427/1272296260 // 半角にしたい str.replace(/[A-Za-z0-9]/g, function(s) { return String.fromCharCode(s.charCodeAt(…

Rubyで暗号化ZipするときはZip/Ruby

Zip/Ruby - Ruby bindings for libzip. http://zipruby.rubyforge.org/ $ gem install zipruby -p http://プロキシ:ポート

jQueryの無名関数の組み立て方

ときどきわからなくなる。こちらのサイトが丁寧に説明してくださってます。jQueryの無名関数の組み立て方 ≪ kwLog http://blog.makotokw.com/2010/02/17/jquery%E3%81%AE%E7%84%A1%E5%90%8D%E9%96%A2%E6%95%B0%E3%81%AE%E7%B5%84%E3%81%BF%E7%AB%8B%E3%81%A6…

jQueryでBlink

参考にさせていただいたサイト jQuery Blink Plugin | www.antiyes.com http://www.antiyes.com/jquery-blink-plugin (function($){ $.fn.blink = function(options){ var defaults = { delay: 500 }; var options = $.extend(defaults, options); return th…

サクラエディタでnative2ascii

サクラエディタ用 native2ascii マクロ(管理人日記) - むぅもぉ.jp http://muumoo.jp/news/2006/06/05/0sakuranative2ascii.html

Jetty 7を組み込みで動作させる

参考にさせていただいたサイト Jetty/Tutorial/Embedding Jetty - Eclipsepedia http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty main()からJettyを起動 - ねこだいすき http://d.hatena.ne.jp/tubureteru/20100829/p1 pom.xmlには、 <dependency> <groupId>org.eclipse.</groupid></dependency>…

MavenでJetty 7を設定する

Jetty 7からeclipseのプロジェクトになったので、細かい設定がJetty 6までと異なってる。 http://mvnrepository.com/artifact/org.mortbay.jetty/jetty-maven-plugin <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.26</version> </plugin> eclipseのプロジェクトとなったバージョ…

Jetty 7で動作するHudsonのような実行可能なWARを作成する(Gradleも使う)

参考にさせていただいたサイト Executable WARs with Jetty ≪ EclipseSource Blog http://eclipsesource.com/blogs/2009/10/02/executable-wars-with-jetty/ これをGradleで実行するコードがGitHubで配布されてる。 https://github.com/xlson/standalone-war…

jQueryでローカルのJSONファイルを読み込む

参考にさせていただいたサイト ローカルファイルの読み込み - awacio.log http://d.hatena.ne.jp/awacio/20100220/1266625934 jQuery.get()でOK。 $.get("config.json", function(data){ var hoge = $.parseJSON(data); }); $.getJSON("config.json", functi…

Javaで「Access restriction」と出たときの対処

Description Resource Path Location Type Access restriction: The method xxx from the type xxx is not accessible due to restriction on required library xxx\Java\lib\rt.jar xxx.java /xxx line xxx Java Problem と出たとき。参考にさせていただい…

Maven2,3でのプロキシ設定

C:\Documents and Settings\ユーザ名\.m2 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <proxies> <proxy> <active>true</active> </proxy></proxies></settings>

Javaで1文字ずつ文字種を判定する

UnicodeBlock.of('あ') == UnicodeBlock.HIRAGANA またはUnicode表の範囲で判定してもいい。