2013年3月24日日曜日

植物とは (基礎植物学)

0. 植物とは

 植物とは、生物を大きく分類したときの、 大きな一群のことである。
 下記のような多様な区分で分けられるため、 よく植物認定において
 論争が繰り広げられる。

  ・慣用的生物区分
    動物と対比させられた生物区分。
    根があって場所が固定されて生きているような生物。

  ・生体的生物区分
    光合成をする生物のこと。多細胞体制のもののみとする場合と、単細胞のものを含める場合がある。

  ・系統的生物区分
    真性生物の中の1つの生物群。陸上植物およびそれらに近縁な生物が含まれる。
    ワカメなどの褐藻は系統が異なるため、この区分で植物と認定する場合含まれないことになる。

 植物という語が指し示す範囲は歴史的に変わってきており、現在でも定義が並立している。
 植物を分類群として認めなかったり、別の名前を採用する動きもある。


1. 現在の植物の定義

 かつて植物は、光合成をする生物とされており、藻類(光合成をする水生生物)やシアノバクテリアなどを含んでいた。
 さらに光合成能力を失った植物と考えられていた真菌や、シアノバクテリア意外の細菌まで含むこともあった。
 人為分類的な「植物」としての分類もあるが、系統が異なるものは除き、単系統群を中心にまとめる。
 (光合成を行う藻類であっても褐藻(コンブ・ワカメなど)・珪藻などは系統が異なる。)
 現在でも、具体的にどの範囲を植物と呼ぶかは定説が泣く、下記にあげる各範囲が植物界としての候補となる。

 陸上植物:コケ植物、シダ植物、種子植物からなる単系統。
        古くは後生植物といい、陸上で進化し、高度な多細胞体制を持つ。
        この群を植物界とする分類はリン・マーギュリスが唱え、マーギュリスにより改訂された五界説と共に広まった。
        しかし、非常に近縁な緑藻植物などが含まれていないため、狭すぎるという点が指摘されている。

 ストレプト植物:陸上植物、車軸藻、接合藻からなる単系統。

 緑色植物:ストレプト植物と緑藻植物からなる単系統。葉緑体がクロロフィル a/bをもち2重膜である。
        「狭義の植物(Plantae sensu stricto)」と言った場合、これを意味することが多い。

 アーケプラスチダ:緑色植物、紅色植物、灰色植物からなる、たぶん単系統のグループ。葉緑体が2重膜である。
            シアノバクテリアを細胞内に共生させた生物を共通祖先とする単系統群であるという仮説に基づいて、
            トーマス・キャバリエ=スミスがこの系統を植物と定義した。
            「広義の植物(Plantae sensu lato) と言った場合、これを意味することが多い。
            ただし、より広義の意味と対比させ、「狭義の植物」と呼ぶこともある。

 バイコンタ:アーケプラスチダ、クロマルベオラータ、リザリア、エクスカヴァータからなる単系統。
         アーケプラスチダは側系統であり、他のバイコンタはその子孫だが葉緑体を失った、という仮説に基づき、
         バイコンタを植物界とみなす説が出ている。(Nozaki et al.2007)
         非常に広い定義であり、すべての(真核)藻類お多数の非光合成単細胞生物も含む。
         ただし、非主流の系統仮説に基づいていること、範囲が広すぎ実用的でないことから、
         あまり受け入れられていない。

 このように、いろんな植物学者が「仮説」をもとに自由に定義をしまくった結果この様な定義が定まらない状態が続いている。
 そのため、なるべく植物という名を避けて別の名を使う傾向がある。
 これは、動物がほぼ常に後生生物の意味で使われ、後生生物という言葉のほうが使われなくなりつつあるのとは
 対照的である。

2. 植物学
 植物形態学、植物発生学、植物生理学、植物地理学、薬用植物学などの諸分野があり、
 対象とする生物ごとに、シダ学、コケ学、藻類学、樹木学などと分けることもある。
 薬学、農学、林学、園芸学、草地学との関わりが深い。
 分子生物学の発展に伴って、古典的な植物学から進歩したという意味を込めて「植物科学」と呼ぶこともある。

