tag:blogger.com,1999:blog-30253296160359939632024-03-06T07:50:21.322+09:00山籠もりのRiokiレガシーデバイスときどきプログラミングRiokihttp://www.blogger.com/profile/01898964868707369772noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-3025329616035993963.post-6324478208988630592016-06-14T17:21:00.004+09:002016-06-14T17:22:19.404+09:00PC-9801FAの性能底上げお久しぶりです。<br />
今回は手持ちのPC-9801FAのスペックアップを試みました。<br />
もともとFAは486SX-16MHzで動作していたのですが東方の体験版なり他のゲームなり、とにかく動作が遅くてやきもきしておりました。<br />
しかも後から来たPC-9821V12は中途半端なスペックなくせにDOSゲームをやるにはオーバースペックだから完全にFAの立場がなくってしまうので余計に生かしてあげたくなります。<br />
まぁ利点と言ったらV30互換モードとかN88互換なんでしょうが、私は使う機会が今のところありませんので…<br />
<br />
実際に行ったことはCPUの交換だけです。<br />
もともとFAにはコプロ用の487を設定できるsocket2があります。実際はただの486DXで元の486SXを殺しているだけらしい…(参考は第三研究所様、@Ishibasystems様)<br />
つまりポンでODPが乗るのですね、素晴らしいのか残念なのかいまいちわからない。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW0nxTUQbqksTh44YekhuA0IUXAsGJCfx0lmpf3_VPeCLnARkCDrhQ7HLecsVc48nDpAMvtDRb4cnq8iwizUHIc-XGJnlJudfW8ijS5_1lqAfoId1ZAVqdLVrD0iWZkU4um7aRnwjoX8iP/s1600/CkzDQTWUgAANfS8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW0nxTUQbqksTh44YekhuA0IUXAsGJCfx0lmpf3_VPeCLnARkCDrhQ7HLecsVc48nDpAMvtDRb4cnq8iwizUHIc-XGJnlJudfW8ijS5_1lqAfoId1ZAVqdLVrD0iWZkU4um7aRnwjoX8iP/s320/CkzDQTWUgAANfS8.jpg" width="240" /></a></div>
装着したODPはDX4で通常33MHzの3倍動作で100MHzとしていますが、FAは一般に8MHz機に属しベース16MHzで動作します。<br />
よって3倍動作で実クロック48MHzのハズです。<br />
ちなみにMOブートで使うFDのデータは基本的にMOに展開してから使うので、FDウェイト処理はなくても問題ありません、FDは全くと言っていいほど使ってません。<br />
何も面倒なことは起きず、搭載しただけでメモリカウントは早くはなりました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkCTz-eDChq6yod8zmUkZsAjEjrXTmpzuZFKLehTSlJJ7gSr88f4cb_mT0VK36EHeDxHZ7h55ktghX9yUQ6SL1h70gJeL4CpDuqyQITIZae8efzb48TN-wMi6PUp983sL0wpf0mVq8xish/s1600/CkzTwX4UYAA1F06.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkCTz-eDChq6yod8zmUkZsAjEjrXTmpzuZFKLehTSlJJ7gSr88f4cb_mT0VK36EHeDxHZ7h55ktghX9yUQ6SL1h70gJeL4CpDuqyQITIZae8efzb48TN-wMi6PUp983sL0wpf0mVq8xish/s320/CkzTwX4UYAA1F06.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizI7b6LlKlDHQ4Gadnz5vdtcMSEH45JYPY0ONuiThj6FzW97F-hXZTeW1yvxNh0j2CqHtfkko4jLX_GwLNR3A-2pXOXxK6cuT1VmWoAVhybcCrWCH4KJI9S7JvBVW72oJFUbzh0kaywMBA/s1600/CkzTwX5UYAA9RGO.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizI7b6LlKlDHQ4Gadnz5vdtcMSEH45JYPY0ONuiThj6FzW97F-hXZTeW1yvxNh0j2CqHtfkko4jLX_GwLNR3A-2pXOXxK6cuT1VmWoAVhybcCrWCH4KJI9S7JvBVW72oJFUbzh0kaywMBA/s320/CkzTwX5UYAA9RGO.jpg" width="320" /></a></div>
数値は上がりましたが東方なりなんなりの動作は大して変わらず…うーん<br />
これ以上の底上げは手に入れにくいアクセラレータカードを手に入れるかベースクロックを変えるか、いずれにせよこれ以上の底上げは絶望てきかもしれない。<br />
V12に86音源載せ替えますか…Riokihttp://www.blogger.com/profile/01898964868707369772noreply@blogger.com0tag:blogger.com,1999:blog-3025329616035993963.post-62401067200701917282014-10-25T20:47:00.005+09:002016-06-14T16:53:32.395+09:00はこだてディベロッパーカンファレンス 2014に行ってきましたタイトル通り、今日は函館市中央図書館で開催されたはこだてディベロッパーカンファレンス 2014に行ってきました。<br />
<br />
簡単にはこだてディベロッパーカンファレンス 2014を紹介すると、5名の技術者がそれぞれ小一時間ほどお話を無料でしていただける大変貴重な催し<br />
<br />
<br />
私は「プログラミングの知識がまだ浅いし、5名の方の中で特定の言語のコーディングの方法や、それらの前提知識がある程度なくても理解できそうな方を選ぼう」<br />
というあまり褒められそうもない心構えでこの催しに参加したわけですが(そもそも5名の方のお話を全て聞けば解決なんだが)、これが運がよかったのか、大学生にもわかるようにレベルを落としてお話していただけたのか、私にとっては大いに充実した時間を過ごせました。<br />
<br />
…で、何を聞いてきたのさ?と言いますと<br />
<b><span style="font-size: small;">「ディベロッパーテスティング -テストを書きながらコードを書く技術-」</span></b><br />
<span style="font-weight: normal;"><span style="font-size: small;">という題目で</span><b><span style="font-size: small;">タワーズ・クエスト株式会社 取締役社長 和田卓人さん</span></b><span style="font-size: small;">のお話を聞いてきました。</span></span><br />
<span style="font-weight: normal;"><span style="font-size: small;"><strike>なんでも「お前それ@t_wadaの前でも同じこと言えんの?」とかいうコピペで有名だとか </strike></span></span><br />
<span style="font-weight: normal;"><span style="font-size: small;"> </span></span><br />
内容を一言で表すのであれば<br />
「テストをしながらコーディングをすることで開発促進を促す」<br />
というものに尽きると思います。 <br />
じゃそもそもなんのためのテスト?って話なんですが<br />
開発者にとってみると開発の促進(Developer Testing)<br />
顧客にとってみると進捗の管理(Customer Testing)<br />
品質保証担当者からみたらそのまま品質保証(QA Testing)<br />
につながるわけで、そのうちのDeveloper Testingにテストをしながらコーディングをする技術がふくまれているわけです。 <br />
<br />
じゃさらにDeveloperTestingってなんぞや?っていうと<br />
プログラマの<br />
プログラマによる<br />
プログラマのための<br />
プログラムとしてのテストを書きながら<br />
開発を行っていく手法<br />
とおっしゃっていました。<br />
はぁなるほど、開発促進てのはテストによって得られたデータから改善点だけでなくモチベーション的なものもあるのか…<br />
<br />
じゃ具体的にテストしながらコーディングてどうやんのさ?<br />
というと、やっぱりそのような開発手法があるようで<br />
<b>テスト駆動開発</b><br />
<b>Test Driven Development(TDD)</b><br />
がよくつかわれるとかいないとか。<br />
<br />
で組織でソフトを開発するには一人で開発するわけではないのでとりあえず動けばOKはあまりいい考えではない、というのはもう当たり前。<br />
でも綺麗に書こうとするとこれがなかなか実装の妨げになるわけで…<br />
これを4象限に起こしてみるとこんな感じ<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhR6_fJe00iA1QP3C9Xw0d-AvuxTOuHE5ylUX1WfGrpLrlx3NT8vo8Dg0P87d_0qIeozWtkqidoROnFv7lvlyDaI4s8K3baQS3q5GtlzktOPmWYUSa6nSeCzugoFEHtjUb65aO9QKjZJ3g/s1600/%E7%84%A1%E9%A1%8C%EF%BC%91.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhR6_fJe00iA1QP3C9Xw0d-AvuxTOuHE5ylUX1WfGrpLrlx3NT8vo8Dg0P87d_0qIeozWtkqidoROnFv7lvlyDaI4s8K3baQS3q5GtlzktOPmWYUSa6nSeCzugoFEHtjUb65aO9QKjZJ3g/s1600/%E7%84%A1%E9%A1%8C%EF%BC%91.png" width="320" /></a></div>
綺麗なコードを意識してコーディングは赤線<br />
逆に動作することを意識してコーディングは青線<br />
緑の星は到達点 <br />
綺麗なコードを意識して書くと納期やら定期報告やらで綺麗なコードを書くあまり実装が間に合わないリスク<br />
逆に動作を第一に意識すると綺麗なコードにするときにエラーを発生させるリスク<br />
ともに山(線が急に曲がる部分)があり、 それを超えることがなかなか難しい。<br />
赤線は完璧主義から、虚栄心、羞恥心等で動作まで時間を要したり…<br />
青線は青線で「動いてるからもうよくね?」みたいな考えもよぎるわけで…<br />
私は仕事で開発したことはないが、ある程度動作したら「これでよくね?」とか考えてしまうのでこの説明に妙に納得。<br />
でも大前提として納期には間に合わせなければいけないわけだし、なんとなく青線に沿っていくのはわかる、でも綺麗さも両立したい。<br />
<br />
そこでTDDなわけです、と温められた私は一層興奮状態。<br />
そして始まるTDDの説明… <br />
TDDとは?TDDのサイクル<br />
1、次の目標を考える ToDoリスト等やらなきゃいけないことをまとめる<br />
2、その目標を示すテストを書く<br />
3、そのテストを実行して失敗させる(Red)<br />
4、目的のコードを書く<br />
5、2で書いたテストを成功させる(Green)<br />
6、テストが通るまでリファクタリングを行う(Refactor)<br />
7、1~6を繰り返す<br />
モジュールごとにテストしながら実装するということらしいです。<br />
こうすることによって青線の理想を維持しつつ、コードを綺麗にしていく上でエラーを恐れなくなるというわけです。<br />
ここでいうRed Green Refactorとは<br />
IDE等でテストを実行し、失敗をユーザが認知することをRed<br />
それを修正し、成功させることをGreen<br />
そのうでコードを綺麗にしていくことをRefactor<br />
と呼ぶ。<br />
これをまたまた4象限で表すとこんな感じ<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXvjxViruG5mITOE7tRCgxtgxEpzg8ritYH_u1p46LJtXWut7gVzb8k3CJ_g-G8TzoiE9USFtKrZQ0LkrpZfrTRiobCg7qViiMQVG9sz_0ktIS82dY4QwX49bgYVLzv7drz24ZUjR2Zjyl/s1600/%E7%84%A1%E9%A1%8C2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXvjxViruG5mITOE7tRCgxtgxEpzg8ritYH_u1p46LJtXWut7gVzb8k3CJ_g-G8TzoiE9USFtKrZQ0LkrpZfrTRiobCg7qViiMQVG9sz_0ktIS82dY4QwX49bgYVLzv7drz24ZUjR2Zjyl/s1600/%E7%84%A1%E9%A1%8C2.png" width="320" /></a></div>
こうして繰り返すことによってソフトの質は上がっていく。<br />
この図と説明を聞いていた人なら <br />
確かに一つずつ確実にテストをこなせば確実にエラーは減っていくし、成功した部分を随時綺麗にしていけばモチベーション的な意味で精神にやさしいと言えそう。<br />
和田さんはこの図を黄金の回転と呼んでいて、どれか一つでもサボろうものならすぐに崩壊するとおっしゃっていた。<br />
なんなら部屋の掃除もあとで一気にやるより、つかったらもとに位置に戻すことと同じ、とも例えていてまた妙な納得、やはりできる人は例にとるのも上手だなぁ<br />
なぜ黄金なのかはジョジョの7部の黄金比がどうのこうの…私は6部までしか読んでいないのでニヤニヤはできませんでしたが…<br />
<br />
まとめると<br />
コードを最適化しながら進めることで、開発後のテストのコスト(時間や費用)削減<br />
開発者自身がコードの内容を明確に認識できる<br />
TDDで幸せになれる→良さ👏<br />
<br />
今後は私もTDDを導入して開発をしていこうとおもいます。<br />
…ところで和田さん、函館に初めて言ってB級グルメを一夜で食いまわるて、内臓脂肪とか大丈夫なんかな?<br />
<!--DOCTY--><!--DOCTY-->Riokihttp://www.blogger.com/profile/01898964868707369772noreply@blogger.com0tag:blogger.com,1999:blog-3025329616035993963.post-62507737872950408252014-10-24T20:38:00.000+09:002014-10-24T22:30:56.719+09:00お引越しこんにちは <br />
備忘録っぽくなにかやったら書いていきます。<br />
基本はハードウェア関係、ときどきプログラミングのメモをちょこちょことRiokihttp://www.blogger.com/profile/01898964868707369772noreply@blogger.com0