Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

rubyに関するyachimonのブックマーク (49)

  • アニメ「Sonny Boy」の『難解』プログラムの解説 - まめめも

    『Sonny Boy』というアニメが放送されています。学校が異次元に漂流してしまい、超能力に目覚めた生徒たちがサバイバルしながら、さまざまな奇妙な現象の裏にあるルールを解き明かし、元の世界に変える方法を探す、というストーリーです。ルールが分かったあとで何度も見直したくなります。 anime.shochiku.co.jp さて今回、『Sonny Boy』に、プログラムを寄稿しました。プログラムでおもしろいCGを作ったとかではなく、プログラムの実行の様子そのものが『Sonny Boy』の5話の中で放送されました。 こういうプログラムです。 nankai.rb このプログラムがどういうものだったかを解説します。 どんなプログラム? 実行すると、「難解」という文字がほどけてなくなるアニメーションをします。 起動したらまず、プログラム自身が画面に表示されます。 しばらくしたら「難解」が左から右へほど

    アニメ「Sonny Boy」の『難解』プログラムの解説 - まめめも
  • まつもとゆきひろのツイッターを見てRuby使うのをやめようと思った

    Matzことまつもとゆきひろといえばプログラミング言語Rubyの作者なのだが、技術的にはともかく政治的にはツイッターを見ていてとてもつらい。 「高度プロフェッショナル制度」について 高度なスキルを持つと自負し、高い裁量が欲しい私のような労働者を野党が目の敵にしてることはよく分かった。実に残念だ。— Yukihiro Matsumoto (@yukihiro_matz) March 1, 2018 「定額働かせ放題」とも呼ばれ、専門性も裁量性も低い業種への拡大が懸念される「高度プロフェッショナル制度」について、問題点を理解せず反対する野党を揶揄。 「IT 業界を苦しめたいか、生産性を高めるのを阻害したい勢力」について 軽減税率といい、改元といい、サマータイムといい、IT 業界を苦しめたいか、生産性を高めるのを阻害したい勢力が政治をコントロールしている陰謀論を信じたくなるな。— Yukihir

    まつもとゆきひろのツイッターを見てRuby使うのをやめようと思った
  • カロリーメイトリキッドの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を書きました - まめめも
  • ruby 0.62 のソースコードを復活させた - まめめも

    RubyKaigi の後夜祭で、akr さんが「327 種類の Ruby をビルドする方法 〜0.49 から 2.6.0-preview2 まで〜」という発表をされていました。 RubyKaigi 2018 After Party で話したスライドです: 「327 種類の Ruby をビルドする方法 ~0.49 から 2.6.0-preview2 まで ~」https://t.co/J5MXgM2PNN— Tanaka Akira (@tanaka_akr) 2018年6月4日 その中で、ruby-0.62.tar.gz と ruby-0.63.tar.gz のファイルは「gzip 形式じゃないといわれて展開できない」ということで、ビルド対象から外されていました。 いろいろやって、めでたくこの 2 ファイルを復活させることに成功しました。そのプロセスを書きます。 なお、壊れていたファイルも

    ruby 0.62 のソースコードを復活させた - まめめも
  • GitHub - everyleaf/el-training: 株式会社万葉の新入社員教育用カリキュラム

    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 - everyleaf/el-training: 株式会社万葉の新入社員教育用カリキュラム
  • Rubyが今のPythonの地位にいない理由

    _ Rubyが今のPythonの地位にいない理由 歴史のことなんぞなんも知らんけど、「技術的には今のPythonの地位はRubyでもよかったのに、そうならなかった」のが何故か、その理由を書いてみよう。僕はRuby歴史なんて知らないし、以下の文章は全部、まるで見てきたかのように書いてますが、適当に書いたくせに何故か断言口調になっている怪文書の類いです。 https://twitter.com/mametter/status/741950239662170112 まめさんの書いた理由リストはどれも関係ない。いやカスってるけど。難しいというのも関係ない。 僕がRubyを知ったころ…最初に書いた通りRuby歴史なんて知らないので、別に早くもないわけだけど…Rubyというのは全く使われていない言語だった。どっかの好き者がPerlの替わりに単純な処理に使って、「ウフ、美しくかけた、グフッ」とかつぶ

  • Pythonを退職します - Line 1: Error: Invalid Blog('by Esehara' )

    Pythonが嫌いになったの? Pythonについて嫌気が差したとか、Pythonが嫌いになったわけではありません。これからも一番好きな言語は恐らくPythonですし、実際のところ、機会があればPythonは書こうと思います。ですので、決して言語としてPythonが嫌いになったわけではありません。 そもそも、職業プログラマとして、ちゃんとしたオブジェクト志向を教えてくれたのはPythonでした。Pythonは、その言語仕様からして、出来るだけ簡潔かつ、綺麗に書けるし、Pythonについて深く知れば、プログラミングとはどういうことなのかについて、詳しく知れるほどの、わかりやすい言語であることは事実ですし、初心者向け言語として、Pythonは強く押したいという気持ちは今も変わりませんし、ずっとPythonならびにそのコミュニティに関して感謝の気持ちはずっと忘れないでしょう。 また、近年ではPy

    Pythonを退職します - Line 1: Error: Invalid Blog('by Esehara' )
  • ウェブアプリにおけるBash脆弱性の即死条件 #ShellShock - めもおきば

    条件1. /bin/shの実体がbashのディストリビューション RHEL CentOS Scientific Linux Fedora Amazon Linux openSUSE Arch Linux (自ら設定した場合: Debian, Ubuntu) 条件2. 動作環境 CGI (レンタルサーバでありがちなCGIモードのPHP等も含む) Passenger(Ruby) 条件3. プログラム内容 Passengerは全死亡 *1 systemや `command`、 '| /usr/lib/sendmail' などで外部コマンド実行 *2 PHPのmailやmb_send_mail、その他フレームワーク等を介したメール送信 *3 以下は条件1が不要 明示的にbashを呼ぶ 先頭で #!/bin/bash や #!/usr/bin/env bash しているプログラムを実行 (rbenv

    ウェブアプリにおけるBash脆弱性の即死条件 #ShellShock - めもおきば
  • 相手がいないのに ESTABLISHED になってる TCP ポート - tmtms のメモ

    最近 ParallelServer というライブラリを作ったのですが、その最中に奇妙な状態になってる TCP ポートを見つけたので、メモっておきます。 Ruby では TCP サーバーは次のような感じで作ることができます。お手軽ですね。 require 'socket' Socket.tcp_server_loop(12345) do |socket, client_addr| socket.puts "Your IP address: #{client_addr.ip_address}" name = socket.gets socket.puts "Hello, #{name}" socket.close end これは 12345 ポートでクライアントからの接続を待ち、接続されたらクライアントのIPアドレスとクライアントからの入力をクライアントに送信して切断するだけの簡単なプログラム

    相手がいないのに ESTABLISHED になってる TCP ポート - tmtms のメモ
  • (PDF) Rubyを始点としてもう一つのエンタープライズ開発を続けたあるSIerの事例

  • あらためてRuby製のクローラー、"anemone"を調べてみた - プログラマでありたい

    3年ほど前に、Ruby製のクローラー"anemone"を紹介しました。その当時から完成度が高く、Rubyでクローラーを使う場合はanemoneを利用してきました。最近、他に新しくて良いのがないか調べましたが、機能面の網羅性という意味でanemoneを超えるものは見つけられませんでした。そこで改めてanemoneのソースを読んでみたところ、クローラーが必要とする機能を必要最小限で実装され、やはり中々良い出来です。冬休みの宿題ではないですが、勉強の意味を兼ねてソースを追っていくことにします。 Anemoneが利用しているライブラリ一覧 anemoneが利用しているライブラリは、4種類に分類できます。 Ruby標準or一般的なライブラリ データ取得で利用しているライブラリ データ解析で利用しているライブラリ データ保存で利用しているライブラリ この分類別に構造をみるとわかりやすいので、順番に追っ

    あらためてRuby製のクローラー、"anemone"を調べてみた - プログラマでありたい
  • '10年代のRubyコア用語集

    IRC (あいあーるしー) 「教養チャンネル」とも「衒学チャンネル」とも呼ばれる。ほとんどのタイミングで日史か中欧史か仏教史か英語史の話をしている。たまにRubyの話題になると逆に違和感が… ISeq (あいせく) RubyVM::InstructionSequence のこと。長いので誰も正式名称で呼ぼうとしない。 rubyスクリプトのいくつかある表現型の中でもっとも低レベルな表現。現在、rubyスクリプトからISeqを生成する機能は公開されているが、そのようにして生成したISeqを実行する機能はセキュリティ上の懸念から(作られてはいるが)封印されている。→ AST ID (あいでぃー) 型。rubyレベルでいうSymbolにほぼ相当するもの(ちょっとだけ違う)。objcプログラマーはこれを見てVALUEと混乱しないように。 assn (あさしん) IRCで彼らがアサシンと呼んでいるも

    '10年代のRubyコア用語集
  • Visualizing git blame

    Git には git blame というコマンドがあり(他のツールでも同様の機能は提供されている)、これを使うことでソースコードのどこを書いたのが誰か、という情報がline-by-lineで取得できる。この情報は行単位なので一次元の情報だけれど、適切な空間充填曲線に乗せることで二次元にマッピングできて、それに適当に作者ごとに色をつけるということをやってみると色々楽しい。そのスクリプトはひじょうにstraight-forwardな記述だとこういった感じになる。上の絵はruby 1.8.7に対する実行結果で、ChangeLogとかのあきらかに面白くないファイルは除外してあるからまあ、そのままの結果ではないけれど、これを見ると色々な思いが去来する。 Ruby 1.8.7 は多数の開発者が手を入れており、少数の支配的な貢献者といったような存在をみいだすことができないしかしながら、全体がのっぺりと灰

    Visualizing git blame
  • 桐島、Rubyやめるってよ #odrk03 - I am Cruby!

    大江戸Ruby会議03の招待講演として発表してきました。たのしかったです!! 桐島、Rubyやめるってよ from Narihiro Nakamura 「思いっきりエモい(emotional)、コードが一行も出てこないプレゼン」をRubyKaigi系列で一度やってみたいという思いがあり、上記のようなネタを考えてみました。 ただ、かなり幅広い層に見られる(古参Rubyist、初心者Rubyist、コミッタ)こともあり、いずれの層にも楽しんでもらえる話にしなければ、と思って、だいぶネタを練りました。 特に超練度が高いRubyistたちにどのように受け入れられるか心配ではあったのですが、artonさんや咳さんに「面白かった」と言ってもらえてホッとしました。 懇親会等ではありがたいことにみなさんから絶賛系のコメントをいただくことが多く、逆に心配になるくらいだったのですけど、akrさんだけは「目的オ

  • Rubyがそろそろ一回終わってみるべきに至る道

    前田先生ほどの人がアイタタな読み間違いをしている のを発見して、すこしコンテクストを解説しておいたほうがいいと思った。 まずまつもとゆきひろは(Rubyを)100年続けると威勢がいい。が、その割に掛け声ばかりで実際どのようにして100年続くことが可能かについて何も語らない。特に人がいなくなってからの流れを整備しようという話にならない。前の項にも書いたが、100年続けるなら一人では無理なのにだ。一方、続けないとなると無論終わるしかないわけだが、終わるというのもそれはそれでテクニカルである。大抵の言語は終わるとなると不幸な終わり方しかしない。どっちに転ぶにしろ大変難しい領域があることがわかる。 ところで最近、様々な事案について責任者不在で議論が進まない状況が多々見られるようになってきた。一例をあげるなら標準添付ライブラリのGem化の話題は、あとは責任者がGoとかStopとか言うだけのところま

    Rubyがそろそろ一回終わってみるべきに至る道
  • TwitterのbotをOAuthに対応させる - しばそんノート

    Twitterの認証方式について Twitterの認証方式にはOAuthとBasic認証の二通りの仕組みがあります。 Twitter API Wiki / Authentication Basic認証はお手軽なので、世に存在するTwitter APIを利用する一般的なクライアントは、大抵がこちらの方法を使っているのではないかと思います。 ですが、実はこのBasic認証はセキュリティ上の理由から、将来的に非推奨になることが予告されています。 Twitter API Wiki / OAuth FAQ 既にTwitter API Wikiでは「今後作成するクライアントはOAuthを利用することを強く推奨する」と表明されており、それに応じてOAuthを使うクライアントも増えてきています。 …が、現状Basic認証を利用しているクライアントが既に大量に存在していることを考えると、今日明日でBasic

    TwitterのbotをOAuthに対応させる - しばそんノート
  • Twitterでフォローしてくれている全ユーザ名を取得する - (゚∀゚)o彡 sasata299's blog

    2009年09月27日09:07 Ruby Twitterでフォローしてくれている全ユーザ名を取得する RubyTwitter を扱うには、Twitter4R という便利なライブラリがあります。gem を使えば以下のようにしてインストールできます。必ず最新版 (0.3.1) をインストールすることをオススメします。僕は 0.3.0 を使っていたんですが、friend メソッドが GET でアクセスするようになっていて上手く動かず苦労しました。(POST にすれば動きました) sudo gem install twitter4r あと、読み込み方法にちょっと癖があるので気を付けてください。 require 'rubygems' require 'twitter4r' # これはエラーになる require 'rubygems' gem 'twitter4r' require 'twit

    yachimon
    yachimon 2010/03/31
    :cursor で指定する形に変わったけど、それに対応したスクリプトが探してもみつからない…
  • Twitter で Unfollowers (アンフォローをした方)をチェックする簡易スクリプト

    Table of Contents Open Table of Contents スクリプトを準備した経緯 Unfollowers をチェックするスクリプト SimpleTwitter Unfollowers をチェックするスクリプト スクリプトを準備した経緯 Twitter を始めて早 2 ヶ月が経とうとしている。 「Google Reader なんかもういらない!」(Rest in Peace, RSS)という記事に触発されて始めてみたのだが、自分自身には相変わらず Google Reader は必需品だ。。(用途の棲み分けはできている) ただ、これまで触れ合うことはなかった方々と触れ合えたり、Google Reader と合わせて貴重な情報源となっており、今では Twitter も必需品だ。 そんな中、「Twitter で Unfollowers (アンフォローをした方)を調べるには

  • SinatraでTwitter Streaming APIにアクセスする超簡単なWebアプリのつくりかた:Kenn's Clairvoyance

    Twitterには、ストリーミングAPIという、プッシュでリアルタイムに情報を受け取ることのできるAPIが用意されています。 これを使えば、定期的にポーリングをしたりすることなく、誰かが発言した時点で即座にメッセージを受け取れます。 しかし、これを使うためには、TCP接続をTwitterに対して張りっぱなしにしておく必要があり、Webアプリなどで使うのに敷居が高いと感じている人もいるのではないでしょうか。 今回は、「そんなことないよ、超簡単だよ」ということを、Rubyベースのサンプルで示したいと思います。 なぜそんなことが簡単にできるのか、その秘密を先に種明かしすると、Ruby用のWebサーバとして急速に人気を獲得し、デファクトの座をとりつつある「Thin」というWebサーバが、内部的にEventMachineという非同期サーバを使用しているので、その機能を使うことで、今までのWebアプリ

    SinatraでTwitter Streaming APIにアクセスする超簡単なWebアプリのつくりかた:Kenn's Clairvoyance
  • twitterからmixiボイスにポストするスクリプト関連まとめ+修正版 - 5.1さらうどん

    1時間ぐらいで適当に書いたコードですが、ものすごい反響をいただいてまさかのホッテントリ入り!ブックマークしてくださった方、ブログで紹介してくださった方、誠にありがとうございます。twitterからmixiボイスにマルチポストするRubyスクリプト書いた - 5.1さらうどん 僕自身、Rubyを始めて一月足らずという素人なので、トラックバックやブクマコメ、twitterなどで様々な問題点を指摘していただきました。というわけで、改良していただいたスクリプトの中で僕が把握しているものを順不同でまとめて紹介してみる。 twitter2mixi - @・ェ・)やるっきゃない無駄に多くの処理が行われていたり、複数のつぶやきをポストするときに順番が反転してしまう問題を修正していただきました。ここでいただいたご意見を元に、僕自身もスクリプトを書き直してみた。 2009-09-19 - えいるっき。僕が作っ