タグ

rubyに関するcpwのブックマーク (62)

  • プログラミング教材の模範解答が模範的でない件 - Qiita

    Qiita の新着記事を眺めていると,ときどき同じお題に取り組んだ結果を書いたものをいくつも目にすることがあります。 「模範解答」があったりするので,おそらく何らかの教材に取り組まれたのだろうと思います。 その「模範解答」のコードを見て首を傾げることがしばしばあったので,記事で具体的に指摘してみたいと思います。 取り上げるのはすべて Ruby のものです。 たいがい出典が書かれていないので,原典を参照することができないのですが。 ※記事は,そういった記事および著者を批判する意図を微塵も持っていません。むしろ応援したい気持ちで書いています。 ※また,取り上げた教材およびその提供者を侮辱したり非難したりするつもりもありません。不遜かもしれませんが改善に役立てば幸いです。 なお,教材によってはお題そのものがおかしかったりしますが,今回は取り上げません。 今回,三つのお題を取り上げました。引用

    プログラミング教材の模範解答が模範的でない件 - Qiita
    cpw
    cpw 2022/09/26
    提案されている模範解答は初学者にはきついと思った。
  • 妄想的DHH理解 - Qiita

    Caution この記事はDHHファンの妄想によるシナリオが多分に含まれます。 というかほとんどです。 成り立ちが間違ってることも当然あるように思うので話半分で読んでください。 これは一体 最近のRailsフロントエンドやDHHの活動には一連の流れがあるわけですが、一部トレンドに沿ってない部分がある故にそれが汲めないというところがあるのではと思います。 それらの流れを記憶が定かなうちにつないで記録しておこうという記事です。 前提知識 Railsの生みの親、Rubyist Basecamp(社) DHHがCTOやってる会社 Basecamp(サービス) Basecamp(社)が開発してるプロジェクト管理ツール Trixを開発してたある日 Basecamp(サービス)に組み込まれてるリッチテキストエディタのtrixをcustomElements使って開発してたある日、DHHはあることに気づく。

    妄想的DHH理解 - Qiita
    cpw
    cpw 2021/09/21
    10年メンテナンスすると考えると、普通のサイトでは旧来の静的HTMLで完結させたい。JSが必要で簡単なUIで済むなら素のJS、複雑なUIになるならReactやVueといった感じかな。Railsは使いたくないなー。変遷が激しい。
  • HTTPクライアントプログラムで読み込みタイムアウトをテストするアドホックサーバーをワンライナーで - Qiita

    $ ruby -rwebrick -e "WEBrick::HTTPServer.new(Port:3333).tap{|s|s.mount_proc(?/){sleep 10}}.start" これでクライアント側でタイムアウトを3秒とか5秒とかに設定して、http://localhost:3333/にアクセスさせれば幸せになれる。 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

    HTTPクライアントプログラムで読み込みタイムアウトをテストするアドホックサーバーをワンライナーで - Qiita
    cpw
    cpw 2017/08/24
    タイムアウトのテストを書く
  • 正規乱数を生成するgem「RandomBell」 - ネットの海の片隅で

    Rubyで一様な乱数が欲しければRandomやSecureRandomを使えば良いと思うのですが、「偏った乱数」が欲しいこともあると思います。 イメージとしてはゲームのパラメータとかですかね。 例えば、あるダンジョンで出てくる敵のレベルを20-30の間でランダムに決めたいときに、全てのレベルの敵が均等に出てくるとちょっと困ると思います。ここでやりたいことは 基的にはLv25くらいの敵が出現 たまにLv20やLv30の敵も出して緩急をつける みたいな感じです。 ゲームに限らず、「ある程度まとまっている一方で適度に散っている数字」が欲しいケースは結構あると思うので、そういったときに使えるgemを作ってみました。 方針 今までは得た乱数のべき乗をとったりして重みを付けていた。 得られる乱数の分布が砲弾型になって美しくない。 どういう分布が良いんだ? 釣り鐘型が良いと思う。 それって正規分布じゃ

    正規乱数を生成するgem「RandomBell」 - ネットの海の片隅で
    cpw
    cpw 2016/08/15
    正規分布のライブラリが欲しかったからピッタシ
  • SQL でファイル検索するコマンド selects を書いた話 | blog.jxck.io

    Intro UNIX コマンドを SQL で抽出できるツール qq を作った。 というエントリを読んで、そういえば似たようなものを作ってたなと思い出した。 自分の dotfiles の中にある、便利コマンド集の中にある selects についてである。 このコマンドは SQL という検索を記述的に表現する共通言語をファイル検索に応用し、 Ruby の動的言語として表現力を使って実装したものといえる。 その実装方法と実行例などについて記す。 selects 結論からいうとこういうコマンドだ。 $ selects mtime, size, basename from './entries/**/*' where extname '==' '.md' and size '>' 1000 order by mtime 2016-07-06 22:45:44 +0900 18437 web-font

    SQL でファイル検索するコマンド selects を書いた話 | blog.jxck.io
    cpw
    cpw 2016/08/07
    最近思うのはやっぱりSQL最強
  • Windows-31Jに変換する時の例外を防止するためのString拡張 - Qiita

    class String def sjisable str = self #変換テーブル上の文字を下の文字に置換する from_chr = "\u{301C 2212 00A2 00A3 00AC 2013 2014 2016 203E 00A0 00F8 203A}" to_chr = "\u{FF5E FF0D FFE0 FFE1 FFE2 FF0D 2015 2225 FFE3 0020 03A6 3009}" str.tr!(from_chr, to_chr) #変換テーブルから漏れた不正文字は?に変換し、さらにUTF8に戻すことで今後例外を出さないようにする str = str.encode("Windows-31J","UTF-8",:invalid => :replace,:undef=>:replace).encode("UTF-8","Windows-31J") end

    Windows-31Jに変換する時の例外を防止するためのString拡張 - Qiita
    cpw
    cpw 2016/05/28
  • Shift-JISなCSVを読み込む・書き出しするときにエラーを起こさない数少ない方法 - Qiita

    CSV.foreach("/path/to/file", encoding: "Shift_JIS:UTF-8") do |row| p row #->UTF-8な日語 end が。 Encoding::UndefinedConversionError - "\x87U" from Shift_JIS to UTF-8: とエラーが出てしまいます。 文字コードのオプションを付けてみる File#openの場合には、 {encoding: "Shift_JIS:UTF-8", undef: :replace} というオプションをつけて対応できますが、CSV#foreachなど、読み込み系のメソッドではこのオプションに対応しておらずに、エラーが出てしまいます。 ArgumentError - Unknown options: undef.: というわけで、csvモジュールにモンキーパッチを当

    Shift-JISなCSVを読み込む・書き出しするときにエラーを起こさない数少ない方法 - Qiita
    cpw
    cpw 2016/05/27
  • RailsでExcelを扱うGemまとめ - Qiita

    spreadsheet zdavatz/spreadsheet TheRubyToolboxによると、一番多く使われているらしい .xlsx, .xlsmは扱えない 新規作成、読み込み、書き出しが可能 セルの書式設定は面倒そう # 新規作成 book = Spreadsheet::Workbook.new sheet = book.create_worksheet(name: 'curry') # いろいろな方法でデータを入れられる # 計算式は入力できない sheet.row(0).concat %w{品名 単価 数量 計} sheet[1,0] = 'にんじん' sheet[1,1] = 80 sheet[1,2] = 1 sheet[1,3] = 80 row = sheet.row(2) row.push 50 row.push 2 row.push 100 row.unshift

    RailsでExcelを扱うGemまとめ - Qiita
    cpw
    cpw 2016/05/18
    RubyXLがよさそう。
  • MailCatcher

    MailCatcher Fork me on GitHubLatest version: 0.8.0 (released Tuesday, 20th July 2021) Catches mail and serves it through a dream. MailCatcher runs a super simple SMTP server which catches any message sent to it to display in a web interface. Run mailcatcher, set your favourite app to deliver to smtp://127.0.0.1:1025 instead of your default SMTP server, then check out http://127.0.0.1:1080 to see t

  • クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログ

    インフラストラクチャー部の成田(@mirakui)です。 Rails の OR マッパーである ActiveRecord ですが、みなさんどのように運用していますか? ActiveRecord を使うと、 SQL を直接扱うことなく、抽象化された表現で RDB にアクセスできるので、アプリケーションの開発効率という観点ではメリットが大きいです。 一方で、 ActiveRecord が駆使されているアプリケーションをサーバに配置してプロダクションとして運用する立場からすると、いくつかの問題に突き当たります。 まずはクックパッド体アプリケーションにおける、最新の rake stats をご覧ください。 +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC

    クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログ
    cpw
    cpw 2014/08/28
    少し前まではSIerの参考になってたのに、今では次元が違う話で全く適用できなそう。
  • RubyでGUIアプリを作るならJRuby JavaFX Rawrで決まり!

    Ruby大好きな私としては、一般配布するGUIアプリケーションとかもRubyで書きたい訳です。しかし、Windowsには標準でRubyは入っていないし、Macもバージョンが古い1.8.7が標準だしで、普段プログラミングなんかしない一般ユーザーさんでも簡単に起動できるアプリケーションを作るのがなかなか難しいという問題があります。 そういった問題から、クロスプラットフォームな言語・ライブラリ、例えばC++のQtなんかに一時期浮気したりもしたのですが、やっぱりRubyで書きたい。だってRubyが好きだから。 そして、色々調べまくった結果、はい、ついに「これだ!」と思えるRubyによるGUIアプリケーション開発環境を揃えることができました。それは… JRuby JavaFX jrubyfx Rawrこの組み合わせです…!それぞれ解説していきましょう。 JRuby … JavaRubyJRuby

  • Vagrant - naoyaのはてなダイアリー

    先日 Vagrant を触ってみたら便利すぎて鼻血が出ました。しばらく見ないうちに色々進んでるもんですねえ、いやはや参っちゃいました。 Vagrant は仮想マシンの VirtualBox のフロントエンドに相当する、ruby で書かれたツールです。vagrant コマンドなどを使ってコマンドラインから簡単に新しい VM を作れる。 % gem install vagrant % vagrant box add centos http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.3-x86_64-v20130101.box % vagrant init centos % vagrant upこれだけで CentOS の Linux box をローカルマシン内に立ち上げることができる。*1 *2 なにこれすごい。 % vagra

    Vagrant - naoyaのはてなダイアリー
  • MyrokuというHerokuっぽいものを実装してみた - As a Futurist...

    あけましておめでとうございます。SF アドベントカレンダーも書けず、2012 年のまとめとかも書けず、まぁ何をしてたかというと生きるのに精一杯だったんですが、あともう一個やってたのがアプリ書くってことでした。前から、自前で簡単につかえる Heroku っぽい PaaS があるといいなぁと思ってたのですが、やっと動くものができましたので公開します。”My Heroku”で Myroku。 riywo/myroku-cookbooks · GitHub riywo/myroku-server · GitHub どういうもの? 基の挙動は超シンプルです。Heroku っぽい感じ。 好きな名前のアプリを作成する(sample-app) .llenvに使いたい LL のバージョンを書く(node-0.9.3) Procfileに起動するプロセス書く(web: node app.js) 一番最初に

    MyrokuというHerokuっぽいものを実装してみた - As a Futurist...
  • オライリー・ジャパンのePUBフォーマットを支える制作システム

    オライリー・ジャパンから先日発表されたプレスリリース「ePUBフォーマットによる電子書籍のラインナップを開始します」にあるとおり、弊社トップスタジオはオライリー・ジャパンとの共同事業として、ePUBフォーマットでの電子書籍の制作を開始しました。 トップスタジオではこのePUBフォーマット電子書籍の出版候補の選定、翻訳、編集、そしてePUB制作までに関わっています。稿では、このePUBの制作プロセスを支えるシステムにフォーカスを当て、その仕組みについて紹介します。 フリーソフトウェア/オープンソースソフトウェアの集合体としてのシステム ePUBの作成にはいろいろな手法がありますが、制作を支えるシステムを構築する上で最も重視したのは、できる限り自動化し、手作業による調整を最小限にするということでした。そのため、このシステムでは原稿を常に最新マスターデータとしてそこから一方向にePUBを作成す

    オライリー・ジャパンのePUBフォーマットを支える制作システム
  • GitHub - jirokun/sig: Simple Image Generator

    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

    GitHub - jirokun/sig: Simple Image Generator
  • 最近やってるRailsプロジェクトのテスト方法 - #詰んでる日記

    Railsエンジニアになってから1年半くらいが経ち、社内のRailsプロジェクトを全部で5つくらい触って、今やってるAbilie*1でようやく人並みにテストを書いてる気がしてきたので、現時点でやってるテストの方法をまとめておく。 テストのルール的なの rspecでは必ずモデルのテストは書くようにしてる。ヘルパーも大体書いてるけど、コントローラやルーティングのテストはあまり書いてない。 というのも、コントローラーのコードを極力短くしてモデルを太らせているのでコントローラのテストはあんまり意味が無い気がしていて、その代わりにCapybaraでテストを書いておけば十分なんじゃないかなと思ってきたから。Capybaraは書いてるので、そういう意味では書いてるとも言える。 社内の管理者だけが使える管理画面も作ってるけど、そっちはテストあんまり書いてない。ここは動かなくなっても一般ユーザーには影響が

    最近やってるRailsプロジェクトのテスト方法 - #詰んでる日記
  • 今日から始めるサーバ構築の省力化 - GeekFactory

    SSHクライアントたくさん並べてペーストしまくるのが許されるのは小学生までだよね と言ってみたかっただけです。こんにちは。 Capistranoでサーバ構築を省力化する方法を紹介します。サーバ構築の自動化といえばChefやPuppetが有名ですが、CapistranoはサーバにSSH接続さえできれば利用できるメリットがあります。データセンタに持ち込むノートPCにCapistranoを仕込んでおけば便利なツールになるし、短期間に検証用のサーバを構築する場合も有用なツールになるでしょう。Capistranoはデプロイツールとして使われることが多いですが、サーバ構築にも有用です。 CapistranoはRubyで書かれたツールで、複数のサーバにSSH接続してコマンドを実行できます。同様のツールとしてexpectがありますが、CapistranoのスクリプトはRubyの内部DSLなので書きやすく拡

    今日から始めるサーバ構築の省力化 - GeekFactory
    cpw
    cpw 2011/12/30
    そろそろ使った方がいいかな。
  • おまいらもMacRubyでMacアプリ作ろう - すがブロ

    このエントリはRuby AdventCalender 2011の企画です Ruby Advent Calendar の25日目の記事です。24日目は@kwappaさんのHappy Xmas, Rubyists! | Kwappa研究開発室でした。 ちなみに、12/25と言うと、バカボンのパパや銭形のとっつぁんの誕生日として知られていますね*1。 26日はid:tackunさんのSinatraを使って、RESTFulなWeb-APIを作ってみたい - tackun noteです。 補足 2012/05/30 追記 MacRubyの情報は目次 - MacRuby DoJo (道場)に詳しく載っています。また、MacRubyとXCodeのバージョンによってはうまくプロジェクトが作成できない場合もありますが、そこについてもきちんとケアされていますので、MacRuby の環境を構築しよう - Mac

    おまいらもMacRubyでMacアプリ作ろう - すがブロ
  • Thinreports

    A PDF generation tools for Ruby, with design tool for editing templates. Thinreports Thinreports is a PDF generation tool that provides Thinreports Basic Editor and Thinreports Section Editor, a design tool for editing templates, and Thinreports Generator, a Ruby library for generating PDFs. Getting Started Thinreports allows you to create PDF layouts using the Thinreports Editor, and then load th

    Thinreports
  • Ruby向けOSS帳票ツール「ThinReports」、松江市の企業が島根県の助成で開発し無償公開

    マツケイは2011年11月2日、Ruby向け帳票ツール「ThinReports」の正式版をオープンソースソフトウエア(OSS)として無償公開した。GUI上で帳票を設計できるエディタも備える。マツケイは松江市の企業。島根県の助成を受け開発した。 ThinReportsは、GUI上で帳票レイアウトを設計できるデザインツール「ThinReports Editor」(写真)と、Ruby向けライブラリ「ThinReports Generator」で構成される。ThinReports Editorで作成した帳票レイアウトに基づき、ThinReports Generatorがデータベースから情報を読みだしてPDFを生成する(図)。ThinReports EditorはWindowsMacOS X、Ubuntuに対応。ThinReports Generatorが生成するPDFは暗号化やパスワード設定も可

    Ruby向けOSS帳票ツール「ThinReports」、松江市の企業が島根県の助成で開発し無償公開
    cpw
    cpw 2011/11/03
    帳票のエディタがOSSなのはいいね。