JavaScript js エラー:SCRIPT5009 'hoge'は定義されていません。

どうも。お久しぶりです。

さてタイトルのエラーについて。
何のエラーかと思っていろいろ調べていたら何のことはない、htmlファイルの方でjsの読み込みを記述するのをすっかりさっぱり忘れていました。ヘッダーのところに書く、

<script type="text/javascript" src="なんとかかんとか.js" charset="utf-8"></script>

ってやつね。
あまりにも初歩的なミスだとぐぐっても出てこないんだなぁ。
ということで、誰かの助けになればと思って自分のアホさを書き留めておく。

それでは、今日はこのあたりで。


続きを読む

HashMapとLinkedHashMapの話

こんばんは。
明日でお仕事終わりです。

さて、見出しのとおりHashMapとLinkedHashMapの話。

HashMapってのはコレクションと呼ばれるクラスで、配列みたいに同じ型のクラスをまとめて保持しておくためのものです。
配列と違うのは、添え字が数字ではなくkeyと呼ばれるオブジェクトであることです。
文字列を使うことが多いですが、文字列のListなんかも使えます。
そして、keyに対応付けられたvalue=値を持っています。

詳しくはリファレンスをば。
HashMap - Java(tm) Platform Standard Edition 8

じゃあ、LinkedHashMapとは何かというと。
HashMapクラスを継承したコレクションクラスで、ざっくり言うとMapにputした順序を保持しています。

HashMapもLinkedHashMapも、keyの一覧を返すkeySet()というメソッドとvalueの一覧を返すvalue()というメソッドを持っています。
これを実行した場合、HashMapはputした順に出てくるとは限りませんが、LinkedHashMapはputした順に出てくることを保証しています。
LinkedHashMapってものを知らなくて、HashMapにインデックスも保持させて実装するところだった。スマートじゃないぜ。

というわけでひとつ知識が増えた話でした。
それでは、短いですが今回はこの辺りで。


続きを読む

Outlookでメール本文にファイルやWebページのリンクを貼る話

お仕事でOutlookを使ってメールをやり取りしてるんですが、メール本文にURLやファイルのパスを書くと自動的にリンクを貼ってくれたりします。

が、日本語のディレクトリなんかを挟むと途中で切れちゃったりするので、手動で正しいリンクを貼るときのメモ。


ちなみに、html形式のメールでしか使えないようなので悪しからず。
Wikipedia - Microsoft Outlook
(オートロックじゃないよ、アウトルックだよ!)

1)リンクさせたい文字列をメール本文に入力。

2)リンクさせたい文字列を選択

3)右クリック→ハイパーリンクをクリック

4)ダイアログが開く。表示文字列(リンクを貼る文字列)を確認。アドレスにURLやパスを入力してOK

5)リンクが追加される。メール作成画面からは、Ctrlを押しながらクリックでリンク先を確認できる。

ちょいちょい切れてるメールが飛んでくるんだよなー。
気をつけよう。

それでは、短いですが今回はこの辺りで。



続きを読む

JPAEntityについてのメモの話

とっても手短にJPAEntityのメモ。

Oracle DBとJavaでデータのやり取りをするために使うよ。
詳しくはOracle Containers for J2EE Enterprise JavaBeans開発者ガイド JPAエンティティとは

JavaBeansを作ったら、

・@Entityを設定
・どれか1つのメンバ変数に@Idを設定
・@Columnで名前がつけられる。これはDBのSELECT文で取ってくるデータの項目名と紐づく
詳しくはOracle Containers for J2EE Enterprise JavaBeans開発者ガイド 6 JPAエンティティの実装

それでは、短いですが今回はこの当たりで。


続きを読む

テーブルのセル内の改行の話

テーブルのセル内の改行と格闘してなんとか手懐けたのでメモ。
ChromeとIE11では確認済み。その他はよくわからん。

とりあえずサンプルhtmlをブラウザで実行してみました。





この表、何も幅指定をしていないので、縮めるとこうなり、





広げるとこうなります。





3行目、2行目を見ると、ウィンドウの幅が狭まったときに中身が自動的に改行されているのがわかります。

では、もう1行追加してみます。




追加したのは3行目のスペースを抜いたものですが、今度は改行してくれずページ下部にスクロールバーが現れました。
何故。私はスクロールバーなんか求めていないのに。改行してほしいのに。
謎を解き明かすべくこいつと格闘して半日消えました。


調べてみました。

word-breakとword-wrapはややこしい
word-break-CSSリファレンス
【CSS3】word-wrap:break-wordとword-break:break-allの違いを説明します

上記を参考に、いろいろ格闘した結果、
table要素全体の値を固定(固定値、またはブラウザサイズ100%とか)に指定
<table border="solid" style="width=100%; table-layout:fixid;">


セルに改行指定と改行の仕方を指定
<td style="word-wrap:break-word; overflow-wrap:break-word;word-break:break-all;">セルの中身</td>



これでなんとかうまくいきました。

実行したらこんな感じ。





word-wrap
orverflow-wrap


この2つは同じ「改行するかどうか?」を指定しています。
互換性を保つために両方とも記述する必要があるようです。


word-break


これで改行方法を設定しています。
今回は単語の途中でもなんでも改行してほしかったのでbreak-allを指定しています。
詳しくは2つめのリンクから。
デフォルトではどうも、半角英数字は単語の途中で改行しない設定になっているようで、
4行目はスペースがどこにもないので1つのながーい単語だと判断されてしまっていたようです。


参考までに、キャプチャのhtmlを貼っておきます。
最近コード貼るやつうまく表示されないんですよね……。原因解明しなきゃ。



では、今回はこの辺りで。