変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

インターネット

WEBベースソースコードエディタ

Scripted  gitHub
interactivate  gitHub
orion Eclipse
ACE
rvl.io
EditArea
 
Webブラウザからコーディングができるオンラインテキストエディタいろいろ」から抜粋

ecoder ソース July 13, 2012 開発中止。 ICEcoderBrackets、Cloud9 IDE、Sourcelair、Shiftedit 等をお勧めしていた。

Cloud9 IDE Node.jsを使った統合開発環境。23種類の言語に対応してるっぽい。

Eclipse Orion ソース  Node.jsを使った統合開発環境。今は2.0。 3.0が開発途上。

Amy Editor

PHPAnywhere

ShiftEdit

Ymacs

9ne

 
CodePress
 
 
 



O/Rマッピング

RDBとオブジェクト指向プログラミングとではかなり思い込みがズレている。
RDBは

基本的に古式awkのような一行野郎であり、

オブジェクト指向プログラミングは

事前の事前による事前為の慈善作業を至高とするのでムリもない話だ。

その穴埋めとして生まれたのがO/Rマッピング(その名の通りObjectとRDBを関連付けるツール)である。

  1. Apache Cayenne

    • 2.0.4  2007/10/xx
    • 3.0  2010/05/09
    • 3.0.2
    • 3.1Beta
  2. Apache iBATIS(2010/06/16 retire)
  3. Apache Torque
  4. Hibernate (JBOSS Community)
    • 4.1.11.Final 2013-03-18
    • 4.2.0.Final 2013-03-18

なお、ココにもっと詳しいO/Rマッピングの一覧がある。
大きく分けると、データベースの構造までチャチャを入れる独善家から後付OK派まである。
元々あるデータベースをとりあえず丸呑みしてくれる独善家タイプなツールが最高なのだがそんなものはない。
 



WEBベースなIDE(統合開発環境)

最初のJavaのWEB開発は、秀丸とBATファイルで出来ていたが・・・今はEclipseが普通だ。
※但し、有償のIDEの使用が大前提なJava系WEBサーバーを除く。
そんなEclipseやVisual Studioなどのようなクライアント・アプリケーションとして動作するIDE(統合開発環境)は・・・

  • 容量がとにかくデカい。
  • インストールが面倒。
  • 複数のバージョンを混ぜると危険。
  • 当のIDEを便利にするハズのアドオンの開発時は開発環境が壊われやすい。
  • 特定のクライアント・アプリケーションをインストすると、動かなくなることがある。
  • Windows Updateをするときは、いつも緊張する。

