サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Switch 2
k-hiura.cocolog-nifty.com
正規表現の落とし穴をJavaのString#replaceAll()の実働サンプルで解説します。 ^は行頭ではない $は行末ではない 開始終了条件が有る場合*?(0個最短一致)を使う 始終了条件が無い場合は+(1個以上最長一致) 開始条件のみの場合は*(0個以上最長一致)) 終了のみの場合は*?(0個以上最短一致) 確実な終端定義;[文字コードのセット]など 複数行一致は[\S\s]*? 前置式 肯定(?<=...) 否定(?<!...) 後置式 肯定(?=...) 否定(?!...) 前置式+後置式(単語のマッチなど) グループ参照、番号および名前 *の落とし穴 サンプルは regexSample.zip に置きました。 まあ、String#replaceAllは使わない方がよい。というだけかも。 ^は行頭ではない 正規表現で^は「データ(処理単位)の先端」であって行の先端ではありません
JavaでHTTP/HTTPSクライアント・サンプルプログラム HttpURLConnectionクラスを使えばHTTPクライアント、HTTPSクライアントを 差を意識することなく作成することができます。 接続先はurl形式(protocol://host:port/path?query)形式で与えます。 引数で指定されるアドレスにXML内容のPOSTを出すコードを以下に載せます。 落とし穴となる文字コードの指定を送信、受信とも行っています。 import java.io.*; import java.net.*; import java.util.*; public class HttpClieTst{ public static void main(String[]args_){ String content="<?xml version=\"1.0\" encoding=\"UTF-
BACIC認証設定法 tomcatでのBASIC認証によるログイン設定に関するメモです。 次の2つのファイルに記述を追加します。アプリケーションには一切手を入れる必要はありません。 $CATALINA_HOME/webapps/アプリ/WEB-INF/web.xml このアプリが認証を使うという指定を追加 $CATALINA_HOME/conf/tomcat-users.xml ユーザとパスワード指定を追加 $CATALINA_HOMEはTomcatをインストールしたディレクトリで、例えば C:\Program Files\Apache Software Foundation\Tomcat 6.0 などです。 アプリはそれぞれのWEBアプリのディレクトリです。 単にログインを確認するだけのindex.htmlを使ったBASIC認証動作確認の説明をします。 ==== $CATALINA_HO
CSS3によるwidthは行連結(colspan)で破綻する HTML5のcss3でのカラム情報設定は colspanに対応しないため、デタラメなものとなってしまいます。 遊びならHTML5-css3で問題ありませんが、仕事の場合は colgroupを使う方 がよいでしょう。 <style type="text/css"> table.tbl1 {border:1px solid black; border-collapse:collapse;font-size:12pt} table.tbl1 td{border:1px solid black} table.tbl1 th{border:1px solid black} table.tbl1 td:nth-child(1){width:50px;background-color:#9370db} table.tbl1 td:nth-ch
縦横スクロールは TABLEヘッダを隠さず縦横スクロールへ HTMLのTABLEで値部だけをスクロールする HTMLのTABLEを使っていて、ヘッダを固定のまま、値部だけをスクロールしたいことは めっちゃくちゃ頻繁にあります。 あって当然の機能です。無いのがどうかしている。 ごく普通に考えるとcssでTBODYにoverflow属性を与えればよいだけです。 んが!それでは動きません。css3でもできません。 HTML5はいったいどこへ行こうとしているのか全く不明です。 で、汚く自作せざるを得ないハメに陥ります(探せばライブラリなどがあるのかな?) 力技で作ってみました。 ヘッダ用とボディー用のテーブルを別に作り、ボディー用のテーブル をdivのスクロール機能でスクロールさせようというものです。 <meta http-equiv="X-UA-Compatible" content="IE=e
PhotoShopで諧調に応じ透明化 PhotoShopで図柄を作成する場合、一旦白の上に図を作り、最終的には白を 諧調に応じ半透明化したいことは良くあります。 次の手順で諧調を持った透明化が可能です。 0. 背景の場合レイヤーにする。 1. 「チャネル」に移りRGBをコントロールキーを押しながらクリックする 2. 「レイヤー」に移りdeleteキーを押す 以上です。 元が背景だとして
データ部が上下左右にスクロールするテーブル データ部のみが上下にスクロールするテーブルの作成例を ◇データ部だけスクロールするTABLE;HTMLメモに作成してあります。 今回は上下左右にスクロールするテーブルです。 上のテーブルは以下のコードで出しています。 <style type="text/css"> /* 基本のテーブル定義 */ table.t {border:1px solid #000000;border-collapse:collapse;table-layout:fixed;font-size:16px} table.t td{border:1px solid #000000;height:16px;} table.t th{border:1px solid #000000;font-size:16px} table.t th{background-color:#FFBB
この記事は「 Javaでファイルオープン:文字コードや追加モードなど」の補助記事です。 JavaでBOM付きUTF-8ファイルを読む 媒体上の文字コード規格、UTF-8には、規格策定者の迷いのため 一時期、先頭に3バイトのBOMと呼ばれる、バイト並び識別マーク を置く仕様がありました。 現在はBOMはまず使われることはありませんが、Windows付属の「メモ帳」という 簡易エディタでUTF-8ファイルをうっかり作成してしまうと、ファイル先頭に BOMが付いてしまいます。 残念なことにJavaではBOM付きのUTF-8ファイルをまともに 読むことができません。 先頭がBOMの場合スキップする方法 対処法は色々考えられますが、ここでは、BufferedInputStreamを被せ、 先頭がBOMの場合スキップし、BOMでない場合先頭まで巻き戻す形を 示します。 import java.io.*
canvasはインタラクティブ要素が完璧に欠落しています。それはもう見事な 思い切りの良さです。しかし、実用的ではありません。 リンクやボタンなどのインタラクティブ要素を持ち込むには通常 HTML要素をDOMで張り付けることになります。 ここでは<A>タグを張り付けてみました。 リンク先は下のサンプルコードです。 次のコードでcanvas上の計算で得た位置に<a>タグを出力しています。 <!--[if lt IE 9]> <script type="text/javascript" src="../../../js/excanvas.js"></script> <![endif]--> <div id="area" style="position:relative"> <canvas id="canvas1" width="480" height="400" ></canvas> </di
メモです。Javaで波形データ作成再生サンプル:メモの続きです。 ファイル出力 波形データからAudioInputStreamを作成し、AudioSystem.write()メソッドで ファイルに出力することができます。 次のコードは前の記事 Javaで波形データ作成再生サンプル:メモで作成した「うなり」 サウンドをwavファイルに落とすものです。 // Test07.java import javax.sound.sampled.*; import java.io.*; class Test07 { public static void main(String[] args_){ try{ byte[] wave_data= new byte[44100*2]; double L1 = 44100.0/440.0; double L2 = 44100.0/455.0; for(int i
先の記事単純ANTとJAVAメモ:幾つかの落とし穴回避のためのの 補助記事です。より本格的なシステムを組むためのものです。 Jarにまとめる、Jarをまとめる Javaでは 余程単純な試験プログラムで無い限り 一つの実行プログラムは 複数の.classファイルから構成されることになります。 これらがバラバラのファイルのままでは取り扱いが著しく 困難になります。 そこで通常、それらを一つのjarファイルにまとめることに なります。 Javaでは既に作られているライブラリのjarを参照することも あります。 コンパイル時はclasspathにより参照指定できるのですが 実行環境を移す場合、指定はとても難しいものになります。 そこで、ライブラリも含め一つのjarにまとめます。 built.xmlの例を示します。 <?xml version="1.0" encoding="UTF-8"?> <!-
JavaでEXCEL(.xlsx)ファイルを読む。POIを使うサンプルコード POIはEXCELアクセスのためのライブラリで ワークブック / シート / 行 / セル を 表すクラス XSSFWorkbook / XSSFSheet / XSSFRow / XSSFCell からなります。 これらはインターフェース Workbook / Sheet / Row / Cell の実装になっています。 POIは依存ライブラリのダウンロードが途轍もなく難しいのですが、ダウンロードさえ できれば後は単純です。 次のようなプログラムで、ワークブックの内容を読取り表示することができます。 // PoiTest.java import java.io.*; import org.apache.poi.hssf.usermodel.*; // 旧excelの場合 import org.apache.po
メモです <audio>タグをサポートしないブラウザでも使う github からダウンロードできる html5media.min.js を使えば、 <audio>タグに対応していないブラウザでも<audio>タグが 使えるようになります。対応している場合への悪影響はありません。 mp3とAACの再生ができるようです。firefoxでもmp3再生が可能となります。 HTML上での使い方はダウンロードしたhtml5media.min.jsを参照する行 <script src="api/html5media.min.js"></script> を1行追加するだけです。 この記事では次の所にhtml5media.min.jsを置いてあります。 <script src="../../../js/html5media.min.js"></script> MP3が再生できるか? <audio src="
最高に美しい映画です。圧倒的な映像に言葉なんて無力だし、説明なんかいらない。 とは言え、マニアなら、 あんなことも気になるし、 こんなのもいつでも見たいし、 あのポスターだって動いて欲しい。
単純なのに、なぜか忘れてしまうのでメモ。 次の手順を踏みます。 (0) ファイルを開く/レイヤーにする (1) [選択範囲]-[色指定] (2) スポイトで地の部分の色を拾い、[OK] (3) 地の部分が選択される (4) [編集]-[カット]で地の部分を消す (5) 地の部分が透明になる イラストを切り抜いたりするのも同じです。 諧調をもった透明化に関して ◆Phtoshopで白を透明化;諧調で半透明にに記述があります。 詳細 (0) ファイルを開く/レイヤーにする この図はクリーム色の地に黒で文字が描かれています。地と文字で画像となって おり、レイヤーは同じです。 もし、レイヤーでなく「背景」となっている場合は右クリックで「背景からレイヤーへ」 を選択します。 レイヤー窓が出ていない場合は[ウィンドウ」メニューの 「レイヤー」で出すことができます。 (1) [選択範囲]-[色指定]を指
構文を規定するのにBNF表記を用いることは良くあります。 しかし良く知られているようにBNFには繰り返しが表現できないという 根本的で致命的な欠点があります。 このため、リスト構造は再帰で誤魔化されてBNF化されます。 これは一般的に行われていますが、本来の文法モデルとは異なった ものとなります。 リストモデルとBNF表記 例えば名前をカンマでつないだ構文があるとします。 A,B,C,D これは想定する構文モデルでの構文木はつぎのように考えられます。 name_list name=A , name=B , name=C , name=D この構文をごく一般的に使われるBNFで表すと name_list ::= name | namelist "," name という形となります。 一見これで構文構造を表せるように思えます。しかし、このBNFに則った 形で構文解析を行うと、構文木は次のように
Ajax/Perlで単純なインタラクティブ画面を作成します。 ボタンを押すたびに「hello world」「This is Ajax/Perl-test-1.」という文字列 を交互に出します。さらに補助的にクライアントからサーバ に送られた数値を表示しています CGI/Servletなどがページ全体のHTML記述をサーバから送るのに対し、 AJAXではサーバからはデータを送り、クライアント側でそのデータを 解釈し表示に反映させる方法をとります。 AJAXでは通常クライアント側ではJavaScriptを動かします。サーバ側 はPerl,PHO,Javaなどを動かします。 クライアントとサーバのやり取りはこれまで通りHTTPに準拠したまま サーバからクライアントに送るテキストをページ全体から、"データ" に置き換えたものです。 この例は後述の クライアント側HTML記述 、 サーバ側perl記
映画「2001年宇宙の旅」を見てディスカバリー号の内部構造は 一体どうなっているんだろう?人工重力(遠心力)居住区はどこにどう おさまっているんだろう?と疑問を持った人も多いと思います。 同じものをYouTubeでも見ることができます。 http://www.youtube.com/watch?v=SOEEZwcmrBs 残念なことにディスカバリー号の設計図は廃棄されてしまったとの ことで、正確な構造は分かりません。 ここでは次の大まかな情報 頭の球体は直径12mくらい 人工重力(遠心力)居住区の直径は10mくらい ポッドの直径は2mくらい と、映画の各シーンからディスカバリー号の内部構造を推測しCGモデルを作成してみました。 内部構造図 左舷側から見た図です。 球体後方の襟巻き状の構造に沿う形で人工重力居住区があります。 ポッドベイのフロアには、エアロックと、機材保存室があります。 機材
矢印・矢尻の数学、直交するベクトルの加算 矢印の矢尻図形は基本となる線ベクトルに対し左右90°方向のベクトル と逆方向のベクトルを加えることにより得ることができます。 矢尻生成には三角関数も向きによる場合分けも不要です。 簡単なことなのですが、2点"(Ax,Ay)-(Bx,By)"間に矢印を書きたい場合 の計算式が瞬時で出るかというとそうでもないので、ここにメモして おきます。実際に動く計算プログラム・ソースも載せます。 矢尻端2点を得る基本計算 点A(Ax,Ay)から点B(Bx,By)に矢印線を引きたいとします。 矢尻の幅を2w、長さをhとします。 この条件で矢尻の左端L(Lx,Ly)と右端R(Rx,Ry)を算出します。 左方向、右方向、逆方向の単位ベクトルを得ます。 基本ベクトル : Vx = Bx - Ax Vy = By - Ay 基本ベクトル長 : v = sqrt(Vx×Vx
木などにロープの片側を輪っか状にして結びつける アウトドア実用結びの王者「もやい結び」のやり方です。 ◆新聞、雑誌の束ね方、結び方、縛り方 の補足部に書いてあったものに 慣れてきたらの記述を追加し 単独記事にしました。 巻きモノ3題: ・◆新聞、雑誌の束ね方、結び方、縛り方 ・◆もやい結び、基本のやり方と素早いやり方 ・◆ケーブルをからまらないように巻く方法:「逆相巻」と「8の字巻」 基本 まず、結びつけるモノ(例えば木)にグルリとロープをまわします。 長い側にひねりを入れて小さな輪を作ります。 この時モノの側のロープが上に出る形にします。 モノをまわしたロープを、輪の下側から通します。 長い側のロープの下側へ通します。 上へ折り返えします。 輪に上から通します。 ロープの両側を絞ります。 もやい結びは出来上がった輪が縮むことなく安定します。 ここでは、木に結ぶ感じで説明しましたが、もちろ
MathMLを試しました。実際にこの記事上にMathML記述を 置き、かつそのコードを示しています。 現時点ではfirefoxのみがMathMLに 仮対応できているようです。 上はfirefox4で動かした画面のキャプチャです。 firefox3.6.6でもMathML有効な設定にすれば得られます。 MathMLに対応したブラウザではこの下に同様の数式がでる はずです。対応していない場合、1+a b,1+5 2,t2=t1 1 - v 2 C 2といった要素 のみの並びが表示されます。 (1)分数 1 + a b (2)黄金比 1 + 5 2 (3)時間に関するローレンツ変換式 t2 = t1 1 - v 2 C 2 firefox3.6.6でMathMLを有効にする設定: アドレスバーにabout:configを入力して、移動すると、設定パラメターが 出てきます。項目の中からhtml5:
あちらこちらで良く目にする結構効果的な表示法です。 AfterEffectsでまず最初に使ってみようと思うエフェクトではないでしょうか? CS3/CS4なら標準で用意されているエフェクト"CC Light Burst"を掛けるだけの簡 単なものですが、 なぜか本やネットで作り方を見たことがありません。 簡単すぎるので書かないのでしょうか? て、ことでメモ。 (2010/1/8)追加 一応.aepも置いておきます。綺麗な作りにはしていませんが、参考になるかも知れないので。 sample1.aep テキストにLight Burst適用 テキストレイヤー [レイヤー]-[新規]-[テキスト] にテキストをおきます。 テキストにCC-Light-Burstを適用します。 [エフェクト]-[Generate]-[CC Light Burst 2.5] 色が白のままでは光の感じがしないので、少し色を付
MathMLに与えるXML記述は余りにも複雑で人間が直接書くのは現実的でありません。 実行例にXMLの例を載せています。 ◆長さに関するローレンツ変換式を導くで数式を使うに当たり、 オフラインでMathML記述を生成する 方式をとりました。 MathML用XMLを簡便な数式から生成するツール(オフライン版) 実際に使用したセットをzipにまとめ mathML_conv.zipに置きました。 汎用の構文解析ライブラリ/コマンドsymphonie.とMathML生成用 数式構文定義sampleSyntax.hnで構成されています。 数式記述はsampleIn.txtにあります。 構文解析コマンドを起動するバッチAA10_build.batと シェルスクリプトAA10_build.shを用意して あります。このバッチを動かすと、 sampleIn.txtが構文解析され、 構文木がXMLの形でke
メモです。 Javascriptでファイル読み込み(Ajax/XMLHttpRequest使用) Ajaxでのサーバとの通信オブジェクトXMLHttpRequestを使ってファイルを読み込みます。 上部分の記述は次のようになっています。 <!--<html><head></head><body>--> <script type="text/javascript"> function loadFile(fileName){ httpObj = new XMLHttpRequest(); httpObj.open('GET',fileName+"?"+(new Date()).getTime(),true); httpObj.send(null); httpObj.onreadystatechange = function(){ if ( (httpObj.readyState == 4) &
長いケーブルやホースなどを絡まずに巻き取る方法のメモです。 基本的には、時計方向、反時計方向に交互にねじり輪を作り重ねていく ものです。 巻きモノ3題: ・◆新聞、雑誌の束ね方、結び方、縛り方 ・◆もやい結び、基本のやり方と素早いやり方 ・◆ケーブルをからまらないように巻く方法:「逆相巻」と「8の字巻」 まず時計回りにひねる まず、ケーブルの端を手指でつまむように持ちます。 ケーブルを時計回りにひねり、輪をつくりますます。 むりやり輪を作ろうとするのではなく、ケーブルそのものにねじりを加えながら 輪にします。 輪ができてきます。 ねじりが足りないと輪が跳ね返ってくるような力を重力で押さえる形となり 歪が生じます。ねじりが強いと巻き込むような力で歪が生じます。 輪とねじりが素直な関係となるように少し注意してください。 輪を適当な大きさにします。 出来上がった輪をつまんで保持します。 次は反時
メモです。 本当はjavadocなどでソースを汚すべきではないのですが、htmlでのオンラインドキュメント を作成するには重宝しますので、使うことはあります。 Javadocは著しくソースの視認性を阻害しますので、ライブラリのオンラインドキュメント を作るといった場合を除いては決して利用すべきではありません。 内部仕様書を書く代わりなどというのはとんでもないことです。 大きなプロジェクトにおいて 決して工数低減にはなりません。この点を管理者は良く認識すべきです。 読んでもらおうとしていない、読んでもらう工夫をしていない javadocなどゴミを散らかしているのと同じです。重要なソース コードをゴミに埋もれさせてはならないのです。 さて、それはともかく本題。 Java8以降の注意点(2020/03/08) @depricatedによる注釈ができなくなった @depricatedを書くと"@d
ページ遷移戻りでcssやJavascriptの変数を保持する方法 ページ遷移後元に戻って来た時に前の状態を保持していて欲しいことは 良くあります。 簡単なブログであっても、ちょっとした cssのstyleやJavascriptの大域変数ひとつ くらいは保持してもらいたいものです。 このサンプルはcookieを用いて情報を記憶します。 別途hidden要素を用いたやり方を本記事の hiddenに値を記憶させる方法に 置いてあります。 下の例では左の2つの要素が通常の取り扱いで、右の2つの要素が情報保持を 行っているものです。[test]ボタンで色と値が変わります。他ページに遷移後 戻ってくると、右の2つが状態を保っていることが分かります。 左のカウンタは表示は環境によっては状態を保つ場合も ありますが変数は初期値に戻ってしまっています。 AAAA BBBB コードは次のようになっています。
短いサンプルを作成しjQueryを「使ってみます」。実際に動くサンプルとそのコードを この記事上に載せています。 要素選択とcss変更: テーブル色を1行おきに変える イベントとエフェクト: 画像をクロスフェードで切り替える イベントとエフェクト: 画像をフェードインで切り替える(当初の版) 画像のフェードなどの画面効果も面白いものですが、jQueryの一番の特色は、複数要素に対する 処理を「繰り返し手続き」を用いず記述できる点です。これを使って テーブルの各行の色を変えるサンプルを作りました。 2011/06/10:HTML5/CSS3を使ってテーブルの色を一行おきに変える 記事をHTML5/CSS3でtableを色を一行毎に変えるに置きました。 jQueryのもう一つの重要な機能であるAjaxアクセスに関してはいずれ別メモ記事に載せます。 イベントハンドリングとエフェクト例(クロスフェ
WEB、クライアント側でJavaを使う。 HTMLによるWEBページにJavaによる処理を反映させる単純な具体例/コードです。 単純にJavascriptからJavaを呼び出し戻り値をDOMセットする JavaでHTMLDomを取得しアクセスする グラフィック部品としてのアプレットは完全に廃れましたが、 複雑な論理を持つものはjavascriptでの構築が難しいことも あり、Javaで作り上げたものにアプレットをかぶせ、このような 形でクライアント側で動かすことは大きな発展性が見込めます。 本記事は実際に動く短いコードを示していますが、細かな説明は まだ載せていません。 補足に参考となるサイトなどを 載せました。 JavascriptからJavaを単純に呼び出す。 JAppletの派生として作成したアプレットを<applet>でHTMLに 導入すればJavascriptから"アプレット名.
次のページ
このページを最初にブックマークしてみませんか?
『万象酔歩目次: 万象酔歩』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く