jQueryMobile のソースメモ

jQueryMobile のソースメモ

jQueryMobileでは、divタグへ設定するdata-roleでモバイル向けのパーツを構成している

<div data-role="page" id="p-top">

</div>

この
data-role=”page”部分がページ1ページ、HTMLファイル1画面分になる
id=”” は、ページのidで
これを使いページを切り替えたりする

<div data-role="header">
<h1>タイトル</h1>
</div>

data-role=”header”
この部分がヘッダー定義
ipod touchとかでモバイル向け画面開いたとき
一番上の黒くなっている題名とかブログ名部分になるは h1タグで設定する

<div data-role="content">
<h2>本文</h2>
<p>テキスト</p>
</div>

data-role=”content”
これは、コンテンツの中身部分
HTMLのbody部分にあたる
表示したい内容はここに書くことになる

<div data-role="footer">
<p>copyright</p>
</div>

data-role=”footer”
ここは、フッター部分になり
copyrightとか、Twitterのアプリで
メニューを並べたりしている

個人的には、フッター部分へ
メニューやボタンがあったほうが操作しやすい

bodyの中の全体的なソースは

<div data-role="page">

<div data-role="header">
<h1>タイトル</h1>
</div>

<div data-role="content">
<h2>テキスト</h2>
<p>本文</p>
</div>

<div data-role="footer">
<p>copyright</p>
</div>

</div>

jQuery Mobile の準備

jQuery Mobile の準備

サーバー用途なら、CDNでいいけど
ハイブリッドアプリにするため、ファイルをダウンロードしておく

http://jquerymobile.com
からダウンロード

使うのは、
jquery.mobile-1.1.0.min.css
jquery.mobile-1.1.0.min.js
そして、関連画像が入っている
imageフォルダ

また、jQuery本体も使うので
http://code.jquery.com/jquery-1.7.1.min.js
もダウンロードしておく

まずは、サーバーで動作させ
その後ハイブリッドアプリへ変換する

mkdir jqn
mkdir jqn/css
mkdir jqn/js

これで、各ファイル格納ディレクトリ作成

cssフォルダには
jquery.mobile-1.1.0.min.css

画像関連の入っている imageフォルダ
を配置

jsフォルダには
jquery.mobile-1.1.0.min.js
jquery-1.7.1.min.js
を配置する

つまり、jsフォルダには
Javascript関連

cssにはレイアウトや画像関連になる

HTMLファイルは
jqnディレクトリ直下へ作成する

ハイブリッドアプリ作成に使うソフトウェア

ハイブリッドアプリ作成に使うソフトウェア

jQuery
JavaScriptのフレームワーク

jQuery Mobile
モバイル向けの拡張フレームワーク

jqPlot
チャートライブラリー

jQuery Validation
入力チェックライブラリー

jQuery TouchPlugin
jQueryのタッチイベント処理

Android Theme for jQuery Mobile
jQuery mobile をAndroidみたいにする

jQuery Mobile DateBox
日付入力ボックス

Photo Swipe
スライドショーライブラリー

Mobile bookmark bubble
ブックマーク支援ライブラリー

phonegap
ネイティブ変換ライブラリー

phpthum
phpでサムネイルを作成する

python の if その2

python の if その2

python の if の構文は

if 条件式 :

	処理する内容

となる

else をつけるときの構文は
[/python]
if 条件式:
true のときの処理
else:
false のときの処理
[/python]
となる

python は ruby みたいに改行で区切りなので
ほかの言語からくると最初は間違えやすいかもしれない

else if をつかうときには

if 条件式:
	if の判定が true のときの処理
elif if には当てはならないときの次の条件:
	else if が true のときの処理
else:
	どれにもあてはまらないときの処理

となる

python では if が他の言語みたいに
{} でスコープで囲わない

どちらかというと PHP に近い感覚

ちょっと変わった書き方がドットインストールにあったので
メモ

