<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>設計</title><link>http://blogs.wankuma.com/yaju/category/1731.aspx</link><description>設計</description><managingEditor>やじゅ</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>やじゅ</dc:creator><title>なぜ「小数点」を「少数点」と間違えるのか</title><link>http://blogs.wankuma.com/yaju/archive/2015/05/09/515638.aspx</link><pubDate>Sat, 09 May 2015 04:03:00 GMT</pubDate><guid>http://blogs.wankuma.com/yaju/archive/2015/05/09/515638.aspx</guid><wfw:comment>http://blogs.wankuma.com/yaju/comments/515638.aspx</wfw:comment><comments>http://blogs.wankuma.com/yaju/archive/2015/05/09/515638.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yaju/comments/commentRss/515638.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yaju/services/trackbacks/515638.aspx</trackback:ping><description>&lt;p&gt;仕事で仕様書を見ると「少数点」という誤字をたまに見かけることがある。またネットで小数点について検索すると技術系ブログでも誤字をよく見かける。まだ文章中に「小数」と「少数」が混在しているならいいが、タイトルとして「少数点」と書かれていると萎える。&lt;/p&gt; &lt;p&gt;今回、このテーマで書く上で改めて「&lt;a href="https://www.google.co.jp/webhp?sourceid=chrome-instant&amp;amp;ion=1&amp;amp;espv=2&amp;amp;ie=UTF-8#tbs=li:1&amp;amp;q=%E5%B0%91%E6%95%B0%E7%82%B9%E3%80%80Javascript%7CPerl%7CC%23%7CPHP%7CRuby%7CVB%7CExcel"&gt;少数点　javascript|Perl|C#|PHP|Ruby|VB|Excel&lt;/a&gt;」のキーワードの完全一致で検索したり、「&lt;a href="https://www.google.co.jp/webhp?sourceid=chrome-instant&amp;amp;ion=1&amp;amp;espv=2&amp;amp;ie=UTF-8#q=%E5%B0%91%E6%95%B0%E7%82%B9+%E4%BB%95%E6%A7%98%E6%9B%B8&amp;amp;tbs=li:1&amp;amp;start=0"&gt;少数点 仕様書&lt;/a&gt;」のキーワードの完全一致で検索してみた。&lt;br&gt;ちょっと驚いたのが、公的機関である県や市役所等の資料で「&lt;em&gt;少数点&lt;/em&gt;以下」等の誤字が出てくることであり、特に電力関連に多くみられる。市役所の方だって人間であるから間違えることはあるだろうが、一般的には教養がある方々のはずなので恥ずかしいと思う。&lt;br&gt;&lt;br&gt;しかし、なぜ「小数点」を「少数点」と間違えるのだろう。「小数」と「少数」の意味を理解していないのか。&lt;br&gt;小数は「小数点以下の小さい数」の意味しかないが、少数は「少ない数」で反対語として「多数」があり、少数意見や少数精鋭など一般的によく使用する言葉である。&lt;br&gt;そうすると、「小数」と「少数」の誤字ならIMEの変換ミスが考えられるが、「小数点」と「少数点」と点まで入るならば、通常のIMEなら「小数点」のみが表示されるはずであり、わざわざ「少数」に修正はしないだろう。&lt;br&gt;市役所等の資料などから推測されるなら、昔に間違えて作成された資料を日付など少しの変更のみで使いまわして気付いていないケースであろう。&lt;br&gt;&lt;br&gt;日本語の誤用については、「確信犯」や「役不足」など意味の誤用が広まり過ぎていて、今では正しく使う人の方が少ないケースはある。また「危機一発」→「危機一髪」、「週間誌」→「週刊誌」が正しいが、意味ではなく漢字で誤用されて広まっているケースはそんなに無いと思われる。&lt;br&gt;例えば「保証」と「保障」は使い分けが難しく意味を知っても間違えてしまう場合があるが、「小数点」は小学4年生の算数から習っているわけで、馴染みがあるはずであり、プログラムを学んで技術系ブログまで書いている人が誤用をして公開している。&lt;br&gt;&lt;br&gt;そこには一体何があるのか、闇のが残る・・・。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/yaju/aggbug/515638.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やじゅ</dc:creator><title>Excel全シート表示位置指定ツール</title><link>http://blogs.wankuma.com/yaju/archive/2014/05/18/331368.aspx</link><pubDate>Sun, 18 May 2014 13:53:00 GMT</pubDate><guid>http://blogs.wankuma.com/yaju/archive/2014/05/18/331368.aspx</guid><wfw:comment>http://blogs.wankuma.com/yaju/comments/331368.aspx</wfw:comment><comments>http://blogs.wankuma.com/yaju/archive/2014/05/18/331368.aspx#Feedback</comments><slash:comments>-75</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yaju/comments/commentRss/331368.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yaju/services/trackbacks/331368.aspx</trackback:ping><description>&lt;p&gt;久しぶりにExcel関連のツールを作成しました。&lt;br&gt;過去作成したツールは下記となります。&lt;br&gt;&lt;a href="http://blog.yaju.jp/201109/article_12.html"&gt;Excelシート名一覧取得ツール&lt;/a&gt;&lt;br&gt;&lt;a href="http://blog.yaju.jp/200810/article_18.html"&gt;Excelシート集約ツール&lt;/a&gt;&lt;br&gt;&lt;a href="http://blog.yaju.jp/200804/article_2.html"&gt;Excel名前定義削除ツール&lt;/a&gt;&lt;br&gt;※今回のついでにExcel名前定義削除ツールを拡張子「xlsx」に対応するように修正しました。&lt;br&gt;&lt;br&gt;Excel全シート表示位置指定ツールを作成したきっかけは、同僚が上長からExcelの資料の全シートの表示位置を左上にしておいてという指示を聞いたからです。&lt;br&gt;その同僚はExcelで全シートを選択して左上に表示位置をセットしましたが、全シートの表示位置は変わりませんでした。&lt;br&gt;ネットで調べてみるとマクロ組むしかないようだったので、これはいいネタが見つかったと思って今回作ってみました。&lt;br&gt;&lt;br&gt;使い方&lt;br&gt;Excel全シート表示位置指定.vbs　をデスクトップまたはローカルフォルダに置きます。&lt;br&gt;全シート表示位置指定したいExcelファイル(複数も可能)をドラッグ＆ドロップします。&lt;br&gt;(Excelファイルが入っているフォルダをドラッグ＆ドロップした場合、その中のExcelファイルが全て対象となります)&lt;br&gt;&lt;br&gt;表示位置を指定する入力ダイアログが表示されます。表示位置を指定して「OK」ボタンを押してください。&lt;br&gt;なお、既定では左上の「A1」がセットされています。&lt;br&gt;Excelの全シートを指定の表示位置にした上で、アクティブシートを先頭シートにして保存します。&lt;br&gt;一応、保存するのでバックアップは念のためにしておいてください。&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://yaju.wankuma.com/file/Excel全シート表示位置指定.vbs"&gt;Excel全シート表示位置指定.vbs&lt;/a&gt;&lt;br&gt;&lt;br&gt;Excel全シート表示位置指定.vbsの中身は非常に単純であるため、必要であれば改変してご自由に使用してください。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/yaju/aggbug/331368.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やじゅ</dc:creator><title>*消費税率アップと四捨五入問題</title><link>http://blogs.wankuma.com/yaju/archive/2014/04/01/328462.aspx</link><pubDate>Tue, 01 Apr 2014 02:43:00 GMT</pubDate><guid>http://blogs.wankuma.com/yaju/archive/2014/04/01/328462.aspx</guid><wfw:comment>http://blogs.wankuma.com/yaju/comments/328462.aspx</wfw:comment><comments>http://blogs.wankuma.com/yaju/archive/2014/04/01/328462.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yaju/comments/commentRss/328462.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yaju/services/trackbacks/328462.aspx</trackback:ping><description>&lt;p&gt;&lt;br&gt;今日、2014/4/1から消費税が8％となりました。&lt;/p&gt; &lt;p&gt;出社すると机の上に付箋紙が置かれておりました。何やら嫌な予感が…&lt;br&gt;どうやら、以前関わったプロジェクトの会計アプリケーションで、明細の合計が合わないとユーザーから問い合わせがあったようです。&lt;/p&gt; &lt;p&gt;消費税率は設定画面で変更出来るようなっています。お金に関わる部分なので、開発時には念入りにテストパターンを作成してテストしました。&lt;br&gt;消費税率が5%から8%に変わった、つまり奇数から偶数になったからといって誤差が出るのか、頭の中は不安でいっぱいでした。&lt;/p&gt; &lt;p&gt;とりあえずユーザーに連絡し、問題となっているデータを送ってもらい原因を調査することになりました。&lt;br&gt;1時間後、ユーザーからメールが送られてきたので早速調査を開始しました。&lt;br&gt;会計処理の設定では、明細ごと消費税率を四捨五入していました。そして消費税率が8%かと思いきや5%のままでした。&lt;br&gt;確かに4月1日になったとはいえ、会計処理としてはまだ3月分を入力しているわけです。&lt;/p&gt; &lt;p&gt;送って頂いたデータを展開してみたのですが、明細の合計は合っていました。&lt;br&gt;あれれ、いったいユーザーは何で明細の合計が合わないと判断したのでしょうか？&lt;/p&gt; &lt;p&gt;ユーザーに再度連絡してみました。するとユーザー自身がExcelで別途計算した合計と2円合わないとのことでした。&lt;br&gt;これには思い当たるふしあります、それは算術型丸め (四捨五入)/ 銀行型丸め (ISO 丸め)です。&lt;/p&gt; &lt;p&gt;会計アプリケーションはC#で開発され、四捨五入する際にはROUND関数の既定の銀行型丸めを採用していたからです。&lt;br&gt;例 1050 x 0.05 = 52.5　 算術型丸めでは53、銀行型丸めでは52円となります。&lt;br&gt;これだけでも誤差が1円あります、2明細あれば合計で2円誤差が出てきます。&lt;/p&gt; &lt;p&gt;Excelでは、セル関数のRoundでは算術型丸めが採用されています。ちなみにVBAのRoundでは銀行丸めです。困ったもんだ。&lt;/p&gt; &lt;p&gt;ユーザーには四捨五入する方法が、Excelと会計アプリケーションでは違いがあることと&lt;br&gt;VBAを使わないで銀行丸めする方法をネットで調べ、&lt;br&gt;「=Round(対象セル,0)」&lt;br&gt;　　　↓&lt;br&gt;「=IF(ABS(MOD(対象セル,1))=0.5,INT(対象セル/2+0.5)*2,ROUND(対象セル,0))」&lt;br&gt;に変更することで対応できる旨を説明しました。&lt;/p&gt; &lt;p&gt;&lt;br&gt;しかし、ユーザーがお怒りモードで「算術型丸めとか銀行型丸めとか訳が分からない、頭を丸めて謝れ」と丸めに引っ掛けた返信がきました。&lt;br&gt;あらら、困ったものだｗ&lt;/p&gt; &lt;p&gt;&lt;br&gt;消費税率が8%になるってことは、1桁目が7の場合には0.56になりますから、銀行型丸めでも必ず1円繰り上がるんですよね。&lt;br&gt;消費税率が5%の時の方が誤差の問題が起こりえたわけです。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;なお、4/1はエイプリルフールです。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/yaju/aggbug/328462.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やじゅ</dc:creator><title>野村総合研究所（InternetExplorer10に関する調査結果書）を公開</title><link>http://blogs.wankuma.com/yaju/archive/2012/10/13/290237.aspx</link><pubDate>Sat, 13 Oct 2012 22:12:00 GMT</pubDate><guid>http://blogs.wankuma.com/yaju/archive/2012/10/13/290237.aspx</guid><wfw:comment>http://blogs.wankuma.com/yaju/comments/290237.aspx</wfw:comment><comments>http://blogs.wankuma.com/yaju/archive/2012/10/13/290237.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yaju/comments/commentRss/290237.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yaju/services/trackbacks/290237.aspx</trackback:ping><description>&lt;p&gt;野村総合研究所が、InternetExplorer10に関する調査結果書を公開しています。&lt;/p&gt;
&lt;p&gt;IE10の現行アプリケーションへの影響調査報告書&lt;br&gt;&lt;a href="http://www.nri-aitd.com/seminar/findings-ie10.html"&gt;http://www.nri-aitd.com/seminar/findings-ie10.html&lt;/a&gt;&lt;br&gt;1.IE10の現行アプリケーションへの影響調査報告書&lt;br&gt;2.IE10新機能調査結果報告書&lt;br&gt;3.IE10対応テストガイド&lt;/p&gt;
&lt;p&gt;各目次は下記の通りです。&lt;br&gt;■IE10の現行アプリケーションへの影響調査報告書 104ページ&lt;br&gt;1. 本書の位置付け&lt;br&gt;2.IE10の新機能/変更機能一覧&lt;br&gt;3.アプリケーションへの影響&lt;br&gt;4.Appendix&lt;br&gt;5.参考資料&lt;/p&gt;
&lt;p&gt;■IE10新機能調査結果報告書 84ページ&lt;br&gt;1.本書の位置付け&lt;br&gt;2.IE10の新機能一覧&lt;br&gt;3.開発者向け機能&lt;br&gt;4.ユーザー向け機能&lt;br&gt;5.管理者向け機能&lt;br&gt;6.IE10のシステム要件&lt;/p&gt;
&lt;p&gt;■IE10対応テストガイド 39ページ&lt;br&gt;1.本書の位置付け&lt;br&gt;2.IE10の新機能/変更機能一覧&lt;br&gt;3.テスト時の確認点&lt;br&gt;4.テストツール紹介&lt;br&gt;5.テスト実施時の注意点&lt;br&gt;&lt;br&gt;良い調査資料だし、あまり知られてないようなので紹介しました。&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;img src ="http://blogs.wankuma.com/yaju/aggbug/290237.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やじゅ</dc:creator><title>変数名やDBカラム名での連番の付与方法</title><link>http://blogs.wankuma.com/yaju/archive/2012/04/25/268649.aspx</link><pubDate>Wed, 25 Apr 2012 01:52:00 GMT</pubDate><guid>http://blogs.wankuma.com/yaju/archive/2012/04/25/268649.aspx</guid><wfw:comment>http://blogs.wankuma.com/yaju/comments/268649.aspx</wfw:comment><comments>http://blogs.wankuma.com/yaju/archive/2012/04/25/268649.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yaju/comments/commentRss/268649.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yaju/services/trackbacks/268649.aspx</trackback:ping><description>&lt;p&gt;&lt;br&gt;保守作業をしていて、定義済みの変数名やDBカラム名にやむなく連番に付与して対処することがままあります。&lt;br&gt;例えば、あるテーブルのカラム名にcommentがあり、もう１つcomment列を追加する場合、単純に連番で対応したります。&lt;br&gt;その時に連番を付与するとしたら、どのように付けるのか？ 既存の名称は変更出来ないものとする。&lt;br&gt;&lt;br&gt;例1&lt;br&gt;comment&lt;br&gt;comment1&lt;br&gt;&lt;br&gt;例2&lt;br&gt;comment&lt;br&gt;comment2&lt;br&gt;&lt;br&gt;やはり例2のように、commentの次はcomment2にするのが一般的なのかと。&lt;br&gt;映画のタイトルを考えてみても、「エイリアン」の次は「エイリアン２」だし、「バイオハザード」の次は「バイオハザード２」である。「エイリアン」の次に「エイリアン１」とは付けない、それだと同じ物として扱いと思われてしまうのだから。&lt;br&gt;プログラムの変数名であってもこれと同じ考えで付ければいい。&lt;br&gt;&lt;br&gt;既存の名称を変更可能であるということであれば、commentをcomment1に変更して&lt;br&gt;comment1&lt;br&gt;comment2&lt;br&gt;としてしまえば、名前＋連番で処理するような時には便利である。&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/yaju/aggbug/268649.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やじゅ</dc:creator><title>[Javascript] SinとCosの誤差発生について</title><link>http://blogs.wankuma.com/yaju/archive/2012/04/07/265067.aspx</link><pubDate>Sat, 07 Apr 2012 23:37:00 GMT</pubDate><guid>http://blogs.wankuma.com/yaju/archive/2012/04/07/265067.aspx</guid><wfw:comment>http://blogs.wankuma.com/yaju/comments/265067.aspx</wfw:comment><comments>http://blogs.wankuma.com/yaju/archive/2012/04/07/265067.aspx#Feedback</comments><slash:comments>75</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yaju/comments/commentRss/265067.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yaju/services/trackbacks/265067.aspx</trackback:ping><description>&lt;p&gt;Javascriptに限らないのですが、コンピュータでは数学と違って誤差が発生するケースがあります。&lt;br&gt;これは、コンピュータが取り扱うデータは、ビット数の限られた有限のものだからです。&lt;br&gt;例えば、1÷3の結果である0.3333…という循環小数をコンピュータが正確に表すことはできません。&lt;br&gt;&lt;br&gt;MathクラスのSinメソッドとCosメソッドについて&lt;br&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/ja/vsgeneralja/thread/fc03347d-c9a3-4e6f-b378-f781dd1d9ff4"&gt;http://social.msdn.microsoft.com/Forums/ja/vsgeneralja/thread/fc03347d-c9a3-4e6f-b378-f781dd1d9ff4&lt;/a&gt;&lt;br&gt;&lt;br&gt;下記の表は、各角度に対して左側SIN,COSが数学上での値、右側SIN,COSがコンピュータ(Javascript)での値となります。&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p align="center"&gt;角度&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;SIN&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;COS&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;SIN(角度*Math.PI/180)&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;COS(角度*Math.PI/180)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p align="right"&gt;90&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;1&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;0&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;1&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;6.1232339957366e-17&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p align="right"&gt;180&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;0&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;-1&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;1.2246063538223773e-16&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;-1&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p align="right"&gt;270&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;-1&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;0&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;-1&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;-1.836909530733566e-16&lt;br&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p align="right"&gt;360&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;0&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;1&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;-2.4492127076447545e-16&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p align="right"&gt;1&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;
&lt;p&gt;これに気が付いたのが、Javascriptでキャラクターを角度指定でとりあえず上下に動かすように作成していた時に、下方向から反転して上方向に移動したとたんに、キャラクターが横方向に動いてしまったからです。&lt;br&gt;Chromeでデバッグしてみると、COSが270度の時に本来0を想定していたのに、-1.836909530733566e-16という値が返ってきたために、x&amp;lt;0の条件で、角度が-90度されて180度の動きになってしまったのです。&lt;/p&gt;
&lt;p&gt;function moveFish(no){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 移動量を求める&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var rot = fish[no].ang;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var sp = fish[no].speed;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dx = Math.cos(rot * Math.PI / 180) * sp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dy = Math.sin(rot * Math.PI / 180) * sp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fish[no].x += dx;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fish[no].y += dy;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var x = fish[no].x;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var y = fish[no].y;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(x &amp;gt; (canvas.width-fish[no].image.width)){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fish[no].ang += 90;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;font color="#ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(x &amp;lt; 0){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fish[no].ang -= 90;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(y &amp;gt; (canvas.height-fish[no].image.height)){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fish[no].ang += 180;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(y &amp;lt; 0){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fish[no].ang -= 180;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;br&gt;&lt;br&gt;では、どうやって対処するのか？&lt;br&gt;今回の場合はキャラクターを画面に表示するのが目的なので、小数ではなく整数に変換します。&lt;br&gt;日経ソフトウェア5月号のHTML5ゲームプログラミング入門の記事によると「drawImage関数は小数を含む座標を渡してしまうと、処理が一気に数倍重くなります。これは小数を含む場合はアンチエイリシングをしてキレイに見せようとするためだと思われます。」と書いてあります。&lt;br&gt;このように処理速度も考慮しても整数化した方がいいわけです。&lt;br&gt;&lt;br&gt;小数を整数化するメソッドとして代表的なものに、Math.floor、Math.ceil、parseIntですが、&lt;br&gt;これ以外にテクニックとして、論理演算（例 x | 0）を使って整数化する方法があります。&lt;br&gt;例では、ゼロで論理和を取ることで整数に変換します(Math.floor(x)とはマイナス時に違いがある)。&lt;br&gt;&lt;a href="http://d.hatena.ne.jp/babydaemons/20110629/JavaScript_without_Math_floor_function"&gt;&lt;a href="http://d.hatena.ne.jp/amachang/20070813/1186980089"&gt;http://d.hatena.ne.jp/amachang/20070813/1186980089&lt;/a&gt;&lt;br&gt;また、Math.floor(x)を使うよりはブラウザによってはかなり高速になります。&lt;br&gt;&lt;a href="http://d.hatena.ne.jp/htsign/20120211/1328970561"&gt;http://d.hatena.ne.jp/htsign/20120211/1328970561&lt;/a&gt;&lt;br&gt;
JavaScriptのビット演算の仕組みを理解する&lt;br&gt;&lt;a href="http://d.hatena.ne.jp/mindcat/20091119/1258651717"&gt;http://d.hatena.ne.jp/mindcat/20091119/1258651717&lt;/a&gt;&lt;br&gt;
&lt;br&gt;■COS&lt;br&gt;rot = 90; //数学上では、1となる&lt;br&gt;alert(Math.cos(rot * Math.PI / 180))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //6.1232339957366e-17&lt;br&gt;alert(Math.floor(Math.cos(rot * Math.PI / 180))) 　//0&lt;br&gt;&lt;font color="#ff0000"&gt;alert(Math.ceil(Math.cos(rot * Math.PI / 180)))&amp;nbsp;&amp;nbsp;&amp;nbsp; //1&lt;/font&gt;&lt;br&gt;alert(parseInt(Math.cos(rot * Math.PI / 180)))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //6&lt;br&gt;&lt;font color="#ff0000"&gt;alert(Math.cos(rot * Math.PI / 180) | 0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //1&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;var rot = 270;　//数学上では、0となる&lt;br&gt;alert(Math.cos(rot * Math.PI / 180))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //-1.836909530733566e-16&lt;br&gt;alert(Math.floor(Math.cos(rot * Math.PI / 180)))&amp;nbsp; //-1&lt;br&gt;&lt;font color="#ff0000"&gt;alert(Math.ceil(Math.cos(rot * Math.PI / 180)))&amp;nbsp;&amp;nbsp; //0&lt;br&gt;&lt;/font&gt;alert(parseInt(Math.cos(rot * Math.PI / 180)))&amp;nbsp;&amp;nbsp;&amp;nbsp; //-1&lt;br&gt;&lt;font color="#ff0000"&gt;alert(Math.cos(rot * Math.PI / 180) | 0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //0&lt;br&gt;&lt;/font&gt;&lt;br&gt;■SIN&lt;br&gt;var rot = 180;　//数学上では、0となる&lt;br&gt;alert(Math.sin(rot * Math.PI / 180)) 　　　　　　　　　　//1.2246063538223773e-16&lt;br&gt;&lt;font color="#ff0000"&gt;alert(Math.floor(Math.sin(rot * Math.PI / 180))) 　//0&lt;br&gt;&lt;/font&gt;alert(Math.ceil(Math.sin(rot * Math.PI / 180)))&amp;nbsp;&amp;nbsp;&amp;nbsp; //1&lt;br&gt;alert(parseInt(Math.sin(rot * Math.PI / 180)))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //1&lt;br&gt;&lt;font color="#ff0000"&gt;alert(Math.sin(rot * Math.PI / 180) | 0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //0&lt;/font&gt;&lt;br&gt;&lt;br&gt;var rot = 360;　//数学上では、0となる&lt;br&gt;alert(Math.sin(rot * Math.PI / 180))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //-2.4492127076447545e-16&lt;br&gt;alert(Math.floor(Math.sin(rot * Math.PI / 180)))&amp;nbsp; //-1&lt;br&gt;&lt;font color="#ff0000"&gt;alert(Math.ceil(Math.sin(rot * Math.PI / 180)))&amp;nbsp;&amp;nbsp; //0&lt;br&gt;&lt;/font&gt;alert(parseInt(Math.sin(rot * Math.PI / 180)))&amp;nbsp;&amp;nbsp;&amp;nbsp; //-2&lt;br&gt;&lt;font color="#ff0000"&gt;alert(Math.sin(rot * Math.PI / 180) | 0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //0&lt;br&gt;&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&lt;/p&gt;
&lt;p&gt;結果からすると、正しい答えを出すのは、論理演算だけなんですね。&lt;br&gt;parseIntは、文字列を数値にする目的なだけあって、小数点以降を切るだけなので指数表示になると駄目ですね。&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;東大生が教えるビジュアル数学　三角関数&lt;br&gt;&lt;a href="http://www24.atpages.jp/venvenkazuya/math1/trigonometric_ratio4.php"&gt;http://www24.atpages.jp/venvenkazuya/math1/trigonometric_ratio4.php&lt;/a&gt;&lt;br&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/yaju/aggbug/265067.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やじゅ</dc:creator><title>連想配列の並び順は保証されない</title><link>http://blogs.wankuma.com/yaju/archive/2012/04/05/264840.aspx</link><pubDate>Thu, 05 Apr 2012 07:35:00 GMT</pubDate><guid>http://blogs.wankuma.com/yaju/archive/2012/04/05/264840.aspx</guid><wfw:comment>http://blogs.wankuma.com/yaju/comments/264840.aspx</wfw:comment><comments>http://blogs.wankuma.com/yaju/archive/2012/04/05/264840.aspx#Feedback</comments><slash:comments>964</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yaju/comments/commentRss/264840.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yaju/services/trackbacks/264840.aspx</trackback:ping><description>&lt;p&gt;連想配列の並び順って確か保証されてなかったよなー、でも追加順なのかなと思って調べていたら、下記サイトのブログ記事を見つけました。&lt;/p&gt;
&lt;p&gt;C#でHashtableのfor eachの順序 &lt;br&gt;&lt;a href="http://blog.mbc-net.com/index.php?itemid=14"&gt;http://blog.mbc-net.com/index.php?itemid=14&lt;/a&gt;&lt;br&gt;&lt;br&gt;この記事では、Hashtableを使っていたところで、Windows 7の64bitの環境になったら不具合が発生したそうです。&lt;br&gt;&lt;br&gt;Windows XP/Vista 32 bit 環境は、追加された順番 &lt;br&gt;Windows 7 64 bit 環境は、key のアルファベット順 &lt;br&gt;&lt;br&gt;ということで、連想配列の順序は保証されないと思って開発した方がいいみたい。&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/yaju/aggbug/264840.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やじゅ</dc:creator><title>戯言 － NumberのスペルとＮｏ.の表記の違い</title><link>http://blogs.wankuma.com/yaju/archive/2012/02/14/252941.aspx</link><pubDate>Tue, 14 Feb 2012 02:40:00 GMT</pubDate><guid>http://blogs.wankuma.com/yaju/archive/2012/02/14/252941.aspx</guid><wfw:comment>http://blogs.wankuma.com/yaju/comments/252941.aspx</wfw:comment><comments>http://blogs.wankuma.com/yaju/archive/2012/02/14/252941.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yaju/comments/commentRss/252941.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yaju/services/trackbacks/252941.aspx</trackback:ping><description>&lt;p&gt;&lt;br&gt;とある仕事で、日本語からプログラムの変数名に変換していた時に、「Number」の略が「Nu」ではなく「No」になっていることに今更気が付き、おもわず検索してみた。&lt;br&gt;&lt;br&gt;『NUMBER』の語源である『NUMERO』はラテン語で「数字」を意味するそうです。&lt;br&gt;『NUMBER』を省略した際に、「NO.」と記入するのは、この『NUMERO』という単語の先頭の「N」と最後の「O」を取り、さらに省略したという意味のピリオドをつけるため「NO.」と書くのだそうです。
&lt;p&gt;&lt;a href="http://oshiete.goo.ne.jp/qa/24290.html"&gt;http://oshiete.goo.ne.jp/qa/24290.html&lt;/a&gt;
&lt;p&gt;&lt;a href="http://www2.plala.or.jp/kamkamkam/gimon7/310/310.htm"&gt;http://www2.plala.or.jp/kamkamkam/gimon7/310/310.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;2月14日はバレンタインデーですね。季節はずれの花火って感じでHTML5のCanvasで作成してみた。&lt;br&gt;&lt;a href="http://jsdo.it/Yaju/fireworksOfHeart"&gt;http://jsdo.it/Yaju/fireworksOfHeart&lt;/a&gt;&lt;/p&gt;
&lt;img src ="http://blogs.wankuma.com/yaju/aggbug/252941.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やじゅ</dc:creator><title>クラスはたい焼きの型といった説明</title><link>http://blogs.wankuma.com/yaju/archive/2011/03/01/197333.aspx</link><pubDate>Tue, 01 Mar 2011 04:49:00 GMT</pubDate><guid>http://blogs.wankuma.com/yaju/archive/2011/03/01/197333.aspx</guid><wfw:comment>http://blogs.wankuma.com/yaju/comments/197333.aspx</wfw:comment><comments>http://blogs.wankuma.com/yaju/archive/2011/03/01/197333.aspx#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yaju/comments/commentRss/197333.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yaju/services/trackbacks/197333.aspx</trackback:ping><description>&lt;P&gt;オブジェクト指向を学んだときに、クラスはたい焼きの型という説明の記事があって&lt;BR&gt;私も以前、作成したオブジェクト指向の資料でもそのような説明で書きました。&lt;BR&gt;&lt;BR&gt;それはちょっと違うんだよと言われた時に、分からなかったわけですが&lt;BR&gt;今頃、ateosさんの資料を見て、理解した感じがしました。&lt;BR&gt;「コードレス オブジェクト指向」 Lv3くまー by シャノン(現 aetos)さん&lt;BR&gt;&lt;A href="http://www.wankuma.com/seminar/20070721tokyo10/5.ppt"&gt;&lt;FONT color=#0000ff&gt;http://www.wankuma.com/seminar/20070721tokyo10/5.ppt&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="http://www.wankuma.com/seminar/20070721tokyo10/Default.aspx"&gt;&lt;FONT color=#0000ff&gt;http://www.wankuma.com/seminar/20070721tokyo10/Default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;資料の一部を引用すると&lt;BR&gt;「クラス」は分類で、下記の２種類がある。&lt;BR&gt;&lt;BR&gt;１．相対的な特性によって区別される性質や形態。タイプ。&lt;BR&gt;「新しい―の車」「―によって分類する」 &amp;#8211;英語ではType。&lt;BR&gt;&lt;BR&gt;２．同種類の物を幾つも作る時、基にする枠や紙。ひながた・鋳型・型紙など。&lt;BR&gt;「石膏(せっこう)を―に入れる」「―を取る」 &amp;#8211;英語ではMold。 &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;「たい焼きの型」みたいに「同じ形のインスタンスをたくさん作るためのもの」という説明は、わかりやすいけど、あまり正しくない。のは、&lt;BR&gt;２．Moldを指してしまっているからで、本来は１．Typeである。&lt;/P&gt;
&lt;P&gt;っていう理解でよろしいでしょうか？&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/yaju/aggbug/197333.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やじゅ</dc:creator><title>運用というものを考えてみよう</title><link>http://blogs.wankuma.com/yaju/archive/2011/03/01/197332.aspx</link><pubDate>Tue, 01 Mar 2011 04:12:00 GMT</pubDate><guid>http://blogs.wankuma.com/yaju/archive/2011/03/01/197332.aspx</guid><wfw:comment>http://blogs.wankuma.com/yaju/comments/197332.aspx</wfw:comment><comments>http://blogs.wankuma.com/yaju/archive/2011/03/01/197332.aspx#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yaju/comments/commentRss/197332.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yaju/services/trackbacks/197332.aspx</trackback:ping><description>&lt;P&gt;先日2/26に行われた第6回静岡ITPro勉強会です。&lt;BR&gt;&lt;A href="http://togetter.com/li/105924"&gt;http://togetter.com/li/105924&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;波田野さんの話はとてもためになるお話でした。&lt;BR&gt;普段、開発をしていて運用のことをあまり考慮していなかったので、運用のことを真剣に考えるいい機会を頂きました。&lt;/P&gt;
&lt;P&gt;いい資料なので読んでみることをお勧めします。&lt;/P&gt;
&lt;P&gt;運用現場の現状と課題&lt;BR&gt;&lt;A href="http://www.jus.or.jp/~hatano/tmp/20110226-shizuoka-itpro-operation.pdf"&gt;http://www.jus.or.jp/~hatano/tmp/20110226-shizuoka-itpro-operation.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;運用を見据えた障害監視　～障害監視フレームワーク～&lt;BR&gt;&lt;A href="http://www.jus.or.jp/~hatano/tmp/20110226-shizuoka-itpro-monitor.pdf"&gt;http://www.jus.or.jp/~hatano/tmp/20110226-shizuoka-itpro-monitor.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Think ITにて、波田野さんの連載記事&lt;BR&gt;第1回 見えない「運用」 - 疲弊する運用現場 .&lt;BR&gt;第2回 自分たちの「運用」を知る - 運用設計の本質&lt;BR&gt;第3回 明日の運用現場のために - 運用フレームワークという視点 .&lt;BR&gt;&lt;A href="http://thinkit.co.jp/taxonomy/term/3076"&gt;http://thinkit.co.jp/taxonomy/term/3076&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;波多野さんが汎用の整理術としてのオブジェクト指向を使っていた。&lt;BR&gt;それで、思い出したのがaetosさんの資料です。&lt;BR&gt;「コードレス オブジェクト指向」 Lv3くまー by シャノン(現 aetos)さん&lt;BR&gt;&lt;A href="http://www.wankuma.com/seminar/20070721tokyo10/5.ppt"&gt;http://www.wankuma.com/seminar/20070721tokyo10/5.ppt&lt;/A&gt;&lt;BR&gt;&lt;A href="http://www.wankuma.com/seminar/20070721tokyo10/Default.aspx"&gt;http://www.wankuma.com/seminar/20070721tokyo10/Default.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/yaju/aggbug/197332.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>