約 6,902,998 件
https://w.atwiki.jp/kaitarou/pages/6.html
Google Data APIs Protocol ThisdocumentdescribestheprotocolusedbytheGoogledataAPIs( GData ),includinginformationaboutwhataquerylookslike,whatresultslooklike,andsoon.このドキュメントは、GoogledataAPIs( GData )が、どのようなquery(問い合わせ)やresults(結果)が使用されるのかの関連情報を情報を含んでいます。 ForotherinformationabouttheGoogledataAPIs,seetheGoogleDataAPIsOverviewdocument.GoogledataAPIsについての他の情報は、GoogleDataAPIsOverviewを参照して下さい。 Contents内容・目次 Audience対象読者 Examples例 Requesting a feed or other resourcefeedやその他リソースの要求 Inserting a new entry新しいエントリーの挿入 Searching for a string文字列の検索Updating an entryエントリーの更新Deleting an entryエントリーの削除 Protocol detailsプロトコル詳細 Document formatドキュメント・フォーマットQueries問い合わせOptimisticconcurrency(versioning)楽観的 同時実行Authentication認証Session stateセッション状態 Additional resources追加リソース Audience対象読者 ThisdocumentisintendedforanyonewantingtounderstandthedetailsoftheXMLformatandprotocolusedbytheGoogledataAPIs.このドキュメントは、GoogledataAPIsが使用するXMLフォーマットとプロトコルの詳細を知りたい、理解したいと思う人の為に意図される。 IfyoujustwanttowritecodethatusestheGDataclientAPIs,thenyoudon tneedtoknowthesedetails;instead, seethelinksinthesidebartodocumentationforthelanguage-specificclientlibraries.もし、GDataclientAPIsを使用するコードをただ書きたければ、これらの詳細を知る必要はありません。 その代わりに、言語に特化したクラスライブラリに関してのドキュメントへのリンクを参照して下さい。 If you want to understand the protocol, read this document.もし、あたながプロトコルを理解したい場合には、このドキュメントを読んで下さい。 Forexample,youmaywanttoreadthisdocumenttohelpyouwithanyofthefollowingtasks 例えば、以下のタスクについてあなたを手助けする為にこのドキュメントを読みたいと理由でもかまいません。 evaluating the GData architecture .GDataアーキテクチャ評価 coding using the protocol without using the provided GData libraries .提供されたGDataクラスライブラリを使用せずに、プロトコルをコーディングする writing a client library in a new language .新しい言語で、クラスライブラリをコーディングする ThisdocumentassumesthatyouunderstandthebasicsofXML,namespaces,syndicatedfeeds,andtheGET,POST,PUT,andDELETErequestsinHTTP, aswellasHTTP sconceptofa resource. Formoreinformationaboutthosethings,seetheAdditionalresourcessectionofthisdocument.このドキュメントは、XMLやnamespacesやsyndicatedfeedsの基礎知識とHTTPのGET,POST,PUT,,DELETE要求やHTTP sのリソースコンセプトを理解している前提で記述されています。 それらに関しての詳細な情報については、このドキュメントの追加リソースのセクションを参照して下さい。 This document doesn t rely on any particular programming language;このドキュメントは、特定のプログラミング言語には依存しません。youcansendandreceiveGDatamessagesusinganyprogramminglanguagethatletsyouissueHTTPrequestsandparseXML-basedresponses.HTTPrequestsを送信したりXMLベースのレスポンスを解析 プログラミング言語を使用して、GDataメッセージをHTTPでリクエストを出さたり、、XMLベースのレスポンス(GDataメッセージ)を解析させる事ができます。 Examples例 ThefollowingexamplesshowbareGDataprotocolrequestsyoumightsendandtheGData-formattedresultsyoumightreceive.次の例は、送信したrequestsによって受け取るだろうGData-formatted結果のGDataプロトコルそのものを示します。ForexamplesofhowtosendtherequestsusingJavaandC#,seethelanguage-specificclientlibrarylinksinthesidebar.JavaとC#を使用したrequestsを送信する例は、それぞれのクラスライブライブラリに特化したドキュメントリンクを参照して下さい。ForinformationaboutusingGDatawithGoogleCalendar,seetheGoogleCalendarDataAPIdocument.GoogleカレンダーがもっているGDataに関する情報については、GoogleCalendarDataAPIdocumentを参照して下さい。 Requesting a feed or other resource Assumethere safeedcalled/myFeed,andassumethatitcurrentlydoesn thappentocontainanyentries./myFeedというfeedがあると仮定して、そしてそれが現在どんなエントリーを含まないと仮定して下さい。To see it, send the following request to the server それを参照するには、サーバーへ次のリクエストを送信して下さい。 GET /myFeedThe server responds 200 OK ?xml version= 1.0 ? feed xmlns= http //www.w3.org/2005/Atom title Foo /title updated 2006-01-23T16 25 00-08 00 /updated id http //www.example.com/myFeed /id author name Jo March /name /author link href= /myFeed rel= self / /feed Notethatalthoughthefeeddoesn tcontainanyentries,itdoescontainmetadata,suchasatitleandanauthor sname.feedは、なにもエントリーを含んで無いにも関わらず、タイトルと著者の名前といったメタデータを含む事に注意してください。 Inserting a new entry To create a new entry, sendaPOSTrequest,andsupplyanewentryinGDataformat 新しいエントリーを作成する為には、GDataフォーマットで新しいエントリーを作成しPOSTrequestを送信して下さい。 POST /myFeed ?xml version= 1.0 ? entry xmlns= http //www.w3.org/2005/Atom author name Elizabeth Bennet /name email liz@example.com /email /author title type= text Entry 1 /title content type= text This is my entry /content /entry Notethatyoudon tsupplyid,link,orupdatedelements;theservercreatesthoseinresponsetoyourPOSTrequest.id、link、updatedの要素を提供しない事に注意して下さい。;サーバーは、あなたのPOSTrequestに応じてそれらを作成します。Alsonotethattheauthorofafeeddoesn thavetobethesamepersonastheauthorofanentry.さらにfeedの著者が、エントリーの作成と同一人物である必要がないことに注意してください。 The server responds 201 CREATED ?xml version= 1.0 ? entry xmlns= http //www.w3.org/2005/Atom id 1 /id link rel= edit href= http //example.com/myFeed/1/1/ / updated 2006-01-23T16 26 03-08 00 /updated author name Elizabeth Bennet /name email liz@example.com /email /author title type= text Entry 1 /title content type= text This is my entry /content /entry Searching for a string Todoafull-textsearchforaparticularstring,sendaGETrequestwiththeqparameter.特定の文字列用に全文検索を行う為には、qパラメーターを備えたGETrequestを送信して下さい。For more information about queryparameters, see Query requests.クエリー・パラメーターの詳細の詳細については、Queryrequestsを参照して下さい。 GET /myFeed?q=This Theserverrespondswithalltheentriesthatmatchthesearchstring This .(Inthiscasethere sonlyone.)サーバーは、検索文字列 This とマッチするすべてのエントリーで応答します。(この場合1つだけあります。) 200 OK ?xml version= 1.0 ? feed xmlns= http //www.w3.org/2005/Atom title Foo /title updated 2006-01-23T16 26 03-08 00 /updated id http //www.example.com/myFeed /id author name Jo March /name /author link href= /myFeed rel= self / entry id 1 /id link rel= edit href= http //example.com/myFeed/1/1/ / updated 2006-01-23T16 26 03-08 00 /updated author name Elizabeth Bennet /name email liz@example.com /email /author title type= text Entry 1 /title content type= text This is my entry /content /entry /feed Updating an entry Toupdateanexistingentry,usePUT,usingtheentry seditURI(asprovidedbytheserverinthepreviousexample).すでに存在するエントリーを更新するためには、エントリーの編集URIを使用した、PUTを使用して下さい。(前の例のサーバーによって提供される) (IfyourfirewalldoesnotallowPUT,thendoanHTTPPOSTandsetthemethodoverrideheaderasfollows X-HTTP-Method-Override PUT)(もし、あなたのファイアーウォールがPUTを許可しない時は、HTTPPOSTでヘッダーメソッドを次の通りにオーバーライドして下さい。(X-HTTP-Method-Override PUT)) Inthefollowingexample,we rechangingtheentry stextfromitsoldvalue( Thisismyentry )toanewvalue( Thisismyfirstentry. ) 次の例では、私達は、古い値 Thisismyentry から新しい値 Thisismyfirstentry. へテキストエントリーを変更しています。 PUT /myFeed/1/1/ ?xml version= 1.0 ? entry xmlns= http //www.w3.org/2005/Atom id 1 /id link rel= edit href= http //example.com/myFeed/1/1/ / updated 2006-01-23T16 28 05-08 00 /updated author name Elizabeth Bennet /name email liz@example.com /email /author title type= text Entry 1 /title content type= text This is my first entry. /content /entry The server responds 200 OK ?xml version= 1.0 ? entry xmlns= http //www.w3.org/2005/Atom id 1 /id link rel= edit href= http //example.com/myFeed/1/2/ / updated 2006-01-23T16 28 05-08 00 /updated author name Elizabeth Bennet /name email liz@example.com /email /author title type= text Entry 1 /title content type= text This is my first entry. /content /entry Note that the edit URI has changed; it now ends with /2/ insteadof /1/ .編集URIが、変わった事に注意して下さい。それは今、 /1/ では無く、 /2/ で終わります。The final number in the edit URI is a version number.編集URIの最終番号はバージョン・ナンバーである。Formoreinformationaboutversions,seetheOptimisticconcurrencysectionofthisdocument.バージョンに関してのより詳細な情報については、この文書内の、楽観的な同時実行のセクションを見てください。 To see the new entry in context, request the entire resource again コンテキストで新しいエントリーを見るためには、再度全エントリーを要求して下さい。 GET /myFeedThe server responds 200 OK ?xml version= 1.0 ? feed xmlns= http //www.w3.org/2005/Atom title Foo /title updated 2006-01-23T16 28 05-08 00 /updated id http //www.example.com/myFeed /id author name Jo March /name /author link href= /myFeed rel= self / entry id 1 /id link rel= edit href= http //example.com/myFeed/1/2/ / updated 2006-01-23T16 28 05-08 00 /updated author name Elizabeth Bennet /name email liz@example.com /email /author title type= text Entry 1 /title content type= text This is my first entry. /content /entry /feed Deleting an entry Todeleteanexistingentry,sendaDELETErequest,usingtheentry seditURI(asprovidedbytheserverinthepreviousexample).既存のエントリーを削除する為には、編集URIを使用してDELETEリクエストを送信してください。(前の例におけるサーバーによって提供された) (IfyourfirewalldoesnotallowDELETE,thendoanHTTPPOSTandsetthemethodoverrideheaderasfollows X-HTTP-Method-Override DELETE.)(もし、あなたのファイアーウォールがDELETEを許可しない時は、HTTPPOSTのヘッダーメソッドを次の通りにオーバーライドして下さい。(X-HTTP-Method-Override DELETE.)) DELETE /myFeed/1/2/ The server responds 200 OK DoanotherGETtoseethatthefeednowcontainsnoentries 別のGETが、今のfeedを含まない事を見てください。 GET /myFeedThe server responds 200 OK ?xml version= 1.0 ? feed xmlns= http //www.w3.org/2005/Atom title Foo /title updated 2006-01-23T16 30 11-08 00 /updated id http //www.example.com/myFeed /id author name Jo March /name /author link href= /myFeed rel= self / /feed If the deletion fails, then the server responds with an error code.もし削除が失敗した場合、サーバーは、エラーコードで応答します。 For more information, see HTTP status codes, later in this document.より詳細については、後でこの文書内のHTTPstatuscodesを参照して下さい。 Protocol detailsプロトコル詳細 This section describes the GData document format and query syntax.このセクションは、GDataドキュメント・フォーマット及び、query(問い合わせ)のsyntax(文法。規則)について詳しく記述します。 Document formatドキュメント・フォーマット GData, Atom, and RSS 2.0 all share the same basic data model GData、AtomとRSS2.0はすべて同じ基本データモデルを共有します:a container that holds both some global data and anynumberofentries.グローバルなデータおよびいくつもエントリーのを格納するcontainer(コンテナー)Foreachprotocol,theformatisdefinedbyabaseschema,butitcanbeextendedusingforeignnamespaces.それぞれのプロトコルは、基礎のスキーマによって定義されます、しかし、外部のnamespacesを使用して拡張する事が出来ます。 GDatacanuseeithertheAtomsyndicationformat(forbothreadsandwrites)ortheRSSformat(forreadsonly).GDataは、Atomsyndicationformat(読み取りと書き込みの両方のための)と、RSSformat(読み取り専用の)どちらかを使用することが出来ます Atom is GData s default format.Atomは、GDataのデフォルトのフォーマットです。TorequestaresponseinRSSformat,usethe/alt=rss/parameter;RSSフォーマットでの応答を要求するためには、/alt=rss/parameter を使用して下さい。for more information, see Query requests.詳細については、Queryrequestsを参照して下さい。 WhenyourequestdatainRSSformat,GDatasuppliesafeed(orotherrepresentationoftheresource)inRSSformat.RSSフォーマットでのデータを要求する場合、GDataはRSSフォーマットでfeed(かリソースの他の表現)を供給します。Ifthere snoequivalentRSSpropertyforagivenGDataproperty,GDatausestheAtomproperty,labelingitwithanappropriatenamespacetoindicatethatit sanextensiontoRSS.もし、GDataの与えられたpropertyと同等のRSSpropertyが無い場合、GDataは、それがRSSに対する拡張であることを示す適切なネーム空間のラベルを付けてAtomを使用します。 Note MostGDatafeedsinAtomformatusetheAtomnamespaceasthedefaultnamespacebyspecifyinganxmlnsattributeonthefeedelement;注:ほとんどのGDatafeedsは、要素でxmlnsattributeを指定することによって、Atomformatの使用にdefaultnamespaceとしてAtomnamespaceを使用しますsee the examples section for examples of how to do that.それを使用する方法に関しては、例セクションを参照して下さい。Thus,theexamplesinthisdocumentdon texplicitlyspecifyatom forelementsinanAtom-formatfeed.従って、このドキュメント注の例は、明示的にatomを指定しません:Atom-formatfeed要素のためです。 ThefollowingtablesshowtheAtomandRSSrepresentationsoftheelementsoftheschema.次のテーブルは、原子とRSSのスキーマの要素を表示し示します。AlldatanotmentionedinthesetablesistreatedasplainXMLandshowsupthesameinbothrepresentations.これらのテーブルで述べられてないデータは、すべてXMLとして明白に扱われ、両方同じ表現を示します。Unlessindicatedotherwise,theXMLelementsinagivencolumnareinthenamespacecorrespondingtothatcolumn.もし他の方法で示されなければ、与えられたカラムのXML要素は、そのカラムに対応するネーム空間にあります。This summary uses standard XPath notation この要約は、標準のXPath表記法を使います inparticular,slashesshowtheelementhierarchy,andan@signindicatesanattributeofanelement.特に,/ (スラッシュ)は要素階層を示し,@印は要素の属性を示す。 In each of the following tables, the highlighted items are required.次のテーブルで、強調表示された項目は、要求される項目です。 The following table shows the elements of a GData feed 次のテーブルが、GDatafeedの要素を示します FeedSchemaItem AtomRepresentation RSSRepresentation Feed Title /feed/title /rss/channel/title Feed ID /feed/id /rss/channel/atom id Feed HTML Link /feed/link[@rel= alternate ][@type= text/html ]/@href /rss/channel/link Feed Description /feed/subtitle /rss/channel/description Feed Language /feed/@xml lang /rss/channel/language Feed Copyright /feed/rights /rss/channel/copyright Feed Author /feed/author/name /feed/author/email (Requiredincertaincases;seeAtomspecification.) /rss/channel/managingEditor Feed Last Update Date /feed/updated (RFC3339format) /rss/channel/lastBuildDate (RFC822format) Feed Category /feed/category/@term /rss/channel/category Feed Category Scheme /feed/category/@scheme /rss/channel/category/@domain Feed Generator /feed/generator /feed/generator/@uri /rss/channel/generator Feed Icon /feed/icon /rss/channel/image/url (unless there s also alogo,inwhichcasetheiconisn tincludedinthefeed) Feed Logo /feed/logo /rss/channel/image/url The following tableshowstheelementsofaGDatasearch-resultsfeed.次のテーブルはGDataの検索結果のfeedの要素を示したものだ。 NotethatGDataexposessomeoftheOpenSearch1.1Responseelementsinitssearch-resultsfeeds.GDataがその検索-結果feedsでOpenSearch1.1Responseelementsの一部をさらすことに注意して下さい。 SearchResultFeedSchemaItem Atom Representation RSS/OpenSearchRepresentation Number of Search Results /feed/opensearch totalResults /rss/channel/opensearch totalResults Search Result Start Index /feed/opensearch startIndex /rss/channel/opensearch startIndex Number of Search Results Per Page /feed/opensearch itemsPerPage /rss/channel/opensearch itemsPerPage The following table shows the elements of a GData entry 次のテーブルは、GDataのエントリー要素を示したものです。 Entry Schema Item Atom Representation RSS Representation Entry ID /feed/entry/id /rss/channel/item/guid Entry Version ID Optionally embedded in EditURI (see theOptimistic concurrencysectionofthisdocument). Entry Title /feed/entry/title /rss/channel/item/title Entry Link /feed/entry/link /rss/channel/item/link/rss/channel/item/enclosure/rss/channel/item/comments Entry Summary /feed/entry/summary (Required in certain cases; see Atom specification.) /rss/channel/item/atom summary Entry Content /feed/entry/content (If no content element, then entry must contain at least one link rel= alternate element.) /rss/channel/item/description Entry Author /feed/entry/author/name /feed/entry/author/email (Required in certain cases; see Atom specification.) /rss/channel/item/author Entry Category /feed/entry/category/@term /rss/channel/item/category Entry Category Scheme /feed/entry/category/@scheme /rss/channel/item/category/@domain Entry Publication Date /feed/entry/published (RFC 3339) /rss/channel/item/pubDate (RFC 822) Entry Update Date /feed/entry/updated (RFC3339) /rss/channel/item/atom updated (RFC 3339) Queries問い合わせ Thissectiondescribeshowtousethequerysystem.このセクションでは、問い合わせシステムの使用方法を記述します。 Query model design tenets問い合わせモデル設計主義Thequerymodelisintentionallyverysimple.問い合わせモデルは計画的で非常に簡単である。The basic tenets are 基本的な主義は次のとおりである ・Queries are expressed as HTTP URIs, rather thanasHTTPheadersoraspartofthepayload.HTTPヘッダーとしてまたはペイロードの一部として表現されるよりもQueriesはHTTPURIsとして表現される。One benefit of thisapproach is thatyoucan link to a query.このアプローチの1つの利点は問い合わせにリンクすることができることである。・Predicates are scoped to a single item.クエリの述部は、単一項目に対して有効です。Thus,there snowaytosendacorrelationquery such as find all emails frompeoplewho sentmeatleast10emailstoday. 従って、今日10通以上送信した人のすべてのEメールのような相関関係のクエリの方法はありません。・The set of properties thatqueriescanpredicateonisverylimited;mostqueries are simply full textsearchqueries.このセットのプロパティは非常に限定されています。ほとんどのクエリは、単に全文検索です。・Result ordering is up to the implementation.結果の命令は、実施までです。・Theprotocolisnaturallyextensible.このプロトコルは、当然拡張可能です。Ifyouwanttoexposeadditionalpredicatesorsortingin your service, you candosoeasilythrough theintroductionofnewparameters.もしあなたのサービスが、ソートや述語(条件)などの付加的な処理を追加する場合には、新しいパラメータを導入すれば容易にできます。 Query requestsクエリ リクエスト A client queries a GData service by issuing an HTTPGETrequest.クライアントは、HTTPGETリクエストを出すことにより、GDataサービスに問い合わせします。The query URI consists oftheresource sURI(calledFeedURIinAtom)followedby query parameters.問い合わせURIは、リソースのURI(AtomのFeedURIと呼ばれる)の後に続くクエリのパラメータから構成される。Mostqueryparametersarerepresentedastraditional?name=value[ ...]URLparameters.ほとんどのクエリパラメータは、従来と同様です。URLパラメータ?name=value[ ...]Category parameters are handleddifferently; seebelow.カテゴリー・パラメーターは違う様に扱われます。以下を見てください。For example, if the FeedURI ishttp //www.example.com/feeds/jo,thenyoumightsendaquerywiththefollowing URI 例えば、FeedURIがhttp //www.example.com/feeds/joである場合、以下のURIをもつクエリを送るでしょう http //www.example.com/feeds/jo?q=Darcy updated-min=2005-04-19T15 30 00 GData services support HTTP Conditional GET.GDataサービスはHTTPの条件付きのGETを支援します。They set the Last-Modifiedresponseheaderbaseduponthevalueofthe atom updated element in thereturnedfeedorentry.それらは、返された最終更新のレスポンスヘッダーのfeedかentry内の atom updated 要素valueに基づいてセットされます。A client can sendthis value backasthevalueoftheIf-Modified-Sincerequestheader to avoidretrievingthecontentagainifithasn t changed.クライアントは、それが変わっていない場合には、再び内容を検索することを回避するリクエストヘッダーの場合のためにこの値を送り返すことが出来ます。If the content hasn tchangedsincetheIf-Modified-Sincetime,thentheGDataservice returns a 304(NotModified)HTTPresponse.もし、その時間が変更ない場合、それからGDataサービスは304(変更されない)HTTPの応答を戻します。。 A GData service must support category queries and alt queries;GDataサービスはカテゴリークエリおよびaltクエリをサポートしなければいけません。support for other parameters is optional.他のパラメーターに対するサポートは、選択が自由です。Passing a standard parameter not understoodbyagivenserviceresultsina403Forbidden response.特定のサービスによって理解されない標準パラメータを渡す場合には、403Forbiddenresponseを返します。Passing an unsupportednonstandardparameterresultsina400BadRequestresponse.サポートされていない標準外のパラメータを渡す事は、400BadRequestresponseを返します。For information on otherstatuscodes, seethe HTTPstatuscodessectionofthisdocument.他のステイタスコードの情報については、この文書のHTTPのステイタスコードセクションを見てください。 The standard query parametersaresummarizedinthefollowingtable.標準的なクエリパラメータは次のテーブルに要約されています。All parameter values need to be URL encoded.すべてのパラメータの値はURLエンコードされている必要があります。 Parameter Meaning Notes q Full-text query string When creating a query, list search termsseparatedbyspaces,inthe form q=term1 term2 term3.問い合わせを作成する場合、検索用語リストは、スペースで区切った形でq=term1term2term3 (As with all of the query parameter values, the spaces must be URLencoded.)(問い合わせのすべてのパラメータ値のと同じように、スペースは、URLエンコードしなくてはいけません) The GData service returns all entries that match allofthesearchterms(like using AND between terms).GDataサービスは、検索対象用語のすべて一致した結果を返します。(用語間のスペースがANDのように) Like Google s web search, a GData service searchesoncompletewords(andrelated words with the same stem), not substrings.GoogleWebの検索のようなsubstringsではなく、完全一致の単語(先頭から最後まで同じ単語)で検索します。 To search for an exact phrase, enclose the phraseinquotationmarks q= exactphrase .正確な句を検索するために、句を引用符で囲んでください。 q= exactphrase To exclude entries that match a given term, use the form q=-term.ある特定の言葉に一致させる記入項目を除くためには、q=-termのように句の前に-を付けてください。 The search is case-insensitive.探索はケース無感覚です。 Example to search for all entries that contain theexactphrase ElizabethBennet and the word Darcy but don t contain theword Austen , use the following query ?q= Elizabeth Bennet Darcy -Austen例:正確な句「エリザベス・ベネット」および単語「ダーシー」を含んでいるが、単語「オースティン」を含んでいないすべての エントリーを探索するために、次のクエリを使用する ?q= ElizabethBennet Darcy-Austen /category Category filter ・List each category as if it were part oftheresource sURI,in the form /categoryname/this is an exception totheusualname=valueform.・それが、URIの一部のようにリストしてください。通常の形式の例外として、形式 /categoryname/this ・List all categories before any other query parameters.・他のqueryparametersの前にすべてのカテゴリをリストアップして下さい。 ・Precede thefirstcategorywith /-/ to make clear that it s acategory.・それがカテゴリである事を明確にするために、カテゴリの前に/-/を付加してください。 For example, if Jo s feed has a category for entries aboutFritz,youcouldrequest those entries like this 例えば、JofeedにFritzについてのカテゴリーを持っていれば、以下のようにそれらのentry項目を要求可能です。 ・You can query on multiple categories bylistingmultiplecategory parameters, separated by slashes.・多数のカテゴリーをスラッシュによって分割する事で、多数のカテゴリーリストとして問い合わせする事が出来る。 The GData service returns all entries that match all ofthecategories(like using AND between terms).GDataサービスは、すべてに一致するエントリーをかえす。(AND検索) For example http //www.example.com/feeds/jo/-/Fritz/Lauriereturns entries that match both categories. 例えば、http //www.example.com/feeds/jo/-/Fritz/Laurieは、両方のカテゴリーと一致する項目を返します。 ・To do an OR between terms, use a pipecharacter(|),URL-encoded as %7C. ・(|)によって用語を分割することで、ORとすることもできる。(|)は、%7CとしてURLエンコードされる。 For example http //www.example.com/feeds/jo/-/Fritz%7CLauriereturns entries that match either category.例えば、http //www.example.com/feeds/jo/-/Fritz%7CLaurieは、どちらかのカテゴリーに一致する項目を返します。 ・An entry matches a specified category if the entry is inacategory that has a matching term or label, as defined in theAtomspecification.・そのエントリーが、Atomの仕様で定義されているエントリーと一致する場合には、エントリーが用語かラベルに一致します。 (Roughly, the term is the internal string used by the software to identifythecategory, while the label is the human-readable string presented to a user in auserinterface.)(大体、用語( term )は、カテゴリーを識別するためにソフトウェアで使用される文字列です。 ラベル( label )が、ユーザーインタフェースで使用される文字列です。) ・To exclude entries that match a given category, usetheform /-categoryname/.・ある特定のカテゴリーを除外する場合には、/-categoryname/ を使用しなさい。 ・To query for a category that has a schemesuch as category scheme= urn google.com term= public / you must place theschemein curly braces before the category name.・schemesuchを持っているカテゴリを問い合わせる場合には、 categoryscheme= urn google.com term= public / カテゴリーの前から{}(中括弧)のペアを使ってください。 For example /{urn google.com}public. To match acategorythat has no scheme, use an empty pair of curly braces.例えば、/{urn google.com}public. schemeを持たないカテゴリを一致させるには、{}を一組使ってください。 If you don t specify curly braces, then categories in any schemewillmatch.もし、{}を使用しなければ、すべてのschemeと一致するでしょう。 ・Theabovefeatures can be combined. ・それらの特徴は、組み合わせる事が出来ます。For example /A%7C-{urn google.com}B/-C means (A OR(NOTB)) AND (NOT C). 例えば、/A%7C-{urn google.com}B/-C (A OR(NOTB)) AND (NOT C)を意味します。 author Entry author The service returns entries where the author name and/oremail address match your query string.サービスは、あなたのquery文字列に一致する、作者名前および/またはEメールアドレスを返します。 alt Alternative representation type If you don t specify an alt parameter, the service returnsan Atom feed.もし、altパラメータを使用しなければ、サーバーはAtomfeedを返します。 This is equivalent to alt=atom.これは、alt=atom と同じです。 alt=rss returns an RSS 2.0 result feed.alt=rss を指定すると、RSS2.0を返します。 updated-min updated-max Bounds on the entry publication date Use the RFC 3339 timestamp format.RFC3339タイムスタンプ・フォーマットを使用してください。 For example 2005-08-09T10 57 00-08 00.例えば、 2005-08-09T10 57 00-08 00. Thelower bound is inclusive, whereas the upper bound is exclusive.上限は、排他的であるが、下限は、包括的である。 start-index 1-based index of the first result to beretrieved Note that this isn t a general cursoring mechanism.これが一般的なcursoring メカニズムでないことに注意しなさい。 If you first send a query with ?start-index=1 max-results=10 and then send another query with ?start-index=11 max-results=10, the service cannot guarantee that the results are equivalent to ?start-index=1 max-results=20, because insertions and deletions could have taken place in between the two queries.最初に ?start-index=1 max-results=10 の付加されたクエリを送れば、そしてだれかが、?start-index=11 max-results=10の付加されたクエリを送れば、 サービスは、挿入と削除が2つの問い合わせの間に起こったかもしれないので、結果が同じであることを保証しません。 max-results Maximum number of results to be retrieved For any service that has a default max-results value (to limit default feed size), you can specify a very large number if you want to receive the entire feed.デフォルトでfeedの制限がある場合、サービス全体のfeedを取得したいと思えば、あなたが指定すればとても大きなSizeを指定することが出来ます entryID ID of a specific entry to be retrieved If you specify an entry ID, you can t specify any other parameters.もし、entry IDをすれば、ほかのパラメータは指定できません。 The form of the entry ID is determined by the GData service.entry IDの形式は、GDataサービスによって定められています。 Unlike most of the other query parameters, entry ID is specified as part of the URI, not as a name=value pair.他のほとんどのqueryパラメータと違い、entry IDは、name=value のペア形式じゃなくURLの一部として指定されます。 Example http //www.example.com/feeds/jo/entry1.例:http //www.example.com/feeds/jo/entry1.
https://w.atwiki.jp/google/pages/10.html
table of contents(目次) Search(検索)Google Google Map Google translate Google Chrome Videos, games(動画、ゲーム)YouTube Music YouTube Google TV Chromecast Made by Google Device(Googleデバイス製)Pixel smart home Pixel Slate Nest Wifi go-anywhere(どこでも使える)Android OS Wear OS by Google Android Auto Chromebook call,text(通話、テキスト)Gmail Message Google Duo Google Chat always in order(いつも整理整頓)Google photos Google Contacts Google Keep Google Calendar Make your work more efficient(仕事を効率化)Google Docs Google Sheets Google Slides Google Drive develop one's businesses(ビジネスの成長を図る)Google Ads Google AdSense Google My Business Google Analytics Search(検索) Google Capture core information.You can easily find the latest information. コアな情報をキャッチ。最新情報を簡単に探せます。 Google Map You can use GPS navigation, traffic information, transfer information, and find nearby shops. GPS ナビ、交通情報、乗換案内を利用したり、近くのお店を探したりできます。 Google translate Translate audio, scanning, keyboard, and handwritten input into more than 100 languages. 音声、スキャン、キーボード、手書きで入力した内容を 100 以上の言語に翻訳できます。 Google Chrome It is a fast, simple and secure browser for all terminals. あらゆる端末に対応した、高速かつシンプルで安全なブラウザです。 Videos, games(動画、ゲーム) YouTube Music A new music streaming app created from YouTube. YouTube から生まれた、新しい音楽ストリーミング アプリ。 YouTube Find, play, and share your favorite videos and music. お気に入りの動画や音楽を探して、再生、共有できます。 Google TV Enjoy your favorite entertainment with Google. お気に入りのエンターテイメントをGoogle を活用して楽しみましょう。 Chromecast You can cast movies and music from your smartphone to your TV. 映画や音楽などをスマートフォンからテレビにキャストできます。 Made by Google Device(Googleデバイス製) Pixel Google s new smartphones bring. Google の新しいスマートフォンのご紹介。 smart home You can choose from a variety of sizes. さまざまなサイズからお選びいただけます。 Pixel Slate Work and play in a whole new way. 仕事も遊びも、まったく新しい方法で。 Nest Wifi Nest Wifi is a reliable, high-speed Wi-Fi system that covers the entire house.Smooth connectivity will be available in any room. Nest Wifi は家全体をカバーできる信頼性の高い高速 Wi-Fi システムです。どの部屋でもスムーズな接続を利用できるようになります。 go-anywhere(どこでも使える) Android OS evolve day by day Platform 日々進化するプラットフォーム Wear OS by Google Leave it to the clock.Manage fitness information and check for updates. 時計におまかせ。フィットネス情報を管理し最新情報もチェック。 Android Auto Voice control, navigation, and music are available in the car. 音声操作、ナビゲーション、音楽を車内でご利用いただけます。 Chromebook It s an easy-to-use laptop with a long battery life. 電池が長持ちする使いやすいノートパソコンです。 call,text(通話、テキスト) Gmail Google s secure and easy-to-use mail service.Organize your inbox according to category to save time. Google の安全で使いやすいメールサービス。カテゴリごとの分類で受信トレイを整理し、時間を節約できます。 Message A simple messaging app that connects with loved ones. 大切な人とつながれるシンプルなメッセージング アプリ。 Google Duo Simple, high-quality video calls (for Android and iOS). シンプルで高品質なビデオ通話(Android と iOS 対応)。 Google Chat With Google Chat, teams can safely exchange messages. Google Chat を使用すると、チームで安全にメッセージをやり取りできます。 always in order(いつも整理整頓) Google photos Organize all your photos and find them easily. すべての写真を整理し、簡単に探すことができます。 Google Contacts You can manage the addresses and phone numbers of family and friends in one place. 家族や友だちの住所や電話番号を 1 か所で管理できます。 Google Keep Wherever you are, you can record your thoughts as notes, lists, or voice notes. どこにいても、思いついたことをメモ、リスト、音声メモとして記録できます。 Google Calendar You can organize your schedule and event information and share it with important people. 予定やイベント情報を整理して大切な人たちと共有できます。 Make your work more efficient(仕事を効率化) Google Docs You can edit and share all documents wherever you are. どこにいても、すべてのドキュメントを編集、共有できます。 Google Sheets Smart spreadsheets that can be accessed from anywhere. どこからでもアクセスできるスマートなスプレッドシート。 Google Slides Share your story with a presentation that can be created and carried anywhere. 場所を問わずに作成して持ち運べるプレゼンテーションで、ストーリーを伝えましょう。 Google Drive Securely save, access, and share files. ファイルを安全に保存して、アクセス、共有できます。 develop one s businesses(ビジネスの成長を図る) Google Ads You can view ads when users search for your products and services. あなたが提供している商品やサービスについてユーザーが検索したときに、広告を表示できます。 Google AdSense monetize your content through advertising. あなたのコンテンツを広告で収益化しよう。 Google My Business It s a free tool that appeals to users who search Google or map your business. Google 検索やマップで検索したユーザーに、あなたのビジネスをアピールできる無料のツールです。 Google Analytics You can analyze user information across multiple channels. 複数のチャネルを対象にユーザーの情報を分析できます。 End up上へ
https://w.atwiki.jp/google/pages/11.html
table of contents(目次) table of contents(目次) What is Google Command? Google commandatari breakout Puc-man solitaire tic tac toe zerg rush 斜め or askew 一回転 or Do a barrel roll 再帰 or recursion Google binary Google gravity Google space elgooG Google guitar Google sphere Google underwater epic Google black Google sleeping internet https //www.google.com/teapot What is Google Command? [English] The google command is to put command characters in the search box using google, google chrome. [Japanese] Googleコマンドは、Google、Google chromeを使用して検索ボックスにコマンド文字を入力することです。 Google command atari breakout You can play with "atari breakout." 「ブロック崩し」で遊べる Puc-man You can play with "Pac-Man." 「パックマン」で遊べる solitaire You can play with "solitaire" 「ソリティア」で遊べる tic tac toe You can play with "tic tac toe" 「○☓ゲーム」で遊べる zerg rush You can play with "zerg rush" 「クリック撃退ゲーム」で遊べる 斜め or askew result in a skewed search 検索結果が傾く 一回転 or Do a barrel roll The search results revolve around. 検索結果が一回転する 再帰 or recursion Click did you mean recursion to return to the same screen and loop indefinitely 「もしかして 再帰」をクリックすると、同じ画面に戻り、無限ループする Google binary It s all binary. すべてが二進法になる Google gravity gravitational attachment 重力がつく Google space become weightless 無重力になる elgooG turn everything upside down すべてが反転する Google guitar ギターで遊べる guitar-playable Google sphere The character rotates. 文字が回転する Google underwater become a world of the sea 海の世界になる epic Google grow in size 巨大化する black Google be dyed jet-black 漆黒に染まる sleeping internet The brightness of the screen changes at regular intervals. 一定間隔で画面の明るさが変わる https //www.google.com/teapot The pot will pour the tea. ポットに触るとお茶が注げる up 上へ
https://w.atwiki.jp/bigoyayubi/pages/13.html
名前 コメント Webについて覚えておきたい20。by Google http //www.20thingsilearned.com/ja-JP -- 名無しさん (2011-06-03 22 39 21) Ruby on Rails テスト http //thinkit.co.jp/free/article/0608/12/5/ -- 名無しさん (2011-05-01 00 55 39) UNIXソフトウェアパッケージ開発ツール http //ja.wikipedia.org/wiki/Autotools -- 名無しさん (2011-04-11 01 53 15) Linuxソフト集 http //penguin.tantin.jp/mori/ -- 名無しさん (2011-04-09 22 40 33) オープンソースグループウェア http //www.aipo.com/ -- 名無しさん (2011-04-09 15 11 28) UNIX解凍 http //uguisu.skr.jp/Windows/tar.html -- 名無しさん (2011-04-09 13 39 07) mtraceとvalgrind http //blogs.itmedia.co.jp/komata/2009/10/mtrace-valgrind.html -- 名無しさん (2011-04-09 13 23 55) ltraceメモhttp //0xcc.net/blog/archives/000103.html -- 名無しさん (2011-04-09 12 47 18) MacPort導入 http //aru-and-dhi.blogspot.com/2009/08/macports-coreutils-binutils-ptex.html -- 名無しさん (2011-04-09 12 18 24) UNIXコマンド集 http //x68000.q-e-d.net/~68user/unix/genre.html#genre5 -- 名無しさん (2011-04-09 11 33 58) OS別のライブラリトレースとか http //d.hatena.ne.jp/koseki2/20090619/TraceProc -- 名無しさん (2011-04-09 11 12 42) キングソフト辞書 http //www.kingsoft.jp/dictionary/ -- 名無しさん (2011-04-04 19 55 10) 震災支援 http //code.google.com/p/payforwarding/ -- 名無しさん (2011-04-04 13 13 45) インラインアセンブラ http //caspar.hazymoon.jp/OpenBSD/annex/gcc_inline_asm.html -- 名無しさん (2011-02-13 00 20 32) インラインアセンブラ http //www.ibm.com/developerworks/jp/linux/library/l-ia/ -- 名無しさん (2011-02-10 22 12 46) インラインアセンブラ http //sci10.org/on_gcc_asm.html -- 名無しさん (2011-02-10 22 11 21) C++云々 http //www31.atwiki.jp/bigoyayubi/pages/25.html -- 名無しさん (2011-02-08 23 46 43) 社内ツイッター http //sites.google.com/site/shovelx/ -- 名無しさん (2011-02-08 23 44 53) ircサーバー導入 http //www.miraclelinux.com/update/?q=node/162 -- 名無しさん (2011-02-08 23 36 04) プログラム云々 http //www.sasaraan.net/program/c/func.php?func=signal -- 名無しさん (2010-12-16 15 38 34) 形態素変換 http //developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.html -- 名無しさん (2010-12-16 15 37 24) 2010/12/01 シェルテクニック http //d.hatena.ne.jp/odz/20070129/1170136615 2010/12/01 Linuxテクニック http //roadman.gozaru.jp/linuxtext1.html 2010/12/01 Linuxテクニック http //wiki.nbj.co.jp/devel/index.htm?LinuxTips 2010/12/01 コーディングテクニック http //hp.vector.co.jp/authors/VA000092/win32/standard-coding.html 2010/12/01 プログラミングテクニック皮肉 http //www.bsddiary.net/doc/misc.html 2010/12/01 Linux Hack http //hira-consulting.com/wiki/index.php?%A4%E8%A4%A6%A4%B3%A4%BD 2010/10/31 Pukiwiki導入 http //pukiwiki.sourceforge.jp/?PukiWiki/Install 2010/10/31 Google Chrome Extension開発 http //gihyo.jp/dev/serial/01/chrome-extensions 2010/10/31 LimeChatで翻訳 http //pen2.com/google/ 2010/08/05 Stuart zender参加アルバム http //www.j-love.info/discography/other/tracks-feat.htm 2010/08/01 Stuart zender HP http //stuartzender.co.uk/ 2010/08/01 Haskellのお勉強 http //www.shido.info/hs/ 2010/04/21 飲み会 http //www.hotpepper.jp/strJ000019177/ 2010/04/08 redmine install (linux) http //d.hatena.ne.jp/Syo-Takasaki/20070728/redMine 2010/03/20 Google Chromeの単体インストーラ入手方法 http //tokuna.blog40.fc2.com/blog-entry-1858.html 2010/03/20 Objective-C 仕様 GNU http //www.gnustep.org/resources/documentation/Developer/Base/ProgrammingManual/manual_toc.html 2010/03/20 Objective-C 仕様 apple http //devworld.apple.com/jp/documentation/cocoa/Conceptual/ObjectiveC/Introduction/chapter_1_section_1.html 2010/03/20 gcc インクルードパス指定 http //oshiete1.goo.ne.jp/qa2006018.html 2010/03/20 Makefile リファレンス http //www.unixuser.org/~euske/doc/makefile/ 2010/03/19 Beginners Objective-c http //gnustep.made-it.com/BG-objc/index.html 2010/03/17 Control Excel by Ruby http //jp.rubyist.net/magazine/?0004-Win32OLE 2010/03/17 Excel Graph tips http //kokoro.kir.jp/excel/excel-graph.html 2010/03/14 PythonSample csv2xml プログラム/Pythonサンプル/csvからxmlへ変換 2010/03/14 PerlSample csv2xml プログラム/Perlサンプル/csvからxmlへ変換 2010/03/01 やる夫 http //ja.wikipedia.org/wiki/やる夫 2010/02/24 xyzzy覚書 http //ohkubo.s53.xrea.com/xyzzy/memo.html 2010/02/24 Emacs Keybind http //www.cosmo.sci.hokudai.ac.jp/~kk/emacs/emacs_key.html 2010/02/23 コーディング時の注意点 http //members.at.infoseek.co.jp/sakura_editor/coding.html
https://w.atwiki.jp/ntemacs/
【お知らせ】 ● 本サイトは NTEmacs の情報サイトなのですが、私が WSL版 Emacs に乗り換えたため、そちらに関連する情報が多くなってきています。WSL版 Emacs も Windows 上で動作する Emacs ですので、本サイトの目的とは合致していると思っています。 ● WSL版 Emacs に行き着くまで、Linux版 Emacs、MinGW版 Emacs、Cygwin版 Emacs といろいろ使ってきましたが、今のところ Windows で Emacs を使うには WSL Emacs on VcXsrv がベストな選択だと思っています。WSL コマンド(https //github.com/smzht/wsl-utils)や Windows コマンド(https //github.com/smzht/win-utils)の作成、Google日本語入力 と連携可能な mozc_emacs_helper.exe のビルドの成功(https //github.com/smzht/mozc_emacs_helper)、さらには以降で紹介している Emacs の設定の整備により、WSL 上で Emacs を使う場合の不便な点は概ね解消されていると思います。 ■ Windows 10 2004 がリリースされましたので、WSL から WSL2 に移行しました。多少の調整は必要でしたが、WSL の環境をほぼそのまま WSL2 で実現できました。調整が必要だった箇所は、「WSL で Emacs を使うための設定 」の 【お知らせ】 に記載しています。 ■ X Window Server は VcXsrv から GWSL に乗り換えました。GWSL も 内部で VcXsrv を利用しており、VcXsrv と同等に利用可能です。Microsoft 謹製の WSLg も Windows 11 では利用可能となっていますが、Windows の操作方法が独自になるなどの理由から、GWSL の方を利用しています。 【トピック】 ★ NTEmacs の設定とは関係ありませんが、Windows の操作を Emacs のキーバインドで行うための設定 を公開しています。OS まるごと Emacsキーバインドで操作することができ快適です。お試しください! Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版) update! (2022/06/23) ★日本語キーボードを英語キーボード配列で使おうとした際に調べた情報 をまとめています。Keyhac + Fakeymacs で実現する設定のリンクも載せています。お試しください! 英語キーボード設定の OS で日本語キーボードを使うときの情報まとめ update! (2021/09/10) ★ WSL で Emacs を使うための設定 をまとめました。WSL Emacs は Windows との相性がとても良く、Linux、Windows 双方にアクセスするためのユーザインタフェースとしての利用にとても便利です。お試しください! WSL で Emacs を使うための設定 update! (2022/10/14) ● WSL の emacsclient を Windows から利用するための設定 をまとめました。WSL Emacs を Windows で起動するためのコマンドも紹介しています。お試しください。 WSL の emacsclient を Windows から利用するための設定 update! (2021/02/05) ● VSCode で開いているファイルを WSL の Emacs で開くための設定 をまとめました。Remote-WSL を設定した VSCode でも利用可能です。お試しください。 VSCode で開いているファイルを WSL の Emacs で開くための設定 update! (2019/11/06) ● WSL の Emacs から VSCode でファイルを開くための設定 をまとめました。VSCode の Remote Development にも対応しています。お試しください。 WSL の Emacs から VSCode でファイルを開くための設定 update! (2019/10/31) ● helm で peco もどきのコマンドを使うための設定 をまとめした。peco が使えない shell-mode で利用できます。お試しください。 helm で peco もどきのコマンドを使うための設定 update! (2019/04/16) ● google-translate を使いやすくするための設定 をまとめました。翻訳する文章が日本語か英語かを判別し、他方に翻訳する機能をサポートしています。お試しください。 google-translate を使いやすくするための設定 update! (2019/12/30) ● WSL から Windows の exe コマンドを管理者権限で実行するコマンド winsudo を公開しました。UAC が有効な場合、ポップアップによる確認後に管理者権限でコマンドが実行されます。お試しください。 https //github.com/smzht/wsl-utils#-winsudo ● WSL のシェルから Cygwin のコマンドを実行するためのコマンド cyg を公開しました。Cygwin から WSL へ移行する際の過渡期に利用するツールとして使えるかと思います。お試しください。 https //github.com/smzht/wsl-utils#-cyg ● Emacs の日本語マニュアル を公開されている方がいらっしゃいます。大作です。紹介させていただきます。 https //ayatakesi.github.io/ ● Lisp と JavaScript は似ているのですね。興味深い。確かに、JavaScript の旧名は、LI ve S cri P t ですね。 https //www.slideshare.net/taiju/javascriptlisp https //qiita.com/derui/items/6e8de68cc1b7295de3a6 【本題】 このウィキでは、Windows で GNU Emacs を 快適に利用するための設定についてまとめています。完全ではありませんが、以下の環境で動作確認しています。 Windows 11 + GWSL + WSL2 + Ubuntu-20.04 + Emacs-27 + emacs-mozc(Google日本語入力 と連携)(Linux版 Emacs) Windows 11 + WSLg + WSL2 + Ubuntu-20.04 + Emacs-26 + emacs-mozc(Google日本語入力 と連携)(Linux版 Emacs) Windows 10 ver 2004 + VcXsrv + WSL2 + Ubuntu-20.04 + Emacs-26 + emacs-mozc(Google日本語入力 と連携)(Linux版 Emacs) Windows 10 ver 1909 + VcXsrv + WSL + Ubuntu-18.04 + Emacs-25 + emacs-mozc(Google日本語入力 と連携)(Linux版 Emacs) ※ 現在のメイン環境です。「WSL で Emacs を使うための設定」で設定方法を紹介しています。 ※ この環境の特徴は、以下のとおりです。 ・MinGW版 Emacs と異なり、設定でのいろいろな workaround(fakecygpty の設定や UTF-8 を使うための設定など)が不要です。 ・Cygwin版 Emacs と異なり、MinGW版 Emacs 並に高速に動作します。 ・Google日本語入力 との連携を可能とした mozc_emacs_helper.exe の導入で、日本語入力にも対応しています。 ・Cygwin版 Emacs で度々発生する vfork 問題が一切起こりません。 ・Linux の OS 環境をフルに利用可能です。(MinGW版 Emacs の様に別途 UNIX 環境を準備する必要がありません。) ・設定により、dired から Windows のドキュメントを直接開くことができます。(wslstart という cygstart と同機能のコマンドの作成により実現しています。) ・設定により、dired で Windows のショートカットをシンボリックリンクの様に扱えます。(w32-symlinks.el から最低限必要な設定を流用することで実現しています。) ・設定により、Windows パスや UNC パスを Linux のパスと同様に利用できます。(Emacs の Magic File Names の仕組みを利用して実現しています。) ・ViirtualBox で Linux を動作させた環境と異なり、Keyhac との連携(ウィンドウの切り替えなど)が可能です。 ・一つデメリットを挙げれば、画面へのファイルのドラッグ&ドロップができないことです。これは、「dired を OS と連携して使うための設定」で代替になると思います。 Windows 10 + gnupack-13.06(Cygwin は最新に更新)+ emacs-mozc(Google日本語入力 と連携)(Cygwin版 Emacs) Windows 10 + gnupack-13.06(Cygwin は最新に更新)+ Cygwin の emacs-w32 での差替え + emacs-mozc(Google日本語入力 と連携)(Cygwin版 Emacs) ※ WSL に移行する前まで使っていた環境です。 ※ 比較的新しいバージョンが提供される Cygwin の Emacs を利用する方法は、「gnupack-13 の環境で Cygwin の Emacs を利用するための設定」を参考としてください。 ※ この環境の特徴は、以下のとおりです。(以前までお勧めしていたので、まとめています。) ・MinGW版 よりちょっと(かなり?)遅めですが、設定でのいろいろな workaround が不要です。 ・Cygwin 側で作成した Windows ショートカット(CYGWIN環境変数 が winsymlinks lnk に設定された状態で ln -s コマンドで作成したリンク)が、シンボリックリンクとして認識されるのが便利です。 ・Google日本語入力 との連携を可能とした mozc_emacs_helper.exe の導入で、日本語入力も安定して動作します。 ・何らかのタイミングで vfork関連のエラーが発生することがあります。これを解決するのが厄介で、Cygwin版 Emacs を使う上での大きなデメリットとなっています。(この症状が発生した場合、Cygwin に対して rebaseall を行った後、OS の再起動をすると改善するような気がします。Cygwin の更新をすると rebase が掛かるので、その後 OS の再起動をすると良いと思います。) Windows 10 + gnupack-11.00(Cygwin は最新に更新)+ NTEmacs64 での差替え (MinGW版 Emacs) Windows 10 + gnupack-11.00(Cygwin は最新に更新)+ GNU配布版 Emacs での差替え + emacs-mozc(Google日本語入力 と連携)(MinGW版 Emacs) ※ 最新の MinGW版 Emacs を利用する方法は、「gnupack-11.00 の環境で NTEmacs64 を利用するための設定」を参考としてください。 ※ Windows のパスがそのまま利用できるなど、Windows との親和性は高いです。但し、問題なく使うためのハードルも高い(本質的ではない、設定でのいろいろな workaround が必要)です。 VirtualBox + Ubuntu-18.04 + Emacs-25 or 26 + emacs-mozc(mozc-server と連携)(Linux版 Emacs) Hyper-V + Ubuntu-18.04 + Emacs-25 or 26 + emacs-mozc(mozc-server と連携)(Linux版 Emacs) ※ 仮想環境で動かしているのに、非常に高速に動作します。Windows 環境との連携が重要でなければ、この環境が一番お勧めなのかもしれません。 ※ 本ページで紹介する設定は、Emacs バージョン 24.4 以上で利用可能な設定となっています。 ※ MinGW版 Emacs を利用する場合、Cygwin の導入、cygdriveプレフィクス の / 設定、cygwin-mount.el のインストールが前提となっている設定箇所があります。 ※ Cygwin版 Emacs 、MinGW版 Emacs を利用する場合、以下の「【基本設定】」が行われていることが前提となっている設定箇所が多数あります。本ページの設定を利用する場合には、「【基本設定】」の利用を強くお勧めします。 ※ フォントを滑らかに表示させるためには、次の方法をお試しください。 http //121ware.com/qasearch/1007/app/servlet/relatedqa?QID=013964 ■ Cygwin版 Emacs 特有の設定 【基本設定】 Windowsパス と UNCパス を使えるようにするための設定 【推奨設定】 dired でディレクトリのシンボリックリンクを実体のパスで開くための設定 ※ 後半に Cygwin版 Emacs 特有の設定があります。 gnupack-13 の環境で Cygwin の Emacs を利用するための設定 (関連) Cygwin で sudo 的コマンドを使うための設定 Cygwin で sudoedit を使うための設定 singleton な動きをする cygstart 的コマンドを使うための設定 (Cygwin版) gnupack-13.xx の背景色やフォントを gnupack-11.00 の時代のものと同じにするためのパッチ ■ MinGW版 Emacs 特有の設定 【基本設定】 UTF-8 をベースとして利用するための設定 【基本設定】 fakecygpty を使うための設定 tramp を tramp-method “scp” で使うための設定 ※ 後半に MinGW版 Emacs 特有の設定があります。 emacsclientw を使うための設定 Cygwin の Python を使って run-python を動かすための設定 gnupack-11.00 の環境で NTEmacs64 を利用するための設定 ※ MinGW版 Emacs であれば NTEmacs64 以外にも適用可能です。 ■ Windows版 Emacs 共通の設定 (上記の「【基本設定】」が前提となっている設定があります) W32-IME を快適に使うための設定 emacs-mozc を動かすための設定(mozc_emacs_helper コンパイル編) emacs-mozc を動かすための設定(サーバ準備編) emacs-mozc を動かすための設定(Emacs 設定編) ※ 一部の設定を除き、Linux版 Emacs にも適用可能です。 locate を使うための設定 Notepad を使って印刷するための設定 emacs-eclim を使うための設定 Emacs で指定したファイルを Eclipse で開くための設定 Windows ショートカットを dired と連携して使うための設定 ← お薦めはこちら w32-symlinks を dired と連携して使うための設定 ■ Linux の Emacs で利用できる設定 リモートマシン上の Emacs から、ローカルマシンの Windowsアプリケーションソフトを起動するための設定 VirtualBox 上の Ubuntu から WSL を経由して Windows 環境にアクセスするための設定 ■ Windows Subsystem for Linux の Emacs で利用できる設定 【推奨設定】 WSL で Emacs を使うための設定 emacs-mozc を動かすための設定(WSL 設定編) Windowsパス と UNCパス を使えるようにするための設定(WSL 設定編) WSL で NTFS シンボリックリンクや Windows ショートカットを作成するための設定 WSL の emacsclient を Windows から利用するための設定 Windows ショートカットを dired と連携して使うための設定 ← お薦めはこちら w32-symlinks を dired と連携して使うための設定 Notepad を使って印刷するための設定(WSL 設定編) locate を使うための設定(WSL 設定編) WSL の Emacs から VSCode でファイルを開くための設定 VSCode で開いているファイルを WSL の Emacs で開くための設定 Windows の ssh から WSL2 の sshd に接続するための設定 (関連) WSL で cygstart 的コマンドを使うための設定 singleton な動きをする cygstart 的コマンドを使うための設定 (WSL版) ■ Emacs 全般で利用できる設定 shell-mode を使うための設定 shell-mode で複数の漢字コードを混在して利用できるようにするための設定 shellバッファ を簡単にポップアップするための設定 dired を OS と連携して使うための設定 dired をより便利に使うための設定 dired でディレクトリのシンボリックリンクを実体のパスで開くための設定 tramp を tramp-method “scp” で使うための設定 tramp による接続先で Xクライアント を実行するための設定 helm を使うための設定 helm から comint の入力履歴を検索するための設定 helm で peco もどきのコマンドを使うための設定 ediff をスマートに使うための設定 elscreen を使うための設定 whitespace を使うための設定 cua-mode を使うための設定 multiple-cursors を使うための設定 google-translate を使いやすくするための設定 ■ 説明ページを作るまでもない設定の紹介 沢山開いているバッファをできるだけ一度に閉じるための設定 (global-set-key (kbd "M-c") (lambda () (interactive) (desktop-clear) (tramp-cleanup-all-connections))) カレントバッファを一発で閉じるための設定 (global-set-key (kbd "M-k") (lambda () (interactive) (kill-buffer (buffer-name)))) ウィンドウの右端で改行をするかどうかを切り替えるための設定 (global-set-key (kbd "C-c C- return ") 'toggle-truncate-lines) 横スクロールするための設定(キー設定が逆の感覚の方もいるかも) (global-set-key (kbd "C-,") 'scroll-left) ; のキー (global-set-key (kbd "C-.") 'scroll-right) ; のキー other-window がなければ開き、その window に移動するための設定 http //d.hatena.ne.jp/rubikitch/20100210/emacs (defun other-window-or-split () (interactive) (when (one-window-p) (split-window-sensibly)) (other-window 1)) (global-set-key (kbd "C-x o") 'other-window-or-split) 2 分割しているバッファを入れ替えるための設定 http //www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow node=swap%20screen (defun swap-screen-with-cursor() "Swap two screen,with cursor in same buffer." (interactive) (let ((thiswin (selected-window)) (thisbuf (window-buffer))) (other-window 1) (set-window-buffer thiswin (window-buffer)) (set-window-buffer (selected-window) thisbuf))) (global-set-key (kbd "M-t") 'swap-screen-with-cursor) バッファの分割方向を縦と横とで入れ替えるための設定 https //github.com/daichirata/emacs-rotate (require 'rotate) (setq rotate-functions '(rotate even-horizontal rotate even-vertical)) (global-set-key (kbd "M-\\") 'rotate-layout) tramp を使っていて、NTEmacs の起動が遅くなる場合に必要な設定 (require 'recentf) (setq recentf-auto-cleanup 'never) (recentf-mode 1) その他参考 http //www.clear-code.com/blog/2012/3/20.html ■ おまけ ssh-agent や ssh-pageant を使って、ssh のパスフレーズの入力を省略するための設定(方法1) ssh-agent や ssh-pageant を使って、ssh のパスフレーズの入力を省略するための設定(方法2) ssh-agent や ssh-pageant を使って、ssh のパスフレーズの入力を省略するための設定(方法3) ← お薦めはこちら Windows の操作を Emacs のキーバインドで行うための設定 (AutoHotKey版) Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版) ← お薦めはこちら ■ その他 MobaXterm を使おう Windows で sshfs を使うお薦めのソフト Subversion には dsvn を使っています。melpa からインストールできます。 Git には magit が便利です。 Vimacs というのもあるんですね。Evil と逆の発想のものだと思います。 http //blog.cnu.jp/2009/07/28/vimacs/ http //uguisu.skr.jp/Windows/vim.html spacemacsというのも見つけました。Windows版 Emacs でも動いているようです。 https //github.com/syl20bnr/spacemacs ■ 参考サイト Manual http //emacs.rubikitch.com/emacs245-manual-ja/ https //ayatakesi.github.io/ https //github.com/ayatakesi Lisp と JavaScript https //www.slideshare.net/taiju/javascriptlisp https //qiita.com/derui/items/6e8de68cc1b7295de3a6 Common Lisp http //www.geocities.jp/m_hiroi/xyzzy_lisp.html functional-programming https //postd.cc/an-introduction-to-functional-programming/ https //qiita.com/hiruberuto/items/26a813ab2b188ca39019 nadvice http //g000001.cddddr.org/3623238000 ` before'(lambda ( rest r) (apply FUNCTION r) (apply OLDFUN r)) ` after'(lambda ( rest r) (prog1 (apply OLDFUN r) (apply FUNCTION r))) ` around'(lambda ( rest r) (apply FUNCTION OLDFUN r)) ` override'(lambda ( rest r) (apply FUNCTION r)) ` before-while'(lambda ( rest r) (and (apply FUNCTION r) (apply OLDFUN r))) ` before-until'(lambda ( rest r) (or (apply FUNCTION r) (apply OLDFUN r))) ` after-while'(lambda ( rest r) (and (apply OLDFUN r) (apply FUNCTION r))) ` after-until'(lambda ( rest r) (or (apply OLDFUN r) (apply FUNCTION r))) ` filter-args'(lambda ( rest r) (apply OLDFUN (funcall FUNCTION r))) ` filter-return'(lambda ( rest r) (funcall FUNCTION (apply OLDFUN r))) generalized variables http //kawabata.github.io/blog/2013-03-14-general-variables.html http //qiita.com/kawabata@github/items/9a1a1e211c57a56578d8 lexical-binding http //sakito.jp/emacs/emacs24.html#emacs-lisp-lexical-binding http //d.hatena.ne.jp/mhayashi1120/20130327/1364396586 flet http //ja.stackoverflow.com/questions/5458/flet%E3%81%A8cl-flet%E3%81%AE%E5%B7%AE%E7%95%B0 noflet http //emacs.rubikitch.com/noflet/ function http //www.mew.org/~kazu/doc/elisp/function.html custom-set-variables http //kawamuray.hatenablog.com/entry/2013/11/03/180543 buffer local variable https //qiita.com/yoshrc/items/00f3c08f7a5cac911c3a https //qiita.com/tadsan/items/9d287a57c26711387043 Emacs http //qiita.com/ytoda129/items/58078d8c7e74d9144014 https //miyazakikenji.wordpress.com/2015/08/11/ac-mozc-on-emacs25-in-ubuntu/(誤記有: apt-add repository - apt-add-repository。インストールされるものが最新過ぎるかも。) http //nkenbou.hatenablog.com/entry/2015/06/30/051408 http //askubuntu.com/questions/87872/how-do-i-accept-the-configuration-screen-that-pops-up-when-installing-postfix http //tanehp.ec-net.jp/heppoko-lab/prog/zakki/emacs/emacs.html http //d.hatena.ne.jp/tomoya/20081228/1230421982 http //blog.ichiroc.in/entry/2013/08/30/185953 init-loader.el http //d.hatena.ne.jp/gin0606/20111021/1319196327 http //tech.kayac.com/archive/divide-dot-emacs.html http //qiita.com/catatsuy/items/5f1cd86e2522fd3384a0 font http //extra-vision.blogspot.com/2016/07/emacs.html http //mix-mplus-ipa.osdn.jp/migu/ http //save.sys.t.u-tokyo.ac.jp/~yusa/fonts/ricty.html dabbrev http //konbu13.hatenablog.com/entry/2014/03/09/080947 emacsclient https //qiita.com/acple@github/items/4be7eb774a28d574281e helm https //github.com/emacs-helm/helm/wiki https //github.com/emacs-helm/helm/wiki/Developing http //syohex.hatenablog.com/entry/2015/10/10/171926 https //masutaka.net/chalow/2014-04-02-1.html mozc http //nyaruru.hatenablog.com/archive http //d.hatena.ne.jp/rti7743/20100513/1273710518 https //www.codeproject.com/Articles/13724/Windows-IPC http //myfuturesightforpast.blogspot.com/2015/08/googlemozcimewindowslinuxandroid.html https //github.com/kento1218/mozc-incog-switcher Google日本語入力 https //productforums.google.com/forum/#!topic/ime-ja/5CCIenG_0Zw https //productforums.google.com/forum/#!topic/ime-ja/xBJLDHyJVw0 eclim http //eclim.org https //github.com/senny/emacs-eclim OminiSharp https //github.com/omnisharp roslyn https //www.buildinsider.net/enterprise/roslyn/01 lsp https //github.com/emacs-lsp https //github.com/joaotavora/eglot https //microsoft.github.io/language-server-protocol/implementors/servers/ https //qiita.com/blue0513/items/acc962738c7f4da26656 https //qiita.com/atsushieno/items/ce31df9bd88e98eec5c4 https //qiita.com/515hikaru/items/8b364b4d091459a85dc0 TabNine https //qiita.com/blue0513/items/2634fcb3757629124c87 https //qiita.com/gorogoroyasu/items/f49ee019ea886181d972 IDE https //www.mediamaxjapan.com/techblog/articles/lets-start-using-ide/ WSL https //opcdiary.net/?p=32284 https //qiita.com/nishemon/items/bb3aca972404f68bfcd6 https //qiita.com/zophos/items/5cf66385a88186c2fac9 http //ascii.jp/elem/000/001/278/1278792/ http //ascii.jp/elem/000/001/402/1402257/ https //ascii.jp/elem/000/001/803/1803883/ http //www.clear-code.com/blog/2017/11/8.html https //www.atmarkit.co.jp/ait/articles/1711/09/news032.html for Windows 10 1803 https //kledgeb.blogspot.jp/2018/03/wsl-142-windows-101803wsl.html http //www.atmarkit.co.jp/ait/articles/1805/24/news022.html for Windows 10 1607 https //github.com/goreliu/wsl-terminal https //github.com/rprichard/wslbridge https //github.com/xilun/cbwin http //qiita.com/shiena/items/b8036514c217000a221 WSL2 https //ascii.jp/elem/000/004/007/4007561/ binfmt_misc http //ascii.jp/elem/000/001/428/1428626/ https //qiita.com/lnznt/items/c729d80d0800a8f78298 http //archive.linux.or.jp/JF/JFdocs/kernel-docs-2.6/binfmt_misc.txt.html D-Bus http //d.hatena.ne.jp/debug-ito/20130502/1367487352 http //www.usupi.org/sysad/175.html http //www.usupi.org/sysad/176.html http //wordpress.honobono-life.info/lin-base/linux%E3%81%AEdbus-daemon%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E6%A6%82%E8%A6%81/ bash http //www.akamoz.jp/you/uni/shellscript.htm https //orebibou.com/2017/04/shopt%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%8D%E3%82%8Bbash%E3%81%AE%E4%BE%BF%E5%88%A9%E8%A8%AD%E5%AE%9A%E3%81%BE%E3%81%A8%E3%82%81/ gsudo https //qiita.com/_masa_u/items/a799745d70b30c32a03b https //github.com/gerardog/gsudo stdbuf https //linuxcommand.net/stdbuf/ cocot https //vmi.jp/software/cygwin/cocot.html ssh http //kazuph.hateblo.jp/entry/2013/02/04/192358 http //qiita.com/kazuph/items/46e7f665f8c09ec29471 http //inaz2.hatenablog.com/entry/2013/04/30/221348 ssh-agent-wsl https //qiita.com/q1701/items/3cdc2d7ef7a3539f351d socat http //racchai.hatenablog.com/entry/2016/04/14/173000 SocksCap64 https //www.cup.com/staticip/manual/win_sockscap64.html Named Pipe TCP Proxy Utility http //shvechkov.tripod.com/nptp.html https //yamanxworld.blogspot.jp/2011/06/com-ems.html trac http //blog.kyanny.me/entry/2011/11/19/023643 DOS https //goo.gl/rS2qoh https //thinca.hatenablog.com/entry/20100210/1265813598 http //coelacanth-deepsea.hatenablog.com/entry/2013/01/13/162350 https //korokorokoron.hatenadiary.org/entries/2010/03/16 http //ykr414.com/dos/bat.html http //pentan.info/server/windows/cmd/dp0.html https //tunemicky.blogspot.com/2012/03/cmdexe-c.html http //www.atmarkit.co.jp/ait/articles/1306/07/news111.html UAC https //www.glamenv-septzen.net/view/832 fsutil http //www.atmarkit.co.jp/ait/articles/1306/28/news106.html https //blogs.technet.microsoft.com/jpntsblog/2016/08/31/smbandsymlink/ Windows Shortcut File Format https //storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/8bits/The_Windows_Shortcut_File_Format.pdf https //docs.microsoft.com/en-us/openspecs/windows_protocols/ms-shllink/16cb4ca1-9339-4d0c-a68d-bf1d6cc0f943 Android http //d.hatena.ne.jp/moerrari/20170723 http //ottan.xyz/android-linux-noroot-gui-5690/ http //qiita.com/z80oolong/items/4ef119a6af79a9276a0d http //www.mhatta.org/wp/blog/2017/08/06/emacs-on-android/ Keyhac https //sites.google.com/site/craftware/keyhac-ja https //github.com/crftwr/keyhac/blob/master/keyhac_main.py#L7-L21 closure http //www.lifewithpython.com/2014/09/python-use-closures.html?m=1 http //blog.starbug1.com/archives/290 AutoHotKey https //so-zou.jp/software/tool/system/auto-hot-key/introduction/ http //ahkwiki.net/Top http //fxrobot.hatenablog.com/archive/category/AutoHotKey Bat To Exe Converter http //blog.mukairiku.net/2012/10/%E3%83%90%E3%83%83%E3%83%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92exe%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B-bat-to-exe-converter.html http //www.f2ko.de/en/b2e.php Emacs keybind https //linuxfan.info/emacs-key-theme https //qiita.com/shiena/items/37032aacc241b1333e13 xkeysnail https //qiita.com/mooz@github/items/c5f25f27847333dd0b37 https //github.com/mooz/xkeysnail q-text-as-data http //harelba.github.io/q/ja/ https //www.google.com/search?q=q-text-as-data qq https //github.com/mattn/qq https //mattn.kaoriya.net/software/lang/go/20160805190022.htm Open-usp-Tukubai https //github.com/usp-engineers-community/Open-usp-Tukubai article http //kledgeb.blogspot.jp/2016/07/wsl-31-windows-10ubuntuunityxubuntuxfce4.html https //github.com/Microsoft/BashOnWindows/issues/637 http //www.zdnet.com/article/how-to-run-run-the-native-ubuntu-desktop-on-windows-10/ http //winaero.com/blog/run-ubuntu-unity-on-windows-10/ https //blogs.msdn.microsoft.com/wsl/2016/10/19/windows-and-ubuntu-interoperability/ http //kledgeb.blogspot.jp/2016/10/wsl-51-bashwindows.html http //ascii.jp/elem/000/001/246/1246548/ http //ascii.jp/elem/000/001/250/1250797/ MacOS https //applech2.com/archives/45181430.html https //applech2.com/archives/47447129.html https //blog.amedama.jp/entry/lima-macos-amd64-vm https //zenn.dev/ciloholic/articles/bbc6927ecfbdb4 https //qiita.com/chibiegg/items/eede37345f7058ce604d https //dev.classmethod.jp/articles/intro-to-multipass/ (function(i,s,o,g,r,a,m){i[ GoogleAnalyticsObject ]=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document, script , //www.google-analytics.com/analytics.js , ga ); ga( create , UA-40267130-1 , atwiki.jp ); ga( send , pageview );
https://w.atwiki.jp/mainichi-matome/pages/711.html
The story below is originally published on Mainichi Daily News by Mainichi Shinbun (http //mdn.mainichi.jp). They admitted inventing its kinky features, or rather deliberately mistranslating them from the original gossip magazine. In fact, this is far from the general Japanese behavior or sense of worth. このページは、毎日新聞事件の検証のための配信記事対訳ページです。直接ジャンプして来られた方は、必ずFAQをお読みください。 ※ この和訳はあくまでもボランティアの方々による一例であり、翻訳の正確さについては各自判断してください。もし誤訳(の疑い)を発見した場合には、直接ページを編集して訂正するか翻訳者連絡掲示板に報告してください。 "Tabloid Tidbits Schoolgirl sex sellers use codes for carnality"「タブロイド面白短編:女子学生売春婦たちはセックスのために暗号を使う」 ソースロンダリングの概要と発見された経路共通経路 Tokyomango から転載 Textually.org から転載 経路が謎 まったく別経路 拡散状況 関連ページ "Tabloid Tidbits Schoolgirl sex sellers use codes for carnality" 「タブロイド面白短編:女子学生売春婦たちはセックスのために暗号を使う」 (2008年1月26日配信) IkebLURV1700Yukichi2JC1 At first glance, the above looks like nothing more than gobbledygook, but Nikkan Gendai (1/23) says it s actually an elaborate code used by a schoolgirl prostitute ring cops broke up this week. IkebLURV1700Yukichi2JC1 一目見ると、上記はわかりにくい専門用語以外の何ものでもないが、日刊ゲンダイ(1月23日号)は言う、それは実は、警察が今週解散させたある女子学生売春仲間(組織)により使われていた、巧妙な暗号の1つである。 Saitama Prefectural Police have already taken into custody five schoolgirls ranging from junior high school to high school pupils, accusing them of breaking the Matchmaking Site Regulation Law by running a bulletin board offering sexual services performed by junior high and elementary school girls. 埼玉県警はすでに中学生から高校生までの5人の女子学生を拘束(補導)した、中学生と小学生の少女たちによる性的サービスを提供する掲示板を使い出会い系サイト規制法違反として彼女たちを告発した。 More arrests are expected. さらに逮捕者が出ると予想される。 "Prefectural police are poised to arrest a 6th grade schoolgirl who was using this site," an investigation insider tells Nikkan Gendai. "I think it s probably the first time that an elementary school pupil has been arrested for breaking this law." 「県警はこのサイトを使っていたある6年生の女子小学生を逮捕(補導)する用意ができている、」と捜査関係者が日刊ゲンダイに言う。「この法律の違反によって逮捕(補導)される最初の小学生になると思う。」 About 80 percent of those who accessed the site are believed to have been pedophiles or those fixated with young girls. But the posts on the bulletin board were nearly all written in code. そのサイトにアクセスしていた約80%の人たちは幼児性愛者または少女病的執着者であると考えられている。しかし、その掲示板に投稿されたのほとんどすべては暗号で書かれていた。 Standard procedure was for the first two characters used to resemble the name of a well-known and easily identifiable place, so the above message would have been referring to Tokyo s Ikebukuro entertainment district. 標準的な手順は、最初の2文字はよく知れたそして簡単に特定できる場所名を表すように使われる、よって、上記のメッセージは東京の池袋歓楽街を示しているのであろう。 A heart mark -- or, as in the above case, the letters "LURV" -- signifies the girl s willingness to have sex, the lowbrow tabloid says, adding the next four numbers were the time, according to the 24-hour clock, that she would be able to meet. 1つのハートマーク - または、上記の場合は、文字”LURV” - は少女か喜んでセックスしてくれるということを表す、と低脳タブロイド紙は言う、次に4つの数字は、彼女が会える、時刻を、24時間表記で付け加える。 Yukichi refers to Yukichi Fukuzawa, the man whose face appears on the 10,000 yen note. The number immediately following his name designates how many 10,000 yen notes the girl is seeking to supply carnal services. 諭吉は福沢諭吉(その男性の顔は1万円札に印刷されている)を示す。彼の名前の直後に続く番号はその少女は肉体的サービスをするにあたって求めている1万円札の枚数を指示する。 JC, meanwhile, is code for Joshi Chugakusei, the Japanese word for junior high schoolgirl. Elementary schoolgirls, incidentally, are "JS" for Joshi Shogakusei, while "JK" stands for Joshi Kosei, or high school girl. The number after the code letters indicates the grade the girl is in. 一方、JCはJoshi Chugakusei(女子中学生にあたる日本語)を示す暗号である。女子小学生は、ついでに紹介すれば、"JS"でありJoshi Shogakuseiを示す、一方、"JK"はJoshi Koseiまたは女子高校生を表す。その暗号文字の後の番号はその少女の学年を示す。 " IkebLURV1700Yukichi2JC1, then, stands for a message meaning First year junior high schoolgirl, can meet for love in Ikebukuro from 5 p.m. with sex costing 20,000 yen," sex business writer Atsushi Tashiro tells Nikkan Gendai. "If there is a heart mark in a girl s mail, it s code for saying that she s willing to have sex for money. If there s a heart mark and a number nearby it in any mails a girl sends, parents should suspect that she s selling her body." それでIkebLURV1700Yukichi2JC1が示すメッセージの意味は「女子中学1年生、セックス代2万円込みで池袋で午後5時から会える、」とセックスビジネス関係作家タシロ アツシ氏は日刊ゲンダイに言う。「もし、少女のメッセージのハートマークがあれば、その暗号は彼女がお金のためにセックスすることを望んでいることを言っていることである。もし、少女が送るあらゆるメールの中に、ハートマークとその近くに番号があれば、両親は彼女は身体を売っていると疑うべきである。」 (By Ryann Connell) (Mainichi Japan) January 27, 2008 ### 2008年1月26日配信 (未登録記事) Tabloid Tidbits Schoolgirl sex sellers use codes for carnality http //www.crnjapan.com/abuse/aarticles/2008/en/20080122-educ_board_sex_network_tokyo.html Tabloid Tidbits Schoolgirl sex sellers use codes for carnality The Mainichi Shimbun (WaiWai) January 27, 2008 Source http //mdn.mainichi.jp/culture/waiwai/news/20080126p2g00m0dm010000c.html 納品:7/25 ソースロンダリングの概要と発見された経路 解説された暗号例である "IkebLURV1700Yukichi2JC1" で追跡しました。 Tokyomango の段階で、一次ソースは消えています。事件の詳細は曖昧になり、暗号例の解読が文章の中心になります。 さらに、Textually.org の段階で、MDN の名前さえ消え去り、暗号解読と使用目的だけが一人歩きを始めます。 舞台は出会い系サイトであったはずなのに、タイトルにSMS(ショートメッセージサービス)という表記さえ出現します。 詳細は以下をご覧ください。 共通経路 (2008/01/23) 日刊ゲンダイ ↓ (2008/01/27) MDN waiwai "Tabloid Tidbits Schoolgirl sex sellers use codes for carnality" http //mdn.mainichi.jp/culture/waiwai/news/20080126p2g00m0dm010000c.html 日本語の表示された携帯電話の写真あり? ↓ (2008/01/31) Tokyomango "Text Msg Code for "I m a Japanese School Girl Selling Sex"" http //www.tokyomango.com/tokyo_mango/2008/01/text-msg-code-f.html MDN のリンクあり 大幅に要約 日本語の表示された携帯電話の写真もコピー http //www.tokyomango.com/tokyo_mango/images/2008/01/31/20080126p2g00m0dm008000p_size5.jpg ↓ (2008/02/01) Textually.org "Text Msg Code for "I m a Japanese School Girl Selling Sex"" http //www.textually.org/textually/archives/2008/02/018877.htm Tokyomango のリンクあり Tokyomango から転載 (2008/02/01) Cell Packages "Text Msg Code for “I’m a Japanese School Girl Selling Sex”" http //cellpackages.com/text-msg-code-for-im-a-japanese-school-girl-selling-sex.html Tokyomango のリンクあり (2008/02/01) 文化レベルが高すぎます "IkebLURV1700Yukichi2JC1" http //d.hatena.ne.jp/itoshiki/20080201/p2 Tokyomango のリンクあり (2008/02/01) ShakeWellBeforeUse "Txtshorthand used to sell underage sex" http //www.shakewellbeforeuse.com/2008/02/txtshorthand_used_to_sell_unde.php Tokyomango のリンクあり 日本の女子高生らしい下半身の写真あり http //www.shakewellbeforeuse.com/images/200405327-001.jpg (2008/02/02) Tambayan.ph "Japanese school girls using codes for selling sex" http //www.tambayan.ph/2008/02/02/japanese-school-girls-using-codes-for-selling-sex/ MDN のリンクあり Tokyomango のリンクあり 日本語の表示された携帯電話の写真もコピー http //www.tambayan.ph/wp-content/uploads/2008/02/kanji-mobile.jpg (2008/02/02) Ring-Weekly Mobile Phone News "Japanese School Girls Using SMS Codes To Sell Sex" http //ring-weekly.blogspot.com/2008/02/japanese-school-girls-using-sms-codes.html Tokyomango のリンクあり タイトルに SMS 追加 内容に SMS 追加 (2008/02/05) ISIS-Inc. Technically, it s about Sex "As ET once said "Be Good"" http //phalligator.blogspot.com/2008/02/as-et-once-said-be-good.html Tokyomango のリンクあり (2008/02/05) Cowboy Caleb "Jap Prostitution Ring Secret Mobile Code Dilemma" http //cowboycaleb.liquidblade.com/index.php/archives/2008/02/05/jap-prostitution-ring-secret-mobile-code-dilemma/ 日本語の表示された携帯電話の写真もコピー http //farm3.static.flickr.com/2004/2243610734_2ed4c52468.jpg (2008/02/29) FEPY "Text Msg Code for “I’m a Japanese School Girl Selling Sex”(title unknown)" http //www.fepy.com/text-msg-code-for-im-a-japanese-school-girl-selling-sextitle-unknown-3505.html MDN のリンクあり Tokyomango のリンクあり 日本語の表示された携帯電話の写真もコピー http //www.tokyomango.com/tokyo_mango/images/2008/01/31/20080126p2g00m0dm008000p_size5.jpg (2008/03/01) mani.lv "Хайтек-проституция" http //www.mani.lv/ikeblurv1700yukichi2jc1/ Tokyomango のリンクあり ロシア語に翻訳 (2008/03/01) vr-maniac "Хайтек-проституция" http //vr-maniac.livejournal.com/2008/03/01/ Tokyomango のリンクあり ロシア語に翻訳 ↓ (2008/08/08) Пессимистические заметки "Хайтек-проституция" http //www.liveinternet.ru/community/lj_vr_maniac/post82218679 Tokyomango のリンクあり ロシア語に翻訳 Textually.org から転載 (2008/01/31) My Mobile Bar "Make your Japanese school girl fantasy come true with just an SMS" http //www.mymobilebar.com/make_your_japanese_school_girl_fantasy_come_true_with_just_an_sms.html Textually.org のリンクあり タイトルに SMS 追加 日本の女子高生らしい写真もコピー http //mymobilebar.com/wp-content/uploads/2008/01/312121008275.jpg (2008/02/01) IntoMobile "Make your Japanese school girl fantasy come true with just an SMS" http //www.intomobile.com/2008/02/01/make-your-japanese-school-girl-fantasy-come-true-with-just-an-sms.html Textually.org のリンクあり タイトルに SMS 追加 日本の女子高生らしい写真もコピー http //images.intomobile.com/wp-content/uploads/2008/02/japskoolgirlsmssex.jpg ↓ (2008/02/01) Phones Review "Japanese school girls arrested for prostitution ring Ads sent via SMS texts" http //www.phonesreview.co.uk/2008/02/01/japanese-school-girls-arrested-for-prostitution-ring-ads-sent-via-sms-texts/ Textually.org のリンクあり IntoMobile のリンクあり タイトルに SMS 追加 内容に SMS 追加 日本の女子高生らしい写真もコピー http //www.phonesreview.co.uk/wp-content/phoneimages/2008/02/japskoolgirlsmssex.jpg (2008/02/01) Movilae "Fantasías sexuales vía SMS en Japón" http //www.movilae.com/2008/02/01/fantasias-sexuales-via-sms-en-japon Textually.org のリンクあり タイトルに SMS 追加 内容に SMS 追加 日本の女子高生らしい写真もコピー http //www.movilae.com/wp-content/uploads//2008/02/japskoolgirlsmssex.jpg スペイン語に翻訳 ↓ (2008/02/01) BlogdeMoviles.com.ar "Fantasías sexuales por SMS en Japón" http //www.blogdemoviles.com.ar/fantasias-sexuales-por-sms-en-japon/ Textually.org のリンクあり タイトルに SMS 追加 内容に SMS 追加 日本の女子高生らしい写真もコピー http //www.blogdemoviles.com.ar/wp-content/uploads/2008/02/japskoolgirlsmssex.jpg スペイン語に翻訳 (2008/11/13) EastAsiaFair "Now available through sms sex" http //www.eastasiafair.com/2008/11/13/now-available-through-sms-sex/ Textually.org のリンクあり タイトルに SMS 追加 日本の女子高生らしい写真もコピー http //www.onigirifair.com/wp-content/uploads/2008/11/onigiri004-now-available-through-sms-sex-c-300x200.jpg 経路が謎 modemlooper Sorry the post you looking for did not exist or already removed by author http //modemlooper.com/files/japanese-school-girl-sex-cell-phone.html リンク元はすでに消えています。 ↓ (2008/02/05) Hot Diggity Blog "Japanese Schoolgirl Cell Phone Prostitution Ring" http //snagwiremedia.com/hotdiggityblog/2008/02/japanese-schoolgirl-cell-phone.html 謎なヤマンバの写真を追加 http //snagwiremedia.com/hotdiggityblog/2008/02/05/sexy-japanese-schoolgirls-thumb-500x375.jpg (2008/02/05) Sexologia.net "Estudiantes japonesas venden sexo por SMS" http //www.sexologia.net/05-02-2008/noticias/estudiantes-japonesas-venden-sexo-por-sms タイトルに SMS 追加 内容に SMS 追加 日本の女子高生らしい写真もコピー http //www.sexologia.net/wp-content/uploads/japon.jpg 日本語の表示された携帯電話の写真もコピー http //www.sexologia.net/wp-content/uploads/lurv.jpg スペイン語に翻訳 ↓ (2008/02/08) Femenino.info "Estudiantes japonesas venden sexo por SMS" http //www.femenino.info/08-02-2008/sexologia/estudiantes-japonesas-venden-sexo-por-sms Sexologia.net のリンクあり タイトルに SMS 追加 内容に SMS 追加 日本の女子高生らしい写真もコピー http //www.femenino.info/wp-content/uploads/japon.jpg 日本語の表示された携帯電話の写真もコピー http //www.sexologia.net/wp-content/uploads/lurv.jpg スペイン語に翻訳 (2008/09/13) Japan-mod.Fr "5 élèves arrêter pour prostitution" http //www.japan-mod.fr/news-japon-culture-0-238-eleves-arreter-pour-prostitution.html http //japan-mod.eu/news-japon-culture-0-238-eleves-arreter-pour-prostitution.html フランス語に翻訳 内容に SMS 追加 日本の女子高生らしい写真もコピー http //www.japan-mod.fr/img/image/jap_pros.jpg ↓ (2008/09/16) MANGAS-ANIME "5 élèves arrêter pour prostitution" http //mangas-anime.superforum.fr/japon-f91/5-eleves-arreter-pour-prostitution-t2292.htm Japan-mod.Fr のリンクあり フランス語に翻訳 内容に SMS 追加 日本の女子高生らしい写真もコピー [[http //www.japan-mod.fr/img/image/jap_pros.jpg] まったく別経路 (2008/01/23) 日刊ゲンダイ ↓ (2008/01/27) MDN waiwai "Tabloid Tidbits Schoolgirl sex sellers use codes for carnality" http //mdn.mainichi.jp/culture/waiwai/news/20080126p2g00m0dm010000c.html ↓ (2008/02/03) Asianoffbeat "Japanese Schoolgirl Sex Sellers Use Codes for Carnality" http //www.asianoffbeat.com/default.asp?Display=1476 ↓ (2008/02/05) The Grand Narrative "Japanese Schoolgirl Sex Codes" http //thegrandnarrative.wordpress.com/2008/02/03/japanese-schoolgirl-sex-codes/ ↓ (2008/02/05) East Windup Chronicle "Japanese Schoolgirl Sex Codes" http //eastwindupchronicle.com/japanese-schoolgirl-sex-codes/ 拡散状況 AsianOffbeat http //www.asianoffbeat.com/default.asp?Display=1476 CRNジャパン(日本の子供の人権ネットワーク) http //www.crnjapan.com/abuse/aarticles/2008/en/20080122-educ_board_sex_network_tokyo.html 全文コピー。ページ上の3件目 Nigihara http //www.nigihana.com/forum/showthread.php?t=6961 WaiWai Archive http //www.mainichiwaiwai.com/waiwai/2008/01/20080127.php 英語サイト 部分転載:http //asiahaha.com/index.php/japanese-schoolgirl-sex-sellers-use-codes-for-carnality/ 部分転載:http //www.fepy.com/text-msg-code-for-im-a-japanese-school-girl-selling-sextitle-unknown-3505.html http //referenceblog.canalblog.com/archives/2008/01/27/8402489.html 部分転載:http //www.textually.org/textually/archives/2008/02/018877.htm 部分転載:http //www.tokyomango.com/tokyo_mango/2008/01/text-msg-code-f.html http //www.ultimate-fighter.ca/Forum/viewtopic.php?pid=160037 http //worldofschoolgirls.com/main/index.php?option=com_content task=view id=13 Itemid=1 jrocknyc 部分転載:http //jrocknyc.blogspot.com/2008/02/elaborate-code-used-by-schoolgirl.html Blogger:その他 部分転載:http //ring-weekly.blogspot.com/2008/02/japanese-school-girls-using-sms-codes.html Blogger http //kristonikkolo.blogspot.com/2008/02/jaapani-koolitdrukute-mobiilne-seksiri.html http //magnaverse.blogspot.com/2008/02/teeny-boppers-peddling-thier-ass-joshi.html 海外ブログ http //sonletay.vox.com/library/post/schoolgirl-sex-sellers-use-codes-for-carnality.html 南アフリカドメイン http //mybroadband.co.za/vb/archive/index.php/t-107354.html (*1) PeterCH High school girl panties are like the IN thing among chikans (perverts) in Japan and Korea. I dunno bout China, it has repressive laws regarding that sort of stuff. It s pretty doff I think but some girls make a lot of dough selling their Sailor-fuku uniforms and panties to these bura-sera shops. If that keeps them away from prostitution, it s probablya good thing. Since we re talking all this tabloid stuff here, here s more sensationalism "Karate teacher uses below the black belt skills to master schoolgirl seduction" http //mdn.mainichi.jp/culture/waiwai/news/20080221p2g00m0dm019000c.html "Tabloid Tidbits Schoolgirl sex sellers use codes for carnality" http //mdn.mainichi.jp/culture/waiwai/news/20080126p2g00m0dm010000c.html 関連ページ AsianOffbeat Blogger Blogger:その他 CRNジャパン(日本の子供の人権ネットワーク) Japanese Style Noodles Nigihara WaiWai Archive WaiWaiの記事を転載した英語サイト:A WaiWaiの記事を転載した英語サイト:F WaiWaiの記事を転載した英語サイト:M WaiWaiの記事を転載した英語サイト:R WaiWaiの記事を転載した英語サイト:T jrocknyc シーファーが日本を児童ポルノ大国呼ばわりした原因 ソースロンダリング 海外ブログに記事が及ぼした影響
https://w.atwiki.jp/tuneyuki/pages/17.html
List-up available Haikyo-places. Oya Grand CenterModel Plan for 1-day trip Maya Kanko HotelModel Plan for 2-day trip Yamanaka Seishin Ryo Useful Links Oya Grand Center Information Tochigi, Utsunomiya-City, Oya栃木県宇都宮市大谷 Bus-stop Oya Kan-non(大谷観音) there are lots of Haikyo building around here. Route JR Ueno to Utsunomiya Bus "Dest 大谷・立岩" Backup-plan go to "Oya Stone Museum". Very close to "Oya Grand Center".http //www.oya909.co.jp/ Links http //www.michaeljohngrist.com/2009/05/yamamoto-grand-center-hotel-haikyo-tochigi/ http //www.eonet.ne.jp/~hiro1911/page025.html Model Plan for 1-day trip Term 7/20 - 8/31, use "JR Seishun 18 ticket"http //www.jreast.co.jp/e/pass/seishun18.html 2,300 yen for each person a day. Schedule 9 00AM JR Ueno StationGet on Local train to Utsunomiya. about 2hours. 11 30 JR Utsunomiya Station Eat Lunch around Utsunomiya StationChinese Dumplings are VERY famous!!! 12 30 Get the bus to "Oya Kan-non", takes 30 min.stay 4 or 5 hours there. 18 00 Back to Utsunomiya Station. 20 00 or later, Back to Ueno Station. Maya Kanko Hotel Information Kobe 34.727681,135.212747by google map. Route Ouji Kouen Station (王子公園駅)walk to north. (1km) Maya Cable-car Station (まやケーブル駅)go(walk) up to mountain. (1km) Niji Station (虹駅) it is next to Niji Station. Links http //discoverjunk.cool.ne.jp/haikyotop/mayakan2/ http //gnbenson.com/mayasan.html Model Plan for 2-day trip 1st day AM Shinkansen to Kobe PM Explore Kobe-City night stay hotel 2nd day 3 00AM start to climb mountain 4 00AM arrive at Maya Kanko Hotel1 hour explore inside 5 00AM sunrize1 more hour explore deep inside 6 00AM go back to kobe-city 7 00AM go somewhere (Osaka?) PM Shinkansen to Tokyo 20 00 or later, arrive at Tokyo station. Yamanaka Seishin Ryo Information Just close to Yamanaka Lake Links http //www.michaeljohngrist.com/2009/04/underground-vault-haikyo-yamanashi/ http //logicool2.blog116.fc2.com/blog-entry-272.html Useful Links http //tidepool.seesaa.net/category/7485599-1.htmlshe s been visiting Haikyo quite recently. http //home.f01.itscom.net/spiral/research.htmlLots of places on this page have already demolished, but photos are nice.
https://w.atwiki.jp/api_programming/pages/37.html
下位ページ Content 認証リクエスト OAuth2.0 の概要 WebサーバアプリケーションのOauth 2.0認証 Using OAuth 2.0 for Web Server Applications 概要 認証プロトコルについて OAuth 2.0 による認証 いろんな言語のライブラリ web application credentialsを作る web application credentials を得るステップ Preparing to start the OAuth 2.0 flowGoogle's OAuth 2.0 サーバにリダイレクト OAuth 2.0 serverのレスポンスを扱う Google APIsを呼び出す サンプル完全版Incremental authorization Offline accessトークンのリクエストjava? リダイレクトのURLから、codeを処理する authorization code と access token の交換 認証リクエスト Google APIにリクエストを送るには、アプリケーションの「identify」が必要で、その方法は2つある。 OAuth 2.0 token (which also authorizes the request) API key どちらをつかうのか、は以下で決まる。 プライベートデータを使うときは、OAuth 2.0 token でなければならない。アプリケーションには API key も配布されるが必須でない。 パブリックデータを使うときは the API key でも OAuth 2.0 token 使いやすい方で良い, or both—whatever option is most convenient for you. OAuth2.0 の概要 https //developers.google.com/identity/protocols/OAuth2?csw=1 WebサーバアプリケーションのOauth 2.0認証 Using OAuth 2.0 for Web Server Applications Google API の認証 Google Identity Platform https //developers.google.com/identity/protocols/OAuth2WebServer Using OAuth 2.0 for Web Server Applications Google APIsを使うために、Google API Client Libraries or Google OAuth 2.0 endpoints が使える。 OAuth 2.0 で、ユーザは、ユーザ名やパスワードをプログラムに渡すことなく、Google アプリケーションのデータが使える。 概要 まず、APIコンソールでプロジェクトの「web application credentials」をつくる。アプリケーションがユーザーデータにアクセスする必要がある場合は、ユーザーはGoogle s OAuth 2.0 serverにリダイレクトされる。OAuth 2.0 server はユーザ承認をして、アプリケーションからのデータアクセスに必要な「consent」を得る。 OAuth 2.0 serverはユーザーをアプリケーションにリダイレクトする(戻す)。このとき、承認コードを返す。アプリケーションで承認コードをアクセストークンに交換する。 アプリケーションは承認コードを使って、Google API にアクセスする。 When you use a Google API Client Library to handle your application s OAuth 2.0 flow, the client library keeps track of when a stored access token can be used and when the application must re-acquire consent, generates correct redirect URLs, and helps to implement redirect handlers that exchange authorization codes for access tokens. An application that carries out the OAuth 2.0 flow without using a client library must correctly complete the same steps. Client libraries The language-specific examples on this page make use of the Google API Client Libraries, which make API authorization with OAuth 2.0 simpler. To run the example code, you must first install the client library for your language. 認証プロトコルについて OAuth 2.0しかないが、Google Sign-In が使えるアプリケーションなら、違う「扱い方」をすることが可能 OAuth 2.0 による認証 Requests to the Google Sheets API for non-public user data must be authorized by an authenticated user. The details of the authorization process, or "flow," for OAuth 2.0 vary somewhat depending on what kind of application you re writing. The following general process applies to all application types アプリケーションを作成したら、Google API Console に使用登録をする。これに関する細かな情報は後述。 (Sheets API を使うのであれば)Google Sheets API を Google API Console でアクティベートする。(使用する API がリストになければ、このステップは飛ばす) アプリケーションがユーザーデータを必要とするのであれば、Google に アクセススコープを要求する。 Google はユーザーに確認画面を表示し、アプリケーションを認証するか尋ねる。 ユーザが認証したら、Google がアプリケーションにアクセストークンを発行する。 アプリケーションがユーザーデータ(プライベートデータ)を要求する場合は、アクセストークンをつけて要求する。 Google はリクエストとトークンが有効と判断したら、要求されたデータを返す 以上が基本の流れで、ところどころ追加ステップが必要になる。例えば、トークンの有効期限が切れた場合のリフレッシュ作業など。 いろんな言語のライブラリ 省略 web application credentialsを作る All web applications that use OAuth 2.0 must have credentials that identify the application to the OAuth 2.0 server. Applications that have these credentials can access the APIs that you enabled for your project. web application credentials を得るステップ APIコンソールの認証情報ページへ。 (まだ作っていなければ)「認証情報を作成」をクリックして、OAuth クライアント ID を選択する。 次に、クライアントIDとクライアントSecretを探す。 リダイレクトURIも編集。リダイレクトURIはエンドポイントで、レスポンスに乗ってくる情報を処理する。ローカルマシンで試す場合は、http //localhost 8080みたいなのも可。 client_secrets.jsonファイルをダウンロードしてセキュリティ性を保って保管する(ほうがいい) Important Do not store the client_secrets.json file in a publicly-accessible location, and if you share the source code to your application—for example, on GitHub—store the client_secrets.json file outside of your source tree to avoid inadvertently sharing your client credentials. Preparing to start the OAuth 2.0 flow If you are using a Google API client library to handle the OAuth 2.0 flow, configure the client object, which you will use to make OAuth 2.0 requests. If you are handling the flow by directly accessing the OAuth 2.0 endpoints, just take note of the client ID that you created in the previous step and the scopes you need to request. To configure the client object HTTP/REST Take note of the following values Your app s client ID and client secret, which you created in Creating web application credentials. The scopes that your app needs to request. See the documentation for the APIs your app uses for the required scopes. Google s OAuth 2.0 サーバにリダイレクト HTTP/REST https //accounts.google.com/o/oauth2/v2/auth HTTP はだめ。HTTPSで。 https //accounts.google.com/o/oauth2/v2/auth? scope=email%20profile state=security_token%3D138r5719ru3e1%26url%3Dhttps //oa2cb.example.com/myHome redirect_uri=https%3A%2F%2Foauth2.example.com%2Fcode , response_type=code client_id=812741506391.apps.googleusercontent.com The set of query string parameters supported by the Google Authorization Server for web server applications are Parameter Values Description response_type code Determines whether the Google OAuth 2.0 endpoint returns an authorization code. Web server applications should use code. client_id クライアントID リクエストを出したクライアントの特定 required redirect_uri コンソールで登録したリダイレクトURIの一つ 登録されたURIとピッタリ合わないとだめ。(http / https も scope アプリケーションにリクエストするパーミッション(スペース区切り) 使うスコープは承認画面でユーザーに公開される。要求されたパーミッション数と、ユーザーの同意を得る可能性との間には逆の可能性があります。使えるスコープの種類は、APIs Explorerで確認のこと。It is generally a best practice to request scopes incrementally, at the time access is required, rather than up front. 例えば、For example, an app that wants to support purchases should not request Google Wallet access until the user presses the “buy” button; see Incremental authorization. state Any string Provides any state that might be useful to your application upon receipt of the response. The Google Authorization Server roundtrips this parameter, so your application receives the same value it sent. To mitigate against cross-site request forgery (CSRF), it is strongly recommended to include an anti-forgery token in the state, and confirm it in the response. See OpenID Connect for an example of how to do this. access_type online / offline Indicates whether your application needs to access a Google API when the user is not present at the browser. This parameter defaults to online. If your application needs to refresh access tokens when the user is not present at the browser, then use offline. This will result in your application obtaining a refresh token the first time your application exchanges an authorization code for a user. prompt Space-delimited, case-sensitive list of prompts to present the user. If you don t specify this parameter, the user will be prompted only the first time your app requests access. 可能なあたいとして、"none" 画面を出さないMust not be specified with other values. consentPrompt the user for consent select_accountPrompt the user to select an account login_hint email address or sub identifier When your application knows which user it is trying to authenticate, it can provide this parameter as a hint to the Authentication Server. Passing this hint will either pre-fill the email box on the sign-in form or select the proper multi-login session, thereby simplifying the login flow. include_granted_scopes true / false If this is provided with the value true, and the authorization request is granted, the authorization will include any previous authorizations granted to this user/application combination for other scopes; see Incremental Authorization. After you create the request URL, redirect the user to it. Google s OAuth 2.0 server will authenticate the user and obtain consent from the user for your application to access the requested scopes. The response will be sent back to your application using the redirect URL you specified. OAuth 2.0 serverのレスポンスを扱う ユーザがアクセス要求を承認すると、認証コードが送られてくる。 承認しなければ、レスポンスにはエラーメッセージが含まれてくる。 All responses are returned to the web server on the query string, as shown below エラー https //oauth2.example.com/auth?error=access_denied 承認 https //oauth2.example.com/auth?code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7 Important If your response endpoint renders an HTML page, any resources on that page will be able to see the authorization code in the URL. Scripts can read the URL directly, and all resources may be sent the URL in the Referer HTTP header. Carefully consider if you want to send authorization credentials to all resources on that page (especially third-party scripts such as social plugins and analytics). To avoid this issue, we recommend that the server first handle the request, then redirect to another URL that doesn t include the response parameters. 認証コードを受け取ったら、アクセストークンと交換 ここにアクセス https //www.googleapis.com/oauth2/v4/token 使用するパラメータ Field Description code The authorization code returned from the initial request. client_id The client ID obtained from the API Console. client_secret The client secret obtained from the API Console. redirect_uri One of the redirect URIs listed for this project in the API Console. grant_type As defined in the OAuth 2.0 specification, this field must contain a value of authorization_code. リクエスト例 POST /oauth2/v4/token HTTP/1.1 Host www.googleapis.com Content-Type application/x-www-form-urlencoded code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7 client_id=8819981768.apps.googleusercontent.com client_secret={client_secret} redirect_uri=https //oauth2.example.com/code grant_type=authorization_code リクエストが通ると以下のレスポンスが戻る Field Description access_token Google APIにアクセスするためのトークン refresh_token 新しいアクセストークンを得るためのトークン。ユーザが承認を取り消すまで有効。このフィールドは access_type=offline が認証コードリクエストに含まれていれば、only present expires_in The remaining lifetime of the access token. token_type Identifies the type of token returned. At this time, this field will always have the value Bearer. レスポンスはJSONで帰ってくる { "access_token" "1/fFAGRNJru1FTz70BzhT3Zg", "expires_in" 3920, "token_type" "Bearer" } Note Other fields may be included in the response, and your application should not treat this as an error. The set shown above is the minimum set. Google APIsを呼び出す HTTP/REST access tokenを使って、APIを呼び出す。access token は (サーバログに残ってしまうので良くないが)"access_token" としてパラメータに含めるか、 (推奨は)HTTPヘッダの Authorization Bearer に含める。 You can try out all the Google APIs and view their scopes at the OAuth 2.0 Playground. 例 A call to the drive.files endpoint (the Drive API) using the access_token query string parameter might look like the following, though you ll need to specify your own access token GET https //www.googleapis.com/drive/v2/files?access_token=1/fFBGRNJru1FQd44AzqT3Zg Authorization Bearer HTTP header を使って同じことをすると GET /drive/v2/files HTTP/1.1 Authorization Bearer 1/fFBGRNJru1FQd44AzqT3Zg Host googleapis.com You can try out with the curl command-line application. Here s an example using the HTTP header option (preferred) curl -H "Authorization Bearer 1/fFBGRNJru1FQd44AzqT3Zg" https //www.googleapis.com/drive/v2/files Or, alternatively, the query string parameter option curl https //www.googleapis.com/drive/v2/files?access_token=1/fFBGRNJru1FQd44AzqT3Zg Google/Sheets API サンプル完全版 The following example prints a JSON-formatted list of files in a user s Google Drive after the user authenticates and gives consent for the application to access the user s Drive files. HTTP/REST This example in Python uses the Flask framework and the Requests library to demonstrate the OAuth 2.0 web flow. Note that using the Python client library is easier and is the recommended way to implement this flow. import json import flask import requests app = flask.Flask(__name__) CLIENT_ID = 123456789.apps.googleusercontent.com CLIENT_SECRET = abc123 # Read from a file or environmental variable in a real app SCOPE = https //www.googleapis.com/auth/drive.metadata.readonly REDIRECT_URI = http //example.com/oauth2callback @app.route( / ) def index() if credentials not in flask.session return flask.redirect(flask.url_for( oauth2callback )) credentials = json.loads(flask.session[ credentials ]) if credentials[ expires_in ] = 0 return flask.redirect(flask.url_for( oauth2callback )) else headers = { Authorization Bearer {} .format(credentials[ access_token ])} req_uri = https //www.googleapis.com/drive/v2/files r = requests.get(req_uri, headers=headers) return r.text @app.route( /oauth2callback ) def oauth2callback() if code not in flask.request.args auth_uri = ( https //accounts.google.com/o/oauth2/v2/auth?response_type=code client_id={} redirect_uri={} scope={} ).format(CLIENT_ID, REDIRECT_URI, SCOPE) return flask.redirect(auth_uri) else auth_code = flask.request.args.get( code ) data = { code auth_code, client_id CLIENT_ID, client_secret CLIENT_SECRET, redirect_uri REDIRECT_URI, grant_type authorization_code } r = requests.post( https //www.googleapis.com/oauth2/v4/token , data=data) flask.session[ credentials ] = r.text return flask.redirect(flask.url_for( index )) if __name__ == __main__ import uuid app.secret_key = str(uuid.uuid4()) app.debug = False app.run() Incremental authorization In the OAuth 2.0 protocol, your app requests authorization to access resources which are identified by scopes, and assuming the user is authenticated and approves, your app receives short-lived access tokens which let it access those resources, and (optionally) refresh tokens to allow long-term access. It is considered a best user-experience practice to request authorization for resources at the time you need them. For example, an app that lets people sample music tracks and create mixes might need very few resources at sign-in time, perhaps nothing more than the name of the person signing in. However, saving a completed mix would require access to their Google Drive. Most people would find it natural if they only were asked for access to their Google Drive at the time the app actually needed it. In this case, at sign-in time the app might request the profile scope to perform basic sign-in, and then later request the https //www.googleapis.com/auth/drive.file scope at the time of the first request to save a mix. Using the procedures described in Using OpenID Connect and Using OAuth 2.0 to Access Google APIs would normally result in your app having to manage two different access tokens. To avoid this complexity, you can include previously granted scopes in your authorization requests. For example HTTP/REST GET https //accounts.google.com/o/oauth2/v2/auth? scope=https //www.googleapis.com/auth/drive.file state=security_token%3D138r5719ru3e1%26url%3Dhttps //oa2cb.example.com/myHome redirect_uri=https%3A%2F%2Fmyapp.example.com%2Fcallback response_type=code client_id=8127352506391.apps.googleusercontent.com prompt=consent include_granted_scopes=true Let s call the resulting authorization the "combined authorization"; the following apply You can use the access tokens you get to access the resources corresponding to any of the scopes that are rolled into the combined authorization. When you use the refresh token for a combined authorization, the new access tokens represent the combined authorization and can be used for any of its scopes. The combined authorization includes any previously granted authorizations even if they were requested from different clients. For example, if you requested the profile scope from a desktop app, and then issued the request in the example URI above for the same user from a mobile app, and it was granted, the combined authorization would include both scopes. When you revoke a token which represents a combined authorization, all of the authorizations are revoked simultaneously; this means that if you retain a token for one of the previous authorizations, it will stop working. When you make an authorization request with granted scopes included, the Google authorization server rolls the authorization request together with all the previous authorizations granted to the requesting user from the requesting app. Offline access ユーザが使っていない場合でもAPIにアクセスする必要がある場合があるかも。たとえば、バックアップの場合や「月曜8時にBlobをポスト」のような場合。 このタイプのアクセスを「offline」と呼び、ウェブサーバアプリはオフラインリクエストができる。 これに対し、通常のアクセスはonlineである。 HTTP/REST If your application needs offline access to a Google API, then the request for an authorization code should include the access_type parameter, where the value of that parameter is offline. For example https //accounts.google.com/o/oauth2/v2/auth? scope=email%20profile state=security_token%3D138r5719ru3e1%26url%3Dhttps //oa2cb.example.com/myHome redirect_uri=https%3A%2F%2Foauth2.example.com%2Fcode response_type=code client_id=812741506391.apps.googleusercontent.com access_type=offline The first time a given user s browser is sent to this URL, they see a consent page. If they grant access, then the response includes an authorization code which may be redeemed for an access token and a refresh token. An example of an authorization code exchange is shown below POST /oauth2/v4/token HTTP/1.1 Host www.googleapis.com Content-Type application/x-www-form-urlencoded code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7 client_id=8819981768.apps.googleusercontent.com client_secret={client_secret} redirect_uri=https //oauth2.example.com/code grant_type=authorization_code If this is the first time the application has exchanged an authorization code for a user, then the response includes an access token and a refresh token, as shown below { "access_token" "1/fFAGRNJru1FTz70BzhT3Zg", "expires_in" 3920, "token_type" "Bearer", "refresh_token" "1/xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI" } Important When your application receives a refresh token, it is important to store that refresh token for future use. If your application loses the refresh token, it will have to re-prompt the user for consent before obtaining another refresh token. If you need to re-prompt the user for consent, include the prompt parameter in the authorization code request, and set the value to consent. After your application receives the refresh token, it can obtain new access tokens at any time. See the section on refresh tokens for more information. The next time your application requests an authorization code for that user, the user will not be asked to grant consent (assuming they previously granted access, and you are asking for the same scopes). As expected, the response includes an authorization code which may be redeemed. However, unlike the first time an authorization code is exchanged for a given user, a refresh token will not be returned from the authorization code exchange. The following is an example of such a response { "access_token" "1/fFAGRNJru1FQd77BzhT3Zg", "expires_in" 3920, "token_type" "Bearer", } Using a refresh token As indicated in the previous section, a refresh token is obtained in offline scenarios during the first authorization code exchange. In these cases, your application may obtain a new access token by sending a refresh token to the Google OAuth 2.0 Authorization server. To obtain a new access token this way, your application sends an HTTPS POST request to https //www.googleapis.com/oauth2/v4/token. The request must include the following parameters FieldDescription 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. grant_typeAs defined in the OAuth 2.0 specification, this field must contain a value of refresh_token. Such a request will look similar to the following POST /oauth2/v4/token HTTP/1.1 Host www.googleapis.com Content-Type application/x-www-form-urlencoded client_id=8819981768.apps.googleusercontent.com client_secret={client_secret} refresh_token=1/6BMfW9j53gdGImsiyUH5kU5RsR4zwI9lUVX-tqf8JXQ grant_type=refresh_token As long as the user has not revoked the access granted to your application, the response includes a new access token. A response from such a request is shown below { "access_token" "1/fFBGRNJru1FQd44AzqT3Zg", "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. PHPPYTHONRUBYHTTP/REST 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 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. 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. Using OAuth 2.0 with the Google API Client Library for Java {{ Authorization Code Flow https //code.google.com/p/google-api-java-client/wiki/OAuth2#Authorization_Code_Flow 実装にはGoogleAuthorizationCodeFlowを用いる。 まず、API使用が登録済みであること。client id, client secret等々をもらっておく Authorization codeをもらう持っていなければ、認証URLへ。 ユーザIDをもとに、AuthorizationCodeFlow.loadCredential(String userID)を呼び出す既に証明書を持っているかを確認。持っていれば、終了。 認証されると、"code"と一緒にリダイレクトされる。 "code"を使って access token を要求する AuthorizationCodeFlow.newTokenRequest(String)でアクセストークン(access token)を要求。AuthorizationCodeFlow.createAndStoreCredential(TokenResponse, String) http //javadoc.google-oauth-java-client.googlecode.com/hg/1.18.0-rc/com/google/api/client/auth/oauth2/AuthorizationCodeFlow.html#createAndStoreCredential(com.google.api.client.auth.oauth2.TokenResponse,%20java.lang.String)]] で、証明書を取得し保管。 レスポンスからaccess tokenを取得 ※Lower-Levelの実装方法もある https //code.google.com/p/google-api-java-client/wiki/OAuth2#Authorization_Code_Flow }} トークンのリクエスト リクエスト先 https //accounts.google.com/o/oauth2/authSSLを使用すること。httpはダメ リクエストに加えるのは Parameter Values 必須 Description response_type "code" ◯ Webサーバアプリケーションでは code で決め打ち client_id client_id ◯ API使用の登録で貰ったID.忘れていたらconsoleで確認 redirect_uri One of the redirect_uri ◯? リダイレクト先は複数登録されているので、どこにリダイレクトするのかここで書いておく。 scope Space-delimited set of permissions that the application requests. ◯ APIでどこまでユーザーのデータにアクセスするか(できるか)。複数ある場合はスペース区切り。どのような値を入れるかは、各APIのリファレンスページ(the APIs Explorer)参照。極力「最小」にしておく。必要なら後で追加認証をする感じで。 state Any string レスポンスを受け取る際に使える「状態」。cross-site request forgery (CSRF)の対策?なので、強く推奨。レスポンスを受け取って、これを確認すれば、変なとこで使われていないか、確認できる。 access_type offline or online ユーザがブラウザを使ってない時でもアプリケーションがアクセスするかどうか。自動的にトークンのリフレッシュが必要ならoffline。 approval_prompt force or auto optional デフォルトでauto 接続の度にプロンプトを出して訊くかどうか? login_hint email address or sub identifier optional どのユーザが認証を行おうとしているかアプリケーション側でわかっている場合、(例えばそのユーザのemailアドレスを)パラメータとして渡すことができる。 include_granted_scopes true or false optional If this is provided with the value true, and the authorization request is granted, the authorization will include any previous authorizations granted to this user/application combination for other scopes; see Incremental Authorization. リクエストのスペース等々はエスケープする。 java.net.URLEncoder とか サンプル(改行は見やすくするため) https //accounts.google.com/o/oauth2/auth? scope=email%20profile state=security_token%3D138r5719ru3e1%26url%3Dhttps //oa2cb.example.com/myHome redirect_uri=https%3A%2F%2Foauth2-login-demo.appspot.com%2Fcode , response_type=code client_id=812741506391.apps.googleusercontent.com approval_prompt=force リクエストが正しく通れば、以下が返ってくる access tokens refresh tokens authorization codes. java? AuthorizationCodeFlow.newAuthorizationUrl()が使える? リダイレクトのURLから、codeを処理する Handling the response The response will be sent to the redirect_uri as specified in the request URL. If the user approves the access request, then the response contains an authorization code and the state parameter (if included in the request). If the user does not approve the request, the response contains an error message. All responses are returned to the web server on the query string, as shown below 認証失敗 https //oauth2-login-demo.appspot.com/code? bold(){error=access_denied} state=security_token%3D138r5719ru3e1%26url%3Dhttps //oa2cb.example.com/myHome 認証成功 https //oauth2-login-demo.appspot.com/code?state=security_token%3D138r5719ru3e1%26url%3Dhttps //oa2cb.example.com/myHome bold(){code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7} リダイレクト先が通常のHTMLページの場合は、そのままURLが見える、つまりcodeが見えてしまう。 Scripts can read the URL directly, and all resources may be sent the URL in the Referer HTTP header. Carefully consider if you want to send authorization credentials to all resources on that page (especially third-party scripts such as social plugins and analytics). この問題を避けるために、サーバでリクエストを扱って、それからパラメータを含まない形で別のURLにリダイレクトするべき。 authorization code と access token の交換 After the web server receives the authorization code, it may exchange the authorization code for an access token and a refresh token. This request is an HTTPS POST to the URL https //www.googleapis.com/oauth2/v3/token, and includes the following parameters Field Description code authorization code client_id The client ID client_secret The client secret obtained from the Developers Console redirect_uri One of the redirect URIs grant_type ここでは "authorization_code" の決め打ち レスポンス例(成功時) { "access_token" "ya29.vAHSwBFxEzkYKAeqk461biUJ9dqSD8KglnarHgBaR7q7Ih_4TlT71KEh07QBR6_tfLVv", "token_type" "Bearer", "expires_in" 3600}
https://w.atwiki.jp/macoto_mayu/pages/15.html
?php // PukiWiki - Yet another WikiWikiWeb clone // $Id pukiwiki.ini.php,v 1.140 2006/06/11 14 35 39 henoheno Exp $ // Copyright (C) // 2002-2006 PukiWiki Developers Team // 2001-2002 Originally written by yu-ji // License GPL v2 or (at your option) any later version // // PukiWiki main setting file ///////////////////////////////////////////////// // Functionality settings // PKWK_OPTIMISE - Ignore verbose but understandable checking and warning // If you end testing this PukiWiki, set 1 . // If you feel in trouble about this PukiWiki, set 0 . if (! defined( PKWK_OPTIMISE )) define( PKWK_OPTIMISE , 0); ///////////////////////////////////////////////// // Security settings // PKWK_READONLY - Prohibits editing and maintain via WWW // NOTE Counter-related functions will work now (counter, attach count, etc) if (! defined( PKWK_READONLY )) define( PKWK_READONLY , 0); // 0 or 1 // PKWK_SAFE_MODE - Prohibits some unsafe(but compatible) functions if (! defined( PKWK_SAFE_MODE )) define( PKWK_SAFE_MODE , 1); //define( PKWK_SAFE_MODE , 0); // PKWK_DISABLE_INLINE_IMAGE_FROM_URI - Disallow using inline-image-tag for URIs // Inline-image-tag for URIs may allow leakage of Wiki readers information // (in short, Web bug ) or external malicious CGI (looks like an image s URL) // attack to Wiki readers, but easy way to show images. if (! defined( PKWK_DISABLE_INLINE_IMAGE_FROM_URI )) define( PKWK_DISABLE_INLINE_IMAGE_FROM_URI , 1); //define( PKWK_DISABLE_INLINE_IMAGE_FROM_URI , 0); // PKWK_QUERY_STRING_MAX // Max length of GET method, prohibits some worm attack ASAP // NOTE Keep (page-name + attach-file-name) = PKWK_QUERY_STRING_MAX define( PKWK_QUERY_STRING_MAX , 1024); // Bytes, 0 = OFF // define( PKWK_QUERY_STRING_MAX , 640); // Bytes, 0 = OFF ///////////////////////////////////////////////// // Experimental features // Multiline plugin hack (See BugTrack2/84) // EXAMPLE(with a known BUG) // #plugin(args1,args2,...,argsN){{ // argsN+1 // argsN+1 // #memo(foo) // argsN+1 // }} // #memo(This makes #memo(foo) to this) // define( PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK , 1); // 1 = Disabled define( PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK ,0); // 1 = Disabled ///////////////////////////////////////////////// // Language / Encoding settings // LANG - Internal content encoding ( en , ja , or ...) define( LANG , ja ); // UI_LANG - Content encoding for buttons, menus, etc define( UI_LANG , LANG); // en for Internationalized wikisite ///////////////////////////////////////////////// // Directory settings I (ended with / , permission 777 ) // You may hide these directories (from web browsers) // by setting DATA_HOME at index.php. define( DATA_DIR , DATA_HOME . wiki/ ); // Latest wiki texts define( DIFF_DIR , DATA_HOME . diff/ ); // Latest diffs define( BACKUP_DIR , DATA_HOME . backup/ ); // Backups define( CACHE_DIR , DATA_HOME . cache/ ); // Some sort of caches define( UPLOAD_DIR , DATA_HOME . attach/ ); // Attached files and logs define( COUNTER_DIR , DATA_HOME . counter/ ); // Counter plugin s counts define( TRACKBACK_DIR , DATA_HOME . trackback/ ); // TrackBack logs define( PLUGIN_DIR , DATA_HOME . plugin/ ); // Plugin directory // 20070716 Spam_Filter /////////////////////////////////////////////// //define( SPAM_FILTER_COND , #useragent() or #filename() or #atag() or #ngreg() or (#onlyeng() and (#urlnum() or #uaunknown())) or #urlbl() ); define( SPAM_FILTER_COND , #ipcountry() or #urlnsbl() or #useragent() or #filename() or #atag() or #ngreg() or #onlyeng() or (#urlnum() and #uaunknown()) ); //define( SPAM_FILTER_COND , #ipcountry() or #urlnsbl() or #useragent() or #filename() or #atag() or #ngreg() or (#onlyeng() and (#urlnum() or #uaunknown())) or #urlbl() or #ipbl() ); define( PLUGIN_REF_URL_GET_IMAGE_SIZE , FALSE); define( SPAM_FILTER_ATAG_REG , /\[HTTP | \/a |\[\/url\]/i ); ///////////////////////////////////////////////// ///////////////////////////////////////////////// // Directory settings II (ended with / ) // Skins / Stylesheets define( SKIN_DIR , skin/ ); // Skin files (SKIN_DIR/*.skin.php) are needed at // ./DATAHOME/SKIN_DIR from index.php, but // CSSs(*.css) and JavaScripts(*.js) are needed at // ./SKIN_DIR from index.php. // Static image files define( IMAGE_DIR , image/ ); // Keep this directory shown via web browsers like // ./IMAGE_DIR from index.php. ///////////////////////////////////////////////// // Local time setting switch (LANG) { // or specifiy one case ja define( ZONE , JST ); define( ZONETIME , 9 * 3600); // JST = GMT + 9 break; default define( ZONE , GMT ); define( ZONETIME , 0); break; } ///////////////////////////////////////////////// // Title of your Wikisite (Name this) // Also used as RSS feed s channel name etc $page_title = Belle Isle Wiki ; // Specify PukiWiki URL (default auto) $script = http //example.com/pukiwiki/ ; // Shorten $script Cut its file name (default not cut) //$script_directory_index = index.php ; $script_directory_index = index.php ; // Site admin s name (CHANGE THIS) $modifier = MonMon ; // Site admin s Web page (CHANGE THIS) $modifierlink = http //example.com/pukiwiki/ ; // Default page name // $defaultpage = FrontPage ; // Top / Default page $defaultpage = Belle Isle Wiki ; // Top / Default page $whatsnew = RecentChanges ; // Modified page list $whatsdeleted = RecentDeleted ; // Removeed page list $interwiki = InterWikiName ; // Set InterWiki definition here $menubar = MenuBar ; // Menu ///////////////////////////////////////////////// // Change default Document Type Definition // Some web browser s bug, and / or Java apprets may needs not-Strict DTD. // Some plugin (e.g. paint) set this PKWK_DTD_XHTML_1_0_TRANSITIONAL. //$pkwk_dtd = PKWK_DTD_XHTML_1_1; // Default //$pkwk_dtd = PKWK_DTD_XHTML_1_0_STRICT; //$pkwk_dtd = PKWK_DTD_XHTML_1_0_TRANSITIONAL; //$pkwk_dtd = PKWK_DTD_HTML_4_01_STRICT; //$pkwk_dtd = PKWK_DTD_HTML_4_01_TRANSITIONAL; ///////////////////////////////////////////////// // Always output "nofollow,noindex" attribute $nofollow = 0; // 1 = Try hiding from search engines ///////////////////////////////////////////////// // PKWK_ALLOW_JAVASCRIPT - Allow / Prohibit using JavaScript //define( PKWK_ALLOW_JAVASCRIPT , 0); define( PKWK_ALLOW_JAVASCRIPT , 1); ///////////////////////////////////////////////// // TrackBack feature // Enable Trackback $trackback = 0; // Show trackbacks with an another window (using JavaScript) $trackback_javascript = 0; ///////////////////////////////////////////////// // Bodycache feature // enable bodycache or not // default true $enable_bodycache = true; // use bodycache as default. If it s false, // #bodycache(enable) is required per page. // default true $enable_bodycache_default = true; // If these (block) plugins are contained in page, bodycache will be disabled. // Users can increase this plugin list to control bodycache. // default array( ls2 , pcomment , include ); // $bodycache_disable_plugins = array( ls2 , pcomment , include ); // $bodycache_disable_plugins = array( ls2 , pcomment , include , sitesearch , table_edit , article ); $bodycache_disable_plugins = array( ls2 , areaedit ); ///////////////////////////////////////////////// ///////////////////////////////////////////////// // Referer list feature $referer = 0; ///////////////////////////////////////////////// // _Disable_ WikiName auto-linking // $nowikiname = 0; $nowikiname = 1; ///////////////////////////////////////////////// // AutoLink feature // AutoLink minimum length of page name $autolink = 0; // Bytes, 0 = OFF (try 8) ///////////////////////////////////////////////// // Enable Freeze / Unfreeze feature $function_freeze = 1; ///////////////////////////////////////////////// // Allow to use Do not change timestamp checkbox // (0 Disable, 1 For everyone, 2 Only for the administrator) // $notimeupdate = 1; $notimeupdate = 0; ///////////////////////////////////////////////// // Admin password for this Wikisite // Default always fail $adminpass = {x-php-md5}! ; // Sample //$adminpass = pass ; // Cleartext //$adminpass = {x-php-md5}1a1dc91c907325c69271ddf0c944bc72 ; // PHP md5() pass //$adminpass = {CRYPT}$1$AR.Gk94x$uCe8fUUGMfxAPH83psCZG/ ; // LDAP CRYPT pass //$adminpass = {MD5}Gh3JHJBzJcaScd3wyUS8cg== ; // LDAP MD5 pass //$adminpass = {SMD5}o7lTdtHFJDqxFOVX09C8QnlmYmZnd2Qx ; // LDAP SMD5 pass ///////////////////////////////////////////////// // Page-reading feature settings // (Automatically creating pronounce datas, for Kanji-included page names, // to show sorted page-list correctly) // Enable page-reading feature by calling ChaSen or KAKASHI command // (1 Enable, 0 Disable) $pagereading_enable = 0; // Specify converter as ChaSen( chasen ) or KAKASI( kakasi ) or None( none ) $pagereading_kanji2kana_converter = none ; // Specify Kanji encoding to pass data between PukiWiki and the converter $pagereading_kanji2kana_encoding = EUC ; // Default for Unix //$pagereading_kanji2kana_encoding = SJIS ; // Default for Windows // Absolute path of the converter (ChaSen) $pagereading_chasen_path = /usr/local/bin/chasen ; //$pagereading_chasen_path = c \progra~1\chasen21\chasen.exe ; // Absolute path of the converter (KAKASI) $pagereading_kakasi_path = /usr/local/bin/kakasi ; //$pagereading_kakasi_path = c \kakasi\bin\kakasi.exe ; // Page name contains pronounce data (written by the converter) $pagereading_config_page = config/PageReading ; // Page name of default pronouncing dictionary, used when converter = none $pagereading_config_dict = config/PageReading/dict ; ///////////////////////////////////////////////// // User definition $auth_users = array( // Username = password foo = foo_passwd , // Cleartext bar = {x-php-md5}f53ae779077e987718cc285b14dfbe86 , // PHP md5() bar_passwd hoge = {SMD5}OzJo/boHwM4q5R+g7LCOx2xGMkFKRVEx , // LDAP SMD5 hoge_passwd ); ///////////////////////////////////////////////// // Authentication method $auth_method_type= pagename ;// By Page name //$auth_method_type= contents ;// By Page contents ///////////////////////////////////////////////// // Read auth (0 Disable, 1 Enable) $read_auth = 0; $read_auth_pages = array( // Regex Username #HogeHoge# = hoge , #(NETABARE|NetaBare)# = foo,bar,hoge , ); ///////////////////////////////////////////////// // Edit auth (0 Disable, 1 Enable) $edit_auth = 0; $edit_auth_pages = array( // Regex Username #BarDiary# = bar , #HogeHoge# = hoge , #(NETABARE|NetaBare)# = foo,bar,hoge , ); ///////////////////////////////////////////////// // Search auth // 0 Disabled (Search read-prohibited page contents) // 1 Enabled (Search only permitted pages for the user) $search_auth = 0; ///////////////////////////////////////////////// // $whatsnew Max number of RecentChanges $maxshow = 60; // $whatsdeleted Max number of RecentDeleted // (0 = Disabled) $maxshow_deleted = 60; ///////////////////////////////////////////////// // Page names can t be edit via PukiWiki $cantedit = array( $whatsnew, $whatsdeleted ); ///////////////////////////////////////////////// // HTTP Output Last-Modified header // $lastmod = 0; $lastmod = 1; ///////////////////////////////////////////////// // Date format $date_format = Y-m-d ; // Time format $time_format = H i s ; ///////////////////////////////////////////////// // Max number of RSS feed $rss_max = 15; ///////////////////////////////////////////////// // Backup related settings // Enable backup $do_backup = 1; // When a page had been removed, remove its backup too? $del_backup = 0; // Bacukp interval and generation $cycle = 0; // Wait N hours between backup (0 = no wait) $maxage = 50; // Stock latest N backups // NOTE $cycle x $maxage / 24 = Minimum days to lost your data // 3 x 120 / 24 = 15 // Splitter of backup data (NOTE Too dangerous to change) define( PKWK_SPLITTER , ); ///////////////////////////////////////////////// // Command execution per update define( PKWK_UPDATE_EXEC , ); // Sample Namazu (Search engine) //$target = /var/www/wiki/ ; //$mknmz = /usr/bin/mknmz ; //$output_dir = /var/lib/namazu/index/ ; //define( PKWK_UPDATE_EXEC , //$mknmz . --media-type=text/pukiwiki . // -O . $output_dir . -L ja -c -K . $target); ///////////////////////////////////////////////// // HTTP proxy setting (for TrackBack etc) // Use HTTP proxy server to get remote data $use_proxy = 0; $proxy_host = proxy.example.com ; $proxy_port = 8080; // Do Basic authentication $need_proxy_auth = 0; $proxy_auth_user = username ; $proxy_auth_pass = password ; // Hosts that proxy server will not be needed $no_proxy = array( localhost ,// localhost 127.0.0.0/8 ,// loopback // 10.0.0.0/8 // private class A // 172.16.0.0/12 // private class B // 192.168.0.0/16 // private class C // no-proxy.com , ); //////////////////////////////////////////////// // Mail related settings // Send mail per update of pages $notify = 0; // Send diff only $notify_diff_only = 1; // SMTP server (Windows only. Usually specified at php.ini) $smtp_server = localhost ; // Mail recipient (To ) and sender (From ) $notify_to = to@example.com ;// To $notify_from = from@example.com ;// From // Subject ($page = Page name wll be replaced) $notify_subject = [PukiWiki] $page ; // Mail header // NOTE Multiple items must be divided by "\r\n", not "\n". $notify_header = ; ///////////////////////////////////////////////// // Mail POP / APOP Before SMTP // Do POP/APOP authentication before send mail $smtp_auth = 0; $pop_server = localhost ; $pop_port = 110; $pop_userid = ; $pop_passwd = ; // Use APOP instead of POP (If server uses) // Default = Auto (Use APOP if possible) // 1 = Always use APOP // 0 = Always use POP // $pop_auth_use_apop = 1; ///////////////////////////////////////////////// // Ignore list // Regex of ignore pages $non_list = ^\ ; // Search ignored pages $search_non_list = 1; ///////////////////////////////////////////////// // Template setting $auto_template_func = 1; $auto_template_rules = array( ((.+)\/([^\/]+)) = \2/template ); ///////////////////////////////////////////////// // Automatically add fixed heading anchor $fixed_heading_anchor = 1; ///////////////////////////////////////////////// // 見出しごとの編集を可能にする // (固有のアンカーが挿入されている見出し行にのみ有効) $fixed_heading_anchor_edit = 1; ///////////////////////////////////////////////// // Remove the first spaces from Preformatted text $preformat_ltrim = 1; ///////////////////////////////////////////////// // Convert linebreaks into br / $line_break = 0; ///////////////////////////////////////////////// // Use date-time rules (See rules.ini.php) $usedatetime = 1; ///////////////////////////////////////////////// // User-Agent settings // // If you want to ignore embedded browsers for rich-content-wikisite, // remove (or comment-out) all keitai settings. // // If you want to to ignore desktop-PC browsers for simple wikisite, // copy keitai.ini.php to default.ini.php and customize it. $agents = array( // pattern A regular-expression that matches device(browser) s name and version // profile A group of browsers // Embedded browsers (Rich-clients for PukiWiki) // Windows CE (Microsoft(R) Internet Explorer 5.5 for Windows(R) CE) // Sample "Mozilla/4.0 (compatible; MSIE 5.5; Windows CE; sigmarion3)" (sigmarion, Hand-held PC) array( pattern = #\b(? MSIE [5-9]).*\b(Windows CE)\b# , profile = default ), // ACCESS "NetFront" / "Compact NetFront" and thier OEM, expects to be "Mozilla/4.0" // Sample "Mozilla/4.0 (PS2; PlayStation BB Navigator 1.0) NetFront/3.0" (PlayStation BB Navigator, for SONY PlayStation 2) // Sample "Mozilla/4.0 (PDA; PalmOS/sony/model crdb/Revision 1.1.19) NetFront/3.0" (SONY Clie series) // Sample "Mozilla/4.0 (PDA; SL-A300/1.0,Embedix/Qtopia/1.1.0) NetFront/3.0" (SHARP Zaurus) array( pattern = #^(? Mozilla/4).*\b(NetFront)/([0-9\.]+)# , profile = default ), // Embedded browsers (Non-rich) // Windows CE (the others) // Sample "Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320 )" (GFORT, NTT DoCoMo) array( pattern = #\b(Windows CE)\b# , profile = keitai ), // ACCESS "NetFront" / "Compact NetFront" and thier OEM // Sample "Mozilla/3.0 (AveFront/2.6)" ("SUNTAC OnlineStation", USB-Modem for PlayStation 2) // Sample "Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0" (DDI Pocket AirH" Phone by JRC) array( pattern = #\b(NetFront)/([0-9\.]+)# , profile = keitai ), array( pattern = #\b(CNF)/([0-9\.]+)# , profile = keitai ), array( pattern = #\b(AveFront)/([0-9\.]+)# , profile = keitai ), array( pattern = #\b(AVE-Front)/([0-9\.]+)# , profile = keitai ), // The same? // NTT-DoCoMo, i-mode (embeded Compact NetFront) and FOMA (embedded NetFront) phones // Sample "DoCoMo/1.0/F501i", "DoCoMo/1.0/N504i/c10/TB/serXXXX" // c以降は可変 // Sample "DoCoMo/2.0 MST_v_SH2101V(c100;TB;W22H12;serXXXX;iccxxxx)" // ()の中は可変 array( pattern = #^(DoCoMo)/([0-9\.]+)# , profile = keitai ), // Vodafone s embedded browser // Sample "J-PHONE/2.0/J-T03"// 2.0は"ブラウザの"バージョン // Sample "J-PHONE/4.0/J-SH51/SNxxxx SH/0001a Profile/MIDP-1.0 Configuration/CLDC-1.0 Ext-Profile/JSCL-1.1.0" array( pattern = #^(J-PHONE)/([0-9\.]+)# , profile = keitai ), // Openwave(R) Mobile Browser (EZweb, WAP phone, etc) // Sample "OPWV-SDK/62K UP.Browser/6.2.0.5.136 (GUI) MMP/2.0" array( pattern = #\b(UP\.Browser)/([0-9\.]+)# , profile = keitai ), // Opera, dressing up as other embedded browsers // Sample "Mozilla/3.0(DDIPOCKET;KYOCERA/AH-K3001V/1.4.1.67.000000/0.1/C100) Opera 7.0" (Like CNF at keitai -mode) array( pattern = #\b(? DDIPOCKET|WILLCOM)\b.+\b(Opera) ([0-9\.]+)\b# , profile = keitai ), // Planetweb http //www.planetweb.com/ // Sample "Mozilla/3.0 (Planetweb/v1.07 Build 141; SPS JP)" ("EGBROWSER", Web browser for PlayStation 2) array( pattern = #\b(Planetweb)/v([0-9\.]+)# , profile = keitai ), // DreamPassport, Web browser for SEGA DreamCast // Sample "Mozilla/3.0 (DreamPassport/3.0)" array( pattern = #\b(DreamPassport)/([0-9\.]+)# , profile = keitai ), // Palm "Web Pro" http //www.palmone.com/us/support/accessories/webpro/ // Sample "Mozilla/4.76 [en] (PalmOS; U; WebPro)" array( pattern = #\b(WebPro)\b# , profile = keitai ), // ilinx "Palmscape" / "Xiino" http //www.ilinx.co.jp/ // Sample "Xiino/2.1SJ [ja] (v. 4.1; 153x130; c16/d)" array( pattern = #^(Palmscape)/([0-9\.]+)# , profile = keitai ), array( pattern = #^(Xiino)/([0-9\.]+)# , profile = keitai ), // SHARP PDA Browser (SHARP Zaurus) // Sample "sharp pda browser/6.1[ja](MI-E1/1.0) " array( pattern = #^(sharp [a-z]+ browser)/([0-9\.]+)# , profile = keitai ), // WebTV array( pattern = #^(WebTV)/([0-9\.]+)# , profile = keitai ), // Desktop-PC browsers // Opera (for desktop PC, not embedded) -- See BugTrack/743 for detail // NOTE Keep this pattern above MSIE and Mozilla // Sample "Opera/7.0 (OS; U)" (not disguise) // Sample "Mozilla/4.0 (compatible; MSIE 5.0; OS) Opera 6.0" (disguise) array( pattern = #\b(Opera)[/ ]([0-9\.]+)\b# , profile = default ), // MSIE Microsoft Internet Explorer (or something disguised as MSIE) // Sample "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" array( pattern = #\b(MSIE) ([0-9\.]+)\b# , profile = default ), // Mozilla Firefox // NOTE Keep this pattern above Mozilla // Sample "Mozilla/5.0 (Windows; U; Windows NT 5.0; ja-JP; rv 1.7) Gecko/20040803 Firefox/0.9.3" array( pattern = #\b(Firefox)/([0-9\.]+)\b# , profile = default ), // Loose default Including something Mozilla array( pattern = #^([a-zA-z0-9 ]+)/([0-9\.]+)\b# , profile = default ), array( pattern = #^# , profile = default ),// Sentinel ); ?
https://w.atwiki.jp/e-learningib/pages/12.html
TKU Elearning Ib(経済)月・2限 辞書サイト アルク(英和・和英) www.alc.co.jp/ Cambridge Online Dictionarydictionary.cambridge.org/ Longman Online Dictionarywww.ldoceonline.com/ 使用サイトURL Lesson 2 (6 Oct 08) JACET8000 Level Marker www01.tcp-ip.or.jp/~shin/J8LevelMarker/j8lm.cgi Lesson 3 (20 OCt 08) ①英語学習サイト www.callmekomi.com/english/sites/ ②文法力アップ:英文法のインデックス www.englishcafe.jp/english3rd/englishindex.html 能力、可能性、許可のcanと依頼のcan~英文法www.englishcafe.jp/english3rd/day9.html ③海外サイト:Interest Things for ESL students www.manythings.org/ Grammar Swim, Swims, Swimming, Swam or Swum 1 a4esl.org/q/j/ck/fb-swim.html Grammar Swim, Swims, Swimming, Swam or Swum 2 www.manythings.org/fq/fq002.html Lesson 4 (27 OCt 08) YouTube(時間があれば) Film jp.youtube.com/watch Lyric http //www.sing365.com/music/lyric.nsf/Hello-Goodbye-lyrics-The-Beatles/EF6FAB8B5242279548256BC200142D11 Lesson 5 (11 Nov. 08) オバマ大統領勝利演説 ①Video Script elections.nytimes.com/2008/results/president/speeches/obama-victory-speech.html# ②日本語訳:blog.goo.ne.jp/junsky/e/c6e1eee36cbb137481377a02f4d66f0b YouTube (時間があれば or 課題学習にて) ①Ben jp.youtube.com/watch (lyrics www.lyrics007.com/Michael%20Jackson%20Lyrics/Ben%20Lyrics.html) ②You are not alone jp.youtube.com/watch (lyrics www.azlyrics.com/lyrics/michaeljackson/youarenotalone.html) Lesson 6 (17 Nov. 08) To不定詞を洋楽で確認する penglishes.blog120.fc2.com/category7-6.html (1) 目的タイプ(~ために): to ~(動詞) ①Steview Wonder I just called to say I love you. (他に: no new year s day to celebrate, no song to sing......) Queen I was born to love you (他に:It s so hard to belive this is happening to me. ) (2)構文タイプ:It is _____ (形容詞)for *** (人) to ~(動詞). (=To ~ is ____for *** .) Chicago Hard to say I m sorry (他に:I just want you to stay., Couldn t stantd to be kept away., Wouldn t want to be swept away., I really wanto to tell you I m sorry.) (3) tell + 人+to ~(動詞) Bon Jovi Always (他に:現在完了進行形 It s been raining since you left me. To say these words to you... ) 時間があればor 課題学習(応用編) (1) Oasis Whatever (I am) free to 動詞 . YouTube jp.youtube.com/watch Lyrics www.sing365.com/music/lyric.nsf/Whatever-lyrics-Oasis/9C0656DEC287EEE54825686B002634D2 Lesson 7 (1 Dec. 08) (1) To不定詞の用法について:www.enavi.info/gra/gra-futei-1.html (2) 英語学習サイトYAPPR jp.yappr.com/welcome/Welcome.action CM:jp.yappr.com/welcome/Video.action Lesson 8 (8 Dec. 08) (1) 分詞の用法について:www.enavi.info/gra/gra-bunshi-1.html (2) 分詞の問題練習:www.grammar-quizzes.com/gerund4b.html Lesson 9 (15 Dec. 08) (1) Boring vs. Bored www.japantimes.co.jp/shukan-st/native_english/confused_english/confused_english.htm (2) Nobel Prize www.yomiuri.co.jp/dy/national/20081208TDY02311.htm 日本語関連記事①:www.yomiuri.co.jp/science/news/20081208-OYT1T00663.htm 日本語関連記事②:www.yomiuri.co.jp/feature/20081007-4686911/news/20081211-OYT1T00108.htm Lesson 10 (22 Dec. 08) (1) 関係詞:非制限用法:www.enavi.info/gra/gra-kan-2.html (2) 関係詞:制限用法(主格・所有格・目的):www.enavi.info/gra/gra-kan-1.html (3) TOEICデイリーミニテスト(Yahoo!) stepup.yahoo.co.jp/english/toeictest/ Lesson 11 (5 Jan. 08) (1) 関係詞:whatの用法:www.enavi.info/gra/gra-kan-5.html 関係詞:関係副詞の用法:www.enavi.info/gra/gra-kan-9.html (2) 天気予報(BBC)①:www.bbc.co.uk/weather/5day.shtml 天気予報(BBC)②:news.bbc.co.uk/weather/forecast/87 天気予報:(CNN)International Weather Update (3:23):edition.cnn.com/video/#/video/weather/2009/01/02/vo.or.nehalem.rain.kptv (3) New Year s Resolutions①:www.wordmaster.jp/wm/06/0105.htm Listening www.dailyesl.com/new-years.htm