This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions..

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions..

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions..

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions..

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions..

Pages

2012年6月18日月曜日

VALUE DOMAINのTTLが120秒なのに

幾つかのドメインをVALUE DOMAINで運用していて、
TTLは120秒に設定している。

サーバー移転があったため、IPを変更したのだが、
どう考えても120秒で切り替わっていない。

少なく見積もっても30分は掛かっている。
前々から思ってたけど、ずっと謎だった。

今日、改めて調べてみるとVALUE DOMAINの説明ページにちゃんと書いてあった。

 「正常に変更しました」というメッセージが表示されましたら、設定完了です。変更が反映されるまで5~30分程度かかる場合があります。反映をお待ちください。
http://www.value-domain.com/howto/index.php?action=moddns

TTLは120秒だけど、設定に時間が掛かっていたのか。
何か納得いかないような気もするけど、謎は解けた。

今度からは気長に待つ事にしよう。

2012年5月28日月曜日

PHPのクラスプロパティでのヒアドキュメントについて

Parse error: syntax error, unexpected T_START_HEREDOC in (ファイルPATH) on line (行数)

こんなエラーが頻発してはまってしまった。

実際の処理行はこんな感じ

public $template =<<<EOF
test
EOF;

1ヶ月前に全く同じ書き方で他のプロジェクトで利用していたので、原因不明。。
と思って調べていたら、PHPの公式マニュアルにありました。


ヒアドキュメント構文を、クラスのプロパティの初期化に用いることはできません。 PHP 5.3 以降では、変数を含まないヒアドキュメントではこの制約はなくなりました。     
あー、この前のシステムは5.3だったのか。
今のは5.2だったや。

結局ヒアドキュメントを使わず書き直すはめに。
めんどくさ。

2012年1月14日土曜日

redmineで悪戦苦闘

redmineのメールリマインダ機能を活用する為にいろいろいじっているんだが、
エラーが出て上手く動かない。
手動では動作するのに、cronに設定すると上手くいかない。

エラーはこんな感じ。

