並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 3803件

新着順 人気順

RUBYの検索結果121 - 160 件 / 3803件

  • Rubyプログラマが何を考え、どうやってコードを書くのか、その過程を動画にしてみました - give IT a try

    はじめに:銀座Rails #12で登壇させてもらいました 去る2019年8月29日、銀座Rails #12で「プログラマがコードを書きながら考えること 」という発表をさせてもらいました。 ginza-rails.connpass.com この発表では「プログラマが書き上げたコード(=完成形)」ではなく、「そのコードをどうやって書いたのか?(=何を考え、どんなツールやテクニックを使って、どれくらいのスピードで書いたのかという点、すなわち、コードを書く過程)」をテーマにしました。 そして、その過程をわかりやすく伝えるために、スライドだけでなく、僕がガチンコでコードを書いていく様子を動画コンテンツとして会場のみなさんにお見せしました。 これまでいろんな勉強会やイベントで発表してきましたが、動画を事前に用意して発表で使ったのはこれが初めてです。 初めての試みなので、どうなるかちょっと不安でしたが、

      Rubyプログラマが何を考え、どうやってコードを書くのか、その過程を動画にしてみました - give IT a try
    • 認証自作、 Rails 、 Devise - Diary

      認証自作、 Rails 、 Devise https://ockeghem.pageful.app/post/item/uQFX4oRNbnax82V これを読んで思ったことなんですけど、 Ruby On Rails 界隈では「認証は自作すべきではない、デファクトスタンダードの Devise を使うべき」という考え方が一般にあるように思います。 ではその Devise なんですけど、ドキュメントに以下のようにあります。 Starting with Rails? If you are building your first Rails application, we recommend you do not use Devise. Devise requires a good understanding of the Rails Framework. In such cases, we ad

      • 検索エンジン自作入門 Go Conference 2021 Spring

        Go Conference 2021 Springの登壇資料です アウトライン 1. 検索エンジンとは ~ 一般的な検索エンジンの仕組みと構成要素 2. 自作した検索エンジンの紹介 ~ 具体的に自作した検索エンジンの構成要素と動作例 3. 自作した検索エンジンの実装 ~ アルゴリズムとデータ構造、ライブラリ 4. おわりに ~ 検索エンジンを自作した感想

          検索エンジン自作入門 Go Conference 2021 Spring
        • 複数の言語で同じWebサービスを実装して技術特性の違いを見てみた - Hatena Developer Blog

          開発合宿運営チームの id:yutailang0119 と id:maku693 です。はてなでは四半期に一度、技術グループ主導で開発合宿を開催しています(過去の合宿の様子は「開発合宿」カテゴリーにまとまっています)。 2023年4月に実施した開発合宿では、参加者が複数のチームに分かれ、それぞれ異なるプログラミング言語で同じお題のWebサービスを開発しました。言語ごとの特性を比較し、今後の技術選定に生かす取り組みです。 この記事ではその開催レポートをお届けします。 開発言語の特性を理解したい さまざまな技術要素を2日で実装できるお題に 参加チームやコミュニケーションでの工夫 順調に開発が進んだ合宿当日 技術勉強会で「成果物を見る会」を実施 開発合宿を終えて プログラミング言語ごとの使用ライブラリ TypeScript Go Ruby Scala 開発言語の特性を理解したい はてなではたくさ

            複数の言語で同じWebサービスを実装して技術特性の違いを見てみた - Hatena Developer Blog
          • サヨナラHeroku 〜アプリケーションの知識だけで本番稼働を実現できる無料のプラットフォームを追い求めて〜

            はじめに Herokuの無料枠がもうすぐ消滅する(2022/11/28)ので、ソフトウェアエンジニアリングを勉強中の初学者の方々は、ポートフォリオの置き場所に頭を抱えることが確定しています。本稿では、その代替手段として、お金をかけず、かつなるべくアプリケーションの知識だけで、ポートフォリオの本番稼働を実現できる最適なプラットフォームを決定し、具体的な導入方法までを説明したいと思います。 オルタナティブHeroku まず海外にはオルタナティブHerokuを謳っているプラットフォームはそれなりにあります。その中で無料枠があってポートフォリオを公開するのに適していそうなプラットフォームは以下の通りです。 Cyclic Deta Fly.io Koyeb Railway Render AWSやGCPなどのメジャーなクラウドベンダーの中にも、それに類するサービスは存在しますが、場合によってはコンテナ

              サヨナラHeroku 〜アプリケーションの知識だけで本番稼働を実現できる無料のプラットフォームを追い求めて〜
            • Pryはもう古い、時代はIRB - k0kubun's blog

              僕はRubyで開発をする時は毎回Pryを使うくらいの熱狂的Pryユーザーだったのだが、PryはGemfileに書いてないと binding.pry できなくて不便。任意のgemをdefault gem化するgem default コマンドも作ったのだが、これをやるのすら面倒だと思っていた。 ある日、nobuさんがRubyに binding.irb という機能をいれた。Pryがdefault gemになるのを待つよりPryで僕が使う機能をIRBに全部移植してしまった方が早いのではないかと思い、4年前からPryの機能の移植活動を始め、今日僕がよく使う機能を全て移植し終えた。 その記念に、この記事ではIRBのPry互換の機能を紹介する。昔 今更聞けないpryの使い方と便利プラグイン集 という記事を書いたんだけど、この中で僕が毎日のように使うコマンドは全てIRBに移植したので、それを紹介する本稿を

                Pryはもう古い、時代はIRB - k0kubun's blog
              • Ruby 3.0.0 リリース

                Posted by naruse on 25 Dec 2020 Ruby 3.0系初のリリースである、Ruby 3.0.0 が公開されました。 これまで、Ruby3に向けてパフォーマンスの改善、並行処理、静的解析という3つの目標を掲げて、活発に開発が行われてきました。特にパフォーマンスの改善については、Ruby 3x3 として「Ruby3はRuby2の3倍速くする」ことを目指してきました。 Ruby 3.0では開発の指標の一つとしてきたOptcarrotベンチマークで3倍を達成するとともに、以下のような取り組みが行われています。 benchmark-driver.github.io/hardware.html に書かれている環境で計測されました。 8c510e4095 が Ruby 3.0 として使われています。環境やベンチマークによっては3倍にならないかもしれません。 Ruby 3 では

                • 0063 号 巻頭言

                  DDD を理解したいあなたのための DDD 入門以前 Rubyist Magazine 63 号をお届けする。 突然のお知らせで恐縮だが、日本 Ruby の会の主たる事務所が東京から北海道に移転した。それもあってあまりまとまった時間がとれず、11 月のうちに書くはずだったのが気がつくと 12 月も半ばを過ぎていたので、今回は以前書きかけていた文章を発掘してお茶を濁したい。 Ruby とは直接関係がなくて恐縮だが、Ruby に限らずソフトウェア開発では現在でもちょくちょく話題になることがある、DDD についての話である。 ドメイン駆動設計こと DDD は 2020 年代のソフトウェア開発でもよく話題にされるが、率直に言うとストレートにポジティブな評価が行われているとは言い難い。 どちらかというと、ある種マニアックで、対象分野が制限されており、また初心者にはとっつきにくいところがある手法と思わ

                  • 本格RPGでプログラミング学習! PC用「コードクロニクル」本日より無料公開開始

                      本格RPGでプログラミング学習! PC用「コードクロニクル」本日より無料公開開始
                    • GitHub、Rails 6がリリースされてからわずか9日で移行を完了。短期間で問題なく移行できた理由とは?

                      GitHub、Rails 6がリリースされてからわずか9日で移行を完了。短期間で問題なく移行できた理由とは? 2019年8月17日、Ruby言語によるWebアプリケーションフレームワークの「Rails 6」がリリースされました。 Rails 6は、Railsアプリケーションでのメールやリッチテキストなどを扱いやすくした新機能に加えて、マルチデータベース対応、パラレルテスト機能なども追加されています。 参考:Rails 6.0正式版がリリース。Action Textでリッチテキスト対応、Action Mailboxでメール処理、マルチデータベース、パラレルテストなど新機能 GitHubはRails 6の正式リリースから約9日で、同社の本番システムをRails 6に問題なくアップグレードしたことをブログ「Running GitHub on Rails 6.0」で報告しています。 On Augu

                        GitHub、Rails 6がリリースされてからわずか9日で移行を完了。短期間で問題なく移行できた理由とは?
                      • 『Sustainable Web Development with Ruby on Rails』はRails使ってるなら絶対面白いと思う

                        『Sustainable Web Development with Ruby on Rails』はRails使ってるなら絶対面白いと思う David Bryant Copelandの『Sustainable Web Development with Ruby on Rails』を読んでいますが、この本めちゃめちゃ面白いですね。 Railsの設計で悩んだことのある人なら絶対読んで損はないというか、共感したり反発したりにやにやしたりで楽しめると思います。RailsというかWebアプリ開発の歴戦の勇士(正直あまり若くなく、つらい経験を重ねてきた生き残り的な人)が語るベストプラクティス感があります。 本書の構成 大きく3部構成です。 Introduction その名の通り導入です。本書の目的、Railsのアーキテクチャの紹介と、ビジネスロジックの話など。 「Sustainable」とは何か? とい

                          『Sustainable Web Development with Ruby on Rails』はRails使ってるなら絶対面白いと思う
                        • Neovimを一瞬でVSCode並みに便利にする - k0kubun's blog

                          去年8年ぶりに vimrc を書き直した時はLSPの体験があんまりよくなくてLSPなしでNeovimを使い続けていたのだが、様々な言語のOSSをメンテする都合で用途に応じてIntelliJとVSCodeとNeovimの三刀流で暮らしていた結果、可能ならNeovimに寄せたいけどそれならLSPを使いたいなということになり、今回LSPの所を真面目に設定し直して、かなり良い体験になっている。 正直Neovimの設定はVSCodeのそれに比べたら面倒なんじゃないかという印象がありサボっていた節があるが、実際にやってみるとVSCodeと同程度に簡単に済む方法もあったので紹介したい。 何故Neovimなのか LSPの話の前に、タイトルだけ見た人がそもそも単にVSCode使えばいいじゃんと言いそうなので、どうしてIntelliJやVSCodeではなくNeovimに揃えようと思ったのかについて書いておく。

                            Neovimを一瞬でVSCode並みに便利にする - k0kubun's blog
                          • シングルスレッドやマルチプロセスなどの並行処理の話について、 すぐに忘れてしまいます。 どうしたらもっと知識が定着すると思いますか? 色んなライブラリーでAPIサーバーを立ててパフォーマンスの差などを見てみたりするのですが、結局よくわかりませんでした。 | mond

                            シングルスレッドやマルチプロセスなどの並行処理の話について、 すぐに忘れてしまいます。 どうしたらもっと知識が定着すると思いますか? 色んなライブラリーでAPIサーバーを立ててパフォーマンスの差などを見てみたりするのですが、結局よくわかりませんでした。 フレームワークに頼って実装していると、そのフレームワークが内部でどの様な仕組みで並列または並行処理しているのかが理解できず、ただ使っているだけの状態になり得ます。 フレームワークの設計者からすると、プログラマがそれらを気にしなくても利用できるというのがプロジェクトのゴールでもあるので、それはそれで正しいのですが「並列処理」や「並行処理」を理解したいというモチベーションでは逆にそれが邪魔をしてしまうかもしれません。 並行処理や並列処理を学ぶのであれば、API サーバ等といった物ではなく、コード片で学び始めるのが良いと思います。 例えば Rub

                              シングルスレッドやマルチプロセスなどの並行処理の話について、 すぐに忘れてしまいます。 どうしたらもっと知識が定着すると思いますか? 色んなライブラリーでAPIサーバーを立ててパフォーマンスの差などを見てみたりするのですが、結局よくわかりませんでした。 | mond
                            • とあるカンファレンスにでてきた「ソフトウェアはなにもしないと壊れる」という言葉に深くうなずく皆様「これは名言」「なににでも言える」

                              安川要平/Yohei Yasukawa @yasulab #RubyKaigi 2022 という国際カンファレンスのトークで出たお話しです!こういったトークも聞ける #RubyKaigi、2023年は松本で開催予定なのでぜひ遊びに来てください!!ね!!!💎✨ RubyKaigi 2022 rubykaigi.org/2022/ 2022-09-10 19:23:45

                                とあるカンファレンスにでてきた「ソフトウェアはなにもしないと壊れる」という言葉に深くうなずく皆様「これは名言」「なににでも言える」
                              • Zennのバックエンドを Google App Engine から Cloud Run へ移行しました(無停止!YES!)

                                Zennは、Next.js + Ruby on Rails(APIモード)を Google Cloud の App Engine へデプロイして稼働していました。最近、Rails の実行環境を App Engine Flexible から Cloud Run へ移行したので、その記録を残します。 ロードバランサーのバックエンドサービスを付け替えることで実現 最初に、どうやって移行したかです。Zennのバックエンドはもともとロードバランサーで構成されていました。以下の図のように、ロードバランサーの Backend Service より背後を切り替えることにより実現しています。Cloud Run とそこにアクセスするための Serverless NEG はあらかじめ稼働させておくことで、ダウンタイムなしで切り替えられました。 参考:負荷分散 | Google Cloud https://clo

                                  Zennのバックエンドを Google App Engine から Cloud Run へ移行しました(無停止!YES!)
                                • Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です

                                  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

                                    Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です
                                  • Pythonは人気の言語です。しかし、その割にPythonが気軽に利用できるレンタルサーバーは少ない感じがします。何故、レンタルサーバーはPythonの利用に消極的なのですか?

                                    回答 (9件中の1件目) そうですか? さくらのレンタルサーバーやXserverでは使えるし、レンタルサーバーでpythonだけ使えないっていうことに遭遇したことないです。共用レンタルサーバーならruby、perl、pythonはひと揃い入ってるものという印象なのですが。 私のレンタルサーバーのチョイスが偏ってるだけという可能性はなのは否定しませんが、ちなみに使えなかったのってどこの何プランでした?

                                      Pythonは人気の言語です。しかし、その割にPythonが気軽に利用できるレンタルサーバーは少ない感じがします。何故、レンタルサーバーはPythonの利用に消極的なのですか?
                                    • 僕がDoorkeeperを売却した理由について

                                      This article is also available [in English](/articles/why-i-sold-doorkeeper). 2010年にローンチし、2013年に法人化、2016年に黒字化した[Doorkeeper](https://www.doorkeeper.jp)を売却しよう、と決意したタイミングを、僕ははっきりと覚えています。それは、ある金曜日の朝、40℃の熱で保育園から帰宅した2歳の息子の面倒を見ていた時でした。 子供の熱や病気はよくあることですが、その朝のPagerDutyのアラートもまさに同様で、DoorkeeperのKubernetesマスターの一つが正常に動作しておらず、注意を払う必要がありました。種類が異なる二人の「わが子」が、同時に僕の関心を必要としていて、今思えば笑える話ですが、その時はいっぱいいっぱいに感じました。 なんとかその日を乗

                                        僕がDoorkeeperを売却した理由について
                                      • エンジニアの強力な付加価値スキルとしての発信力 - An Epicurean

                                        エンジニアに限らず、BlogやTwitter、OSS、登壇など、対外発信力がキャリアにおける強力な付加価値になることは知られるようになりました。 英語力がそうであるように、発信力は必ずしも必須スキルではありません。英語ができなくても活躍しているエンジニアはいくらでもいます。同時に英語がそうであるように発信力が有力な付加価値をもたらすスキルであることは事実です。 私自身、発信力が強みになっている分バイアスがあるので、あまりそのスキルの価値を過大評価して他人に押し付けるようなことはしたくありません。それに、エンジニアだったら発信力などではなく、純粋な技術力で評価されたいよな、という青臭い気持ちもまだどこかにあります。 ですから、全員が発信すべきだとは考えません。ただ、対外発信に興味を持っている人は後押しはしたいし、そういう人が増えてほしいとは強く思っています。なぜならば、それが単純に楽しいから

                                          エンジニアの強力な付加価値スキルとしての発信力 - An Epicurean
                                        • Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary

                                          先日のKaigi on Rails中の雑談として @ima1zumi さんから、RDBに対して秒間1000コミットぐらいで処理が詰まってる場合ってどうするのが良いのか、という質問を受けまして、雑談の中で色々答えてたんですが、せっかくだから記事にまとめておこうと思います。 ちょっとしたKaigi Effectって感じですね。 今回のKaigi on Railsのトークの中では、 数十億のレコードを持つ5年目サービスの設計と障害解決 by KNR - Kaigi on Rails 2023 の話なんかは割と関連がありますね。ユーザーの行動履歴というのは、ユーザー数 * N * タイムスパンで増えていくレコードなので、書き込みとデータ量が爆発しがちです。トランザクションで堅牢に処理しなければいけないケースもそこまで多くないので、RDBだと書き込みに対する処理が過剰なケースが多い。実際のところこの

                                            Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary
                                          • 真・プログラミングスクールに通うくらいならこの本を読め10選 - ニート向けソフトウェアエンジニアリング塾

                                            概要 前回の記事(プログラミングスクールに通うくらいならこの本を読め10選)は難しすぎたらしい プログラミング未経験者や子どもに教えるつもりで本を選んでみた さすがにこれらの本は自分で買って中身は読んでません… タイトルと目次を見て良さそうな本を紹介しています 初学者向けなんだからプログラミング言語絞れよという意見には反対です 初学者こそ複数のプログラミング言語に触れてみて、プログラミング言語の共通パターンや差異を理解していくほうが、一見遠回りに見えて近道だと思っているからです 初学者はとりあえずWebアプリ開発やっとけという意見にも反対です Web開発、ゲーム開発、アプリ開発などいろいろ触れてみて楽しいと思えたことを突き詰めていくのが良いように思います 第一位 スラスラ読める JavaScript ふりがなプログラミング https://amzn.to/3oi9TsO 選定理由 登場する

                                              真・プログラミングスクールに通うくらいならこの本を読め10選 - ニート向けソフトウェアエンジニアリング塾
                                            • SPA+SSR+APIで構成したWebアプリケーションのセッション管理 - Pepabo Tech Portal

                                              カラーミーショップ サービス基盤チームのkymmtです。この記事では、サーバサイドレンダリングするシングルページアプリケーションとAPIサーバからなるWebアプリケーションのセッション管理方法について紹介します。 アプリケーションの構成 構成の概要 今回は例としてEC事業部で提供するカラーミーリピートをとりあげます。構成としては、Railsで作られたAPIサーバ1と、Vue.jsで作られたシングルページアプリケーション(SPA)からなります。また、SPAはExpressが動くフロントエンドサーバでサーバサイドレンダリング(SSR)します。APIサーバはSPAかフロントエンドサーバだけが呼び出します。各ロールはサブドメインが異なります。 APIサーバでセッションIDを持つCookieを発行し、Redisを用いてセッション管理します。また、APIサーバへのセッションが有効なリクエストはフロント

                                                SPA+SSR+APIで構成したWebアプリケーションのセッション管理 - Pepabo Tech Portal
                                              • Re: OSSで世界と戦うために - k0kubun's blog

                                                yusukebe さんの OSSで世界と戦うために を読んで感銘を受けた。 hono の快進撃もさることながら、OSSで日本のコミュニティの外にリーチしたり、 GitHubスター数を伸ばしたりみたいな話は、 自分も10年くらい挑戦し続けているけどあんまり表に出てこない気がするネタなので興奮した。 僕はいくつかの点で上記の記事とは違う方法でOSSで世界と戦っているのだが、 その中でうまく行っているものや、良くないと思っているものなどについて紹介したい。 GitHubのスター数 OSSを始めたばかりの学生時代、GitHubのスターへの執着がもはや煩悩の域であり、 集めたスターの数を合計するCLIツールを作ったり、 同じ計算方法でランキングを作るWebサイトを作ったりした。 このサイトによると、僕の今のスター数は9000を超えている。 自作したOSSの中では、スター数が1600くらいのものが2つ

                                                  Re: OSSで世界と戦うために - k0kubun's blog
                                                • ひろゆきがRubyの父・まつもとゆきひろに聞く「弟子募集しないんですか?」 - エンジニアtype | 転職type

                                                  日々プロダクトに向き合うエンジニアのみなさんにヒントをお届けすべく、日本最大の電子掲示板『2ちゃんねる(現5ちゃんねる)』を立ち上げた、ひろゆきさんを迎えた本連載。国内外のプロダクトを、ひろゆきさんはどうみるのか? ひろゆきさんが開発者ならどこをブラッシュアップするのか?そんなことを、毎回話題のプロダクトを取り上げながらお届けすることでプロダクト開発で大切なことを探っていきます。 今回で3回目となるこちらの連載。1回目、2回目と若きエンジニアを論破してしまう回が続いたので「次回は論破しないひろゆきもみてみたい…」という気持ちに駆られてきた編集部一同。そこで、ひろゆきさんに聞いてみました。

                                                    ひろゆきがRubyの父・まつもとゆきひろに聞く「弟子募集しないんですか?」 - エンジニアtype | 転職type
                                                  • Ruby 2.7のここがすごい! パターンマッチ、コンパクションGCなどをリリースマネージャーに聞いた - エンジニアHub|Webエンジニアのキャリアを考える!

                                                    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日にメジャーバージョンアップが行われています

                                                      Ruby 2.7のここがすごい! パターンマッチ、コンパクションGCなどをリリースマネージャーに聞いた - エンジニアHub|Webエンジニアのキャリアを考える!
                                                    • C#やRustからWin32 APIをもっと簡単に呼び出せるように ~Microsoftが「win32metadata」プロジェクトを発表/今まで手動でメンテナンスされてきたバインディングやラッパーを自動管理する基盤

                                                        C#やRustからWin32 APIをもっと簡単に呼び出せるように ~Microsoftが「win32metadata」プロジェクトを発表/今まで手動でメンテナンスされてきたバインディングやラッパーを自動管理する基盤
                                                      • 東京都立の大学院で24時間対応の Teaching Assistant (ChatGPT) を用意して分かったこと

                                                        ChatGPT Meetup Tokyo #0 で発表したスライド資料です! 2023年度の講義では、AI に TA (Teaching Assistant) 相当の質問対応サポートをしていただきました 🤖💨 📊 アンケート結果 - Google フォーム (Raw Data) https://bit.ly/learn-to-code-with-chatgpt-raw-data 📺 発表動画 (ライブ配信版) - YouTube https://youtu.be/K0X6zkSxWzs?t=2282 📺 発表動画 (再収録版) - YouTube https://youtu.be/Q4zh98b5KAs 🌸 ChatGPT Meetup Tokyo #0 https://chatgpt.connpass.com/event/280653/ 👥 視聴者・参加者からのコメント h

                                                          東京都立の大学院で24時間対応の Teaching Assistant (ChatGPT) を用意して分かったこと
                                                        • オンライン講座MOOCで英語版「プログラミングしながら学ぶコンピュータサイエンス入門」を公開

                                                          東京工業大学は、インターネット上で誰でもいつでも無料で受講できる大規模オンライン講座MOOC(ムーク)※1を2015年10月より提供しています。すでに10コースを公開し、200を超える国と地域から10万人以上が受講しています。5月から人気コース「プログラミングしながら学ぶコンピュータサイエンス入門」の英語版として、「Introduction to Computer Science and Programming」を世界的なMOOCのプラットフォームedX(エデックス)※2で公開しました。 新型コロナウイルス感染症の影響で、2020年は世界中でMOOC受講者が急激に増加し、前年より6000万人も増えました。日本語からほかの言語への翻訳も求められています。 「プログラミングしながら学ぶコンピュータサイエンス入門」は渡辺治理事・副学長(研究担当)が担当し2019年8月に日本語で公開しました。今回

                                                            オンライン講座MOOCで英語版「プログラミングしながら学ぶコンピュータサイエンス入門」を公開
                                                          • Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ

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

                                                              Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ
                                                            • やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab

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

                                                                やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab
                                                              • まつもとゆきひろ氏が“幻のPerl6”から学んだ教訓 「OSSの最大の敵」と「セカンドシステムの危険性」

                                                                プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。3回目は、「Second System Syndrome」について。前回はこちら。 退屈は最大の敵 まつもとゆきひろ氏:次はPerlですね。ここまでですでに4回ぐらいPerlの話題が出てきています。なぜかというと、私はPerlが大好きなんですね。実は、Perlが大好きなんですが、Perlのプログラミングは大好きじゃないんですね。あと、Perlのソースコードも大好きじゃないんですね

                                                                  まつもとゆきひろ氏が“幻のPerl6”から学んだ教訓 「OSSの最大の敵」と「セカンドシステムの危険性」
                                                                • 著名なオープンソースRailsアプリのapp/以下を見る

                                                                  Railsにおける app/ とは app/はRailsのアプリケーション用ディレクトリで、普通のRailsアプリケーションでは、この下にmodels,controllers,viewsを含めた様々なディレクトリが作られます。 基本的には新しいディレクトリを追加する必要はないのですが、アプリケーションが複雑になると、Railsを拡張するべくここにアプリケーション固有のディレクトリを作って、その下に関連するファイルを置くことがあります。 中には、servicesやserializersのように、多くのRailsアプリケーションで見られるものもあれば、完全にアプリケーション独自のものが作られることもあります。また、アプリケーションによっては独自のディレクトリは一切作らないものもあれば、大量に作るものもあります。それぞれアプリケーションの開発方針によるものです。 本記事では、比較的有名なOSSの

                                                                    著名なオープンソースRailsアプリのapp/以下を見る
                                                                  • Active Recordから考える次世代のRuby on Railsの方向性 / Directions for the next generation of Ruby on Rails: From the viewpoint of its Active Record

                                                                    January 29, 2021 @ 銀座Rails #29

                                                                      Active Recordから考える次世代のRuby on Railsの方向性 / Directions for the next generation of Ruby on Rails: From the viewpoint of its Active Record
                                                                    • 妄想的DHH理解 - Qiita

                                                                      Caution この記事はDHHファンの妄想によるシナリオが多分に含まれます。 というかほとんどです。 成り立ちが間違ってることも当然あるように思うので話半分で読んでください。 これは一体 最近のRailsフロントエンドやDHHの活動には一連の流れがあるわけですが、一部トレンドに沿ってない部分がある故にそれが汲めないというところがあるのではと思います。 それらの流れを記憶が定かなうちにつないで記録しておこうという記事です。 前提知識 Railsの生みの親、Rubyist Basecamp(社) DHHがCTOやってる会社 Basecamp(サービス) Basecamp(社)が開発してるプロジェクト管理ツール Trixを開発してたある日 Basecamp(サービス)に組み込まれてるリッチテキストエディタのtrixをcustomElements使って開発してたある日、DHHはあることに気づく。

                                                                        妄想的DHH理解 - Qiita
                                                                      • 会社の支給PCがMacBook Pro M1なので、新しく開発環境を構築した話 - 食べチョク開発者ブログ

                                                                        こんにちは。 今年の年始からジョインした遠藤です。 さて、入社したところ会社支給のMacBook ProがM1チップのものでした。 はい、現状は開発環境で苦労するとか色々噂を聞くやつです。 実際に試したのですが、 現状の開発環境構築スクリプト、手順書が一切使えない VitualBox, Vagrantは利用不可 Dockerは利用可能ではあるが、一部イメージが対応されてない 古いパッケージは動かす手段がない などなど、通常ではぶつからない問題にぶつかります。 食べチョクでは、 Ruby Node.js MySQL Redis ElasticSearch Kibana を利用しています。 この辺りをメインに話つつ、Intel版とこんな風に違うのかっていう辺りの雰囲気を感じ取っていただければと思います。 どこに開発環境を構築するか まず、どこで開発環境を構築するかを考えてみたいと思います。 ロ

                                                                          会社の支給PCがMacBook Pro M1なので、新しく開発環境を構築した話 - 食べチョク開発者ブログ
                                                                        • Rails 設計 最強

                                                                          自分が目指したいRailsアプリの形とは何か、ということについて考えていた。 常日頃から考えていたRailsアプリでの不満をこの議論に合流させた結果、「Rubyを書くときに当たり前にやるようなことを、Railsアプリを書くときでも当たり前のようにやる」というところが肝で、自分が目指したいRailsアプリの形はその先にあるのではないか、と一旦結論付けてみることにした。 「普通にRubyでコードを書くときはやらないけど、Railsだったらこう書く」という何かが存在していることが、さまざまな失敗の原因をつくっていると思う。 RubyとRailsが地続きに繋がっていないというか、どこかで断絶があり、そこから筋の悪い設計が生まれている ―あるいは持ち込めるはずの良い設計を持ち込めていない― のではないか、という話。 実際にはどの辺りが気になっているのか?という例を挙げると、氷山の一角を指摘するだけな

                                                                            Rails 設計 最強
                                                                          • うるう日にしか発生しないバグ

                                                                            昨日うるう日にしか発生しないバグに遭遇した。Javascriptを書く人には有名な話だとは思うので大して面白くはないかもしれないが一応メモ。 詳しくは書けないがバグが発生した関数の仕様としてはざっくりと下記のような感じ。 対象の年月日が基準日の1年前から1年後の間に含まれる場合はtrueを返しそうでない場合はfalseを返す 引数として2020-12-24というフォーマットの文字列が渡される(判定対象の日) 引数として2021-01-01というフォーマットの文字列が渡される(+-1年の基準日) Javascriptで書く (例) 対象の日: 2024/10/10 基準日: 2024/01/28 この時、trueになる範囲は2023/01/28 ~ 2025/01/28。なので2024/10/10はtrue。2023/01/28も2025/01/28もtrueになる。閉区間。 とあるコードの

                                                                              うるう日にしか発生しないバグ
                                                                            • パッケージマネージャで配布されるマルウェア、対策と課題について - ぶるーたるごぶりん

                                                                              はじめに 画像は記事に全く関係ないカニのフィギュアです👋 近年、善良なパッケージを騙ったマルウェアが配布されているケースが増えてきています。 これらのマルウェアはパッケージマネージャ上で配布され、開発者端末やそれをビルトインしたシステムを利用するユーザー端末で悪事を働きます。 これは俗にいうサプライチェーン型攻撃で、 これらの関連ニュースを目にする機会が増えてきていることを、多くの開発者が体感されていると思います。 ただ、これらのサプライチェーン型攻撃の記事は、 どうしてもエンドユーザー(パッケージを利用する開発者側・それらを組み込んだアプリを実行するユーザー側)の対策に焦点が当てられたものが殆どのように感じています。 そこで本記事では、このエンドユーザー側の対策だけではなく、 パッケージマネージャメンテナーたちがどう対策しているのかも含めて、 「パッケージマネージャ上で行われるマルウェ

                                                                                パッケージマネージャで配布されるマルウェア、対策と課題について - ぶるーたるごぶりん
                                                                              • そろそろRailsプロジェクトに型を導入したい人向けの資料

                                                                                すべての説明はイチRubyユーザーの個人的で期間も限定的な観測範囲に基づきます。 「Rubyには型がない」 ある日、同僚とプログラミング言語に関する雑談をしていたときに言われた一言です。 私はその日までRubyの型機能は使っていませんでした。忙しい毎日を送り、キャッチアップを疎かにしていたのです。後日このことは猛烈に反省することになります。 「Rubyには……型があるッ……!」 火がついた私はパターンマッチの時と同様にRubyの型についてキャッチアップすることにしました。そして最高の体験が待っていました。 導入した後の世界 ぶっちゃけRubyの型を導入するとどうなるのでしょうか? メチャクチャ簡単に説明すると、エディタでバグがひと目で分かるようになります。 vscodeでの画面です。なにやら赤線がついています。 === bar === barの部分にカーソルを合わせてみましょう。 「Pos

                                                                                  そろそろRailsプロジェクトに型を導入したい人向けの資料
                                                                                • Rubyと型についてのポエム - まめめも

                                                                                  zenn.dev matz はじめコミッターの型に対する姿勢にも疑問を持っています。 というご意見が自分に刺さった気がしたので、他の話題はともかくこの点に関してだけ、ポエムを書きます。 「Rubyに型が欲しい」というのは、「もっと速い馬が欲しい」だと思っています。意味を知らない人は ヘンリー・フォード もっと速い馬が欲しい で検索してください。 これは批判でも皮肉でもありません。みんなが馬の乗り方を知っている世界では、誰も乗り方を知らない自動車より、速い馬のほうが確実で合理的です。まして、自動車が本当に実現できるかどうかわからない段階では。なので、他言語で型注釈を書くことによるプログラミング体験が良いと思った人が、それをRubyでも享受したいと思うのは自然だと思います。実際、Steep や Sorbet は Ruby でそういうプログラミング体験を提供することを目指していて、すでにある程度

                                                                                    Rubyと型についてのポエム - まめめも

                                                                                  新着記事