「rdb」を含む日記 RSS

はてなキーワード: rdbとは

2014-08-01

http://anond.hatelabo.jp/20140801103446

うむむ、NOSQLかいうあたりですか?>ハッシュ

RDB脳のまま、かなり業界ブランクあるので、とんちんかんな事いってたらすみません。)

サンデープログラマ的にもじょもじょしてみたいとおもいます

コメントありがとうございます

もし今ないのであれば、大学関係に閉じている専用の検索エンジンみたいなものはあっても良いのではないかなー

なんて、思ったりもします。

誰か作ってくれたらよいのに。(ちょさくけんはほうきします!)(←)

2014-06-04

http://anond.hatelabo.jp/20140604150117

C#でもVB.NETでもLINQを使うときには、結局RDB的な考え方をするからね。おのずとNullableな変数必要なシーンがでてくるわけだ。

http://msdn.microsoft.com/ja-jp/library/bb738687.aspx

条件式 FALSE=FALSE と NULL=NULL での違いも、NULL の存在意義かも。

http://anond.hatelabo.jp/20140604124849

trueとfalseはともかく、nullの意味自明な場面(あるいはfalseとnullの違いが自明な場面)ってそんなに無いでしょって。

変数名で示せるなら教えてって。

RDB関係無いし。

プロジェクト全体で取決めしてるならいいかもしれないけど。

http://anond.hatelabo.jp/20140604115818

もしあなたスリステート感覚を知らぬ、はいといいえしか概念を持たない人物なら、そもそも使わないほうがいいよ(RDB を触ったことないひと?)。一緒に仕事してて同僚に無理して使ってくれと頼まれたわけでもないんでしょ?3-stateの真似事をしたいなら、せいぜい System.Windows.Forms.CheckState でも使いまわしたら?ってことね。

http://anond.hatelabo.jp/20140604115017

もしあなたスリステート感覚を知らぬ、はいといいえしか概念を持たない人物なら、そもそも使わないほうがいいよ(RDB を触ったことないひと?)。一緒に仕事してて同僚に無理して使ってくれと頼まれたわけでもないんでしょ?3-stateの真似事をしたいなら、せいぜい System.Windows.Forms.CheckState でも使いまわしたら?ってことね。

2014-03-06

http://anond.hatelabo.jp/20140306121554

たぶん元増田の疑問というかニーズみたいなものはこんな感じかね。

RDBでも良いから程ほどにゆるくやりたい → Sqlite

データ構造に柔軟性を!変化を! → XMLDB

整合性には目をつぶるから大量に速く → NoSQL

階層型の需要はどうなんだろうね。

言い出しっぺの法則で是非実装してみてほしいw

http://anond.hatelabo.jp/20140306115841

多対多のデータは確かに冗長になりそうだし、処理するためのコードも長くなりそう。

RDBはその点、データ原子性は保たれるし、SQL比較的短く書けるので品質も問題が出にくい。

でも、そうしたデメリットをさっ引いても、技術者要求レベルが低く済むメリットはあると思ったので。

http://anond.hatelabo.jp/20140306114908

RDBXMLDBですかね。

どっちが良いという話ではなく。

階層DBいいじゃん

ファイルシステムディレクトリのような木構造データを格納するのは、RDBに比べたらデータ構造人間には超分かりやすいし、検索にかかる時間も簡単に見積もれるし、そもそも高速で動くし、CPUメモリも少なく済む。

確かにRDBのWHERE句に相当する部分はいちいちプログラムで実装しないといけないけど、必要な処理はどれもこれも定型的で、一度覚えてしまえば非常に楽できそう(テンプレコード用意しといて、システムに応じて微修正してコピペすればいい)。

即ち、誰でも素人からプロになれるというか、プロになるまでのコストが低いので、人材育成の面でも有利。

と、これほどまでに良いことづくめなのに、なんで廃れたのか意味が分からない。

逆にRDBデータ構造合理的なんだろうけど、人間にはとても分かりにくいし、パフォーマンスも加味した適切なテーブル設計が出来て効率いいSQLを組めるレベルの人となると、もはや適性の問題になってくる。

要するに向いてない奴にはいくら教育しても全く身につかない。一人前になれる人間が限られると言い換えてもいい。なかなかデキる人が出てこない。

そんな高度人材(?)が確保できていることが前提のDBってどうなのよ。

2013-12-04

http://anond.hatelabo.jp/20131204161949

RDBジョーク飛ばすくらいだったら、eXist-dbとかXindiceとかのXML DBジョークを言ったほうがまだ笑いがとれるんじゃない?

2013-11-12

http://anond.hatelabo.jp/20131110094304

> 複数言語何となく使えるよりは

>「Javaしか使えませんがJavaなら極めてます

>「PHPしか使えませんがPHPなら極めてます

>「Pythonしか使えませんがPythonなら極めてます

>と胸を張って言える人のほうが重宝できる

今どきAjaxもないレガシーWebアプリ作ってる人ですか?

1つの言語に強いのはいいことだけど、その枠内でしか考えられないから発想の飛躍ができない。

それにWebアプリサーバサイドのプログラムだけじゃなくミドルウェアApache, tomcat, RDB, KVS etc)や

インフラネットワーク物理的なサーバ)が組み合わさって1つのwebアプリを構成してるんだからJavaPHPだけできたってなんの意味もない。

まぁ自分仕事だけ完璧にこなして他の領域の人と協調しないのならそれでもいいんだけどね。

1つ強いものを持ってた上で、その隣接領域もある程度知ってることも大事だよ。

2013-06-06

アラサーニートがはじめてのweb serviceを作ってみた

概要

http://hakohako.me/

hakohakoは、バンド好きのためのライブ日程共有サービスです。ツイッターフォローしている人のライブ日程をカレンダー形式でお届けします。ちょっとでも気になるバンドを見にいきましょう!

すみませんgoogle chromeしか検証していません。

動機

3つあります

一つ目は、一人でスクラッチで作りたいからです。プログラムを書くことは楽しいです(たいしたものはかけませんが)。しかし、デザイン運用のことは苦手で経験不足でした。これを期にやってみようと思いました。

二つ目は、少しでも気になるバンドを見逃したくないからです。不精なこともありますが、すべてのバンドをチェックできません。いつのまにか来てたりとか、来る前に解散してました。バンドの魅力は、小野ほりでい先生も認めてます

三つは、就職したいから!

構成

一人で小さくwebserviceを作るためにはどうしているかを他の人にも書いてほしいため、自分から書いてみます


言語pythonで、web aplication frameworkはflaskを使いました。rubyphpよりpythonが楽だと思いました。flaskはmicroframeworkで、rubySinatraと似ていて、小さいアプリ作成するのに適していました。

永続化のところは、redisを使いました。結果、redisを使った何かになってしまいました。。。mysqlでもpostgresでも、rdbを使った方がよかったです。ただ、sessionの管理message queueを実装できるので、そちらで功を奏しました。

amazon ec2microで、nginxもuwsgiのreidsもworkerも動かしてます。dot cloudも試していたんですが、無料枠は4月末で終了してました。

デザインが苦手なので、bootstrap、bootswach、font awesomeを使いました。しかし、基礎ができてないためイケてない感があります。ノンデナイザーズブックを読んで出直してきます

