JavaScriptでイベントループを作る。
JavaScriptのイベントコールバック関数って適当に書くと、コードが増えてくると、どんどんぐちゃぐちゃになっていきます。イベントループを作って処理すると誰でも簡単に読みやすいコードがかけるんじゃないかと思い、ためしに作ってみました。---------function print(str){ $("#body").append(str+"<br/>");}var...
View Article乾電池の電圧を聞いてみた。
僕、個人的には「東京大学は、『日本の最高学府のうちの一つ。』」だと思っているのですが、世の中にはそうではないと謙遜している方もいらっしゃいます。http://www.insightnow.jp/article/680よく読むと、「※弊社の出版物などで、誤用をしているものがあれば、お知らせください(苦笑)。」とも書いてあります。きっとgoogleのように、入社試験なんですね。応募すると、この会社に入社...
View ArticleJavaScriptでCプリプロセッサを使用する
「ハイパフォーマンスJavaScript」の本にも書かれているのですが、JavaScriptでCプリプロセッサを使用するといろいろと便利です。一つのソースファイルでC言語とJavaScriptの両方で動くものも作れます。写真をたくさん表示するページなど、表示オブジェクトの動きの多いページを作るときは座標の計算をC言語でやれば、デバッグが早くて、テストコードも簡単に自動化できて便利です。さらに、goo...
View Article利用者の72%が利用したくないショップで買ってみた。
世の中にはいろいろなネットショップがあります。サギまないなサイトもありますが、まじめに運営しているにも関わらず、大半の利用者が二度と利用したくないと書いているショップもあります。http://kakaku.com/shopreview/1819/真面目にやっていて顧客満足度が異常に低いショップというのはどのようなものなのか、とっても面白そうなので、amazonに出店しているそのショップでモバイルルー...
View ArticleCSSで画像を中央に表示する
はじめてJavascriptでWebページを作ると、だいたい最初につまずくところが画像を枠の真ん中、上下左右ともに中央に表示する方法。いろいろなページにいろいろな方法が書いてあるのですが、InternetExplorer6で動かなかったり、position:absoluteで任意の位置に表示できなかったり。どれも一長一短です。そこで僕も写真を中央に表示する方法をブログに書くことに参戦。僕の使っている...
View ArticleCSSで画像を中央に表示する その2
ひとつ前に書いた、CSSで画像を中央に表示するのをいちいちCSSファイルとHTMLで書くのはとても面倒です。そこで、ライブラリをつくってみました。この関数を使って画像を表示するdivタグを自動生成できます。全関数をInternetExplorer6、InternetExplorer8、InternetExplorer11、Firefox、Chrome、Safariで動くことを確かめる試験もしました。...
View ArticleCSSで画像を中央に表示する その3
InternetExplorer6でも写真を枠にぴったしスペースをいれずに表示する方法を昨日の深夜に考えてみました。一番外側のタグの中に横幅が3倍のタグを作って、そのなかに横幅を指定しない写真を作ればよかったんです。タグをこんな風に3つ重ねれば、アスペクト比が33%から300%までの画像ならばどんなブラウザでも表示できます。$(parent_tag_name).append("<div...
View Articleブラウザで花火の物理シュミレーションをしてみた
ブラウザとJavaScriptとHTMLのdivタグだけでいろいろな数値計算シュミレーションができるんじゃないかと思って、打ち上げ花火のシュミレーション行うプログラムを作ってみました。IntenetExplorerでも動かしたいので、あえてcanvasとかは使いません。コンパイルいらないし、昔のBasicみたいな感じで手軽にいろいろな数値計算をするシュミレーションプログラムが作れて、とっても楽しくて...
View Articleビットコインの論文を読んでみた
最近話題のビットコインの論文を読んで、ビットコインの技術を勉強してみました。http://www.bitcoin.co.jp/docs/SatoshiWhitepaper.pdfこの論文相当面白いです。仮想通貨だけあって、この論文を書いた中本哲史という人も仮想の人物らしいです。京都大学の教授だとという噂があります。http://www.kurims.kyoto-u.ac.jp/~motizuki/宇...
View ArticleJavascriptでテトリスをつくってみた。
JavaScriptでテトリスを作ってみました。C言語のコードをそのまま移植しただけのでなんか重い。ソースはこちらhttps://drive.google.com/file/d/0B5M9qMMg3tfQOHdHNWp3cWhfNlU/edit?usp=sharing
View ArticleBeagleBoneBlack
先日、テレビをみていたらたまたま新海誠作のアニメのCMを見かけました。光の反射とかレンズのぼかしとかフランジとか、かなり忠実に写真やカメラを再現している。カメラの目標が人間の目だとすると、このアニメは人間の目をかなり忠実に再現している。この再現性すごすぎる。僕、本屋に行くと何万円もお金を使ってしまうので最近本屋に行かなかったのですが、...
View Articleアンパンマンはじめてデジカメ2
うちの子供が僕のスマートホンで毎日写真を撮って遊ぶので、なんでパパのスマホで遊ぶのか聞いてみました。自分のおもちゃのカメラだとおもちゃだから写真が撮れないからだそうです。なので子供用にちゃんと写真が撮れるデジカメを買ってみました。このカメラは、真ん中に穴があいていて、穴を見ながら直感的に写真をとれるのがよいですね。初代は額縁みたいな形をしていたんですが、2代目からはきちんとカメラらしい形をしています...
View ArticleマイクロチップRN-42-EK
最近、秋葉原の秋月電子でも売っている、マイクロチップ社のBluetooth評価キットRN-42-EKやその互換製品。http://akizukidenshi.com/catalog/g/gK-07378/この製品はBluetoothのシリアルポートとして、PC、スマートフォンやタブレットから見えるので、シリアルポートでいままで有線で接続していた機器を、これを使って完全に無線化することができます。誰で...
View ArticleEnebrickとHappyHackingキーボードでPCのキーボードを無線接続する
僕の普段使っているMac-miniと、それにつなげているHappyHackingキーボードをどうしても無線化したいので、CerevoのEnebrickを買ってみました。http://enebrick.cerevo.com/ja/この商品、ほぼスマートフォン及びタブレット専用なので、最新のファームウェア、Version1.1.0でPCとつなごうとするとスリープモードから復帰するときにハングしてします。...
View Articleアトミック操作
オープンソースであるandroidのフレームワークのソースコードにはたくさんの便利なライブラリがあります。実装もコンパクトかつ高速かつエレガントで実力の違いを見せ付けてくれます。でも、漫画のおぼっちゃま君の家には五円玉がないように、GoogleにはWindowsマシンがないため、この便利なライブラリが一部Windowsでは動かないのです。僕、普段macを使っていますが、開発はwindowsで行うのが...
View ArticleiPhoneで「C言語入門」の「Hello Wrold」のプログラム書いてみた
iPhoneでC言語入門などの書籍に出てくるプログラムを作ろうとするとmain関数が隠蔽されていて見えなかったり、printfなどの関数はデバッグ出力には表示されるのですが、液晶画面の方には表示されなかったり。これでは気軽にprintfデバッグでいろいろなコンソールプログラムやライブラリが作れません。そこで、iPhone用のmain関数が実行できるソースコードを作ってみました。どこまでObjecti...
View ArticleiPhoneでキーイベントを処理する
iPhoneにはキーボードがついていないのですが、BlueToothキーボードなどをつなげてキー入力をしたいときがあります。iOS7以降でも動く、キーイベントを処理するプログラムのサンプルが世の中に無いので作ってみました。これで、前回ブログに書いたコンソール表示するiphoneアプリと組み合わせていろいろなテストアプリがつくれます。隠しファイルのmain.mでアプリケーションクラスを継承main.m...
View Articlepthreadでスレッドの中断と再開をする
LinuxやmacOSのpthreadってスレッドを中断・再開するAPIがありません。このようなAPIがないのに、なぜかLinux上で動くJavaにはスレッドの中断や再開があります。どうやって実装しているのかなぁと思っていたのですが、調べても見るとシグナルを使っていることがわかりました。やっとやりかたができることがわかったのでサンプルを作ってみました。これでlinux,windows、cygwin、...
View ArticleC++で無名関数を遅延実行する
C++でObjective-CのGCD(Grand Central Dispatch)のように無名関数を別スレッドで遅延実行することができれば便利なので、どうすればできるのか考えて実装してみました。GCDをWindowsやLinuxのC++などで実行するライブラリ、XDispatchなどもあるのですが、C++にはARC(Automatic Reference...
View ArticleWindowsでUnixドメインソケットを使う
LinuxのプログラムをWindowsで動くように移植するとき、スレッドやミューテックなどは同等のAPIがWindowsにあるため、どうにかなるのですが、Unixドメインソケットの部分だけはなかなか同等のAPIがありません。そこでみんなどうしているのかいろいろ調べてみました。まずGoogle。LocalBiChannnel.cppというのがAndroidのソースコードの中にあります。たぶんローカルバ...
View Article