print "OK" if score > 60 else "NG"

というように
print で表示する時に条件式をつけて
結果により表示を変更することが可能

この場合、else や if の条件式に : はいらないみたい

python で if 文

python で if 文

score = 70
として

socre が 60 より大きければ
メッセージを表示するようにする

構文は

if 条件式 :
	行う処理

となる

python にしては珍しく : などをつかっている
あと、処理を書くときに字下げをしている必要がある

とはいっても、普通に : の後 Enter を押したら字下げされた

字下げされているなら、複数処理を書くこともできる

今回は

#coding: UTF-8
# if example

score = 70
if score > 69:
        print "ok"

とした

#coding:UTF-8

は日本語取扱いのために必要

if で使える比較演算子は
基本的には java とかPHPとほぼ同じ

ただし 論理演算子がちょっと違う
&& ではなく and
|| ではなく or
! ではなく not
と普通に単語でつかうことになる

詳しくは python 論理演算子で検索

論理演算子

が参考になる

ちなみに、書き方には

score = 70
if score > 69 and score <80:
        print "ok"

score = 70
if 64 < score <80:
        print "ok"

というように書くこともできる

ビューの位置関係を示す設定

android:layout_above
ここで指定したビューの上に配置される

android:layout_below
ここで指定したビューの下に配置される

この2つを設定するときは
大抵は2つのビューの間に設定したいときに行う

例えば

EditView

ListView

TextView

としたいのなら
EditText の下で
TextView の上になるので

ListView の設定で

android:layout_below=”@+id/edittext1″
ここで指定したビューの下に配置される
これで EditText の下になる

android:layout_above=”@+id/textview1″
ここで指定したビューの上に配置される
これで TextView の下になる

つまり 真ん中に配置されることになる

node.js 概要とインストール

node.js 概要とインストール

Node.js入門 (全16回)

を参考に Node.js を使ってみることに

node.js は大量のリクエストを高速にさばくための
アプリケーションをつくるプラットフォーム

主に大規模システムの大量リクエストを高速にさばくときに使われる

APIとかメッセージング部分など

公式サイトは
http://nodejs.org/

http://nodejs.org/api/
で命令の詳細をみることができる

node.js を使うために必要な知識は
html

そして node.js は java script を使っているので
これも使う

あとサーバーが Linux なので linux コマンドも使う

使用する開発環境は
vagrant で作成した仮想マシンの centOS

今回使用するDBは MongoDB

しかし、インストール方法が動画で紹介されていないため
検索してみた

最初にCentOS のバージョンを調べる

uname -r 

で調べたけど
これはカーネルのバージョンだった

結果は
2.6.32-358.18.1.el6.x86_64

UbuntuとCentOS のバージョン確認方法

を参考に

CentOS のバージョンを調べたいので

 cat /etc/redhat-release 

これで
CentOS release 6.4 (Final)
と判明

次に
node.jsをyumでインストールする(centos6.5)

を参考に
yum で node.js をインストール

rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

でリポジトリを追加

しかし、すでに以前 vagrant で環境作ったときに
これはやっていた

sudo yum install nodejs npm --enablerepo=epel

でインストール

インストール完了後

node -v 

でバージョン確認

v0.10.24
となっていればOK

Google Maps Android API v2 キー取得

Google Maps API キー取得

まずは
https://cloud.google.com/console/project
へアクセス

CREATE PROJECT をクリックしてプロジェクト作成

とりあえず
Project name に任意の名前を入力

I’d like to receive email about Google Cloud Platform updates, special offers, and events.

I have read and agree to all Terms of Service for the Google Cloud Platform products.

にチェックを入れて
Create をクリック

ちょっと時間がかかるけど
プロジェクトの画面になるので

左側のメニューから
APIs & auth を選んで
Google Maps Android API v2 のOFFをクリック

このときに
たくさんAPIがでるので Ctrl +f で map で検索すると楽

