技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもにRubyKaigi2022 と2023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、本記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という

国分崇志(@k0kubun)と申します。プログラミング言語Rubyのコミッターとして活動しています。2019年からシリコンバレーで働いており、2022年からShopifyという会社でRubyのJust-In-Time(以下、JIT)コンパイラをフルタイムで開発しています。 長い間趣味でやっていたコンパイラの開発を仕事にしたのは、現職が初めてでした。この記事では、趣味を仕事に変えた経緯や、どのようにして業務経験のない分野にキャリアチェンジしたのかを紹介します。仕事で分散システム、趣味でコンパイラを書くキャリア 楽しく稼げる仕事を求めてたどり着いたRubyエンジニア 研究で分散システムと言語処理系の両方に興味を持つ 分散ミドルウェアを仕事で、JITコンパイラを趣味のOSS活動で やっぱりコンパイラを仕事にした複合的なきっかけ 働きながら大学院に通い、コンパイラが一番好きなことに気付いた コン

This article contains a list of thetop 50 YC software startups (sourced from the October 2019 YCTop Companies page).It also contains aggregated statistics for valuations and back-endprogramming languages used. Values in this article are sourced, but I cannot guarantee their accuracy. Find me onTwitter @charlieinthe6. View article comments on HackerNews. Table of Contents:Top 50 Software Star
RubyはWebシステムの記述言語として高い生産性を発揮し,Web業界では広く浸透している.一方,分析的データ処理への対応が弱いため,データ処理分野ではほとんど利用されていない.昨今のDX推進などの流れから,Rubyで書かれた既存システムのデータ処理への対応が近い将来必要となるだろう.そのような要求に対応するためには,前もってRubyを分析的データ処理に対応させる必要がある.本稿では,Rubyを分析的データ処理に対応させる手段としてApache Arrowが有効であることを示す.Apache Arrowは,既存のデータ処理コンポーネント間のデータ連携の非効率性を解消するために提案された,データフォーマットとAPIである.RubyをApache Arrowに対応させることで,分析的データ処理に対応できるだけでなく,データ処理分野における先進的な取り組みにRubyからアクセスできるようになる.


これは「Rubyist近況[1] Advent Calendar 2021」の6日目の記事です。 adventar.org 自称Rubyist なので近況を書きます。 2021年10月末で30年ほど勤めた富士通グループを退職しました。 11月からはSmartHR という会社で働いてます。 3年ほどRuby は仕事ではあんまり使ってなかったのですが、またRuby を仕事で使うようになりました。 会社から配布されたPC は Core i7 メモリ32GB のMacBook Pro なんでかなり人権がある感じなんですが、人生初Mac で1ヶ月位経ってもまだ慣れなくて、VM で Ubuntu Desktop 入れようか迷ってます。 近況は以上です。以下は富士通グループの入社〜退職までのメモ。長いので読まなくていいです。 1991〜 設立7年目の今はなき「富士通長野システムエンジニアリ
エンジニアとして働く女性の数は男性と比較していまだに少数。「同性が周りにほとんどいない」ことから、自身の将来のキャリアやスキルにおいて悩みを抱えている人も少なくないはず。こうした悩みを解消でき、スキルアップすることが可能な女性向け技術コミュニティの1つがRails Girls。Rails Girlsでは、プログラミング未経験の女性を対象にワークショップを開催している。設立の経緯やワークショップではどんなことを学ぶのか、設立にも携わり、エンジニアとして働くRails Girls Japanの江森真由美さんに話を伺った。 当時はRubyがメインでRailsは書けない、それでも「大丈夫、できるよ」と後押しを受けオーガナイザーを務めることに ――Rails Girls Japanの設立の経緯から教えてください。Rails Girlsというグローバルなコミュニティがあります。2010年にフィンラン

これは何 「Rails Wayに沿って〜」とはReview欄などでよく言われるが、定義が人によってぶれている気がするので俺のRails Wayを示した記事です。 もはや本来のモノとは別物かも知れませんが、俺はこういう観点でRailsをみて、コードを書いているよ、ということを知ってもらう意味でもこの記事を公開することにしました。 前提として、「数人以上のチームでプロダクトを実際に開発して運用する」場合の自分のスタンスを示したものです。(私も仕事では独自DSLは書きませんが自由研究用途なら自分も独自DSLを書いたりします。) それでは、いってみましょう。 Model層 データベースの操作およびビジネスロジックを記述する。 テーブルの属性は原則NOT NULLにするべき。どうしても要件上NULLを許容しなければならない場合のみNULLを許容する。 Controllerからparamsを無思考で渡

