Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
![これ知らないプログラマって損してんなって思う汎用的なツール](https://cdn-ak-scissors.b.st-hatena.com/image/square/7ba623e524a28defbfb6733b2fa61c9a4efc73ff/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgxJTkzJUUzJTgyJThDJUU3JTlGJUE1JUUzJTgyJTg5JUUzJTgxJUFBJUUzJTgxJTg0JUUzJTgzJTk3JUUzJTgzJUFEJUUzJTgyJUIwJUUzJTgzJUE5JUUzJTgzJTlFJUUzJTgxJUEzJUUzJTgxJUE2JUU2JTkwJThEJUUzJTgxJTk3JUUzJTgxJUE2JUUzJTgyJTkzJUUzJTgxJUFBJUUzJTgxJUEzJUUzJTgxJUE2JUU2JTgwJTlEJUUzJTgxJTg2JUU2JUIxJThFJUU3JTk0JUE4JUU3JTlBJTg0JUUzJTgxJUFBJUUzJTgzJTg0JUUzJTgzJUJDJUUzJTgzJUFCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1mOTUzMzE5YmIzZTEzZjRjMzdhZTQ0OTU1ZjRhZDljZg%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwcHVyaWtldHU5OSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YWQ4MmU3Yzg2NDA3OTczMWI1MjlhNzdhZDNiNjNiODc%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D3075c1b557e87192d2c68b7449c20ad9)
RVMは自分のユーザー環境に、独自のRuby環境を作ることができる。homebrewのように、/usr/localですらない。/home/takuya/.rvmに、バージョンが違うRubyを大量に飼育できるのです。 RVMを使えば、opensslなどの依存モジュールもRVM側だけで管理できる。 つまり、homebrew に頼らなくてもRVMさえあればRubyの環境を維持管理することが出来る rvmさえあれば、rubyで困ることが減る。 rubyでハマる色々な罠 ruby 1.9の罠。 ruby のビルドの違いの罠 gemsの罠 gemsのバージョン地獄 gems関連はbundler で解決!!、Rubyそのものは、RVMでそこそこ解決する。 rvmを使ってるよ!っていう人は rvm alias機能 rvm コマンド補完機能 あたりを読むと嬉しい気分になれると思います。 RVMのインストール
HTML5のCanvasをFlashライクに使えるようにするJavaScriptライブラリ「EaselJS」で流体パーティクルのデモを作ってみました。 demo source EaselJSを使えばFlashのようにHTML5 Canvasを使うことができるので、ActionScriptから概念だけではなくコードの再利用性が高まります。今回は流体パーティクルの表現を通して、EaselJSとCanvasのテクニックを紹介していきます。 デモの作り方 冒頭のデモですが、私が以前作成したFlashの作品「Flashの高速化を試す、BitmapDataを配列に格納することで2〜3倍の高速化」から移植したものです。 さて、このデモをHTML5 Canvasに展開するにあたり、特に抑えておきたいのは次の点だと思いました。 フォースマップの作成 パーティクル情報を付与した表示クラスの作成 フォースマップ
已通过安全加密检测 如果没有自动跳转,请点击下方按钮前往 欢迎爸爸光临8号购彩360安全卫士提供技术支持 Copyright © 1998 -2020. All Rights Reserved.
Mark Zuckerberg / 青木靖 訳 2012年2月1日 Facebookは元々会社にしようと作ったのではありませんでした。世界をもっとオープンで繋がり合ったものにするという社会的なミッションのために始めたのです。 私たちにとってこのミッションがどんな意味を持ち、私たちがどのように決断し、私たちがどんな理由でやっているのかを、Facebookに投資される皆さんに理解していただくことは非常に重要だと考えています。このメッセージで私たちのやり方の概要を示せればと思います。 Facebookで働く私たちは、人々が情報を広め消費する方法に革命をもたらしたテクノロジーに触発されます。私たちは印刷術やテレビのような発明についてよく話します。単にコミュニケーションをより効率的に行えるようにすることで、社会の重要な部分の多くがすっかり変容を遂げることになりました。より多くの人が意見を言えるように
rbenv と ruby-build 便利ですね。しかし ~/.rbenv 以下にもろもろ入ってしまうと都合が悪いこともあるので system-wide に、 /usr/local 以下とかにインストールしたい (そして複数ユーザーで同じ rbenv 環境を共有したい) のでやり方を調べた。 だいたい Shared install of rbenv のとおりでいける。たぶん /usr/local/rbenv/shims と /usr/local/rbenv/versions を自分で掘るのがポイント。これで rbenv install 1.9.3-p0 とすればうまいことインストールされる。 というわけで手順をコピペするのが面倒くさいのでインストーラのシェルスクリプトを書いた。 root で実行してください。 https://gist.github.com/1727338 Wiki ページ
このエントリでは、スマートフォンアプリケーションの通信暗号化の必要性について議論します。 はじめに 先日、スマートフォンアプリケーションのセキュリティに関するセミナーを聴講しました(2月8日追記。講演者からの依頼によりセミナーのサイトへのリンクをもうけました)。この際に、スマートフォンアプリケーションの脅威に対する共通認識がまだないという課題を改めて感じました。その課題を痛感できたという点で、セミナーは私にとっては有益でした。 このため、当ブログではスマートフォンアプリケーションの話題をあまり取り上げていませんでしたが、今後は、とりあげようと思います。まずは、スマートフォンアプリケーションでは暗号化を必須とするべきかという話題です。この話題は、前記セミナーでもとりあげられていました。 暗号化の目的は何か まず、暗号化の必要性を論じるためには、暗号化の目的を明確にする必要があります。前記セミ
はじめに 今回はMacとVimでRailsアプリをステップ実行する方法を紹介します。そこそこ面倒かつ、ちょっと難アリなので、サクっとやりたい人は「汝プログラマの間違っていると思われる部分にprintf文を置きて再コンパイルし実行せよ」ですね。えぇ。 環境 OS: Mac OS X 10.6.8 Vim: 7.2 Ruby: 1.9.2 Rails: 3.1.0 vim-ruby-debugger vim-ruby-debugger https://github.com/astashov/vim-ruby-debugger これを使います。私はpathogenを使っているので、~/.vim/bundleに置きました。 cd ~/.vim/bundle git clone git://github.com/astashov/vim-ruby-debugger.gitREADME.mdを読むとr
ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 第2弾!知って得する12のRubyのトリビアな記法 melborne.github.com - 半年くらい前にちょっとトリビアだけど 知っていると意外と便利なRubyの記法を21個紹介したよ 知って得する21のRubyのトリビアな記法 ~ 21 Trivia Notations you should know in Ruby - hp12c 今回はその第2弾だよ! ちょっと数が少ないけど 知らないものがあったらへーとかほーとか 得したとか言ってもらえるとうれしいよ 1.Enumerator#with_index 任意のリストを標準出力するときに 連番を同時に振るとしたら 普通はEnumerable#each_with_indexを使うよね names = Mod
jQueryは互換性を保ちつつも洗練されたAPIを取り入れているので、新しく書くときは新しいAPIを使った方が良い。 liveとかセレクタの:hoverとかはBad Partsだ。 jQuery.fn.on / jQuery.fn.off live/delegate/bind/click等は滅びた。全てonを使おう。 また、data引数を使う場合は必ずdataをオブジェクトかnullにする。dataが文字列の場合、関数の場合にセレクタ等と区別がつかないからだ。 $("body").on("click", function (event) { alert("Clicked!"); }, false); また、querySelector/querySelectorAllの登場によって、:hover等のjQuery固有のセレクタは滅びた。validなCSSセレクタと、jQueryのメソッドをch
Railsで綺麗なURLにしたいと思うと一つのControllerに機能が集中して困ることがあります。 /comments /posts/1/comments /users/1/comments # config/routes.rb: Foo::Application.routes.draw do resources :comments resources :posts do resources :comments end resources :users do resources :comments end end 例えばこんな風にしたい時。 # app/controllers/comments_controller.rb: class CommentsController < ApplicationController def index @comments = if params[:
Vimが良くも悪くも「エディタだ」と言われる要因として「画像や異なるグリフのフォントを同時に出せない」ことを上げられます。つまりVimはHTMLやマークダウン等のプレビューを確認する為にいちいちブラウザを起動して確認し、ファイルを更新した際には読み込み直すという面倒な手間が掛かる事を意味しています。 まぁ専用ブラウザを作ればいいんだけど面倒で腰が重かったんだけど、ちょいと作ってみました。 mattn/mkdpreview-vim - GitHub MkdPreview Markdown previewer for vimmer https://github.com/mattn/mkdpreview-vim ファイルタイプがmarkdownなバッファで :MkdPreview! と実行するとプレビューワが起動します。 プレビューワが一度起動している状態なら、以後は他のVimからでも :Mkd
最近読んだRubyのコードではYARDのコードがキレイでした。 さて、長いメソッドは不吉なにおいがするからメソッドを分割するなどして短くしましょうとはよく言われることですが、ここでいう「長い」とは「縦に長い」ことを指していることがほとんどです。長いのが問題なのは縦に長いときだけではなく横に長いときもです。 縦に長いメソッド まず、どうして縦に長いメソッドが問題かについてです。縦に長いメソッドには「処理を把握しづらい」という問題がある可能性が高いです。 どうして処理を把握しづらいか 処理を把握しづらい原因はいくつかあります。例えば、抽象度が低いのが原因です。 メソッドが縦に長くなっているときは、多くの処理が行われていることがほとんどです。これらの処理はメソッドになっていないため名前がついていません。処理に名前がついていない場合は実装を読まないとなにをしているかがわかりません。 せっかくなので
Script Junkie | Creating Responsive Applications Using jQuery Deferred and Promises (日本語訳: jQueryのDeferredとPromiseで応答性の良いアプリをー基本編 | ゆっくりと… ) をみて、 (ε・◇・)з Deferred… Promise… お 覚えられん… (ε・◇・)з 脳みそちっちゃいので、もっと気軽に使えて、簡単に書けるのがいいなぁ~ って思ってました。 なので、自分なりに、 複数の同期/非同期処理を同時に実行し、処理の合流ができたり多少の失敗があっても前に進める Future 複数の同期/非同期処理を順番/同時に実行し、流れを直感的に記述できる Stream という2つの仕組みを考えました。 Stream は一本の流れを制御し Future は同時多発的な流れを制御するため、こ
via Digitalnative from frickr 最近、組織としての視点と、開発者としての視点を比較して考えることが多く、2つの視点で考えると、開発って難しいジャッジメントが多いなぁと感じます。恐らく、今の結論は未来に変わっているでしょうし、「正解です!」というようなものもなさそう。 これも前に書いた「エンジニアを確保しやすい」という理由でプログラム言語を選んでいいのか?と似た話題だと思いますが、ソフトウェアを内製する場合と、外注する場合のメリットデメリットをちょっと考えてみました。 考えたきっかけ ITPRO中田さんの「無いから作った人たち」という記事でも紹介されているように、Facebookが開発したCassandraとか、mixiのTokyo Tyrantとか、自分が欲しい物を作って公開しているエンジニアってすごいなぁと思います。業界に貢献とか、企業の技術ブランドUPにもつ
この記事はClojure Advent Calendar 2011の10日目の記事として書いています。 12月1日からクリスマス25日まで毎日1ネタ、Clojureの記事を書くというこの企画。 せっかくなので前々から興味のあったOvertoneというライブラリの紹介をしてみようと思います。 Home // Overtone overtone/overtone - GitHub Overtoneは"Programmable Music"を目標とするシンセサイザーです。普通のシンセサイザーの操作とは違い、Clojureコードで音を作り音楽を書くことができます。 プログラマブル・シンセサイザーとしてはSuperColliderというのが前からあるそうで、それをClojureでラップした作りのようですね。 この記事では導入の仕方と簡単な音の作り方、最後にとあるクリスマスソングをOvertoneで書
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く