.htaccessファイルを使ってスマートフォンからのアクセスを振り分ける

.htaccessファイルを使ってスマートフォンからのアクセスをスマートフォン用に準備したページに振り分ける

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC]
RewriteCond %{QUERY_STRING} !mode=pc
RewriteRule ^$ /s/ [R,L]
</IfModule>

【解説】

<IfModule mod_rewrite.c>
RewriteEngine On 
</IfModule>

はURLを書き換える機能「mod_rewriteモジュール」を利用する為の記述

RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC]

RewriteCond
URL書き換え処理を実行する条件を指定
%{HTTP_USER_AGENT}
変数「HTTP_USER_AGENT」は、アクセスされた端末のユーザエージェント名(iPhone|Android.*Mobile|Windows.*Phone)
一致パターンを記述(今回は正規表現で複数の文字列を指定)
[NC]
フラグ指定(「大文字・小文字を区別しない」)

RewriteCond %{QUERY_STRING} !mode=pc

RewriteCond
条件指定
%{QUERY_STRING}
変数名「QUERY_STRING」は、URL末尾に付加された「?」記号以降の文字列
!mode=pc
一致パターンを記述(今回は「mode=pc」という文字列がなければという指定)

RewriteRule ^$ /s/ [R,L]

RewriteRule
指定したURLに書き換え(リダイレクト)
RewriteCondの各条件がすべて成立している場合のみ実行される
^$ /s/
http://www.○○○.○○○/s/ へ移動。
[R,L]
「R」はリダイレクトする
「L」は書き換え最終行
という意味。

【Photoshop】デコレーション枠バナーを作成

Photoshop(今回はCS4)でバナーの枠にキラキラクリスタル素材をデコレーションする。

まず、選択範囲を作成する。
デコレーションを施すバナーの外枠の選択範囲を指定する。

バナー枠デコレーション

[選択範囲]→[選択範囲を変更]→[境界線]で「選択範囲をふちどる」ウィンドウを表示する。

選択範囲を変更

「選択範囲をふちどる」ウィンドウでふちどる幅を設定する。今回は内側半分の5pxを使用するので、10pxを指定する。
すると内側・外側に5pxづつ「ふち」ができます。

選択範囲をふちどる

さらに内側だけを選択状態にしたいので、Shift+Ctrl+iで選択範囲を反転させます。

選択範囲反転

選択範囲を元に作業用パスの作成をします。
新しいレイヤーを追加してから、パレットをレイヤーパレット→パスパレットに切り替える。
パスパレット右上のメニューから[作業用パスを作成]をクリックして「作業用パスを作成」ウィンドウを表示。
許容値を設定する(今回は0.5pixel)。

作業用パスを作成

作業用パスに沿って描き込むブラシを作成します。
[ブラシ]をクリックした状態で下図のようにブラシを設定する。

ブラシの作成

ブラシが設定が完了したら、パスパレット右上のメニューから[パスの境界線を描く]をクリックする。すると先ほど設定したブラシが作業用パス上に描画される。

作業用パスにブラシを描画

レイヤースタイルを設定。
今回は[べベルとエンボス]と[シャドウ(内側)]を下図のように設定。

レイヤースタイルを設定

完成!!

完成!!

【Photoshop】日章旗風な画像の作り方

Photoshopで日章旗柄のデザインを作成する。

まず、背景とは別レイヤーで「しましま」を作成する。

レイヤー「しましま」を選択して[フィルタ]→[変形]→[極座標]の順にクリックして[極座標]ウィンドウを開く。

[極座標]ウィンドウで[直交座標を極座標に]を選択して[OK]をクリックする。

日章旗柄のデザインが完成!!

【JavaScript】PHPの変数をJavaScriptで利用する

PHPの変数に代入した値をJavaScriptで利用する方法。

一見難しく感じるが、PHPはサーバ上で実行されるので、
PHPの変数に値を代入して、JavaScript上に出力し、ブラウザで実行する時という手順になる。

<?php
	// PHPの変数akbに値48を代入する
	$akb = 48;