javascriptも苦手なので、coffeescriptを利用しました。pythonを使っているせいか、書きやすいし読みやすいです。mvcframeworkは利用していませんが、modelview意識して書きました。

githubgitの代わりに、bitbuckethgを使いました。私にはgithubgitの敷居は高かったようです。bitbucket日本語で利用できるので、楽ですね。hggitよりも複雑なことを感じないです。ただ、gitの方が日本語ドキュメントは多いです。

gruntは、lessとcoffeescriptコンパイルで使いました。リアルタイムで変更を通知するlivereloadも併用しました。

感想

楽しいです!

聞きたいこと
最近オススメバンド

2012-03-24

簡単なクローラ作るならPythonだよ!

http://d.hatena.ne.jp/nishiohirokazu/20120323/1332504404

最近Webクローラクライアントを作るお仕事が増えた。WebクローラクライアントというのはHTTP(S)を介して様々なファイルダウンロードして解析し、結果を溜め込むだけのプログラムであるボットともいう。

クローリングの規模が大きくなると、クロール処理部と結果貯蓄部を分離する必要がある。クローラには様々なものがあるが、ものによっては特定のサーバに集中的にクローリングを行うこともある。このとき、1つのIPを使って集中的にクローリングを行うと、攻撃とみなされ一瞬でbanされてしまう。そこで、一見するとまったく関係なさそうなIPを複数確保し、それぞれにクローラーを仕掛けて走らせるのである

結果貯蓄部は、要するにデータベースサーバであり、何を使用しても良い。クロール処理部とのやりとりに使用するプロトコルRDB依存プロトコル(MySQL Socketとか)でもHTTPでもなんでもいいが、とにかくクロール処理部が解析した結果を随時溜め込めるようにしなければいけない。逆に言うと、まぁ、口さえできるのであれば何を使用しても良い。

問題は、クロール処理部に何を使用するかである。おおまかな要件は次の通りである

これらの要件を満たそうとすると、ぶっちゃけJavaPythonくらいしか選択肢が無い。

JavaPython
HTTP(S)HttpURLConnectionかApache HTTP Clienturllibかurllib2
環境依存Write once, run anywhere (VM最初からインストールされてるのはSolarisくらいのものだが、どんなOSでも大体はすぐインストールできる)UNIXであればほぼ標準で入ってる、Windowsインストーラも用意されている
キャッシュ機能JDK6にDerby標準搭載Python 2.5からsqlite3標準搭載

JavaPythonの違いは山ほどあるが、簡単なことをやらせるだけならPythonJavaよりも使用メモリが少なくなりがちなので、そういう場面であればPythonは(現時点においては)最強の座に君臨すると考えられる。

余談であるが、私が本当に好きなのはPerlであり、

という条件下であれば何の迷いもなくPerlを使っていたであろう。畜生

2012-01-18

Python vs Ruby vs PHP vs Haskell プログラミング言語バトル part1

 

42 : デフォルト名無しさん : 2011/11/12(土) 23:53:51.20

Pythonの方が弄れる対象が多いのに、なんでウェブ系だとPHPの方が流行ってんだろ

端末からテキスト処理も楽だし、数値計算周りのライブラリも充実しているのに

PHPが優遇されているのって歴史的な経緯以外に何か他の理由でもあるのか?

けどまぁ、情弱文系SEが大半を占めているバカだらけの日本じゃ別にPHPで困ることもないか

45 : デフォルト名無しさん : 2011/11/13(日) 01:41:24.25

数値計算や端末からテキスト処理なんてWeb系じゃ大して使わないからなあ…

43 : デフォルト名無しさん : 2011/11/13(日) 00:04:23.30

PHPが未だに現役なのは、単に歴史的な経緯でしかないだろ

Pythonに関しては、ZopeさえコケていなければWebサーバLLとして大成功していたはずなのに、

Railsなんかが登場したおかげで、すっかり影が薄くなってしまますた....

44 : デフォルト名無しさん : 2011/11/13(日) 00:49:55.28

zopeってコケてたんだ

ってか、railsインスパイアされたフレームワークって今じゃ幾らでもあるよね

djangoとかCakePHPとか。rubyってRoRを使いたいユーザを除くと、

pythonPHPの方がユーザー数は圧倒的に多いと思うんだけど

本家railsって、他を遥かに越えるほど良いものなんだっけ?

48 : デフォルト名無しさん : 2011/11/13(日) 08:30:25.68

44

Zopeが登場した当時、RDB+PHPはもう古い、これからOODB+ZopeWebの中軸になる!」

さかんに宣伝され、雑誌でもZope特集が組まれていた

 

少なくとも自分ZopeからPythonという言語を知ったし、その時点でRubyは知らなかった

そして、その後のORM(RDB)+Railsの出現と華々しい革新性への注目は、誰もが知っているだろう

今でもZopeの開発は継続されてはいるが、結果的に当初の期待が大きく裏切られたという事実は動かしがたい

 

djangoCakePHPについては実際に触っていないので憶測になるが、おそらく技術水準ではRailsと同等だろう

しかしRailsはRailsコミュニティの活動が活発だし、その進化は異常に早い

 

Railsに何か致命的なトラブルが発生して開発が停滞する、あるいはdjangoCakePHPから

何かのイノベーションが提示されでもされない限り、後発のdjangoCakePHPRailsに追いつくのは無理

Railsは決して技術的に完璧Webフレームワークではないんだけどね....(たとえばSeaSideのような.... )

 

からこそ「もしもZopeが....だったなら」という「たら・れば」感はPythonコミュニティの潜在認識になっている

51 : デフォルト名無しさん : 2011/11/13(日) 12:55:40.83

 C a k e P H P は う ん こ   

遅い、設計が古い、動作がおかしいの3重苦

日本では流行ってないけど海外だとYiiが流行ってきてる

55 : デフォルト名無しさん : 2011/11/13(日) 17:31:12.14

CakePHP使ってんの?

可哀そうにw

53 : デフォルト名無しさん : 2011/11/13(日) 14:44:48.55

求人PHPばかりだからPHPやるしかないだろ。

57 : デフォルト名無しさん : 2011/11/13(日) 19:34:04.95

でもやっぱりいつもの使い慣れたLL(Python/Ruby)で

Webサービスを書きたいってのがある

73 : デフォルト名無しさん : 2011/11/15(火) 17:32:46.07

アメリカ言語ユーザー数は

Python>>>>>>>>Ruby

求人数は

Ruby on Rails>>>>>>>>Django

http://www.indeed.com/jobtrends?q=django%2Cruby+on+rails&l=

どういうことなの?

74 : デフォルト名無しさん : 2011/11/15(火) 17:48:15.59

RubyRails以外に使い道がないか

75 : デフォルト名無しさん : 2011/11/15(火) 17:54:35.50

海外ではRubyは昨今のRailsバブルのお陰で

もはやWebスタートアップ共通語になってるらしいからね

求人数が多いのはそのためだと思うよ

76 : デフォルト名無しさん : 2011/11/15(火) 18:03:23.05

なんかのミスかと思ったがアメリカでもRuby on Railsは人気があるのかなあ・・・

