HPの相互リンクをラクラクにするサービスが新しくなります

昔、某SEO会社からの依頼で作った相互リンクシステムをリニューアルしてます。

もうね、何ていうか、ほぼ全てのコードを書きなおしてます。
自分で書いたコードなんだけど、数年の月日が経って今見なおしてみると「よくこれで動いてんなー」って気持ちになります。
それと同時に、自分の成長も実感できたりして、ちょっと嬉しかったりw

古いシステム(現在動いてる)の構造はこんな感じ。

index.php ←全てのアクセスはここに(!)

module_***.php ←リクエストに応じて適当なモジュールを読み込み。

functions.php ←全ての関数群(!)ライブラリー的な何かw

当時はMVCが何だとか、いまいち分かってなく、PHPのClassの使い方もあやふやだったので、全てのリクエストをifとswitchで切り替えて動作してました。
そして、まるで根気の塊のようなfunctions.php。全ての動作がこの一つのファイルに詰まってます。

今、考えたらアリエン仕組みです。

新しく書きなおしたらグッとシンプルになったよ。

一度、システムを稼動させているので、どこにウェイトがかかり、どこに無駄があるのか分かってきます。
そういう意味では、プロトタイプとしての役割を現在のシステムは果たしてくれています。

さて、リニューアル手順ですが。
まず、functions.php 内の関数群から、View相当とModel相当の部分を徹底的に分離しました。そして、次に重複するコードを分離&結合して、シンプルに再構成。

さらに、リクエストごとに必要なClass、関数を洗い出し、不要なコードを読み込まないようにControl相当部分を再設計しました。

結果、システム全体を構成するファイル数は増えましたが、リクエストごとのリソースは少なくなりました。

本当はユーザー配布側のスクリプトも新しくしたかったんだけど、現在のユーザーも新システムに引き継ぐということなので、配布側のスクリプトは変更なし。ただし、ホスト側では、スピードアップが計られています。

近々、公開できると思います。
以上、ちょい出しリーク情報でしたw

twitterとfacebookとGoogle+で、結局どれがいいの?

最初に結論を書いちゃうと、自分にあった(あいそうな)SNSサービスを使えばいいと思います。または、使わないという選択もありですね。

そこで、SNSを始めて見たいけど、どのSNSを使ったらいいか分からない。どんな特徴があるのか分からないという人向けに、私なりにまとめてみました。

今回、紹介するSNSはタイトルにもあるように、twitter、facebook、Google+の3つに絞りました。
他にも、いくつものSNSがあり、日本国内でいうなら、mixiやモバゲーといった大きなサイトもありますが、今回は見送ります。

まずは、各サービスの紹介。
twitter
140文字以内という制限があるほか、かなり自由に発言でき、閲覧も容易なSNS。
海外発のサービスでありながら、日本国内で 爆発的に支持されている。
サービスがシンプルな為、最もとっつきやすいサービスだと言えます。

facebook
世界最大のSNS。(ユーザー数的には後発のGoogle+が追い抜きそうだけど)
海外の学生向けSNSとして立ち上がり、次第に一般にも拡がった。
様々なアップデートやアプリの追加を得て、現在では非常に複雑、かつ多機能に進化している。その為、友達がいないと非常にとっつきにくい、その意味で言えばリア充向け。

Google+
Googleが先日、開始したSNS。見た目はfacebookにとてもよく似ている。
サークルと呼ばれる機能が特徴。
このサークルの仕組を理解することがキモ。

次に、各サービスでのデメリット。
twitter
オープンで自由な発現システム。
一応、クローズな運用も可能ですが、原則オープン。
その為、ちょっとした何気ない発言(ツイート)が炎上することもしばしば。
また、全ての発言・返信など全てのツイートがフラットなタイムラインに載るため、工夫しないと一連の会話を補足しにくい。(リスト機能や、ハッシュタグなど)

facebook
複雑なインターフェイス。
慣れてくると、全ての機能へのアクセスがページ一つで完結しいて使いやすいのですが、いきなり全ての機能へのリンクがあっても、初心者は何をどうしたらいいのかさっぱりとなってしまう。
ホームの「友達」をクリックすると「友達検索」、プロフィールの「友達」をクリックすると「現在の友達一覧」、という謎仕様。

