rubyには、省略されたコードが隠されていることがある。その省略されたコードをちゃんと理解しておかないと、rubyの中で何が起こっているのか?見失ってしまう...。調べてみた。 一般的なソースコードの中では、可能な限り省略せずに書いた方が良いと思われる。 きっと、他人を悩ますか、1カ月後の別人の自分が悩む。 しかし、直接タイプすることが多いワンライナーでは、素早く、簡潔に入力できる省略表現は便利である。 無駄に$や!を入力しないので、エスケープの問題で悩むことも少なくなると思われる。 作業環境 OSX 10.9 Mavericksである。 GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13) ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin
2013-11-07 1ヶ月でgaucheより速くてポータブルなR7RS準拠のscheme処理系作ってみた タイトルは釣りです。 大学のC言語の授業()で暇を持て余した上級者向けに「C言語でscheme処理系を作れ」という楽しい課題が出たのでscheme処理系つくりました。 https://github.com/wasabiz/picrin さっきコンパイルラインに-O3のオプションつけてベンチマーク測ったらgaucheよりも微妙に速かったのでブログに書きました。多分機能つけてるうちに遅くなります。 scheme $ make tak bin/picrin etc/tak.scm 1.135064 gauche $ gosh etc/tak-gosh.scm ;(time (f)) ; real 1.223 ; user 1.190 ; sys 0.000 一応R7RS準拠(予定)の処理系
The only significant visible change from the last Silk Road, spotted by the dark-web-focused site AllThingsVice that first published the site's new url, is a new security feature that allows users to use their PGP encryption key as an extra authentication measure. It also has a new login page, parodying the seizure notice posted by the Department of Justice on the prior Silk Road's homepage, with
SEO fundamentals Introduction Search Essentials SEO Starter Guide How Google Search Works Do you need an SEO? Crawling and indexing Sitemaps robots.txt Meta tags Crawler management Removals Canonicalization Redirects JavaScript SEO Ranking and search appearance Visual Elements gallery Title links Snippets Images Videos Structured data Favicons Site-specific guides Ecommerce International and multi
In 2003 the Perl development community was made aware of an algorithmic complexity attack on the Perl’s hash table implementation[1]. This attack was similar to reports over the last few years of attacks on other languages and packages, such as the Java, Ruby and Python hash implementations. Written by Yves Orton The basic idea of this attack is to precompute a set of keys which would hash to the
はじめに 巨大だけどほとんどの要素がゼロであるような疎行列は、そのまま保持するより、要素がゼロじゃないところだけをうまく保持する事でメモリや計算量を減らせたりする。 扱う行列のタイプによって、効率のよい形式がいくつかあるようなので代表的なものをメモしておく。 Coodinate(COO) Format 非ゼロ要素の(row indices, column indices, value)を要素数分持たせる形式 非ゼロ要素が散らばっている場合に有利 0 4 0 0 2 0 0 0 1 を row 0 1 2 column 1 1 2 value 4 2 1 のように保持する。 compressed sparse row(CSR) Format / compressed sparse column(CSC) Format Coodinate Formatにおいて、左から右、上から下へ順番に要素を
Home Blog About Archives Music, Food and Code - The three dimensions to my world. This post contains the writeup of my talk on Cool C Programming as part of the Tech Talk Tuesday series by PES OpenSource at PES Institute of Technology. (Please ignore any typos in this post; its pretty long and I wrote it in a hurry!) The C Preprocessor In the C Program build process, there are three main phases. P
What’s New in elementary OS 7.1 Made with care with you in mind. OS 7.1 provides new personalization options that make it more inclusive and accessible, protects your privacy and ensures apps always operate with your explicit consent, and addresses your feedback with over 200 bug fixes, design changes, and new features Read the Announcement Get it on AppCenter Get free and paid apps on AppCenter,
There is something in python called warnings, and guess what? The name is very intuitive, they warn about something, kind like an Exception, but they just warn you… There are some types of warnings, the example above could be rewritten as follows: This way, when this function is called (maybe there was a piece of the code that hadn’t got refactored and you missed it) you’ll get the warning in the
僕がClackを作ったのは2年9ヶ月前。Webフレームワークの「Caveman」をリリースしたのはその2ヶ月後だった。 Cavemanを作った頃、僕はアリエルネットワーク株式会社にいた。松山さんと開発していた試作プロダクトのために、並行して開発していたWebフレームワークがそれだった。そのときはCommon LispでのWebアプリケーション構築方法は洗練されておらず、アプリケーションを作りながら、手探りでフレームワークを作っていたことを今でも思い出す。 結局作っていた社内プロダクトは世に出なかったのだけど、それから1年後、会社が変わっても僕はCommon Lispでのプロダクトを作っていた。 ある日Cavemanを使っていたとき、一つのアイデアが浮かんできた。Cavemanは最初にプロジェクトのひな形を作る必要がある。けれど、PythonのFlaskのようなフレームワークではそれすら必要
When I wrote the introductory article for libjit, I aimed it at programmers who know what JITs are, at least to some extent. I did mention what a JIT is, but only very briefly. The purpose of this article is to provide a better introductory overview of JITing, with code samples that don't rely on any libraries. Defining JIT JIT is simply an acronym for "Just In Time". That, in itself, doesn't help
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く