SQL脳に優しいMongoDBクエリー入門

mongoコマンドから接続した際にオールドタイプ(SQL脳)たる我々人類にも 調べやすい形でinsert、select、updateを行う方法を調べました。 定義参照 // use [データベース名] use [データベース名] // show databases show dbs // show tables show collection…

MongoDBのリリース履歴を調べてみた

MongoDBを触っているとバージョン毎の機能差異が気になったので調べてみました。 ちなみにMongoDBは1.0、1.2、1.4・・・のように偶数のリビジョンが安定版で 1.7のような奇数は開発版となります 2009年8月 1.0GA版リリース そんな昔じゃないですね。 この時…

gitコマンドメモ

git

gitは「HEAD」、「インデックス」、「ワークツリー」状態が存在する。 addで「ワークツリー」の変更を「インデックス」に反映、 commitで「インデックス」の変更を「HEAD」に反映 変更反映 git add 全部変更 git add -u 一部変更 git add -p git commit差分/…

postfixのインストールと送信設定

内部のサーバから外部へメール送信(SMTP)の設定を行います。 POPに関してはSPAM対策がしんどいので自宅サーバでは設定しないSMTPを設定するに当たって気をつけなければならない点に「オープンリレーにしない」「OP25B」「SMTP AUTH」「SPFレコード」がありま…

細々した設定

Selinuxを切る # vi /etc/selinux/config SELINUX=disabled # init 6(再起動nfsを設定 (ちなみに利用するアカウントのuidとgidを各サーバで合わせる事を忘れない事) # mkdir -p /exports/home # chmod 777 /exports/home # vi /etc/exports /exports/home c…

xenのインストール

xenでCentOSをインストールしたときのメモなぜか、対話での入力ができなかったのでオプション指定でインストール # virt-install --nographics --paravirt ERROR A name is required for the virtual machine. (use --prompt to run interactively) # virt-i…

ntpのインストール

なんか毎回忘れてググルので時刻あわせのメモ # yum install ntp # date 2002年 1月 2日 水曜日 13:35:33 JST # ntpdate 133.100.9.2 28 Nov 17:54:03 ntpdate[5219]: step time server 133.100.9.2 offset 280988302.678879 sec # date 2010年 11月 28日 日…

iptablesの設定

コマンド 一覧表示 iptables -L 全部削除 iptables -F アクセス許可 iptables -A INPUT -p tcp --dport 80 -j ACCEPT ルールの保存 /etc/init.d/iptables save前提知識↓から使いそうなのを抜粋 http://linux.kororo.jp/cont/security/iptables.php INPUT 自…

xenコマンド メモ

起動確認 # xm list 起動 # xm create xen10 停止 # xm shutdown xen10 再起動 # xm reboot xen10 ゲストOSの自動起動 # cd /etc/xen/auto # ln -s /etc/xen/xen10 xen10 # chkconfig xendomains on コンソール接続 # xm console xen10

CentOS 5.5でkvmをインストール

11月中旬にRHEL6がリリースされました。 リリースニュースを追ってみると仮想環境はxenからkvmへみたいな事が書いて有りました。 結構前にカーネルに組み込みされて、kvmの開発会社がredhatに買収されていたので いずれ。。とは思ってましたが、そんな時が来…

memcacheのstatsコマンドメモ

有効期限前のデータがmemcacheから追い出されていたのでその時のメモ 容量が怪しそうなのでstatsでデータを見てみると $ telnet localhost 11211 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. stats 結…

catalystによるアプリ一覧の取得

今度はデータベースから先日作成したmixiアプリの一覧を取得して表示するまずはコントローラのひな型を作成 $ ./script/hoge_create.pl controller Top 「/home/hoge/lib/hoge/Controller/Top.pm」というファイルができる catalystは「http://mydomain.com/t…

catalystのインストール