2013年3月16日土曜日

PHP 環境構築

0. 前提条件

 Debian が最小構成(全パッケージ非選択)で導入されていること。


1. 必要パッケージのインストール

 PHPの動作に最低限必要なものをインストール
 必要に応じて追加パッケージを入れていく。


 # apt-get install apache2 php5


1. GD Graphics Library のインターフェイスをインストール

 JPEGやPNGなどを生成できるライブラリを入れる。
 グラフ生成などで使用する。


 # apt-get install php5-gd

Vim の設定

0. 前提条件

 Debian が最小構成(全パッケージ非選択)で導入されていること。


1. 必要パッケージのインストール

 デフォルトで入っているvimはtinyバージョンという最低限エディタとしての機能を
 提供するコンパクトバージョンなため、フルvimを入れよう。

 Vimは個人の設定しだいで統合開発環境レベルのエディタになる。


 # apt-get install vim



1. 必要パッケージのインストール

 デフォルトで入っているvimはtinyバージョンという最低限エディタとしての機能を
 提供するコンパクトバージョンなため、フルvimを入れよう。

 Vimは個人の設定しだいで統合開発環境レベルのエディタになる。


 # apt-get install vim



2. .vimrc設定ファイルの作成

 自分のhomeディレクトリ直下に.vimrcというファイルを作成し
 そこにvimの設定を書いていく。以下は私の設定


 # vim .vimrc
 syntax enable
 :colorscheme evening
 set nocompatible
 set ignorecase
 set smartcase
 set history=50
 set autoindent
 set clipboard=unnamed
 set expandtab
 set hidden
 set noincsearch
 set list
 set nowrap
 set number
 set shiftwidth=4
 set showmatch
 set smartcase
 set smartindent
 set smarttab
 set tabstop=4
 set whichwrap=b,s,h,l,<,>,[,]
 set nowrapscan
 
 "---insertHook seting
 augroup InsertHook
 autocmd!
 autocmd InsertEnter * highlight StatusLine guifg=#ccdc90 guibg=#2E4340
 autocmd InsertLeave * highlight StatusLine guifg=#2E4340 guibg=#ccdc90
 autocmd FileType php :set dictionary=~/.vim/dict/php.dict
 augroup END
 
 highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=#666666
 au BufNewFile,BufRead * match ZenkakuSpace / /
 
 au BufNewFile,BufRead * set iminsert=0
 au BufNewFile,BufRead * set tabstop=4 shiftwidth=4
 
 inoremap { {}
 inoremap [ []
 inoremap ( ()
 inoremap " ""
 inoremap ' ''
 vnoremap { "zdi^V{z}
 vnoremap [ "zdi^V[z]
 vnoremap ( "zdi^V(z)
 vnoremap " "zdi^V"z^V"
 vnoremap ' "zdi'z'
 
  

Vim の使い方

0. 前提条件

 Debian が最小構成(全パッケージ非選択)で導入されていること。
 vimがインストールされていること。

1. vimの画面分割機能

 vimには画面分割機能がついている。
 開発をする際に複数のファイルを見比べながら作業するときなどに必要。


 :vs (ファイル名)    左右分割 ※よく使う

 :sp (ファイル名)    上下分割 ※あまり使わない

 w       次のウインドウに移動

 :only          現在のウィンドウ以外を閉じる

 :h window       上記以外はヘルプを見る



2. ファイルエクスプローラ機能

 vimには標準でファイルエクスプローラ機能がついている。
 vimエディタ上からほかのファイルの位置関係や名前を確認できるので便利。


 :Ve           左側にエクスプローラウィンドウを開く

 以下はエクスプローラ内での操作

 i            ツリー表示にする。(ディレクトリでEnterを押せば中のファイルが表示される。
 

Debian vncserver のインストールと設定

0. 前提条件

 Debian が最小構成(全パッケージ非選択)で導入されていること。
 最低限のGUI(X環境)が整っていること。
 
 ※X環境の導入方法はここ→(LXDE導入方法)

1. 必要パッケージのインストール

 以下のパッケージが必要なため、まとめて突っ込む。


 # apt-get install -y vnc4server



2. 解像度の設定

 1024x768 など、満足のいく設定をいれる。 


 # vi /etc/vnc.conf

  $geometry = "1024x768";
  $depth = "24";



3. VNC接続用パスワードの設定

 VNCパスワードは Linuxユーザのパスワードとは別管理になる。


 # vncpasswd
 Password: パスワード入力
 Verify: 



3. 必要な設定ファイルを作成

 1回vncserverを起動すると必要なファイルができるため、
 一時的に起動する。


 # vncserver
 xauth: creating new authority file /root/.Xauthority
 New 'HOSTNAME:1 (root)' desktop is HOSTNAME:1
 Creating default startup script /root/.vnc/xstartup
 Starting applications specified in /root/.vnc/xstartup
 Log file is /root/.vnc/HOSTNAME:1.log



4. lxsessionを動かす設定を追記

 今回はLXDEを使用するため下記を追記


 # vi ~/.vnc/xstartup

~最終行に下記を追記~
 /usr/bin/lxsession &



5. 自動起動設定

 /etc/rc.localに追記して自動的に起動するようにしよう。
 ※ユーザ権限で実行させる。
 

 # vi /etc/rc.local

~最終行に下記を追記~
 su - ユーザ名 -c /usr/bin/vncserver



6. サーバを再起動してVNCクライアントで接続

以上

Debian IPアドレスの設定 と IPv6の無効化

0. 前提条件
 
 Debian 6(Squeeze以降)が最小構成(すべてのパッケージ非選択)で
 インストール済みであること。

1. インターフェイスへのIPアドレスの設定

 基本的なIPアドレスの設定


 #vi /etc/network/interface

 #iface eth0 inet dhcp ← DHCPになってるのでコメントOUTで残しておこう。

 自分のネットワーク環境に合わせて追記↓
 iface eth0 inet static
 address 192.168.24.30 
 netmask 255.255.255.0
 gateway 192.168.24.1



2 IPv6 の無効化

 不要であればIPv6を無効にしておく。
 (ほとんどの場合不要だと思うが)


 #echo "net.ipv6.conf.all.disable_ipv6 = 1" > /etc/sysctl.d/ipv6.conf
 #sysctl -p

2013年3月4日月曜日

HTML5

Cです。

「HTML5の時代」になった。
そもそも「HTML5」ってなんだ。

調べてみると、
「インターネットに接続されていなくても、使えるサイト」ってのが重要な要素になってきてるみたい。
Javascriptが元気を取り戻すわけだ。Flashは無くなっていくのか?
私は無くならないと思う。
HTML5のマルチメディア機能(videoタグ)だけでは、
現代のFlashで作成された動画配信サイトなどの要件を満たせるものとなっていないからだ。RTMPのあたりの話。

最近Flashストリーミングサーバをさわり出した関係で、
ActionScriptを勉強しているので、気になった。

以上

Red5 ストリーミングサーバの構築

0. 前提条件

 CentOS5.5 がインストールされておりネットワーク設定、初期設定が終了していること。


1. 必要パッケージのインストール

 Red5の動作に必要な下記パッケージをインストールする。
 JAVAで動作するためopenJDKをインストール。


   # yum install -y java-1.6.0-openjdk java-1.6.0-openjdk-devel


2. Red5の展開

 解答するだけで動作する。


   # tar -xvzf red5-1.0.0-RC2.tar.gz
   # cd /usr/local/red5/


2. Red5の起動

 解答するだけで動作する。


   # sh /usr/local/red5/red5.sh