Pogoplug やめた。

なんか、いろいろと不具合が多い。

  1. uploaderアプリ(mac)の挙動がおかしい。
    ちょっとまとまったフォルダをアップしようとするとフリーズする。
    日本語翻訳がおかしいのかなんなのか、同期設定がうまくいかない。
    ウェブアクセスのアクティブコピーも、バックアップに名称がかわってからおかしいし。
  2. ファイルが読み出し専用になったまま、操作不能になった。
    多分、上のアプリのフリーズとかも関連してるのかも。
  3. HDDのファイルシステムが壊れた。
    しばらく、新しいファイルのアップができなくなっていたので、PogoplugからHDDを外して、USBで繋いでみたら上記のファイルアクセス権の他にも、ファイルシステム自体に故障が発生していた。
    結局、データをバックアップして、再フォーマットしなおすハメになった。
  4. そもそも、メディアスキャンに時間かかりすぎ。

Pogoplug は更新作業が苦手

ようやくPogoplugの運用方法が見えてきた感じ。

まず、Pogoplugの長所と短所をまとめて見る。

Pogoplugの長所

  • 外部からPogoplugに接続したUSBHDDにアクセスできる。
  • クライアントソフトを入れると、Pogoplugドライブをマウントできる。
Pogoplugの短所
  • ファイル更新の度に、インデックス更新(メディアスキャン)される。その間のアクセスが遅くなる。
  • 大量のファイルアップロードは、苦手みたい。
Pogoplugは、クライアントソフトを入れるとネットワーク越しにUSBHDDをドライブにマウントできて、ローカルHDDのように使えます。
ところが、これを調子にのって、ローカルHDDの拡張として使うと大変なことになります。
Pogoplugは、ファイルが更新されるたびに、ファイルをスキャンし、インデックス更新します。これは、メディア設定を全部OFFにしてても行われるようです。
さらに、このインデックス更新が、非常に遅い。
Dreamweaverのローカルディレクトリとして使おうと思うと、Dreamweaverのファイルスキャン後に、Pogoplugのファイルスキャンが始まり、しばらく使えなくなる。
それでも、サイト情報をネットワーク同期して、どこからでも最新のデータにアクセスしたいので、以下のように運用することに。
  1. メインの作業ディレクトリはDropboxに。
    現在進行中のプロジェクトファイルや、頻繁に更新されるファイルはDropboxを使用します。
  2. Pogoplugのアクティブコピー設定で、Dropboxを丸ごとPogoplugにバックアップ。
    Pogoplugのアクティブコピーは、同期ではなく、上書きバックアップ的な動作をします。ファイルの上書き方向が一方通行なので、更新自体は早いです。
    これで、最新の状態をPogoplugにバックアップできます。
    ※ローカルで削除したファイルはPogoplugに残るので注意が必要です。
  3. メインから終了した作業ディレクトリは、Pogoplugへ移動。
    Dropboxは、容量に限りがありますので、終了したプロジェクトファイルなどは、Pogoplugへ移動します。
もし、終了したプロジェクトのファイルを改めて編集する必要があった場合は、PogoplugからDropboxディレクトリへ一旦コピーをしてから、そのコピーされたファイルを更新します。終わったら、Pogoplugへ戻すのですが、Dropboxディレクトリなら、いつでもどのPCからでも作業ができるので、「戻し忘れ」を防ぐことができます。

Pogoplug 導入しましたん

手持ちのUSBHDDをNASに出来ちゃうっていうアレ。
従来のLANDISK的な使い方もいいんですけど、今回はクラウドストレージ的な使い方をしてみます。

というのも、クライアントさんからデザインやらメールで送られてくるんですが、メールサーバーの容量制限か何かで、送りきれないことがしばしばあるので、pogoplug の共有で直接コッチのHDDにアップしてもらおうってのが狙いです。

まずはセットアップ。

Pogoplug 本体には、電源、LAN、USB(×4)のコネクタがあります。
いきなり全部つなぐのは、地雷の雰囲気があるので、とりあえず電源とLANのみを接続!

事前に調べた情報では、Pogoplug はネットでアクティベートする仕組みなんだそうで、私のPogoplug にアクセスし、アカウントを作成します。
このへんは、ウィザードにしたがってポチポチしていけばOK・・・なはず。
!ところが、私の環境では、規約に同意する所のチェックボックスがチェックできませんでした。多分、javascriptの実装エラーなんだと思います。
何やってもダメそうなので、DOMをいじって、無理やり checked=”checked” に書き換えて送信っっ

これで、アクティベート完了です。
途中、USBHDDを繋いでくださいって出ますが、いきなり本番HDDをつなぐのは怖いので、手持ちのUSBメモリーを挿してみます。

しっかりというか、当たり前というかUSBメモリーの内容をブラウザから読み取ることができました。
もし、ここでUSBにつないだストレージのフォーマットとかやられたらどうしようかと思ったんですが、大丈夫そうです。

次に本番HDDの接続。
この本番HDD、mac用のジャーナル付きフォーマットなんですが、全く問題なし!
すんなり繋がってくれました。

こっからは、HDDの中身をサーバーにコピーするので、時間がかかります。
私の場合、容量180GBくらいでしたので、1時間弱くらいでしょうか。
待っている間に、クライアントソフトのセットアップをしておきましょう。

私のPogoplug の「ヘルプ・センター」から各OS用のクライアントソフトをダウンロードできます。
Windows、Mac、Linuxの他、各スマートフォンにも対応しています。
ですが、このクライアントソフトもなかなかクセのあるやつで、何をやっても自分のPCの共有フォルダはマウントするんだけど、肝心のPogoplug側(HDD)が見れないという。
再起動したり、再インストールしたりしてる間に、やっと見れるようになった。
実は、なんてことはなく、上のHDDのサーバーコピーが終わらないと、マウントされないみたいです。

とりあえず、今日はここまで。
ちゃんと今時のデバイスらしく、ローカルで繋がっている場合は、ローカルネットワークでアクセスしてくれるし、割と普通のLANDISK的な速度が出ています。
(外部アクセスは、PCをWimax接続して確認。こっちは、まあ、、仕方ないよねって感じ。)

これは、久しぶりに面白いデバイスだなあと思いました。
サーバーを専用に立ち上げて、管理するよりもコストかかんないし、いいんじゃないかな?

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からはじめてみるとおもしろいかも。