Shibuya.js beyond HTML5 で飛び入りで話してきた。以前にLTをやった関係で、スピーカー募集の通知があり、開催日前後が忙しくなりそうだったこと等々、諸事情により参加できない可能性があったため、発表はほとんど諦めていた。ところが、飛び入り発表もOKとの事だったので、当日はできるだけ早く会場入りし、2時間で資料を作って発表してきた。諸事情により一部のスライドを削除している。
Shibuya.js beyond HTML5 で飛び入りで話してきた。以前にLTをやった関係で、スピーカー募集の通知があり、開催日前後が忙しくなりそうだったこと等々、諸事情により参加できない可能性があったため、発表はほとんど諦めていた。ところが、飛び入り発表もOKとの事だったので、当日はできるだけ早く会場入りし、2時間で資料を作って発表してきた。諸事情により一部のスライドを削除している。
Javaは配列なら多次元を扱えるけど、ArrayListを使った場合は多次元を扱う方法がない模様。 定番のライブラリがありそうだけど自作してみた。 package com.kanasansoft.MultidimensionalArrayLists; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class MultidimensionalArrayLists<E>{ private static final long serialVersionUID=1L; private int[] indexes_=null; private E data_=null; private ArrayList<MultidimensionalArrayLists<E>> childre
MavenはJavaを使った開発の開発ライフサイクルを管理するツール。 プロジェクトで使用するライブラリをダウンロードしたり、ビルドやパッケージング、テストの実行やレポートの作成、デブロイ等を管理し、ほぼ自動化させる事ができる。 例えば、log4jを使いたいと思ったときには、次のようにMavenの設定ファイルに記述するだけで、プログラム内からlog4jを利用できるようになる。 <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </dependency> jar間の依存関係にも対応し、必要なjarがあれば一緒にダウンロードしてきてくれる。 これだけでMavenのパワーが伺い知れる。 しかし、これはMavenの機能の一部でしかない。 使用するjarだけでなくMaven自身の機能もプラグインによって拡張できる
LeopardにJava6のJDKを入れても、Java系のコマンドはJava5が実行されていた。 JyazoはJava6で導入された機能を使っており、本来ならJava5の環境ではコンパイルできないのだが、Eclipseが賢いのかMavenが賢いのかわからないが、ヨロシクやってくれていた。 しかし、Mavenのプラグイン、maven-release-pluginのrelease:prepareゴールを実行する必要が出てきた。 EclipseとMavenを連携させるm2eclipseというEclipseのプラグイン上で設定できれば良いのだが、設定方法がわからない。 terminal上から実行しようとしても、バージョンがあわないので怒られる。 仕方がないので、LeopardのJava環境がJava6にならないかと調べてみた。 細かい事は省いて重要な部分だけ。 % which java /usr/
当エントリーは多くの誤りを含んでいます。参考にされる場合は最後の追記部分まで含めて読まれるようにお願いします。 それなりに慣れているはずのプロのプログラマでも、このような勘違いや大失態をすることがあるという教訓として残すために、エントリーの削除や修正はせずに追記のみに留めておきます。 JavaScriptで、配列に要素を追加するメソッドに、push、unshift、splice、concatがある。このうち、配列の後方に要素を追加するのは、(要素を好きな場所に追加可能なspliceを除くと)pushとconcatの二つである。この二つのメソッドは破壊的/非破壊的の違いがあれ、似たような挙動を示す。
前エントリで、『JavaScript:The Good Parts 「良いパーツ」によるベストプラクティス』が万人向けでないことを書きました。 自分の実力を顧みず、この本のベストでない部分をつっこんでいこうと思います。ゴリアテどころかゴリアテの集団に挑んでいくような状態ですね。 さて、全エントリで書いた通り、この本は悪い本ではなく良本であり、読む人が読むと良い刺激になるに違いないと思っています。これを契機によりよいJavaScriptの書き方について論議が進むのではないかと期待しています。しかし、対象と思われる層が中級者以上で、初級者が読むと逆に悪本になりかねない部分を持っています。勘違いしそうな部分、気になった部分を中心に記述していきます。このため、否定的な内容は沢山出てきますが、上記のような前提ですので、書籍全体がこのような内容が散見されるわけではありません。そして、これを読んで本の内
このエントリーの後に問題は解決しbinaryを取得することができました。最後のほうにある「その2」を参照してください。 画像等のファイルのデータをBase64化したDataSchemeでなんとか取得できないかと試してみました。結論からいうと失敗です。ただ、もう少し調査するともしかするとできるようになるかもしれません。しかし、自分の現時点の知識では、これが限界かと思います。もしかすると、問題箇所を誰かが解決してくれるのかもしれないと淡い期待を持って公開します。また、提示するcodeは使い方によってはDoS攻撃と思われてしまうような挙動をします。詳細は後述しますが実行時は注意してください。 自分で開発しているようなサイトの場合、自分でJavaScriptからデータを取得する仕組みを実装すればいいのでここでは考えないことにします。サーバ上の静的なファイルのデータ取得をしたいのは、クロスサイトで実
IEでもFirebugについてくる処理時間計測用のProfileという機能が欲しくて作ってみた。 IE8からはFirebug相当のデバッグツールがついてくるのでいいけど、IE6,IE7あたりでは結構使えるかも。 他のBrowserでも使えるはず。 FirebugのProfileのように勝手に計測してくれるのではなく、計測部分にコードを埋め込まないといけないのはしかたがないと思って欲しい。 以下、ソースとその後に使い方。 /* ================================================================================ Name : profiler In : [none] Out : [none] Note : 処理時間を計測する ----------------------------------------------
prototype.jsを動的に読み込む「AutoLoadPrototype」というLibraryを作った。 ひとつ前のentryのPrototypeTesterで使用している。
(function(){ var addEvent= function(element,eventName,handler){ if(element.addEventListener){ element.addEventListener(eventName,handler,true); }else{ element.attachEvent("on"+eventName,handler); } } addEvent( window, "load", function(){ var getLength= function(str){ return str.length+str.replace(/[\x0-\xff]/g,"").length; } var sort= (function(getLength){ var _getLength=getLength; return function(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く