アメリカ人です。 Hello 👋 この記事の目的 多くの日本人は自分の英語力には自信がないではないでしょうか。残念ながら「英語がわからん」、「英語が全然できない」という声をしょっちゅう聞いています。でも、今まで英語ができて意味がちゃんと伝わる何人かの日本人に会ったがあります。完璧な英語ではないけど(外国人も英語でミスる時もある...)、がんばって話そうとするので充分仕事ができる人たち。そういうがんばる姿勢はオープンソースのプログラムや英語圏のプログラムに手を出すためには一番大事なことだと思います(外国人側もすごく助かります)。日本の文化では「私はできる!」と自慢することは少ない中、この記事を通して、流暢に話せなくても自分のプログラミングの命名の仕方にはちょっとだけでも自信を持たせたいなと思います。完璧じゃなくていいです。Let'sgo! 合わせて読んでいただきたい 【日本人エンジニア必

Ruby の each、each_with_object、inject、map は使いどころが微妙に違う。 それぞれ適切な状況で使い分けられれば、コードはより分かりやすくなる。 どんな状況でも each で書くことはできる。だから、each だけ使いこなせればいいという考え方はある点で正しい。そのような考え方の人にとってはeach で書くのがもっとも分かりやすいコードになるだろう。 しかし慣れてみると上記のメソッドを使い分けられる方が簡潔で分かりやすいコードになる。その理由はメッセージ性の違いだ。 each ですべてを書く場合は余計なコードを書く必要があり、その分、どうしても、本質的なコードが埋もれてしまう。余分なコードがないほど、本質的なコードが際立つ。メッセージが伝わりやすくなる。意味があるコードの比率を下げることは、中級プログラマへの道を開く鍵だ。 それでは本題に入ろう。 まずは簡単

Crystal is aprogramming language with the followinggoals: Have a syntaxsimilar toRuby (but compatibility withit is not agoal) Statically type-checked but without having to specify the type of variables or method arguments. Be able to call C code by writing bindings toit in Crystal. Have compile-time evaluation and generation of code, to avoid boilerplate code. Compile to efficient native co
Crystal is a general-purpose, object-orientedprogramming language. With syntax inspired byRuby,it’s a compiled language with static type-checking. Types are resolved by an advanced type inference algorithm. Language specification # A very basic HTTP server require "http/server" server = HTTP::Server.new do |context| context.response.content_type = "text/plain" context.response.print "Hello worl
Herokuの'docker:release'の動き Introducing ‘herokudocker:release’:Build & DeployHeroku Apps withDockerHerokuがDockerを使ったツールを提供し始めた.一通り触ってコードもちょっと読んでみたので現時点でできること,内部の動きについてまとめる. TL;DRHerokuのデプロイ環境とおなじものをDockerでつくれるBuildpackを使わないでDockerfileからSlugを作れる 自分の好きなDockerイメージをHeroku上で動かせるようになるわけではない. 何ができるのか まず何ができるようになったのかについて簡単に書く.プラグインをインストールするとDockerコマンドが使えるようになる. $heroku plugins:installheroku-docker
haml との互換性にはかなり気を使っているけど、一部意図的に非互換にしていたり、正確な仕様がわからず再現できていない箇所があったり、haml の奇妙な挙動が直っていたりして、完全に全く同じ動作にはなっていない。 先日 faml を本番に投入して今も動いている。faml 導入にあたって実際にはアプリケーション側のビューを一部書き換えたけど、大量のビューがある中での変更点は十分少なかったと思う。 なお、このエントリ内での「元々の haml」は haml 4.0.6 を指している。過去のバージョンは知らない。 どれくらい高速なのか 元々 faml を書き始めたきっかけは「haml と slim に文法的に大きな差があるわけではないんだし、slim と同程度高速な haml のレンダリングエンジンは書けるはず」という点だった。 なので、slim と同じくらい高速ではあるものの、slim 以上に高
You've read aboutbuildingDomain Specific Languages withRuby butit can be hard to make sense not only of the metaprogramming but of the myriad of opinions and approaches. How do you get started and how can you makeit all work?It can make your head spin when you dive in to tryit. Jump to the packages and get started... You know writing DSLs inRuby is powerful and flexible, but aren't sure ex

本記事は英語版ブログで公開された記事の翻訳版です。 2013年7月に、米国テキサス州オースティンで開催されたLonestarRuby Conferenceで、Rubyによるアプリケーションサーバーについてお話させていただきました。その中でいくつかのRubyアプリケーションサーバーのパフォーマンスや、さまざまな状況における挙動の違いを比較しました。この記事では、講演準備として行ったリサーチの中で分かったことをかいつまんでご紹介します。 実際のカンファレンスの録画をご覧になりたい方は、Confreaksで公開されていますのでそちらをご参照ください。テストに使用した簡単な自作アプリケーションはGitHubに、講演スライドはSlideshareにそれぞれ公開しています。 このリサーチは、Passenger 4のパフォーマンス評価以外すべて2013年7月に行ったものなので、情報が多少古くなっている