Ruby コミッターの村田です。Ruby 3.0 に組み込まれる実験的な新機能を作ったので解説します。 新機能は MemoryView と名付けられました。これは C などで書かれる拡張ライブラリ向けの機能です。メモリ上の、型が均一で同一サイズの要素から構成される配列 (e.g. 行列や画像など) を、複数の拡張ライブラリ間でコピーレスで共有するために必要な仕組みを提供します。 MemoryView が導入された背景 多次元数値配列が重要な役割を持つ時代になった 深層学習やデータサイエンスの流行にあわせて、メモリ上で大きなサイズの多次元数値配列データを処理する事例が増加しています。このような数値配列データに対する処理は、複数のライブラリの機能を組み合わせて実現されます。この分野でよく使われるPython では、データ構造を numpy と pandas が提供し、機械学習アルゴリズムを
はじめに 今回は、前回の読書ログ2019年1-6月で予告していた、当社が独自開発したSpeeeLibraryについて書いてみようかと思います。 SpeeeLibraryとは、いわゆる従業員向け社内図書館です。 当社独自の福利厚生として、2010年10月より運用がスタートし、創業3期目から現在まで10年もの間、運用し社員に親しまれてきました。 現在は、当社オフィスSpeeeLoungeの壁一面に、ビジネス書・啓発本・技術書・デザイン関連など、様々なジャンルの書籍を約 3,000 冊ほど所蔵。 書籍は、従業員がログインできる Webシステムで管理・運用されており、書籍の検索・貸出の予約・延長・レビューの投稿などが可能になっています。 この制度を作った背景や、システムの裏話など、以下の順番で軽くまとめていこうかと思います。 なぜ作ったのか? どう使われているのか? 今後どうしていくのか? ①なぜ
みなさんRailsdm 2019 お疲れ様でした。 僕は 2 日目 (3/23) に、"Charty onRails" というタイトルで発表しました。 Charty に関する発表をするのは今回がはじめてでした。そういうこともあって、伝えたいことがたくさんありました。 Charty はRails アプリケーションを書くに通常必要な技術の領域に対して、扱うもの (データ構造、plotting library, ユースケースや前提知識) が少々ニッチです。 なにから話せば伝わりやすいだろう、30 min という枠の中で、自分の言いたいことはなんだろう。この場で何を伝えて、発表後に得ていたいもの、発表後になっていたらうれしい状態はなんだろう。みたいなことにいつも以上に悩んだなあということを今思います。 これらはスライドにも書いたのですが、結果的に、今回自分はこういう発表をしたいんだなというこ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 現時点では解説がパーフェクトではないのを自覚しているが、めんどくさいので後でパーフェクトにする Frozen String Literalとは "str".freezeのようなリテラルのこと。 Feature#8992 (r43627) でこのようなリテラルを書くと事前にallocate & freezeされた文字列オブジェクト(内部的にはfstringと呼ばれる) が取得されるようになり、Ruby 2.1以降ではイミュータブルな文字列が必要な場面でこのリテラルを使うと高速になる。 以下、それに関連した機能や最適化がどのバージョンで入っ

2018年12月28日、多くの会社が仕事納めを迎えた日。1年の仕事を終えてホッと緩んだ世間の雰囲気と対照的に、そのビルの1室は真剣な空気に満ちていた。中で行われていたのは、プログラミング講座。受講者は思い思いにPCと向き合ってRubyと格闘したり、他の受講者とディスカッションしたりしている。 一見、一般的な社会人向け講座。だが受講者が独特だ。集まっていたのは全員、企業の経営者。12月23~29日の7日間集中で、経営者限定のプログラミング講座が開催されていたのだ。 プログラミングスクール事業を手掛けるdivが運営する「経営者限定TECH::CAMPイナズマ」だ。経営者が知識ゼロの状態からRubyを学び、HTMLやCSSの知識も習得する。最終的にはRuby onRailsを使ったWebサービス開発に挑む。 受講者にはネットサービス企業だけでなく、ITとは直接関係のない業種の経営者も名を連ねる

