はてなキーワード: ホームページビルダーとは
今まで、ブログを何個作っては潰してきただろうか。
ゴリゴリ変わっていった意味不明なペンネームを年表にして検索をかけてみると、私が産んでしまった、死のうにも死ねないブログの残骸がネット世界にふわふわ浮かんでいると思う。
つい最近も、5年前くらいに作ったアメブロの記事を見つけて、脳汁をドバドバ垂れ流しながらそれらを消した。
私は、ホームページビルダーを使ってクソみたいなページを作った。
「リンク集」を「ゼルダ集」と書き換えて(これは本当におもしろくないギャグです)友人に「こんなものを作りました」と自慢してたのを思い出して死にたくなる。
キラキラ大学生風だった頃、コメントが付くと嬉しくてついつい色々どうでもいい事を書いていた。
高校の終わりくらいからやっていたので、結局5年くらい続けたと思う。
そして私はアラサーになった。
WP以外もう更新はされておらず、ネットデブリになる前にそっと削除しておこう、とそう思った。
良い。
私の持てる知識を絞り出してなんとか完成しました。
**************************************************************************************
完成したサイトがこちらです。
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アカウントあるといつでも参加できますので、
18年前、エロ同人サイトを作りたくてなんの知識もない自分は出会い系広告などひしめくパソコン系雑誌をあさったりして必死でホームページを作ろうとしていた。
ただ単に、承認欲求が先走った行動だった。
ウィンドウズ?なにそれ窓?そういえば、あのとき、なんであんな並んで買ってたんだみんな。ドラクエくらいしか並ばないでしょ
とか思いながら初めて買ったFMVでダイヤルアップ接続して、エロサイトをテレホーダイ時代に必死で見ていた。
やがて、毎晩徹夜してエロ小説を書いては厨専用ヤフージオシティーズ(無料でHP作れるやつ)のどっかの町におんぼろ小屋をたてていた。
あそこは、初心者用エディタがあってタグの知識が不完全な俺でもなんとか必死でコピペして打ち込んで更新更新。
週1でエロ小説を更新して週2で触手記念日とか勝手に盛り上がって月一でかならず連載を終了しては凌辱のかぎりをつくし、T-Cup掲示板という無料レンタルBBSを使ってマニア達の要望に応えていた。
テレホーダイ時間になると必ず接続して今日のエロはとか語りだす。
IRCだっけ?なんかその手のチャットツールがあってな、ある日、触手愛好会のメンバーがどうやってサイト作ってるって話になった。
「ネスケ」がどうのこうの、「ホームページビルダー」で作れるよなどいろんな知識を自分はメモりながらエロ小説を必死で作り上げていた。
それから大学に進学してしばらく忙しくなってネット同人エロサイトからいったん離れた。
放置してたジオシティーズはいつのまにかなくなっていた。つうか、IDとパスワードわからんくなって放置して、問い合わせ先もわからなくなってしまった。
とかね。
そんで、最近になってまたエロ変態小説を作って当時のようにサイトを作ってみたいと思ったんだが、、、
HTML5になっていた。
そこまでにはXHTML1.0とか2.0などで、厳格にHTMLの曖昧さが砕かれてしまって
俺の好きな・・・
center,blinkも色もpinkとかも・・・・・・・なにもかもが否定されていた。
なんで?って一瞬思った。
そしたらWeb Application1.0とかになって今やHTML5。ついていけなかった。
つか、
エロ同人サイトをやっていた頃から、、、そういえばもう17年以上たつし・・・生物系大学院でて必死こいてPCRやって電気泳動して毎日ピペット奴隷大学で獄卒をしている間にこんなに変化するとは。
と、かなりおいてけぼりを食らった感がはんぱない。
あのDNA増幅するPCR装置がすごくスマートで簡単になったし、貧乏ラボ特有の培養液を粉から混ぜて作る面倒さがなくなって今は既製品培養液もある。
調整なんてしなくていいものが多い。
似たような進化なんだろうか。でも、バイオ系は手探りの日常空間で科学してるだけでなんていうのか、履歴があいまいに残ってるくらいで大きな変革を感じない。
生物系は日に日にシコシコと飼育当番しながら小銭をもらって生きていてるけど、プログラミングはそれ以上の進化を感じる。
これは、自分がエロ同人にのめりこまなかった17、18年ほどで、ネットの中で何かでかい革命が起きたんだろうかとか・・・1か月ほどショックが否めなかった。
もっとエロ同人で週一で触手しとけばよかった。続けてればこんな置いてけぼり感味わうこともなかったんだろうか・・・。
ネスケも終わっているし、ホームページビルダーとか当時高くて買うのに涙を呑んでた時代がものすごく遠い。
http://anond.hatelabo.jp/20150130194150
C:\Users\hirokun\Documents\ホームページビルダー\html\index.html
とある男とは、また別の男の話。
90年代後半。男はギターロックが好きだった。ちょっとポップな、弾ける感じのギターロック。
ある日、小さなレコードショップの試聴機で聞いた歌声と歌詞に感銘を受けた。
「これは素敵な僕のバンドを見つけた!」と思った。
ハイラインレコーズか、さすがだな!
アルバムを買った。ランプ、ガラスのブルース、K、続・くだらない唄、アルエ、やばいやばいやばい!
ライブがあるとのことで、十三ファンタンゴに駆けつけた。泣いた。笑った。叫んだ。泣いた。
「十三ファンタンゴもいいライブハウスだけど、もうちょっと大きなところでやりたい。クワトロは大きすぎるけど」
そんなボーカル藤原のMCに、会場の男たちは「クワトロでも狭いわ! ゼップクラス以上やろ!」と笑った。
ライブから帰ってすぐ、その感動を自分のホームページにしたたるためにホームページビルダーを立ち上げた。
BUMP OF CHICKENの公式サイトにあるBBSにも「ライブ良かったです! 感想をまとめたので良かったら読んでください」と、男のホームページのURLを貼った。
翌日、カウンターのCGIが壊れたのかと思ったぐらい回転した。
今まで誰も書き込んでくれなかった男のBBSに、知らない人から「良かったです」「ライブ、行きたかった」「東京も良かったですよ」と100人以上の人が書き込んでくれた。
でもこのバンドはいつかメジャーになって変わってしまうんだろう、と確信めいた感覚があった。
それからと言うもの、男は会う人会う人にバンプを勧めた。変わってしまう前に。
「ふーん。インディーズなの」
「この曲「ランプ」って言うんだけど、最高なんだよ!」
「へー、今度聴いてみるわ」
「今から送るよ!」
ダイヤルアップ接続の遅いスピードで、ICQを使って送った。数分の曲を送るのに2時間近くかかった。勿論、歌詞も一緒にテキストにまとめて送った。
「これ、いいね! すごい元気になれる!」
「あー、若い時に聴きたかった。今の僕はナイフに代わる自信を仕事で手に入れたよ。でも、いい歌だね」
みんな、喜んでくれた。
男は嬉しくて、でも「ランプ」だけを送りプロモーション活動を続けた。無料で配るのは気が引けるから、この1曲だけ。本当に気に入ってくれたら、きっとアルバムを買ってくれるはずだと。
こんなにも良い音楽なんだもん、本当に多くの人に届く! 嬉しい!
どこか勝手な使命感にかられてたのかもしれない。自分ごとのように必死だった。自分のことじゃないのに。
ある時。
転機は急に訪れた。
「見えないものを見ようとして」
大好きな歌声で、なんだか、ちょっと違和感を感じる、乗り切れないメロディが飛び込んできた。
メジャーデビューが決まったと聞いた時、すごい不安だった。変わってしまうと思ったから。
ボーカル藤原だけじゃなくメンバー全員が「俺ら、変わらないから」そう何度も言ってたけど、そんなの無理だって分かってた。
モテない、女心も分かってない童貞全開な歌詞。いつも通りのバンプなのに……。
天体観測。
さながら打ち上がったロケットが、大気圏を突破して宇宙(そら)に消えて行くようだった。
男は黙り込んだ。
これで、もうバンプの話ができなくなるかもしれない。
この前までバンプのことを完全スルーしてた人たちも、男と同じように自分ごとのように喜ぶんだろう。「これは素敵な僕のバンドを見つけた!」と。
それは、もう男にとっての「僕のバンド」ではなくなっているだろうけど。
ほどなくして、そんな知人に会う機会があった。
その日は珍しく知人のほうからこう切り出してきた。
「おっ、そうなん?」
「BUMP OF CHICKENって知ってる?」
(終)
▼元ネタ:本当にあったやるせない話「BUMP OF CHICKENって知ってる?」
この記事を書くキッカケになったのは、こちらの方が書かれた記事を読んでから。
http://anond.hatelabo.jp/20130517213002
そしてこの記事を書いた目的は、自分がアフィリエイトに携わった約10年間の軌跡を記すことと、
読みづらい文章ですが、興味があれば読んでみてください。
私がアフィリエイトに出会ったのは今から約11年前、当時はブログやSNSなんて媒体はメジャーではなく
個人が情報発信するには、ホームページ作成と呼ばれる特殊な技術を持った一部の人間だけが、それを
許されていた時代です。
当時の私は、どこにでもいる中小零細企業の正社員で、Webの知識など皆無、当然
ホームページを作成する技術や知識すら持ち合わせていませんでした。
しかしそのアフィリエイトの存在を知ってから約1年後、当時勤めていた会社の部長と折り合いが悪くなってから
「こんな会社やめて、もっと大きく成功してやる!」そんな漠然と、フワッとした
野心、野望、甘え、現実逃避を当時25歳位の私は抱いていました。
そしてその当時、常に私の心の奥底にあったのが、アフィリエイトの存在でした。
たいした資本を必要とせず、個人で月収50万、実力次第では月収100万も夢ではない。
「ひょっとしたら、俺にも出来るかも。」
「もし俺にも出来たら、俺の人生は大きく変わって、ビッグに成功できるかも!」
そんな甘ったるい思考を持っていた事を今でも覚えています。
部長との折り合いが悪くなって、すぐ私は当時勤めていた会社を退職し、
派遣社員として、工場勤務の職を得て新しいスタートを切ることになります。
もちろん、その工場の仕事がしたかったから働き始めた訳でなく、
アフィリエイトで稼ぎ独立して成功していく為の、とりあえずの日銭稼ぎの仕事と
割り切って仕事をしていました。
当然、当時はアフィリエイト報酬は月に1000円も稼げていませんが、とにかく勉強し、
ホームページビルダーと呼ばれるソフトを使い、何とかサイトを完成させるまでの
スキルを身につけることができました。
しかし、そのスキルとアフィリエイトで稼ぐスキルはまるで別物。
サイトを作り上げるスキルは日々上達しても、ASP(アフィリエイト・サービス・プロバイダ)の
それでも、絶対にアフィリエイトで生計を立てる。
絶対にこれで人生を変えてやる!
そんな、狂った思考を持ち続け突っ走っていました。
当時まだ26歳だったと思います。
昼間は工場で働きながら、そして空いた時間はすべてアフィリエイトで金を
稼ぐ為だけに注ぎました。
そして今でこそ分かるのですが、私は当時働いていた職場での人間関係を積極的に築こうと
しませんでした。
なぜなら、私の心のどこかで、この仕事はそのうち辞める仕事、俺はお前達とは違う。
そういった思考を持ち続けていたので、私は意識的に人との関係を避けるようになったのだ思います。
もし仮にココでアフィリエイトに挫折していたら、まだ人生の選択肢は多く残されていたのですが、
不幸にもアフィリエイト報酬が右肩上がりになってしまいました。
厳密に言うとアフィリエイトではなく、アドセンス報酬だったのですが、月に30万以上を
稼ぐ月が続いてしまいました。
私の交友関係が狭まるのと比例して、今まで稼いだことのないようなカネを稼げるようになりました。
当時28~29歳位の話です。
アドセンスで稼ぎ続ける日々はそう長くはありませんでした。
当時のアドセンスは、クリックさせさえすれば、ある程度の報酬が見込めましたが、
それが通用しなくなったのです。
アドセンス報酬はガタ落ち、アフィリエイト報酬もほとんどありませんでした。
当時、私は個人事業主としてアパートの一室でアフィリエイト事業をしていたのですが、
アドセンス報酬に頼って生計を立てていたので、報酬が減ることはイコール、死を意味します。
「何とかしないと。どうにかしないと。」
心は不安と焦りで一杯でした。
ココで真剣に自分の人生を考えればよかったのに、やはり私の当時の思考は偏っていたので、アルバイトを再開し
その金と少ないアドセンス報酬で生計をたて、今度はアフィリエイト報酬目的でサイトを作り続けていました。
もう気付かなければいけないのに。
しかし当時の私はまだそこまで考えられない短絡的で無計画な男でした。
そして何とかして、この業界で生きていく。
それが、俺の道。
まともに、働いて微々たる金を稼ぐなんて、俺には出来ない。俺には無理。
そんな人生まっぴら御免。
こういった思考を持ち続けていたのです。
当時私が30歳位の話です。
アルバイトをしながら、アフィリエイトで何とか生計を立てる日々は続きます。
しかし、状況は好転し、ネット上ではPPC広告を使いアフィリエイト報酬を得る手法が流行り、
広告費30万突込みアフィリエイト報酬60万~70万程、月に稼ぐことに成功します。
驚くほど稼げる。簡単に稼げる。
凄すぎる世界でした。
日に5万以上のアフィリエイト報酬を得るのも珍しくなく、私は有頂天になりました。
昼間は好きな所へドライブに出かけ、好きな所へ旅行へ行き、日々の生活が怠惰になっていました。
朝は起きたい時に起き、仕事!?(アフィリエイト)は気が向いた時にやり、寝たい時に寝る。
嫌なことは一切しない。
煩わしい人間関係とは無縁。身の丈以上の金を稼いで自由に生きていました。
きっと私の心は気づいていたのだと思います。
足がしっかり地についていないことを。
しかし、私の思考はそれを否定する。
そんな事はない。
コレが俺の道。コレがコレが......。
当時私は31歳~32歳だったと思います。
私は主にサイトアフィリエイトに力を注ぎ、安定して50万~80万程度の報酬を
稼ぐことに成功していました。
金を稼げているうちは、まだ心は安定しているのですが、やはり常に不安があり、
次へのステップ(商売)を考えていたのですが、一歩が踏み出せない。
なぜなら、私にそういったアドバイスをしてくれる同僚、友人、先輩もいませんでしたし、
どこか、何となく金を稼いできた。
そんな自分に自信が持てなかったのかもしれません。
例えば大工の見習いが地道に頑張り、一人前になり工務店を構える、
そういった背景が私にはなかったのだと思います。
ただ何となく、感覚的にアフィリエイトに取り組み、そして金を稼いでいたのだと思います。
成功する為に金を稼ぐ。
私の成功は金を稼ぐこと?
なぜその仕事をして金を稼ぐのか?
もちろんココまで全て自分が撒いた種ですので誰にも文句は言えません。
ただただ自分の考えの甘さに恥ずかしいだけです。
そして2012年グーグルのアップデートが入り、全ては転落へと向かいます。
当時私が35歳の話です。
アフィリエイト報酬は急降下、何とかしなければ、何かしなければ。。。。
もう関わりたくない。二度とこんなモノに自分の人生を預けたくない。
そんな強い想いがあります。
厳しいとは分かっているが、就職し自分の人生を再起動させるしかない。
分かっています。どの選択肢を選んでも厳しい。死ぬほど厳しい。
でもココでもう一度頑張らないと、私には未来はない。
そしてWeb系(デザイナー、CSSやHTMLコーディング)の仕事に応募。
イラストレーターやフォトショップ、プログラムなどが組める訳ではありません。
もちろん、簡単なホームページは作れますが、私自身が自分をWebデザイナーではないことを自覚しています。
しかし、とにかく何かしなければ。
職を転々としていると指摘され、一つ一つ、退職理由を突っ込まれる。
みな若い....。
今まで煩わしい人間関係を嫌がっていた自分が、一から自分の居場所を築くことが
面接官が一通り施設を案内してくれた後、優しく私にこう言いました。
「現時点であなたを正社員として雇うのは厳しい。ただ、うちにはキャリアアップ制度が
あるから、アルバイトとして2年もしくは3年働いてもらい、あなたがうちに貢献できる人材なら、
正社員の道もあるよ。でもだからと言って、かならず正社員として雇用するとは断言できない。」と。
そして、もう一つ見せ付けられた事実。
思考や外見、その他色々なことが堅くなって柔軟性が無くなって来ていること。
心療内科にいくと、うつの症状が出ていますね。と言われ薬を処方される。
しかし、悪いことばかりではありません。
アフィリエイト報酬が0円になったかと言うと、そうではなく、まだ月に7万~10万程度は
見込めるということ。(二度とこの報酬に頼る生き方はしませんが)
もう一つ、過去の職場で取得した工場系や運送系で使える資格を保有していること。
焦ってはいけない。でも急がなければいけない。
自分をしっかり見つめ直し、どうのように今後生きていくか、どの業界でプロになるのか、
それを考えて考えて考え抜いて答えを出そうと思います。
コレまでの約10年間、よくココまでデタラメに生きてこれたと思います。
それまでも、かなりデタラメに生きてきたので(職歴転々)、ある意味私の人生自体がギャンブルのように
なっていました。
しかし今回、自分が自信を失うという一件があり、自分を見つめ直す良いキッカケになりました。
まだ36歳で自分自身の性格、適正なども含め、言葉では言い表せない色々な事に気付けて良かったと思っています。
そして何より、前向きに地道に頑張っていく決意が出来ました。
大切なことは、自分が何をしたいのか。もしくは、どんな風に生きたいのか。
何なら出来るのか。何なら社会に貢献できるのか。
そしてその道でプロを目指すということ。
"金を稼ぐと言うことは、その道のプロになると言うことだ。"
以上。
というタイトルの記事をいつか書けるようになりたいなっ
ああっ、ちょっと待って。できるだけ多くの人の目に入ってくれたらと思ってやった出来心なんだよ。許して。
でもさ、HTML?ああ、ホームページビルダーで見たことある!レベルの人間なんだよ。
だからこの記事読んでも何を勉強すればいいのか皆目見当がつかない。HTMLやればいいのは間違いなさそうだけど。
でも俺は「完全に一致」みたいな検索システムが作りたいわけじゃない。
利用者が自分でページを作って、そこに人が集まってみたいなページがつくりたいんだ。ごめんよくわかんないよね。
Facebookの中のFacebookページの仕組みの部分だけをつくりたい、というのが一番近いかも。
ねえ、何を勉強すればいいと思う?こういうのはてなーの人なら詳しいと思って。
あ、待った!そうだよね、自分で何も調べずに教えてとか礼儀に欠けるよね。ちょっとタンマ。
==============================================================================================
よし、調べてきた。Ruby on RailsっていうのがWEBサービスを簡単に(?)作れるらしいですね。
でも、それが自分の作りたいものに適しているのかが分かりません。
少なくとも「完全に一致」の人はRoR(こう略すので正しいんだよね?)使ってないし。
だから、自分がこれからRoRを勉強するのが適策なのか、そうじゃないのかだけでも教えていただければ幸いです。
いや、ごめん、ホントはそんなことが聞きたかったんじゃないんだ。
本当は上記エントリでやる気になったけど、一人でスタートするのが寂しいから、誰かに「頑張れ」って言って欲しかっただけなんだよ。
かまってちゃんで申し訳ない。
ネットをうろうろしていたら、かなり久しぶりに"sorry Japanese only"の記述を見た。
そいえばこれ、10年くらい前は個人のページにふつうに書いてたよね。
最近この表記を見かけなくなった理由はいろいろあげられると思う。
ネットそのものの多言語化が進んで、2000年ごろに英語と非英語のページ数が逆転して、
ま、日本語のコンテンツも増えてきたし、そんなこと書かなくてよくね、となったんだと思う。
それから、日本人が日本語を使って何が悪い、という一種の哲学的というかイデオロギー的というか、そういうのもあったと思う。
あと、この表記は「外人さんお断り」のようでかえって印象が悪くなる、ということも言われた。
それから、そもそもHTMLタグに言語について記述すれば済むことでもあった。
上に挙げたすべての理由にもまして、
そこまで深く考えなくても簡単にネットで意見を発信できるようになった、というのが大きい。
2003~2004年ごろ、ブログの出現でページ数は圧倒的に増えたけど、
それと同時にクオリティもかなり下がった。
ネットで意見を発信している人たちの中で、HTMLとかについての基礎的な理解のある人の比率は下がる一方に思える。
そんなこと考えなくても立派な日記が作れちゃうからね。
ブログ出現の前、ホームページビルダーができた時にも、やはりクオリティの劣化はあった。
初期のホームページビルダーで素人が作ったページは、アクセシビリティとかもかなりひどかったよね。
今でもアクセシビリティについて真剣に考えている人はそれほどいないけど、
そもそものホームページ作成ツールがよくなってきているし、アクセシビリティに配慮しないとSEO的にも不利になる時代になった。
ページ数は増えたけど、昔のほうがもっと個性的なページがいろいろあったよね。
今でもあるんだろうけど、検索で上位に引っかかってくるのはたいてい似たような内容のもの。
なんて、いろいろ思い出した。
地味ではあるが、時代は変わっているんだと実感できた。
初めてサイトを作りたいと思ったとき、誰しもまず調べた瞬間htmlとかいうものに出会う。
でも<html><head>だののタグをずらずら見た時点で大概覚えようとするのを挫折したはず。
あれは真性の初心者にとって難解すぎる。例えば簡単な文字を羅列するだけでも
<html><head><body><br></body></head><html>とワケワカランタグが多い。
しかも漸く出来たコレだけの文字羅列を見たところで、到底WWWで見られる美しいデザインとの程遠さに絶望する。
どうやったって一ヶ月頑張っても無理だろ!みたいな。
だから初心者にはホームページビルダーのような作成ソフトを渡したほうが早いと思う。
構文が汚いとかそんなことよりも、まず紙の上に絵を描くような感覚でイラストや文字を入れられるし
実際最初から手打ちして作った猛者より作成ソフト使用した数のほうが多いはず。
最初は構文なんて覚えなくても、とりあえずサイトがそこそこ見栄えよく初心者だって出来る!という
達成感でサイト作成という事象に興味をもてるようになればいい。
そのうち他のサイトを見て、こういうデザイン入れたいなと思って自ずと向上心が湧く。
例えばテーブル組んだりスクロールバーの色を変えたりフレームのボーダーラインを消したり拍手設置しようとしたり・・・。
そこでcssやJavaScriptやperl(cgiやphp)に興味が湧きだす。コピペしたりしてサイトへ貼り付ける。
そうやっているうちにcssやJavaScriptって外部スタイルシートや.jsとして別ファイルに分けられるんだ!とか知り
ここらへんでhtml、cssのタグの意味を何となく理解出来るようになっているという。
更にはCMSに手を出して・・・
気が付くとホームページビルダーは使わずterapadかなんかでソース手打ちし、綺麗さとかに気を配れるようになる。
これって一から英語の授業を受けるより、アメリカ本国へ何年か住み続けるうちに何となく英語理解するのに似てる気がする。
初心者の為といっていきなりタグ記述テンプレのサイトを見せて学べというのは、実のところ実用的ではない。
最近だったらレンタルブログもそう。とっかかりはレンタルブログでもいいが→
テンプレートを使っていても徐々にテンプレートを少し変えたいと思い調べる→
鯖の仕組みを理解する→以下続く
みたいな流れで自学学習していく。
学校で学ぶ人ならまだしも、例えば同人サイトを自分も作りたい!とか店の商用サイトを作りたい!とか
本格的に勉強はしたくないけど興味と意欲をそこそこもっている初心者サイレントマジョリティ層には
http://d.hatena.ne.jp/keitaro2272/20090812/1250027545
これを読んで思い出した話。
長くなるけど、かんべんしてくれ。あと、増田に書くのは初めてなんで、読みにくかったらごめん。先に謝っとくよ。
10年位前、同人誌をやっていた。一人でコピー本作って、一人で即売会に持ち込んでいた。非コミュなので、一緒に同人誌作れるような友達はいなかった。友達はいないのに、一人で売りに行く行動力だけはあった。
それでも、一人で何度も即売会に足を運んでいると、隣近所のサークルの人間の何人かとは顔見知りになる。なんとなく友達っぽい人間も何人かできた。
その中の一人、Mは、とても辛らつな人間だった。お前の描く漫画は、絵は最低最悪に下手だけど、話が面白いなと、直球の感想をくれる。自分もMの率直さをとても気に入った。たまに飲みに行くようになった。自然に、一緒に本を作らないかという話になり、そんなことができるのかと自分のほうはとても驚いた。いままで、一人で本を作って一人で本を売ってきたので、他サークルの人間と自分が、一緒に組んで本を出すという事態がどういうことか、まったく想像できなかった。
そのことを打ち明けると、バンドで言うとソロ活動みたいなもんだ、とMは説明してくれた。確かに、あるバンドの人間が、別のバンドの人間とユニットを組んで、期間限定で活動するとかあるよな、と、その説明でやっと納得できた。それで、Mは元のサークルのメンバーのまま、自分とユニットを組んで、ソロ活動をする、という体裁になった。
二人ともその体裁が気に入って、結局、トータルで3冊、オフセットの本を出した。間にコピー本も何冊か出した。
Mは小説書きだったからかどうか、かなりの量産がきいた。こちらの”ユニット”と自分のサークルの両方の原稿を書いても、まだ余力を残していた。
自分は下手糞な上に遅筆だったので、時間の関係で、”ユニットの”原稿しか描けなくなり、一人でちまちまと本を作る余裕をなくした。
だが、Mの辛らつな台詞に触発されたか、自分でも目を覆うほど下手くそだった絵は、三冊目を出す頃には、見違えるほど上手くなっていた。一冊目と三冊目では、とても同じ人物が描いている絵には見えなかった。
本当に漫画が好きで、幼稚園児の頃から絵を描き続けて、それでもなぜかまったく上手くならなかった自分の絵が、Mに触発されてだんだん自分の理想とする絵に近づいていく過程は、自分でも驚くほど楽しかった。一皮向ける、という言葉があるが、本当にそんな感じだった。
だが、上手くなるにしたがって、自分は、だんだんと同人誌にかける情熱をなくしていった。
それまでの三冊の奥付の住所はMのものだった。本の感想は全部、Mのところに届いていた。個人でやっていたときは、ダイレクトに届いていた感想が、全部、Mの手で止まった。個人で出す一冊目のときは、煩悩を解き放っただけで形になっていたものが、その先は、数少ないながらも寄せられる感想を糧に、7冊もの本を一人で作ってきた自分だったから、感想に飢えて、徐々に情熱をなくしていったのだと思う。
甘ったれている、それはそうかもしれない。
画力がちょっとは向上して、絵を描くことじたいは前よりもっと楽しくなっていた。でも、同人誌を作っている人になら分かるだろうが、描くことが好きなだけでは本という形にはならない。その、形にする、という情熱を、もはや自分は感じなくなっていた。
最初に書いたとおり、Mは辛らつであまり人を褒めない。感想の手紙とか来てるんだろ、読ませてくれよ、と頼んだこともあったんだが、Mは、お前には絶対に見せない、という。お前みたいなタイプは調子に乗るから、下手に褒められると慢心するだろ、と続ける。
確かに自分は調子に乗るタイプだ。けど、調子に乗るからこそ、それが、次の本への原動力になる。漫画を描く、という、好きな作業以外の部分にも、なんとか、力を注げるのは、調子に乗るからなんだ。
そう自分の側の気持ちを説明してみたんだが、話なんて自分から湧き出てくるもんだ、人の感想なんか関係ないだろ、とやはり取り合ってもらえなかった。つくづく、Mと自分はタイプが違いすぎた。それは最初から分かっていたが、まさか、こんなことでまで言い争うことになるとは思わなかった。
やはり、甘ったれていたのだろう。
結局、それきり同人誌から足を洗った。同人誌を作る気力はもう残ってなかった。同ジャンルの人間にもあいたくなくなった。つまり、逃げたのだ。つくづく非コミュだと思う。
その後、しばらくして、別のジャンルに興味が出て、そっちにすっころんだ。だけど、やっぱり誰かと一緒に本を作るのはもうこりごりだと思った。だからといって一人でまた本を作って……という気力もやっぱりなかった。
いつの間にかパソコンが普及していた。これだったら本を作るほどの労力がかからないな、と思った。ホームページビルダーを買ってきて、自分のホームページってやつを作った。絵はそこで発表した。
なんて楽なんだろう、と思った。感想も、たまに、本当にたまにメールで来る、それで充分だった。一ヶ月に一通のメールでも、二ヶ月に一通のメールでも、とにかく直接、感想を読める。それがどれほどの原動力になったことか。
そのホームページも、仕事で責任のある立場になり、そこにかける時間がなくなって、結局、閉鎖した。そうして、じょじょに絵も描かなくなった。一人きりのまま、結局、自分には何も残らなかった。
絵が上手くなって嬉しかった。それも本当だ。けど、上手くなったからって、世界は何も変わらないんだってことも分かった。自分は非コミュのままで、やっぱり一人きりだ。いまは仕事だけが生きがいみたいになってる。
なぁ、どこで間違えたんだろうな?