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
9 November 2008 — Play-Doh and LEGO are compared and constrasted, and then put forward as a metaphor for comparing Ruby and Java. The reader is encouraged to embrace the strengths of each environment — 18-minute read This article is based on a talk I gave at the 2008 RubyConf in Orlando, Florida, entitled “Recovering from Enterprise: how to embrace Ruby’s idioms and say goodbye to bad habits”. The
Laravelで開発しててDIコンテナに出くわし、そういえばRailsで開発していてDI利用したことなかったなと思ったので、なぜRuby(Rails)でDIが一般的ではないのかのまとめる。 TL;DR Rubyはインスタンスへの依存性も動的に変更できるから基本的にDI不要 ほぼ下記記事参照なので、英語できる人はこっちの記事をどうぞ LEGOs, Play-Doh, and Programming DI DI(Dependency Injection)は依存性の注入とよばれるインスタンス間の依存性を解消する技術。外部から依存するインスタンスを注入できるのでテストのときにモックオブジェクトの差し替えなどで便利。またDIフレームワークはDIコンテナにインスタンスの生成と注入を任せることで疎結合・高凝集を実現するテクニックである。 ネイティブアプリ(iOSは知らない)だと一般的に使われている技術で
% gem install hanami Successfully installed hanami-2.2.0 3 gems installed % hanami new bookshelf Created bookshelf/ -> Within bookshelf/ -> # ... -> Running Bundler install... -> Running NPM install... -> Running Hanami install... % git init . && git add . && git commit -m "Initial commit" [main (root-commit) 629fc96] Initial commit 33 files changed, 1430 insertions(+) % heroku apps:create Creatin
(訳注: 2016/3/2、頂いたフィードバックをもとに記事を修正いたしました。) Ruby on Railsは最近、急激に注目を集めていますが、その原因はほとんど、この言語が斬新なテクノロジーとしてもてはやされたことと、タイミングにあります。技術的な優位性は時間の経過とともに失われますから、タイミングがよかっただけでは、一過性のブームに終わり、このムーブメントの隆盛は長続きしません。従って、「Railsがいかにして、適切な技術としての位置を維持し続けるるだけでなく、影響力とコミュニティを拡大し続けてきたのか」をより多くの人に説明していく必要があります。そして、その維持・拡大を可能にした/していく要因は、物議を醸すことさえあるRailsの基本原則にあると考えています。 この基本原則はここ10年ほどの間に進化を続けてきましたが、最も強固な柱となっているルールはやはり、公開当初から制定されてい
Create Your Own Programming Language を読んだ。 どこかで、CoffeeScript の作者はこの本がきっかけで CoffeeScript を作った、と紹介されていて気になっていた。 この本では、言語処理系について学びながら、Python と Ruby を足して2で割ったような Awesome という言語を Ruby で実装する(最後の章では mio という Io のサブセットを実装する)。 目次を見ると、たったの100ページに字句解析、構文解析、ランタイム、インタプリタ、仮想マシン、ネイティブコンパイルといったプログラミング言語をつくるために必要な知識・技術が詰まっていて、非常に濃い。 学生のときに言語処理系の講義をとったのだけど、半期で、全体の概要を学んで、lex とか yacc をちょっと使ってみておしまい、というかんじで実際に手を動かすことも少な
そもそも、マルコフ連鎖とは何なのか?全く聞いたこともなかった。そして、文章を要約するのはとっても高度なことだと思っていて、自分のレベルではその方法を、今まで思い付きもしなかった。 しかし、以下のようなシンプルなRubyコードでそれが出来てしまうと知った時、目から鱗である...。一体、何がどうなっているのだ?コードを追いながら、マルコフ連鎖を利用するという発想の素晴らしさを知った! 作業環境 MacBook OSX 10.5.7 ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0] mecab utf8環境でインストール済み マルコフ連鎖に出逢う rssを流し読みしていると、以下の日記に目が止まった。(素晴らしい情報に感謝です!) MeCabを使ってマルコフ連鎖 一体何が出来るコードなのか、日記を読んだだけではピンと来なかっ
昨日、GAE絡みで初めてSinatraに触れて、 今回の仕事はこれで行こうと決めたので、 もうちょっと実用的なレベルで調べてみました まず気に入ったのが、非常に軽量でシンプルであること Sinatra自体は最低限のフレームワークを提供するだけなので、 その上に自分のフレームワークを構築しやすいのです RailsはRailsの作法に従わないといかんのが面倒で・・・ なにより、Sinatra自体のコードが、 Rackアプリのお手本ってくらいに綺麗で簡潔にできてます これなら読むのも全然苦になりません(`・ω・´) b 以下、Sinatraのドキュメントや、自分で軽く実験した結果から、 後々使えそうな部分をメモ...φ(・ω・`) もっと細かいことはドキュメントで 読みやすいので全体に目を通すとベスト Sinatra: Documentation チュートリアルは日本語版もあり Sinatra:
GitHubを彷徨っていてよくあるのが、ググったりRuby Toolboxとかで見つけて「これイイじゃんよ!」と思ったら既にスター済み、という奴。 一回、自分がどんなリポジトリにスター付けたのか整理しつつ、更新止まってたり古くなったやつを削除していこうと思う。 それぞれの説明は超適当。基本的にいつか使おう的な感じでスターを付けているので、あんまり使ったことあるのが無い。 そもそも良く使うものにはスター付けてないこと多いし…。 大体rubygemsで一部JSのライブラリ、少しvimとScalaって感じ。 思い返したようにスター付けてたので、時期がバラバラだけど、基本的に下に行く程付けた時期が新しい。 リポジトリ 説明
某インターンのメンターをしながら, メンターたちと空いてる時間を使ってネイティブアプリを書いていた. その時バックエンドをRailsで書いて思ったことを夏休みの感想文としてまとめてみた. ライブラリの選定 Grape RailsでAPIといえば, Grapeというライブラリが有名だけど, 特にRailsのデフォルトのコントローラで困ることが少なかったのと, Railsとの記法の違いっぽいところがあって, 導入しなかった. ただいま考えてみれば, パラメータのバリデーションや, (どう管理するのかしらんけど)Cookieをサポートしていたり, エラーハンドリングもいい感じだし, 導入してみたら楽だったかもしれない. 各アクションにdescを書いておけば, ドキュメントの自動生成とかできたりするし. 実はとても便利かもしれない.(反省終わり) Rabl GrapeのかわりにRablというJSO
gem 探すときにとりあえず The Ruby Toolbox を見るんだけど、 The Ruby Toolbox は昔からある gem が上位に来てしまう傾向にあって、 後発の gem は埋もれてしまいがちだ。 わりと gem を探していると、あまり使われてない gem や、新しく出来た gem であっても 設計がシンプルだったりしていい感じの物があるので、そういうやつを効率的に見つけたい。 github の Advanced search が便利だった github の検索結果ページの左下に Advanced search へのリンクがある。 ここで条件を細かく指定して検索すると効率よく gem を探すことができた。 とりあえず次のような条件で検索した。 言語を Ruby に限定 Star 数が 100 を超えている 最終コミットが今年中に行われている 拡張子が gemspec のファ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く