サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
CES 2025
qiita.com/5t111111
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
デコレータの書き方はわかった。 デコレータとはその名の通りデコレートするものだ。 何をデコレートするのかといえばそれはもう関数、関数である。 あとメソッドである。 俺はわかった。たいへんだ。デコレータをわかってしまった。 タケシはそう呟くと弾かれたように走りだした。 だが信号が点滅し始めたので止まった。 そう、彼は交通ルールを守るのだ。 そして暇を持て余すように考える。 書けるようになったら使っていきたいのが人情というものだ。 だが、実際使ってみたいと思うと、いまいち使いどころがわからない。 有効な使い道が思い浮かばないのだ。 そんな人。 ハイ!俺もわかりません! いや、でも、ちょっとわかってきたかも。 なぜデコレータを使うのか なぜデコレータを使うのか? 好ましくない冗長性の排除やDRYのためにデコレータを使う 読みやすさの向上のためにデコレータを使う 思いつくものとしてこういうのがあり
Ruby Advent Calendar 2016 の7日目が未投稿だったので埋めちゃいます。 これは Ruby Advent Calendar 2016 の7日目の (代理) 投稿です。 「Railsのポリモーフィック関連とはなんなのか」という投稿の中で、 ポリモーフィック自体は非常に便利だけどもRubyのシンタックス的に厳しいものがある との意見がありました。 個人的には Ruby 開発ではガンガンコーディングを気分良く進めていける一方で、その分ランタイムで落ちたり想定外のバグを出したりするのはもうある程度仕方ないものだと考えていて、だから気をつけてコード書かないとね、ちゃんとバグを拾えるテストコード書いとかないとね、と心得てやっていくのがいいと思っているのですが、それでせっかくの柔軟な機能の利用を自ら制限してしまったり、本来不要であるはずのドキュメンテーションを要求されたりすることも
だいたいぼくは Rails のプロジェクトではテストフレームワークとして Minitest を使っているのですが、だいたい「RSpec しか書いたことなくて Minitest わかんねー」という苦情をいただくので、なんとなく Minitest について、なんか使い方だとか、書き方のコツだとか、なんかそんなようなやつをまとめていこうと思います。 内容は「Minitest Cookbook」の「Rails Recipes」の章を思いっきり参考にさせてもらっています。なので Minitest 自体の説明は少なくて Rails のテストに特化した内容となっています。この本はほとんど唯一の Minitest 本だと思うし、ここで紹介する Rails 絡み以外の部分も良い内容なので読んでおくといいでしょう (そこそこ高いけど) 。 ちなみにこれは「その1」で、まだまだ続く予定ですがいつ書くかは未定です
Rails で Markdown をレンダリングするとき、Qiita みたいにコードブロックにファイル名をつけられるようにしたいな。と思って拡張を書き始めましたが、よく考えたら Qiita::Markdown そのものが公開されているので、それを使わせてもらうのが一番よさそうじゃん!というお話です。 Rails のバージョンは現時点で一番新しかった 4.2.0rc2 を使いました。 事前に準備しておかないと、とか考えてるからお前はいつまでたってもそこから動けないんだよ Python が必要だからインストールしたいって?その節穴の目をいますぐ潰したほうがいいんじゃないか?よく見ろ、もう入ってるだろ? Qiita::Markdown はコードのシンタックスハイライトに pygments.rb を使っているので、Python のツールである Pygments をインストールする必要がある、と思う
今は多分 JavaScript のライブラリでかっこいいグラフとかをひょいひょい作ってくれたりすんじゃないかな、と思うのですが、いや、よく知らないですが、やはり使い慣れた matplotlib を web アプリでも使いたいです。 でも、いかんせん matplotlib は X11 を使って描画するものですので、web アプリで使うのは難しいのではないか、と思ったら、そんなことはありません。 バックエンドに AGG (Anti-Grain Geometry) を使い、画像データを作ります。 やること matplotlib で作ったグラフを flask web アプリケーションで描画します。 flask を使う理由は、便利だから、ぐらいなので、使わなくても同じようにすれば同じようにできると思います。 また、以下の2パターンでやります。 png データをレスポンスで返す 画像ファイルを一時ファ
この記事は Crystal Advent Calendar 2015 の21日目の記事です。 昨日は、mihyaeru21 さんによる Crystal 0.7.4の時代に作ったbotを0.9.1に対応させてStreamingを使う でした。破壊的変更を大胆に入れられるのも今でこそだと思うので、より良くなっていくなら後方互換性を切っていくのも大歓迎です。ですが、ハマっちゃうことも多そうなのでこのように実際の事例でまとまってると嬉しいですね。あとは、ライブラリ作者の方々にはほんとに頭が下がります… Crystal のドキュメント翻訳 さて、タイトルの通り、Crystal のドキュメントの翻訳をしたので、そのやり方なんかをまとめます。自分でも忘れそうだし、あとは「コントリビュートよろしくね!」って意味も込めて。 で、あくまでこれは Crystal のドキュメントに関する話になりますが、有志による
Rails アプリケーションの開発をするとき、頻繁にメソッドの定義内容や Gem のコードを参照することがあります。 そこで、ソースコードタグ付けツールの GNU GLOBAL (gtags) を使って少しでも楽に、快適にしたい、という話です。 タグ付けツールでは ctags が有名で、こっちは Ruby や Rails での利用例も結構見つかるのですが、GLOBAL は定義へのジャンプだけでなく、参照へのジャンプもできる点が優れています。ビルトインパーサーが対応している言語が少ないのが難点なのですが (Ruby も未対応)、プラグインパーサーとして先の ctags と Pygments を利用することで、多くの言語に対応させることが可能です。 やりたいこと 以下を実現するのが目的です。 アプリケーションコードで「定義」「参照」「シンボル」のタグジャンプを使えるようにする アプリケーション
この記事では、RubyのOSCライブラリを使ってOSCの送受信を行う基礎のところから、OSC経由でiTunesをリモート操作するという1つの活用例までを書こうと思います。 OSCって何?という人でも理解できると思いますが、Rubyのコードがまったく読めないとちょっと理解しにくいかもしれません。 OSCって? OSCとは、正式名称をOpen Sound Controlといい、公式サイトでは以下のように説明されています。(訳は適当な意訳) Open Sound Control (OSC) は、現代的なネットワーク機構を持ったコンピューター、サウンドシンセサイザー、その他のマルチメディアデバイス同士でコミュニケーションするための通信プロトコルです。現代的なネットワーク技術を電子楽器の世界で利用することで、OSCは様々な利点を持っています。 名前や、この説明からも分かるように、OSCは電子楽器を連
最近話題の Ruby ライクなプログラミング言語 Crystal について。 「Ruby コードが変更なく動く」という衝撃的な発言や、「静的型付けの Rails 嬉しい」といった気の早すぎるように思える発言なども目にして、「じゃあ実際どのくらい Ruby コードがそのまま動くの?」ということを知りたく、「なんかの Gem を Ruby コードのコピペで実装してみよう!」と思いました。 とりあえず空いてる時間が5時間くらいあったので、その範囲という制限でやります。文章も進めながらだらだらと書いていったものそのままで整理していないので超読み辛いかもしれません。 お題の Gem Crystal でコピペ実装する Gem は dotenv です。 これを選択したのは、 他の Gem への依存がない そんなに大きくない コードリーディングで使われたりしてたので Ruby っぽいコードだろう 自分がま
$ pyvenv-3.4 <directory> Error: Command '['<directory>/bin/python3.4', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
先日、Ruby技術者認定試験Silver version 2.1を受験して合格してきました。 今、再受験無料キャンペーンというのをやっていますが、「そんなキャンペーンあるなら受けてみよっかなー、でもまだガイド本でてないしなー」と迷っている方もいると思います。 ぶっちゃけ、この資格取りたい人であればこのチャンスに受けた方がいいです。 ただ落ちてももちろん責任はとれません! ※勝手にRuby技術者認定試験Silver 必勝合格法の続編みたくしてます。ごめんなさい。 試験の内容 試験は50問あり、すべて選択問題です。100点満点中75点以上を取れば合格です。 試験範囲は前述のRuby技術者認定試験制度公式サイトの出題範囲の通りです。 対策 Ruby でのプログラミング経験が豊富な人 Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応の「第6章 添付ライブラリ」以外を読んで
[妄想] Rubyに欲しい文法 の記事を読んでいて、ここに書いてあるような動的型チェックであれば Contracts を使えばいいんじゃないのかな、と思いました。 Contracts とは Contracts という gem は、メソッドにコードコントラクトを設定する機構を追加するものです。 コードコントラクトというのは、あるコード(主にメソッド)に対して「事前条件(pre condition)」や「事後条件(post condition)」などを追加するもので、C++ や .NET Framework ではよく使われている(ような気がする)ものです。 ただ、この Contracts gem においては、もっと単純に、「メソッドの引数と戻り値がある条件を満たしているかをチェックするもの」と考えて良いと思います。そこに条件を設定できるなら、当然型チェックだって可能ですし、想定している用途とし
このように、すでに作成済みの Middleman プロジェクト内で Gemfile に middleman-blog を追加して blog テンプレートを指定して再度初期化を行うか、もしくは、以下のように blog テンプレートを Middleman と同じようにグローバルにインストールしておいて、プロジェクト作成時にそれを指定することでブログサイトの雛形を生成され、すぐに利用を開始することができます。 これで、source ディレクトリ以下に 2014-10-15-example-article.html.markdown などの記事ファイルを作成して bundle exec middleman とすると・・・ ブログが完成しました!!! Middleman を使うと、このようにすぐにブログを作成することができます! 読んでくれてありがとうございました! ・・・って、いやこの見た目じゃち
MD_EXTENSIONS = ['linkify', 'del_ins', 'fenced_code', 'codehilite(css_class=highlight)', 'tables'] おしまい。 詳しく見ていきたい人以外はここでお別れです。 単語の中のアンダースコア 普通のMarkdownは、単語の中にアンスコ(_)が複数あると悲しいことになります。 wow_great_stuff が wowgreatstuff みたいな。 これはこれでファンキーで良いと感じる人もいるかもしれませんが、普通は嫌だと思います。 なのでまずはこうならないようにします。 と思ったら、PythonのMarkdownはすでにこの機能がついてました。 何もしなくてよかった! めでたしめでたし! さようなら! URLの自動リンク こんにちは! リンクを貼るときはこうしますよね。
追記 (2014/11/29) 最近、この記事をストックしてくれる方が増えて嬉しいのですが、 結構昔に書いたやつなので内容が微妙に古いです。 特にチュートリアルに関しては今は別物に変わっているので、 こちらの記事を参照し公式のドキュメントを見ていただければと思います。 Volt チュートリアル http://qiita.com/5t111111/items/e1c207d780b7af1aef8c はじめに 最近、VoltというRubyのReactive Webアプリケーションフレームワークについて目にすることが増えた気がします。 特徴 バックエンド、フロントエンド共にRubyでコードを記述する (フロントエンドではOpalを使ってJavaScriptに変換する) ユーザーの操作に応じて、自動的にDOMを更新する クライアント/サーバー間の同期はHTTPで通信するのではなく、クライアント/
コードブロックは今までテキトーにshとかnoneとかしてて、ちょっとハイライトが変でも気にしてなかったんですが、あまりにも見た目が酷いときとかもあったんで、ホントにめんどくさがりなのでホントにめんどくさいんですが、いい加減ちゃんと確認しとこうかと思いました。ああめんどくさい。もっと楽して暮らしたい。お金がいっぱいほしい。 コンソール(シェル)のために指定するやつ たぶんこの用途で指定する言語は主に3つデス。 そのまま見た目を載せておくのが一番わかりやすいかと思うので、そうすることにします。 sh (bash, ksh) ・・・ シェルスクリプト console ・・・ 単発のコマンド、ワンライナー shell-session ・・・ 出力も含めセッションをそのまま書きたいとき と使い分けるのが綺麗なのかな。 てか、Qiitaの、というよりはハイライトに使われてるPygmentsライブラリの
次のページ
このページを最初にブックマークしてみませんか?
『@5t111111のマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く