はてなキーワード: motoとは
知らん人は以下を参考に。
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昔の男性の交際相手)の名前を見付けた。「???」