なんじゃくにっき

プログラミングの話題中心。

Ruby

日本語ドメインにプログラムからアクセスする方法

プログラムから日本語ドメインのページにアクセスしたい まずはそのまま日本語ドメインでGET Punycode Ruby Python Chrome プログラムから日本語ドメインのページにアクセスしたい 例としてRuby、HTTPクライアントとしてFaradayを使ってみます。 アクセス先…

VSCodeのextention Ruby LSP

VSCodeのRuby用ExtentionとしてはVSCode Ruby を使っていたんですが、Ruby LSPへの乗り換えを勧められるので乗り換えました。 VSCode Ruby - Visual Studio Marketplace Ruby LSP Ruby LSP - Visual Studio Marketplace VSCodeのextention画面からRuby LSPイ…

IRBの色を変えたい

なーんかRubyのREPLの色が見づらくて変えられないかなーと思っていたら変えられるとのこと。 reline/doc/reline/face.md at master · ruby/reline · GitHub $HOME/.irbrc に if defined? Reline::Face Reline::Face.config(:completion_dialog) do |conf| co…

Ridgepoleの動作が遅いときは・・?

概要 Ruby製のmigration toolのRidgepole話。 GitHub - ridgepole/ridgepole: Ridgepole is a tool to manage DB schema. It defines DB schema using Rails DSL, and updates DB schema according to DSL. (like Chef/Puppet) これの動作が遅かったので調査…

Rails 7新規プロジェクト作成

概要 以前Rails 7キャッチアップしようとしたらdeviseが対応してなかったりしたので後回しにしてたのですが、 deviseがこの前対応していたので試してみます。 devise/CHANGELOG.md at main · heartcombo/devise · GitHub 以下のOSはubuntu。 Rubyのインスト…

Ruby 3.2.0インストール

クリスマスにRuby 3.2.0がリリースされたのでインストールします。 環境はubuntu。 anyenvでrbenvを入れているのでrbenvをまずupdate $ anyenv update それからruby 3.2.0 install $ rbenv install 3.2.0 なんかこけた。 BUILD FAILED (Ubuntu 22.04 using r…

お勤め先のブログに投稿しました

お勤め先のブログに投稿しました Rubyの型チェッカーのSorbetを導入しました Rubyの型チェッカーのSorbetを導入しました - freee Developers Blog

Sorbet PlayGroundはwasmで動いている

Rubyの型付けライブラリのSorbetの動作をWeb上で確認できるSorbet Playgroundってのがあるんですが、 sorbet.run どうやってブラウザで動かしているんだろうと思って通信を見てみたら、 コード変更ごとに通信走ってるわけではないのでサーバー側でtype check…

Rubyのgemを作るとデフォルトでgithub actionが作られて、そのままpushすると動くようになっていた

いつからか知らないのですがRubyのgemを作ると、 .github/workflows が作られていて、そのままgithubにpushすると動くようになってちょっと感動しました。 (githubでコード管理しない人には余計なお世話かもしれませんが) デフォルトでGemfileにRubocopとR…

クックパッドマートのエンジニア採用試験の問題を解く

ちょっとバズってたクックパッドマートの採用試験の問題を秋の夜長に解いてみました。 言語はRuby。 3問中1問だけ。 ↓のQ2です。 cookpad-mart-careers.studio.site 問題の趣旨 問題文は上のリンク先で確認してもらうとして、 趣旨としては、要素の並べ替え…

Rubyでhot reloadしてみる

これはなんだ Rubyでhot reloadするのを簡潔に書いてみるサンプルです。 hot reloadとは Rubyをはじめ殆どのプログラミング言語では、通常はプログラムを実行すると(もしくは最初にソース/バイナリが読み込まれたとき以降)、実行中はソースコードの反映は…

Ubuntu 14.04にrbenvでRuby 2.2.0インストール

Ubuntu 14.04にrbenvでRuby 2.2.0インストール 途中でopensslがないとかautoconfがないとか怒られた結果、依存ライブラリを 入れたりしたらいけた。 sudo apt-get update sudo apt-get upgrade sudo apt-get install git build-essential autoconf libffi-de…

Rubyのしくみ

会社で借りて読んだ。 普段Ruby使ってるから知っておこうと思って。 主にコンパイラとかVMあたりの話。 低レイヤー領域なので、普段のコード書くのにはすぐに役立つことは少なそうだけど、 あまり聞いたことのない話が多くて面白い。 1-3章は字句解析とかそ…

よく忘れるRubyの基本的記法

個人用メモ。 ※見てくれる人が多いようなので追記しました。 そのうちまた追記します リテラル 詳しくはドキュメント読みましょう http://docs.ruby-lang.org/ja/2.1.0/doc/spec=2fliteral.html Stringの配列 %w(a b) # ["a", "b"] %w|a b| # ["a", "b"] 区…

Ruby 2.1.0にアップデート[Mac][CentOS]

【rvm使っている場合】 前提としてrvmは入っているものとするhttp://d.hatena.ne.jp/nanjakkun/20121110 http://d.hatena.ne.jp/nanjakkun/20130715まずはrvm自体の更新 $ rvm get stableインストールできるバージョン確認して $ rvm list knownインストール…

Mac Book AirにRVM使ってRubyインストール

MBAにRVM入れました。下の記事そのまま実行しただけです。感謝。他力本願です。http://blog.erratasec.com/2013/02/ruby-193-on-osx-mountain-lion-with-mac.html#.UeOkqVPv1Uo CentOSならこっち http://d.hatena.ne.jp/nanjakkun/20121110