I have read and agree to both Google APIs Terms of Service and Google Maps/Earth APIs Terms of Service
にチェックを入れて
Accept をクリック

これで使えるようになり、ONにしたAPIはメニューの上に表示されるので

Google Maps Android API v2
がONになっているのを確認する

次に
APIs & auth > Credentials で
Public API access
の方の
CREATE NEW KEY をクリックする

Create a new key
The APIs represented in the Google APIs Console require that requests include a unique project identifier. This enables the Console to tie a request to a specific project in order to monitor traffic, enforce quotas, and handle billing.
とかかれた Dialog がでるので
Android key をクリック

すると証明書の fingure print とアプリのパッケージ名を入力するように求められる

書き方は
45:B5:E4:6F:36:AD:0A:98:94:B4:02:66:2B:12:17:F2:56:26:A0:E0;com.example
というように
fingerprint;パッケージ名になる

fingureprint を表示するコマンドは

keytool -list -v -keystore mystore.keystore

と解説されている

Android からデバッグのために証明書が用意されているけど
実際にアプリリースするには自分の証明書が必要

ということで、今回は以前書いた記事

keystore ファイル作成
で作成したものを使ってみる

keytool -list -v -keystore ~/release.keystore  

で表示されたSHA1の値を使う

ちなみに Android のデバッグ用を使うのなら

keytool -list -v -keystore ~/.android/debug.keystore 

を実行して
パスワードなしで Enter で表示できる

使うのは
SHA1の行の値になる

これであとはアプリのパッケージ名と一緒に入力し
create
をおせばAPI key が表示される

pukiwiki plus インストール

pukiwiki plus インストール

PukiWiki Plus! を Ubuntu にインストール

を参考に
Ubuntu 13.10 に PukiwikiPlus をインストール

まずはssh でログイン

ロケールが正しく設定されていないと英語になってしまうらしいので
まずは
この設定を確認

Ubuntuでlocaleを追加する方法

を参考に
locale の追加を行う

まず日本語のロケールがサポートされているか確認

 grep ja  /usr/share/i18n/SUPPORTED

結果は
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
なので問題無し

デフォルトロケールの確認をしたいので

 echo $LANG

結果は
ja_JP.UTF-8
なので、これも問題無し

問題ないようなので
git からファイルを取得するはずが
まだ git がインストールされていないため

Ubuntuにgitをインストール

を参考に
git をインストール

sudo apt-get install git-core

でインストール可能

git の使い方は
ドットインストールで動画で解説されているので
こちらを見るとわかりやすい

git入門 (全22回)

インストールに関してはもう少し詳しい情報が欲しかったので
PukiWiki Plus! (コレ)のインストール

を参考に

まずは git でファイル取得し名前も変更する

git clone https://github.com/miko2u/pukiwiki-plus-i18n.git
mv pukiwiki-plus-i18n pubwiki

そのままアクセスしても
Error message :

Directory is not found or not writable (DATA_DIR)
Directory is not found or not writable (DIFF_DIR)
Directory is not found or not writable (BACKUP_DIR)
Directory is not found or not writable (CACHE_DIR)
となるので
権限を変更する

cd /var/www/pukiwikiplus/

