タグ

RubyとProgrammingに関するch1248のブックマーク (24)

  • カロリーメイトリキッドのQuineを書きました - まめめも

    縁あって、カロリーメイトリキッドのプロモーション用にちょっとした Ruby プログラムを書かせてもらいました。 www.otsuka.co.jp ↑のリンクを開いて、cd .Quine したところにある CML_quine.rb がそれです。 cat CML_quine.rb とすると中身が見えます。ruby CML_quine.rb すると動きます。 CalorieMate-Liquid-Quine 実行してみましたか?サイト上で気楽に実行できるので、ぜひ試してみてください。 これがどういうプログラムなのか、簡単に解説しておきます *1 。 ローカルでの遊び方 サイト上で ruby CML_quine.rb をするだけでも楽しめますが、自分のパソコンに保存するとより楽しめます。 まず、cat CML_quine.rb した中身をまるごとコピーしてください。 n=2;で始まる行の頭から、'

    カロリーメイトリキッドのQuineを書きました - まめめも
    ch1248
    ch1248 2020/08/05
    ヤバ過ぎる。
  • 京都のエンジニア学生がRubyKaigi2019に行って様々な体験をしてきました - 桐生あんずです

    桐生あんずです。 今年もRubyKaigiに行ってきました。 広島、仙台に続き、今回は福岡での参加です。気付いたらもう3回目でびっくりしました…… kiryuanzu.hatenablog.com kiryuanzu.hatenablog.com 1,はじめに 今年は株式会社ClassiさんのSchlarship Sponsorの支援対象に選んでいただき、チケット費・宿泊費・交通費を支援していただくことで参加することができました。当にありがとうございました。 また、2日目は懇親会にも呼んでいただき、Classiさんの社員の方々から良いお話をたくさん聞く事ができたり、インターネット上でずっと観測させていただいていたしんぺいさんとリアルでお会いしてエンジニアトークもできて、大変楽しい時間を過ごさせていただきました。 connpass.com これは余談ですが、この抽選が決まった後、応募してい

    京都のエンジニア学生がRubyKaigi2019に行って様々な体験をしてきました - 桐生あんずです
    ch1248
    ch1248 2019/04/26
    よい破滅だ!!!!!
  • “Rubyは死んだ”のか? まつもとゆきひろ氏が語る「プログラミング言語サバイバル」とRubyの未来 - Part1

    2018年12月14日、品川シーズンテラスカンファレンスにてRubyアソシエーションが主催するイベント「Ruby Business Users Conference 2018 Winter」が開催されました。すでにRubyを活用しているユーザーや、これからRubyをビジネスに活用しようと考えている人が集い、情報交換を行いました。基調講演「プログラミング言語サバイバル」に登壇したのは、一般財団法人Rubyアソシエーション理事長のまつもとゆきひろ氏。Rubyの開発をはじめて25年、今日のプログラミング言語の潮流とRuby開発者として感じている危機感について語りました。 プログラミング言語サバイバル まつもとゆきひろ氏(以下、まつもと):どうもこんにちは、まつもとと申します。今日は「プログラミング言語サバイバル」というタイトルでお話をしようと思います。 今年は、2月にイベントをやりましたが、Ru

    “Rubyは死んだ”のか? まつもとゆきひろ氏が語る「プログラミング言語サバイバル」とRubyの未来 - Part1
  • RubyはメッセージのないSmalltalkか、に関するまとめ

    アベ先生 (CV: 阿部和広) @abee2 Rubyは要するにメッセージのないSmalltalkと言ったところで、結局はLispに行き着くのか。 RT @goodmad 「いまRubyがブームだが、Rubyは要するにカッコのないLisp」(竹内郁雄) 2010-09-28 03:14:21 sumim @sumim メッセージ性のない(つまり主張・思想的背景の薄い)Smalltalkと空目。それなら納得ですが原則としてRubyがSmalltalkよりLISPに似ているとの主張には強い違和感を覚えます。どちらかをよく知らないか、利益誘導か。>Rubyは要するにメッセージのないSmalltalk 2010-09-28 10:43:32

    RubyはメッセージのないSmalltalkか、に関するまとめ
  • メモリとスタックとヒープとプログラミング言語 | κeenのHappy Hacκing Blog

    κeenです。 今回の話は別にRustに限ったものではないのですが、よくRustを始めたばかりの人がスタックとヒープが分からないと言っているのをみかけるので少しメモリの話をしますね。 厳密な話というよりは雰囲気を掴んで欲しいという感じです。 メモリは配列 プログラム(プロセス)のメモリには実行するプログラム(機械語)やグローバル変数/定数、関数の引数やローカル変数、その他プログラムで使うデータ領域などを置きます。 プロセスに割り当てられるメモリというのは、1つの巨大なのっぺらな配列みたいなものです。サイズも決まってます。64bit OSなら2^64 byteです。 0 2^64 +--------------- ----+ | | | | | ~~ | | +--------------- ----+ これは仮想的なメモリなので実際の物理メモリに2^64 byteの配列がドンと確保される訳

    メモリとスタックとヒープとプログラミング言語 | κeenのHappy Hacκing Blog
    ch1248
    ch1248 2017/04/30
    Cのheap管理を「手でやるのでバグります」と言い切るのはどうだろう。1つのプロセスを小さくし、こまめに終了させ、メモリをOSに回収させるという方針はあるが……。
  • Big Sky :: Matz の「言語のしくみ」を読んだ。

    Twitter で「言語のしくみ」読みたいなって呟いたら Matz 人から「献しましょうか」とメンション頂いて即答でお願いしました。ありがとうございます。 ひさびさ紙のを通勤電車の中で立ちながら読んだので手がだるくなりました。なんだか懐かしい感じがしました。 さてこのですが、一言で言うとこんなです。 Ruby のパパこと Matz が雑誌の連載に追われながら試行錯誤して作ったプログラミング言語「Streem」を解説する 聞こえが悪かったらすみません。言いたいのはこの「試行錯誤」がとても良いエッセンスになっている点なのです。実際にはその連載記事をまとめた物に対して、この当時はこの様に考えていたが後になってみると実は良く無かったといった振り返り「タイムマシンコラム」で構成されています。 この連載が1つのに纏められた事でプログラミング言語設計者の葛藤が非常に良く表されているな、そう

    Big Sky :: Matz の「言語のしくみ」を読んだ。
  • PythonからRubyに移行した人間の印象 - Line 1: Error: Invalid Blog('by Esehara' )

    今日の料理 安物のねぎとろは、納豆と良くあう。 前提 はじめてのにき(2016-06-16) より。 このエントリの立ち位置について 元々はPythonを勉強していたのだけれども、仕事の関係上、Rubyを主軸にすることにした人間のエントリです。ちなみに、PythonRubyの立ち位置には詳しくなく、主観を元に構成されているので、客観的な部分に関しては弱いことをお断りしておく。また、現時点での知識が2.7になっているので、3.5では多少違う点があるかもしれない。 なぜならPythonのほうが「わかりやすかった」から まず最初に、Pythonのほうが機械科学系の人に支持されやすい傾向としてあるのは、Pythonのライブラリ、例えばNumpyであったり、Scipy、または各種機械学習系のライブラリなどの影響が大きいのは間違いない。最近の機械学習ブームのせいなのか、Pythonも「エモい人(エモ

    PythonからRubyに移行した人間の印象 - Line 1: Error: Invalid Blog('by Esehara' )
  • Rubyで書いていたら破滅したので、Lisp/Racket で書きなおしたお話 (『プログラミング言語の基礎概念』について) - Line 1: Error: Invalid Blog('by Esehara' )

    今日のアート mograg garageで行われたKYOTAROさんという方が描かれた絵です。 手帳にも描いてもらいました。ありがとうございます!! 概要 タイトルが釣りっぽくなって申しわけない(だったらやらなきゃいいじゃん……)。 普段は練習にRubyを利用しており、あるコードを規則に従ってステップを作成するプログラムを作っていたところ、とてもではないが、メンテすることが不可能になってしまった。なので、Lispの方言の一つであるところのRacketを使ったところ、サクサクと実装できるようになった。なぜこの違いが生まれてしまったのか、できるだけプログラミング言語の特性に依存せずに、この違いを語ろうと思う。 はじめに つい最近、知人と出あったところ、『プログラミング言語の基礎概念 (ライブラリ情報学コア・テキスト)』が話題にのぼった。このテキストはオンラインによる問題集が付属しており、知人に

    Rubyで書いていたら破滅したので、Lisp/Racket で書きなおしたお話 (『プログラミング言語の基礎概念』について) - Line 1: Error: Invalid Blog('by Esehara' )
  • 目が見えなくてもプログラミングできるよ - Qiita

    はじめに こんにちは!@moutendです。私は視覚障害があるので、普段は画面を見ずにMacのVoiceOverというスクリーンリーダーの音声のフィードバックを頼りにプログラミングをしています。ところで最近@ssotoyaさんの記事にて音声を頼りにプログラミングする様子が公開されました。スクリーンリーダーの音声を聞いたことがありますか? - ラック公式ブログ - 株式会社ラック@ssotoyaさんは全盲のため全く目が見えないのですが、超高速でコーディングをされています。控えめに言って最高にロックです。私も負けていられません。ということで、この記事に触発されて、私も画面を全く見ずに音声のフィードバックのみを頼りにプログラミングしている様子をキャプチャしましたので公開してみます。具体的には、QuickTimeのスクリーンキャプチャ機能を使って画面を撮影しつつ、音声はsoundflowerという

    目が見えなくてもプログラミングできるよ - Qiita
    ch1248
    ch1248 2016/03/21
    すげえ
  • Web界から組み込みに向けられた刺客「mruby」はこう使われている

    Rubyの良さを組み込みに」を合言葉とする開発言語「mruby」は公開以来、着実な進歩を遂げ、さまざまな場面での利用も進んでいます。ここでは「Web界から組み込みに向けられた刺客」(まつもとゆきひろ氏)たる、mrubyの採用事例を紹介します。 mruby(軽量Ruby)は経済産業省「地域イノベーション創出研究開発事業」として2010年に始まり、2012年4月にオープンソース(MITライセンス)として公開された組み込み向け開発言語です。「Rubyの良さを組み込みに」を合言葉に開発されたmrubyは発表よりはや3年、たくさんの人々の協力でさまざまな形の改良がくわえられ、現在ではライブラリは170を超え、デバッガー対応の安定版「mruby V1.2.0」が発表(2015年11月)されるなど着実に進化しています。 Rubyは開発しやすい、生産性の高い言語としてWeb開発などに広く使われている言語

    Web界から組み込みに向けられた刺客「mruby」はこう使われている
  • コーディング面接の例 - soutaroブログ

    プログラマの面接をするときには実際にコーディングをしてもらうべきという話は良く聞くが、もうちょっと細かくどういうお題を出したら良いかとか、どういう風に評価したら良いかとかの話はあんまり聞かない気がする。せっかくなので、ユビレジでの面接で私がコーディングについて確認するときのパターンを、いくつか紹介してみようと思う。 実際にコードを書いてもらうパターン 候補者がどのくらいプログラミングできそうかの予備情報がない場合に、簡単なアルゴリズムを書いてもらうことが多い。例としては、 Linked Listを書いてください Stackを書いてください など。ここで、おもむろに int main(int argc, char* argv[]) { などと書き始める人は、あまり良い印象をもたれない。 class Stack などと書き始める人は上よりは期待できる。 このとき、わざと出題で詳細をあまり明らか

    コーディング面接の例 - soutaroブログ
    ch1248
    ch1248 2015/06/22
    mainの話、「評価が悪い」ではなく、「あまり良い印象をもたれない」か。
  • なるほどUnixプロセス ― Rubyで学ぶUnixの基礎

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 達人出版会 3,520円 (3,200円+税) 『Working with Unix Processes』待望の完訳。並列処理やデーモン、プロセス生成、そしてシグナルといったUnixの基礎であるプロセスについてRubyで解説する、「今どきの」開発者に向けた新しいUnixプログラミングの手引きです。 ※書の公式ハッシュタグは#naruhounix になります。 関連サイト原著者による公式ページと訳者らによるサポートページがあります。 Working With Unix Processes - Learn the Fundamentals of Unix Programming in RubyなるほどUnixプロセスサポートページ 日語版刊行によせてRuby

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎
  • RAII以外にもある後処理の書き方 - イグトランスの頭の中

    言ってしまえば、高階関数は便利だねという話でもあるわけです、それに加えてC++特有の事情があるだけで。 C++視点からのRuby紹介 // Speaker Deckの52ページ目の「ブロックを使ったRAIIっぽい機能」より。 ブロックを使ったRAIIっぽい機能 File.openメソッドファイルを開いた後、受け取ったブロックを実行例外の発生有無にかかわらず最後にファイルを閉じるスコープを抜けると自答的にリソースが閉じられるRAIIと共通しているこのような書き方はC++でも有用です。なぜなら、C++には事実上「デストラクタで例外を投げてはいけない」ためです(cf. More Effective C++ 項目11 デストラクタで発生した例外を抑える)。 そこで、ブロック引数のように関数(オブジェクト)を実引数に取る関数という方法です。後処理に失敗する可能性のある処理を抽象化する方法として有力な

    RAII以外にもある後処理の書き方 - イグトランスの頭の中
  • Q言語 - 紙とペンの感動をキーボードでも -

    Any languages R, Ruby, Haskel...各言語への簡単なAPIを書くだけでどんな言語にもコンパイル出来ます.

  • 放射線耐性 Quine (1 文字消しても動く Quine) - まめめも

    ref: https://github.com/mame/radiation-hardened-quine 放射線はメモリエラーを引き起こすらしいです。そんな放射線が飛び交う過酷な環境でも、できることなら Quine したい。 ということで、プログラム内の 1 文字をランダムに消しても元のプログラムを出力する、なんともロバストな Quine を書きました。*1 何を言っているかわからないと思いますが、こんなふうに動くものです。 # ランダムに 1 文字消すスクリプト $ cat mutate.rb src = $<.read src[rand(src.size), 1] = "" print src # rrquine.rb からランダムに 1 文字消したプログラムを生成する $ ruby mutate.rb rrquine.rb > broken.rb # 壊れたプログラムを実行する (

    放射線耐性 Quine (1 文字消しても動く Quine) - まめめも
  • RubyMotion を1年以上使い続けてみての雑感 - naoyaのはてなダイアリー

    RubyMotion Advent Calendar 2013 に何か書こう、ということでエントリ。 ご存知のように iPhone アプリの HBFav は RubyMotion で作っています。Objective-C ではなく。以前は Titanium Mobile で作っていましたが、去年にバージョン2として作り直すにあたって RubyMotion に移行しました。 RubyMotion に関しては以前、以下のエントリで概要を説明しています。 RubyMotion - naoyaのはてなダイアリー それから、今年 5月に開催した RubyMotion カンファレンスのスライドなどもあります。 実践RubyMotion - Speaker Deck RubyMotion が発表されたのは 2012 年の5月 とかで、それからずっと使い続けているので1年半近くが経ったことになります。App

    RubyMotion を1年以上使い続けてみての雑感 - naoyaのはてなダイアリー
  • つくって学ぶプログラミング言語 RubyによるScheme処理系の実装

    プログラミングをより深く理解するための近道は、プログラミング言語を実装してみること。SchemeのサブセットをRubyで実装していくことで、プログラムはどう実行されるのか、その基がはっきり分かります。 ※書はCC BYにより配布されています。上記の「買い物かごへ」ボタンからは有償で購入できます。無料で入手したい場合は、下記リンクよりダウンロードしてください。なお、有償版も無償版も内容は同一です。 EPUB版PDF版内容紹介プログラムは書けても、その基礎となっている計算機科学(コンピュータサイエンス) の理解があやふやな人を、著者は多く見てきました。プログラミングに自信があるという人が、もう一歩先に進める道を示したいというのが、この文書を書き始めた動機です。 この文書を読むことで次の効果が得られることを期待しています。 プログラミング言語とは何かを深く理解することで、プログラミングのレベ

    つくって学ぶプログラミング言語 RubyによるScheme処理系の実装
  • 松江市が中学生Ruby教室用ソフト一式をGitHubで公開、テキストもCCで無償配布

    松江市は2013年6月26日、同市が実施している中学生Ruby教室で使用しているソフトウエア一式を無償公開した。ソフトウエア開発プロジェクトホスティングサイトの「GitHub」の、rubycitymatsueのリポジトリから自由にダウンロードできる。テキストもすでに2012年にクリエイティブ・コモンズ(CC)ライセンスで無償配布している。 中学生Ruby教室は、松江市が市内の中学生を対象として実施している教室。1日または半日でRubyを使いプログラミングを学ぶ。2009年より開始し、のべ参加者は200人を超えている(関連記事)。 松江市は中学生Ruby教室のほか、中学生向けにRubyのeラーニング事業を進めている。また中学校の授業でのRuby講座実施を目指しており、市立中学校で中学生Ruby教室のテキストを利用した実証実験を行っている。

    松江市が中学生Ruby教室用ソフト一式をGitHubで公開、テキストもCCで無償配布
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • Rubyのcaseを〇〇(言語名)のswitch文だと思っている人たちにぼくから一言ガツンと申し上げたい

    Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def