東京Ruby会議12 で発表した資料です。

先日、VitalRouter.MRuby というUnityパッケージを公開しました。Tweet 元々、VitalRouter というUnity向け高速メッセージングライブラリをつくっていたんですが、ここに mruby を組み込むことによって、Rubyスクリプトで書いたとおりにメッセージを発行(publish)できるという代物、それが VitalRouter.MRuby 、です。 これによって、ゲームのシステム部分の開発のレイヤの上に、お手軽ゆるゆるスクリプトを乗っけることができます。 What is VitalRouter? VitalRouter自体は単に、中央イベントアグリゲータ/メッセージブローカー/メディエーター的なパターンを持ち込めるライブラリです。 僕の考えでは、ゲームプログラミングの設計でややこしいところのひとつがこの「イベント/メッセージ発行」みたいなところにあります。ゲー
ダウンロードPDF(2MB)本書について『Working with TCP Sockets』の翻訳版を、原著者であるJesse Storimerの許可を得て島田浩二が公開するものです。 翻訳版の書名は、同シリーズの先行書『なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 - 達人出版会』に揃えて『なるほどTCPソケット ― Rubyで学ぶソケットプログラミングの基礎』としました。 翻訳版も原書と同様、無料でお読みいただけます。 翻訳版の原稿は、10年ほど前に刊行を目指して翻訳したものとなっています。もし現在のRubyで動かない箇所や注釈が必要な箇所があれば、snoozer.05@gmail.com まで連絡ください。 公式ハッシュタグ:#naruhotcp 改訂履歴2024-09-23: 公開謝辞Jesse Storimer Original Author@takahashim
-------------------------------- 2023.2.25 SAT, 13:30よりOnlineにて生配信 『The 30th Anniversary of Ruby - プログラミング言語Ruby30周年記念イベント-』 プログラミング言語Rubyの30年を振り返り、Rubyの今、そして未来を展望します ▼Official Site https://30.ruby.or.jp/ ▼Timetable 0:00:00-0:12:40:『オープニング』角谷信太郎(一般社団法人日本Rubyの会 理事) 0:12:40-0:37:25:『特別講演/Rubyの30年』高橋征義(一般社団法人日本Rubyの会 代表理事) 0:37:25-1:10:30:『招待講演1/Enterprise Platform SaaSにおけるRubyの12年』なひ(Treasure D
はじめに mruby/c という軽量な Ruby 処理系をスーパーファミコンに移植し、標準出力に文字列を出力する簡単な Ruby コードをエミュレータ上で動かしたので、その移植作業を記事にまとめました。 この記事で動かしたコードは次のリポジトリにあります。 この移植作業を行うという発想は、2年前の RubyKaigi 2022 で行われた mruby/c を Mega Drive 上で動かすという Yuji Yokoo さんによる発表(https://rubykaigi.org/2022/presentations/yujiyokoo.html)がベースとなっています。 元々スーパーファミコン上で動くコードを趣味で書いたことはあったのですが、最近スーパーファミコンで使われている 65C816 という CPU 向けの(まともに動く) C コンパイラが存在することを知ったので、今回移植作業に取
さくらのクラウドシェルは、ブラウザから無料で利用できるオンラインのシェル環境です。開発者向けの環境がプリインストールされているため、使い慣れたツールをすぐに利用できます。 無料で試す すぐに使えるツール さくらのクラウドシェルには Python、Ruby、Node.js などの開発言語のほかに、Vim、Emacs、tmux、Git、Ansible、Terraform、さくらのクラウドをコマンドラインから操作できる usacloud があらかじめインストールされています。 ローカル環境はそのまま 開発環境をローカルに構築しないため、お使いのPCのディスク容量や環境を気にする必要がありません。また、クラウドシェルを使えば開発チーム内の環境を揃えることも簡単です。 どこでも開発 ウェブブラウザからアクセスできるため、場所を問わずに開発が可能です。たとえば、自宅や外出先など、自分にとって最適な場所
はじめに スタンフォード大学の John Ousterhout 教授が執筆された “A Philosophy of Software Design”(以下 APoSD と略す) という書籍をご存じでしょうか? 書籍のタイトルを直訳すると、「ソフトウェア設計の哲学」となります。書籍の内容はまさに、ソフトウェア設計について扱っています。 本書籍をベースに、「A Philosophy of Software Design を30分でざっと理解する」というお題で社内ランチ勉強会が開催されました。本記事執筆者である岩瀬(@iwashi86)が発表者であり、勉強会資料は以下のとおりです。 スライド P.4 に記載したとおり、本書籍は John Ousterhout 教授の意見が強く反映されており、ソフトウェアエンジニアであれば、議論を呼ぶ箇所があります。実際、勉強会の実況Slackでは、「これはどうな
こういうAPIを作らなければいけないときって割とよくあると思います(有料データベースと契約してて、csvでもらったデータをAPIで使えるようにするとか) そんな時に一番シンプルな解決方法として思いつくのがaws lambda + API Gatewayになると思います そんな時にふとした疑問が生まれました 元のcsvって何の形式で持つのが一番効率良いのだろう こういうのって何となく適当に選んじゃうことが多いのですが実際に計測して選ぶことも大切なので色々計測してみました 別解 多分goあたりでプログラム本体に含めてコンパイルしちゃうのが早いと思いますが、今回はrubyでやりたかったのでそれ以外の解決策を考えてみます 準備 郵便局の出している住所 <-> 郵便番号データをサンプルとして使います 元データがcsvなのですがその時点で以下のようになっています 行数:12万4500行 ファイルサイズ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 自動テストがほとんど整備されていないRailsプロジェクト、かつテスト文化がなかったチームに、約1年ほどかけてテスト文化を根付かせたことについてお話したいと思います。 経緯 当プロジェクトは、当初はCIは整備されているものの、テストはわずかに書いてあるのみでメンテナンスされないまま放置されており、CI上でもテストが失敗していることを無視してリリースされてされていました。 ある時、大きめの不具合を起こしてしまい、再発防止を考える上でせっかくCIでテストが回るようになっているのであればということで、本格的にテストを書いていくことを
はじめに 履歴書、書いてますか?>挨拶 僕もいま任期付きなもんで履歴書を書いては送る日々なわけですが、履歴書ってなんであんなに書きづらいんでしょうね? で、これまでは履歴書をLaTeXで書いて管理してたのですが、ちょっとスタイルを修正するのもすごく面倒だし、そもそもデータとスタイルの分離がよろしくないのがストレスでした。そんな時にこの【退職】履歴書をGit管理したかってん【しました】という記事を見て、僕も履歴書をもう少し扱いやすいフォーマットから作るスクリプトを書きました。ソースはGitHubに置いてあります。 (2020年7月19日追記) 2020年7月17日付で、日本規格協会グループは、JIS Z 8303『帳票の設計基準』に掲載されていた「履歴書」の様式例を削除しました。2020年7月19日現在は「お知らせ」に記載されていますが、パーマネントリンクが無いようなので、そのうち消えるかも
逆に、RFC 6749 以外で定義されている認可フローをサポートする場合、新たに別のエンドポイントの実装が必要になることがあります。例えば CIBA(Client Initiated Backchannel Authentication)では**バックチャネル認証エンドポイント(backchannel authentication endpoint)、デバイスフロー(RFC 8628)ではデバイス認可エンドポイント**(device authorization endpoint)の実装が求められます。 この記事では、認可エンドポイントとトークンエンドポイントを実装します。サポートする認可フローは認可コードフローのみ、サポートするクライアント・タイプはパブリックのみとします。 2. 注意点 下記の理由、および書かれていないその他の理由により、本実装は商用利用には適していません。 セキュリティ
require "gobject-introspection" module Sample loader = GObjectIntrospection::Loader.new(self) loader.load("Sample") end greeter = Sample::Greeter.new puts(greeter.greet) # -> Hello! どちらの場合も、「Greeterクラスを定義、Greeterクラスにはgreetメソッドを定義」ということを指定していません。「Sampleライブラリーを使う」と指定しているだけです。 SampleライブラリーのAPIは2つの関数しか提供していませんが、通常、ライブラリーのAPIはもっと多くの関数を提供しています。ライブラリーがGObject Introspectionに対応していると、それらの関数をどのように使うかを1つずつ定義し
Copyright (c) 2017 Ministry of Economy,Trade and Industry. All Rights Reserved.
Qiita、いいですよね! Qiitaの使い勝手の良さに感動し、自分のブログへのTech系投稿をやめてしまったくらい(笑)なんですが、業務で使いたいとなると当然Global Publishするわけにいかず、かといってQiita-Teamでは社内のセキュリティ基準を満たせないという人も結構多いのではないでしょうか。 SaaSのほうがメンテナビリティが高いのは重々承知ですが、様々な理由で使えない、、、、って人たちに向けて、@m-yamashita さんがローカルで動くQiitaクローンを作ってくださいました。マジすげぇ!! ↓無料でイントラネット内にナレッジ/ノウハウの共有ができる「Lodge」 - Qiita http://qiita.com/m-yamashita/items/d6f64db461acd54095f7 ↓lodge/lodge: イントラネット内で誰でも構築できる情報共有サ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く