この記事はRubyそしてRailsをこれから勉強したい方に、どんな技術を勉強すればいいかと、それらの技術全体のガイドマップを図示します。そしてそれを学ぶための資料(書籍、Web記事ほか)を紹介していきます。この記事は、頭の中に技術全体の地図を描き、イメージしてもらうのが狙いです。Railsアプリを作るときに必要になたくさんの技術について説明していきますが、本当にたくさんの技術が出てきます。まだ学んでいない、分からない言葉が出てくると思いますが、全体を把握するために、ひとまずは「そういう技術があるのだな」くらいで捉えてもらえればと思います。将来、その言葉が出てきたときに「どこかで聞いたような?」と思えたら儲けものです。 勉強方法のお勧めは、1つの知識を徹底的にやるよりも、まずは全体を通して勉強し、そのあとで勉強したいところに戻って積み重ねて学んでいく方が、挫折しづらいのでお勧めです。 追
この記事はRuby Advent Calendar 2018 - Qiitaの23日目です。 今年はRubyやOSSの脆弱性をいろいろ探していたので、その感想を。Ruby (Cruby) Tmpでのディレクトリトラバーサル DirでのNUL文字の扱いの問題 UNIX ドメインソケットでのNUL文字Ruby 2.6での挙動変更 Dir[]でのNUL文字についてRubygemsrubygems 65534倍効率的なブルートフォース minitarでのKernel.open*2 geminabox DiscourseHerokuRails pgでのNUL文字 Active StorageでのXSS 報奨金 感想Rubyに詳しくなった 脆弱性としての判定 自分が使うものを安全にする まずはRubyからRuby (Cruby)techlife.cookpad.com 昨年公開された

The history of decentralization ofRuby, and what you can do for the future The history ofRuby development is also a history of transferring and separating the power ofRuby's decision from Matz. Many years ago allRuby development was done by only Matz. But in the year 1999, Matz1 built a CVS server and allow some people to commit their changes into the repository. They fixes trivial bugs and ma
はじめに Red Datasetsは、IrisやMNISTといった公開されているデータセットを、Rubyで簡単に扱えるようにするプロジェクトである(Pythonでいえば、scikit-learnのsklearn.datasetsや、Kerasのkeras.datasetsに近い)。本記事では、Red DatasetsでIrisデータセットを読み込み、SVMKitで線形SVMによる分類精度の交差検定を行う。SVMKitは、データをNumo::NArrayで扱うので、そこの変換が必要になる。 インストール Red DatasetsとSVMkitともに、gemで簡単にインストールできる。 $ gem install red-datasets svmkit Red Datasetsの簡単な使い方 使い方は、Red DatasetsのUsageがわかりやすい。 Red Datasetsは、データセッ
English version is available atgithub PyCall はRuby の中から既存のPython ライブラリを使うにはとても便利なライブラリです。 とはいえ、これはRuby からPython の関数を呼ぶためのライブラリなので、Python の関数を1回呼ぶ度にRuby に制御が戻ってきます。 これが元でちょっと間違えやすいこともあるようです。 例えば下のような記事を見つけました。Ruby×PyCallでTensorflowのMNISTチュートリアル「連想配列の違いで手間取った」 そこでRuby の柔軟な構文を活かして、Python っぽいコードをRuby プログラムの中に埋め込んでおくと、そこだけまとめて切り出してPython に送って実行する DSL を作ってみました。 Yadriggy を使って作っています。 この DSL の実装は
11/17(土)は「RubyData Tokyo Meetup」というミートアップに参加してきました。 speee.connpass.com 会場は株式会社Speeeさんのラウンジ。写真を見てもらえばわかりますが、メチャ広くて図書館みたいなスペースです。 六本木一丁目駅から5分位の場所なのですが、静かで良い場所ですね。こんな場所で仕事してみたい(笑) 美味しいコーヒーも提供され、リラックスして参加できました。コーヒー☕、頂きました。美味しい。😀 #RubyData_tokyo pic.twitter.com/wXTCpeGaTE— kabukawa (@kabukawa) November 17, 2018RubyData Tokyo MeetupとはRubyData Tokyo Meetupについてはイベントページの説明を引用すると データサイエンスの分野でRubyが無力な状態を

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く