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
はじめに 2021年1月にv1.0がリリースされたWasmerにRuby Gemが存在することに触発されて調べてみました。RubyとWebAssemblyが関わっているものについてわかる範囲でまとめ、軽くどのようなものかを書いていきます。 僕自身、業務はおろかプライベートでもWASMを書いたことはなく浅い理解しかしていないですが…… WebAssembly (WASM)とは WebAssembly は最近のウェブブラウザーで動作し、新たな機能と大幅なパフォーマンス向上を提供する新しい種類のコードです。基本的に直接記述ではなく、C、C++、Rust 等の低水準の言語にとって効果的なコンパイル対象となるように設計されています。 この機能はウェブプラットフォームにとって大きな意味を持ちます。 — ウェブ上で動作するクライアントアプリで従来は実現できなかった、ネイティブ水準の速度で複数の言語で記述
Google Cloud FunctionsがRubyのサポートを発表。ローカル環境での開発やテストを可能にするフレームワークも Google Cloud FunctionsはGoogl Cloud上でサーバレス環境を実現するサービスです。HTTPからのアクセスやストレージへのデータの保存などのイベントが発生すると、あらかじめ保存されていた関数が実行される仕組みを持ちます。 例えば、ストレージに画像が保存されると自動的にサムネイルを作成して保存する関数を実行する、HTTPでアクセスされるとデータベースからデータが検索され最新データをHTMLに書き込む関数を実行する、といったイベントドリブンな処理を効率的に実行できます。 Google Cloud FunctionsのRubyサポートにより、この関数をRubyで記述することが可能になります。対応するバージョンはRuby 2.6と2.7。 Go
この記事は言語実装 Advent Calendar 20202日目の記事です。前回はκeenさんの「自作コンパイラをブラウザ上で動かす」、次回はmitsuchiさんの「LLVM の Kaleidoscope を育てながら作る」です。 はじめに みなさま、ご無沙汰しております。monochromeです。rurubyという名前でRuby処理系のRustによる実装を行っていて、昨年のAdvent CalendarでRustでつくる(つくれるかもしれない)Rubyという記事を書きました。今回はこの1年間の進捗と、今後の予定などを書いてみます。 レポジトリはこちら。実行にはRustツールチェーン(nightly channel)のインストールが必要です。 https://github.com/sisshiki1969/ruruby 毎度の宣伝ですが、「プログラミング言語処理系が好きな人の集まり」とい
諸般の理由で『Pythonのlambda式を用いたラムダ計算の基礎表現』を書いた後にHaskellに触れたところ,無名再帰関数を実行する不動点コンビネータfixがとんでもなく簡単に書けたため,同じ方法で他のプログラミング言語でもできないか試したところ,これまたあっさりできたので,まとめメモ的に新しく記事にした. このような内容がQiitaや書籍,ネット上に星の数の更に星の数乗ほどあることは承知しているが,この手の話はYコンビネータが大きな割合を占めており(実際,元記事でも取り上げている),関心のある人々の数多ある参考資料のひとつ程度に捉えてもらえると幸いである.ツッコミ,編集リクエスト歓迎. 不動点コンビネータの定義 不動点コンビネータとは,$f(g(f))=g(f)$が成り立つ関数$g$を指す.この記事では,Haskellの呼称であるfixを不動点コンビネータの関数名とする. Haske
こんにちは。技術部 開発基盤グループの諸橋です。 クックパッドでは昨今の多くのWeb企業と同じように、GitHub EnterpriseのPull Requestを使ったコードレビューを広範に実施しています。わたしたちのコードレビューでは、ソースコードの字面にとどまらず、サービスの機能として魅力的かどうかや、保守性を含めた設計が適切かといった議論に発展することも良くあります。 きょうはそんななかで話題に上がった「現在時刻」の扱いかたに関する設計の話を書きます。 背景 サービスを開発・運営している我々には、時間帯によって出し分けたり、特定の期間のみに表示したいコンテンツがたくさんあります。 そのたびにデプロイし直すというのはつらいので(特に24:00に出なくなるコンテンツなど)なんとかしたくなりますが、一方で時限式のコンテンツはその時になるまでちゃんと動いているか確証が取れないので怖いです。
新型コロナウイルスの影響で多くの学校が休校する状況を受け,『WEB+DB PRESS』で笹田耕一氏が執筆しており,現在も連載中の「Rubyのウラガワ」の第1回から第5回までの記事のPDFを,学習用に期間限定で無償公開します。 記事の概要やダウンロード先などは以下のとおりです。 記事名 Rubyのウラガワ ── Rubyインタプリタに学ぶデータ構造とアルゴリズム 記事概要 本連載では,Rubyインタプリタという,実際に多くの人が利用しているアプリケーションを題材にしてデータ構造とアルゴリズムを学ぼうという趣旨で,その実装を紹介します。単なる実装の紹介だけではなく,なぜそのような選択をしているか,その背景を紹介できればと思っています。(Vol.110「連載のはじめに」より) 公開範囲 Vol.110(第1回)~Vol.114(第5回) 公開期限 2020年4月5日まで ※期限が過ぎまし
English Family mruby Family mrubyとは 今は昔、子供が最初に触れるプログラミング言語といえば、BASICという時代がありました。 制約は多いですが、パソコン以外にも、MSXやファミコンでBASICができるFamily BASICという製品もあり、そこからプログラミングの面白さを知り、プログラマーになった方もたくさん居られると思います。 そして現在は無料で大抵のプログラミング言語の開発環境はパソコンにインストールすることができる時代になりましたが、できることが多すぎて何をしたらよいのかわからなかったり、Hello Worldの先のゲームを作ったりするまでの環境構築ハードルが高かったり、するような気がしています。 そこで、マイコン一つでちょっとしたゲームなどをスクリプト言語で作れる環境を作ってみたい、と思って開発したのが、Family mrubyです。 Fami
mruby-cli is a platform to build native command line applications for Linux, Windows, and OS X. It provides the tools necessary for building a standalone binary of your application from any machine. Take advantage of the power of Ruby without the cross-platform dependency headaches that go with it. License
この記事はRuby Advent Calendar 2019の19日目の記事です。 (19日目が投稿されなかったので代理投稿します。) はじめに本記事は19日目の代理投稿ですが、25日を過ぎて書かれています。そして25日目の続きです。25日目では作者単位で可視化を行いましたが今回はファイル単位で行ってみたいと思います。 Rubyの開発の主なファイルはトップディレクトリ直下に置かれているので、それらのファイルを対象に集計してみたいと思います。 ファイル一覧を作成するまずは22年間の間に存在したファイル一覧を作成したいと思います。これは以下のようなワンライナーでできました。 git log --pretty="format:" --name-only --since="23 years ago"|grep -v '/'|grep -v -e '^\.' -e '^\s*$'|sort|uniq
Ruby 2.7のここがすごい! パターンマッチ、コンパクションGCなどをリリースマネージャーに聞いた 2019年12月25日にリリースされたばかりのRuby 2.7では、どのような機能がどういった経緯で採用されているのでしょう。リリースマネージャーのnaruseさんと、フルタイムコミッターのmameさんに詳しくうかがいました。 まつもとさんはとにかく忙しくて 実はすごいirbの改良 パターンマッチはRubyをどう変えるか キーワード引数は、端的に壊れていたのを大整理した 高速化に向けたいくつかの観点 Ruby 2.7で導入される「コンパクションGC」とは Ruby 3のビジョンは「静的解析」「並行並列」「JIT」 プログラミング言語Rubyには、クリスマス前後に新しいバージョンをリリースする伝統があり、2013年の2.1.0以降は毎年12月25日にメジャーバージョンアップが行われています
Ruby2.7へ向けて そろそろRuby2.7の季節がやってきましたね! すでにアップデート準備はすませましたでしょうか? Ruby3へ向けた移行パスの一環として、Ruby2.7からキーワード引数の仕様が変更されます。 これは多少の破壊的な変更があり、実際にRubyのアップデートを考えるときには悩みどころとなりそうです。 ここでは実際に手元のアプリケーションをRuby2.7.0-rc2に移行する際に遭遇したケースをヒントに、自分なりに想定できる対処方法などを記してみます。 ※ なおキーワード引数の新仕様や、その具体的な挙動については、こちらに素晴らしくわかりやすい解説記事があるので参考にしてみてください。 なおこの移行に伴い、たくさんのgemにおいてコントリビュートチャンス祭りが発生すると思われます Rubyエンジニアの皆様にはぜひぜひこの機会を生かしていただければと思っています! なぜ変
この記事はRuby Advent Calendar 2019の25日目の記事です。 本日はクリスマスということで、例年ならRubyの新バージョンがリリースされる日になります。 新バージョンのRuby 2.7はRC2までやってきたので、リリースに向けて着実に進んでいるようです。 🎉🎉 そして無事に本日リリースされました!! おめでとうございます!!! 🎉🎉 (本記事投稿時点ではまだリリースはされていません。) そこでRuby2.7のリリースのお祝いとコミッターのみなさんのハードワークに感謝の気持ちを込めて、Rubyの22年に渡るコミットの歴史を可視化してみたいと思います。 (2019/12/29追記) 19日目の代理投稿で以下の続編記事を書きました。 【続】Rubyの22年に渡るコミットの歴史を可視化してみた(ファイル編) - cats cats cats はじめに 一番最初の動機は
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く