rake aborted!
undefined method `requirement' for #<Rails::GemDependency:0xb7c31ad8>


うーん、なんでだろう。
ひとまず、バージョン等を公式にあるものとあわせてみよう

Redmineのインストール
http://redmine.jp/guide/RedmineInstall/



Redmineのバージョン Ruby Rails Rack
1.3.x ruby 1.8.6, 1.8.7 Rails 2.3.14 Rack 1.1.1
1.2.x ruby 1.8.6, 1.8.7 Rails 2.3.11 Rack 1.1.1
1.1.x ruby 1.8.6, 1.8.7 Rails 2.3.5 Rack 1.0.1
1.0.x ruby 1.8.6, 1.8.7 Rails 2.3.5 Rack 1.0.1
0.9.x ruby 1.8.6, 1.8.7 Rails 2.3.5 Rack 1.0.1
0.8.x ruby 1.8.6, 1.8.7 Rails 2.1.2


とりあえず、最新版の1.3.0にするとして、
rubyは


$ ruby --version
ruby 1.8.7 (2011-12-28 MBARI 8/0x8770 on patchlevel 357) [i686-linux], MBARI 0x8770, Ruby Enterprise Edition 2011.12

後ろにごちゃごちゃついているけど、とりあえずバージョンはあってるな。

次はRails

$ rails --version
Rails 3.1.3

うん、全然違う。

$ gem list

rails (3.1.3, 2.3.8)

とりあえず、消してしまおう。そして新しく入れよう

$ gem uninstall rails

Select gem to uninstall:
 1. rails-2.3.8
 2. rails-3.1.3
 3. All versions
> 3
Successfully uninstalled rails-2.3.8
Successfully uninstalled rails-3.1.3

$ gem install rails -y -v 2.3.14

INFO:  `gem install -y` is now default and will be removed
INFO:  use --ignore-dependencies to install only the gems you list
Fetching: activesupport-2.3.14.gem (100%)
Fetching: activerecord-2.3.14.gem (100%)
Fetching: actionpack-2.3.14.gem (100%)
Fetching: actionmailer-2.3.14.gem (100%)
Fetching: activeresource-2.3.14.gem (100%)
Fetching: rails-2.3.14.gem (100%)
Successfully installed activesupport-2.3.14
Successfully installed activerecord-2.3.14
Successfully installed actionpack-2.3.14
Successfully installed actionmailer-2.3.14
Successfully installed activeresource-2.3.14
Successfully installed rails-2.3.14
6 gems installed
Installing ri documentation for activesupport-2.3.14...
Installing ri documentation for activerecord-2.3.14...
Installing ri documentation for actionpack-2.3.14...
Installing ri documentation for actionmailer-2.3.14...
Installing ri documentation for activeresource-2.3.14...
Installing ri documentation for rails-2.3.14...
Installing RDoc documentation for activesupport-2.3.14...
Installing RDoc documentation for activerecord-2.3.14...
Installing RDoc documentation for actionpack-2.3.14...
Installing RDoc documentation for actionmailer-2.3.14...
Installing RDoc documentation for activeresource-2.3.14...
Installing RDoc documentation for rails-2.3.14...

どうやら入ったっぽい。

次はRack 何だろ、これ

下記サイトによると、サーバーとフレームワーク、アプリケーションの仲立ちをするような機能のようですね。
http://gihyo.jp/dev/serial/01/ruby/0023

とりあえず指定のバージョンをインストール
$ gem install rack -v=1.1.1

また、gemに関しても、
Rails 2.3.11(Redmine 1.2で必要)はRubyGems 1.7.0以降がインストールされていると利用できません。それより古いバージョンのRubyGemsを使用してください。
との事。

$ gem -v
1.5.3

これは大丈夫そうなんで、そのままでいいか。

そして、再起動。

・・
・・・
まったくお変りにならないエラーメッセージ。

その後、あれやこれやと試してみて
結局cronのPATHの問題でした。

手動でやったら動いて、cronに設定したら動かない。
普通に考えたら、そうよね。

とりあえず、エラーになったときに、
エラーメッセージをgoogleで検索⇒出てきた情報を一個ずつ試す
という事をやる前に、自分の頭で考えましょうという事。。





2011年12月16日金曜日

存在に対する承認

本日、コーチングに関する資料を読みましたが、
その中で特に目を引いたのが「存在に対する承認」という言葉

 存在に対する承認とは、ただ相手のあるがままを認めることである。
これによって、相手は自分の存在が認められたと感じ、働きがいを
感じられるようになるのだ。
深い。
あるがままを受け入れるというのは中々に難しい。
自分がつらい時、忙しい時にはついそっけない態度を取ってしまう事もあるだろう。

ただ、そういう時にこそ部下の重要なサインを見逃してしまう事が世の常。
マズローの欲求段階説でも、4段階目に承認の欲求というものがあり、
人は本能的に他人に認めてもらう事を必要としているとある。

人は人から認められて人として生きられるという実感が湧くんだと思います。

全てをいきなり変えるのは難しいから、まずは自分が出来る事から

  • 朝は元気にあいさつ
  • 帰る時も元気にあいさつ
  • 話す時には体を向けて人の目を見て
  • 何かしてもらったら「ありがとう」
  • 暗い顔をしている人には声を掛ける
  • 相手が話をしたら、まずは聞く
  • 必要なら叱る。その後に原因を話し合い、解決策を見つける

 小学生か!って言われそうだけど、
こんなんでも意外に実践できてなかったりする。

仕事が楽しい。
会社に来るのが楽しい。
まずは、そんな雰囲気を作るのが大切かな。

2011年10月31日月曜日

fgetcsvで文字化けしたその時に

PHP5でfgetcsvが正常に動作しない

おぉっ、あなたが神か。
ありがたく、使わせて頂きます。

2011年2月25日金曜日

ソーシャルゲーム開発の高負荷対策

http://ke-tai.org/blog/2011/01/28/snsgamesslidematome/
ここのスライドの内容から負荷対策に関して少しまとめてみた。

LAMP環境を想定
+memcachedとか

・DBへの接続切断は明示的に行う

・更新系、参照系でDBを分ける
但し、レプリケーション遅延なんて発生して当たり前。重要な参照は結局更新系から取得。

・KVSを利用する(ログイン時間管理とか結構どうでもいいような情報の負荷が糞高かったりするのに丁度いいらしい)

・キャッシュサーバーを効率的に利用する(使える所は使いまくれ。特に時間のかかるAPIのレスポンスなんか最適)

・Apache,MySQLのチューニングは必須(とにかくボトルネックとなりうる所は全てカリカリにするのだ)

・必ず負荷テスト及び過負荷テストを行う(公開3ヶ月後のユーザーデータを予測してDBに突っ込んでみる。もち本番環境で)

・ツールは大事。テストするにも監視するにも開発するにも。

・会員数数万程度を見越して作ったPGはNG

・スロースタートなんてありえない。最初から全力。でなきゃ、ずっと上には上がらない。

・WebサーバーやスレーブDBサーバーの複数台構成は当たり前。

・マスターDBの分散は難しいよねー。出来ない事無いけどとりあえずはスペックアップで耐える。
でも、最悪分散化する時の為に、テーブル構成は最初から分散を意識して構築

・レスポンスに5秒掛かった時点でアウト!プラットフォームから強制メンテモード突入のお知らせが

・サイト落ちた瞬間にユーザーは次のアプリへGo!二度と戻ってきません。

・DBの正規化はする。だけど場合によっては冗長化する。それが高負荷クオリティ。

・不要なカラムは持たない。どこかで使うかも~なんて設計の段階でちゃんと詰めとけ。

・保持するデータ量は最小限にする。(1日10GB単位でデータが増加するなんて普通という世界)

・期限が過ぎて必要なくなったデータは、さっさと削除
そして削除時のコストも考えておく(1000万レコード削除とか普通)

・インデックスは超重要!でも張りすぎたら超危険。

・LIKE検索とか馬鹿!っていうレベル

・SLOW QUERYは毎日チェック。即修正

・DBの負荷管理をどのように行うか考えておく。危険水域突破からの対策案も併せて

・トランザクションを開始したら、如何に早くコミット出来るかを考え抜く
トランザクション中に外部API呼ぶとか自殺行為

・APC(Alternative PHP cache)を利用する。むしろ使わないと馬鹿

・負荷対策は終わりなき戦い

・ユーザー数2000万超のプラットフォーム舐めんな

結構あったな。
もちろん、スライドショー内で全く言ってない事もチラホラ。
まぁそこは心の声という事で。

いやぁしかしほんとにネットワークエンジニアは尊敬するわ。
数十万の会員でもヒイヒイいうのに、facebookのネットワークエンジニアとかどうなってんだろ?

2011年2月1日火曜日

携帯コミュニティ事情

日本の3大コミュニティといえば、やっぱりmixi,モバゲー,GREEですが、
今まで色々と槍玉に挙げられてきました。

コミュニティといえば、人と人が出会う所。
人と人が出会えばそこにはいろんな軋轢が生じるのが世の常。
別に大人同士でイザコザが発生する分にはほっとけばいいんですが、
子供が絡むとそうもいきませんからね。

いい大人が年端もいかない子供相手に何してんだってなもんですが、
倫理観に訴えた所で、無くなるわけもなく。。

そこで出てきたのが携帯会社からの情報公開。
現在は携帯の契約での本人確認は厳しくなっており、その際には
勿論生年月日などの情報を記入する事になります。

今回の情報公開というのはSNS側に対してキャリア側から
未成年かどうかの情報を判断するAPIを提供するというもの。
(実際は指定年齢以上か未満かを返す)
これは、あくまでフィルター的な役割をするもので
誕生日などの情報は渡されません。

これによって、子供のふりして紛れ込むような輩を排除できるでしょう。
今はauのみですが、今後docomoやSoftBankも続くのは確実で、
コミュニティサイトが必要以上に悪とみなされる事も少なくなるかも。
(まぁ、いまだに無料!って謳ってるのはどうなのかなぁとか思いますが。)

非常に便利で、今となっては無くてはならないインターネット。
大金持ちを生んだり、自由主義を呼び込んだり、
たまには革命を起こしたりとしておりますが、
これからも、良いニュース悪いニュース出てくるでしょうね。

良いニュースが少しでも増やせるよう
私も力になれればいーなーと思います。

2010年7月25日日曜日

日本一の石段

昨日日本一の石段(3333段)とやらに登ってみたのだが、
上りと下り含めて約3時間という所でした。

上っている中で思った事は、長い直線があると
精神的に少しつらいなという事。
300段位の長い直線がドーンと目に入ってくると
どうしても「あーすごいきつそう」と思ってしまい
テンションがあまり上がらない。

逆に100段くらいしか見えてないと、
あの先どうなってるかな?とか
よし、あそこまでいったら少し休憩しよう
とか思えるんで、精神的に少し楽。

大きな目標がある時は、適切なマイルストーンを設定しましょう
とか、そういうお話。




-- 自分のiPadから発送する

2010年7月14日水曜日

広告の価値

テレビCMや新聞広告、雑誌広告など現在広告には
多数の媒体が存在するが、費用対効果の面でどれが一番良いのだろうか?

もちろん、商品の種類やターゲット層、エリアなど複数の要因が絡む事はわかっているのだが、何となく気になってみた。

最近広告で特に気になるにはデジタルサイネージ、電子広告だ。
単純にデジタルデータを流すだけではなく、
時間や曜日によって流す映像を変えたりする。
もっと言えばカメラで周辺を撮影し、その映像を解析して
最適な広告を流す何ていう事も技術的には可能かもしれない。

何かの映画の中で、駅を歩いている人一人一人をチェックし、
それぞれに最適な広告を出すような物があったかと思うが
その世界はもうすぐそこまで来ているのかもしれない。

ただ、どのような広告がその人に最適なのかというのも
一種の個人情報。
「あの人向けの広告っていっつも◉◉◉よね?」
な~んて言われる世の中怖い。


-- 自分のiPadから発送する

2010年7月11日日曜日

快適環境

androidアプリの開発をやろうと思い、
macbookに環境一式を入れてみたものの、画面が狭い。
さすが13インチ。

うーん、しょうがない。
必要経費という事でmini display port⇒DVIのコネクタやケーブル等を購入。
痛い出費となったが、結果には満足!
更にiPadをAir Displayを使ってサブモニタ化する。
うん、素晴らしい。


ただ、一緒に買ったiphone/ipad用のスタイラスペンは最悪だった。
これ、商品として売り出しちゃダメなレベルだろ。
見た目は悪く無かったのに…
やはり安物はダメか。
ひっそりと一個だけ置いてあったから、
おぉっ大人気なのかっ!
て思ったのに。

よし、明日からは節約しよう。


-- 自分のiPadから発送する