codeHeadブログ

株式会社コードヘッド オフィシャルブログです。

Android版CouchDB

(※今回の記事は、エンジニア以外の方にはチンプンカンプンだと思います)

Androidアプリとして、CouchDB Developer Alphaが出ていました。

CouchDBって聞いた事ありますか?
スキーマレスのドキュメント指向型のデータベースです。
LotusNotesでの開発経験が有る方は、スキーマレスの良さを実感されていると思いますが、後から格納する項目が増えるとか、この項目は要らなくなったとなっても自由自在です。

少なくとも現状は、数値集計なんかは、あまり向いていないと思います。こちらは、従来からの、RDBを使う方が良いでしょうね。

数値集計が苦手と言っても、殆ど数値集計しない様な、単純にデータの保存に使っているシステムって、良く考えると意外と多いはずです。DB=RDBになってしまってから、頭が硬直してしまっていたのかも知れませんね。

あと、特徴として、レプリケーションが簡単に出来ます。rsync的な感じでサラッとできてしまいますので、上手くシステム設計をすれば、サーバーの引越しなんかはダウンタイム無しで出来るはずです。

Android版をインストールしましたが、futon(GUIインターフェース)もちゃんと動いていました。(まだアルファですが、意外と動きます)将来的に、Android端末内のCouchDBと、クラウド上のCouchDBとレプリケーションする構成も面白いですね。


--------------------
takahashi

我が家の仮想サーバー

弊社の社内サーバー、開発サーバーは、基本的に全て、Vmware ESXiで仮想化されています。
特に開発サーバーは、常に高負荷なわけでは無いので、結構な数の仮想サーバーが数台の実機上に載っています。もし、全て実機で用意したら?ポルシェが買えるかも??


と言う訳で、仕事でもドップリ仮想化のメリットを享受しているのですが、それに飽きたらず、自宅でも何年か前に、24時間稼働の仮想サーバーを構築してあります。

■家庭内ファイルサーバーとして
※ディスク障害に備えて、RAID1構成になっています(家庭用だとこれで十分)
 
■外部公開用のWebサーバーとして
自分用wikiを公開しています。技術メモなんかに使っています。
他、テスト、実験に使用

■VPNサーバー、SSHサーバー
※出先から、VPN接続出来ます。必要なファイルを自宅ファイルサーバーから取れるので便利です。当然、セキュアに運用しています。



自宅でサーバーを常時ONにするにあたって、カミサン対策は必須!!
キーワードは、省電力と、低騒音!!
我が家では、デュアルコアAtomで省電力サーバーにしています。又、ファンも低騒音のファンに変更してあり快適です。


個人用途だと、これで必要十分です。

ビジネス用途でも、ハードを信頼性の高いものに換えれば、比較的安価に社内ファイルサーバー、社内SNS等が構築出来ます。



--------------------
takahashi

X06HTのAndroid2.2対応はもうすぐ

SoftbankのAndroid端末、X06HT(HTC Desire)が2010年10月上旬に、2.2FroyoにOSバージョンアップする様です。



MMS対応も同時にするみたいですね。これで、softbank.ne.jpのアドレスと、絵文字も使える様になり、やっと、iPhoneと同じ対応状況になりますね。

2.2の目玉は?
■JITコンパイラによる高速化
■Flash10.1対応
■SDカードにアプリ保存が可能
■HDムービー

あとは、テザリング対応が挙げられますが、恐らくiPhone4と同じ様に、無効化されるでしょう。
本来は、今の版2.1でも、Desireって、テザリング付いているですが、Softbankが国内発売用に機能を削ってリリースしているんですよ。
もう少し、携帯向けに帯域が割り当てされると事情は変わってくると思うんですが、今のインフラだとパンクするでしょう。(ソフトバンクに限らず、どのキャリアでも)
帯域制限を掛けても良いので、デザリングさせてくれると良いのですが....全く使えないのと、遅くても使えるのは大違いですから。

又、あまり話題に挙がっていませんが、2.2では、Adobe AIR for Androidが動きます。


楽しみですね


--------------------
takahashi

「岡崎市立図書館問題」再燃!

「岡崎市立図書館問題」が再燃してるみたいですね。




逮捕されてしまったエンジニアの方には、心から同情します。
サイバー攻撃とされたアクセスも、Webシステムのアクセス数とすれば少ない方です。
これで、逮捕されたら、たまりません。

システム構築に携わってる者の視点から見ると、「この程度のアクセス数で障害になるシステムの方に問題があります」


感覚的にはこんな感じです
-------------------------------------------------------------------------------
「バスを作って下さい」と依頼して、乗客が8人乗ったら重くて止まってしまう。しかし、発注者は、自分は乗らないからわからない。苦情が出たら、エンジンをデカイのに載せ替えましょうと安易に提案される
-------------------------------------------------------------------------------


普通の感覚だったら、開発会社が訴えられる方ですよね。
これが、「毎日8人組でバスに乗ったからバスが止まってしまった」って利用者が訴えられたって事です。


今回のシステムは、図書館の蔵書検索ですので、大量のデータを扱います。これには、データベースシステムを使うのですが、検索速度を出すにはセオリーがあります。セオリーを適用出来る様な検索の場合は速度の問題は出ませんが、セオリーを外れる様な検索をする場合、設計上の工夫が必要になります。この辺りが、設計能力の差として現れます。そもそも、セオリーに則ってないのは、問題外ですが。

又、図書館の外部公開している蔵書検索サービスとして、何人位の同時アクセスを想定するかの、しきい値が、あまりにも低いのが、開発者の誠意を疑います。(動いているから良いでしょ?って感覚なんでしょうか)

悲しいかな、こんな開発者は意外と居るんです。。。。


ところで、
ツイッタって、毎秒何リクエストこなしているんでしょう?
実は、ブラウザで、ツイッタに繋いでいるだけで、かなりの数、サーバーへのリクエストが発生しています。(「新しいツィート・・・」って出す為に)

これを世界中のユーザー分同時にこなしているのですからスゴイですね。


--------------------
takahashi

どんな人がソフトウェアエンジニアに向いている?

以前、兄嫁に、私の仕事について話をした時、こんな話をした事があります。


「ソフトウェアエンジニアには、面倒くさがりの人の方が向いている」


一般的に、面倒くさがりな人には良いイメージがありませんね。
しかし、ソフトウェアの世界では、良い事が一杯あります。

例えば
■後で改造が入りそうだから、見越して、簡単に改造が容易な仕組みにしておく
 => 実際に改造が入った時に、楽に、早く、安価に出来ます

■同じような作業は、出来るだけ、自動化してしまう
 => 結果、効率的に、品質も良く作業出来る

■同じ事を実現できるなら、新たに作らないで、既に世の中に有るソフトウェア部品を使う
 => 結果、安価に、品質の高いシステムが出来ます

■リリース後に、何回もバグを直すのが面倒なので、最初にテストをキッチリ実施する
 => 結果、品質が高いものがリリース出来ます

■同じゴールにたどり着くなら、より楽で、リスクの少ないやり方を考える
 => 結果、楽に、早く、安く成果物が完成する。


なんか、いい事ずくめですね。


しかし、自分で自分のケツを拭かなくても良い環境にいる人の場合、必ずしも、上記は成り立ちませんので注意が必要です。本当にグータラで何もしない人になってしまいますね。

--------------------
takahashi
Calendar
<< June 2017 >>
SunMonTueWedThuFriSat
    123
45678910
11121314151617
18192021222324
252627282930
search this site.
tags
archives
recent comment
others
admin

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12