Fight the Future

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

2010-01-01から1年間の記事一覧

Javascriptでbit.lyを使った短縮URLを取得する

bit.lyでサインアップし、APIキーを取得しておく。jQueryプラグイン「jq-shorten」を使用する。 jQueryとこのshoten.jsを使用する。 以下のようなスクリプトを記述する。 $("a").shorten({login: 'xxx', apikey: 'R_xxxxxxxxxxxxxxxxxxxxxxxx'}); これで短縮…

Twitterへのtweetボタンを実装する

「http://twitter.com/home?status=xxx」のxxx部分がtweetのテキストボックスにセットされるので、画像リンクなどのURLに設定しておくだけ。xxxはURLエンコーディングする必要がある。 <a id="tweet" href="http://twitter.com/home?status=" + encodeURI('テスト http://example.com')" target="_blank"></a>

スクリプトでユーザーのブックマークを登録する(IE、Firefoxのみ)

IEはwindow.external.AddFavorite()、Firefoxはwindow.sidebar.addPanel()を呼び出す。 function addBookmark(title,url) { if (window.sidebar) { window.sidebar.addPanel(title, url, ""); } else if(document.all) { window.external.AddFavorite(url, t…

画像のタイトルをかぶせる

<div id="test"> <img src="test.jpeg"> <span>説明</span> </div> #test span { background-color:#111111; border-left:1px solid #999999; border-top:1px solid #999999; bottom:0; color:#FFFFFF; font-size:120%; font-style:normal; left:0; margin-bottom:1px; opacity:0.7; padding:5px; position:absolute;…

SubversionからチェックアウトしてSCPでWARファイルをデプロイする

#!/bin/sh mkdir ~/xxx svn checkout --username xxxxx --password xxx http://subversion/svn/something/trunk/xxx ~/xxx cd ~/xxx mvn clean package scp ~/xxx/target/xxx.war xxxxx@xxx.xxx.xxx.xxx:/usr/share/tomcat6/webapps/

Google AnalyticsのデータをJavaで取得する

// Service Object to work with the Google Analytics Data Export API. AnalyticsService analyticsService = new AnalyticsService("gaExportAPI_acctSample_v2.0"); // ClientLogin Authorization. analyticsService.setUserCredentials(userName, passw…

次回関ジャバは8月下旬〜9月にします!

次回関ジャバは、主催者陣(基本僕)の都合のため、8月下旬〜9月に開催します!基本2ヶ月に一度の開催予定のため、ほんとならそろそろなんですが、新婚旅行(×2)、締め切りと立て込んでしまいまして…楽しみにしてた方、ごめんなさい。

MySQLのMacクライアントはNavicat Liteがわりといい

Navicat - Download Center - Download the World's Best Oracle Manager, MySQL Front End, SQLite GUI Frontend, SQL Azure & PostgreSQL GUI for Windows, Mac OS X & Linux - Download Now! Support Access to MySQL, Excel to MySQL, MySQL editor, MyS…

iPad/iPhoneのSafariにおけるiFrameの扱い

どうやら、iPadのmobile Safariでは、iFrameを2本指スクロールさせることができないらしい。もちろん、Appleだからスクロールバーも出せない。

IEのみにCSSを適用するCSSハック(ただのバッドノウハウ)

body { /* applied only IE6 */ _line-height:130%; /* applied IE6 and IE7 */ >line-height:130%; /* applied only IE8 */ line-height /*\**/: 130%\9; } 有名なスターハックのほか、「>」でのハック、IE8では「/*\**/」と「\9」を使う。「\9」がないとWe…

iPadなどのmobile safariでは、labelタグのfor属性で指定したチェックボックスにチェックできない

ので、labelにclickイベントをバインドする。こちらのblogで、きれいに作って公開してくれてます。 $(‘label’).each(function(i, l){ l = $(l); l.bind(‘click’, function(){ var t = $(‘input[id=' + l.attr('for') + ']‘); t.checked = t.checked ? false …

MySQLの接続許可ユーザーを取得するSQL

select user,host,password from mysql.user; +--------+---------------+------------------+ | user | host | password | +--------+---------------+------------------+ | xxxxxx | 192.168.0.% | xxxxxxxxxxxxxxxx | +--------+---------------+-------…

QuartzはWARに含んだJARファイルとコンテナのlibディレクトリにあるJARファイルのバージョン違いでClassNotFoundExceptionが発生

java.lang.ClassNotFoundException: org.quartz.JobDetailQuartzでスケジューリングしようとしたんだけど、上記例外が発生した。もちろん、libディレクトリにQuartzのJARはあるから、ライブラリのバージョンを上げてみたりしたんだけど、例外が発生したまま…

FancyBox 1.3.1でiframeを使うと、Firefoxだけ2回同一リクエストが送られる

ふと見つけてしまった。既知のバグのようで、「fancybox request twice」でググると見事にヒット。 fancybox makes multiple request on iframe is used ? - fancybox | Google Groups 現行バージョンの1.3.1で発生しているので、次のバージョンがリリースさ…

CentOSにMySQLをyumでインストールするまとめ

// デフォルトで入っているMySQLをアンイストールする $ sudo remove mysql // 以下を追記する $ sudo vi /etc/my.cnf [client] default-character-set=utf8 [mysqld] default-character-set = utf8 skip-character-set-client-handshake character-set-serv…

Apacheのmod_rewriteでトップページへのアクセスをリダイレクトする

httpd.confに記述する。 <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^/$ /xxx.html RewriteRule ^/zzz.html$ /index.html </IfModule>

Pleskで管理しているサーバーのhttpd.confを書き換える

普通にhttpd.confを書き換えても有効にならない。/etc/httpd/conf.d/zzxxx_xxx_httpd.confみたいなファイルに次のような記述がある。 Include /var/www/vhosts/xxx/conf/httpd.includeなので、このファイルを書き換える。

MySQLで結合した結果をdeleteする

delete from table_a using table_a left outer join table_b on table_a.id = table_b.id where table_a.name = 'aaa' from句に指定したテーブルを削除する。カンマ区切りで複数のテーブルを指定できる。using以降に結合を指定する。もちろん、SQL標準では…

HTMLでチェックボックスやラジオボタンのラベル

<input type="checkbox" id="test"/><label for="test">TEST</label> label要素のfor属性にチェックボックスのIDを指定する。

jQueryでチェックボックスにイベントを登録する

$("input:checkbox").change(function() { var isChecked = $(this).attr("checked"); }); 「input:checkbox」がすべてのチェックボックスを取得するセレクタ。

MySQLでは256バイト以上のVARCHARはTEXTになる

タイトルまま。

MySQLで大きなBLOBを扱うときはmax_allowed_packetを設定する

my.cnf [mysqld] max_allowed_packet=16MMySQLを再起動する。 mysql> show variables like 'max_allowed_packet'; +--------------------+----------+ | Variable_name | Value | +--------------------+----------+ | max_allowed_packet | 16777216 | +---…

Servlet(Spring MVC) + JSP + jQueryでTwitterライクなmoreボタンを実装する

ひとまず初期表示する。DAOでは10件など固定の件数を取得する。このサンプルでは、IDの順番に表示していく。 @RequestMapping(method = { RequestMethod.GET }) public ModelAndView index(@RequestParam(defaultValue = "0") Long Id) { // limit 10などのS…

MySQLで連番を振る

MySQLにrownum()みたいなものはないので、変数を使う。まあ本来リレーショナルデータベースは集合の世界なんで、順序なんてつけたらダメだけど、混沌とした僕らのシステム開発では、必要悪なんだろうか。とか思う。 select emp.emp_no, @i:=@i+1 as rownum f…

Seasar3開発開始!

びっくりしました。Seasarはメンテナンスだけだと思っていたので。。。個人的には、楽しみですね。どんなものになるんでしょう?パッと想像はつかないですね。 Springのこのところの動きは驚弾炸裂って感じで、僕も、このままだと日本であってもSpringのシェ…

JavaScript(jQuery)で指定した要素だけを印刷する

Ask Ben: Print Part Of A Web Page With jQueryを参考にしました。上記サイトで公開されてるコード。 //Create a jquery plugin that prints the given element. jQuery.fn.print = function(){ // NOTE: We are trimming the jQuery collection down to th…

JavaScript(jQuery)でオーバーレイした画面を表示する

画面にレイヤーをかぶせて子画面を表示するような、よくある作りを実装する。jQueryを使うけど、プラグインとしてFancyBoxを使うと楽にできた。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="http://www.google.com/jsapi"></script> <script> google.load("jquery", "1.4.2"); </script> </meta></head></html>

iBatisのSQLをログ出力する

log4j.xmlをつぎのようにする。 <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> </layout></appender></log4j:configuration>

iBatisでの動的SQL

こんな感じ。 <select id="selectWithoutBLOBs" resultMap="ibatorgenerated_BaseResultMap" parameterClass="xxx.Xxx" > select id, xxx, xxx from xxx <dynamic prepend="where"> <isNotNull prepend="and" property="xxx"> xxx = #xxx:INTEGER# </isNotNull> <isNotNull prepend="and" property="xxx"> xxx = #xxx:INTEGER# </isnotnull></dynamic></select>

JSTLでの通貨フォーマット

<fmt:formatNumber type="CURRENCY" value="${xxx.xxx}" />currency="JPY"とすると「JPY 4,000」とか出てしまうので注意。</fmt:formatnumber>