前回アプリの一覧とランキングのデータの格納ぐらいまでやりました。 今度は表示側の処理を作成しようかなと思います。 今回はperlのMVCフレームワークであるcatalystさんを利用してみます まずはおもむろにCPANでinstallしてみる。 色々と依存モジュールの…

4. データを格納

解析した情報をデータベースへ格納するテーブル定義を考える クローラ管理の「crawl_control」 アプリ情報「mixi_app_info」(更新頻度低) ランキング履歴「mixi_app_rank_log」(更新頻度高)と分ける 利用者数とかは、2個所のテーブルで保持してます(ランキ…

3. データを取得

WWW::Mixi::Scraperにはmixiアプリを取得するpluginは入っていないので取得するpluginを自分で作成 pluginをパッケージを作成 /usr/lib/perl5/site_perl/5.8.8/WWW/Mixi/Scraper/Plugin下に「SearchAppli.pm」パッケージを作成する (パッケージ名は対象URLを…

2. 取得情報を検討

まずはmixiアプリランキングを眺めて 抜き出したい項目について考える。URL http://mixi.jp/search_appli.pl パラメータ mode new 新着 mymixi マイミクに人気 ranking ランキング category 1 ゲーム 2 エンターテイメント 3 コミュニケーション 4 つくる・…

1. 前もって準備するもの

perl mysql WWW::Mixi::Scraper(CPANモジュール)

mixi アプリランキングの取得

わざわざmixiページを見に行くのがものぐさだったので cronバッチでmixiアプリランキングを抜き出す事を考えた。

FFFTPに新たなセキュリティホールが見つかったらしい

作者さんのHPいわく http://www2.biglobe.ne.jp/~sota/ffftp.html [2010/01/30] FFFTPをお使いの方に重要なお知らせ Gumblarウイルスにより、FTP接続時のパスワードが抜き取られ、サイトが改竄される事例が多発しているようです。 FFFTPの利用者の方には、…

tracのインストール

続いてtracのインストール こちらよりソースをダウンロードする # cd Trac-0.11.5.ja1 # python setup.py install $ trac-admin /home/trac/hoge initenv apacheに設定を記述 PYTHON_EGG_CACHEはドキュメントルート直下に置いたらなぜか上手く動作しなかった…

subversionのインストール

subversionとtracをインストールした時のメモまずはsubversionをインストール # yum install mod_dav_svn subversion $ svnadmin create /home/svn/hoge $ svn mkdir -m 'first commit' file:///home/svn/hoge/trunk $ svn mkdir -m 'first commit' file:///…

symfony 1.0サポート終了のお知らせ

symfony1.0が世にでてからもう3年もたったようでサポート終了のお知らせが出てました。 http://www.symfony-project.org/blog/2010/01/27/3-years-after-symfony-1-0-last-release symfony1.1はサポート終了しておりダウンロードのリンクも結構前から抹消さ…

wide系IRCサーバが終了・・・と思いきや

IRC

捨てる神があれば拾う神がいるようで、 livedoorがwideプロジェクトに代わってサーバを提供してくれるようです。 http://blog.livedoor.jp/edge_labs/archives/1092902.html livedoorさんの事が好きになれそうです。

wide系IRCサーバ終了

IRC

http://www.wide.ad.jp/news/press/20100125-IRC-server-close-j.html によると下記WIDEプロジェクトが提供してる「irc*.ad.jp」系サーバは6月末までに終了してしまうらしい ・ irc.nara.wide.ad.jp (運用終了日:2010年2月10日) ・ irc6.nara.wide.ad.jp (…

XPERIA X10購入の迷い

待ちに待ったXPERIAが発表された。 動画などを見る限りにおいては動作速度など問題なく ドコモであることから回線速度も期待できる事でしょう。 唯一の購入を迷う点がandroid 1.6である事 HT03Aはドコモがandroid1.5→1.6へバージョンしてくれたし 今後対応し…

データ

ヘッダにトークンと↓に項目を付加してGETすると取得できる $http = new HTTP_Request('https://www.google.com/analytics/feeds/data', $option);$http->setMethod(HTTP_REQUEST_METHOD_GET); $http->addHeader("Authorization", "GoogleLogin auth=$token")…

認証

「ClientLogin」が一番お手軽そうだったの利用 ↓にIDとパスワード諸々を付加してGETリクエストするとトークンが発行されます。 $http = new HTTP_Request("https://www.google.com/accounts/ClientLogin", $option); $http->setMethod(HTTP_REQUEST_METHOD_G…

Google Analytics API

Google Analyticsでの日次のアクセスを眺めたかったが、 毎回ログインするのもめんどいのでバッチで取得してメール配信する事にした。 その際に、ちょびっと調べたメモ APIのマニュアルは英語「Google Analytics(Lab)」を参照 認証→データ取得する

IPアドレスの携帯判定処理について

携帯IPアドレスと携帯端末固有番号によるチェック処理を実装しようとしたけど 仕様上の問題でポシャりそうな感じなのでここにでも残す IPアドレスは各キャリアともHP上に公開されており、 ・docomo ・au ・softbank ・emobile ・willcom で、上記HPリストのI…

php 5.3 インストール

php

元々centosのphpのバージョンは5.1であり、むりくりyumでphp 5.2を入れてました。 しかし、pdoを利用しようと思ったところpdo_driverとpdoのバージョン違いがうんたら〜と 言われたのでがんばってみましたが、心が折れたのでphpをmakeで入れる事で解決を図っ…

mysql レプリケーション設定

まず、マスターとスレーブのサーバにmysqlをインストール # yum install mysql-server # cd /etc/init.d # mysqld start # chkconfig mysqld on # chkconfig --list mysqld マスター側の設定 # vi /etc/my.cnf [mysqld] log-bin server-id=1 レプリケーショ…

passengerのインストール

railsのウェブサーバは色々あるけどなるべくならapacheで 動かしたいので「Passenger」(mod_rails)を入れてみた。 残念なことにgitが入ってなかったのでインストール git install wget http://kernel.org/pub/software/scm/git/RPMS/git.repo -O /etc/yum.re…

perlbalのインストール

perlbalとはperlで書かれたロードバランサ兼リバースプロキシ兼ウェブサーバ なソフトウェアで、delegateとかよりも設定とか簡単です(個人的には)以前はapacheのリバースプロキシ機能を使ってバーチャルドメインで切っていたのだけど どうしても、同じサー…

railsのインストール

# yum install ruby ruby-devel ruby-libs rdoc gemはrpm管理されてないようなので↓から取得 http://rubyforge.org/frs/?group_id=126&release_id=11889 # wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz # gunzip rubygems-1.3.5.tg…

色々インストール

個人的に設定のメモ書きに利用していたブログが自家サーバの陥落と 共に失われたのでこれからこちらに書こうと思う。

09/05 テックデイ

PHPアプリケーションフレームワーク Agavi入門 面白そうではあったがはやらなそうなフレームワークでしたw PHP を見える化する echoなどのまさに表示する関数の紹介とxdebug関連の説明 echo print_r var_dump debug_zval_dump CakePHPストーリー 薄っすらな…

9/4 ビジネスデイ

↓の2つを見に行きました ビジネスデイなのであまり期待してなかったけど GREEの人の話は聞けてよかったです Oracleで加速させよう!PHPのビジネス活用 一言でまとめると amazon EC2で PHP+ oracle XEを使ってみませんか ソーシャルメディア GREE これは聞け…

PHPカンファレンスの感想

相変わらずアップが遅いけど暇なので更新

LL TVの感想というかメモ

そういえば、8/29(土)に中野ZEROでLightweight Language Televisionに行ってきました。 記憶のあるうちに感想的なイベントメモを残してみる 去年から行きはじめたイベントで元々プログラミング色の薄いイベントでしたが 今年は更に薄まっていた印象です。 1…

ruby on railsのピキっときた事

お知らせテーブルを作りたかったので 「information」という名前でテーブルを作りました。 するとscaffoldで作ったnew処理でエラーになります。 調べてみると、どうやらこの単語は単複同形らしい・・・・ Rails Wayによるとrouting.rbに↓の記述をすると乗り…

YAML形式でファイルに出力(perl)

YAML形式でのファイル出力に悩んだのでメモ 当初シングルバイトの文字列のYAMLだったので↓で動作していました。 use YAML::Syck; # ヘッダ行無し $YAML::Syck::Headless = 1; # クォート $YAML::Syck::SingleQuote = 1; DumpFile(FILENAME, \%data) or die $…

google developper day 2009に行ってきた

昨日は有給を使ってgoogle developper day 2009に行ってきました。 11:50、心なしか冷たい視線を浴びつつ会社を出発。 12:45に会場到着してみると受付での登録で長蛇の列、微妙にセッション開始に間に合わなかった 13:00〜13:45 Google App Engine - Life of…

ルーブル美術館展に行ってきた

そろそろ国立西洋美術館のルーブル美術館展が終わってしまうので行ってきました。 朝10時ごろ上野の大地に立つと人・人・人・・・ 雨の中、西洋美術館前には80分待ちの長蛇の列。少し迷ったけど並ぶことにした そして、司馬遼太郎の「対談中国を考える」…

phpの例外(Exception)について

例外について2点指摘を受けたのでメモ ・GETのパラメータに左右される値はクラスの内部でチェックして例外を投げるよりも クラスを呼ぶ前にチェックしてエラーとすべし。 ・適当な自分定義の例外を定義するよりもまずは標準の例外を使えるか検討しろ ちなみ…

MYSQLの罠

テーブルを眺めてたら懐かしい罠を発見したのでメモこんなデータが入ったテーブルがあります。 mysql> select * from SEARCH_TEST; + ID DESC1 DESC2 + 1 test test 2 TEST TEST + 2 rows in set (0.00 sec) 同じデータですが検索結果が異なります。 さてな…

謎な処理

まず↓を見てもらいたい $this->page = NULL; if( isset($_GET['page']) ) { $this->page = $_GET['page']; } $this->page = (isset($this->page)===false || (int)$this->pagepage)===0) ? 1 : $this->page; 他人が書いたコードであり意図も聞いてないので想…

XMLの要素に大なり小なり記号が入っている場合の対処

某社のAPIから情報を受け取るためのプログラムを書いていたのですが 解析が上手くいかなくて、悩んだので対応をメモ 最初、XML::Simpleでパースをしようとしましたが、なぜかパース結果の ハッシュリファレンスの構造が崩れてました。。 XMLが結構でかくて調…

web db vol 49を読んで覚えておこうと思った事

覚えておこうと思った事をメモ sedue 全文検索エンジン HTML::ExtractContent HTML文書を解析してくれるモジュール made in hatenaのようですね はてなキーワードAPI http://d.hatena.ne.jp/keyword/%E3%81%AF%E3%81%A6%E3%81%AA%E3%82%AD%E3%83%BC%E3%83%AF…

クリテリアでサムとイン

カタカナに直すとわけ解らないですねwsymfonyのCriteriaでSUMとIN句を使う方法のメモです。 $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn('SUM('.self::COLUMN1.')'); $c->add(self::COLUMN2, array('1','2'), Criteria::IN); $rs …

会社でうんこを漏らすビジネスマンにできるビジネスマンはいるのか?

ここを読んでの感想ですが 会社でうんこを漏らすようなビジネスマンにできるビジネスマンはいるのだろか? 個人的にはうんこ漏らす人ができるビジネスマンになる可能性はあるが できるビジネスマンはうんこを漏らさない気がする。 増田さんの状況でもできる…