2009/4/18 土曜日

コストとか

Filed under: 技術メモ — dev0000 @ 22:21:27 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

どうでもよいこと。

ニコニコ大百科のアーキテクチャ

こういう優れた発想が出てきたのは、「そういう発想のできるエンジニアがいたから」っていうのも大きいのだろうけど、
でもこれって半分しか正解じゃないだろうな。
もう半分は「そういう試みを歓迎し、継続できる職場だから」ってところだろう。

一般的なシステム開発の現場ではこういう発想は出てこないのか。
でもそれは受託仕事であれば、どんなに高いハードを揃えてもクライアントの出費が嵩むだけで、自分達は関係ないってことも大きいだろうし、
もしも自分達のお金で自分達のサービスをやるのであれば、似たようなアプローチを模索するのではないだろうかね。

2009/4/14 火曜日

スーパーに憧れるとか

Filed under: 技術メモ — dev0000 @ 0:28:10 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

スーパーな奴等をロールモデルにしてもしょうがない

スーパーじゃないことを前提に回っている組織のほうが確かに多いのだが、
厄介なことに「スーパーに憧れて、それに一歩でも近づこうとする心構え」を前提にしている組織もあったりするので、厄介といえば厄介。

あと給与の高低とスーパーかどうかってのは確かにあまり関係がないな。

2009/4/13 月曜日

自動化とか

Filed under: 技術メモ — dev0000 @ 1:35:46 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

SIerに自動化が浸透しない話。

『ずっと受けたかったソフトウェアエンジニアリングの新人研修』続き

本書で対象としているのはおそらくSIerとかだと思います。よく知らないけど。システム化を提案する立場の人が、自分自身の業務がシステム化、自動化されていないようでは、紺屋の白袴にもほどがあるんじゃないでしょうか。実際の現場ではさまざまざまな制約があってそういう風にもいかないのかもしれません。でも、何も知らない新人に対して「研修」の名の下に教えることとしては、もう少しちゃんとした開発方法を教えるべきです。それが開発に携わる先人としての義務でしょう。

青は藍より出でて

実証実験にはえらく金(スポンサー)と人手がかかるというのが一つの原因かなぁとか考えてみるのだが、スポンサーには困らないはずなんだよな、というか国(それが可能なスポンサーだろう?)は発注者として、そこまで踏み込んでみたらどうだろうか(でも、失敗した場合の追及され度が現行踏襲よりでかい、失敗を許さないシステムというシステムがあるためにそれが難しいのならば、まずそこからリストラクチャしなければならないのかも、とかも思う)。

人月だから自動化推進の動機付けが生じないんです。例えばスタロジの自動化技術を買うSIerっていないんですよ。理由が「自動化されると人月が減って売上が下がるから」。これマジ話。ここに工事進行基準(人月前提)が絡むともう…。

紺屋の白袴

って,はぶさんのコメントが的を射ているんだけどね。コンピュータの使用料が人件費より高かったウン十年まえならいざ知らず,今でも多くの人の手垢にまみれさせる事が高品質化の秘訣だと思ってるからナー。

ま,実際の話,ある程度の頭数が揃わないと商売にならないってのも分かるんだけど,ピンで売れない高技術者集団抱えてどうすんだって話もある。おっと話がそれた。:-P

まぁ相場を上げてくれる企業が存在するからこそ、
「相場の半分の費用を請求し、4分の1の費用で制作する」
というワザができるわけで。

新人研修に必要なことってなんだろね。
技術についての世界観の説明とかなのかね。

マスターとか

Filed under: 技術メモ — dev0000 @ 1:11:03 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

そもそもマスターするなんてありえない。

「プログラミグ言語を理解するにはどうしたらいい?」という話を聞いて思うこと
プログラミング言語をマスターするということ

Web系言語は最近でこそ変化のスピードがやや遅くなった気もするが、
変わり続けるものであれば、マスターするという概念はあまりないような。
キャッチアップし続けなければ、仕事としてはやっていけない。

2009/4/6 月曜日

言語とかラボとか

Filed under: 技術メモ — dev0000 @ 3:16:48 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

経営者にとってのサーバサイド技術選び

まぁ信頼できるエンジニア確保したら、そいつにやらせたい言語やらせるのが一番いいとは思うけどね。
「DB連携したWebページ生成技術」ということではどれもあまり変わらないだろうし。

使用言語で職場を選ぶか?と問われると、それは選ぶだろうね。
昔は「なんでもできる奴がえらい」みたいにも考えていたけど、
一つの言語を深堀しない職場って、受託営業的にはラクだけど、習熟度がなかなか上がらないので、生産性はどうしても下がるからね。