Google+
ヲタクだらけ、まだまだこれからのサービス。
アクティブユーザーがIT系の人ばっかりで、敷居が高い。
あと、他のSNSの特徴を理解してないと、とっつきにくいかも。

ポイントは公開される範囲の把握。
SNSを始めて、気になるポイントは「自分の発言」が、誰に、どのように見えているかです。
誰に対して、発言が公開されているのか、自分の発言を誰が見ているのか(見られるのか)を把握することが、安心してSNSを利用するポイントになります。

twitter
フォロー、フォロワーの仕組みをきちんと理解しておくべき。
フォローは、特に気にしなくていいです。「この人の発言見ておきたいな」と思ったら「フォローする」をポチればいいです。
注意するのは、フォロワー(貴方をフォローした人)です。フォロワーの人は、貴方の発言(ツイート)を見ています。
そして、さらに注意するべきは、最近の新機能で、ある人の「フォローをしている」を経由して、貴方の発言がフォロワーのフォロワーからも見えてしまう場合があります。

twitterは公開当初、ミニブログと言われていたように、全てにおいて「公開」されていると考えた方がいいです。

facebook
プライバシー設定で、公開範囲を制限。
しかしながら、facebookの公開制限は「友達」と「友達の友達」、それに加えて個別に拒否する設定となります。

なので、「見せたくない人」がいる場合、その人のアカウントを知っている必要があります。もし、会社の上司のアカウントを知らないならば、公開範囲を「友達」のみにしておく必要があります。

Google+
facebookやmixiのブロック機能よりもより前向きに公開範囲を設定できるのがGoogle+のサークル機能です。
Google+では、発言の公開範囲をサークル単位で指定できます。
指定しない場合は、一般公開となり誰でも見れます。

サークルには、2通りの使い方があって、自分のストリームで見たい人たちの発言をフィルターする機能。それと、自分の発言ごとに公開する相手を選択する機能です。

facebookやtwitterが、後付けのブロック機能であることに対し、Google+では、予めサークルを作って、サークル内のユーザーに対してのみ発言できるということがポイントになります。

なんだか、Google+イチオシのようになってしまいますが、Google+は後発の為、まだユーザーが少なく、SNSとして面白みが足りないのも事実。
とにかく誰ともかれとも問わず拡がりたいならば、twitter。リアルなつながりを重視して始めるならfacebookからはじめてみるとおもしろいかも。

あなたは、タブ派?スペース派? HTML&CSS

HTMLやCSS、PHPのコーディングをしている時、ソースコードのインデントどうしてます?

(多分、)標準的なソフトでコーディングしていれば、タブでインデントされてると思います。

みなさんはどうですか?
タブ(またはスペース)に統一してますか。それともそのままでしょうか。

問題にしたいは、ネットからソースコードをコピペした時、インデントがスペース4個になってることが多くあります。そして、そのままペーストすると、一つのファイル内に、タブインデントと、スペースインデントが共存しちゃうわけです。

ブラウザの「ソースを見る」とかメモ帳で見る分には、どっちも空白なので、見た目にもほとんど違和感なく見れるし、本当にどっちでもいいって言えばどっちでもいいことなんでしょうけど、エディタで見ると、なんか気持ち悪いんですよね。

あと、タブの方が、1文字で表示されるので、なんとなくタブの方が軽いのかなとか思ってますが、どうなんでしょう。

こんなこと、どっちでもいいよって気にしない人も結構多くいそうですが、気になる人は、もう何ていうか、ざわざわしちゃってしょうがないと思うんですよ。
オープンソースソフトウェアの中身も時々、タブとスペースが混在していることありますしね。
もう、どっちかに統一しようよっ!って思っちゃうんです。

私の場合、Dreamweaverの「ソースフォーマットの適用」を使って、全部タブインデントに変換しちゃうんですけど、場合によっては、ページの半分位までインデントされちゃってさらに難解なコードになっちゃうこともしばしば(笑