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! を導入することを検討

ubuntu 13.10 へ wordpress インストール

ubuntu 13.10 へ wordpress インストール

http://ja.wordpress.org/
から
zip 形式の方をダウンロードする

次に FileZilla でサーバにアップロードする予定だったけど、なぜかすごく遅いため
scp コマンドで転送

転送完了したら
SSHでログイン

DBが必要になるので

mysql -u root -p

でパスワード入力して mysql へログイン

create database wordpress;
grant all on wordpress.* to wordpress@localhost identified by 'パスワード';

でDBを作成

cd /var/www/
unzip ~/wordpress-3.8-ja.zip 

でファイルを解凍

あとは
サーバーのIP/wordpress
へアクセスすると
セットアップ画面になる

設定を進めていくと
wp-config.php の作成を求められるので
内容をコピーして

vim  wp-config.php

でファイルを作成し
内容を貼り付ける

ベースファイルから編集することもできるけど
DBなど設定ファイルを変更する必要があるため
なれないうちはコピペが無難

ここから再びブラウザに戻りセットアップを完了すれば
あとはログインして内容を書いていくだけ

今回の場合、運用よりも

本格ビジネスサイトを作りながら学ぶ WordPressの教科書2
の実践と
wordpress プラグインの作成が目的

Ubuntu 13.10へDLNAサーバー構築

Ubuntu 13.10へDLNAサーバー構築

DLNAはマルチメディアデータを配信するサーバー

これをつくると
DLNAクライアント機能のあるテレビや
ゲーム機などの家電製品に対して
動画や音声、画像などを配信できる

通信設定の自動化やサービス検知のため
UPnPを使う

代表的なソフトは MediaTomb とか uShare
MediaTomb はデータ管理に
SQLite や MySQL を使う

今回は MediaTomb をインストールする

sudo apt-get install mediatomb

でインストール

次にブラウザで管理できるように設定ファイルを変更

sudo vim /etc/mediatomb/config.xml 

で設定ファイルを開き

7行めの

<ui enabled="no" show-tooltips="yes">

<ui enabled="yes" show-tooltips="yes">

に変更

また、9行めの

<account user="mediatomb" password="mediatomb"/>

のユーザ名、パスワードを変更する

user=”mediatomb”
がユーザ名

password=”mediatomb”
がパスワード

設定変更したら、mediatomb を再起動する

sudo service mediatomb restart

これであとはブラウザで
サーバーIP:49152
でアクセスすれば管理画面に飛べる

しかし、雑誌に載っていたのはここまで
使い方は自分で調べないとダメだった

mediatomb 使い方
で検索

Ubuntu (Ubuntu-Studio) 12.04をDLNAホームサーバーに仕立てる

mediatombで動画共有 [ubuntu]

を参考に追加の設定

 <accounts enabled="no" session-timeout="30">

 <accounts enabled="yes" session-timeout="30">

に変更

26行目の

<protocolInfo extend="no"/><!-- For PS3 support change to "yes" -->

<protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->

51行めの

<import hidden-files="no">

の後に

<filesystem-charset>UTF-8</filesystem-charset>
<metadata-charset>CP932</metadata-charset> 

を追加

78行めの

<map from="mka" to="audio/x-matroska"/> 

の後に

<map from="avi" to="video/divx"/>
 <map from="m4v" to="video/mp4"/>

<map from="mp4" to="video/mp4"/>

<map from="mpg" to="video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=01;DLNA.ORG_CI=0"/>

を追加

追加終了後
mediatomb 再起動

sudo service mediatomb restart

管理画面の使い方に関しては
NASのデータをDLNA配信したい -Ubuntu MediaTomb編- その2

を参考に

Ubuntu 13.10 でLANで音楽データ共有

Ubuntu 13.10 でLANで音楽データ共有

Ubuntu 13.10 でLANで音楽データを共有できるDAAPサーバーを構築

DAAPサーバーは iTunes など様々な音楽プレイヤーで利用できる

Linux なら Rhythonbox
XMMS2 を使う

配信可能なデータ形式は
MP3
FLAC
AAC
MPA
Ogg Vorbis
など

まずはサーバーの設定

sudo apt-get install forked-daapd ffmpeg

次に設定ファイルの確認

less -N /etc/forked-daapd.conf 

で中身を確認する

less コマンドについては
【 less 】 テキスト・ファイルの内容を閲覧する

を参考にするとわかりやすい

操作は
q
で less コマンドの終了
上下キーでファイルをスクロールできる

今回はファイルの確認でそこまでページもないので
これだけで十分

20行めが
name = “My Music on %h”
となっていることを確認
%h にはサーバーのホスト名が入る

ホスト名の確認は
hostname
で確認できる

27行めが
directories = { “/srv/music” }
となっていることを確認

この
/srv/music
が共有する音楽データを置く場所になる

最初に作成してくれないので
自分で作成する必要がある

sudo mkdir /srv/music
sudo chmod 777 /srv/music/

あとは
ここへ音楽ファイルをコピーする

注意点としては
音楽ファイルに読み込み権限がないと再生リストに表示されない
そして、ディレクトリでは閲覧できないため
ファイルを置くこと

ファイルを置いたら
UbuntuでNASにしたHP MicroServerを音楽配信サーバーに

を参考に

sudo service forked-daapd force-reload 

を実行して
コピーした音楽ファイルをDBに即座に反映させる

これで
Linux の rhytonboxx では共有できる

しかし、このままだと android や ipod touch で再生できない

今後はこの問題について検索予定

Ubuntu 13.10 へアプリケーションサーバーインストール

Ubuntu 13.10 へアプリケーションサーバーインストール

Ubuntu 13.10 へJava で記述されたWebアプリを稼働できる Tomcat をインストール

これは
ユーザからアクセスを受け付ける web server
データを管理する DB server
と組み合わせて使うことが多く
こうしたシステムは Web3階層システムと呼ばれる

インストールは

sudo apt-get install tomcat6 tomcat6-examples tomcat6-user tomcat6-admin tomcat6-extras 

でOK

次に
サーバーIP:8080/
へアクセスする

:8080
は 8080番ポートの意味

今回なら
http://192.168.10.205:8080/
これで
ページが表示されれば成功

次に、実際にログインできるように設定ファイルを編集

 sudo vim /etc/tomcat6/tomcat-users.xml

でファイルを開いて

18行目あたりの

<tomcat-sers>

から
最終行の

</tomcat-users>

の間にある

<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
-->

の後に追記する

内容は

<role rolename="manager-gui"/>
  <user username="ユーザ名" password="パスワード" roles="manager-gui"/>
  <role rolename="admin-gui"/>
  <user username="ユーザ名" password="パスワード" roles="admin-gui"/>

となる

これで Tomcat のWeb ベースの管理ツールになる
アプリ管理の
Tomcat Web アプリケーションマネージャ

そして仮想的なホストを管理する
Tomcat Virtual Host Manager
が使用できるようになる

設定ファイルを書き換えたので
tomcat 6 の再起動

sudo vim /etc/tomcat6/tomcat-users.xml

これらのツールへのアクセスは
http://192.168.10.205:8080/
のトップページの

manager webapp

host-manager webapp
のリンクからアクセスできる

しかし、なぜか
Tomcat Web アプリケーションマネージャ
がエラーになるため
設定ファイルを変更し

<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>

としたところ成功