開発会社が途中で放り投げる案件って、PHP+流行のフレームワークが多い気がする。
多分、簡単にできちゃうように思えるから、初心者集めてエイヤみたいなプロジェクトになることが多いのじゃないのかな、と妄想。

あとあまり関係ないけど、apc でチューニングってところまでになると、イメージ的にはJavaVMの起動パラメータのチューニングに近いのかね。
そこまで頑張らなくても、とりあえず動いてくれるのが楽しいところではあるけど。

それに個人的にはラボとか事業と関係ない制度でエンジニアに機嫌を取る必要ってあるのかな?とはむしろ思ったりする。

1つは広告効果なんだろうけど、これは最近ブームが確かに過ぎてるだろうし。
もう1つは社員の技術に対する向上心育成か。
放っておいても勝手にやってくれる文化が形成されているところは幸せだけど、そうじゃないところはどうにかして火をつけなきゃいけないだろうし。
ただ、刺激を与えるような人がいて、それが周囲に影響を与えれば済む話のような気もする。
文化という大げさなものでなくても、組織が小さければ、一人の人間の存在で大きく変わってしまうものだからね。

あと、PHPがよくdisられているとか言うけど、最近はPHPを使う人がPHPをdisることが多いので、それはそれで健全だと思う。

2009/4/5 日曜日

PHPのlistとか

Filed under: 技術メモ — dev0000 @ 11:56:08 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

確かにまぁlistってあまり出現してこない。

PHPのlist表現を使おう

PHP:
  1. list(list($a), $b, list(list($c, $d))) = array(array(1), 2, array(array(3, 4)));

ネストできるんだ。なるほろ。

2009/4/4 土曜日

またFLARToolkit + WOWEngineとか

Filed under: 技術メモ — dev0000 @ 13:18:32 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

FLARToolkit + WOWEngineとか
の続き。

マーカー
Corocoro2.swf
Corocoro2.as

http://gihyo.jp/design/feature/01/flartoolkit/0003を参考にしたらだいぶんシンプルになった。

ACTIONSCRIPT:
  1. private function _onEnterFrame(e:Event = null):void {
  2.            
  3.             this._capture.bitmapData.draw(this._video);
  4.             if (this._detector.detectMarkerLite(this._raster, 80) && this._detector.getConfidence()> 0.5) {
  5.  
  6.                 this._detector.getTransformMatrix(this._resultMat);
  7.                 this._baseNode.setTransformMatrix(this._resultMat);
  8.                
  9.                 var localRot:Matrix3D = Matrix3D.euler2matrix(new Number3D(0, 180, 90))
  10.                 var rotMat:Matrix3D = Matrix3D.multiply3x3(this._baseNode.transform, localRot)
  11.  
  12.                 _rot = Matrix3D.matrix2euler(rotMat);
  13.  
  14.                 _ba.setRotation(0,0,_rot.z);
  15.                 _wow.step();
  16.  
  17.                 _cube.rotationX = _rot.x;
  18.                 _cube.rotationY = _rot.y;
  19.                 _cube.rotationZ = _rot.z;
  20.                 _cube.x = _baseNode.x;
  21.                 _cube.y = _baseNode.y;
  22.                 _cube.z = _baseNode.z;
  23.  
  24.                 _sphere.x = _baseNode.x + _particle.px;
  25.                 _sphere.y = _baseNode.y + _particle.py;
  26.                 _sphere.z = _baseNode.z + _particle.pz;
  27.                
  28.                 _sphere.visible = true;
  29.                 _cube.visible = true;
  30.             } else {
  31.                 _sphere.visible = false;
  32.                 _cube.visible = false;
  33.             }
  34.             this._renderer.render();
  35.  
  36.         }

2009/3/30 月曜日

FLARToolkit + WOWEngineとか

Filed under: 技術メモ — dev0000 @ 0:49:53 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

FLARToolKit スタートガイドのスクリプトを参考にして、
FLARToolkit + WOWEngine って感じで、箱の中をボールが転がるやつを作ってみました。

マーカー
Corocoro.swf
Corocoro.as

めんどくさいから、動画はなし。

ソースコードの一部だけど、試行錯誤したらこんな感じなってしまった。
座標の変換はもう少しお洒落に書けるんじゃないの?という気がする。
行列の計算とかよく分かってないし。

