jQueryMobileの概要と注意点

jQueryMobileとは
モバイルWEBアプリやスマートフォンサイト用のフレームワーク

ヘッダー部、コンテンツ部、フッター部で構成される
<div data-role=”page”>
<div data-role=”header” data-theme=”a”></div>
<div data-role=”content”></div>
<div data-role=”footer”></div>
</div>

複数ページも可能
<div data-role=”page1″>
<div data-role=”header” data-theme=”a”></div>
<div data-role=”content”></div>
<div data-role=”footer”></div>
</div>
<div data-role=”page2″>
<div data-role=”header” data-theme=”a”></div>
<div data-role=”content”></div>
<div data-role=”footer”></div>
</div>

ポップアップもある
<a href=”a.html” data-rel=”dialog”></a>

<ここで注意点>
基本的にAjaxでのページ遷移でCSS、jsファイルの読込みを行うHEAD部分は読込まれず、
BODY部分のみ置き換わりエフェクトがかかる
画面のid項目の重複が発生したりして挙動がおかしくなる

下記のような指定をするとAjaxを使用せず通常の遷移となり回避できるがエフェクトはかからなくなる
<a href=”a.html” rel=”external”>
<a href=”a.html” data-ajax=”false”>
<form data-ajax=”false”>

代わりにリンククリック時に自前でAjaxローダーのような表示する
<div id=”shadow”></div>
// リンククリックで背景グレーアウト(css作成)
$(“a”).click(function() {
$(‘#shadow’).show();
});
// ページの読込み後に元に戻す
$(window).load(function(){
$(‘#shadow’).show();
});

// ページローディング
$(document).on(‘mobileinit’, function() {
$.mobile.loader.prototype.options.text = ‘loading’;
$.mobile.loader.prototype.options.textonly = false;
$.mobile.loader.prototype.options.textVisible = true;
$.mobile.loader.prototype.options.theme = ‘a’;
});

6種類のテーマ(data-theme)がある
<div data-role=”header” data-theme=”a”>
デフォルト
a:黒
b:青
c:グレイ
d:ライトクレイ
e:黄色

その他にも
レイアウト用のグリッドや
data-role=”none”でテーマを外すなども可能
<input data-role=”none” type=”text” name=”name” id=”name” value=”” size=12>

フォームのactionはフルパス指定が必要
<form action=”/current-directory/abc” method=”get”>

エフェクトを指定
data-transition=”slide”
他に
slideup
slidedown
pop
fade
fillip
turn
flow
slidefade
none
など

他にもいろいろと用意されているみたい

タブウィジェットはjQuery Mobile 1.4から追加されている

テキストエリアの自動拡張機能(テキスト入力欄が不足すると動的に縦幅を広げる機能)は
jQuery Mobile 1.4からdata-autogrow=”false”で抑制できる。
それ以前の場合は下記のようにmax-heightで可。
<textarea style=”height:500px;max-height:500px;box-shadow:none;” readonly></textarea>

jQuery Mobileのスペースや背景色などデフォルトに戻したい場合
jquery.mobile-xxx.cssを変更する。
スペース部分の除去
/*content area*/
.ui-content { border-width: 0; overflow: visible; overflow-x: hidden; padding: 15px; }
背景色を変更
.ui-body-c {
border: 1px solid #B3B3B3;
color:#000;
text-shadow: 0 1px 0 #fff;
background: #FFF;
}

ボタンの角丸を解除するには「data-corners=”false”」
影を解除するには「data-shadow=”false”」

teratail(テラテイル)とQiita(キータ)

プログラムのことに関するとても有名なサイトを2つ。読み方も覚えておこう。

プログラムなどで困ったことをインターネットで調べてもうまく見つからない場合など

このサイトで質問するとすばやく回答がもらえるらしい。

  • エンジニア向けQ&Aサイト

teratail(テラテイル)

 

いろいろな人達が調査した事などをまとめてくれている。読み物としても勉強になりそう。

  • プログラミングに関する知識を記録・共有するためのサービス

Qiita(キータ)

ノートパソコンのハードディスク(SSD)交換で快適

ノートパソコンが古くなってきて何をするのも遅いし、たまに固まったりブルースクリーンで落ちることも増えてきた。

メモリやハードディスクなどチェックツールで調べたりデフラグしたりしてみたが改善されず。。

思い切って工場出荷状態にリカバリしてみたが、固まる状態が続いて解決しなかった。

ハードディスクを交換してリカバリすれば改善されるのか、、SSDのハードディスクに交換すれば早くなるとか、、

そこで下記の格安のSSDハードディスクを試してみることに。

LEVEN 120G 内蔵SSD 2.5インチ 3D TLC NAND/SATA3 6Gbps SSD

SSDなのにこんな価格で存在するとは知らず、だめもとでトライ。

使用しているパソコンはacer ASPIRE 5750 320GB HDD、新しいHDDにリカバリ領域のコピーは大変そうだし、リカバリDVDの作成もなぜかエラーとなってうまくいかない。

仕方がないのでWindows10のインストールDVDから起動して新規インストールしてみた。

プロダクトキーを入れるところはWindows8のキーを入れるといけた。

結果、インストールはとりあえず成功。デバイスマネージャーを見ると基本デバイスドライバが2つエラーとなっている。

どうやらSDカードリーダーぽいので下記のサイトでカードリーダー ドライバーをインストールすると解決できた。

カードリーダー ドライバー

120GBしかないHDDは40G程度使われているようだが、80Gくらい空いていたのでとりあえず問題なさそう。

そして、なんと再起動してみると起動や終了が一瞬、というくらい恐ろしく早くなった。

何をするのもすごいレスポンスで今までのが信じられない、、最新の新品パソコンより早いのではないかというくらい快適になった。

もう固まったり落ちたりもしなくなり完全に改善された。

3000円程度でここまでの効果があるとは思っていなかったため、少しくらい古いパソコンでもSSDのハードディスクだとかなりいい感じになるということが分かった。

文字コードとは

【文字コード】とは
文字がコードに割り当てられているもので「■文字集合(キャラクターセット)」と「■文字符号化方式(エンコーディング)」を用いて表す

■文字集合(キャラクターセット)
・文字集合としては主に下記のようなものがある
▼JIS X 0208(JIS 漢字コード)「日本工業規格(JIS)が定める、日本語の文字集合規格」
文字に区と点の番号が割り付けられているもの
▼Unicode「世界中の文字コードを統一したひとつの文字集合で表す規格」
文字にコードポイントと呼ばれる番号が割り付けられているもの
▼ASCII「ASCII(American Standard Code for Infomation Interchange)が定める規格(半角文字、1バイト文字)」
文字集合の番号をそのまま0~127の1バイトで表すもの

■文字符号化方式(エンコーディング)
・JIS X 0208(JIS 漢字コード)の符号化方式としては主に下記のようなものがある
▼「ISO-2022-JP」(JIS)
▼「EUC-JP」(EUC)
▼「Shift_JIS」(SJIS)
※Windows標準の文字コードは「Shift_JIS」ではなく「Windows-31J」

・Unicodeの符号化方式としては主に下記のようなものがある
▼「UTF-8」
▼「UTF-16」
※UTF-16は2バイト単位で文字を処理するためファイルの先頭にバイトオーダーマーク(いわゆるBOM)を置いてそのファイルがどちらのエンディアンで作成されたものなのかを判別する
UTF-8は1バイト単位で処理するのでBOMは不要だが、なぜかBOMを付けることもできるという変なことになっている

【シフトJIS(Shift_JIS)】
日本語の文字集合を符号化する文字符号化方式のうちの一つ
▼MS漢字コード(CP932)
「Shift_JIS」にMicrosoftが独自拡張し「CP932」という管理番号を与えられたもの
さらにIBMが独自拡張した「IBM版CP932」、NECが独自拡張した「NEC版CP932」が現れて混乱が生じた
▼Windows-31J(MS932)
MicrosoftはIBM版CP932とNEC版CP932を統合しWindowsにおける日本語標準コードとし
IANA(インターネットに関連する番号を管理する組織)にWindows-31Jという名前で登録された
上記の混乱したIBM版CP932と区別するために特にJavaの世界ではMS932とも呼ばれる
※「CP932」、「MS932」、「Windows-31J」は同じものをさす
「Shift_JIS」とは異なるが、実際には「Windows-31J」をさす場合に「Shift_JIS」という言葉が使われることがある
プログラミングにおいて、文字コードに「Windows-31J」と指定すべきところを、「Shift_JIS」と指定すると「Windows-31J」で定義されている文字が「Shift_JIS」にはない場合には文字化けが発生する

【HTMLで使用するcharsetの種類】
—————————————————————————
文字符号化スキーム  :キャラクタセット
—————————————————————————
Western(Latin1)       :ISO-8859-1
Japanese(Auto-detect)   :ISO-2022-JP (JIS)
Japanese(EUC)     :EUC-JP (extended unix code)
Japanese(Shift JIS)        :Shift_JIS (MS漢字)
Unicode Text Format-8 :UTF-8
—————————————————————————

無線LANの「インフラストラクチャモード」と「アドホックモード」とは?

無線LANの設定に「インフラストラクチャモード」と「アドホックモード」がある。

  • 英語でinfrastructure(インフラストラクチャ)の和訳は「下部構造」。いわゆるインフラ (infra)のこと。
  • 英語でad hoc(アドホック)の和訳は「その場しのぎ」。

「インフラストラクチャモード」は無線LANアクセスポイントを介して通信を行う方式で、
複数のパソコンが同時にネットワークに接続できる一般的なLANの利用形態。

「アドホックモード」は無線LANアクセスポイントを介さず、パソコンのLANアダプタ同士でデータ通信を行う方式で、無線LANアクセスポイントは必要ないが、2台のパソコン間で通信を行っている間、他のパソコンはそれらと通信ができない。

つまり、通常は「インフラストラクチャモード」を使用する。

LINEで無料または格安で携帯電話/固定電話に通話できる!

LINEの中にはいろいろなアプリがあり、あまり知られてないかもしれませんが、

誰でもそのまま利用できる「LINE Out」、「LINE Out free」というものがあります。

これはLINEだけで携帯電話や固定電話に通話することができます。

登録時の電話番号も相手に表示されます。(非通知発信解除可)

「LINE Out free」は

1日5回まで広告を見た後に携帯電話には1分、固定電話には3分(お店などは10分)の無料通話ができます。

終了する20秒前にシグナルが鳴り、時間が経過すると自動で通話が切断されます。

「LINE Out」は

プリペイドで
30日有効(携帯電話6円/1分、固定電話2円/1分)か
180日有効(携帯電話14円/1分、固定電話3円/1分)の
クレジット購入によりかなり格安で通話できます。

iPhone版 LINEアプリ
240コールクレジット (240円)のみ
無期限
Android版 LINEアプリ
240コールクレジット (240円)のみ
購入日から180日間
LINE STORE
120、360、600、1200、3600、6000コールクレジット
購入日から180日間

120クレジット保有していれば固定電話なら40分通話できます。

LINE Out設定のホーム画面に追加を選択することでホーム画面に通話のアイコンが登録できて便利です。

このアイコンで連絡先から電話をかけることができますが、受話器のアイコンにLINE Outの文字がある場合はLINE Outで他回線に通話します。

文字がなく受話器のアイコンだけの場合は通常のLINE同士の無料通話となります。

便利な機能として覚えておくと使えることがあるかもしれません。

なんて読む

読み方が難しそうな単語を調べてみたメモ

ASUS→エイスース
Alt→オルト
href→エイチレフ
QWERTY配列→クワーティ配列
height→ハイト
width→ウィドゥス
Qiita→キータ
NVIDIA→エヌビディア
Maven(Apache)→メイヴン メイヴェン
IntelliJ IDEA→インテリジェイ アイディア
Azure→アジュール

JSPのタグライブラリ

JSPを使う機会は少なくなっているようだが、どのようなものがあるのか調べてみた。

【JSP標準アクション】
・アクションタグ
→<jsp:xxxx>
【Strutsタグライブラリ】
・beanライブラリ
→<bean:xxxx>
・htmlライブラリ
→<html:xxxx>
・logicライブラリ
→<logic:xxxx>
【SAStruts(Strutsの資産を生かした形)】
・SAStrutsカスタムタグ
→<s:xxxx>
・SAStrutsファンクション
→<f:xxxx>
【JSTLタグライブラリ】
・coreライブラリ
→<c:xxxx>
・sqlライブラリ
→<sql:xxxx>
・xmlライブラリ
→<x:xxxx>
【Spring MVCタグ】
・formタグ
→<form:xxxx>
・springタグ
→<spring:xxxx>
【EL式(Expression Langage)】
・${xxxx}

Spring Bootで@Autowiredがうまくいかずにエラー

サイトを見ながらSpringBootでサンプルを参考に作成してみた際に

ControllerのJavaからServiceクラスを@Autowiredで指定するとエラーとなった。

下記のように適当にパッケージを分けてクラスを配置したことが原因だった。。

  • Controller(Action)
  • Entity
  • Service
  • Repository(Dao)

@Autowiredは同じパッケージ配下しか利用できないらしい。

他のパッケージ配下を指定する場合は@ComponentScan(“com.example.service”)

というようなアノテーションも指定しないといけないらしい。

そもそも標準のパッケージ構成から外れているらしく、

まずは標準のパッケージ構成を作成することからはじめたほうがいいみたい。