はてなキーワード: Indexとは
@tomo_さんの
https://twitter.com/tomo_/status/835476208242442241
この「Blenderでけものフレンズみたいに眉毛を髪の毛で透過させる手順」を自分なりに分析して書き起こしてみた。
・properties > Render Layers > レンダレイヤーを新規追加
・新しいレンダレイヤーを眉だけ描画するように設定
・ノードエディタのコンポジットで2つのレンダレイヤーをMix
・髪を選択しproperties > Object > Relations > Pass Index に固有のidを指定(2など)
・基本のレンダレイヤーのpass設定でObject Indexを有効にする( properties > Render Layers )
・ノードエディタでid maskを追加し、入力側に基本レンダレイヤーのindexOBを接続し、Alpha出力をMixのFacに接続。髪のidを指定。
1.シリコンバレー
2.ニューヨーク
3.ロンドン
4.北京
5.ボストン
6.Tel Aviv(イスラエル)
7.ベルリン
8.上海
13.オースティン
14.ストックホルム
15.バンクーバー
16.トロント-ワッテルロー
18.シカゴ
http://thebridge.jp/2015/07/the-2015-global-startup-ecosystem-ranking-is-live
そう思った方もいらっしゃるはず。僕もそう思いました。
しかし、資料をよく読んでみると実はそもそも日本は調査対象に入っていません。
実は前回(2015)のランキングでも日本は調査対象に入っていませんでした。
このことについて、前回の資料では「日本,中国,韓国は言語の関係で今回は調査を見送りました」と明記がありました。
しかし、今回の調査では中国はもちろん、韓国(ソウル)も調査の対象に入っています。
日本が調査対象から外れていることについて、そしてその理由についての明記はありません。
考えられる可能性の一つとして
が思いつきます。
"この資料では日本、中国、台湾、韓国が含まれていません。(中略)
我々はこれらの国のエコシステムについて、次回には含めるつもりでいます"
【原文】
"Our index dose not currently include startup ecosystems from China, Taiwan ,Japan ,and South Korea.
We expect to have these eco-systems included in our index later this year."
この文章を読む限り日本は重要な場所とみなされているようです。
「次は日本も含めます。」と明言した限り、日本にも接触したでしょう。
それは、
です。
このランキングを発表するためには、いろいろな情報が必要です。
・企業価値
・売上
・M&A額
などの情報がそういった”表に出したくない”情報に当たります。
他にはスタートアップへのアンケート調査も必要になってきます。
調査に協力したからといって報酬がもらえるわけではありません。
忙しい中にこのような調査の対応をすることは正直言って面倒臭いでしょう。
と声をあげたい。
確かに、大事な情報を他人に渡すのは怖いし、アンケートは面倒臭い。
でも、もしこのランキングで良い結果を残すことができたとしたら・・・?
シンガポールを見て欲しい。
技術者不足で嘆いていたのだ。
しかし今年は?
シリコンバレーを抜いての「1位」だ!
2015年のランキングを真摯に受け止めた結果がこの結果を生んだのだと思う。
さらに言えば、2012年の18位からの反省も受け継いでいるはずだ。
日本がこのランキングに参加できていない理由、皆さんは気になりませんか?
今からでも遅くない。
なんでか知らないけど、すごく被害者意識を持っているみたい。
https://www.youtube.com/watch?v=YV4oYkIeGJc&list=RDBk7RVw3I8eg&index=6
極一部かもしれませんが、知ってる範囲で。
2016年8月7日 2ちゃんねるに「DENAの著作権侵」スレが立つ。
http://echo.2ch.net/test/read.cgi/affiliate/1470529754/
2016年8月12日 ウェブマスターヘルプフォーラムに「DENAのキュレーションメディアについて」のトピックが立ち、無断転載、リライトについて議論される。
https://productforums.google.com/forum/#!topic/webmaster-ja/6JFtCdzukXg;context-place=topicsearchin/webmaster-ja/dena
2016年8月25日 フォーラム内の書き込みを元にしたコンテンツ盗用のついての質問にGoogle社員が答える。
https://www.youtube.com/watch?v=_tGLJBdlQoo&index=2&list=PLKoqnv2vTMUM8wruZ8n9hmv8951fFmxok
2016年9月6日 DeNA製キュレーションの実態を告発するブログ記事が公開される。
http://mecchanikukyu.hatenablog.com/entry/2016/09/06/125318
2016年10月 DeNA製キュレーションの勢い全く衰えず。1位WELQ、2位WELQ、3位Upinみたいなふざけた検索結果も散見される。
2016年10月22日 辻正浩氏「死にたい」で1位のWELQ記事についてツイート
https://twitter.com/tsuj/status/789801304243646464
2016年10月25日 ITmedia、辻氏のツイートを受けてのDeNAの対応を記事化。
http://www.itmedia.co.jp/news/articles/1610/26/news117.html
2016年10月28日 BuzzFeed、WELQの信頼性、リライト疑惑を追究する記事を公開。
https://www.buzzfeed.com/keigoisashi/welq-01?utm_term=.qx4y7LvRX#.xyowXY3Jd
2016年11月24日 DeNAのモラルを問う永江一石氏のブログ記事が公開される。
https://www.landerblue.co.jp/blog/?p=30141
2016年11月25日 DeNA、WELQについて専門家の監修を受けると発表。
2016年11月28日 BuzzFeed、記事大量生産のからくりを詳細に取材した記事を公開。
https://www.buzzfeed.com/keigoisashi/welq-03?utm_term=.gbe9J8e0l#.rekMwdEKP
2016年11月29日 DeNA、WELQの全記事非公開を発表。
2016年12月1日 DeNA、Meryを除く9つのキュレーション(WELQ、iemo、Find Travel、cuta、UpIn、CAFY、JOOY、GOIN、PUUL)の非公開を発表。
今回の騒動は東証1部に上場しているような企業がこんなことを?って点と読むに堪えないレベルの低品質な記事でも長文&大量生産でこれだけ上位を独占できてしまったことが衝撃的でしたが、個人運営にしろ企業運営にしろ似たようなことしてるサイトは沢山ありますし、検索エンジンの仕組みが変わらない限りこれからも出てくるでしょう。DeNAもちょっと手直ししただけで復活させてくるかもしれません。
ということですっかり評判を落とした感のあるGなんとかさん頑張ってください。キュレーションという名のパクリサイトなんて無くても誰も困らないですよ。
★2000/04 『彼女と彼女の猫』にてDoGA主催 第12回 CGアニメ コンテストのグランプリを獲得
www.doga.co.jp/ptdoga/contest/con12/html/12_11.htm
www2.odn.ne.jp/~ccs50140/colum2003.html
★2000/05~ ファルコム退社(『ほしのこえ』を制作するため)
twitter.com/shinkaimakoto/status/647800736487600128
★2001/01-04~(?) コミックス・ウェーブによるマネジメント開始(?)
bylines.news.yahoo.co.jp/sakaiosamu/20160926-00062558/
>新海誠のマネジメントをぼくがやることになったんです。『ほしのこえ』を作っている最中
www2.odn.ne.jp/~ccs50140/colum2003.html
>2000/12/17 「彼女と彼女の猫 MOVIES & SOUNDTRACKS」を冬コミ(筆者注:C59)で売ります(DoGAで売っていただきます)
>2001/04/01 猫のCD-ROM、ようやく再販を始めました。マンガズーさんのご協力で前回よりちょっとだけ豪華に
※販売協力がDoGAからMANGAZOOに切り替わってるので、この辺りに関係を持ったと推測。
※なおMANGAZOOもC59に参加している(www.comiket.co.jp/info-a/C59/C59kigyo.html)
★2001/06 『BITTER SWEET FOOLS』ムービー制作
www2.odn.ne.jp/~ccs50140/colum2003.html
>2001/06/14 現在短いムービーを制作しています。鉛筆スケッチの手書き+3DCGというスタイル
★2001/08/31 『BITTER SWEET FOOLS』発売
www.minori.ph/lineup/index.html
www2.odn.ne.jp/~ccs50140/colum2003.html
ascii.jp/elem/000/000/325/325424/index-2.html
※ascii.jpの記事では原画の相田裕を始め脚本、音楽には触れているもののOPについては言及なし
dnarna-mirror.sakura.ne.jp/techle/2001/07/
dnarna-mirror.sakura.ne.jp/techle/2001/08/
dnarna-mirror.sakura.ne.jp/techle/2001/09/
※『Wind』のときはOPに言及したニュースサイトが『BSF』のOPには触れていない
★2002/01-02 『Wind -a breath of heart-』ムービー制作
www2.odn.ne.jp/~ccs50140/colum2003.html
>2002/01/28 次の仕事の関係で、先日初めてプロの手によるホンモノの動画を手にしました~
>2002/02/16 ちょっと仕事が詰まり気味でして、この土・日は以前の会社の後輩にお願いしてマシン持参で手伝いに来てもらいます~
>2002/02/20 3日間こんちきさんにアシスタントに入ってもらい、何とか仕事の目処がついてきました~/今日はSプロデューサー(筆者注:酒井伸和)がお見えになり~/今回の仕事(ムービーです)の結果は3月1日からご覧いただけるようですが~
★2002/02/02 『ほしのこえ』下北沢トリウッドにて公開
www2.odn.ne.jp/~ccs50140/colum2003.html
>2002/02/03 トリウッドはお陰様で毎回満員、見に来てくださった方々とも直接のお話が出来、本当にありがとうございました!一晩のうちにこれほど沢山のメールをいただいたのもの初めて
web.archive.org/web/20020609191424/www.mangazoo.com/news/news.php3?id=889
dnarna-mirror.sakura.ne.jp/techle/2002/02/
★2002/03/01~ 『Wind -a breath of heart-』のOPが『ほしのこえ』の上映会の最終日にあわせて下北沢トリウッドで先行公開、その後web上でも公開
web.archive.org/web/20020610084350/www.dengekionline.com/g-net/g-net_news/200203/02/gn20020302wind.htm
gamez.itmedia.co.jp/games/movie/wind/index.html
www.itmedia.co.jp/games/gsnews/0203/05/news07.html
当時のニュースサイトの反応
dnarna-mirror.sakura.ne.jp/techle/2002/03/
>200203-061235 → Windオープニング minoriがミラー協力者へ委託
>200203-070015 → Wind高画質版ミラーに5時間で5500アクセス
>200203-072226 → Windデモムービーのミラーによる転送量が5.5GB
>200203-092338 → ねこねこソフト Windムービー見て奮起
※『Wind』の発売は2002/04/19
新海さんが筆まめかつ過去の情報を残してくれるひとで良かったね!
あとInternet Archiveと俺ニュのミラーしてくれてるひともありがとう!
なお当時の状況を伝える個人ニュースサイトに俺ニュを選んだのはログが残ってたから。カトゆーかsawadaspecialあたりが残ってたらそっちも載せた。
男性向けの二次創作同人サイトって「エロパロ」って名乗って○で作品タイトルの文字を何文字か伏字する文化が昔あったよね
女性側の同人サイトがindexページを扉として、公式と無関係ですよってわざわざ名乗って、エロは裏サイトにしてパスワード申請で…って面倒くさい免罪符やってた代わりに、エロ絵をindexに上げつつもそのあたりを紳士協定としていたり逆に伏字で隠すことでのエロさとしていた印象があったんだけどいつなくなったんだろうアレ
同じタグ付け強制された結果でも、棲み分けも兼ねた独自の伏せタグをぽこぽこ生み出し始めた女性向けと違って男性向け側はザックリと伏字文化が消滅したように見えるけどまだ何かで伏字文化って残ってるんだろうか
↑に「生きざまを見よ!」とあるので、見てみたら別の意味ですごかった。
いわゆる optimisation なのだろうかな。
ちなみに顔写真は↓
※別に質問してるわけじゃないけど、いらん苦労をさせられてるんで愚痴まじりに罵る。
ESET Family Securty体験版の有効期限が切れるっていうんで、アクティベートしようとしてるんだが、やり方が分からん。
既にパッケージをAmazonで購入済みで箱は手元に届いてるんだが、わからん。
■1:インストール済みのESET(体験版)のメニューに「製品のアクティベート」というボタンがあったから選んだ。
サブウィンドウが出てきて、
「認証キーを入れる」か「ライセンスを購入する」かの2択になった。
■2:箱を開けたが「認証キー」に類するものはない。「購入コード」というものが記載された紙ならある。しかしコレではなさそうだ。
■3:「製品認証キーはどこにありますか?」というヘルプ用のリンクがあるので押してみた。
「オンラインで購入した場合は電子メール、店舗で購入した場合はライセンスカードにキーが記載されている」
との事。
俺の場合は「店舗で購入」に分類されるので、そっちのはずだが、ライセンスカードなんて入ってない。
(字義通りに受け取るならAmazonで買うのは「オンラインで購入」ではあるが、その程度の空気は読む)
■4:おそらくこの「購入コード」というのをどこかに入力すれば、「製品認証キー」が手に入るはず、と予想を立てた。
「eset 購入コード 製品認証キー」でググってトップに出てきたキャノンのヘルプページを開く。
このかゆい所に手が届く親切設計。さすがGoogle。それに比べてキャノン・・・。
ttp://eset-support.canon-its.jp/faq/show/3853
と言われた気分で探す。
どうやら、下記の部分が該当するらしい。
1.「シリアル番号」「ユーザー名」「ライセンスID」のいずれか1つ
※ 「シリアル番号」の確認方法は、下記Webページをご参照ください。
[Q&A]購入コード、シリアル番号とは?確認方法は? (←リンク※1)
※1のリンクで『購入コード、シリアル番号とは?確認方法は?』のページを開いた。
■6:ヘルプページ『購入コード、シリアル番号とは?確認方法は?』の主張
ttp://eset-support.canon-its.jp/faq/show/314
もう一度ウォーリーを探せ!
必要なのは「漏れ無く網羅する事」じゃなくて「必要な情報に速やかにアクセスできる事」だと思うんですけど、どう思います?
という事は俺はユーザー登録をすれば良いということになる。
無いはずがない。
ページの右上とか、フッターとか、トップページの上部とか、ESET Family Securityのメニューとかにあるはず。
でも無い。
大馬鹿野郎。
■8:ユーザー登録ページを探す。
システムを人に合わせるのではなく、システムに合わせて思考方法をアジャストするのが技術者だ。
「※ 該当のメールアドレスが現在利用できない場合は下記Webページより、ご登録メールアドレスの変更をお願いします。」
「下記Webページよりおこなってください。
「メールアドレスの変更」や「ライセンス情報照会」を行うなら、
当然「ログインページ」に飛ぶはず。
ログインページには必ずアレがある。
■9:「メールアドレスの変更」ページの驚異的なイケてなさ。
なにこれ
ttps://canon-its.jp/cgi-bin/chg_email_inp.cgi
以前、「簡潔に要点を言え!」と上司に叱られたのを思い出した。
それにしてもナニコレ。
フルHDで表示しても画面下部のフォームが見えない懇切丁寧な説明文の羅列。
そしてページ下部のフォームにも、
「シリアル番号」とか「ご登録時のメールアドレス」とかはあるが、
「新規登録」どころか「メールアドレスを忘れた場合」のリンクすら無い。
■10:これがゴールへの鍵だ。
しかし注意深く見れば、ゴールはこのページ内に潜んでいる事がわかる。
3たびウォーリーを探せ!
下の製品をご利用のお客さま
ESET NOD32アンチウイルス Windows/Mac対応
※ パッケージ版を購入されたお客さまは、ユーザー登録時に利用または発行された「シリアル番号」と、ユーザー登録時に利用された「メールアドレス」を入力してください。
※ ダウンロード版を購入されたお客さまは、購入時またはユーザー登録時に電子メールで送信、または表示された「シリアル番号(ライセンスキー)」と、ユーザー登録時に利用された「メールアドレス」を入力してください。
※ 変更完了後、ご登録時のメールアドレス宛に案内メールは届きません。
※ お引越しなどで郵便番号や都道府県名などを変更したい場合は、下記をご覧ください。
ESET ファミリーセキュリティ をご利用のお客さまはこちら
ESET パーソナル セキュリティ をご利用のお客さまはこちら
ESET オフィス セキュリティ をご利用のお客さまはこちら
ESET NOD32アンチウイルス Windows/Mac対応 をご利用のお客さまはこちら
おわかりいただけただろうか?
「ESET ファミリーセキュリティ をご利用のお客さまはこちら」
の「こちら」がリンクになっているのだ。
■11:見ろ! ログインボタンがあるぞ! 「CLUB ESETにログイン」ボタンだ!
ttps://eset-info.canon-its.jp/support/register/family.html#change
なんか微妙に不安になる名前だが、多分「CLUB ESET」というのが、俺がアカウントを登録するべきクラブなんだろう多分。
■12:クエストは続く。
ttps://canon-its.jp/cgi-bin/index.cgi?ACTION_ID=UC1001_ACT_SHOW_ENTRANCE
これはひょっとしてアレか?
オープンなネットはイケハヤのような、SEOが小器用なだけの頭の薄っぺらい人間たちがうっほうっほやってる世界になりつつあるよな。
https://www.facebook.com/taizoson/posts/10153788960804492?pnref=story
僕には経営者としてかねてからの疑問がある。ほんとは違うと思いたいので、誰か下記の僕の意見に反論してくれませんか。
かつて世界を席巻した日本の電機メーカー、先日取締役会で揉めたコンビニの最大手、安くて高品質と市場を席巻したカジュアル衣料メーカー、テレビショッピングでいちばん有名な会社、プロ経営者を雇ったがクビにした教育産業の最大手、そして通信などで成長した日本で最も有名なIT起業家の会社など、最近後継者についての話題がすごく多い。
事業を大きくした創業者は、会社の成長もさることながら後継問題がいちばんむずかしい、とよくおっしゃる。「企業は存続してこそ社会に貢献できるのだから、100年続く会社になるように企業文化を創っていきたい」と皆さん口をそろえる。中には徳川幕府だって300年続いたのだから、うちも300年だと言う方もおられる。誰とは言わないが(笑)
なんで?
なぜ存続してこそ社会に貢献できる(=存続しないと社会に大きく長く貢献できたと言えない)、と言えるのだろうか。
存続はしていてもたいして貢献してないことだってある。「売上は社会に貢献して顧客からもらえた対価なのだから、売上が伸びてるあいだは立派に貢献してる証拠じゃないか」「雇用を生み出し続けてるのだからそれだけでも貢献しているじゃないか」などの声を聞くのだが、それはその会社がなくなって別の新しい会社がそれを担ってもいいわけで、「存続してこそ社会に貢献できる」というテーゼを論証したことにはならないと思う。
つまり、存続することと、社会に貢献することとは関係があまりないと僕は思うのだ。それどころか、長く続いている大企業は、分業と縦割りとルールの細分化が進んで制度疲労を起こし、「自己疎外(=働けば働くほど、自分でやっていることが自分のものと感じられなくなっていくこと)」を生み出しているようにしか僕には見えない。
スタートアップ原理主義者の僕には(笑)、必要以上に大きくなりすぎた企業は「自己疎外製造装置」にしか見えないのだ。だからといって共産主義に近い社会主義を礼賛しているわけではもちろんない。ほんとはいろいろ考えているのだが、この文脈においては、単に「アンチ大企業主義」と分類されても僕は全然差し支えはない。
昔であれば、大資本・大組織でないとできない大きな仕事が存在しただろう。しかしこれからの時代には大企業のアドバンテージというのは実はあまり(個人的には「ほとんど」)ないと言っても過言ではないと思っている。
そしてそれは、人工知能とロボットの発達によって、愕然たる事実として現在よりもさらに鮮明にあぶり出されるはずだ。
僕はそのように思っているのだが、僕が違う(それとこれとは関係ない)と思っている、
「企業は成長し続けて大企業となり、そして長期間存続し続けることこそが社会に大きく貢献することなのだ」
ということを誰か力強く理論づけてもらえませんか。
http://www.tez.com/blog/archives/post5052.html
スタートアップがより大きな力を得てより急速に成長するためにも、より大きく、より長い繁栄をして、企業価値を大きくすることを目指すことが必要だと考えられますし、その場合の繁栄の鍵は、いかに「情報処理のハブ」の地位を確保し続けるか、ということに集約されると思います。
だから、企業がより大きく、より長い繁栄を目指すことは、否定されるべきではないと思います。もちろん単なるステークホルダーの思考停止ではなく、他の(「信用」を担保する)理由があるからこそ、大企業として長期間存続し続けるわけですし、社会に大きな影響を与える企業として長期間存続し続けようという意志のないところに大きな企業価値が生まれることは無いはずです。
孫 泰蔵 「信用資本論」とでもいうべきとても示唆に富む論説ですね。
まず、信用という機能の本質が「思考停止」だからこそ信用は一定の「慣性」を持つ、というのにハッとさせられました。経営者もそこに働く従業員も、会社を長期的に存続させるのが是、というところで思考停止してるなといつも思ってたのですが、それは外部からの信用という思考停止ともリンクしているのだということに気づきました。
また、長期的に存続しうる形態としては「メタ」な存在しかないだろうと私も考えていました。しかし、その際に長期的に「メタ」として存在しうる価値やアイデンティティーってなんなんだろうなあと思うのです。資金であればVCなどでも十分提供できるわけで、スタートアップが嗜好する資金以上のなにかを持ってないといけないわけですが、それはなんなのだろうとずっと考えています。そこも「信用」なのかなあ。
そして、「大企業が自らの存続をあきらめることではなく、既存の『信用』に新たな『信用』がぶつかって倒そうとすること」が「古い組織の制度疲労を打ち壊し社会全体を活性化させるのだ」というのはまったく同意です。
しかし、現在の日本では挑戦者がまだまだ全然少ない状況です。この状況を打破したいのですが、能力的に優秀な人が、挑戦者になって打倒するのではなく、むしろ後継者になりたがろうとする人が多いこの状況(例えば、兄がやってる「アカデミア」という後継者育成機関にすごい優秀な人がいっぱい来てるんです!あんたたちは孫正義の後継者なんかじゃなくて起業家を目指さんかい!と心のなかでいつも苦々しく思ってるんですよね(笑))をどうやったら打破できるのかなあと思案しています。
既存の信用にぶつかって倒した新たな信用の成功事例をつくるしかないですよね・・・そっか、俺が頑張ればいいのか。頑張ります!
孫 泰蔵 ありがとうございます。
そして「そこも信用」なんだと思います。
話がややこしくなるので本文には入れなかったのですが、日本では米国のVCは全部が全部イケてると思われがちですが、実は逆にファンドのうち上場株式のindexをアウトパフォームするものはわずかで、9割前後はindexを下回っています。つまり米国とはいえ、ほとんどのVCファンドは「上場株index投信を買った方がマシだった」ということになってます。しかし米国の上位5%のファンドは常に高いパフォーマンスを上げています。
リスクの高いベンチャー投資でなぜ長期にコンスタントに高い成果が上げられるのかという理由は、まさにVCが行うべきことの本質が「信用の供与」だからじゃないでしょうか。例えば「セコイアが投資したベンチャー」は(もちろん背後に技術トレンドの調査やきちっとしたDDがあることに加えて)「セコイアが投資してるんだからイケてるんだろう」という期待が働くからこそ、いい経営陣やいい従業員が集まり、いい投資家が付き、いい取引先やいい顧客が付くので、結果として本当にいい会社になってしまうという「予言の自己成就」が発生しているのではないかと思います。
ポートフォリオで多数のベンチャーに分散投資すると、仮に失敗したベンチャー成功したベンチャーをならしてポートフォリオ全体として利益が出たとしても、必ずしも「あのVCが投資したベンチャーはイケてる」という期待は働きません。「投資したベンチャーを全社必ず成功させるぞ」という長年の努力をすると、そうしたミダスタッチ(「魔法」)が使えるようになるんじゃないかなと思います。
ベンチャーは先進的であるがゆえに、単独でポツンと存在しても、それがいいものか悪いものか、一般の人にはわかりません。「世の中で最も大きな情報の非対称性が発生するもの」だと言えます。だからこそ、そういう「信用」を供与する投資家が増えることこそが、現状を打破する大きな力になると思います。
亀山 敬司 俺も「会社を続けるために稼ごうぜ!」と言ってるけど、社会貢献とは関係ない。会社が続いて大きくなると俺が楽しいからやってる。だから「辞めたあとは俺のこと忘れていいから勝手に楽しめよ」と社員には言ってる。会社なんてただの人の集まりだし、くっ付こうが分裂しようが、べつにDMMの名前が残らなくてもいっこうに構わない。
300年続けたいとか言ってるやつは、何を続けたいと言ってるのかわかんないけど、ピラミッドでも残したいんじゃない?亡霊の自己満足だね。
昔は「社員の未来を雇用をどうやって守る」とか思い悩んでいたが、「過保護で要らぬお世話だな、いい歳の大人は自分で考えな」になってきた。とりあえず後継者は立てるだろうが、そこからは別の会社だから残りたいかは自分で決めなって感じ。
大企業が長く続くのは、良し悪しで言えばちょっと悪し。ゆとりが有り過ぎると頭が悪くなるし、いい気になっちゃうし、内戦に明け暮れる。良い点は、まずしいスタートアップが時々見上げながら「俺もいつかあの大きなビルに入って、きれいなおねえちゃんを秘書にするんだ」と俗っぽい夢を見させてくれる。
悪い部分が大きくなれば勝手に自滅するので、自然に任せといても大丈夫。
そもそも社会貢献も基本はやっぱり自己満足だね。経済成長や新しいテクノロジーが社会を幸せにするとも限らないんだし、自分たちの活動が徳か悪徳かもよくわからん。でも、こんなふうにいろいろ考えるのは、自分だけのことを考えた自己満より、マシな自己満だよね〜!
webには不思議な人がいるが、今回youtubeでちょっと変わった人を発見した。
「FM龍伸堂」というラジオ系のチャンネルがそれだが、どうやらyahoo知恵袋の質問に対してラジオ形式で返答するということをやっているらしい。
https://www.youtube.com/watch?v=IaQlLZjQ5Xk&index=2&list=PLbWyHvD0iLVE4ANYU_lQ9CjjQ3KldGFr1
誰に頼まれたわけでもないのに、なぜこんなことをはじめたのだろうか・・・。
このFM龍伸堂のチャンネル概要を読むと2006年から始めているらしい・・・。10年前じゃないですか。youtubeと同じぐらいの歴史じゃないですか・・・。
どうやら長らく個人での放送活動を続けるうちになにかテーマが見えてきたようで、始めているようです。
yahoo知恵袋に答えるようになった想いについてはこちらで語っていらっしゃいます。
https://www.youtube.com/watch?v=Jkn4pGQUY_E
「悪人とか犯罪者もそうなのかもしれないけれども、人間には裏と表がある。犯罪者などが善なる存在になって社会を良くしてくれるかもしれないという発想が大事。鬱、引き籠もり、不登校の人は貴重な人材かもしれない。彼らをどうにかして救って、サポートしていくことが大事なのではないか」
親も含め家族にも言わない。人は金の臭いで変わる。悲しいけど本当のことだ。
基本的な考え方は以下の三点。
「増やそうという色気は出さず、投資に手間暇をかけない」
①まず4億円を株に注ぎ込む。配当利回り1.5%~3%くらいの企業の株を買う。安全のため20社くらいに分割して、2000万円程度ずつ(配当利回りが高すぎる会社はリスクもあるのでこの程度の利回りが良い)。もちろんレバレッジをかけたりせずに東証一部の現物株。マザーズ等の新興株、新規上場株には手を出さない。業種はある程度ばらけさせる。平均配当利回り2%として、これで毎年800万円-源泉20%で640万円の手取りとなる。これをベースの生活費にあてる。手取り640万円なら家族を持っても標準的な生活を送れる。4億円の前にはNISAは枠が小さすぎるので無視して良い。
②次に2億円を外貨定期預金にする。これは日本円がハイパーインフレで紙屑になった時の対策として。株は比較的インフレに強い金融資産だけど、それでもリスクは0ではない。米(+カナダ)ドル・ユーロ・豪(+ニュージーランド)ドル・スイスフランあたりの固い通貨に分散する。ブラジルレアル・南アランド・トルコリラ等の新興国通貨にはしない。株と違い、こちらは利息を元本に上乗せして定期を継続し、手をつけない。いざという時に使えないと困るので、定期預金の期間は1年とし、毎年更新する。
③次に5000万円で不動産を買う。これは自分が住むための不動産であり、投資のための不動産ではない。基本的に死ぬまでそこに住むつもりで買う。賃貸の出費が無くなると精神的に安定するため。不動産投資は他の投資と同様に失敗・成功があり、大量に保有すればリスクが分散して利回りも安定するけど、素人が手を出すべきものではない。あと管理に手間もかかる(不動産屋に任せても印鑑押したりなどは残る)。7億でマンション一棟買いし、自分も中に住み、他の部屋の家賃で暮らすやり方は、天災火災等のリスクがあるのでお勧めしない。
④残りの5000万円は、いざという時のために普通預金で持っておく。一応、メガ都銀3つとゆうちょ銀行(と近くにあって便利な一行)あたりに分散する。このお金も基本的に使わない。投資に回したりもしない。事故・天災などに備えて、すぐ引き出せるためのお金である。
⑤投資信託ファンド・FX・先物・オプション・REIT・金地金等は、リスクか手数料・信託報酬・買値と売値の差が大きいので手を出さない(日経INDEXくらいならアリかもしれないが、やめておく)。債券は、国内ものは優良企業の配当より利回りが低く、国外ものは②の外貨定期よりリスクが高いのでこれも手を出さない。なにしろ基本方針に「投資に手間暇かけない」があるから①と②にしているので、①と②以外は全スルーの方が良いだろう。
⑥これが重要なんだけど、仕事はやめない。社会との繋がりを絶つと人は腐っていくので。ただ、どうしても嫌な仕事は断れるようになるし、無理な残業や接待をして出世を狙う必要もなくなるので、ストレスは相当減る。ここでの収入は①の生活費に足す。重要なのはクオリティ・オブ・ライフを考えて、残業があまり多くない仕事であること、転勤が無いこと(転勤は人のクオリティ・オブ・ライフを相当下げると思う。不動産も買うし)、人間関係が悪くない職場であること。①があるから収入自体は多くなくていいので、この三点だけはしっかり押さえたい。
私の持てる知識を絞り出してなんとか完成しました。
**************************************************************************************
完成したサイトがこちらです。
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アカウントあるといつでも参加できますので、