Pythonのほうが使いやすいと思うのだがフレームワークRailsが優位なんだろうか

77 : デフォルト名無しさん : 2011/11/15(火) 18:23:14.33

Djangoは周辺ライブラリ微妙だし本体も鈍くさい感じがする。

でも、FlaskはSinatraより好きだからPythonが嫌いってわけではない。むしろ好き。

 

ただ、いざ作り始めるとやっぱりRailsが楽だなあってなって、Railsを使い続けている。

78 : デフォルト名無しさん : 2011/11/15(火) 18:38:46.28

同感だ

同じように思っている人が他にもいて安心した

79 : デフォルト名無しさん : 2011/11/15(火) 18:54:37.13

PHPJavaScalaには

Railsみたいなフレームワークあるのに

Pythonはいいのないんだよな

80 : デフォルト名無しさん : 2011/11/15(火) 21:19:09.89

PHPフレームワークが乱立しすぎているから、RailsPHPで実装してみようというやつが出てきた。

Scalaも注目されだしたのはつい最近のことだしな。

それに比べてPythonは、Zopeというデファクトスタンダードが既に存在していたけど、

つの間にかフェードアウト

ただ、どうやってもRailsもどきRailsを超えることはできないのは間違いない。

83 : デフォルト名無しさん : 2011/11/15(火) 21:25:38.55

