You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
本記事は、書籍「ゲームで学ぶJavaScript入門 増補改訂版~ブラウザゲームづくりでHTML&CSSも身につく!」用に作成した簡易2D物理エンジン「Tiny2D.js」の詳細解説です。 はじめに 本記事は、書籍「ゲームで学ぶJavaScript入門 増補改訂版~ブラウザゲームづくりでHTML&CSSも身につく!」用に作成した簡易2D物理エンジン「Tiny2D.js」の詳細解説です。Tiny2D.jsは角速度や質量は考慮しない、矩形と円しかサポートしないなど、物理エンジンと名乗るには僭越なほどシンプルなものですが、シンプルなだけに使い方も簡単で、修正も十分に可能です。「百聞は一見にしかず」です。まずはサンプルを実行してみて、どのような動きをするのか皆さん自身で確かめてみてください。 物理エンジンとは 「アングリーバード」や「モンスターストライク」など物理エンジンを活用したパズル系のゲーム
21:26 15/12/11 円周率おぼえ歌 in Ruby 円周率 π = 3.14159265... を語呂合わせで 「産医師異国に向こう…」 として覚えるみたいなのありますよね。 英語では Piphilology と言って、たとえば、こんなの。 How I wish I could recollect pi easily today... 長さ 3 の単語 (How)、長さ 1 の単語 (I)、長さ 4 の単語 (wish)、… という列で数字の列を覚えたりするそうです。 この方式だとゼロの桁の表現に困りそうですが、ゼロの所には巧みに句読点などの記号を配したり、 あるいはもう少し単純に、長さ 10 の単語を当てて表すのだそうな。 と、いうわけで。 in Ruby 長さ 3 のトークン、長さ 1 のトークン、長さ 4 のトークン、 長さ 5 のトークン、長さ 9 のトークン、長さ 2
JavaScriptの素振りする技術 ライブラリをちょっと試す ライブラリをブラウザで試す JavaScriptライブラリはデモを置いてることも多い デモがないとローカルで動かすのは面倒くさい わざわざローカルでnpm installして... ちょっとしたこと試す時に使えるツール npmをその場で試す Tonic: a better REPL for node.js Browserify + REPLのようなサービス npmからリンクが貼られてる! 例: Tonic: npm on Tonic 他にも色々 RequireBin Browserify + JSFiddle的なサービス Firefox DevTools URLをページにインジェクト出来る 開発ツールバーの inject コマンド ライブラリを読み込ませてConsoleで叩く JS Envy ライブラリをちょっと試すまとめ ラ
systemtapでファイルシステムキャッシュのヒット率を見る 2012-06-18 Linuxでは、自動的にメモリの空き容量をファイルシステムキャッシュ(以下単にキャッシュ)として使用するような仕組みが用意されている。MySQLでMyISAMを使う時のようにOSのキャッシュを使用するような仕組みを使っていたり、単にファイルをNFSで公開しているファイルサーバなどでは、このキャッシュがどの程度効くかによってかなりパフォーマンスが違ってくる。 多数のファイルが読みだされ、かつ読み出し対象ファイルの総容量が物理メモリ容量より多い場合(普通そうだと思うが)、どのくらいのキャッシュヒット率になっているかを知っておくのは、パフォーマンス改善の一助になる。しかし、あるファイルがキャッシュに載っているかどうかを調べたり、ファイルをキャッシュに載せたりするための単純なコマンドというのは実は存在していない(
レガシーなJavaで書かれたシステムのコードを見ていると、以下のようにInputStreamでファイルを開いて、OutputStreamでコピー先のファイルに書き込むみたいなものがあったりします。 try(InputStream input = new FileInputStream(srcFile); OutputStream output = new FileOutputStream(dstFile)) { byte[] buffer = new byte[BUFFER_SIZE]; int size = -1; while ((size = input.read(buffer)) > 0) { output.write(buffer, 0, size); } } 他にはどういう方法があるのでしょうか。ファイルコピーの歴史が詰まっている、commons-ioの実装の変遷をふりかえり、そ
この記事は Rust Advent Calendar 2015 10日目の記事です。 Rustは共有ライブラリを生成してCのプログラムとリンクすることが可能らしいので、Rubyからrequireしてちゃんと動くnative extensionをRustだけを使って書いてみる。 既に似たようなことをやっている例はあるんだけど、Cファイルを用意してそこからRustを呼び出す形になっているので、今回はCを書かずにやってみたいと思う。ちなみに実用性は特に無いのであしからず。 Dylib Rustで共有ライブラリを作成してCから呼び出すには、以下のようにすればよい。 #![crate_type = "dylib"] #[no_mangle] pub extern fn rust_test(s: i32) { println!("rust_test {0}", s); }
はじめに 去る2015年12月3日、Swift がオープンソース化され、Linux 版も公開されました。すばらしい。 Swift.org - Welcome to Swift.org ちょっと無理矢理にですが、Ruby から呼んでみました。 元ネタ: RubyからGoの関数をつかう → はやい 注意: 2015年12月現在、Swift のコードを Objective-C 以外の言語から呼ぶ方法は公式にはアナウンスされていません。 本記事は、独自に試した結果を書いています。 環境 Ubuntu 14.04 LTS(Trusty Tahr) 64bit $ ruby -v ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux] $ swiftc -v Swift version 2.2-dev (LLVM 46be9ff861, Cl
昨今、マーケティング界隈を賑わす「オウンドメディア」というキーワード。みなさんはどの程度、理解していますか? なんとなくイメージはできるけど、注目されている理由がピントこない。 うちの会社もやった方がいいのか、上司に聞かれたけどうまく説明できない。 など、マーケティングやコミュニケーション施策の1つとして実施検討を始めていたり、興味を持っていたりするWeb担当者の方も多いのではないでしょうか。今回は、改めてオウンドメディアを始める前に知っておきたいことを、40社以上のオウンドメディア立ち上げ支援を行ってきた筆者、サムライト 代表としての知見から解説していきたいと思います。 いまさら聞けないけど、オウンドメディアって何?オウンドメディアを一言で簡単に説明すると、「Owned = 所有する」メディア、つまり「自社が所有するメディア」を意味します。 そもそも、オウンドメディアという言葉が最初に注
(株)日立製作所 横浜研究所 豊岡 拓 <hiraku.toyooka.gu@hitachi.com> Copyright (c) 2013 Hitachi LTD., Yokohama Research Lab. All rights reserved ftraceの解説と最近の動向 @第8回カーネル/VM探検隊 Agenda • ftraceとは • 使い方 • 最近の動向 Copyright (c) 2013 Hitachi LTD., Yokohama Research Lab. All rights reserved 2 トレースとは • 「プログラミングにおいて、命令の実行された形跡をた どること」 – 出典: http://ja.wikipedia.org/wiki/トレース • この発表で言うトレースは、プログラムの実行を理解 する上で有益なデータをバッファ等に記録するこ
RubyのVMとして知られているYARVのバイトコードをRubyに変換するプログラムを昔書いたことがあるのでその話を書きます。YARVについてはYARV Maniacsを見てもらうのが一番だと思います。 なぜそんなものを? 昔、YARV2LLVMなるものを作っていました。YarvのバイトコードをLLVMに変換するというプログラムです。効率を上げるために型推論をやったりとかしているのですが、詳細は今回の話とは関係ないので詳しくは、Ruby会議で発表した資料でも見てください。 YARV2LLVMではRubyが実行時に提供しているメタプログラミングの機能をコンパイル時に提供するためにマクロ機能を実装しました。マクロはたとえば次のように定義します。 YARV2LLVM::define_macro :attr_reader do |arg| arg.each do |argele| name = a
Video presentation: https://www.youtube.com/watch?v=jLAFXQ1Av50 Most applications written in Ruby are great, but also exists evil code applying WOP techniques. There are many workarounds in several programming languages, but in Ruby, when it happens, the proportion is bigger. It's very easy to write Ruby code with collateral damage. You will see a collection of bad Ruby codes, with a description o
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く