March 02, 2013 「Heroku でアプリケーションサーバを Uniron (orPuma,etc) にしたらn倍速くなったぜ!」みたいな話をたまに見掛けますが、本当なんでしょうか。実験してみましょう。 テスト環境 FuntooLinux x86-64bitRuby 2.0.0-p0 Thin 1.5.0 Unicorn 4.6.2 Rainbows! 4.5.0Puma 1.6.3 アプリケーションは Rack で、50msec の sleep の後に 500KB のレスポンスを返します。各サーバに対して100回のリクエストを、同時接続数を 1-20 の間で変えつつ投げました。詳しくはソースを見てください。 (凡例の c は concurrency、同時接続数です) はい、どう見ても Thin は遅いです。まったくスケールしません。本当にありがとうございました。 こ
この記事はRuby Advent Calendar 2014の13日目の記事です。 初めにRubyを教育・研究に使おうという試みはRubyの黎明期からありました。 この時期の有名なパッケージとしてはバイオインフォマティクスのBioRubyや地球科学の電脳Rubyプロジェクトが有名です。 先述のBioRubyやGPhys(電脳Rubyの成果物)は現在も更新が続けられており、多数の利用者を抱えています。 しかし全体として見た場合、科学の分野で使われるLL言語としてRubyはPythonやRの後塵を拝している印象があります。 科学計算における均質化、あるいはなぜPythonが着実に他言語のシェアを奪っているか 記事のようにこの分野ではPythonコミュニティが非常に活発で、機械学習など新しい技術は真っ先にPythonで実装されるようになっています。 しかし最近Rubyでも少しずつですが環境が充
はじめに これは クローラー/スクレイピング Advent Calendar 2014 - Qiita の9日目です 8日目 id:dkfj さんの クローラー/スクレイピングのWebサービス 「Kimono」のユースケース - プログラマになりたい でした 9日目:ccc_privacy_bot を支える技術 先日書いたエントリがめでたく580はてブいきました。 気づいたらGIGAZINEさんにも取り上げてもらえました。 ファッ!? / “Tカードが個人情報を提供する企業を通知してくれる「Tカード個人情報提供先新着bot」 -GIGAZINE” http://t.co/8j0JNPylod— sue445 (@sue445) 2014, 11月 20 このボットで使ってるスクレイピングとクローリングのTipについて解説します ソースコード ソースコードはgithubに公開しています。

夏休みに作っていたものが先日App Storeの申請を通過したので紹介します。 ofrubyはiPhoneやiPod touch,iPad 上で簡単にグラフィックプログラムを書くことが出来るアプリです。プログラムの記述、実行、デバッグ、管理を全てiPhone上で行うことが出来るのが特徴です。 ダウンロードはこちらから行うことが出来ます。(無料です) ※ ofrubyは以前OSX用に作っていたRubyKokubanのiOS版です。今後はOSX版の方もofrubyという名前に統一していく予定です。 使い方 アプリをダウンロードしたら起動します。 ファイル一覧。 ファイルを作成します。 ファイルを開くとエディタモードになります。ここでファイルを編集していきます。 Runボタンを押すと実行されます。Backボタンを押すと戻ります。 [?]ボタンを押すとヘルプが表示されます。 関数名を間違えてもち
RubyによるビルドツールRakeの覚え書き。興に乗ったので詳しく書いてみた。 2014/02/20 Rakeの作者、Jim Weirich氏が亡くなられました。安らかに… Rakeとは? インストール 単純なRakefile タスク ファイルタスク ルール ディレクトリ作成 タスクの説明 ファイルリスト クリーニング パッケージ作成 タスクの動的生成 テストタスク 複数のRakefileの連携 名前空間 参考URL Rakeとは? Rakeは、MakeをRubyで実装したものを超越したビルドツールである。 世間では、ビルドツールというとMakeやApache Antが有名で、よく使われている。 Rakeは、これらのいいとこ取りをした上で、特有のフィーチャーを追加した新しいビルドツールであり、複雑なビルドを柔軟に書きこなすことができる。その秘密は内部DSLという仕組みにあり、このおかげでビ
Rackとは RackはRubyによるWebアプリケーション開発のHTTP送受信処理を担当するモジュール(gem)で、Ruby onRailsを始めとする多くのWebフレームワークの一番下のレベルで利用されています。 https://github.com/rack/rack http://rack.github.io/本稿ではRackの基本的な部分を中心に説明します。 簡単なRackアプリケーション まず基本を理解するため説明用の簡単なアプリケーションを作成します。 最初にrack gemのインストールが必要ですが、Ruby onRailsをインストールしている場合はすでに必須モジュールとして入っています。単独でインストールする場合は次を参考にして下さい。 http://qiita.com/higuma/items/b23ca9d96dac49999ab9#2-3 次にconfig.

Rubyで簡単、マッシュアップサービスを公開してみよう! - 第2回 - 簡単Sinatra!WebAPI・OAuth認証を使ってみよう 今回のワークは、前回学んだ「Sinatra Framework」と「Ruby」を応用し、皆さんが使ってみたいTwitterAPIを使用したソースコードを提出するというものです。この記事ではオープンソースライブラリのRubygemsの使い方も解説しているので、参考に課題にチャレンジしてみてください。 第1回目だった前回は、「Ruby言語」とは何か、そしてRuby Frameworkである「Sinatra」とは何かについてお話した後、簡単にコーディングの仕方についてお伝えしました。 第2回目となる今回は、オープンソースライブラリである「Rubygems」と、前回学んだ「Ruby」と「Sinatra」を利用して、WebAPIやOAuth認証の利用方法をお
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く