さらに、1941年、ルーベン(S. Ruben)とケーメン(M, D. Kamen)は、酸素の同位体18Oを用いて、光合成で生じる酸素分子が水分子の酸素原子に由来し、二酸化炭素中の酸素原子には由来しないことを証明している。 (p.42)
光合成は・・・水と二酸化炭素を原料にして、光のエネルギーで酸素とデンプンを作り出すはたらきである。この化学式は12H2O + 6CO2 → C6H12O6 + 6O2 + 6H2Oさて、植物のはき出す酸素は、光合成前の二酸化炭素分子からくるのだろうか、それとも水分子からくるのだろうか?植物は「二酸化炭素を取り入れ酸素をはき出す」ので、二酸化炭素CO2の分子から酸素原子Oが取り出されて酸素O2を発生させると考えがちであるが、そうではない。p.42で述べたルーベンとケーメンの実験により、そのことが実証されている。 (p.44)
《一部表現は引用者が編集》『「人工光合成」とは何か』(光化学協会・井上晴夫; ブルーバックス)
2016年10月31日月曜日
メモ : 光合成
植物を構成するCHONのOは空気ではなく水からきている。
2016年10月4日火曜日
【wordpress】 プラグインのクラス化
ショートコードで呼べるプラグインを作るのはとても簡単 :
(以下、機能文字は全角で記載してあるので、半角に読みかえること。)
1.(site)\wp-content\plugins\ の下にフォルダーを作る。プラグイン名と同じがよい。
2.そこに「プラグイン名.php」をつくる。 例 : my_plugin_1.php
3.内容はこんな感じ :
5.投稿中に [show_my_plugin_1] と書くと、「何かのコンテンツ」が表示される。
これをクラスにするにはこんな感じ :
}
//インスタンスを生成; 変数への保存は不要
new myPlugin1Class();
6.例によって、「ミソ」を発見するのに一苦労あったので、メモ。
(以下、機能文字は全角で記載してあるので、半角に読みかえること。)
1.(site)\wp-content\plugins\ の下にフォルダーを作る。プラグイン名と同じがよい。
2.そこに「プラグイン名.php」をつくる。 例 : my_plugin_1.php
3.内容はこんな感じ :
<?php
/**
Plugin Name: my plugin 1
Plugin URI:
Description: my test plugin no_1.
Author: Author Name
Author URI:
Text Domain:
Domain Path:
Version: 0.0.0
*/
add_shortcode("show_my_plugin_1", "my_plugin_1_page");
function my_plugin_1_page() {
return ’<p>何かのコンテンツ</p>’;
}
4.ダッシュボードのプラグイン一覧を開くと、「my plugin 1」が載っているので、有効化する。表示されている名称はコード冒頭の「Plugin Name」で指定したもの。5.投稿中に [show_my_plugin_1] と書くと、「何かのコンテンツ」が表示される。
これをクラスにするにはこんな感じ :
class myPlugin1Class {
public function __construct() {
//コンストラクタで add_shortcode する。
//以下の、配列にして $this を渡すことがミソ。
add_shortcode("show_my_plugin_1", array($this, "my_plugin_1_page"));
}
public function my_plugin_1_page() {
return ’<p>何かのコンテンツ</p>’;
}
//インスタンスを生成; 変数への保存は不要
new myPlugin1Class();
6.例によって、「ミソ」を発見するのに一苦労あったので、メモ。
2016年9月5日月曜日
【PHP】 関数・メソッドのパラメタとして配列を渡した場合の処理
こういう説明は、検索してもなかなか引っかからない。明快な説明をみつけたので、メモ。
>>>>>>
関数に配列が値渡しの引数として与えられた場合、PHPはその時点ではスタック領域のポインタアドレスを渡している(配列のコピーは作られていない)が、配列に変更があった時点でその配列のヒープ領域がコピーされ別の変数として新しいスタック領域に別のポインタアドレスが保存される。
明示的に参照渡しとして関数に配列が引数として与えられた場合は、配列に変化を加えても新しいスタック領域は確保されず、参照で与えられたポインタアドレスのヒープ領域の配列が変化する。
値渡しであっても参照渡し(ポインタ渡し)であっても,最初の段階ではどちらも参照渡しの状態になるが、明示的に参照渡しをしない限り、配列が変更されたタイミングで元の配列がコピーされ、新しい配列が生成される。
<<<<<<
小さな配列なら変更後の配列を返す関数でも問題ないだろうが、大きくなる場合は注意を要する。
情報元 : http://memo.choimemo.net/?p=441
>>>>>>
関数に配列が値渡しの引数として与えられた場合、PHPはその時点ではスタック領域のポインタアドレスを渡している(配列のコピーは作られていない)が、配列に変更があった時点でその配列のヒープ領域がコピーされ別の変数として新しいスタック領域に別のポインタアドレスが保存される。
明示的に参照渡しとして関数に配列が引数として与えられた場合は、配列に変化を加えても新しいスタック領域は確保されず、参照で与えられたポインタアドレスのヒープ領域の配列が変化する。
値渡しであっても参照渡し(ポインタ渡し)であっても,最初の段階ではどちらも参照渡しの状態になるが、明示的に参照渡しをしない限り、配列が変更されたタイミングで元の配列がコピーされ、新しい配列が生成される。
<<<<<<
小さな配列なら変更後の配列を返す関数でも問題ないだろうが、大きくなる場合は注意を要する。
情報元 : http://memo.choimemo.net/?p=441
2015年7月28日火曜日
【Delphi】圧縮・解凍
Mr.X-Ray の下記のサイトに 7-zip32.dll を使用する方法が詳しく載っている。
http://mrxray.on.coocan.jp/Delphi/plSamples/732_Archiver7-ZIP32.htm#03
7-zip のコマンドはパラメタの設定がややこしい。
Mr.X-Ray のオリジナルではサブフォルダーも処理するが、サブフォルダーを無視するには「-r」パラメタを削除する。
またパスワードを付けるには「-pXXXXXXXX」を追加する。
http://mrxray.on.coocan.jp/Delphi/plSamples/732_Archiver7-ZIP32.htm#03
7-zip のコマンドはパラメタの設定がややこしい。
Mr.X-Ray のオリジナルではサブフォルダーも処理するが、サブフォルダーを無視するには「-r」パラメタを削除する。
またパスワードを付けるには「-pXXXXXXXX」を追加する。
2015年4月21日火曜日
【jQueryMobile】 select で data-native-menu="False" が表示されない
jQueryMobile では<select>に data-native-menu="False" と書くことで独自の選択窓がポップアップするのだが、これが機能しないトラブルに見舞われた。ブラウザのコンソールでソースを表示してみたら select ボタンのリンク先にゴミがついている。
原因は以下のとおり :
2013年8月20日火曜日「php と jQuery mobile の環境でリダイレクト」で書いたように、メインページには
data-url="<?php echo $_SERVER["SCRIPT_NAME"]?>"
のように書くのだが、SCRIPT_NAME ではなく PHP_SELF と書いていた。これはこれで望ましい場合があるのだけれど、select ボタンとは両立しない。
原因は以下のとおり :
2013年8月20日火曜日「php と jQuery mobile の環境でリダイレクト」で書いたように、メインページには
data-url="<?php echo $_SERVER["SCRIPT_NAME"]?>"
のように書くのだが、SCRIPT_NAME ではなく PHP_SELF と書いていた。これはこれで望ましい場合があるのだけれど、select ボタンとは両立しない。
2015年3月26日木曜日
【OpenOffice】 表紙の次のページからページ番号を振るには
OpenOffice の Writer には「ページスタイル」という属性があり、ページスタイルごとにページの設定ができるのだが、この設定の仕方がわかりにくい。
※ 準備
1)「メニュー → 表示 → サイドバー」でサイドバーを表示しておく
2)サイドバーで「スタイルと書式設定」ページを表示し、「ページスタイル」ボタンをクリック
※ 表紙にページ番号を付けない => 表紙ページのページスタイルを「最初のページ」に変更する
1)表紙ページにカーソルを置く
2)「ページスタイル」で"最初のページ"をダブルクリック
※ 次ページからページ番号を振る => 2ページ目以降のページスタイルを「標準」とし、開始ページ番号を1に変更する
1)2ページ目の本文先頭にカーソルを移動する
2)「書式」-「段落」
3)「段落」ダイアログで「体裁」タブをクリック
4)"区切り"の"ページスタイル付き"をオン
5)"ページ番号"を"1"にする
6)「OK」ボタンをクリック
※ フッタの有無を設定する
1)「挿入 → フッター」
2)「最初のページ」はオフ、「標準」はオンに設定
以下のサイトに説明がある : http://oooug.jp/faq/index.php?faq%2F3%2F150
※ 準備
1)「メニュー → 表示 → サイドバー」でサイドバーを表示しておく
2)サイドバーで「スタイルと書式設定」ページを表示し、「ページスタイル」ボタンをクリック
1)表紙ページにカーソルを置く
2)「ページスタイル」で"最初のページ"をダブルクリック
※ 次ページからページ番号を振る => 2ページ目以降のページスタイルを「標準」とし、開始ページ番号を1に変更する
1)2ページ目の本文先頭にカーソルを移動する
2)「書式」-「段落」
3)「段落」ダイアログで「体裁」タブをクリック
4)"区切り"の"ページスタイル付き"をオン
5)"ページ番号"を"1"にする
6)「OK」ボタンをクリック
※ フッタの有無を設定する
1)「挿入 → フッター」
2)「最初のページ」はオフ、「標準」はオンに設定
以下のサイトに説明がある : http://oooug.jp/faq/index.php?faq%2F3%2F150
2015年1月16日金曜日
jQuery Mobile で確認画面へのリンクが機能しない
PHP と jQuery Mobile によるスマホ向けサイトではポップアップ画面等、「role="page"」で定義した第2画面へのリンクが表示されないことがある。jQuery の ajax による画面遷移をサーバ(PHPのプログラム)がサポートするのが本来かもしれないが、ajax を機能停止するのが手っ取り早い。
<HEAD> に以下のスクリプトを書く :
<script>
$(document).bind('mobileinit', function(){
$.mobile.ajaxEnabled = false; //ChromeではこれだけでOK
$.mobile.ajaxLinksEnabled = false;
$.mobile.pushStateEnabled = false; //IEではこれが必要
});
</script>
<HEAD> に以下のスクリプトを書く :
<script>
$(document).bind('mobileinit', function(){
$.mobile.ajaxEnabled = false; //ChromeではこれだけでOK
$.mobile.ajaxLinksEnabled = false;
$.mobile.pushStateEnabled = false; //IEではこれが必要
});
</script>
登録:
投稿 (Atom)
