Hackers Champloo 2025でのトークです https://hackers-champloo.org/2025/
2024年春、「競プロの神」と「Rubyの神」がホンネで語り合った。 競プロの神は、日本最大の競技プログラミング(競プロ)サイト「AtCoder」を率いるchokudaiこと高橋直大(たかはし なおひろ)さん。Rubyの神は言うまでもなく、Rubyの開発者である、Matzことまつもとゆきひろさんだ。 神々が対面したのは、学生エンジニアのキャリアや就職活動(就活)を支援する「サポーターズ」が、エンジニアを目指す学生のために開いているオンラインカンファレンス「技育祭2024春」のプログラム「競プロの神とRubyの神のエンジニア対談~神々の一問一答~」。 最初は“神”の呼称に困惑していた2人だが、chokudaiさんは「競技プログラミングサイトで一番はやっているのはAtCoder。僕はそこでユーザーをBANする権限を持っているので神じゃん、と思いました」と納得。まつもとさんは「僕は、Rubyコミ
プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。1回目は、「アイデアだけでは十分ではない」について。 Ruby開発のきっかけ まつもとゆきひろ氏:じゃあ、始めます。Rubyを作り始めた記録が残っているんですが、その当時勤めていた会社の先輩にあたる人が、本を書くという話になったんですね。 その時に、彼は『プログラミング言語を作りながら学ぶオブジェクト指向』という本を書くと言ってきたんですね。編集の人と話をしていく中で「どういう企
One of the longest running schisms in programming is that of static vs dynamic typing. I've heard a million arguments from both sides throughout my entire career, but seen very few of them ever convinced anyone of anything. As rationalizations masquerading as reason rarely do in matters of faith. The rider will always justify the way of the elephant. That's not to say there aren't people who've sw
このプログラムは、Ruby 0.49(1994年リリース)からRuby 3.2.1(今月リリース)まで、現在確認されているすべてのCRubyで動作するQuineです。 eval($s=("t='eval($s=('+d=34.chr;s=3 2.chr+$s*i=8;v=$VERSION||eval('begin;v=V ERSION;rescue;v||RUBY_VERSION;end');f=('?'*8 +'A|'+'?'*20+'G?c'+'?'*15+'A@CXx@~@_`OpGxCxp@~pO xS|O~G?c?q?xC`AP|q?x_|C_xC_xO@H@cG?G?qA|_|_`GCpOxC|H NFccqq@`_|OF@`?q?x_@x_x_`GB`O``O~G?C@qCxCxP@D@|G~C?pO|C? pO|C?AP|A~HNN`ccxC|Q@L@B"+"GpGpc@p
2022-09-09改訂: gcc バージョンが古すぎたのと、C が内部計測でなかった点を改め計測しなおしました。結果、Rust は C より速くはなくなりました。紛らわしいことで、ごめんなさい。また、gcc のバージョンアップに伴い、Python および Ruby についてはビルドと計測をしなおしたので、これらも少し速い値に変わっています。この点もどうぞあしからず。 2022-09-10追記:ご要望のあった Python numba.njit 使用時と Go の結果を追加しました。PHP は JIT 有効化が面倒だったので断念しました^^; 2022-09-10追記2:C の計測で clock() を使うのはフェアではないという指摘がありましたので、念のため clock_gettime() を使用したコードに差し替えました。結果に大きな差はありません。 2022-09-10追記3:PHP
2022-03-03-WAR.md https://zverok.space/blog/2022-03-03-WAR.html 翻訳 ハリコフのRubyistからRubyコミュニティへのお願い 2022年3月3日 やぁ、僕はVictor Shepelev。ウクライナのハリコフに住んでいて、TwitterやGitHubでは@zverokというIDで活動している。 僕がRubyを書き始めたのは2003年からで、いくつかのライブラリやRuby Changelogのメンテナだ。国際的なカンファレンスや/r/rubyなんかで君たちと会ったことがあるかも知れない。今年、僕はRubyコミッターに申請して、嬉しいことに承認された。僕が取り組んでいるのは(いくつかの小さな機能追加と共に)Rubyドキュメントの改善だ。僕のRubyに関する作業の一覧はここで確認できる。 東ヨーロッパ出身であることや、短気な性分
PDFのみの提供です。紙書籍はありません ご購入にあたっては下記の「β版についての注意」をよくお読みください 将来発売予定の正式版(本体価格未定)を差額等でお求め頂くことはできません 原則を学んで腕を磨き、さらなる高みを目指す Jeremy Evans 著、角谷信太郎 訳 原書 Polished Ruby Programming A5判 2021年11月30日 発行 β版へのフィードバック 本書の目的は、中級から上級のRubyプログラマーが従うべき有用な原則を伝えることです。 解決策をどのように実装するかだけではなく、さまざまな実装方式と、それらの間のトレードオフ、ある方式が特定の状況下ではなぜ有効なのかといった観点も重視します。 原則を伝えることが本書の主な目的ですが、Rubyプログラミングの発展的な技法について説明することもあります。(本書β版「はじめに」より) 本書の対象読者 中級か
概要 パーサとスキャナ プログラム言語のパーサの書きかたは昔からしつこく研究されてきており、 かなりしっかりした定石がある。よほど変な(または曖昧な)文法でない 限り、定石にのっていけば解決できるものだ。 まず最底辺には文字列を単語(トークンとも言う)の列に切り出す部 分がある。これをスキャナ(scanner)とかレクサ(lexer)と言 う。日本語で言うと字句解析器だが、言いにくいのでスキャナと呼ぼう。 スキャナというものが出てくる根底にはそもそも「単語の区切りには空白ある でしょ」という常識がある。そして実際にたいていのプログラミング 言語はそういう仕様になっている。そのほうが楽だからだ。 例えば古いFortranでは空白が意味を持たなかった。つまり空白を入れても 単語区切りとは限らないし、変数の途中で何の前触れもなく空白を挿入したり することもできた。ところが解析が恐ろしく面倒なもの
はじめに 最近発売されたRubyの洋書「Polished Ruby Programming」を読みました。 このエントリでは本書を読んだ感想を簡単にまとめてみます。 本書の感想 本書の著者はRubyコミッタとして有名なJeremy Evansさんです。 前書きにも明記されていますが、本書はRubyの中級者から上級者をターゲットにした本です。日本ではどうしてもRubyの本は初心者向けの本が多くなりますが(何を隠そう、僕もそういう本の著者の一人😅)、こういう「骨のある技術書」が出てくるのは非常に貴重だな、というのが第一印象です。 表面的なテクニックをなぞるのではなく、プログラムをどう設計すべきか、その設計にどういった良し悪しがあるか、といった点についても深く議論されています。そのため、サンプルコードだけでなく、英文もそれなりに書かれているのですが、使われている英語は比較的平易で、辞書無しでぱ
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ。 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙇 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 VSCodeのRubyデバッガextension「VSCode rdbg Ruby Debugger」 元記事: ruby / vsco
縁あって、カロリーメイトリキッドのプロモーション用にちょっとした 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;で始まる行の頭から、'
はじめに タイトルにもあるようにRubyのbuiltin(正式名称を知らないので呼び出し方法から拝借)というものを使ってRuby自体をRuby(とC)で実装してみた話です。 内容としてはRuby自体の実装に興味のある方向けの話になります。 builtinって? builtinとはRuby(とC)でRuby自体を実装するというものです(正式な名前は今のところないみたい?)。以下のように__builtin_<Cで定義した関数名>をRubyのコードから呼び出すことでRubyとCを使い、より簡単にRubyの実装を行うことができます。 たとえば、Hash#deleteはCで以下のように実装されています。 static VALUE rb_hash_delete_m(VALUE hash, VALUE key) { VALUE val; rb_hash_modify_check(hash); val =
「統合開発環境(とうごうかいはつかんきょう)」… これは、たった一つのアプリケーションで開発作業の何もかも全てをただ一つの操作環境からできるようにした開発における叡智の集合です(個人の感想です)。 今の時代は金とマシンパワーを積んでIDE*1さえ買えば、どんな開発作業も楽になる恐ろしい時代です(個人の感想です)。 しかし数あるIDEの中でも使ってはいけないIDEがあります。JetBrains社謹製のIDEであるRubyMineです。様々なIDEを使ってきた僕が、今改めて使わない方がイイと断言するのには、理由が4つあります。 ・目次 IDEとは? 使ってはいけない理由 理由1: 「Search Everywhere」 理由2: 「Quick Documentation / Quick Definition」 Quick Documentation Quick Definition 理由3:
序 最近、敵情視察を兼ねた仕事ととしてGoでアプリケーションを書いていた。このアプリケーションがどんなものかはそのうちid:tagomorisさんがどこかで話すと思うけれど、このコンポーネントがOSS化される予定はいまのところないので、そこで得た知見をここにまとめておくことにする。 GoroutineとChannel さて、GoといえばGoroutineとChannelですね。 Goroutineはようするにスレッドなんですが、文法と実装の支援でより気軽に使えるのが他の言語との違いでしょうか。なので、Goroutineをどれだけほいほい使うべきかというコスト感覚を身につけることがとても大事な気がします。Rubyなどとは気持ちを切り替えていく必要があるでしょう。ぼくはまだ切り替えきれていません。 もう一つがChannelですね。これは端的にはメッセージキューです。 Goは前述の通り同時に動く
最近、ChefやVagrantを勉強し始めたのですが、設定がRubyで記述されているため私は「たのしいRuby」を読んで勉強することにしました。 私は元々Rubyに興味があったのでいいのですが、Ruby知らないしそのために勉強するのは大変だから手を出すのをやめとこう、と思う人がいるかもしれないのでこれだけ知っていればある程度読めるのではないか、というポイントをまとめました。 まったくプログラミングをしたことない方には説明するのは無理なのでプログラミング経験があり 条件分岐、ループ、クラス、メソッド、文字列 が何か分かるくらいの方が対象です。if文、for文など他の言語でもあるようなものは省いていきます。 真面目にRubyを勉強したい方は下のアフィリエイトから「たのしいRuby」をポチって下さい! まずはHello World まずはHello World です。実際にやってみる必要はないと
Document Data Structure in MongoDB Express MongoDB lets you easily store structured and unstructured data in a flexible and dynamic database schema. It supports CRUD operations on complex data objects using JSON as the main data type. Its an open source solution so it may not be as robust or well supported as commercial management tools. However it is easy to deploy and works well for most use cas
TextMate for macOS Powerful and customizable text editor with support for a huge list of programming languages and developed as open source. Download TextMate 2.0 Requires macOS 10.12 or later. Multiple Carets Making multiple changes at once, swapping pieces of code, and a lot more is made trivial with TextMate’s easy way to add multiple insertion points. File Search Select what you want to search
オライリーが主催するイベント「Open Source Convention 2011」が7月25日から米国ポートランドで開催されました。 その中で、TwitterがなぜRuby on RailsベースのシステムをJavaVMベースへ移行しようとしているのかを解説したセッション「Twitter: From Ruby on Rails to the JVM」が行われ、ビデオが公開されています。 13分程度の短いセッションのポイントをまとめて紹介します。 世界最大のRuby on RailsによるWebサイトをJavaVMへ移行 Twitterのアプリケーションサービスグループ、Raffi Krikorian氏 Twitterは世界中からのツイートをリアルタイムで扱っている。リアルタイム処理が、ツイッターにおけるもっとも難しい処理だ。 Twitterは、おそらく世界最大のRuby on Rail
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く