約 5,664,343 件
https://w.atwiki.jp/boare/pages/113.html
Release Note Release Date 30 May, 2009 Notes Cadencii requires ".NET Framework Runtime(version 2.0 or later)" and "Visual C++ Library DLLs". Installers of these rumtimes are available from the links below. .NET Framework Runtime Download .NET Framework 3.5 SP1 Visual C++ Library DLL Microsoft Visual C++ 2008 Redistributable Package (x86) Cadencii can be launched with the latest version of mono. This enable you to use Cadencii with many platforms supported by mono. (Note Several functions using VOCALOID2 VSTi are not available in this case.) Mono is available from the link mono download Download Cadencii version 2.0.0 (568KB) CadenciiSDK version 2.0 (455KB) How to get source codes Source code is available on SourceForege.JP. Please follow the instruction below for checking out the SourceForge.JP s SVN repository. svn checkout -r 205 http //svn.sourceforge.jp/svnroot/cadencii/branches/2.0 ./ These cvs / svn command is for checiking out "THIS" version of Cadencii. In order to get the latest source codes, please remove "-r" options from these commands.
https://w.atwiki.jp/0x0b/pages/16.html
BBコード一覧 [b]太字[/b] [u]下線[/u] [i]イタリック[/i] [color=red]赤字[/color] [quote]引用ボックス[/quote] または [quote=Player name]署名入りの引用ボックス[/quote] [list] [*]リストアイテム [*]リストアイテム [list] [village=(x-coord|y-coord)] 、 [village=x-coord|y-coord] 、 [village=mapid] は村の概観へのリンクができますが、現在は入力しても問題が発生します [player=uid] は特定のプレイヤープロフィールへのリンクができますが、現在は入力しても問題が発生します [alliance=aid] は特定の同盟プロフィールへのリンクができますが、現在は入力しても問題が発生します [Legionnaire] レジョネアアイコン これはどの兵種でもできますが、大文字・小文字の区別も含めて正しいスペルを入力してください! [color=] タグは下記の色のみ可能です 'aqua', 'black', 'blue', 'fuchsia', 'gray', 'green', 'lime', 'maroon', 'navy', 'olive', 'purple', 'red', 'silver', 'teal', 'white', 'yellow' またはhtmlのような *00F や *0000FF (青)なども使えます。 , 'teal', 'white', 'yellow' as well as process colour values in hexadecimal writing-wise as for example *00F or *0000FF (for blue). [#0] ハトのやつ 初心者期限がいつ切れるか見れる [ally] レシピアント(宛先)に[ally]といれてメッセージを送ると 所属している全ての同盟員へメッセージを発送できる ※盟主のみ利用可
https://w.atwiki.jp/hondashi/pages/29.html
なんか結構変わっててそのままじゃムリポだった XPと同じレジストリ追加だと、パッチ・MODインストーラがBF2のインストールフォルダを見つけられなかった そこで、再インストール後調査 まずはインストール直後ver1.0かな? ゲーム情報 これはソリティアとかマインスイーパーとかある所に、 BF2を追加するためのレジストリ インストールすると勝手に追加されるっぽ Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\S-1-5-21-1234567890-1234567890-1234567890-1234\{30179146-09EB-47E2-97CC-45DC7E1079B0}] "ConfigInstallType"="3" "ConfigApplicationPath"="C \\Program Files (x86)\\EA GAMES\\Battlefield 2" "ConfigGDFBinaryPath"="C \\Windows\\system32\\GameUXLegacyGDFs.dll" "ApplicationId"="{87654321-4321-4321-4321-210987654321}" "Description"="BattleField2™" "AppExePath"="C \\Program Files (x86)\\EA GAMES\\Battlefield 2\\BF2.exe" S-1-5-21-で始まる数字列はユーザに割り振られたID(レジストリHKEY_USERS\S-1-5-21-***を参照)S-1-5-21-10桁-10桁-10桁-4桁(全部数字) しばらくしたらなんか増えた 勝手に取得してくるのか、なんか増えた 追記 ゲームの所のオプションで自動取得するか設定出来る様だ Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\S-1-5-21-1234567890-1234567890-1234567890-1234\{30179146-09EB-47E2-97CC-45DC7E1079B0}] "ConfigInstallType"="3" "ConfigApplicationPath"="C \\Program Files (x86)\\EA GAMES\\Battlefield 2" "ConfigGDFBinaryPath"="C \\Windows\\system32\\GameUXLegacyGDFs.dll" "ApplicationId"="{87654321-4321-4321-4321-210987654321}" "Description"="Modern multiplayer warfare flares in {@Digital Illusion} s {*Battlefield 2}. As in the developer s original {*Battlefield 1942} (as well as its various add-ons and {*Vietnam}-themed update), the focus of {*Battlefield 2} is on fast-paced, vehicle-enabled, online combat for a large group of players -- the sequel supports as many as 64 on a single map. Unlike earlier versions, however, {*Battlefield 2} is set in the near future instead of a glorified past. Players fight for the United States, China, or the Middle East coalition, using technologically advanced weapons, equipment, and vehicles. The selection of over 30 usable land, sea, and airborne vehicles includes helicopters, hovercraft, jeeps, and jets. A variety of soldier types are available for play, including assault infantry, snipers, engineers, medics, spec ops agents, and others. Gamers can also choose to take the role of a strategic commander, directing units across the battlefields from an overseer s position, but not taking part directly in the action. As characters gain experience in online battle, they increase in rank, are awarded medals, and gain access to additional high-end equipment. The game s engine is designed to automatically scale the size of the maps to the number of players in the session. ~ T.J. Deci, All Game Guide" "AppExePath"="C \\Program Files (x86)\\EA GAMES\\Battlefield 2\\BF2.exe" "Genre"="Shooter" "DeveloperName"="Digital Illusions CE AB" "PublisherName"="EA Games" "ReleaseCountry"="United States" "Title"="Battlefield 2" "WMGameId"="12345678-1234-1234-1234-123456789012" "DeveloperUrl"="http //www.dice.se 80/" "PublisherUrl"="http //eagames.ea.com 80/" "BoxArt"="http //images.metaservices.microsoft.com 80/games/prod//AMG_CoverArt/drg200/g218/g21800mmtj8.jpg" "ReleaseDate"="2005-06-21" "TimeToRefreshBasicData"=hex(b) 0d,2a,4f,21,88,ea,c9,01 "TimeToRefreshBoxArt"=hex(b) ab,20,06,22,88,ea,c9,01 BoxArtとか表示されちゃって、ちょっと格好良くなったかも知れない レジストリの階層名の{30179146-09EB-47E2-97CC-45DC7E1079B0}は変えるとうまく表示されなくなったBoxArtが出なかったり、未指定とかなっちゃったり 追記 ゲーム情報消してプレイしなおすと勝手にまた追加されるようだ。 そのときこの{3017...}の英数字も変わっていたから、その都度ランダムに生成されるようだ ApplicationId、WMGameIdはPC内でいろいろ識別するのに使うのであろうが検索しても他で使われていない(当たり前か)&上記のように123...にしても問題ないようだインストール直後は8桁-4桁-4桁-12桁の英数字 重要そうな所 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\DICE\Battlefield 2(TM)\1.00.0000] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Battlefield 2] "Language"="English" "Locale"="en_US" "InstallDir"="C \\Program Files (x86)\\EA GAMES\\Battlefield 2\\BF2.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Battlefield 2\ergc] @="CDKey大文字ハイフン無し" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Battlefield 2\wdc] @="true" 名前 コメント
https://w.atwiki.jp/metalmetabo/pages/15.html
- visitors Maize Phosphoenolpyruvate Carboxylase http //www.jbc.org/content/280/12/11798.full A Takahashi-Terada, M Kotera, K Ohshima, T … - Journal of Biological …, 2005 - ASBMB Phosphoenolpyruvate carboxylases (PEPC, EC 4.1.1.31) from higher plants are regulated by both allosteric effects and reversible phosphorylation. Previous x-ray crystallographic analysis of Zea mays PEPC has revealed a binding site for sulfate ion, speculated to be the site for ... 2009 Bacterial-type phosphoenolpyruvate carboxylase (PEPC) functions as a catalytic and regulatory subunit of the novel class-2 PEPC complex of vascular plants http //www.jbc.org/content/284/37/24797.abstract B O Leary, SK Rao, J Kim, WC Plaxton - Journal of Biological Chemistry, 2009 - ASBMB Phosphoenolpyruvate carboxylase (PEPC) is a tightly regulated anaplerotic enzyme situated at a major branch point of the plant C metabolism. Two distinct oligomeric classes of PEPC occur in the triglyceride-rich endosperm of developing castor oil seeds (COS). Class-1 PEPC is ... 2008 Oxidative pentose phosphate pathway-dependent sugar sensing as a mechanism for regulation of root ion transporters by photosynthesis http //www.plantphysiol.org/cgi/content/abstract/146/4/2036 L Lejay, J Wirth, M Pervent, JMF Cross, P Tillard … - Plant …, 2008 - Am Soc Plant Biol Root ion transport systems are regulated by light and/or sugars, but the signaling mechanisms are unknown. We showed previously that induction of the NRT2.1 NO 3 – transporter gene by sugars was dependent on carbon metabolism downstream hexokinase (HXK) in ... Evolution of C4 phosphoenolpyruvate carboxylase in Flaveria determinants for high tolerance towards the inhibitor L-malate http //www3.interscience.wiley.com/journal/119398758/abstract?CRETRY=1 SRETRY=0 B Jacobs, S Engelmann, P Westhoff, … - Plant, Cell …, 2008 - interscience.wiley.com During the evolution of angiosperms, C 4 phosphoenolpyruvate carboxylases have evolved several times independently from ancestral non-photosynthetic isoforms. They show distinct kinetic and regulatory properties when compared with the C 3 isozymes. To identify the ... Kinetic analyses of recombinant isoforms of phosphoenolpyruvate carboxylase from Hydrilla verticillata leaves and the impact of substituting a C4-signature serine http //www.sciencedirect.com/science?_ob=ArticleURL _udi=B6TBH-4RPTJ4W-1 _user=10 _coverDate=04%2F30%2F2008 _rdoc=1 _fmt=high _orig=search _sort=d _docanchor= view=c _rerunOrigin=scholar.google _acct=C000050221 _version=1 _urlVersion=0 _userid=10 md5=ec011bac999ef45d83524838dc0edc5b SK Rao, JB Reiskind, G Bowes - Plant Science, 2008 - Elsevier Hydrilla verticillata (Lf) Royle is a single-cell C 4 NADP-malic enzyme species in which the C4 and Calvin cycles operate in the same cell; phosphoenolpyruvate carboxylase (PEPC; EC 4.1.1.31) is the initial carboxylase. The cDNAs of two Hydrilla PEPC isoforms were ... Maize C4-form phosphoenolpyruvate carboxylase engineered to be functional in C3 plants mutations for diminished sensitivity to feedback inhibitors and for … http //jxb.oxfordjournals.org/cgi/content/abstract/ern018v1 T Endo, Y Mihara, T Furumoto, H … - Journal of …, 2008 - Soc Experiment Biol Introducing a C 4 -like pathway into C 3 plants is one of the proposed strategies for the enhancement of photosynthetic productivity. For this purpose it is necessary to provide each component enzyme that exerts strong activity in the targeted C 3 plants. Here, a maize C 4 -form ... 2007 Physiological impacts of modulating phosphoenolpyruvate carboxylase levels in leaves and seeds of Arabidopsis thaliana http //www.sciencedirect.com/science?_ob=ArticleURL _udi=B6TBH-4M4CTJP-1 _user=10 _coverDate=02%2F28%2F2007 _rdoc=1 _fmt=high _orig=search _sort=d _docanchor= view=c _rerunOrigin=scholar.google _acct=C000050221 _version=1 _urlVersion=0 _userid=10 md5=982911798c6aebe8ea23429dc85bb8b6 B Lebouteiller, A Gousset-Dupont, JN Pierre, J Bleton, … - Plant Science, 2007 - Elsevier Arabidopsis thaliana was transformed with a Sorghum C 4 PEPC cDNA under the control of the 35S promoter. Primary transformants were isolated and classified on a seed PEPC activity basis A lines (two-fold increase) and B lines (four-fold increase). Primary transformants ... 2006 Light regulation of the photosynthetic phosphoenolpyruvate carboxylase (PEPC) in Hydrilla verticillata http //pcp.oxfordjournals.org/cgi/content/abstract/47/9/1206 S Rao, J Reiskind, G Bowes - Plant and cell physiology, 2006 - Jpn Soc Plant Physiol The submersed monocot, Hydrilla verticillata (Lf) Royle, is a facultative C 4 NADP-malic enzyme (NADP-ME) plant in which the C 4 and Calvin cycles co-exist in the same cell. Futile cycling is avoided by an intracellular separation of carboxylases between the cytosol and ... The importance of the strictly conserved, C-terminal glycine residue in phosphoenolpyruvate carboxylase for overall catalysis Mutagenesis and truncation of Gly-961 … http //www.jbc.org/content/281/25/17238.abstract W Xu, S Ahmed, H Moriyama, R Chollet - Journal of Biological Chemistry, 2006 - ASBMB Phosphoenolpyruvate carboxylase (PEPC) is a “multifaceted”, allosteric enzyme involved in C4-acid metabolism in green-plants/- microalgae and prokaryotes. Prior to the elucidation of the three-dimensional structures of maize C4-leaf and Escherichia coli PEPC, our ... 2005 In vitro proteolysis of phosphoenolpyruvate carboxylase from developing castor oil seeds by an endogenous thiol endopeptidase http //pcp.oxfordjournals.org/cgi/content/abstract/46/11/1855 V Crowley, S Gennidakis, WC … - Plant and cell …, 2005 - Jpn Soc Plant Physiol Two novel phosphoenolpyruvate carboxylase (PEPC) isoforms have been biochemically characterized from endosperm of developing castor oil seeds (COS). The association of a 107 kDa PEPC subunit (p107) with an immunologically unrelated bacterial PEPC-type 64 kDa polypeptide leads ...
https://w.atwiki.jp/0x0b/pages/73.html
DOM(Document Object Model) DOMとは、HTMLやXHTML (XML) で書かれたドキュメントにアクセスするためのAPIである。DOMは多くのプログラミング言語でライブラリやモジュールとして実装されているが、ウェブブラウザと統合しているJavaScriptの処理系では特に言語仕様として組み込まれており(ただし、SpiderMonkeyなど単体のJavaScriptエンジンには組み込まれていない)、DOMオブジェクトを介してアクセスすることができる。 W3Cから勧告されたHTML・XML文書をアプリケーションから利用するためのAPI Level 1~Level 3まで用意されている XML文書を扱う「Core」、HTML文書を扱う「HTML」等のモジュールに分かれている。 XMLを読み込む別のAPIであるSAXと異なり、XMLデータをツリー構造として扱う事ができる。通常の場合対象のXML文書を全て読み込んでからの扱いを前提とするため動作速度が遅かったり、メモリーの使用量が大きくなる欠点もある W3CではAPIの仕様を定義しているのみで、特定のプログラム言語を対象としたものではない DOMの実装は各メーカーに委ねられており、DOMを実装したXMLパーサーが各メーカーから提供されている バージョンとブラウザの対応表 NN=Netscape Navigator MF=Mozilla Firefox IEinternetExplorer バージョン 日付 規格 NN MF IE Opera Safari Google Chrome 1.0 1996年3月 2.0 3.0 1.1 1996年8月 3.0 1.2 1997年7月 4.0-4.05 1.3 1998年10月 ECMA-262 1st edition / ECMA-262 2nd edition 4.06-4.7x 4.0 1.4 Netscape Server 1.5 2000年11月 ECMA-262 3rd edition 6.0 1.0 5.5 (JScript 5.5), 6 (JScript 5.6), 7 (JScript 5.7), 8 (JScript 5.8) 6.0, 7.0, 8.0, 9.0 1.6 2005年11月 1.5 + Array extras + Array and String generics + E4X 1.5 3.0, 3.1 1.7 2006年10月 1.6 + Pythonic generators + Iterators + let 2.0 3.2, 4.0 1.0 1.8 2008年7月 1.7 + Generator expressions + Expression closures 3.0 1.8.1 1.8 + Minor Updates 3.5 1.9 1.8.1 + ECMAScript 5[8] Compliance 4 仕様 Document Object Model (DOM) Level 1 Specification XML 1.0, HTML 4.0x Document Object Model (DOM) Level 2 Core Specification XML 1.0 基本的メソッド、名前空間に関する拡張 Document Object Model (DOM) Level 2 HTML Specification HTML 4.0xに関する拡張と、XHTML 1.0のサポート Document Object Model (DOM) Level 2 Views Specification ビューに関する拡張 Document Object Model (DOM) Level 2 Style Specification スタイルシート(CSS及びCSS Level2)に関する拡張 Document Object Model (DOM) Level 2 Events Specification イベント(ユーザインタフェースイベント、マウスイベント、DOMツリーの変化に伴うイベント、HTML 4.01のイベント)に関する拡張 Document Object Model (DOM) Level 2 Traversal and Range Specification DOMツリーの横断と、DOMツリーの操作範囲に関する拡張 Document Object Model (DOM) Level 3 Core Specification XML 1.0 基本的メソッド、名前空間に関する拡張 Document Object Model (DOM) Level 3 Load and Save Specification DOMツリーの読み書き Document Object Model (DOM) Level 3 Validation Specification DOMツリーに含まれるスキーマ定義の編集
https://w.atwiki.jp/orange_sherbet/pages/22.html
Motivation The very first step of "Making" friends. Definition - courtney The desire to interact in with people, culture and language to which you may be new; the ability to step out of your comfort zone; the will to make mistakes and learn from them. Analysis - courtney All ICU students have already demonstrated some kind of motivation. The OYR students came from other countries because they wanted to study in Japan. April and September students passed rigorous entrance exams because they chose to attend ICU, a school with an international atmosphere. Motivation is the most important factor in overcoming differences and barriers and creating friends outside one s native language/culture. Motivation allows you to continue learning even during setbacks, allows absorption of criticism and the ability to overcome of mistakes. Learning a new culture and meeting people in a new culture is often all about mistakes and learning, and without motivation, the setbacks can easily kill the energy required to interact in a new environment. Examples / Actual Cases When I first entered ICU, I didn t know anyone - I felt so alone, because there was no friends that I could hang out with. I was so motivated and wanted to make friends, but it was hard. JLP class was too small. However, other classes were too big (since I was taking GE classes), and those classes were almost all individual work. There was no "出会い", a chance to meet someone. Even if I met many other September students, I didn t get a chance to meet OYR students and April students. There wasn t an opportunity to meet people, which was a problem. (continues on to "solution") Masumi My friend in Canada, who is initially from Hong Kong, loves Japanese movies and cars. He has never studied in Japan, however, his Japanese is soo good because he learns Japanese from watching movies and he eagers to speak Japanese to Japanese people. I think this is because he is highly motivated by falling in love with Japanese movies, cars and probably girls lol Yoshimi Well, many people at ICU wants OYR students, I think. However, the thing is... they are not thaaat motivated. Their motivation is not as high as using their free time making effort and embarassing themselves by being rejected. I mean, Japanese people tend to think like... Well,,, the girl sitting beside me seems like OYR students... I want to get to know her... but... what if I get ignored or annoyed!? isn t is embarassing?? and... she might not a OYR student. Should I talk to her in Japanese or English?? Would it be rude if I ask her where she is from.. because I heard it would be in some culture... Alright... just forget it.... so... for Japanese students... they have to be really really motivated to talk to strangers. its like jumping out from the window... Yoshimi Solution / Recommendation / Suggestion etc. - court (this needs revision) A little encouragement and motivation go a long way. Japanese language students need to find motivation in to speak in Japanese even when everyone in the immediate environment, ICU, can speak English. For example, joining a club or finding a boyfriend/girlfriend where the activities/relationships are conducted in your foreign language are excellent motivating factors. Edit this page
https://w.atwiki.jp/apex/pages/34.html
AMPK AMP-activated protein kinase がん細胞での栄養飢餓適応反応のシグナル伝達解析 http //repository.dl.itc.u-tokyo.ac.jp/dspace/bitstream/2261/9247/1/K-00799-a.pdf 腫瘍悪性化関連因子 ARK5 遺伝子の腫瘍細胞における発現調節機構 http //repository.dl.itc.u-tokyo.ac.jp/dspace/bitstream/2261/25071/2/K-00190-a.pdf メタボリックシンドローム・糖尿病の鍵分子 アディポネクチン受容体AdipoR/AMPK/ACC タンパク群の 構造解析とそれに基づく機能解明及び治療法開発 代表機関:東京大学大学院医学系研究科 代表研究者:門脇 孝 背景 ■ 肥満はメタボリックシンドロームや糖尿病を引き起こし、心疾患や脳血管疾患の原因となる ■ 脂肪の燃焼を活発にするアディポネクチンという「善玉分子」がある ■ 脂肪燃焼経路を解明すれば、メタボリックシンドロームや糖尿病の治療薬開発へとつながる 成果 ■ 脂肪燃焼経路にある主要タンパク質の構造と機能の解析が進んだ ■ メタボリックシンドロームや糖尿病の治療薬となる候補化合物を発見 ■ 今後も構造と機能の解析を進め、メタボリックシンドロームや糖尿病のよりよい治療薬候補を探していく
https://w.atwiki.jp/mojavi_php/pages/7.html
mojaviの導入(その2)mojaviを使ったフレームワークの概念 mojaviを使う 「hello」というアクションの処理 「hello」アクションのに対するviewの処理 テンプレートの作成「defaultindex.tpl」 実行 少し発展 次回 mojaviの導入(その2) mojaviを使ったフレームワークの概念 右下のがクライアントからのアクセス。 クライアントがmojaviにアクセスしてくると、mojaviは「action」をおこします(①の部分)。 actionを実行すると、次にviewに移ります(②の部分) viewではクライアントに返すHTMLをテンプレートから読み込みます。(③、④の部分) 以上がmojaviを使った一連の流れです。 mojaviを使う WEBプログラマはまず何をするかというと、図で言うところの「①」の処理を考えます。 クライアントからのリクエストは「http //127.0.0.1/mojavi_tutorial/www/index.php?module=Default action=hello」というようなURLでリクエストされます。またその時、GETなどのデータが付随することになります。 このリクエストでは、mojaviに「default」モジュールに「hello」というアクションを発生させるリクエストです。 一応、「Default」というモジュールは最初から存在します。 しかし、helloというアクションをどのように処理するかはプログラマが決定しなければなりません。 では、helloというアクションを受け取ったら「Hello!」という文字をクライアントに返す様なプログラムを作ってみましょう。 「hello」というアクションの処理 「/webapp/modules/Default/actions」に「helloAction.class.php」というファイルを作ってください。(文字コードはEUC) そのファイルの内容を以下のように入力します。 ?php class helloAction extends Action { function execute ( $controller, $request, $user) { $request- setAttribute( message , Hello! ); return success ; } } ? クライアントから「hello」アクションを受け取るとexecute関数がmojaviから呼び出されます。helloアクションを受け取ったときにやりたいことをここに書き込めばいいのです。 今回はなにやら難しい事がexecute関数内に書いてありますが、そのまま入力してください。 「hello」アクションのに対するviewの処理 action処理が終了すると(上のexecute関数が実行された後)mojaviはviewを呼び出します。 「/mojavi_tutorial/modules/Default/views」に「helloView_success.class.php」というファイルを作ってください。 「hello」action処理が終わると「hello」view処理が始まるわけです。その内容を「helloView_success.class.php」に書き込みます。 ?php class helloView extends View { function execute ( $controller, $request, $user) { $renderer = new Renderer($controller, $request, $user); $renderer- setTemplate( defaultindex.tpl ); $renderer- setAttribute( view_message , $request- getAttribute( message )); return $renderer; } } ? Rendererというクラスは、Smartyなどと同じくテンプレートクラスです。つまりこの例でいうなら、「defaultindex.tpl」というファイルの一部を置き換える必要があれば置き換え、その結果をクライアントに返すというクラスです。 この場合、defaultindex.tplというファイル内に「view_message」という変数が合った場合、action処理でmessageにセットいした内容を置き換えるという意味になります。 では、defaultindex.tplというファイルの中身はどうなっているのかというと...... このチュートリアルではまだ作成していないので作成しなければなりませんね。 テンプレートの作成「defaultindex.tpl」 「/webapp/modules/Default/templates」に「defaultindex.tpl」というファイルを作成します。(もちろん、文字コードをEUCで) div ?= $template[ view_message ] ? /div のように書き込み保存してください。 実行 では、早速アクセスしてみることにしましょう。 http //127.0.0.1/mojavi_tutorial/www/index.php?module=Default action=hello (ドキュメントルートにある「www」の中にある「index.php」を実行します。その時、上記のURLのようにGETパラメータをつけます) ブラウザに「Hello!」と表示されましたか? 少し発展 表示するメッセージを変えてみます。 「helloAction.class.php」 $request- setAttribute( message , Hello! ); // ←ここを変える $request- setAttribute( message , Hello!World! );と変えてみた。 アクセスすると、ブラウザに「Hello!World!」となるはずです。 次回 コレを見ている殆どのWEBプログラマはなんでactionとviewの二つに分けるんだ?めんどくさくてしょうがないと思うかもしれません。 たしかに、フレームワークを無視してaction処理時に「print」などでブラウザに表示する文字を出力した方が直感的かもしれません。 が、フレームワークの趣旨がロジックとデザインの分業なわけで。 ロジック部はすべてaction処理に任せます。例えば、ファイルから文字列を読み取るなどの処理はaction処理で行います。 読み取ったデータなどは「setAttribute関数」を使ってviewに渡します。 view処理では「getAttribute関数」でファイルから読み取ったデータをどのように表示するかを決めます。 一人の人間が両方やると、なんだか馬鹿らしいですが複数の役割分担でプログラムする場合は、分業ができるので便利かもしれません。 次回はクライアントからデータを受け取ります。双方向処理を行います。
https://w.atwiki.jp/gundam0m0/pages/14.html
メニュー2 ガンダム0M0 本編 ガンダム0M0外伝@遺作氏
https://w.atwiki.jp/api_programming/pages/193.html
下位ページ Content ライブラリとサンプル(Libraries and samples) 必要条件(Prerequisites)Enable APIs for your project 認証証明書を作る(Create authorization credentials)Option 1 Custom URI scheme (Android, iOS, UWP)SHA-1 fingerprint Option 2 Loopback IP address (macOS, Linux, Windows desktop) Option 3 Manual copy/paste Option 4 Programmatic extraction アクセススコープを確認する(Identify access scopes) アクセストークンの受け取り方(Obtaining OAuth 2.0 access tokens)Step 1 Google OAuth 2.0 サーバーにリクエストを送るサンプル(Sample authorization URLs) パラメータ Step 2 Google prompts user for consent Step 3 Handle the OAuth 2.0 server response Step 4 認証コードとトークンを交換する (Exchange authorization code for refresh and access tokens)レスポンスサンプル Calling Google APIs AndroidでGoogle認証の準備をするProjectを作る *SHA-1 fingerprint を取得する OAuth 2.0 for Mobile Desktop Apps Note If you are new to OAuth 2.0, we recommend that you read the OAuth 2.0 overview before getting started. The overview summarizes OAuth 2.0 flows that Google supports, which can help you to ensure that you've selected the right flow for your application. This document explains how applications installed on devices like phones, tablets, and computers use Google's OAuth 2.0 endpoints to authorize access to Google APIs. OAuth 2.0 allows users to share specific data with an application while keeping their usernames, passwords, and other information private. For example, an application can use OAuth 2.0 to obtain permission from users to store files in their Google Drives. Installed apps are distributed to individual devices, and it is assumed that these apps cannot keep secrets. They can access Google APIs while the user is present at the app or when the app is running in the background. This authorization flow is similar to the one used for web server applications. The main difference is that installed apps must open the system browser and supply a local redirect URI to handle responses from Google's authorization server. Alternatives For mobile apps, you may prefer to use Google Sign-in for Android or iOS. The Google Sign-in client libraries handle authentication and user authorization, and they may be simpler to implement than the lower-level protocol described here. For apps running on devices that do not support a system browser or that have limited input capabilities, such as TVs, game consoles, cameras, or printers, see OAuth 2.0 for TVs Devices or Google Sign-in for devices. ライブラリとサンプル(Libraries and samples) ライブラリと、ここで書いている Oauth 2.0 flow の実装サンプル AppAuth for Android library and codelab AppAuth for iOS library OAuth for Apps Windows Samples 必要条件(Prerequisites) Enable APIs for your project Any application that calls Google APIs needs to enable those APIs in the API Console. To enable the appropriate APIs for your project Open the Library page in the API Console. Select the project associated with your application. Create a project if you do not have one already. Use the Library page to find each API that your application will use. Click on each API and enable it for your project. 認証証明書を作る(Create authorization credentials) OAuth2.0 を使って Google APIs にアクセスするアプリケーションはアプリ特定するための認証証明書が必要。プロジェクトに証明書を作成するステップを説明(すでにプロジェクトがある前提) API Console の認証情報ページを開き 「認証情報を作成」 「Oauth クライアント ID」 フォームを埋める。この部分は、Google の認証がサポートするリダイレクト方法を記述する。アプリケーションに対し推奨される方法を一つ選び、適切な内容を記述する。 Option 1 Custom URI scheme (Android, iOS, UWP) 推奨適用先 Android apps, iOS apps, Universal Windows Platform (UWP) apps Form values アプリケーションの種類に Android, iOS, その他を選択する。 また、パッケージ名 もしくは bundle ID (アプリケーションの種類に依るが、リダイレクトに使うカスタム URI(例えば com.example.app))を入力する。 SHA-1 fingerprint JDKのbinフォルダに移動する(か、環境変数のパスを仕込んでおく) keytool -list -v -keystore "/Users/{ユーザー名}/.android/debug.keystore" -alias androiddebugkey -storepass android -keypass android UWPアプリでは、スキーム名は39文字以下にする Note redirect_uri は com.example.app redirect_uri_path で構成。path は /(バックスラッシュ)で始まること。加えて、the libraries and samples demonstrate some platform-specific implementations of custom URI scheme redirects. Option 2 Loopback IP address (macOS, Linux, Windows desktop) ローカルウェブサーバを立てることができる場合は、これができる。 推奨適用先 macOS, Linux, and Windows デスクトップアプリ (UWP以外) Form values Other Note See the redirect_uri parameter definition for more information about the loopback IP address. It is also possible to use localhost in place of the loopback IP, but this may cause issues with client firewalls. Most, but not all, firewalls allow loopback communication. Option 3 Manual copy/paste Important カスタムURI と ルーブバック IP アドレスのほうが信頼性が高く、セキュアであるし、ユーザーフレンドリな方法になる。この方法は将来的にサポートしないかもしれない。 この方法では、HTMLページの title フィールドに認証コードを載せる。ユーザーがマニュアルでコピーをする。 Traditionally, apps that used this option programmatically extracted the authorization code from the HTML page. The copy/paste option served as a fallback in case the value could not be parsed. 推奨適用先 自動リダイレクトなどを備えていないプラットフォームのもの。テレビとか。 Form values Other Option 4 Programmatic extraction Important 手動コピー・ペーストだが、認証コードのコピー・ペーストを指示できないもの。代わりに、認証ページ側で、ユーザーにウィンドウを閉じるように指示する。 ※非推奨、組込ブラウザや web-view 用。 ▸See programmatic extraction details アクセススコープを確認する(Identify access scopes) Scopes enable your application to only request access to the resources that it needs while also enabling users to control the amount of access that they grant to your application. Thus, there may be an inverse relationship between the number of scopes requested and the likelihood of obtaining user consent. Before you start implementing OAuth 2.0 authorization, we recommend that you identify the scopes that your app will need permission to access. The OAuth 2.0 API Scopes document contains a full list of scopes that you might use to access Google APIs. Note Incremental authorization is not supported for installed apps or devices. アクセストークンの受け取り方(Obtaining OAuth 2.0 access tokens) The following steps show how your application interacts with Google's OAuth 2.0 server to obtain a user's consent to perform an API request on the user's behalf. Your application must have that consent before it can execute a Google API request that requires user authorization. Step 1 Google OAuth 2.0 サーバーにリクエストを送る Step 1 Google OAuth 2.0 サーバーにリクエストを送る(Send a request to Google's OAuth 2.0 server) Google's authorization server にリクエストを送るhttps //accounts.google.com/o/oauth2/v2/auth. This endpoint handles active session lookup, authenticates the user, and obtains user consent. The endpoint is only accessible over SSL, and it refuses HTTP (non-SSL) connections. サンプル(Sample authorization URLs) The URLs are identical except for the value of the redirect_uri parameter. The URLs also contain the required response_type and client_id parameters as well as the optional state parameter. Each URL contains line breaks and spaces for readability. CUSTOM URI SCHEMEの場合 https //accounts.google.com/o/oauth2/v2/auth ?scope=email%20profile response_type=code state=security_token%3D138r5719ru3e1%26url%3Dhttps //oauth2.example.com/token redirect_uri=com.example.app /oauth2redirect client_id=client_id パラメータ 認証では、組込アプリに対して、以下のクエリ文字列パラメータを扱う パラメータ client_id 必須 アプリケーションの client ID。API コンソールで見られる。 redirect_uri 必須 認証後のリダイレクト先 The table below shows the appropriate redirect_uri parameter value for each method redirect_uri values Custom URI scheme com.example.app redirect_uri_pathcom.example.app は管理下にあるドメインの DNS 表記の逆順。The custom scheme must contain a period to be valid.redirect_uri_path は /oauth2redirect のような任意のパス。パスはシングルスラッシュ "/" で始めること。 Loopback IP address http //127.0.0.1 port or http //[ 1] port -Query your platform for the relevant loopback IP address and start an HTTP listener on a random available port. Substitute port with the -actual port number your app is listening on. Manual copy/paste urn ietf wg oauth 2.0 oob Programmatic extraction urn ietf wg oauth 2.0 oob auto response_type 必須 code にする。Google OAuth 2.0 endpoint が認証コードを返すかどうか、を決定している scope 必須 アプリケーションがアクセスするユーザー情報。Google の確認画面で表示される。半角スペースで区切られたリストで指定する。The OAuth 2.0 API Scopes に scope の種類情報あり。 state 推奨 Specifies any string value that your application uses to maintain state between your authorization request and the authorization server's response. The server returns the exact value that you send as a name=value pair in the hash (#) fragment of the redirect_uri after the user consents to or denies your application's access request.You can use this parameter for several purposes, such as directing the user to the correct resource in your application, sending nonces, and mitigating cross-site request forgery. Since your redirect_uri can be guessed, using a state value can increase your assurance that an incoming connection is the result of an authentication request. If you generate a random string or encode the hash of a cookie or another value that captures the client's state, you can validate the response to additionally ensure that the request and response originated in the same browser, providing protection against attacks such as cross-site request forgery. See the OpenID Connect documentation for an example of how to create and confirm a state token. login_hint 任意 If your application knows which user is trying to authenticate, it can use this parameter to provide a hint to the Google Authentication Server. The server uses the hint to simplify the login flow either by prefilling the email field in the sign-in form or by selecting the appropriate multi-login session. Set the parameter value to an email address or sub identifier. Note Due to the fact that the client cannot keep the client_secret confidential, you cannot do incremental authorization with installed apps. Step 2 Google prompts user for consent このステップで、ユーザーがアプリケーションのアクセス要求を受け入れるかどうか決める。このステージで、 Google は確認ウィンドウを表示し、 Google API はユーザーの認証証明書とともにアクセスする権限を提供する。ユーザーはアプリケーションのアクセスを承認するか拒否するか決める。 Your application doesn't need to do anything at this stage as it waits for the response from Google's OAuth 2.0 server indicating whether the access was granted. That response is explained in the following step. Step 3 Handle the OAuth 2.0 server response アプリケーションが認証レスポンスを受ける方法は、これを扱うリダイレクトURIスキームに依存する。スキームによらず、レスポンスは認証コードかエラーを含む。たとえば、 error=access_denied なら要求が拒否されたことを示す。もし、ユーザーがアクセスを許可したら、認証コードをアクセストークンと交換し、リフレッシュトークン(後述)を受け取る。 Step 4 認証コードとトークンを交換する (Exchange authorization code for refresh and access tokens) 認証コードとアクセストークンを交換するために https //www.googleapis.com/oauth2/v4/token に次のパラメタをセットし送る。 Fields code 最初に受け取った code client_id API Console で確認したクライアントID client_secret API Console で受け取った Client Secred。ただし、Android, iOS, Chrome applications では不要。 redirect_uri One of the redirect URIs listed for your project in the API Console. grant_type authorization_code. The following snippet shows a sample request POST /oauth2/v4/token HTTP/1.1 Host www.googleapis.com Content-Type application/x-www-form-urlencoded code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7 client_id=your_client_id client_secret=your_client_secret redirect_uri=https //oauth2.example.com/code grant_type=authorization_code Google responds to this request by returning a JSON object that contains a short-lived access token and a refresh token. The response contains the following fields Fields access_tokenThe token that your application sends to authorize a Google API request. id_tokenNote This property is only returned if your request included an identity scope, such as openid, profile, or email. The value is a JSON Web Token (JWT) that contains digitally signed identity information about the user. refresh_tokenA token that you can use to obtain a new access token. Refresh tokens are valid until the user revokes access. Note that refresh tokens are always returned for installed applications. expires_inThe remaining lifetime of the access token in seconds. token_typeThe type of token returned. At this time, this field's value is always set to Bearer. Important Your application should store both tokens in a secure, long-lived location that is accessible between different invocations of your application. The refresh token enables your application to obtain a new access token if the one that you have expires. As such, if your application loses the refresh token, the user will need to repeat the OAuth 2.0 consent flow so that your application can obtain a new refresh token. レスポンスサンプル { "access_token" "1/fFAGRNJru1FTz70BzhT3Zg", "expires_in" 3920, "token_type" "Bearer", "refresh_token" "1/xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI" } 関係ないレスポンスは無視してよし Calling Google APIs After your application obtains an access token, you can use the token to make calls to a Google API on behalf of a given user account or service account. To do this, include the access token in a request to the API by including either an access_token query parameter or an Authorization Bearer HTTP header. When possible, the HTTP header is preferable, because query strings tend to be visible in server logs. In most cases you can use a client library to set up your calls to Google APIs (for example, when calling the Drive API). You can try out all the Google APIs and view their scopes at the OAuth 2.0 Playground. HTTP GET examples A call to the drive.files endpoint (the Drive API) using the Authorization Bearer HTTP header might look like the following. Note that you need to specify your own access token GET /drive/v2/files HTTP/1.1 Authorization Bearer access_token Host www.googleapis.com/ Here is a call to the same API for the authenticated user using the access_token query string parameter GET https //www.googleapis.com/drive/v2/files?access_token= access_token curl examples You can test these commands with the curl command-line application. Here's an example that uses the HTTP header option (preferred) curl -H "Authorization Bearer access_token " https //www.googleapis.com/drive/v2/files Or, alternatively, the query string parameter option curl https //www.googleapis.com/drive/v2/files?access_token= access_token Refreshing an access token Access tokens periodically expire. You can refresh an access token without prompting the user for permission (including when the user is not present) if you requested offline access to the scopes associated with the token. To refresh an access token, your application sends an HTTPS POST request to Google's authorization server (https //www.googleapis.com/oauth2/v4/token) that includes the following parameters Fields refresh_tokenThe refresh token returned from the authorization code exchange. client_idThe client ID obtained from the API Console. client_secretThe client secret obtained from the API Console. (The client_secret is not applicable to requests from clients registered as Android, iOS, or Chrome applications.) grant_typeAs defined in the OAuth 2.0 specification, this field must contain a value of refresh_token. The following snippet shows a sample request POST /oauth2/v4/token HTTP/1.1 Host www.googleapis.com Content-Type application/x-www-form-urlencoded client_id= your_client_id client_secret= your_client_secret refresh_token= refresh_token grant_type=refresh_token As long as the user has not revoked the access granted to the application, the token server returns a JSON object that contains a new access token. The following snippet shows a sample response { "access_token" "1/fFAGRNJru1FTz70BzhT3Zg", "expires_in" 3920, "token_type" "Bearer" } Note that there are limits on the number of refresh tokens that will be issued; one limit per client/user combination, and another per user across all clients. You should save refresh tokens in long-term storage and continue to use them as long as they remain valid. If your application requests too many refresh tokens, it may run into these limits, in which case older refresh tokens will stop working. Revoking a token In some cases a user may wish to revoke access given to an application. A user can revoke access by visiting Account Settings. It is also possible for an application to programmatically revoke the access given to it. Programmatic revocation is important in instances where a user unsubscribes or removes an application. In other words, part of the removal process can include an API request to ensure the permissions granted to the application are removed. To programmatically revoke a token, your application makes a request to https //accounts.google.com/o/oauth2/revoke and includes the token as a parameter curl -H "Content-type application/x-www-form-urlencoded" \ https //accounts.google.com/o/oauth2/revoke?token={token} The token can be an access token or a refresh token. If the token is an access token and it has a corresponding refresh token, the refresh token will also be revoked. If the revocation is successfully processed, then the status code of the response is 200. For error conditions, a status code 400 is returned along with an error code. Note Following a successful revocation response, it might take some time before the revocation has full effect. Further Reading The Internet-Draft Best Current Practice OAuth 2.0 for Native Apps establishes many of the best practices documented here. Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our Site Policies. Java is a registered trademark of Oracle and/or its affiliates. AndroidでGoogle認証の準備をする プロジェクトを作る Projectを作る どのAPIを使うのか(とりあえず) * OAuth2.0 を使って Google APIs にアクセスするアプリケーションはアプリ特定するための認証証明書が必要。プロジェクトに証明書を作成するステップを説明(すでにプロジェクトがある前提) API Console の認証情報ページを開き 「認証情報を作成」 「Oauth クライアント ID」 フォームを埋める。この部分は、Google の認証がサポートするリダイレクト方法を記述する。アプリケーションに対し推奨される方法を一つ選び、適切な内容を記述する。 SHA-1 fingerprint を取得する Projectで、認証キーの発行に必要になる SHA-1 fingerprint を取得する debug.keystoreの場所を確認する通常は /Users/{ユーザー名}/.android/debug.keystore JDKのbinフォルダに移動する(か、環境変数のパスを仕込んでおく) keytool -list -v -keystore "/Users/{ユーザー名}/.android/debug.keystore" -alias androiddebugkey -storepass android -keypass androidパスワードを求められたら android を入力