?>
<html>
<head>
<title>PHPの変数に代入した値をJavaScriptで利用する</title>
<script>
	// javascriptの変数akbにPHPの変数$akbの値48を代入する
	var akb = <?php echo $akb; ?>
	// 値をアラート出力する関数
    function func(str){
        alert(str);
    }
</script>
</head>
<body>
	<form action="" method="post">
		<input type="button" value="ボタン" onClick="func(akb)">
	</form>
</body>
</html>

実際のページのソースを見てみると、画面に表示された段階では、すでにPHPの<?php echo $akb; ?>
が出力され、JavaScriptの変数akbに代入されていることが分かる。

PHPの変数をJavaScriptで利用2

【出力】
PHPの変数をJavaScriptで利用

【JavaScript】イベントハンドラ(onClick等)で複数の関数を実行する

今回は、ボタンを押した時に、あらかじめ用意しておいた複数の関数を実行してみる。

ボタンが押された時に、実行したい関数をhtmlのheadタグ内に準備する

<script>
	// 関数01
	function func01(){
		alert("関数01");
	}
	// 関数02
	function func02(){
		alert("関数02");
	}
	// 関数03
	function func03(){
		alert("関数03");
	}
</script>

イベントハンドラ(onClick)に実行したい関数をセットする。
関数を複数セットする場合はセミコロン(;)で区切る。

<form action="" method="post">
	<input type="button" value="ボタン" onClick="func01(); func02(); func03()">
</form>

【実行】

関数は左から順番に実行される。

onClick複数関数実行

イベントハンドラに関数を複数セットする場合はセミコロン(;)で区切る。

【JavaScript】ゼロパディング(ゼロ埋め)

JavaScriptでのゼロパディング(ゼロ埋め)方法

ゼロパディングとは数字の桁を合わせる為に、桁数が足らない部分を0で埋めること
(例:7桁)
48 → 0000048

<script>
	// 変数akbに値48を代入する
	var akb = 48; 
	// 変数akbに代入した値48を7桁でゼロパディング(0埋め)する
	akb = ("0000000"+akb).slice(-7);
	// 出力
	alert(akb);
</script>

【出力結果】

0000048

javascriptでゼロパディング

【JavaScript】 指定タグ内の要素を取得する方法

今回は、liタグ内のテキストを取得して配列に入れてみる。

getElementsByTagName()でターゲットとなるタグを指定して配列に代入する。
配列に代入したテキストをループ処理でアラート出力する。

【html】

<ul>
	<li>1つ目のliタグです</li>
	<li>2つ目のliタグです</li>
	<li>3つ目のliタグです</li>
</ul>

【javascript】

<script>
	// 指定タグ内の要素を配列に代入
	var elements = document.getElementsByTagName("li");
	
	// 配列の要素をループ処理で出力
	for(i = 0; i < elements.length; i++){
		alert(elements[i].innerHTML);
	}
</script>

【実行】

指定タグ(liタグ)内に記述した要素を取得し、順番に出力した。

【Android】複数PC上でのアプリ開発トラブル

通常、Androidアプリ開発の際、1台のPCにつき1台の実機を用意するが、
1台の実機を使って、複数のPC上で開発する事もある。

例えば、開発中のアプリを、会社(PC-A)でも自宅(PC-B)でも開発ってパターンで、
会社(PC-A)で実機を使って動作確認した状態のまま、
自宅(PC-B)でも動作確認しようとした場合、エラーが発生する。

【エラー表示例】

Re-installation failed due to different application signatures.

会社(PC-A)で動作確認の為、実機にインストールしたアプリを一旦アンインストールしてから
自宅(PC-B)から実機にインストールしなおす事により解決できる。

【Android】Android SDK仮想デバイスの日本語化

Android SDK仮想デバイスを日本語モード化する設定方法です。

まず、Android SDK仮想デバイスを起動します。
画面真ん中下部の「アプリケーション一覧アイコン」をクリック

「アプリケーション一覧」から「Serrings」アイコンをクリックする。

「Serrings(設定項目リスト一覧)」から「Language & Keyboard」項目をクリック。

「Language & Keyboard Serrings」から「Select language」項目をクリック。

各国言語リストの中から「日本語」を選択すると日本語モードに切り替わる。