ksss9のブックマーク (1,742)

  • Ruby Parser開発日誌 (7) - doについて考える - かねこにっき

    前回のあらすじ Ruby Parser開発日誌 (6) - parse.yのMaintainabilityの話 - かねこにっき Rubyのparserの複雑さを分析し、parserとlexerの密結合を解消に挑戦しました。Practical LR Parser Generationという論文を参考に条件付き生成規則をLramaに実装し、Rubyのparserに適用してみましたが一部でconflictが発生してしまいました。 今回は引き続きdoを中心に密結合を解消できないか考えていきましょう。 問題を整理する doについて理解を深める doの何が問題なのかもう一度考えてみましょう。Rubyにおいてdoは複数の箇所で使われます。 # lambdaのdo (keyword_do_LAMBDA) -> do e1 end # whileのdo (keyword_do_cond) while tr

    Ruby Parser開発日誌 (7) - doについて考える - かねこにっき
    ksss9
    ksss9 2023/04/09
    すごすぎてすごいということしかわからない。すごい。rubyの未来を作ってる
  • RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog

    僕はRustRubyのJITを書く仕事をしているのだが、去年の12月くらいから、趣味ではRubyRubyのJITを書いている。 それまではC言語でコード生成を行なうMJITを5年くらいメンテしていたのだが、先月、Rubyで機械語を直接アセンブルするRJITに差し替えた。 github.com なので、今Rubyのmasterブランチには、会社で業務として開発しているRust製のYJITと、僕が趣味で開発しているRuby製のRJITの2つのJITコンパイラが存在している。余談だが、JITの開発をしすぎてRubyの作者であるまつもとさんのコミット数を最近抜いた。 なぜMJITをやめたのか MJITも結構がんばっていて、去年開発していたRuby 3.2ではMJITのコンパイラの実装をCからRubyにフルスクラッチした上、バックグラウンド処理をpthreadからfork + SIGCHLDで行

    RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog
    ksss9
    ksss9 2023/04/06
  • orthoses gemを使って型生成を自動化してみた ~RubyKaigi2022 体験記~ - STORES Product Blog

    こんにちは、22卒の新卒エンジニアとして4月から STORES にjoinしている id:m11o です。 12月1日からスタートした STORES Advent Calendar 2022 も今日で最終日です。 自分が担当した STORES Advent Calendar 2022 1日目の記事 では、RubyKaigi 2022に登壇されたFu-ga (@fugakkbn) さんのセッションに触発されて、Sorcery gemの型情報(RBS)を記述し、 gem_rbs_collection にコントリビュートしたという記事を書きました。 gemの型情報を記述することによって、型情報の少なさを改善するとともにさまざまな恩恵が受けられると感じることができました。しかし、その一方で型を書くのが難しかったり、gemだけではなくプロジェクト内のコードにも型情報を記述する必要があります。さらに、

    orthoses gemを使って型生成を自動化してみた ~RubyKaigi2022 体験記~ - STORES Product Blog
    ksss9
    ksss9 2023/04/02
    すごい。試していただけている。フィードバックありがたく頂戴いたします。
  • テストを実行してRubyの型情報を集めるやつを作った - スペクトラム

    イントロダクション 「テストを走らせて型情報を収集すればいいんじゃない?」そのアイデア自体は話題に上がることが多かったかと思われますが、観測範囲では前例がないように見えます。そこで、実際に作ってこそ見える世界があると思い動くものを実装してみました。 Orthoses::Trace github.com orthosesはRBSを生成するための機能を作るフレームワークで、この機能の一つとしてOrthoses::Traceというミドルウェアを実装しました。 例 例題として、rack-testというgemのRBSを生成したいとします。 その場合の生成コードをOrthoses::Traceを使って以下のように準備します。 https://github.com/ksss/orthoses/blob/db80d506c5fb02dadaa0ae303e0761ba0a543f6f/examples/r

    テストを実行してRubyの型情報を集めるやつを作った - スペクトラム
    ksss9
    ksss9 2023/04/01
    5ヶ月かかって書いたブログを深夜に突然流す人やってます。
  • 3人の障害児を育てた母。「障害があっても子どもらしく過ごせる場所を作りたい」その一心が活動を続ける原動力に|たまひよ

    常に医療的ケアが必要な、0歳~18歳までの重症心身障害児のための通所施設「重症児デイサービスkokoro」(茨城県那珂市)。代表の紺野昌代さんは、自身も3人の重症心身障害児の子どもを育て、お空に見送った経験を持ちます。 「どんなに重い障害があっても、子どもたちがみんな、子どもらしく過ごせる場所を作りたい」。その一心で活動を続ける紺野さんに、今の思いやこれからの目標を伺いました。 「3人も障害児を産むなんて」と心ない言葉も。3人全員が重症心身障害児の母が絶望から立ち上がり、夢を形にすべく動き出すまで 重い知的障害や肢体不自由がある「重症心身障害児」のためのデイサービスを運営している紺野昌代さん。さまざまな葛藤を抱えながらも3人の重症児を育てた経験から、「重症児の育児で大変な思いをしているお母さん・お父さんたちの支えになりたい」と、現在の活動を始めました。紺野さんのこれまでの歩みを辿ります。

    3人の障害児を育てた母。「障害があっても子どもらしく過ごせる場所を作りたい」その一心が活動を続ける原動力に|たまひよ
    ksss9
    ksss9 2023/03/26
  • Rubyアソシエーション開発助成2022を終えて | うなすけとあれこれ

    成果 最終成果報告書 https://gist.github.com/unasuke/6b1d7cf68059283f1f149f94a327b4b2 2022年度Rubyアソシエーション開発助成金成果報告 リポジトリ https://github.com/unasuke/raioquic https://github.com/unasuke/lsqpack-ruby Rubyアソシエーション開発助成 2022年度の僕のプロジェクトの成果としては、以上の通りとなります。このブログは最終成果報告ではなく、個人的なふりかえりなどを書いています。 感想 感想としては、「勉強にはなったが、しんどかった」です。いくら既存の実装を移植するタスクとはいえ、いくらPythonRubyと似た言語であるとはいえ、移植作業はとても困難1でした。単純に行数が多いというのもその理由のひとつですが、特に移植が大変だ

    Rubyアソシエーション開発助成2022を終えて | うなすけとあれこれ
    ksss9
    ksss9 2023/03/23
    お疲れさまでした!暗号解読(サイモン・シン)もオススメです!
  • スタートアップ×開発のプロが「結局、エモさが大事」と語る理由 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    LIGブログ編集長代理のMakoです。 現在LIGはDX支援を加速させるべく、「サービス開発」に役立つ情報発信を強化しています。 今回はVC(ベンチャーキャピタル)のグローバル・ブレイン社にて投資先のサービス開発をハンズオンで支援している二宮啓聡さんをゲストにお招きし、お話をうかがいました。 優秀なエンジニアを集めるためには? ビジネス部門と開発部門、うまく連携するためには? 外部の開発パートナーにはなにをお願いしたらいい? などなど、よくある疑問にたっぷり回答いただいています。スタートアップや新規事業の開発に携わるみなさん、ぜひご覧ください! グローバル・ブレイン株式会社(https://globalbrains.com/) 独立系VC(ベンチャーキャピタル)。徹底したハンズオン支援、グローバルなエコシステム、ベンチャー企業と大企業のオープンイノベーションを通して、スタートアップ企業を支

    スタートアップ×開発のプロが「結局、エモさが大事」と語る理由 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
    ksss9
    ksss9 2023/03/23
  • Speakers

    ksss9
    ksss9 2023/03/15
  • Ruby Parser開発日誌 (5) - Lrama LALR (1) parser generatorを実装した - かねこにっき

    前回のあらすじ Ruby Parser開発日誌 (4) - かねこにっき Error Recoveryに関する理解も深まり、Rubyのparserへ実装するために3つの実装方法を検討しましたが、どれもあまり簡単な方法ではありませんでした。この問題を解決するためにLALR parser generatorを実装したので今回はその紹介をしたいとおもいます。 Lrama LALR (1) parser generator github.com 前回検討したとおりBisonを使ってError RecoveryをRubyに実装していくのは困難を伴います。これを解決するために自前でparser generatorを実装し、generatorおよびtemplateの両方を自分で管理するという方法を思いついたので実装しました。 名前の由来 Lramaでリャマと読みます。LALR parser genera

    Ruby Parser開発日誌 (5) - Lrama LALR (1) parser generatorを実装した - かねこにっき
    ksss9
    ksss9 2023/03/13
    BisonがやってることをRuby実装に置き換えるのすごすぎる
  • 社会課題に取り組みたいRuby大好きエンジニアがセカンドキャリアにエス・エム・エスを選んだ理由 - エス・エム・エス エンジニア テックブログ

    こんにちは。2022年10月にエス・エム・エスに入社した塩井です。 現在はプロダクト開発部介護キャリア開発グループにて、介護職向け求人情報サイト「カイゴジョブ」の開発を行なっています。 この記事では、私が前職からの転職先にエス・エム・エスを選んだ理由、そして実際にエス・エム・エスで働いてみて感じていることなどをご紹介したいと思います。 誰? 改めましてしおいと申します。Twitterでは @coe401_ 、GitHubでは @shioimm と名乗っています。 前職では東京と福岡に教室を展開する小中高校生向け英語塾の社内開発チームで学習管理システムの開発を行なっていました。 プログラミング言語Rubyとそのコミュニティが大好きで、好きが高じた結果RubyKaigi 2021とRubyKaigi 2022にて登壇の機会をいただきました。よく地域Rubyコミュニティのミートアップに出入りして

    社会課題に取り組みたいRuby大好きエンジニアがセカンドキャリアにエス・エム・エスを選んだ理由 - エス・エム・エス エンジニア テックブログ
    ksss9
    ksss9 2023/02/28
  • U+301C from UTF-8 to Windows-31J (Encoding::UndefinedConversionError) に対応する - ESM アジャイル事業部 開発者ブログ

    こんにちは。ima1zumi です。 私の開発している Rails アプリでは、Excel で読み込めるように 文字コードを Windows-31J に変換して CSV を出力する機能があります。 先日、CSV 出力にて Unicode の波ダッシュ 〜 を Windows-31J に変換しようとして Encoding::UndefinedConversionError が発生して CSV 出力に失敗したことがありました。なぜエラーになるのか、どうやって対応するのかをまとめました。 まとめ encode メソッドの fallback オプションを使って未定義文字の変換先を定義することで変換できます。 str = "\u{2014 301C 2016 2212 00A2 00A3 00AC}" undefined_signs = { "\u2014" => "\x81\x5C".force_

    U+301C from UTF-8 to Windows-31J (Encoding::UndefinedConversionError) に対応する - ESM アジャイル事業部 開発者ブログ
    ksss9
    ksss9 2023/01/25
    ちょうど困っている部分の解決方法だったのでありがたい。
  • 正しい身体からの解放とハイヒール──アーティスト、片山真理は義足とともにどこまでも歩く。【片山真理のハイヒール・プロジェクト Vol.1】

    「言葉に出来ない気持ちとか、忘れちゃいそうな思い出とか、そういうものまで表現できる」という意味で、自身が「最強!」と絶対的な信頼を置く「針と糸」をつかって制作したオブジェに囲まれ(それらは往々にして、蟹のハサミのような形をした片山の左手や9歳のときに切断した脚を模したクッション状のもので、刺繍が施されたりレースや貝殻などが縫い付けられたりしている)、黒髪ボブに下着姿の片山真理は、自身の作品世界から私たちオーディエンスをじっと見つめている。その視線はときに妖艶で、ときに無関心で、ときに不機嫌で、ときに挑発的──作品の中の片山を見る自分の視線が片山を介して跳ね返ってくるような、妙な居心地の悪さに苛まれる。世の中には「見てはいけない」とされるものがたくさんあって、知らず識らずのうちにそういうものから目を背けて生きる癖がついてしまったのかもしれない。そう思うと、目の前の作品とその中に佇む片山から、

    正しい身体からの解放とハイヒール──アーティスト、片山真理は義足とともにどこまでも歩く。【片山真理のハイヒール・プロジェクト Vol.1】
    ksss9
    ksss9 2023/01/11
  • 【転職エントリー|燈で働く魅力】DXソリューション事業部 VPoE 丸尾恭四郎 | 燈株式会社

    初めまして、丸尾恭四郎といいます。東京大学の修士課程卒業後、2年半エムスリーのAI機械学習チームのエンジニアとして所属し、2022年10月より、燈にDXソリューション事業部 VPoEとしてジョインしました。 私はとにかくプログラミングが好きで、「飯をうようにプログラミングする」ことを大切にしています。この転職エントリを書くにあたり、私のエンジニアとしての生い立ちを言語化して整理しました。 とにかく作って、触ってもらう!今振り返ってみると、私は昔から、自分が作ってもらったものを人に触らせて喜んでもらうことをいつも楽しみにモノづくりをしてきました。 小学生の頃からRPGツクールというツールでゲームを作り、友達にやらせるのが大好きでした。その頃からプログラミングちっくなことが大好きで、中学生の頃からC++を使ってゲーム制作を始めていました。これもwindowsでビルドして、部活の友達にやらせ

    【転職エントリー|燈で働く魅力】DXソリューション事業部 VPoE 丸尾恭四郎 | 燈株式会社
    ksss9
    ksss9 2022/12/23
    まるまるさんVPoEになっていらっしゃる。
  • UTF-8で動くRailsがShift_JISな外部システムと通信する方法 - BOOK☆WALKER inside

    こんにちは。 メディアサービス開発部Webアプリケーション開発課のフサギコ(髙﨑)です。部署名が変わりました。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 記事では、UTF-8環境下で動くRailsがShift_JISな外部APIと通信する方法についてお話しします。 前提知識 文字コード UTF-8環境下で動くRailsがShift_JISな外部システムと通信するには Shift_JISな外部APIに対してPOSTリクエストする べた書きとしては Railsにおいては Shift_JISで使用できない文字が混ざっていないかをバリデーションする Shift_JISな外部システムからPOSTリクエストを受ける おまけ: ユーザのブラウザにShift_JISでPOSTさせる

    UTF-8で動くRailsがShift_JISな外部システムと通信する方法 - BOOK☆WALKER inside
    ksss9
    ksss9 2022/12/16
    便利で助かる……。
  • いつもの帰り道で、なぜ知的障害がある青年が警察官に組み伏せられて命を失ったのか 支援者が事件の映画を無料公開

    Search, watch, and cook every single Tasty recipe and video ever - all in one place! News, Politics, Culture, Life, Entertainment, and more. Stories that matter to you. いつもの帰り道で、なぜ知的障害がある青年が警察官に組み伏せられて命を失ったのか 支援者が事件映画を無料公開知的障害のある青年、安永健太さんが帰宅途中に警察官5人に組み伏せられて死亡した事件から15年。事件を風化させまいとつくられた「健太さんの会」がドキュメンタリー映画を作りました。「まずは知ってほしい」とYouTubeで無料公開しています。

    いつもの帰り道で、なぜ知的障害がある青年が警察官に組み伏せられて命を失ったのか 支援者が事件の映画を無料公開
    ksss9
    ksss9 2022/12/13
  • 技術広報とは何か、について自分なりのまとめ - HsbtDiary(2022-12-07)

    技術広報とは何か、について自分なりのまとめ これは 技術広報アドベンドカレンダー 7日目の記事です。 所属しているアンドパッドでの仕事では Ruby の開発をフルタイムに行う、と言うことを担当としていますが、サブとして技術広報も担当しているので改めて技術広報の活動とは何か、について自問自答をしたり、ブランド関連のを数冊読んで理解した内容をまとめておきます。自分向けのやっていき宣言です。 技術広報は技術ブランディングを担う役職である 広報とはよくパブリックリレーション(PR)とも言われますが、パブリックリレーションは基的に1方向のメッセージであるマーケティングとは異なり、メッセージを伝えたい対象と自分たちの間でコミュニケーションの計画をたて、何をどう伝えるか、結果として何を得るか、を考え、実行することが求められます。 すなわち、技術広報とは、ある組織が保有する技術、または技術を構成す

    ksss9
    ksss9 2022/12/07
  • RubyKaigi 2022 に弊社エンジニア・栗原が登壇しました! - READYFOR Tech Blog

    こんにちは、READYFOR DevHR の関根です。 2022年9月8日~10日に開催されたイベント、RubyKaigi 2022 に READYFOR のバックエンドエンジニア、栗原( @ksss )が登壇しました! 登壇者について @ksss プロダクト&エンジニアリング部 システム基盤部 バックエンドエンジニア 栗原勇樹 READYFOR に2022年1月に入社 栗原の SNS その他のブログは以下となります。 https://twitter.com/_ksss_ https://ksss9.hatenablog.com/ ▼ 入社エントリー tech.readyfor.jp ちょっとした裏話 発表については栗原個人のブログにまとめられていますので、ここでは READYFOR 内での取り組みについてお話しできればと思います。 ksss9.hatenablog.com READYF

    RubyKaigi 2022 に弊社エンジニア・栗原が登壇しました! - READYFOR Tech Blog
    ksss9
    ksss9 2022/11/28
    わいわい
  • フェローに、Ruby コミッターの柴田 博志氏が就任 | 株式会社アンドパッド

    クラウド型建設プロジェクト管理サービス「ANDPAD」を運営する株式会社アンドパッド(社:東京都千代田区、代表取締役:稲田武夫、以下アンドパッド)は、Ruby コミッターである柴田 博志氏がフェローに就任しましたことをお知らせいたします。 今後は、さらなるRubyの発展に寄与することを目的にし、柴田氏にはアンドパッドに所属しながらRubyの改善・開発に注力いただけるようフェロー・OSS開発者職として参画いただきます。 ■ 就任の背景 プログラミング言語Rubyは、約30年前に日で生まれた開発言語であり、現在も国内外の様々なサービスの開発言語として採用されています。当社は、「幸せを築く人を、幸せに」をミッションに、開発当初よりRuby on Railsを基盤に、建設業界向けのクラウド型建設プロジェクト管理サービス「ANDPAD」を開発してまいりました。 柴田氏は、開発言語としてのRuby

    フェローに、Ruby コミッターの柴田 博志氏が就任 | 株式会社アンドパッド
    ksss9
    ksss9 2022/11/04
    おめでとうございます!ANDPADすごー
  • 2022年度Rubyアソシエーション開発助成金 公募結果発表

    2022年度Rubyアソシエーション開発助成 公募結果 Rubyアソシエーション開発助成について2022年度は以下のプロジェクトが採択されましたのでご報告致します。 プロジェクトによる開発の成果報告は2023年4月頃に予定しています。 RubyDataエコシステムへのQuartoの導入とその利用の推進のためのコミュニティ活動 プロジェクト概要 このプロジェクトでは、Quarto を RubyData エコシステムに追加し、その使用を促進するためのコミュニティ活動に取り組む。 Quarto は、Pandoc 上に構築されたオープンソースの科学出版システムである。 Quarto は、Jupyterカーネルなどを使用して、プログラム実行結果を含むコンテンツをさまざまな形式で生成することができる。 このプロジェクトの実現を通して、Quarto の利点を (Python/R だけでなく) Ruby

    2022年度Rubyアソシエーション開発助成金 公募結果発表
    ksss9
    ksss9 2022/10/28
    unasukeさん、おめでとうございます!!!!!
  • Kaigi on Rails 2022 運営記 | うなすけとあれこれ

    ありがとうございました。 Kaigi on Rails 2022に参加していただいた皆様、ありがとうございました。登壇者の皆様、Proposalを出してくださった皆様、協賛してくださった企業の皆様、そして一般参加者の皆様のおかげで、Kaigi on Railsは今年も開催することができました。 Kaigi on Railsが継続的に開催されるためには、もちろん登壇したいとProposalを出してくれる方々、協賛して下さる企業の方々の存在も欠かせませんが、参加者の方々の感想も非常に重要です。楽しかった、学びになったなどのご感想は非常に嬉しいですし、ここはもっとこうだとよかった、などのご意見も、次回開催をより良いものにしていくためにはとても重要なものです。 では今回も雑用1&動画&配信周りを担当した僕からつらつらと振り返った感想を書いていきます。忘れないよう準備期間から書いていることもあり、項

    Kaigi on Rails 2022 運営記 | うなすけとあれこれ
    ksss9
    ksss9 2022/10/23
    お疲れ様でした!