chmod 777 attach backup cache counter trackback wiki diff
 chmod 666 cache/* wiki/*

そして
http://192.168.10.205/pukiwikiplus/?plugin=passwd&adminpass
へアクセス

するとパスワード再設定画面になるので
password に新規パスワード
Encryption key は暗号フレーズ
Calculate は暗号の形式
これらを選んで
CALC をおすと

Result に値がでるので
これをコピーして設定ファイルを編集する

vim auth.ini.php

でファイルを開いて
22行目の
パスワードの値を変更する
元は

$adminpass = '{x-php-md5}1a1dc91c907325c69271ddf0c944bc72'; // md5('pass')

なので

$adminpass = '表示された値'; // md5('pass')

へ変える

これで準備OK
あとは使うだけだけど
問題は使い方がわからない

ということで pukiwiki plus 使い方で検索し
PukiWiki使用入門

を参考に編集していくことにする

サーバー関連はインストールするだけじゃなくて
実際に運用することに意味があるけど
問題はほとんどの場合
とくに雑誌だとインストールまでで、使い方が載っていない
運用経験にもなるので、今後やり方などがわかり次第掲載予定

ubuntu 13.10 に pukiwiki インストール(失敗)

ubuntu 13.10 に pukiwiki インストール

雑誌に mediawikiのインストールが載っていたけど
使うなら pukiwiki のほうが使いやすそうなので
pukiwiki をインストール

参考にしたのは
UbuntuにPukiWikiをインストールした時の記録

こちらは ver 12.04 のUbuntu だけど
たぶん大丈夫だと思うので実践

インストールメモとかは wordpress よりも
ローカルに pukiwiki で作っておいたほうが読みやすいし
開発のメモなどもつくりやすい

まず、必要なパッケージをインストール

すでに wordpress とか入れているけど
念のためサーバー側で実行

sudo apt-get install php5 mysql-server php5-mysql

すでにインストール済みでバージョンも最新なのを確認

次にpukiwiki 公式サイトからダウンロード
ダウンロードするのは
pukiwiki-1.4.7_notb_utf8.tar.gz

ここは念のためバージョンを同じにしておく
バージョンが違うと
変更点をさがすはめになることが多いので
無難に同じバージョンにしておく

ダウンロード完了したら
scp コマンドでサーバーに転送

scp pukiwiki-1.4.7_notb_utf8.tar.gz snowpool@192.168.10.205:

送ったらログインして

sudo tar zxvf pukiwiki-1.4.7_notb_utf8.tar.gz -C /var/www/


-C オプションをつけることで指定のディレクトリに解凍

次にシンボリックリンクを作成
シンボリックリンクは windows のショートカットみたいなかんじ

sudo ln -s pukiwiki-1.4.7_notb_utf8 pukiwiki

ln -s でシンボリックリンクをつくれる

詳しくは
【 ln 】 ファイルやディレクトリにリンクを張る

で ln コマンドの解説を参考に

このままだと所有者がroot なので

sudo chown -R www-data:www-data pukiwiki

として
所有者を www-data に変更

次に設定ファイルの変更
この変更項目の解説は

PukiWikiのインストール手順 ■マイサーバー■

を参考に編集

cd pukiwiki-1.4.7_notb_utf8/

で移動して

sudo vim pukiwiki.ini.php 

でファイル編集

変更箇所のメモ
56行め

define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 1); // 1 = Disabled

define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 0); // 1 = Disabled

となるように
1を0に変更し
PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK を 0にする

114行めの

$page_title = 'PukiWiki';

がタイトルになるので

 $page_title = 'Linux & Android';

というように任意のものに変更

123行めの

$modifier = 'anonymous';

は管理者名
これも任意でOK

$modifier = 'snowpool';

というようにした

126行めの

$modifierlink = 'http://pukiwiki.example.com/';

はサイトのURL
とりあえず
ローカルで運用なので

$modifierlink = 'http://192.168.10.205/pukiwiki/';

193行めの

$adminpass = '{x-php-md5}!';

は管理者パスワードの設定
ただしmd5値を求めて書き込む必要がある

この方法は
本当は怖いパスワードの話

を参考に md5 値を求める

echo -n パスワード | md5sum

で値が表示されるのでコピペする

これで起動すると思ったけど動作しないので
調べてみたら
PukiWiki Advance インストール方法(Ubuntu12.04編)

によれば
PHP5.4では動かないとのこと

残念ながら pukiwiki の導入は断念し
Plus!独自のプラグイン

でプラグインが便利そうな
PukiWiki Plus! を導入することを検討