タグ

Rubyに関するvccのブックマーク (114)

  • 【10】名前重要 | プログラマが知るべき 97 のこと

    ネイティブ・アメリカンの信仰に「すべての人物・事物には真の名前があり、その名前を知るものはそれを支配することができる」というものがあるのだそうです。ですから、彼らは自分の真の名前を秘密にして、家族など当に信頼できる人にしか打ち明けないのだそうです。そして、対外的にはあだ名を用意してそちらを使うということです。そういえばアニメ化もされた U・K・ル=グウィンの『ゲド戦記』でも同じ設定が用いられていましたね。「ゲド」というのは主人公の真の名前なので物語中にほとんど登場せず、物語の中では彼は一貫して「ハイタカ」と呼ばれていました。 さて、プログラミングの世界において、この信仰はある程度真実ではないかと感じることがたびたびあります。つまり、事物の名前には、理屈では説明しきれない不思議なパワーがあるような気がするのです。 たとえば、私が開発している Ruby も、名前のパワーを体現しているように思

    【10】名前重要 | プログラマが知るべき 97 のこと
    vcc
    vcc 2025/10/07
    “適切な名前をつけられると言うことは、その機能が正しく理解されて、設計されているということで、逆にふさわしい名前がつけられないということは、その機能が果たすべき役割を設計者自身も十分理解できていない”
  • 🛤 Rails 8はSQLiteで大幅に強化された「個人が扱えるフレームワーク」(翻訳)|YassLab 株式会社

    原著者の許諾を得て翻訳・公開いたします。 英語記事: Supercharge the One Person Framework with SQLite | Fractaled Mind 原文公開日: 2024/10/16 原著者: Stephen Margheim 日語タイトルは内容に即したものにしました。 また、見出しを適宜加えています。 記事は、Rails World 2024における私の発表を編集して記事化したものです。以下のYouTube動画でもご覧いただけます。 はじめに Railsは誕生したときから、アイデアを超音速で宇宙空間に打ち上げるロケットエンジンのような存在として名を馳せてきました。しかし少なくとも私にとって、自作のフル機能アプリケーションをデプロイして動かすにはロケット科学者になる必要がある気もしていました。 ロケットエンジンは時とともに大型化し、複雑化してきまし

    🛤 Rails 8はSQLiteで大幅に強化された「個人が扱えるフレームワーク」(翻訳)|YassLab 株式会社
  • 2021年にmrubyを始める皆さまへ - ローファイ日記

    2021年3月5日に、mruby 3.0.0 のリリースがされました。おめでとうございます! mruby.org これに関連してなのか、mrubyをこれから始めようとか、ここのところどうなっていますかという質問をちょくちょく受けたり、ツイートを拝見したりするようになりました。 一方で、どうしても情報が古い、あるいは多くのmgemのメンテナンス状況が悪いように見える、などの初学者にとっては難しい状況が広がっており、厳しい気持ちになったり、厳しい感想を述べたりされている方もいるように思います。そして、その感想中には誤解も含まれているようです。 ここでいったん、少しでも「心構え」ができるように、これから触ってみる方々に対しての自分の考えをまとめておこうと思いました。 (さらにいうと、基的に原稿はいちユーザ、それもWebインフラに関わるユーザとしての解釈なので、Matzをはじめとした他のmru

    2021年にmrubyを始める皆さまへ - ローファイ日記
  • mruby/cで始めるオリジナルIoTデバイス作り

    はじめに こんにちは、kishimaと申します。 mruby/c(えむるびーすらっしゅしー)という言語を皆さんは御存知でしょうか? この記事では、mrubyから派生して生まれたmruby/cを使ったIoTっぽい電子工作について説明していきたいと思います。 mruby/cでIoT 筆者は仕事で馴染み深かったのもあり、2017年後半あたりから電子工作格的に趣味として始めました。 機器の制御のためにマイコンにソフトを書き込むわけですが、プログラミング言語は基的にC言語を用いてきました。 しかしちょっとした機能の実装に、いつもC言語を使うのも面倒と感じる場面も多く、Rubyのようなスクリプト言語を使えたらいいなとずっと思ってきました。 最近では、mrubyという選択肢もあるわけなのですが、RAMが数百KB程度のマイコンで動かすことを考えると、mrubyは動かせないということはないのですが、あ

  • RailsでRSSリーダーを作るチュートリアル – 地方でリモートワーク

    RailsRSSリーダーを作るチュートリアルです。 Railsで簡易RSSリーダーを作ってみました。 参考サイトはこれです。 Building an RSS Reader in Rails Is Easy プロジェクト開始 rails new feedreader gem 使うgemはfeedjiraです。ゴジラとフィードをあわせたみたいです。 github.com rubygemsを見てみてもrssパーサーで一番人気があるみたいです。 https://www.ruby-toolbox.com/categories/feed_parsing 実際のプロダクトのgemでも使われているみたいです!これは信頼できる。 # Gemfile gem 'feedjira' gem 'twitter-bootstrap-rails' bootstrap導入 今回見た目をちょっとよくするためにcssフレ

  • VMに手を加えずRubyを高速化するJITコンパイラ「YARV-MJIT」の話 - k0kubun's blog

    先日のRubyKaigi 2017のLTではLLVMベースのCRuby向けJITコンパイラLLRBの話をしました。 5分はちょっとJITの話をするには短かかったですね。 LLRBをふまえた、Cのコード生成への軌道修正 さて、上記の資料にある通り、CRubyのJITにおいてはメインの高速化対象が既に存在するCのコードになるため、 開発の早い段階でパフォーマンスにインパクトを持てるとすればLLVM Passの順番を変えるくらいで、 LLVM IRを直接生成しても最適化上のメリットがほとんどないのでその部分はMJIT と同じくCのコードを生成するように変更したい、という話をした*1。 で、LLRBはC拡張として作るべくちょっと不思議な努力をいろいろやっており、 それらの設計はやってみた結果(コアに直接変更を加えるのに比べ)デメリットの方が大きいと思ったので、 LLRBの失敗を全て生かしつつ、今回

    VMに手を加えずRubyを高速化するJITコンパイラ「YARV-MJIT」の話 - k0kubun's blog
    vcc
    vcc 2017/10/20
    同じオブジェクト指向言語でスタックベースのバイトコードとJITを持つJavaがRubyより十分に速い以上、 JITで高速化をするためにVMの命令をレジスタベースにする必要があるのか
  • 英語とプログラミングを同時に勉強するなら「Practical Object-Oriented Design in Ruby」の一択 - ベルリンのITスタートアップで働くジャバ・ザ・ハットリの日記

    短時間で効果的に英語とプログラミングを同時に勉強したい、となったらその方法として「英語でプログラミングのを読むこと」がある。ただこれで私は何度も失敗した。失敗の原因は「選びが悪い」に尽きるが、その主な理由として3つある。 英語が難し過ぎると訳が分からず頭に入らない。単に英語の字を目で追ってるだけ状態に入る。ネイティブとか英語上級者向けのとは区別するべき。 プログラミングなどの技術書は陳腐化が激しく、そのを読む価値がたった数年で激しく減少する。「今さら○○に関する技術読んでもな。。」という気持ちで読んでも効果無い。 英語の初心者が苦労してさんざん読んだ後で「これダメだわ」となったときの労力、コスト、時間の損失がデカい。これは避けたい。 数々の失敗の末に辿り着いた結論は、英語とプログラミングを同時に勉強するなら「Practical Object-Oriented Design in

    英語とプログラミングを同時に勉強するなら「Practical Object-Oriented Design in Ruby」の一択 - ベルリンのITスタートアップで働くジャバ・ザ・ハットリの日記
  • hatebu.me

    We’re getting things ready Loading your experience… This won’t take long.

    hatebu.me
    vcc
    vcc 2017/06/02
    Ruby on Railsで開発されたフォーラム、掲示板、チャットルーム、メーリングリスト管理などの機能を備えた議論に特化したコミュニケーションツールです。
  • JVMはそんなに重くない | POSTD

    Clojureに反対する大きな理由がJVMです。この役立たずは重いですからね。 これは、数週間前に ZA TechSlackで見た投稿です。休暇中にClojureの話題を何件か見たのですが、投稿者はJVMについても繰り返し言及していました。 私はこの投稿について Slack上で少しつぶやいていました が、もっと広く理解され議論されるように、稿を書くことを決めました。 背景 以前は、私もJVMは重いと思っていました。2000年代の初めにJVMとPHPと比べていた頃の話です。当時は、.NETやColdFusionなど、別の重い製品が他にもありました。また、PerlPythonという軽めの製品もありましたが、私はWindowsを使っていたのでActivePerlやActivePythonはやはり少し重めでした。 私が初めてJVMに対する“恐れ”を克服したのは、小規模な製品アプリを、JRu

    JVMはそんなに重くない | POSTD
  • 外国人が語る:英語でクラスやメソッド等の名付け方 - Qiita

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

    外国人が語る:英語でクラスやメソッド等の名付け方 - Qiita
    vcc
    vcc 2017/03/02
    「主語 + 動詞 + 目的語」という書き方が最高w 主語 = クラス 動詞 = メソッド 目的語 = 引数
  • C言語向けユニットテスティングフレームワーク Unityについて - 千里霧中

    C言語のユニットテストのフレームワークには、昔はCUnit+自前のテストコードジェネレータを使用していたのですが、前々からUnityの使用機会が増えています。 理由は色々ありますが、自分の場合だと以下の点で便利なのが特に大きいです。 移植性に優れるため組み込み環境(ホスト、ターゲット両方で)でも使える 標準で自動テストディスカバリ機能(テストランナーの自動生成)を持っているので、そのままTDDのような軽快なテスティングを実現できる 特に組み込みCでTDDをやる場合は、PCUnitと並ぶ有望なテスティングフレームワークだと感じます。 少し前にTest Driven Development for Embedded Cの読書会にて解説を行う機会もあったので、今回Unityについて簡単にまとめたいと思います。 特徴 組み込み開発も対象に含むC言語向けユニットテスティングフレームワーク サイト:

    C言語向けユニットテスティングフレームワーク Unityについて - 千里霧中
  • Rubyの内部文字コードはUTF-8ではない...だと...?!|TechRacho by BPS株式会社

    こんにちは、hachi8833です。 少し前に、babaさんから「Rubyの内部文字コードはUTF-8じゃないよ」とツッコミがありました。 (追記: 上は会話の途中から切り取りましたのでご了承ください) いきなりの展開にくらくらきましたが、babaさんはさらにたたみかけます。 こうしたことはとっくにご存じの方も多いと思いますが、「Rubyといえば2.0以来UTF-8完全対応なんじゃないの」と勝手に思い込んでた私は脳に掌底をらったような思いです。ああ、でもこういうことがあるから面白い。 ⚓ プログラミング言語と内部文字コードの関係 まず最初に押さえておきたい点です。プログラミング言語で文字コードに関連する部分は、「文字列」「正規表現」「入出力」「コード中の文字リテラル(""の中など)」「コード中の文字リテラル以外の要素(変数名など)」「ファイル名」などが中心になります。そして文字列に関連し

    Rubyの内部文字コードはUTF-8ではない...だと...?!|TechRacho by BPS株式会社
  • 【Ruby】PythonプログラマーがRubyを触って感じたこと - 歩いたら休め

    Pythonプログラマーというか、元々Python(ときどきR、C言語)で数値シミュレーションをしていた学生が、就職してRubyでWeb開発を行うにあたって勉強したことを書き連ねていくだけの記事です。 もし自分と同じような立場の人(これから後輩としてもどんどん増えていくかも!)がいたら、「ここを押さえておけばRubyは問題なく書けるよ」と教えられるように書いておきます。というのも、レビューを行っていた先輩とのプログラミングのスキルとの開きがあり、先輩も私も「どこが分かってないのか説明できない」状態になってしまってお互いに困ってしまった経験があるからです。 RubyPythonはよく似ているのですが、思想や見た目で違う部分が多く、片方を勉強するともう片方の理解も深まります。 たまに2ちゃんねるのオカルト板である「見たことある世界によく似た異世界に迷い込んだ」みたいな感覚で、なかなか面白い経

    【Ruby】PythonプログラマーがRubyを触って感じたこと - 歩いたら休め
  • Programming Languages - Hyperpolyglot

    Hyperpolyglot Programming Languages commonly used features in a side-by-side format Scripting Languages I: Node.js, PHP, Python, Ruby Scripting Languages II: Perl, Lua, Groovy GUI Scripting: JavaScript, Smalltalk, Tcl, AutoHotkey Command Line Interpreters: POSIX Shell, Cmd.exe, PowerShell Forth and PostScript: Forth, PostScript Prolog, Erlang, Elixir: Prolog, Erlang, Elixir Lisp Dialects: Common L

  • プログラミングのコードを書く時のタブvsスペース戦争がついに決着

    ついにタブ派・スペース派戦争に軍配があがる! プログラマたちの間で長いこと起こっているバトルがあります。「コード内のインデントをタブでやるか、スペースを5回押すか」です。コーディングと無縁の人にはどっちでもいいじゃんな問題かもしれませんが、プログラマたちにとっては白熱バトルな話題です。 タブかスペースでのインデントは、統一されていないとファイルを開くソフトウェアによってはインデントがぐちゃぐちゃになってしまうのです。特に1つのプロジェクトを数人でやっている時は厄介です。この議論は長いことされているため、プログラマ間では「タブ派」、「スペース派」なんていう区別まで生まれています。海外ドラマ「シリコンバレー」でもこの話題が登場しています。 ということで、Googleグーグル)のデベロッパーFelipe Hoffaが一体どっちがメジャーなインデント方法なのかを、なんと14のコンピュータ言語で書

    プログラミングのコードを書く時のタブvsスペース戦争がついに決着
  • 綺麗な設計を身に付けるためのSandi Metzルール

    Webアプリやモバイルアプリの受託開発やコンサルティングを行うthoughtbot社のブログにて、Sandi MetzルールというRubyプログラマ向けのルールが紹介されていました。 Sandi Metz’ rules for developers このルールは、プログラマーでありPractical Object-Oriented Design in Rubyという書籍も執筆しているSandi MetzさんがRuby Roguesポッドキャストに出演した際に紹介していたものです。 そのルールは以下の通りです。 クラス内のコードが100行を超えてはならない メソッド内のコードが5行を超えてはならない 4つより多い引数をメソッドに渡すようにしてはならない(ハッシュによるオプションもパラメーターとみなす) コントローラーではただ1つのオブジェクトだけをインスタンス変数化できる ビューは1つのイン

    綺麗な設計を身に付けるためのSandi Metzルール
    vcc
    vcc 2016/09/06
    ①クラス内のコードが100行を超えてはならない②メソッド内のコードが5行を超えてはならない③4つより多い引数をメソッドに渡してはならない④コントローラでは1つのオブジェクトだけをインスタンス変数化できる
  • Milkode - 特徴

    vcc
    vcc 2016/08/04
    複数のキーワードにマッチする行を見つける
  • 情報処理2015年12月号特集記事「20年目のRubyの真実」インタビュー-情報処理学会

    笹田:今日はよろしくお願いします。「Rubyの真実」を久しぶりに読んでいただいたわけですが、一番ささるセンテンスってありました? 「確かに、これはそうだな」、というような。 松:結局プログラミング言語において、普通の人が注目するのは、客観的な評価ををしやすいところ、といっていること。 笹田:普通の人っていうのは? 松:プログラミング言語を選ぶ人とか。 笹田:ユーザですか? 開発者? 松:それは誰でも同じだと思うんだけど、次の仕事にどのプログラミング言語を使おうかとか、あるいは、より良いプログラミング言語の設計について研究しようとしているかもしれないし、自分でデザインして実装しようとしているかもしれないし。で、そういう人たちそれぞれ、言語を評価するわけだよね。使うか使わないかとか、この機能を採用するかしないかとか。そういうときに、最初に評価しがちなのは、機能がどうこうとか、性能がどうこ

    情報処理2015年12月号特集記事「20年目のRubyの真実」インタビュー-情報処理学会
  • 夏のインターン講義「1営業日で書くJavaScriptコンパイラ」の設計と実装 - クックパッド開発者ブログ

    今年、クックパッドでは夏のインターンと題して20名弱のインターンを受け入れました。 このインターンは前半と後半に大きく分かれており、 後半が社員に混じって業務をするいわゆる普通のインターンで、 前半は7日間にわたってプログラミング関連の講義を受けるという仕組みです。 わたし(青木)はその前半の過程において、「プログラミングパラダイム」という 1 日の講義を担当し、 JavaScriptの処理系を書くという、ツッコミどころの多い課題を実施しました。 稿では、その講義を開発する際に考慮したこと、特に難易度調整についてお話しします。 また講義のために開発したJavaScript処理系「JetSpider」についても軽くふれます。 ▼講義資料 Cookpad Summer Intern 2015 - Programming Paradigm from Minero Aoki JetSpiderコ

    夏のインターン講義「1営業日で書くJavaScriptコンパイラ」の設計と実装 - クックパッド開発者ブログ
  • Thinreports – Chromeアプリで帳票設計できるRails製PDF帳票ツール

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました システム開発において一番厄介とも言えるのが帳票です。幾つかの解決手段はありますが、今なお一番最初の帳票設計をいかに行うかは苦労するのではないでしょうか。 今回はPDFベースの帳票システムを構築できるThinreportsを紹介します。帳票設計ツールとRuby/Ruby on Railsのジェネレータによる帳票作成システムとなっています。 Thinreportsの使い方 Thinreportsの帳票設計ツールはChromeアプリとして動作します。元々日語なのが嬉しいですね。 最初に新しい帳票の形式を決めます。 テキストを編集したり、画像を追加できます。 この青いラベルはプログラマブルに変更できるポイントになります。 ThinreportsはRubyから直接実行する形でPDFを生成で

    Thinreports – Chromeアプリで帳票設計できるRails製PDF帳票ツール