と、インストした後もパソ環境の維持にも気を使わないといけないので、VirtualPCやVMPlayerの中で使う方が安心だ。
※壊れても、いつでも巻き戻しできるからね。(大笑
Zip解凍でインスト完了なEclipseですら、複数のバージョンや各種ディストリビューションのバリエーションが豊富過ぎて、開発チームやプロジェクトが異なれば、他で使ったEclipse環境を使いまわすのはトラブルの元である。mavenと連携したEclipseは要注意。mavenに非ずんばEclipseに非ずという状況になるしcygwinも同様の道を歩んでいるのでドチらもVirtualPCでの使用が望ましい。
早い話が、IDEの複数のバ-ジョンが必要なこともあるが、MS-Officeの複数のバ-ジョンを併用できる状態を維持するのは極めて難しいことと同様なことが起きるのだ。
それに比べればWEBベースすなわちブラウザ上のIDEは、パソへのインストも、パソ環境の変更も不要。その代償としてIDEを管理するサーバーが別に用意しないといけないこともある。
だが、一人でチマチマ開発するならともかく、チームを組んで開発するなら人員が増えた時の手間が、

  1. アカウント発行
  2. メールでIDEのURLを配布
  3. ブラウザで開けばOK

で、済むなら便利この上ない。
しかし、実用性に乏しいという指摘は多い。
第一に、開発パソの他に開発用のサーバーを用意するなんでイヤ!という顧客は多いに違いない。
第二に、今のWEBサーバーは専用の有償のIDEが必要なんで、今よりIDEのライセンスが高くなるんじゃない?
第三に、昔は秀丸とBATファイルで出来たんですよね?なんで豪華な開発環境が必要なの?
と云うように開発の都合なんて知ったことか、さっさと仕事を片付けろ!という人が圧倒的な多数派である。
 
なぜか?
 
お手軽で便利なアプリばかり使っていると
開発もお手軽で便利だと思ってしまう。
それが人間なのです。
貴方だって!
100円のAndroidのアプリ開発も
エンタープライズ(ゴミの掃き溜め)な開発方法なら
何億もかかるなんて想像もできないでしょ?
 
~WEBサイドIDE~
Bespin ⇒ Skywriter
Cloud9 IDE



割り込み機能

多くのCPUには割り込み機能が付いている。
無限ループ状態になったプログラムを止めるには大方はパソの電源をOFFするしか思いつかないだろうが、VBのデバッグ中なら、Ctrl+Breakを押すとで停止できる。
そんな風に実行中のプログラムに無理やり割り込んで他のことをやらせる機能を割り込み機能と云う。
滅多に使わない様に思えるが、実はWindowsでは1秒に何10回以上も機能している。
一番目立つのはマウスのカーソル表示、二番目がキーボード入力、三番目が時計だろう。
その他にもUSBデバイスからの通信とかPCI-eとかLANとか、大抵の通信は割り込み処理がデフォである。
何たって相手が何時通信して来るのか判らないからだ。
割り込まれたら、マウスの座標を読んでカーソルを移動したり、画面に文字を描いたり、受信したデータをバッファに入れたり
・・・と、色々する。
もし、この機能が無かったら、MS-DOSの頃のアプリはキーボードとかマウスとかのデバイスを自前で全部処理しなければいけなかったので、当然あってしかるべきものだった。
今は、そんなものはWindowsに任せることになっているので、割り込み機能はいらないかもしれない。
 
 
 



SSD変えました

OCZ PETROL君をちょっと休ませ(Dドライブにして)
Cドライブには KingstonのSSDNow V300 Drive SV300S37A/240G (240GB)に変えました。
prodSSD-V300
ベンチ結果もまーまーです。
CrystalDiskMark301
おっとFFXIV ベンチを忘れてた。
SSDを変えたくらいで変わる訳が無いけどね。
ちょっとズルをして【フルスクリーン・モード】でやってみた。
スコア+600。 結構伸びたね。(笑
WS000050



一式揃った?

何となくパソコンのパーツを買って交換しては
FFXIVのベンチを走らせているうちに・・・
一式揃って
また一台組み上がりました。
1.ドスパラのCPUとメモリのセット 35K

今思えば・・・この辺でベンチして喜んでいれば良かったと思う。

なぜ、3770Kにしないのか? それはVMも使うからです。

※KシリーズはVMサポート機能は全てカットされています。

しかし、現実は・・・
2.グラボ 30k

GTX 680のような3スロット占有は避けようと思い、他と比べれば箱も小さく見えたし、価格も30Kだった(グラボはおおむね価格≒デカさ)ので買った。

しかし、箱を開けてみれば・・・箱から上下左右2cmづつ小さいだけの巨大なグラボだった。(笑

でも、KUROKO(PCケース)に入るサイズでよかった。(ちょっと擦らないと入らないけどね。)

ベンチのスコアはHIモードで5300、PCI-e(Ver3)なグラボにPCI-e(ver2)のマザボで、もう一息な感じだった。
 
で・・・・・・・・
 
3.マザボ 11k

全体的に良いデザイン。但し、VRMやチップセットのフィンは2箇所のバネで抑えてあるダケなので角を上から押すと斜めになる。一応、AMDのCrossFire対応なので、もう一台HD7950を付けられるだろう?UEFIがXMPメモリに対応しているらしくCPU次第で DDR3- 2200(O.C.)もOKらしい。

4.電源ユニット 7k

電源も買ったのはただの勢い。

 
そして、ここに至り、

もうすぐ一台できると気が付く。

 
5.PCケース 11k (重量9㎏)

上面手前にファンコン付、前面ファンがホットスワップSATAベイの裏にあり、静かそうだった。しかし幅28cmのグラボを支えるVGAホルダが魅力的だった。

気になる点1:魅力的過ぎたのかVGAホルダのネジが固く締め付けられており、取り外し中にネジ頭が崩壊。グラボが入る隙間を見つけてグラボをネジる様に取り付けるハメになる。

気になる点2:ケーブル・タイや留め具などプラ製の材質が脆く、いつくか取り付け中に壊れてしまった。

気になる点3:工具不要なTool-Free ODD Bay は左側面のみ、右側面はネジ締め仕様?この辺は日本とは異なる「文化の違い」なのかもしれない。

6.CPUファン 3K

CPUがバルク品(ファン無)なのでマザボを買う時点で必要だった。

気になる点1: Coolmaster印のCPUグリーズ付、但しヘラは付いていない。

メモリとの干渉が少ないと店員のお勧めで決定。

確かに干渉はなかった、しかし巨大なフィンなのでメモリの真上までファンがせり出していた。

気になる点2: 1スロット目のメモリを取り付けた後にCPUファンを付けなければいけない。但しCPUファン自体はフィンにプラパーツで挟んであるだけなので簡単に取り外せる。

気になる点3: フィンの反対側にCPUファンを追加するためにプラパーツがもう一式付いていた。まさかこのプラパーツも脆いのでは?

肝心の冷却性能は、簡易水冷ユニットと同じくらい。それ位フィンもファンは巨大だが、静かなファンだからOKだろう。

簡易水冷ユニット並

7.SSD 15K (現在・輸送中)

予定には全く無かったが、OCZ PETROLE君が体調不良を訴えて寝落ちするため、助っ人を追加。

気になる点1: 価格.COMでレビューもクチコミも件だったので、怪しい。HDDより10倍速いのは良いが、プチフリや寝落ちはどうなのか?

8.Windows 12K

  • 8-PRO DSP版

と、なりました。
結果ベンチマークは、
メインPCは、i7-870 + HD6870 で、3872 でした。
 
そこから・・・
グラボ交換で、i7-870 + HD6950 5383

CPUとマザボ交換で、i7-3770T + HD7950  6311 20%UPですかね。

ただ、OC版のグラボだったので、900MHzから1000GHzまでOCするのも無理な様です。
950MHzまであげてもSCOREは50ぐらいしかあがりませんでした。(誤差の範疇
CPUを含め全般的なOCが必要なようです。
性能がよくなりましたが、
新しいのでファンもとても静かで
夜中も安心なパソになったのが一番うれしいですね。
メインは送風機並ですから・・・(笑
 
最後に、AMDのドライバーに更新してみた。
ベンチ中に描画が化ける現象が解消。
ちょっとベンチのスコアが良くなった。

なお、このベンチはスコアが7000を超えると評価が「非常に快適」に変わります。

もう一台HD7950かな・・・
でも、正式オープン前後までCrossFireは未対応なのでお預けですね。
それに標準品質なら・・・

十分すぎるスコアです。(笑
i7-3770Tのオンボでも、低解像度(1280×720)+標準画質なら支障なさそうですしね。
~ 今日一番面白かったスパムは 「ウクライナの食べもの」 でした。 ~



Logicool mK270

Logicool のM505マウスが動作不安定なので、unifyingタイプの無線のキーボードとマウスのセットを買いました。
型番は mk270。 前のunifyingタイプの無線のキーボードの型番が k270。
ご想像の通り、マウス+k270=mk270なのです。(大笑
K270のM185マウスは単3一本と軽量化され光学センサー部が親指から1cmと近い場所にあり操作しやすくなっています。
k270のキーボードにはキャプスロックのインジケータ(ランプ)が点くのですが、NumLockインジケータはありません。
mk270は安いところでは2900円で売ってます。
無線の108のフルキーボードと無線マウスが買えるので、お得感があります。
このキーボード(k270部分)は安売りキーボードとしては使用感は良い方です。
もし、パソコンのオマケのキーボード&マウスがヘタったらmk270はお勧めです。
最初からコレにすれば良かったと後悔すること間違いありません。(大笑
また一見使いそうもないマルチメディアボタンも便利です。
再生、ミュート、音量小、大、ブラウザ、メーラー、ロック、電卓。

何気に電卓キーは重宝します。(ココは試験に出ます。

 
 
 
 



再びNUC考

さて、またこのBlog鯖のNUC化の検討だ。
あるサイトの動画でCeleron搭載NUCがすぐにCPU温度が70℃ぐらいになってしまうのを見てしまった。(許容値は100℃らしい。)
これでは24時間付けっぱなしなBlog鯖なら、NUCがホットウォーマーになりそうだ。
Celeron® Processor 867にも拡張版 Intel SpeedStep® テクノロジーや拡張版 Intel SpeedStep® テクノロジーがあるので、常時70℃と云うことは無いだろうが、AM3時と4頃の高負荷時にブーンと熱を出して唸っていそうだ。
今のBlog鯖は本当かウソかMRTGによれば24時間40度のままである。(許容値は69℃らしいので十分に冷やす必要があるようだ。)

# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Celeron(R) CPU G540 @ 2.50GHz
stepping        : 7
cpu MHz         : 1600.000
...(中略)
bogomips        : 4988.80
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:
processor       : 1
...(以下、省略)

な調子なので、CPUクロックは最低の1.6GHzのままらしい。
BogoMips の係数が Intel 386DX と同じCPUを1とした相対値で、386DXの5千倍の性能らしい。(大笑
実はメモリは4GB 1枚だけで、CPUの中の2組あるDDRコントローラも1組は寝ているハズ。
周辺で繋がっているのはSSDとLAN、たまにモニターを繋げる程度。
なのだが、CPUファンはそれなりに回っている。
NUCにするとスペック下がって、消費電力も下がりそうだが、熱を持つのか・・・でも耐久性は高そう。(笑
メモリやSSDも100℃ぐらいまで耐久性のありそうなのが良さそうだね。(大笑
 
 



コンパイラ

真のコンパイラとは、テキスト・ソースを実行可能なコードの断片すなわちOBJECTファイルに変換するツールのことだ。
実行可能なプログラムファイルも作れるが、それはリンカーの仕事で、(つまりリンカーを呼び出しているだけ(大笑))

  • ブートストラップ・コード
  • OBJECTファイル
  • ライブラリィ・ファイル

の3つを1つのファイルにする。
なぜ、コンパイラとリンカーが分かれているのかと云えば、
コンパイラーは特定の言語専用なツールだが、リンカーはどのコンパイラーのOBJECTファイルでも(大抵)は扱えるシロモノなので、使いまわしができるリンカーをコンパイラーに組み込むのは馬鹿にしかできない無駄な仕事だからだ。
※もちろん、そんなバカな奴は世界中にいっぱいいる。
初期のOSは面倒くさがりで、単にマージするだけで、実行できるようにしていたが、そんなことでは、OBJファイル同士で参照したりするのが大変なので、リンカーが参照アドレス表(シンボリック・リンク・テーブル)なども作ったりする。
このテーブルがあるからこそ、ソースレベルデバッグやブレークポイントをデバッガで使えるのだ。
※もちろん、OBJECTファイルにデバッグ用コードが含まれているが、それだけでは当のOBJECTファイルのアドレスが判らない。
そして、実行可能なプログラムファイルとはCPUにブートストラップ・コードを咥えさせれば、後は勝手に夢中になるようなファイルのことである。
妙なファイルに思えるかもしれないが、メッセンジャーRNAにリボゾームがくっ付いて、アミノ酸の合成するのに似ている。
しかし、今では、コンパイラもインタープリタもあまり変わり映えしない。余りにも扱うライブラリィが巨大で、どっちも起動時間が長くなっている。
故に純粋なコンパイラは非常に遅いが、その代り出来上がった実行コードは、インタープリタが毎度毎度モサモサと解析しながら処理するよりは動きが速い。
速度比は、こんな感じ。
BAT << WSH  << EXCELマクロの速度 << Java << (絶対に越えられない壁) << VISUAL-BASIC << C# << C++ << C
※この式から、左側ではループは組まない方が速い。
※ループを組む部分だけ右側にすると処理速度は軽く10倍は速くなる。ことが判る。
※余談だがWSHでデータベースのSQLを実行させたら、データを吐き出す部分はC#あたりでOCX化し、レコードセットを渡してやらせた方が速い。EXCELも同じ。
※同様にJavaでもループ部分だけC++コンパイラで組めばよい。てか、Javaのランタイムはそうやって速度を稼いでいる。だから、ResultSetでループするJavaソースはサンプルでしかない。
だから、高速なコンパイラとは低速なコンパイラの中では高速と云う比喩であって、本当に速い訳が無い。
ただし、A+B=C程度のライブラリしか参照しない場合に限っては、高速化されているものが多い。※多分にベンチマーク仕様。
大体、真に高速なコンパイラがあればLinuxのカーネルのコンパイルを昼寝して待つ必要なぞないのだからな。(大笑
しかし、よく使うライブラリィのヘッダーをプリ・コンパイルする手法を用いて、見かけ上早くする方法は、既に数十年前からMSがやっている。
但し、コンパイルのオプションを変えると(MTなど)、再度プリ・コンパイルからやり直しが必要になる。
 
ps.
なんとなく書き殴ってみた。
 




top