パクリオリジナルを超えられない(キリッ って定型句だけど、

これってキリッって言いたいだけだと思う。

後発品が先に出たものを超えたものなんていくらでもあるから

84 : デフォルト名無しさん : 2011/11/15(火) 21:30:04.39

D言語って超えたって?

85 : デフォルト名無しさん : 2011/11/15(火) 21:31:12.00

B言語って超えたって?

86 : デフォルト名無しさん : 2011/11/15(火) 21:53:33.76

でもRailsRubyの黒魔術を使いまくりから

PHPで同じ事をできないわけではないだろうけど、Ruby on Railsほど簡潔にはできない

90 : デフォルト名無しさん : 2011/11/15(火) 22:50:07.81

スタートアップなんて根無し草の集まりにとって、

googleが囲った言語coolさを見出せないんだろ

123 : デフォルト名無しさん : 2011/11/20(日) 11:32:16.79

まあくだらねえWEBサービス作って喜んでる情弱は早く死ねって事だよ

91 : デフォルト名無しさん : 2011/11/15(火) 22:52:42.98

そういう理由じゃなくてRailsのほうが単純に情報プラグインも多いからでしょ

3 : デフォルト名無しさん : 2011/11/15(火) 23:07:07.67

linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん

わざわざ不合理で不完全な言語を使うなんて

社会からハミ出た奴らの精神的な作用によるものじゃないの?

95 : デフォルト名無しさん : 2011/11/15(火) 23:20:20.21

django情報プラグインが増えないという、

現実に対する鬱憤を吐いてるようにしか聞こえないな

もしも

linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん

真実であるのなら、今頃はdjango情報プラグインが溢れかえっているはず

104 : デフォルト名無しさん : 2011/11/16(水) 01:20:49.05

Python信者乙。

yumや、gdbgnome拡張pythonであるからといって、それをwebアプリでも使いたいと思う人は少ないというだけのこと。

ソースからインストールする必要があったとしても、web開発ではrubyを使いたいという人が多いというだけのこと。

94 : デフォルト名無しさん : 2011/11/15(火) 23:15:11.93

というか、世界中Pythonプログラマが Remeber Zope!! を合い言葉

打倒RailsたるWebフレームワークを開発しているはずだけど、

いまだにRailsを超えるプロダクトが登場しないのはナゼ?

Railsも登場してから、かなりの年月が経過しているんだけどなぁ....

その間にもRailsRails 3が登場して、REST/AJAXの強化等の進化継続しているよ

347 : デフォルト名無しさん : 2011/12/09(金) 10:16:35.22

Ruby では

ary.map {|x| x**2}

となるものが、Python では

map(lambda x: x**2, ary)

となり、lambda の本体が1つの式では表現しきれなくなると

def mapper(x):

.....

map(mapper, ary)

書き換える必要があります

348 : デフォルト名無しさん : 2011/12/09(金) 10:24:20.94

Pythonのlambdaを用いた階乗計算

f = lambda x:(x and f(x-1)*x)or 1

RubyにはPythonのように「lambda本体は式でなければならない」という限定がありませんから

andやorを使った不自然記述をしなくても

f = lambda{|x|if x == 0 then 1 else x*f.call(x-1) end}

または

f = lambda{|x|x == 0 ? 1 : x*f.call(x-1)}

と書けます。lambda内でreturnが使えますから、書きたければ

f = lambda{|x|if x == 0 then return 1 else return x*f.call(x-1) end}

でもOKです。

390 : デフォルト名無しさん : 2011/12/10(土) 15:35:41.62

348

これはPythondisっているように見せかけてRubydisっているのか? と一瞬思ってしまったw

だってRubyのほうが長くない?CLのfuncallみたいなcall()がちょっとうざいし…

そしてどっちもlambda式の中で束縛変数名前再帰可能、と

350 : デフォルト名無しさん : 2011/12/09(金) 11:12:13.28

要素に対する関数適用と、抽出を組み合わせる場合

Python

print [x*2+100 for x in [1,2,3,4,5] if x > 2 and x < 5]

暗号のように見える。

Ruby

puts [1,2,3,4,5].select{|i| i > 2 and i < 5}.map{|i| i*2+100}

思考の流れと、コードの流れが一致しているので書きやすい。

351 : デフォルト名無しさん : 2011/12/09(金) 11:22:55.04

だれだPythonなら書き方はひとつとか言ってるのは

map(lambda x: x*2+100, filter(lambda x: x > 2 and x < 5, [1,2,3,4,5]))

354 : デフォルト名無しさん : 2011/12/09(金) 12:22:07.37

pythonて可読性が高いのをうたってる割にはそこいまいちだよね

353 : デフォルト名無しさん : 2011/12/09(金) 12:10:08.46

Ruby場合には、左から右へと無名関数データフローあるいは

パイプラインのように並ぶからコードが読みやすい

 

関数型プログラミングに不慣れな初心者でも、参照透明性のあるコード自然に書ける

プログラマにとって優しい or プログラミングの楽しさを教えてくれるのがRuby

 

それと比較すると、Pythonコードは、関数型プログラミングというもの

いかに高度で難解なものであるかという事をもったいぶってプログラマ押し付け

 

もしもPythonしか知らないプログラマであれば、関数型 = 難解 という印象を持つだろう

356 : デフォルト名無しさん : 2011/12/09(金) 12:53:45.66

階乗計算くらいだと単純すぎて、ナゼ重要なのかが分かりづらいと思うのでコードで示す

result_list = source_list.map { |elem|

  x = foo(elem.x)  # ここが局所宣言を書く部分

  y = bar(elem.y)  # ここも局所宣言の続き

  x + y       # 最後に評価された式の値が、無名関数のリターン値になる

}

Rubyでは、map等に与える無名関数の中で局所的な環境(クロージャ)が作られるから

x = foo(...) のような代入文がいくつでも(= 複雑な処理でも)書ける

このポイントは、実用的なプログラム関数型風で書こうとした時に、威力を発揮する

357 : デフォルト名無しさん : 2011/12/09(金) 12:59:21.07

余計分かりづらくなった

358 : デフォルト名無しさん : 2011/12/09(金) 13:17:26.54

リスト内包表記が暗号みたいと言ってる奴は

高卒ドカタなんだろうなぁと可哀想になる

大学数学に触れる機会があれば

集合の表記に似せてることが分かるから

386 : デフォルト名無しさん : 2011/12/10(土) 01:41:34.46

数学とかで慣れてるし区切りが関数のがわかりやすい

359 : デフォルト名無しさん : 2011/12/09(金) 13:46:31.97

355

map/filterはfor/ifと同じだと言っているだけだから、難解という印象は持たない。

関数型プログラミングに慣れた、あるいは得意な人であれば、そういった印象なんだろね

Rubyの魅力はこれから関数型プログラミングを学ぼうとする初心者、 あるいはそんな初心者へ教える立場から見た、優しさ or 分かりやすさなんだ

360 : デフォルト名無しさん : 2011/12/09(金) 13:53:28.85

Rubyだと直感的に書けるコード

[1,4,3,2].sort.reverse.map{|x| x.to_s}.join('-')

Pythonだと読みにくい。

'-'.join(map(str, reversed(sorted([1,4,3,2]))))

361 : デフォルト名無しさん : 2011/12/09(金) 14:07:17.88

360

Pythonでは思考の流れと一致しないばかりか、「カッコだらけ」のコードになると.....

364 : デフォルト名無しさん : 2011/12/09(金) 14:28:55.99

カッコだらけのコードを分かりやすくする基本的な方法静的単一代入じゃないか

Rubyのやり方は基本ではなく玄人のやり方だろ

372 : 369 : 2011/12/09(金) 16:21:03.82

Pythonでは組み込みの型でメソッドチェインはやって欲しくないな

listにmap,filterメソッドができたとしても、

似たようなコレクションtuple,deque,array,queue等にも同じメソッドが必要になってくるし。

シーケンスプロトコルの利点が活かせない。

383 : デフォルト名無しさん : 2011/12/10(土) 01:17:28.39

372

外部のライブラリでも列挙可能なものは、たいていEnumerableモジュールをimportしてます

Rubyユーザーは列挙可能なものmapselectできて当然だろって思ってる気がしま

377 : デフォルト名無しさん : 2011/12/09(金) 18:41:51.79

Pythonは「何かを便利に書くためのしわ寄せ」をはっきり寄せてくる

得意と不得意を言語レベルではっきり主張するのでメリケン好みと言えなくもない

Rubyは全方位になんとなく八方美人なので、全体的になんとなく書きやすくてなんとなくキモくて遅い

379 : デフォルト名無しさん : 2011/12/09(金) 18:48:52.27

Pythonユーザー調教っぷりは異常

「書きにくいってことはその処理に向いてないってことだから諦めろ」を地で行く

387 : デフォルト名無しさん : 2011/12/10(土) 13:40:40.74

リストの内包表記はシンプルに書けるときは使うけど

基本その場でdefするのがPython風なんだと思う。

389 : デフォルト名無しさん : 2011/12/10(土) 14:40:31.04

無名関数が文を使うほど複雑なら名前を付けるのが Python 流と想像

384 : デフォルト名無しさん : 2011/12/10(土) 01:23:49.48

outer(center(inter( arg )))

これを読みづらいと感じるのは、左から右に流れる

日本語文に慣れているからだと思うが、

もしかしてアラビア語ネイティブな人からすると逆に読みやすいのか?

385 : デフォルト名無しさん : 2011/12/10(土) 01:34:57.89

なるほど、ということは右から左、左から右どっちでも行ける言語が最高ですね

F#パイプライン演算子最高ということで

2011-12-21

Oracle DB Express Edition は 他のPCから接続可能。MS SQL Server Express はだめ

俺が最初に扱ったRDBOracle 8i か 7。

DBってこんなもんか...と思ってたけど、インストーラのヘコさにあきれまくる。

その後 Microsoft SQL Server 2000 の手軽さを知って、こちらにどっぷり。

で、ずっとSQL Server

そこそこの使い方ならどっちのDBも十分使える上に、Oracleは「くだらない」お作法大杉。(Oracle Master の為?)

クエリー実行計画が図解でわかりやすい、バックアップやアタッチが超楽。

サポート(修正パッチなど)も料金込みのMSのほうがトータルで安価だし、CubeやReporting Serviceなどもコミコミで使える。

言語関係もMS SQL Server のほうが良くできてる。

SQL Server のStandard Editionだけでなく、無償版であるExpress Edition も使っているが、

残念ながらこれは外部のPCから接続できない制限がある(はず)。

同じく無償版のOracle DB 11g Expressがあるが、こっちでは他のPCから接続できた。

Universal Installer は相変わらずjavaでできてるからUIヘコいけど、

「くだならい」設定項目がだいぶ減って楽ちんでインストール完了。時代進化した。

.NET Framework(OLE DB)で外部からPC接続ホスト名、ユーザー名、パスワード接続文字列で指定するだけで、あっさりOK。

tnsnames.oraとかいじることはもう無くてよいのだろう。

sqlplus懐かしいぞ、ちょっとOracle回帰してみるか...

2011-08-18

http://anond.hatelabo.jp/20110817212958

いや、これは厄介な職場に入ったね・・・

俺もいろんな部署転々としたけど、やっぱり歴史のある仕事してるところは古いスタイル仕事してたよ

 

で、改善方法だけど

今はただ、ネット越しに見つめるRDBAPIxp正規表現アジャイルRailswikiがまぶしい。

てな感じで、腰をすえてやればできることはいっぱいあるかと思う。

古いスタイルの部署・会社は、その分スケジュールタイトではなく、業務に変更が少ないので

遠大な計画を立てることで一人だけでも結構大きい改革ができると思うんだけど

どうでしょ?

2011-08-17

プログラミングが好きな少年IT企業に入ってはいけない

とぼくはおもう

とくに組み込みゲームSIは(この順に)歴史が古い

注意しなければならないのは、IT系一口にいっても、サブジャンルは腐るほどある点だ

Joel Spolskyは5つに分けていた

ソフトウェア開発には、しばしば交わっているがたいていは分かれている、5つの世界があると思う。その5つとは:

http://local.joelonsoftware.com/wiki/5%E3%81%A4%E3%81%AE%E4%B8%96%E7%95%8C

そして、これらのIT企業が、最先端システム開発をしているかというと、そんなことはないのである

ぼくの会社のばあい

30年前に作ったホストシステムに、

10年前に作ったクライアント接続して、

50年前からある言語コーディングしていたりする

ましな会社のばあい

VisualBasic5と6の互換性と格闘していたり

ファイルサーバに空き容量が無くてローカルに退避する作業に一日費やしたりする

「打ち合わせご希望日を添付のエクセルシートに記載の上ご返信ください。なお、ファイル名は”社員番号_指名_記載日付”の形式でお願いいたします」

みたいなメール日常に飛び交っている

現場のやっていること

ほとんどの現場が、方眼紙状にしたエクセル印刷して、判子をつく(客の都合でもある)

そんな作業ばかりしているし、本質的コーディングの作業は1割もないのだ

そのような企業が、最新のシステム開発なんて出来るわけがない

SI企業IT企業と嘘を付くことで、何が起こるのか

そしてプログラム好きの少年

夢打ち砕かれ

人月計算Excelスーツ世界へゆく

http://anond.hatelabo.jp/20070831005830

俺は80文字×32行の緑文字を見つめながら、遠い夢を見続ける。

今はただ、ネット越しに見つめるRDBAPIxp正規表現アジャイルRailswikiがまぶしい。

2011-07-13

proxycfg.exeVista以降は netsh から設定

http://www5.ocn.ne.jp/~m-shin/windows/windows-vista-proxy.html

WinHTTP(AutomaticUpdateなどが利用)へ、IEプロキシ設定のインポート

netsh winhttp import proxy ie

なるほど...と言いたいところだが、

マイクロソフトさんは、どうも方法を変えたがるなぁ

proxycfgコマンドを残して内部処理だけ変えるってのも、

何かの理由があって嫌だったんだろうな。

むしろ、IEとWinHTTPとで設定が混在するような設計を避けてほしかった。

似た例とすれば

W32TMのNTP設定とGUIの時刻同期設定も微妙に別だし。

開発チームが分散していて統一設計が苦しいのかもしれないが、

不具合(MSさんは仕様と呼ぶ)の温床になる。

RDB正規化 1fact1placeを見習ってほしいもんだ。

2011-03-29

http://anond.hatelabo.jp/20110329165329

RDBのテーブル設計は、速度が問題ないなら正規形にするに限るが、PHPerは正しく使おうとしない。

http://anond.hatelabo.jp/20110329150439

RDBは、なるたけ簡単に構成する方がいい。

SQLが難しくなるなら、どこかが間違ってる。

典型的PHPerの13の悪癖

PHPerの問題点は、視野が狭いこと。典型的には以下のような悪癖を持つ。

何も知らないかPHPを愛せるんだよ、PHPerは。だからまず、HTMLCSSJavaScriptSQLを覚えろ。次に、Javaに移行しろ。そんなに難しくないよ、Java。特に大量にコードを書けるPHPerは、速度が出てライブラリ化が容易なJavaの方が向いている。今はVPSがあるので、小規模案件でも問題ない。

15年間ほどPHPインターネットを支えてきたが、そろそろ設計の脆さが問題になっている。PHP 6の開発が振り出しに戻ったのは、不幸な事故はない。ウェブ仕事をしていれば、PHPJavaで共通する知識も多い。PHPerはJavaを覚えてPHPさよならしろ。そして恥ずかしい悪癖を直すべきだ。

2010-01-25

StackoverflowレベルトラフィックRDBでも大丈夫なんだから普通の人はKey-Value Storeなんて一生使う機会無いつーの。

2009-12-20

ビジネス・生活-1

日本でしか生きていけないと将来破滅するリスクがあるので、世界中どこでも生きていける戦略のご紹介

あなたは、日本依存症にかかっていませんか?

日本依存症とは、日本でしか仕事を得られず、

日本でしか生活ができなくなる、危険病気です。

日本依存症は、国家依存症の一種であり、会社依存症とよく似ています。

会社依存症の恐ろしさとその回避策

会社依存症とは、ある特定の会社でしか通用しないスキルばかり蓄積して、他の会社では通用しない人材になってしまう病気です。

会社依存症にかかると、その会社経営が悪化して、どんどん待遇が悪くなり、給料を下げられ、「このままここにいても、少しもいいことがないまま年を取っていくだけ」という状況になっても、ひたすらその会社にしがみつくしかなくなります。

また、会社の都合で延々とつまらない仕事をさせられたり、いまいち納得のいかない降格や減給をされても、なかなか拒否しにくくなります。

上司や同僚と相性が合わず、人間関係がこじれてギスギスした雰囲気になり、毎日会社へ行くのが憂鬱になっても、そこに居続けるしかありません。

なぜなら、その会社を辞めると、ほかに行くところがなくなり、路頭に迷ってしまうからです。

このため、このことがよく分かっているエンジニアなどは、その会社の独自製品や独自環境でしか通用しないスキルしかたまらないような仕事をできるだけ避けるようにします。

そして、「広く普及しており、かつ中長期的に需要があり、供給が不足ぎみで、かつ陳腐化しにくいスキル」を戦略的に蓄積します。

たとえば、以下のようなものが考えられます。

・要求分析、要求仕様定義システムアーキテクチャ設計RDBスキーマ設計サーバの負荷分散設計、各種サーバパフォーマンス解析・チューニングデザインパターンマルチスレッドプログラミングシステム管理ネットワーク管理

マネージメントプロデューサ・デザイナ・経営者・営業・顧客との交渉スキルや連係プレースキル

普遍性の高いコンピュータサイエンスの基礎

UnixRDB正規表現JavaPerlTCP/IP.NETC#

日本にはたくさんの会社があり、それぞれが浮き沈みを繰り返しています。

いまいる会社が今後もずっと浮いたままだという保証はありません。

一つの会社依存しきると、その会社が沈むとき自分まで一緒に沈んでしまい、酷い目に会います。

いまいる会社が沈みそうになったら早めに別の会社へ移れるように準備しておくべきではないでしょうか。

国家依存する危険

国家に対しても同じことが言えます。

政府は全ての国民幸せにするような政策を実行するべきですが、必ずそれに成功するとは限りません。

ときに間違った政策を行い、多くの犠牲者を出すこともあります。しかも、その犠牲者を救済するための政策が実行されないこともあります。

もっと最悪なことに、間違った政策で、国全体が沈んでしまうようなことすらあります。

もちろん、そうならないように、われわれは選挙で正しい政策を実行してくれる政治家投票すべきですが、常に正しい政策を実行してくれる政治家自分選挙区から立候補してくれるとは限らず、自分以外の人々が常に正しい政策を実行してくれる政治家投票してくれるとも限らないというのが、世の中の現実です。

だから、どんなに自分が正しい政治行動を取っていても、おかしな政策が実行され、自分の将来が危うくなるリスクは常に存在します。

たとえば、金持ちばかりが得をし、平均的な労働者搾取される最悪の格差社会になってしまうかもしれません。

あるいは逆に、今後スキルアップし、キャリアアップし、実力を身につけて高い年収をゲットしようと思っているのに、高額所得者所得税が大増税されて、酷い搾取に苦しむようになるかも知れません。

あるいは、少子化対策で、実質的独身税をかけられたのと同じような状態になり、結婚するつもりも子供を作るつもりもない人たちの生活の質がかなり落ちるかも知れません。

あるいは、国の医療システムが疲弊しまくって、まともな医療サービスを受けられなくなるかも知れません。あるいは、まともな治療を受けようとしたら、恐ろしく高い料金を徴収されるようになってしまうかもしれません。

あるいは、地方格差を埋めるため、都市部の住民を徹底的に搾取し、地方にじゃんじゃんばらまくような政治が行われるかもしれません。そうすると、田舎に住む人間の暮らしはよくなるかもしれませんが、今後も都市に住み続けるつもりの人間の暮らしの質が大きく低下するかも知れません。

あるいは、非正規雇用を減らし正社員を増やすという名目で、おかしな規制がかけられ、予期せぬ副作用が出て逆に多くの人が職を失うことになるかも知れません。余波で、自分まで失職するかもしれません。残された正社員自分に酷いしわ寄せが来るかも知れません。

労働者保護消費者保護という名目で、過剰に企業の手足を縛るような規制がかけられて、企業の活動が阻害されて経済が悪化したり、企業がどんどん日本から逃げ出すかも知れません。雇用が減り、治安が悪化し、日本が住みにくい国になるかも知れません。

要するに、投資において、全ての資産を一点がけするのが危険投資戦略であるように、自分の生活基盤となる国家を一カ所だけに限定してしまうのも、極めて危険な賭なのです。

今までは日本世界一豊かな国だったので、

この国にずっと住み続けるのが一番賢い戦略でした。

しかし状況は変わりました。

いまや日本よりも豊かな国や都市がどんどん生まれつつあります。

日本などよりも、はるかに先行きの明るい国や都市がたくさんあります。

本来、この惑星には、たくさんの国家があり、それぞれ浮き沈みを繰り返しています。

いまいる国家が、今後もずっと浮いたままだという保証はありません。

一つの国家依存しすぎると、その国家が沈んでいくとき、酷い目に会います。

いまいる国家が沈みそうになったら、早めに別の国家に移れるように、準備しておくべきではないでしょうか。*1

国家依存症愛国心は別の話

こういうことを言うと、「おまえに愛国心はないのか?」と言い出す人間が時々いますが、依存症愛国心とは別の話です。

これは、結婚において、夫を愛していることと、夫に依存することが異なるのと同じことです。

経済的にも精神的にも自立していることと、夫を愛することは両立します。

夫婦仲は冷め切っていて、夫の暴力に怯えながら暮らしているにもかかわらず、夫に経済的に依存しているためにガマンし続けているような状態は、とても健全だとは言えません。

むしろ、特定の国にまったく依存していないにもかかわらず、その国を愛し、その国に貢献することこそ、純粋に打算抜きの愛国的な行為なのではないでしょうか。

そもそも、「いろんな異性とつきあってみて、そのなかから最高のパートナーを見つけ出して結婚する」というのは、少しもおかしなことではありません。

「1人の異性しか知らず、最初につきあった異性と一生添い遂げなければならない」というのはいかにも古めかしい道徳観念です。これは国家についても同じことです。たまたま日本に生まれたからと言って、日本と一生添い遂げなければならないということはありません。

むしろ、さまざまな国に住んでみて、そのなかから、自分にいちばんあった国に落ち着き、添い遂げる、という人生も十分にありなのではないでしょうか。

日本以外にも快適に暮らせる国や都市はたくさんある

日本以外で暮らしたことのない人々の中には、日本だけが世界で唯一暮らしやすい場所で、日本以外には暮らしやすい場所などないと信じて疑わない人もときどきいるようですが、そんなことは決してありません。

むしろ、日本よりもはるかに、晴天の日が多く、気候が温暖で、からっとさわやかで、毎日気持ちよく暮らせる国や地域がたくさんあります。

食べ物も美味しく、人々も気持ちよく、街の各種施設も充実しており、遊び場所もたくさんある快適な都市世界中にたくさんあります。

どんなところでも、けっこう住めば都なのです。

また、日本以外の国は治安が悪くて暮らしにくいという偏見を持っている人もいますが、どんな国でも、きちんとした安全対策を講じ、危険地域に近寄らないようにすれば、それなりに安全に快適にくらせるものです。

それに、どうせネット環境さえあれば、世界中どこでも、twittertumblrmixiで遊べるし、ブログコメント欄クネクネすることもできるし、2ちゃんでだらだら過ごすことも出来るし、エロ画像ダウンロードすることもできるし、はてブ脊髄反射的なコメントを付けることもできるし、はてなスターを連打しまくって顰蹙をかうこともできるのです。

「わたしは(この国に生まれたというより)この惑星に生まれたのだ」という感覚を持ちながら生きるというのは、広々とした感じがして、なかなか気持ちの良いものです。

せっかくこの美しい惑星に生まれたのに、日本という小さな小さな島国に引きこもったまま一生を終えるのは、じつにもったいないことではないかと思えてきます。

依存症からの脱出は難しい

ギャンブル依存症アルコール依存症買い物依存症恋愛依存症セックス依存症、たいていの○○依存症は、そこから抜け出すのに苦労するように、日本依存症も、一度それにかかると、そこから抜け出すのにかなり苦労します。

簡単に日本依存症を抜け出す方法などありません。

また、タバコ依存症から抜け出すために、さまざまな方法があるように、日本依存症から抜け出すにも、さまざまな方法があります。

資産運用、または、プチ資産運用による脱日本依存

日本依存症から抜け出す一番効果的な方法は、実は、英語力をアップすることではなく、日本の外でも安定した収入源を得られるようにすることです。(もちろん、最低限の英語力は必要ですが)

特定の国家依存しない収入源を確保するわけです。

これに一番効果的なのが、資産運用で暮らせるようにすることです。

利回りのよい債権株式自分資産分散投資し、運用することは、どこの国に居住していてもできます。

日本国債株式資産運用していたとしても、日本に住んでいなければ運用できないということはありません。世界中どこに住んでいても、日本国債株式資産運用することは可能です。

それどころか、そもそも、日本国債日本株式資産運用しなければならないということはありません。

むしろ、全資産を円ベースに一点がけしてしまうと、今後円安が進んだときに、自分資産が大きく目減りしてしまうというリスクを抱え込むことになります。

資産は、全世界分散投資しておいた方が安全だし、世界全体の経済は、多少の波はあるものの、中長期的にはつねに成長し続けているので、正しくポートフォリオを組んで、世界中分散投資しておけば、それほどひどいことにはなりません。

だから、いったん資産運用で暮らせるだけの資産を蓄積してしまえば、日本依存症からの脱却はかなり容易になります。

ここで、「日本キャピタルゲイン課税の大増税を行ったら、資産運用では暮らしていけなくなるのではないか?」という疑問がわく人もいるでしょうが、そうでもありません。

まず、税金の徴収には、属人主義と属地主義の二つの方式があります。

属人主義とは、その人間国籍のある国に税金を納めること。

属地主義とは、その人間が居住している国に税金を納めること。

日本属地主義なので、自分が居住している国や地域税金を納めることになっています。

このため、日本キャピタルゲイン課税の大増税が行われたとしても、海外で暮らしている限り、影響を被ることはありません。*2

現在、属人主義を採用しているのは、アメリカフィリピンぐらいなもので、極めて例外的なケースです。

ですから、今後日本が属人主義に変更するリスクは、とても低いと思われます。

また、万一、日本が属人主義に切り換えたとしても、ある程度の資産を持つ人間国籍を与えてくれる国は、けっこうあります。

日本が属人主義に切り換え、さらにきわめて重いキャピタルゲイン課税をかけてきたら、単に国籍を切り換えればいいことです。

ただ、問題は、資産運用で暮らせるようになるほどの資産を蓄積することが難しい、ということです。

そのため、当面は、収入の全てを資産運用だけで稼ぎ出すのではなく、収入の一部だけでも資産運用で稼ぎ出すような状態を目指してみてはどうでしょうか。

資産運用というより、プチ資産運用です。

そうすると、日本がヤバくなったので、脱出して海外で職を得たのはいいが、最初のうちはまだ英語にも不慣れで、十分な収入を得られないというようなケースでも対応できます。

世界標準のITスキルによる脱日本依存

たとえば、前述のUnixWebRDBJavaPerl.NETC#など、世界中に普及している技術の場合、そのスキルを身につけることで、日本依存から抜け出すことができます。

また、これらに関連する要求仕様定義オブジェクト設計技術デザインパターンを適切に使いこなしたクラス設計プロジェクトマネージメントスケジュール管理なども、特定の国家依存しないスキルです。

これらのスキルを身につけたITエンジニアは、さまざまな国で職を得ることが出来ます。

実際、ボクの知り合いでも海外で働いているプログラマーがいます。

むしろ、日本よりも快適に働いているようです。

もちろん、これらの技術は、会社依存症から脱却するための技術としても有効で、きわめて安全性の高い技術だと言えます。

これらの標準的なITスキルは、このように、会社国家を超越して有効ですが、それ以上に驚きなのは、かなりの長い時間をも超越する力を持っているということです。

たとえば、unixの基本アーキテクチャはボクが知っているだけでも十数年、ほとんど変わってません。マルチスレッドプログラミングデザインパターンも十数年前に身につけたスキルは、かなりの部分、いまでもそのまま役に立ちます。はるか昔に覚えた、クロージャ再帰を使ったさまざまなプログラミングテクニックも、RDBスキーマ設計スキルも、ほとんどが、いまだに現役です。

TCPUDPIPHTTPSMTPPOPなどのプロトコル類もいまだに基本はほとんど変わりません。新しく登場した.NETC#にしても、過去にマスターしたスキルにほんのちょっと上積みしたぐらいのわずかな薄皮でしかなく、いままで蓄積した基本スキルはそのまま通用します。Haskellのような関数型言語ですら、似たようなコンセプトのプログラミングアーキテクチャは昔からあり、十数年前にマスターした技術の延長線上でなんなくマスターできます。

このように、長期的に安定した技術スキルを選んで身につけるようにすれば、会社国家時間を超えて、安定した収入源を確保できるのです。

ただ、注意しなければならないのは人材の需給バランスです。とくに、インドや旧共産圏からのプログラマの大量供給は要注意です。

一方で、ヨーロッパBRICsVISTAなど、世界中で急速に経済が発達しており、ITエンジニア需要が今後も全世界的に巨大化し続けるのは確実です。

ここでのポイントは、下級エンジニアや中級エンジニアは、需要はそれほど拡大しそうにないのに、供給は膨大になると思われるので、リスクが大きいということです。

つまり、下級エンジニアや中級エンジニアの場合、海外に行くと、日本にいたとき以上に悲惨になる可能性があります。安易に日本から出て行くべきではないでしょう。

一方で、上級エンジニア技術分野にもよりますが、今後、世界中で爆発的に需要が拡大することが見込まれていますが、供給が不足する可能性は十分に考えられます。

従って、自分が今後上級エンジニアになる可能性があると考えている人たちは、この戦略に沿って日本依存症から脱却しておいたほうが良い可能性が高いです。

あと、もう一つ考慮すべき点は、上級エンジニアになるような人は生産性が高いため、今後、高額所得者になる可能性があるということです。

現在日本では、格差是正の機運が大きく盛り上がっています。

今後、この機運の盛り上がりに押されて、高額所得者を狙い打ちする形で大増税が行われ、酷い搾取の対象にされるリスクもあります。

このリスクに対する保険という意味でも、早めに日本依存症治療し、いつでも仕事と生活の場を海外に移せるようにしておいた方が安全かもしれません。

●スモールビジネスによる脱日本依存

日本人海外で暮らしてみると、さまざまな小さなニッチビジネスのチャンスに気がつくことがあります。

たとえば、日本にはあって当たり前なのに、その国にはない商品やサービス

それは、日本のやり方を現地方式にアレンジすれば、それなりに繁盛する商売ができるかもしれません。

あるいは逆に、その国のおもしろい商品やサービスで、アレンジすれば日本でもウケそうなもの。

もしくは、現地の安い人件費を利用して、何かを作らせ、日本に持ち込むというパターンもあるでしょう。

実際、ネパールに小さな工場をもっていて、そこで自分デザインした服を作らせ、日本に輸入して販売しているという女性に会ったことがあります。

こういうビジネスネタをみつけたとき、スモールビジネスを興すスキルを持っていると、そのチャンスを活かして、その国で商売をはじめることができたりします。

とくに、最近急速に豊かになったアジアの国々では、日本がかなりブランドになっています。

とくに富裕層は、日本のさまざまな質の高い品々やサービスを求め、日本の産物に信仰のようなものを抱いています。

これをうまく利用することで、いろいろなニッチビジネスを作り出すことができるかもしれません。

スモールビジネススキルとは、小さな会社向けのマーケティングマネージメント、経理などのスキルです。

たとえば、どんな小さなビジネスでも、どんな商品を、どんな顧客に売るのか、そのために、商品にはどのような魅力がなければならないのか、顧客は、どういう理由でその商品にお金を払うのか、どのようにして利益が出る構造になっているのか、などのビジネスモデルを組み立てなければなりません。

そして、いざ、ビジネスプランが出来たら、場合によっては人を雇い、契約を結び、信頼関係を作り上げ、法律に則って取引しなければなりません。関係者全員が気分良く仕事できるように、win-win構造を作り出す必要があります。

また、さまざまな法律を調べ、その法律に則ってビジネスを運営する必要があります。

さらに、会社を設立し、会計ソフトで帳簿を付け、経理と資金の管理をする必要があります。

また、予算計画を立て、融資なり出資なりで資金を調達する必要もあります。

こういう小さなビジネスを最小限の規模ではじめてみて、いざ、顧客の反応が上々だったら、しだいに規模を拡大していけばいいのです。

思ったより反応が悪ければ、早期に撤退するか、あるいは、やり方を変えて再度トライしてみたりすればいいでしょう。

そして、スモールビジネス醍醐味は、たまたま大ヒットしたときのうまみです。

日本サラリーマンの頂点とも言える、上場企業社長年収でも、たかだか4000万円にしかなりません。

これに比べ、スモールビジネスをヒットさせた場合、実質的年収1億円を優に越えてしまうということは、それほど珍しくないのです。

実際、ぼくの知り合いにもそういう人がいます。

「たかが自営業」とばかにできるようなもんでもないのです。

自営業は、あたると凄いんです。

●共通して必要な日本脱出アイテム

どのようなモデル日本依存を脱却するのであれ、共通して必要な Permalink | 記事への反応(0) | 22:10

2009-12-07

THE SIer

俺の住む世界はアイティーとやらに支えられているらしい。

アイティーに関われば、俺の住む世界をさらに素敵なものにしていけるに違いない。していきたい。

そう願って、何も知らなかった文系新卒の俺が金融系のシステム会社に入って、もう一年以上が経つのだ。

昔、お遊びでゲームを作ったことはあった。RPGツクールなんかが好きだった。

だから自分システム会社に向いていると思った。

実際、資格取得を勧められて始めた勉強は楽しかった。

浮動小数点数オートマトンSQLスタック、木、論理式。

パズルみたいで楽しかった。コンピュータの中身が理解できて、わくわくした。

楽々と基本情報技術者資格を手にし、半年後にはほとんど勉強もせずにソフ開も取得した。

研修課題では同期の誰よりも速く、短く効率のいいソースを仕上げた。

現場に出て、本番機に触った。

30年間親会社を支え続ける偉大なシステムの中身を、わくわくしながら覗いた。

そこには、俺の求めていた世界とはまったく違うものが広がっていた。

俺が産まれる前から、入れ替わり立ち替わり何人もの手によって継ぎ足されたロジック

何千行にもわたって、似たような処理が何回もひたすら繰り返される似たようなモジュール何十本。

1993年に行う臨時処理のロジックが、今もコメントもなしに埋め込まれている。

仕様がわからなくなれば、キャビネへと走って、黄ばんだ方眼紙鉛筆で書かれた仕様書を探し、

そして修正履歴のみが書かれているのを確認して肩を落とす。

上司は俺に仕事をくれた。

半年後に臨時で行われる業務に対応するため、いくつかのモジュールについて、処理可能なユーザーコードひとつ、条件に加える。

与えられた期間は2週間だった。ずいぶん長いなと思った。

何枚もの設計書を書いた。つまり、方眼紙状のExcelテンプレートに同じ文章をコピペした。

追っていったモジュールはどれも、ヒープもソートメモリ管理論理演算も出番がなかった。

あるのはただ、IF文とMOVE文とばかりだった。ソースの難易度は使われている命令の数とは関係ないことを学んだ。

テストデータを作るため、階層DBを何回も辿ってデータアウトプットさせるモジュールを書いた。資格試験で学んだSQLは、無用の知識だった。

協力会社への仕事割り振りやユーザー対応に毎日忙しそうだった上司が、夜遅くまでの残業続きでくまのできた目を皿のようにして設計書をレビューした。

2日後、承認が出た。フェーズ設計から開発に移った。

ロジックを丸々コピペしてソースを修正し、コンパイルし、実行した。

コンパイルエラーが出た。

2週間はあっという間だった。

俺のせいで、半年後以降は使われないロジックソースにまたひとつ増えた。

今回の対応については、Excel方眼紙レポートをまとめて共有ドライブに入れておいた。

だが共有ドライブ検索には時間がかかるし、Excelシートの中身となれば検索から漏れることも多い。

きっと誰にも読まれないだろう。

バイト文字が使えない関係上、原則、ソースにはコメントはあまり入れられない。

数年後の新人はきっと、俺の書いたモジュールを見て「このロジックは何だ」と首を捻るんだろう。

数年後の俺はきっと、今回のレポートを共有ドライブから探し回って新人パスを教えてから、

協力会社管理に追われる作業に戻って目の下にくまを作るのだろう。

俺がやりたかったシステム開発って、こんなものだったのか。

俺は部署の中で、俺の望む仕事を探し続けた。

先輩たちは忙しくて誰も興味を持ってないけど、自動化できる作業はいくらでもある。

よく使われるExcelシートを改造し、定例作業をクリックだけでできるようにした。

ExcelVBAとはいえ、書いていて心地よかった。引数が明確な関数変数スコープと全角文字があったからだ。

COBOLで打つプログラムより、控えめに見て100倍くらいの生産性を発揮できていたと思う。

先輩たちは喜んでくれたが、ただし俺の仕事を、あまり仕事とは見なさなかった。

それでもよかった。業務時間外は俺は相変わらずスクリプトを書いていた。とても楽しかった。

VBAから入って、WSHなんてものを知り、やがてJavaScriptを学び、ネットで資料を探し、はてなを知り、はてブWeb技術についての記事を読みふけった。

知れば知るほどに、どんどんCOBOLが、メインフレームが嫌いになっていく。

先輩は誇らしげに言う。システムはたいしたことをやっていない。業務知識こそが大事なのだ。

ユーザーより詳しく業務を理解し、適切に提案し、設計する能力

協力会社を率いて、わかりやすい文書で指示を行い、スケジュールを調整する能力

人を動かすぶん、責任も大きくやりがいもある。優秀な人材こそが我が社の強みだ。

そんな人材が育つよう、我が社は安定して働ける環境福利厚生を整えている。

ああ、そうだよ。先輩、あなたは正しい。

俺だってメインフレームの信頼性のすごさはわかってる。

密なユーザーとの関係から生まれるシステム子会社としての強みも認識してる。

それだけじゃない。社内環境も悪くない。給料もいいし休みも取れるし先輩は優しい。

ここは、いい会社だ。

けど駄目なんだ。

30年前のシステムを枯れた言語でツギハギする仕事じゃ、俺の心はやっぱり満たされない。

ユーザーの業務知識ばかり身につけたって、俺自身の人生には、いいことなんてない。

俺が求めていたのは、この仕事じゃないんだ。

社内の誰も、TumblrTwitterもやっていない。ライフハックなんて聞いたこともない。

Joostモバゲー2ちゃんねる社会に与える影響について誰も語れない。

休日ゴルフや酒に興じている。自宅にPCを持ってない人までいる。

おかしいことじゃない。普通の人たちだ。

それどころか彼らは、仕事プライベートを切り分けている、立派な人たちだ。

でも、やっぱり俺の生きていきたい世界は、ここじゃないんだ。

たぶん俺がいるのは極北なんだろう。

ここが、人月計算Excelスーツ世界というやつなんだろう。

俺は80文字×32行の緑文字を見つめながら、遠い夢を見続ける。

今はただ、ネット越しに見つめるRDBAPIxp正規表現アジャイルRailswikiがまぶしい。

2009-04-30

http://anond.hatelabo.jp/20090430000708

プログラミング言語は何でもいいから、RDBリレーショナルデータベース、Relational Database勉強したほうがいいよ。SQL

OracleとかMySQLとか色々あるけど、SQL言語覚えてればどれも大体は似ている。

RDBSQLですか。現時点ではよく分かってないのですが、勉強してみます。

もし勉強の参考になるページ知っていたら、教えていただければ幸いです。

あと、「SE交渉して安くする」っていうのは、相手先の会社に敵対的にならないように気をつけてね。最悪のケースは、交渉決裂→他の会社をあたってみる→他の会社エンジニアは、今のシステムを把握していないので、その分までこめて予算を出してくる→結局、今の会社よりも高い金額を払うことになる/気まずいけど、今の会社に再び頼むってことになりかねない。

なるほど、会社かえるとを引き継ぎ完了するまでのコストが発生するってことですね。

それを考えるとやっぱり今の会社に頼むのがいいのかな

ログイン ユーザー登録
ようこそ ゲスト さん