2016年11月24日木曜日

htmlにカスタム属性(data-*)を使って、jQueryで簡単アクセスする

どうも、俺です。

HTMLに独自のカスタム属性をつけて、
jQueryで操作できれば便利ということを発見しました。

カスタム属性を使えば、
<img data-hoge="ほげ" src="xxx.png" />

のように、「data-」のあとに好きな文字列を指定して値をセットできます。
data属性には一応仕様が定められており、
1文字以上のアルファベット、数字、ハイフン、アンダースコアが使えるようです。

で、本題はここから。
設定した「data-hoge」にjQueryを使ってアクセスするには、
$("img").data("hoge");

超簡単!!

data属性にJSONをセットもできるので、
<div data-hoge='{"aaaa":"あいうえお", "bbbb":1000}'>
のように指定しておけば、

$("div").data("hoge").aaa;

でアクセス可能!

ちなみに、data属性は複数も指定できます。

<span data-hoge="ほげ" data-fuga="ふが">

以上でぇぇぇす。

2016年11月18日金曜日

Laravel(またはLumen)のクエリビルダーのWHERE条件で、()カッコ付きのSQLを作る

どうも、俺です。

忘れぬうちにメモ。

例えば、
SELECT * FROM user WHERE status=1 AND (type=1 OR type=2);
のようなクエリを作りたい場合。


$query = $userModel->where('status', 1)->where(function($query) use()
{
  $query->where('type', 1)->orWhere('type', 2);
});
になります。

ちなみに、
SELECT * FROM user WHERE status=1 AND (type=1 AND type=2);
の場合は
$query = $userModel->where('status', 1)->where(function($query) use()
{
  $query->where('type', 1)->where('type', 2);
});
になります。

ちょっと読みづらいっす...。


以上でぇぇぇす。

2016年11月2日水曜日

Windows起動すると画面真っ黒でキャレット(アンダースコア)が点滅して先に進まねぇ!って時にやったこと

どうも、俺です。

今日は、Windows8.1を起動しようとしたら
画面が真っ黒になって、画面左上にキャレット(アンダースコアの形をしたカーソル)が点滅したまま
何もできなくなってしまった時にやる対応方法についてメモです。

色々なサイトで調べまくった結果、
どうやら原因はブートセクタが破損してしまったことが原因の可能性が高いようです。


では、直しましょう。

方法1: Windowsインストールディスクで直す

最も手早い方法だと思いますが、
今時インストールディスクを手元に持ってる人って少ないのではないでしょうか。
一応方法は、
コマンドプロンプトからWindowsを復旧する4つの方法 (Vista/7/8/8.1/10)
など参考にしてみて下さい。

方法2: Windows PEを使って直す

今回書きたい内容です。
Microsoftが用意してくれているWindows PEを使って直します。

1) 元気なWinPCでWindows ADKをインストール

から、Windows用アセスメント&デプロイメントキットをDLします。
DLしたadksetup.extを実行し、
・Deployment Tools
・Windows Preinstallation Environment (Windows PE)
の2つを選択しインストールします。

2) ブート用のUSBメモリを作成

スタートメニュー>Windows Kits>展開およびイメージングツール環境を右クリックして「管理者として実行」を選択。
コマンドプロンプトが起動するので、以下のようにコマンドを打ちまくる。

C:¥>copype x86 C:¥winpe_x86
... 略 ...
Success

ここで、
fwfiles
media
mount
という3つのフォルダが生成されるはずです。

次に、USBメモリに書き込みます。

C:¥> cd winpe_x86
# 最後の「f:」はUSBがFドライブに刺しこまれている場合です。
# 環境に合わせて書き変えて下さい。
C:¥winpe_x86>makewinpemedia /ufd c:¥winpe_x86 f:
Proceed with Format [Y,N]? Y // ←USBデータはフォーマットされてしまうけど、Yで。
... 略 ...
Success

USBにWindows PEデータが書き込まれました。

3) Windows PEで修復

では、壊れたWindowsマシンにUSBを挿し込み起動させます。
この時、BIOS画面でブートの優先順をUSBを最優先に変更して起動させないと、いつもの壊れた真っ黒画面になってしまいますので注意です。

WindowsPEが起動したら、そのコマンドプロンプト上で、
X:¥windows¥system32> bootsect /nt60 sys mbr

と打ちます。
が、多くの人はここで
The system partition was not found
というエラーに遭遇すると思います。
その場合は、
X:¥windows¥system32> bootsect /nt60 C: /mbr

で問題ないはずです。
途中の「C:」は壊れた対象のHDDドライブ名です。
環境に応じて書き変えて下さい。


これだけで壊れたHDDのブートセクタは直っているはず!

4) それでも直っていない場合

3)が終わったあと、Windowsを起動しようとしてもまた真っ黒にキャレット点滅の場合..。
大丈夫です、3)をもう一度試して起動してみましょう。
それでもダメな場合、今度はPC再起動してみましょう。
きっと動くはずです..。
僕は2回ほど再起動し直すと、無事起動できました。

それでもダメな場合、、
別の原因を探って対応するか、PCを買い換えましょう。


以上でぇぇぇぇぇす!

※参考サイト: 管理者必携のトラブルシューティングツール「Windows PE 5.0」の起動用USBメモリを作成する - @IT