ACTIONSCRIPT:
  1. private function _onEnterFrame(e:Event = null):void {
  2.             this._capture.bitmapData.draw(this._video);
  3.             if (this._detector.detectMarkerLite(this._raster, 80) && this._detector.getConfidence()> 0.5) {
  4.  
  5.                 this._detector.getTransformMatrix(this._resultMat);
  6.                 this._baseNode.setTransformMatrix(this._resultMat);
  7.  
  8.                 _rot = Matrix3D.matrix2euler(this._baseNode.transform,_rot);
  9.  
  10.                 var rotz:Number = (int(_rot.z) - 180);
  11.                 _ba.setRotation(0,0,rotz);
  12.                 _wow.step();
  13.  
  14.                 var angle:Number(-1 * rotz) * Math.PI / 180;
  15.                 // var angle:Number =  (1 * rotz) * Math.PI / 180;
  16.                 var cos:Number = Math.cos(angle);
  17.                 var sin:Number = Math.sin(angle);
  18.  
  19.                 _sphere.x =  -(_particle.px * cos  - _particle.py * sin) ;
  20.                 _sphere.y =  _particle.py * cos + _particle.px * sin ;
  21.                 _sphere.z = _particle.pz;
  22.  
  23.                 this._baseNode.visible = true;
  24.             } else {
  25.                 this._baseNode.visible = false;
  26.             }
  27.  
  28.             this._renderer.render();
  29.  
  30.         }

ってかね、WBoundAreaをぐるぐる回して、その結果から座標軸を算出するよりは、
WOWEngineのaddMasslessForceってところの重力定義を随時変更できれば楽なんだけどね。。。
いや、そうじゃなくて、WPlane で箱を作って、それを回せば、こんな無茶苦茶な計算は不要なのか、今気がついた。
何はともあれ、WOWEngineはぼちぼちver2が出るのだろうけど、もう少し枯れてきて欲しいとは思う。

といいますか、FLARToolkit + WOWEngine ネタだと、
Saqoosha.net::Adobe MAX 2009で公開されている ClothSimuDemo.as のソースコードのほうが分かりやすいよなぁ。。。
こっち見て作ればよかった。

ACTIONSCRIPT:
  1. private function _onPreRender(e:Event):void {
  2.             if (checkInterrupted()) {
  3.                 return;
  4.             }
  5.             for each (var v:Vertex in this._edge) {
  6.                 var p:WSphere = WSphere(v.extra.physics);
  7.                 var vi:Vertex = Vertex(v.extra.init);
  8.                 this.multiplyVertex(this._ctx.arview.marker.transform, vi, this._tmp);
  9.                 p.px = this._tmp.x;
  10.                 p.py = this._tmp.y;
  11.                 p.pz = this._tmp.z;
  12.             }
  13.             this._wow.step();
  14.             this._cloth.update();
  15.             this._cloth.updateNormal();
  16.             event(this._ctx.renderThread, RenderThread.PRE_RENDER, this._onPreRender);
  17.             interrupted(this._cleanup);
  18.         }
  19.  
  20.         private function multiplyVertex(m:Matrix3D, vi:Vertex, vo:Vertex):Vertex {
  21.             var vx:Number = vi.x;
  22.             var vy:Number = vi.y;
  23.             var vz:Number = vi.z;
  24.             vo.x = vx * m.sxx + vy * m.sxy + vz * m.sxz + m.tx;
  25.             vo.y = vx * m.syx + vy * m.syy + vz * m.syz + m.ty;
  26.             vo.z = vx * m.szx + vy * m.szy + vz * m.szz + m.tz;
  27.             return vo;
  28.         }

2009/3/29 日曜日

dovecot のTLSとか

Filed under: 技術メモ — dev0000 @ 23:24:20 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

dovecot 1.0 で一応 TLS の設定をしているつもりなんだけど、
Thunderbird 2 で、TLS 経由のPOP接続ができない。。。
SSL接続でポート変更すればできるのだけどなぁ。
なんか POPサーバから投げられる、STLS、SASL、のコマンドを正しく解釈できてないとか?

ネット見てもなかなか情報が転がってないし、
詳しい人がいれば聞ききたいところだけどなぁ。

2009/3/28 土曜日

第40回PHP勉強会@関東行ってきたとか

Filed under: 技術メモ — dev0000 @ 14:04:57 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

とりあえず行ってきたので、何か書こうかと思ったけど、なかなか忙しかったので、なかなかそうはいかなかった。

第40回PHP勉強会@関東

印象に残ったのはRedmine ですかね。
使ったほうがいいんだろうなぁ。

« 前ページへ次ページへ »

HTML convert time: 0.647 sec. Powered by WordPress ME