はてなキーワード: motoとは
NHK朝ドラ「ばけばけ」の放送も近づいて、ラフカディオ・ハーン(小泉八雲)への関心の高まりつつある昨今だが、この機会に言っておきたいことがある。それは、ハーンについての鶴見俊輔の以下のよく知られた言及は、素人の自分の調べた限りでは、非常に不正確でほとんどデタラメに近いということだ。
https://x.com/shunsuke_bot/status/1019013776841039872
ラフカディオ・ハーンは、やがて日本に帰化し、日本人と結婚し、親類づきあいや近所づきあいの中にまきこまれ、日本に住む者として日本文化をまぢかに見るようになってからは、次のように書いた。 「私は、かつて日本人はみな天使であるかのように書いたことを思い出すと、気がくるいそうだ。」
これを読んだ私は当初、きっとハーンは日本人の建前の裏の本音にうんざりして、日本女性と結婚して日本に帰化したことも後悔したのに違いない、とすら思った。しかし調べてみたら全然違ったのだ。
確かにハーンは鶴見の引用するような文章を書いた。しかしその前の
「以前住んでいた出雲の人たちはおだやかだったが、引っ越し先の九州の人たちは粗暴だ」
まあ確かに批判はしているのだが、日本全体を批判したわけではないし、また批判した内容も(鶴見のほのめかすような)日本人の陰湿さといったものではなく粗暴さである。それも130年以上前の話だ。今は九州も出雲も、当時より相当おだやかになっているはずである。
またこの文章の出典は出版物ではなく、W.B.メイソンという人に宛てた1892年の私信である。つまり公然たる主張ではなく内輪の愚痴なのだ。それならその日の気分で筆の滑ることもあろうし、果たしてそこまで深刻に受け止めるべきものだったかのかどうか。
-----------------------------------------------
なお日本で刊行された小泉八雲の著作には、どうやらこの文章は収録されていないようだ。少なくとも国会図書館デジタルコレクションで小泉八雲の著作を「日本人 天使」で全文検索しても見つからない。これは私の調査不足による誤りで、実際は普通に収録されていた。申し訳ない。この記事の終わりで詳述する。
しかしハーンの文章の英語原文をChatGPTに教えてもらい、その語句でググると出典が見つかる。これならおそらくアメリカの大学図書館では読むことができただろう。
"make me mad to think that I wrote all the Japanese were angels" - Google 検索
Full text of "The Japanese letters of Lafcadio Hearn"
https://archive.org/stream/japaneseletters00hearrich/japaneseletters00hearrich_djvu.txt
I can't get much chance to study life in Kuma-
moto. I don't like the Kyushu people — the com
mon people. In Izumo all was soft, gentle, old-
fashioned. Here the peasants and the lower classes
drink and fight and beat their wives and make me
mad to think that I wrote all the Japanese were
angels. . . .
(拙訳)
出雲では、すべてがやわらかく、優しく、古風だった。
また鶴見の文章の出典は、国会図書館デジタルコレクションで容易に見つかる。当該の記述は「生花の位置」という文章の一部で、初出は「華道 1953年3月」だとのこと。率直に言って、私のような素人にもなかなか興味深く面白い文章である。
https://dl.ndl.go.jp/pid/2466359/1/88
https://dl.ndl.go.jp/pid/6028304/1/5
鶴見は1942年までハーバード大学に留学していた。彼はおそらくそこで、日本ではあまり知られていなかったこのハーンの手紙を読んだのであろう。そしてその約10年後に、その内容を自分の文章に(意図的かうろ覚えか)不正確に引用して、日本文化を批判する自説の補強に使ったのであろう。しかしハーンの手紙の正確な原文は日本ではあまり知られないままだったので、鶴見の文章の面白さもあって、その引用が独り歩きしてしまったのではないだろうか。
なお鶴見には他にもしばしば、他人の作品を我田引水して自説をイタコのように語らせる悪癖があるようだ。例えば彼は日本のマンガ評論のさきがけでもあるのだが、長谷川町子『サザエさん』などの評論は全編そんな感じだった。これもおそらく執筆当時は、庶民の作品に潜む抵抗精神という本質を見抜いたなどと称賛されたのであろうが、今となっては私には鶴見が他人の作品をダシに自分の政治信条を主張しているだけにしか見えない。しかし、もし仮に『サザエさん』が鶴見の評論より先に廃れていたら、同様に評論だけが独り歩きしていたのではないだろうか。
-----------------------------------------------
この記事を手早く書き上げて公開した後ほぼ失念していたが、「ばけばけ」の放送も始まったので思い出して読み返したところ、割と読みづらかったので文章に少々手を加えた。内容は変えていない。
この記事への反応は少なかったが、かなり肯定的な評価もいただけた。また「小泉八雲 日本人 天使」でググると検索結果の上位に出るようになったから、今後は鶴見のこの言及に興味を持った人の調べる手間が省けるだろう。
まあ省けると言っても、私は完全な門外漢の素人であり、調査はPCを数時間操作しただけである。たったそれだけで、もし鶴見の同時代人だったらハーンの専門家がアメリカの大学図書館に出向かないとわからなかったようなことが容易にわかってしまう。つくづくありがたい時代だと思う。
-----------------------------------------------
申し訳ないが訂正。
先に書いた通り、ハーンの例の手紙が日本であまり知られていないという私の推測は間違いで、実際は広く知られていた。
つまり、ハーンの手紙が知られずに鶴見の言及が独り歩きしたという私の憶測は完全に間違いだった。改めて申し訳ない。
田部隆次 著『小泉八雲』,早稲田大学出版部,大正3. 国立国会図書館デジタルコレクション
https://dl.ndl.go.jp/pid/950739/1/122?keyword=%E6%97%A5%E6%9C%AC%E4%BA%BA%20%E5%A4%A9%E4%BD%BF
熊本では人の世を研究する機会にあまり数多く接する事は出来ない。
出雲では誰も彼もが柔和で、優しくて、古風だ。
また、ハーンの手紙を踏まえて書かれた最近(2025/08/18)のブログ記事もあった。
朝ドラ『ばけばけ』の主人公の夫のモデル小泉八雲はどんな人だったんだろう?① | よどの流れ者のブログ
https://ameblo.jp/s21y24/entry-12923911589.html
出雲では万事柔和で古風であった。
しかしそうなると、この鶴見の言及が、なぜ1953年から今(2025年)に至るまで間違いを指摘されてこなかったのかはわからなくなってしまった。
単純に、小泉八雲の専門家の目に触れる機会がなかったからだろうか。
それとも鶴見の権威を恐れて間違いを指摘する者が現れなかったのか。
今の私は見当がつかない。
知らん人は以下を参考に。
https://suan.tokyo/affiliaters_branding/
ここでされているのはいわゆる「サイト貸し」や「ディレクトリ貸し」と呼ばれる手法である。これは数年前から話題になっていて、SEO業界で有名な辻氏も警鈴を鳴らしていた。
welq問題のときにされていたのは「コンテンツが重要なので、やたらと充実した長文を書くのがいい」という手法だ。しかし、これでキュレーションブームが激しくなり、検索の品質が下がってしまったため「ドメインごとランクを落とす」という手法でGoogleが対応をした。
明らかに手動としてか思えない、当時、ドメインへのペナルティが行われていた。1位だったのが、30位以下になる、といった形だ。2chまとめもこの手法で落とされている。
その後「信頼できる大手サイトか、大手サイトからのリンクを重視する」というアルゴリズムらしきものがGoogleで採用される。ぽっと出てきたばかりのメディアよりも、toyota.comやasahi.comのほうが信頼がある、といった具合だ。
これをハックしたのが、mybestである。「mybestで紹介されました」などで検索をすればわかると思うが、やたらとmybestで紹介されたことをサイトに載せている企業が見つかる。
文章やタイトルの傾向からみて、あくまで推測ではあるが、mybest側から「紹介したのでプレスリリースやサイト内に掲載してください。売上が伸びますよ」的な営業をしているのではないだろうか。
これにより、mybestは信頼できる企業からの大量のリンクを集めることができランクをあげている。穿った見方をすれば「ランクに載せたことを掲載してくれる企業の商品は上位にあげやすい」というのが起こりうるとも言えるが、そこは編集の独立を信じよう。
mybestのこのやり方は、非常に賢い戦略だと思うが、それでもリスクは残る。先程書いた「ドメインごと下げられる」だ。
mybestがあまりに検索上位に来ることが問題になれば、こういった対応も考えられるだろう。mybestは専門家も入れた上で、記事を作っているので、スパム扱いされることはないだろうが、「明らかに企業からのリンクを意図的に増やしている」となると、そのプラス分を0にされることは可能性としてあり得る。
そして、株式会社アルゴリズムのやっている「サイトを間借りする」の手法だ。
これは、病院や士業の事務所、大手企業などのディレクトリを借りてアフィリエイトサイトをやることである。
信頼できるサイトしか上位にでないなら、その信用できるサイトの中にアフィリエイトサイトを作ってしまえ、という発想だが、これは事業としてやるのはメリットしかない。
それもそのはず、もしもGoogleからスパム扱いされて、そのサイトのドメインランクが落とされたとしても、別のサイトを見つけて移し替えればいいからだ。ディレクトリ貸しをしたサイトは二度と検索上位には戻らず、下手すれば100位にも入らなくなるが、アフィリエイトサイト側からしてみれば無傷である。
サイトを間貸ししている事業社は当然こんなことは知らずに貸していると思うが、株式会社アルゴリズム側からしてみれば「Googleの検索アルゴリズムはブラックボックスなんでわからない」という逃げ道がある以上、責任を問うことはできない。
Googleが対策をする可能性は十分に考えられるが、それまでに儲けきって、かつ事業を売却してしまえばとんでもない額の売上が入る。
たとえば、SEOが強かったmoto株式会社という、個人がやっていたアフィリエイトサイトをログリー社が7億円で買収したが、のれん4.9億円を減損している。上位でほぼ見かけることはほぼなくなったので、収益が相当減少したと思われる。
https://docs.sakai-sc.co.jp/article/m-and-a/moto.html
知らん人は以下を参考に。
https://suan.tokyo/affiliaters_branding/
ここでされているのはいわゆる「サイト貸し」や「ディレクトリ貸し」と呼ばれる手法である。これは数年前から話題になっていて、SEO業界で有名な辻氏も警鈴を鳴らしていた。
welq問題のときにされていたのは「コンテンツが重要なので、やたらと充実した長文を書くのがいい」という手法だ。しかし、これでキュレーションブームが激しくなり、検索の品質が下がってしまったため「ドメインごとランクを落とす」という手法でGoogleが対応をした。
明らかに手動としてか思えない、当時、ドメインへのペナルティが行われていた。1位だったのが、30位以下になる、といった形だ。2chまとめもこの手法で落とされている。
その後「信頼できる大手サイトか、大手サイトからのリンクを重視する」というアルゴリズムらしきものがGoogleで採用される。ぽっと出てきたばかりのメディアよりも、toyota.comやasahi.comのほうが信頼がある、といった具合だ。
これをハックしたのが、mybestである。「mybestで紹介されました」などで検索をすればわかると思うが、やたらとmybestで紹介されたことをサイトに載せている企業が見つかる。
文章やタイトルの傾向からみて、あくまで推測ではあるが、mybest側から「紹介したのでプレスリリースやサイト内に掲載してください。売上が伸びますよ」的な営業をしているのではないだろうか。
これにより、mybestは信頼できる企業からの大量のリンクを集めることができランクをあげている。穿った見方をすれば「ランクに載せたことを掲載してくれる企業の商品は上位にあげやすい」というのが起こりうるとも言えるが、そこは編集の独立を信じよう。
mybestのこのやり方は、非常に賢い戦略だと思うが、それでもリスクは残る。先程書いた「ドメインごと下げられる」だ。
mybestがあまりに検索上位に来ることが問題になれば、こういった対応も考えられるだろう。mybestは専門家も入れた上で、記事を作っているので、スパム扱いされることはないだろうが、「明らかに企業からのリンクを意図的に増やしている」となると、そのプラス分を0にされることは可能性としてあり得る。
そして、株式会社アルゴリズムのやっている「サイトを間借りする」の手法だ。
これは、病院や士業の事務所、大手企業などのディレクトリを借りてアフィリエイトサイトをやることである。
信頼できるサイトしか上位にでないなら、その信用できるサイトの中にアフィリエイトサイトを作ってしまえ、という発想だが、これは事業としてやるのはメリットしかない。
それもそのはず、もしもGoogleからスパム扱いされて、そのサイトのドメインランクが落とされたとしても、別のサイトを見つけて移し替えればいいからだ。ディレクトリ貸しをしたサイトは二度と検索上位には戻らず、下手すれば100位にも入らなくなるが、アフィリエイトサイト側からしてみれば無傷である。
サイトを間貸ししている事業社は当然こんなことは知らずに貸していると思うが、株式会社アルゴリズム側からしてみれば「Googleの検索アルゴリズムはブラックボックスなんでわからない」という逃げ道がある以上、責任を問うことはできない。
Googleが対策をする可能性は十分に考えられるが、それまでに儲けきって、かつ事業を売却してしまえばとんでもない額の売上が入る。
たとえば、SEOが強かったmoto株式会社という、個人がやっていたアフィリエイトサイトをログリー社が7億円で買収したが、のれん4.9億円を減損している。上位でほぼ見かけることはほぼなくなったので、収益が相当減少したと思われる。
https://docs.sakai-sc.co.jp/article/m-and-a/moto.html
増田はAndroid使い続けるとイラつくことが増えていくんだろうな。そしてやっぱり一年後にはiphoneに戻るんだろう。
最初から今に至るまでAndroidを使い続けている自分ですら「このっ…(怒)」って思うことが多々ある。
でもAndroidも買う。安いし。
今使ってるMotorolaは随分型落ちになってしまったが、長く元気に動いている。とても良い機種だ。またmotoを買う積りだ。
同じ安スマホでもzenfoneなんか最悪だった。二度と買わんと思った。
華為とかもいいけど、ピクトグラムがちっちゃかったりして微妙に使い勝手が悪かったし、あまりにも世界から除け者にされているのでとても再び買う気にならん。
はー。でもスマホの前にいいかげんpc買わんと。BTOにするにしても構成考えるの面倒。今何がどうなってるのかサッパリわかんね。
モノにこだわるのはくだらないという気持ちもあるけど、必要なものを買うにあたっていろいろ調べるとピンからキリまであって、自分の趣味と財力のバランスみて良い買い物ができると楽しい。
以下、欲しいものリスト。既に入手してるものも多いけど、家と車あたりの大物はなかなか難しい。傾向としては定番品に弱い。ミーハーである。さすがにロレックスは選ばないがIWCに行くのも一つの典型であると思う。
・腕時計 IWCポルトギーゼ、インヂュニア、ボーム&メルシエ ハンプトン、ティソ パワーリザーブ80
・壁掛け時計 セイコー KXシリーズ、アルネ・ヤコブセン ステーション
・椅子 ハーマンミラー アーロンチェア、セブンチェア、アルテックスツール60、リッショ 家具はアクタスあたりに置いてあるもの カッシーナとか高級過ぎて無理 ソファやローテーブルはカリモク60 手頃なのが良い
・ベッド カリモクはシングルの規格が105 ちょっと余裕があってよい ボックスシーツ専用のでないと合わないのが難点
・フライパン 山田工業所の鉄打ち出し ターク、デバイヤーもいいけど山田 釜浅商店のは包装がおしゃれ
・器 波佐見焼、美濃焼、小石原焼 いいほしゆみこ、ひしぬまみお バーズワーズ 柳宗理
・包丁 釜浅商店 ツヴィリング ツインセルマックス ボブ・クレーマー…は行き過ぎ
・鋏 プラス、林刃物、多鹿治夫鋏製作所 マーチャン&ミルズ ザ シザーズ
・ロードバイク ピナレロ プリンスFX 海外のディスクのオレンジが良かった… キャニオン、フジjari クロスバイクはジャイアントRX3、フラットバーならルーベ オーラ
・鞄 革 グレンロイヤル、ステファノマーノ 、ダニエル・ボブ、ゲンテン ナイロンならブリーフィング
・靴 JMウエストン、クロケット&ジョーンズ、オールデン、MOTO、ニューバランス
・ワイシャツ 鎌倉シャツ サイズ微妙なのでオーダーメイドしたい
・スーツ セレショのセール品 どうも良いの思い切り買えない クールビズ期間も長いからユニクロの感動シリーズや綿パンでごまかしてる
・コート マッキントッシュ セカンドラインのトラディショナルウェザーウェアでも十分
・ダウン タトラス
・アウトドア ノースフェイス、パタゴニアに落ち着く 登山靴はスポルティバ
・プロテイン DNS 水溶け、味、コストどれとってもザバスより良い
飽きてきた。家電はいいや。そして、やっぱりモノにこだわるのは虚しい気もする。気に入ったものを使うと気分いいんだけどね。
モノじゃないところだと、通信キャリアはワイモバイルで散髪はQBハウス。脱力すると、すごく気が楽になった。お金もかからないし。モノに関しても、もうちょっと達観できるといいんだけど。
人間の目で見ていたらスパム臭い使い捨てID名は見当がつくのだが、それを機械により分けさせるルールを作れと言われたらこれがなかなか難しい。ちょっとトライしてみてこりゃ無理だという気になってきた。存在する単語と無関係なランダム性の高い文字列みたいなのを判別できれば良いのかもしれないが。
副産物としてはてなIDにありがちな先頭4文字、末尾4文字をリストしてみる。はてなで「タカシ オメデト タカシ」と書いとけば多くの人が自分のことかと反応してくれるかもしれない。
| 順位 | 先頭4文字 | 件数 |
|---|---|---|
| 1 | taka | 320 |
| 2 | hiro | 293 |
| 3 | masa | 284 |
| 4 | yama | 221 |
| 5 | shin | 187 |
| 6 | take | 182 |
| 7 | yuki | 168 |
| 8 | yosh | 163 |
| 9 | tomo | 156 |
| 10 | kazu | 153 |
| 11 | naka | 142 |
| 12 | sato | 120 |
| 13 | neko | 111 |
| 14 | hate | 110 |
| 15 | taku | 107 |
| 16 | kuro | 106 |
| 17 | haru | 100 |
| 18 | mori | 98 |
| 19 | fuji | 97 |
| 19 | momo | 97 |
| 19 | shir | 97 |
| 22 | tama | 91 |
| 23 | maru | 90 |
| 24 | saka | 85 |
| 25 | shim | 84 |
| 26 | hana | 83 |
| 26 | hide | 83 |
| 26 | kana | 83 |
| 26 | kawa | 83 |
| 30 | miya | 82 |
| 順位 | 末尾4文字 | 件数 |
|---|---|---|
| 1 | chan | 194 |
| 2 | ashi | 162 |
| 3 | hang | 134 |
| 4 | suke | 123 |
| 5 | ichi | 119 |
| 6 | oshi | 101 |
| 7 | life | 95 |
| 8 | hiro | 87 |
| 9 | yama | 84 |
| 10 | blog | 82 |
| 11 | taro | 81 |
| 12 | neko | 71 |
| 13 | mura | 70 |
| 14 | moto | 68 |
| 15 | maru | 67 |
| 16 | ikun | 66 |
| 17 | 2017 | 65 |
| 18 | akun | 63 |
| 19 | arou | 63 |
| 19 | atsu | 63 |
| 21 | uchi | 61 |
| 22 | nkun | 59 |
| 22 | suki | 59 |
| 24 | kawa | 58 |
| 24 | tion | 58 |
| 26 | ster | 56 |
| 27 | 2000 | 55 |
| 27 | papa | 55 |
| 27 | yuki | 55 |
| 30 | isan | 54 |
| 30 | saki | 54 |
| 末尾4桁 | 件数 | 末尾4桁 | 件数 | 末尾4桁 | 件数 |
|---|---|---|---|---|---|
| 1900 | 2 | 1950 | 1 | 2000 | 55 |
| 1901 | 1 | 1951 | 2 | 2001 | 25 |
| 1902 | 1952 | 2002 | 18 | ||
| 1903 | 1953 | 4 | 2003 | 8 | |
| 1904 | 1954 | 1 | 2004 | 11 | |
| 1905 | 1955 | 2 | 2005 | 15 | |
| 1906 | 1956 | 1 | 2006 | 11 | |
| 1907 | 1957 | 1 | 2007 | 17 | |
| 1908 | 1958 | 3 | 2008 | 13 | |
| 1909 | 1959 | 2 | 2009 | 17 | |
| 1910 | 1960 | 2 | 2010 | 23 | |
| 1911 | 3 | 1961 | 1 | 2011 | 28 |
| 1912 | 1962 | 2 | 2012 | 22 | |
| 1913 | 2 | 1963 | 4 | 2013 | 17 |
| 1914 | 2 | 1964 | 3 | 2014 | 16 |
| 1915 | 1965 | 1 | 2015 | 21 | |
| 1916 | 1966 | 6 | 2016 | 27 | |
| 1917 | 2 | 1967 | 3 | 2017 | 65 |
| 1918 | 1968 | 4 | 2018 | 14 | |
| 1919 | 7 | 1969 | 10 | 2019 | 2 |
| 1920 | 1970 | 8 | 2020 | 5 | |
| 1921 | 1 | 1971 | 6 | 2021 | 1 |
| 1922 | 1972 | 8 | 2022 | 2 | |
| 1923 | 2 | 1973 | 10 | 2023 | |
| 1924 | 1 | 1974 | 11 | 2024 | 1 |
| 1925 | 1 | 1975 | 15 | 2025 | 2 |
| 1926 | 1976 | 16 | 2026 | 1 | |
| 1927 | 1977 | 26 | 2027 | 1 | |
| 1928 | 1978 | 11 | 2028 | ||
| 1929 | 1979 | 10 | 2029 | ||
| 1930 | 1980 | 23 | 2030 | 2 | |
| 1931 | 1 | 1981 | 15 | 2031 | |
| 1932 | 1982 | 14 | 2032 | ||
| 1933 | 1983 | 13 | 2033 | 1 | |
| 1934 | 1984 | 23 | 2034 | ||
| 1935 | 1 | 1985 | 19 | 2035 | 3 |
| 1936 | 1986 | 27 | 2036 | 2 | |
| 1937 | 1987 | 10 | 2037 | ||
| 1938 | 1988 | 23 | 2038 | ||
| 1939 | 3 | 1989 | 27 | 2039 | |
| 1940 | 1 | 1990 | 21 | 2040 | |
| 1941 | 1991 | 14 | 2041 | 1 | |
| 1942 | 1 | 1992 | 9 | 2042 | |
| 1943 | 1993 | 6 | 2043 | ||
| 1944 | 1 | 1994 | 9 | 2044 | |
| 1945 | 4 | 1995 | 7 | 2045 | 1 |
| 1946 | 1996 | 6 | 2046 | ||
| 1947 | 1997 | 2 | 2047 | 1 | |
| 1948 | 1 | 1998 | 9 | 2048 | |
| 1949 | 1 | 1999 | 14 | 2049 | 1 |
20世紀のものは誕生年、21世紀のものはアカウント作成年だろうか。
私の持てる知識を絞り出してなんとか完成しました。
**************************************************************************************
完成したサイトがこちらです。
LapyNetニュース
**************************************************************************************
私は普段webとは関係ない仕事してます。なんとか休日を利用して、
メインのコードはこんな感じ
----------------------------------------------------------------------------------------------------------------------
App::uses('Sanitize', 'Utility');
class RssfeedsController extends AppController {
public $helpers = array('Html','Form','Session','Number','Cache');
public $uses = array(
'Rssfeed',
'Tweet',
'Wadai',
'Rank',
'Oracle'
);
**************************************************************************************
public function index() {
$title_for_layout = "LapyNetニュース";
$content = "Hello World!!";
$this->set(compact('title_for_layout','content'));
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}
$params = array(
'conditions' = > array(
'and' = > array(
'Rssfeed.time' = > $today,
)),
'order' = > 'tweets desc',
'limit' = > '50'
);
$this- >set('posts',$this- >Rssfeed- >find('all',$params));
$paramz = array(
'order' = > 'Rssfeed.id desc',
'limit' = > '10'
);
$this->set('posts2',$this->Rssfeed->find('all',$paramz));
$paramz = $this- >Rssfeed- >query('SELECT id,title FROM rssfeeds order by id desc limit 10');
$this->set('posts2', $paramz);
$parapara = $this- >Oracle- >query('SELECT id,title FROM oracles order by id desc limit 10');
$this- >set('postx', $parapara);
$funking = $this- >Rank- >query('SELECT id,frank FROM ranks where creation=(select max(creation) from ranks)');
$this- >set('funking', $funking);
}
**************************************************************************************
public function mizuno() {
$parapara = array(
'order' => 'Oracle.id desc',
'limit' => '30'
);
$recent_posts = $this->Oracle->find('all',$parapara);
return $recent_posts;
}
**************************************************************************************
public function wadai() {
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}
$params = array(
'conditions' => array(
'and' => array(
'Rssfeed.time' => $today,
'Rssfeed.kubetu' => 4
)),
'order' => 'tweets desc',
'limit' => '100'
);
$this->set('posts',$this->Rssfeed->find('all',$params));
$this->set("title_for_layout","2CHニュース-LapyNetニュース");
$paramz = array(
'order' => 'Rssfeed.id desc',
'limit' => '10'
);
$this->set('postyy',$this->Rssfeed->find('all',$paramz));
$parapara = array(
'order' => 'Oracle.id desc',
'limit' => '10'
);
$this->set('postyx',$this->Oracle->find('all',$parapara));
$funking = $this->Rank->query('SELECT * FROM ranks where creation=(select max(creation) from ranks)');
$this->set('funking', $funking);
}
**************************************************************************************
public function hot() {
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}
$params = array(
'conditions' => array(
'and' => array(
'Rssfeed.time' => $today,
'Rssfeed.kubetu' => 3
)),
'order' => 'tweets desc',
'limit' => '20'
);
$title_for_layout = "LapyNetニュース";
$this->set("title_for_layout","ニュース-LapyNetニュース");
$this->set('posts',$this->Rssfeed->find('all',$params));
$parapara = array(
'order' => 'Oracle.id desc',
'limit' => '10'
);
$this->set('postxx',$this->Oracle->find('all',$parapara));
$paramz = array(
'order' => 'Rssfeed.id desc',
'limit' => '10'
);
$this->set('postsxxx',$this->Rssfeed->find('all',$paramz));
$funking = $this->Rank->query('SELECT * FROM ranks where creation=(select max(creation) from ranks)');
$this->set('funking', $funking);
}
**************************************************************************************
public function newnew() {
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}
$params = array(
'conditions' => array(
'and' => array(
'Rssfeed.time' => $today,
'Rssfeed.kubetu' => 2
)),
'order' => 'tweets desc',
'limit' => '20'
);
$this->set("title_for_layout","エンタメニュース-LapyNetニュース");
$this->set('posts',$this->Rssfeed->find('all',$params));
$paramz = array(
'order' => 'Rssfeed.id desc',
'limit' => '10'
);
$this->set('postszz',$this->Rssfeed->find('all',$paramz));
$paramz = $this->Oracle->query('SELECT id,title FROM rssfeeds order by id desc limit 10');
$this->set('postszz', $paramz);
$parapara = $this->Oracle->query('SELECT id,title FROM oracles order by id desc limit 10');
$this->set('postzy', $parapara);
$funking = $this->Rank->query('SELECT * FROM ranks where creation=(select max(creation) from ranks)');
$this->set('funking', $funking);
}
**************************************************************************************
public function top() {
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}
$params = array(
'conditions' => array(
'and' => array(
'Rssfeed.time' => $today,
'Rssfeed.kubetu' => 1
)),
'order' => 'tweets desc',
'limit' => '20'
);
$this->set('posts',$this->Rssfeed->find('all',$params));
$param = array(
'conditions' => array('times > current_timestamp + interval -600 minute and Kubetu = 4'),
'order' => 'tweets desc',
'limit' => '30'
);
$this->set('posts2',$this->Rssfeed->find('all',$param));
}
**************************************************************************************
public function view($id = null ) {
$this->Rssfeed->id = $id; //驥崎ヲ√↑荳譁・i縺励>
$user = AuthComponent::user();
$TwimStatus = ClassRegistry::init('Twim.TwimStatus');
$TwimStatus->getDataSource()->setToken(AuthComponent::user());
$statuses = $TwimStatus->tweet();
$rairai = $this->Rssfeed->read(title,$id);
$alcol = $this->Rssfeed->read();
$this->set('post', $alcol);
$this->set('post2', $user);
$this->set('post3', $statuses);
$this->set("title_for_layout",$rairai[Rssfeed][title]."-LapyNetニュース");
$paramz = array(
'order' => 'Rssfeed.id desc',
'limit' => '20'
);
$this->set('postszz',$this->Rssfeed->find('all',$paramz));
$parapara = array(
'order' => 'Oracle.id desc',
'limit' => '30'
);
$this->set('postzy',$this->Oracle->find('all',$parapara));
}
**************************************************************************************
public function add() {
if($this->request->isPost()){
if($this->Tweet->save($this->data)) {
$this->Session->setFlash('seikou');
$this->redirect(array('controller'=>'rssfeeds','action'=>'view',$contents11));
}else{
$this->Session->setFlash('sipai');
$this->redirect(array('controller'=>'rssfeeds','action'=>'view',$contents11));
}
}
}
**************************************************************************************
public function delete($id = null) {
$this->Rssfeed->id = $id;
$this->set('set', $this->Rssfeed->read());
$this->redirect(array('controller'=>'tweets','action'=>'delete',$this->data['tweet']['rssfeed_id']));
}
**************************************************************************************
public function oracle() {
if($this->request->is('post')) {
$user = AuthComponent::user();
$TwimStatus = ClassRegistry::init('Twim.TwimStatus');
$TwimStatus->getDataSource()->setToken(AuthComponent::user());
$contents1 = $this->request->data['Rssfeed']['contents'];
$contents2 = $this->request->data;
$statuses = $TwimStatus->tweet($contents1);
if($this->Rssfeed->save($contents2)) {
$this->Session->setFlash('成功です。');
$this->redirect(array('controller'=>'rssfeeds','action'=>'view',$contents11));
$this->redirect($this->referer());
}else{
$this->redirect(array('controller'=>'rssfeeds','action'=>'view',$contents11));
$this->Session->setFlash('失敗です。');
}
}
}
**************************************************************************************
public function makelist() {
$rssfeeds = $this->paginate();
if ($this->request->is('requested')) {
return $rssfeeds;
} else {
$this->set('rssfeeds', $rssfeeds);
}
}
}
----------------------------------------------------------------------------------------------------------------------
rssフィードはこんな感じです。
----------------------------------------------------------------------------------------------------------------------
#!/usr/bin/php
<?php
header('Content-type: text/html; charset=UTF-8');
require_once ('/var/www/html/s/magpierss/rss_fetch.inc');
define('MAGPIE_CACHE_AGE', 60*5);
define('MAGPIE_CACHE_DIR', '/var/www/html/s/cache/');
define('MAGPIE_OUTPUT_ENCODING','UTF-8');
$urls = array(
'*********************************');
$items = getRssList($urls);
echo '<ul>';
foreach ($items as $item) {
$href = mb_convert_encoding($item['link'], "UTF-8", "auto");
$title = mb_convert_encoding($item['title'], "UTF-8", "auto");
$description = mb_convert_encoding($item['description'], "UTF-8", "auto");
$megami = mb_convert_encoding($description, "UTF-8", "auto");
**************************************************************************************
$all = 'http://urls.api.twitter.com/1/urls/count.json?url='.$href;
$Rits = file_get_contents($all);
$Olfe = mb_convert_encoding($Rits, 'UTF-8', 'auto');
$data = json_decode($Olfe);
$tweets = $data->count;
**************************************************************************************
$checkman = db_check_urls($href);
$checkman2 = db_check_pr($title);
$nowtimes = date('Ymd');
if($checkman == 0 &amp;&amp; $checkman2 == 0){
#$hrefs = urlencode($href);
db_put_urls($nowtimes,$href,$title,$description,$tweets);
echo "<li><a href=$href>$title</a><br>$megami<p>$tweets</p><p>$checkman</p></li>";
}else{
}
}
echo '</ul>';
**************************************************************************************
function getRssList($urls)
{
$rssitems = array();
foreach ($urls as $url) {
$obj = fetch_rss($url);
$rssitems = array_merge($rssitems, $obj->items);
}
return $rssitems;
}
**************************************************************************************
function db_check_pr($japanese){
$moji = mb_substr($japanese,0,2);
if($moji == 'PR'){
return 1;
}else{
return 0;
}
}
**************************************************************************************
function db_check_urls($href){
require '/var/www/html/s/database_conf.php';
try {
$db = new PDO($dsn, $dbUser, $dbPass);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT count(*) AS count FROM rssfeeds WHERE urls = :language';
$prepare = $db->prepare($sql);
$languages = array($href);
foreach ($languages as $language) {
$prepare->bindValue(':language', $language, PDO::PARAM_STR);
$prepare->execute();
$result = $prepare->fetchColumn();
if ($result > 0) {
return true;
}else{
return false;
}
}
} catch (PDOException $e) {
echo 'エラーが発生しました。内容: ' . h($e->getMessage());
}
function h($var)
{
return htmlspecialchars($var, ENT_QUOTES, 'UTF-8');
}
}
**************************************************************************************
function db_put_urls($nowtimes,$href,$title,$description,$tweets){
require '/var/www/html/s/database_conf.php';
try {
$db = new PDO($dsn, $dbUser, $dbPass);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sikibetu = 5;
$moto = "アニゲー速報VIP";
$sql = 'insert into rssfeeds (id, time,urls,title,contents,tweets,times,kubetu,teikyo) values (?, ?, ?, ?, ?, ?, ?, ?, ?)';
$prepare = $db->prepare($sql);
$prepare->bindValue(1, 0, PDO::PARAM_STR);
$prepare->bindValue(2, $nowtimes, PDO::PARAM_STR);
$prepare->bindValue(3, $href, PDO::PARAM_STR);
$prepare->bindValue(4, $title, PDO::PARAM_STR);
$prepare->bindValue(5, $description, PDO::PARAM_STR);
$prepare->bindValue(6, $tweets, PDO::PARAM_STR);
$prepare->bindValue(7, 'cast( now() as datetime)', PDO::PARAM_STR);
$prepare->bindValue(8, $sikibetu, PDO::PARAM_STR);
$prepare->bindValue(9, $moto, PDO::PARAM_STR);
$prepare->execute();
} catch (PDOException $e) {
echo 'エラーが発生しました。内容: ' . h($e->getMessage());
}
}
?>
---------------------------------------------------------------------------------------------------------------------
**************************************************************************************
参考にした書籍
CakePHP2 実践入門 (WEB+DB PRESS plus)
CakePHP2 実践入門 (WEB+DB PRESS plus)
作者: 安藤祐介,岸田健一郎,新原雅司,市川快,渡辺一宏,鈴木則夫
発売日: 2012/09/29
購入: 5人 クリック: 165回
Webアプリ開発を加速する CakePHP2定番レシピ119
Webアプリ開発を加速する CakePHP2定番レシピ119
**************************************************************************************
一番難しいところはtwitterログインとwebサイト連結でした。
ツイート数でランキングしてます、ネットの話題を見つけられます。
ホームページビルダーを使用しています。
今のホームページビルダーは昔と違って高機能ですね。
テンプレートも何種類もあって今はすごいです。
に分かれています。
今更cakephpを使っている人は少ないかもしれませんが、
twitterアカウントあるといつでも参加できますので、
http://anond.hatelabo.jp/20150715014005
(づつきです)
通常のネットは当局から禁ぜられ程なく使えなくなったが、「もう一つのネット」は問題なく作用した。
珠洲子は住まいのある東京都北区赤羽(Akabane東京都の地名。濁音化せずに日本語で書くとAkahane。ハネhaneは元来ハニhaniであり、ハニは「土」を意味する。すなわち赤いハニ(red soil)が地名の由来となっている)から脱出するまで1度だけ襲撃を受けた。都内から離れた後は襲撃はなく、追手はひとまず撒けたことになる。襲撃した相手はハーバード大学3刀流の使い手だった。この流派は2050年代にネットが身体の操縦に役立つ技術になった際、ヨーヨー・マビルマーク・ザッカーバーゲイツ・アダムズシニアジュニア3世を名乗る、ハーバード大学を後に退学になる男によって創始された。3つの刀を間違った日本の文化に即して扱うもので、その内の一つは特に電子的に管理し中空に浮かせておくのが特徴だと師匠から教わった。『名探偵ホームズ』には「バリツ」という武術が登場する。シャーロキアンのこれでもかって程の執拗かつ綿密な研究のおかげで、「バリツ」が19世紀末ロンドンで実際に教示されたことは21世紀後半の現代ではよく知られている。日本の作法が伝言ゲームで面白く意味を持つ。ハーバード大学3刀流はこの時代の「バリツ」なのだ。
珠洲子はこうした刺客(Shikakuここでは珠洲子を追捕するために派遣されたエージェント)を2秒半ほどで退けた。刀が落ちて金属音を立てるのを尻目(Shirime)に聴きながら、珠洲子は師匠(Sishou)の事を思い出した(remember)。珠洲子の師匠の一人は陳老師(Chen-raoshi、チンさん)という名前で、昔幕府があった場所の名の付いた優秀な弟子を手掛けたことで知られる。珠洲子もそのまた優秀な弟子だ。
「教えの歴史的な古さが強さをもたらすのでない。当然新しいからと言って勝つわけではない。よかったのう!」
チンさんの教えはよく分からないこともあったけれど、この言葉は間違っていない。歴史の重みはある種、不必要だ。必要なのは揃っている道具で今考えることだ。
2時間42分後、珠洲子は岐阜県関市に到着した。明治・昭和・平成、さらにその次と次の元号の時に行政区の変遷があり関市も随分様相を変えた。人も変わった。ここには鷲見(すみ)太郎という政治家がいる。彼女は彼に会いに来た。事前に「もう一つのネット体系」を経由し短報を送っておいた。鷲見はネットが身体を操作し始めた50年代に先鋭的に反対を唱えた男で、のち中央政界で1期務め、現在は岐阜県議の職にある。珠洲子の主人は、鷲見にアポイントを取るよう手筈を整えていた。珠洲子は鷲見の邸宅に予告通り忍びこんだ。鷲見は報せを受けてから警備を敢えて「普通」にして待っていた。政治家の邸宅における警備を縫うことは「普通」は不可能。しかし21時4分現在、書斎にいる鷲見の眼前に可愛らしい女性が難なく現れ、彼に簡単なブリーフィングを伝えていた。当然、ブリーフィングよりも忍びこんだ事実の方が、より雄弁に「もう一つのネット」の機能と彼女の任務とを物語っていた。
「私の反ネット勢力のツテを頼りたいのだろう」「左様です」「あまり役に立たないと思う」「何故です…」「かつてネットが身体の制御に使用されようとしたとき、多くの人が危険だと唱えた。その内に先鋭化して回線切ってネットを捨てるべきと考える者が現れた。」「…」「スイッチのようにオンとオフだけで考えてはならなかったのだ」「?」「ネットを捨てるべきと言った連中はその内コンピュータが不用と言い、テレビや暇つぶしの携帯ゲームが害悪だと訴え、車も複写機も信号機も要らない、電子的なデバイスをあれこれと捨てようとした」「…」「そしてついに眼鏡がいらない、とかスリッパが要らない、もっと自然に過ごそう! とか言い始めた」「…」「そうなると火薬も羅針盤もいらないし、文字もいらないし衣服もいらないし石器も言語も要らなくなる…ということに多くの人間は、どこかの段階で、気づいた」「??」「人間は道具を使う。ネットに異を唱えたはいいが、どこまで自分が道具を持ち、使っていたのか。そこに無自覚に、ネットだけをつついていたんだ」「反ネット勢力の名簿はいただけないのですか?」「勿論差し上げよう。だが今話したごときの懊悩、えっと悩みね。…悩み。道具に関する悩みを私や私と同じような人間は共有している。だから私の同胞では…ネットをストップしようと考えただけの時代の人間ではダメだ。おわかりいただけたかな?」「…わかりました」
鷲見の邸宅から去り、関市内吾妻町の、関市が幾度も合併する前からあるホテルに赴く。「もう一つのネット」でホテルにチェックインし、「もう一つのネット」で架空の銀行口座から架空の資金をホテルに支払う。自分の部屋でモルツビールを空けながら10時のニュースを見つつ、鷲見からもらったリストを網膜で走査する。
2缶目がもう少しで飲み干せるぐらいの時に、関係者の中に元カレ(Moto-kare昔の男性の交際相手)の名前を見付けた。「???」