hotoolong's blog

プログラムのことやエンジニアリングに関することを記事にしています。

DateとTimeの比較

たまたま、DateとTimeを意図せず比較している処理があったので調べてみた。 Date同士の比較であれば日付があっていれば 等しくなるので当たり前だけど Date.new(2023, 1, 1) == Date.new(2023, 1, 1) # true これが片方が Timeの場合 Date.new(2023, 1, 1) =…

rbenv で Ruby3.0.4のインストールで失敗する

新しいPCにrbenvでRubyのインストールを試みたのですが、エラーになってしまったのですが、 あまり他でみかけない解決方法で解決したのでブログに残しておこうかと思います。 エラーの内容 エラーの内容は以下の通りでopenssl の影響でエラーになってました…

RubyKaigi2023の動画が公開

RubyKaigiから早くも1ヶ月経ってしまった。 その間に クックパッドが今年3回目の人員削減。110名を対象 を発表していた。 gamebiz.jp 業界ではかなりの衝撃があり、以前の2回ではエンジニア、デザイナは対象になっていなかったが、 今回は対象になっている。…

RubyKaigi 2023 Day3 の感想

感想 Day3 最後日になってしまった。 今まで参加したRubyKaigiで一番良かったように思うし、 今回のRubyKaigiで知り合えた人が過去1だったように思う。 前日の続きのスタンプラリーの残りのブースには結局行かず、 聞きたいセッションと話したかった人を探し…

RubyKaigi 2023 Day2 の感想

感想 今日はDocker Tシャツを来て参加。 中の人ではないのですが、紛らわしかったのか.. ブースで中の人ではないですよね? と聞かれてしまい。。ややこしくてすみませんという感じだった。 スタンプラリーが始まったので、回っていたが残り6箇所は明日に行…

RubyKaigi 2023 Day1 の感想

感想 久しぶりに現地参加してみて、やっぱり実際に人とあって参加するのは楽しい。 一方的に私は知っているけど相手は私のことを知らないCommiterの方々が近くにいたりして私からは話しかけられなかったりするのだが、それはそれで楽しめる。 何よりいいのは…

Neovimの設定ファイルを init.lua に置き換えた

以前から少しずつ luaに置き換えていたのですが、やっと概ね動くところまで置き換えれました。 なんとなく書いていた vimscript や プラグインの設定も見直すことができて理解度はかなり向上したのかなと まだ思うように動作しなくて納得いかないところもあ…

2022年を振り返って

あけましておめでとうございます。 2023年になりました。 日が経つのは早いです。 COVID-19以降世界が大きく変わってきた印象が強いですが、 2022年振り返っても歴史的なことが起こっていますね。 ロシアのウクライナ侵攻、安倍元総理が銃撃されたり、1ドル1…

大型書店の閉店が相次ぐ

以前ツイートしたりしていたのですが、大型書店が次々と閉店します。 秋葉原ヨドバシAKIBA店の有隣堂 2023/1/9に閉店 https://www.yurindo.co.jp/store/tokyo-akihabara/ 渋谷のジュンク堂 2023/1/31で閉店 https://www.maruzenjunkudo.co.jp/info/20221101-…

WF-1000XM4 をやめて HUAWEI Eyewearを使ってみることに

WF-1000XM4 を愛用してたのですが、ここ数ヶ月でノイズキャンセリングありで 右耳が2時間ほど左耳が3時間ほどしか電池が持たなくなってしまい。ほぼ使い物にならなくなっていました。 商品ページでは 最大8時間(NCオン) / 最大12時間(NCオフ) https://www.so…

fish shellのプロンプトにフルディレクトリ名の出力が設定で変更できるようになっていた

fish 3.4.0からプロンプトにフルのディレクトリ名を表示できるようになっていました。 以前のブログで prompt_pwd を上書きして フルのディレクトリを表示していたのですが、設定だけでできるようになりました。 ありがたい。 以前PRを投げていたのですが、 …

RubyKaigi2022にリモートで参加してきた

久しぶりの更新です。 今年はRubyKaigiは現地での参加を予定していたのですが、8月のCOVID-19感染者数が結構跳ね上がってしまったのでリモートでの参加としてみました。 個人的な見どころとしては ブラウザでのRuby実行(WebAssembly) パフォーマンス改善 デ…

リモートワーク環境を考える

1年以上ブログを書いておらず、すっかり書き方を忘れてしまっています。 イントロ リモートワーク環境を少しずつ改善していったのを フリーランスとして働いてリモートワークでの仕事でやっている手前,環境を少しずつ改善して行けているのかと思い、現状をま…

パーフェクトRuby on Rails 【増補改訂版】を読んで

イントロ パーフェクト Ruby on Rails 【増補改訂版】を読みました。 Rails本の中では異質な量と質ではないかとおもいます。 誰が読むべきか 最近のRailsをキャッチアップしたい方 Railsをある程度は長く使っている方 よりRailsを理解したい方 Rails初心者の…

Krisp を使ってみた

リモートでの会議が多くなり、Google Meets, Zoom, Discord を使う機会が徐々に増えてきました。 リモートで会議をしながらタイピングをしているケースもあり、 相手のキーボードの打刻音が煩わしく感じたり、 自分の打刻音が相手にどれくらい不快にさせるの…

vimのプラグインマネージャをdein.vimに変更しようとして読み込めないプラグインがある?

イントロ 現在vim-plugを使っています。 プラグインが増えてきて遅延させてロードを対応したこともあったんですけど、 設定が必要なプラグインの場合ロード前に設定がエラーなるようなケースもあり、 deinに乗り換えることにしました。 github.com 以前もdei…

fish shellのprompt_pwdを少し改造する

イントロ 日々fish shellを使っているのですが、 プロントの表示を変更したくなりました。 ただ、単純には変更できなかったのでカスタマイズしてみました。 というお話です。 一般的なやり方 fish shell で プロンプト を変更する場合は以下のコマンドを打ち…

Neovim用の翻訳プラグインを作った

イントロ DeepLなどで翻訳が比較的簡単にできるようになっているのですが、 vimから離れずに翻訳したいと思いプラグイン入れてみるとNeovimに対応されてなかったのがプラグインを作ろうと思ったきっかけです。 ただ、よく調べると同様のプラグインは既にあり…

Ruby 3.0.0 preview1 の インストール

イントロ Ruby 3.0.0 preview1がリリースされました。 www.ruby-lang.org RBS、Ractorなど新しい機能が試してみたいところですね。 手順 ruby-build の アップグレード まずruby-buildのバージョンアップをしましょう。 $ brew upgrade ruby-build インスト…

RSpec初心者向け勉強会の動画がとても良かった

イントロ RSpecの初心者向け勉強会が紹介されていました。 blog.jnito.com 勉強会の内容を動画で公開してくれています。 最近RSpecをあまり書いておらずトレンドも追えてなかったのでとても為になる内容でした。 気になった内容 テストの書くべきところ 動画…

Rubyの継承元のクラスの別メソッドをsuperで呼び出す

イントロ Rubyの継承先で継承元のメソッドを単純に呼び出すにはsuperを使いますが、 継承元の別メソッドを呼び出したい場合にどうしていいのかわからなかったので調べてみました。 詳細 class A def test1(*args) puts "A#test1:args(#{args})" end def test…

vimの置換で改行、タブを挿入する

Vim

イントロ 度々vimの置換処理で改行やタブを追加して置換するケースがあるのですが、 挿入するためのキーバインドを忘れてしまうのでもう少し調べてみたという内容です。 やり方 改行に置換したいケースで 私がよく利用するのはjsのコードで;の後に改行を無作…

asyncomplete-tabnine.vim を neovim に対応してみた

概要 tabnineはAIによる入力補完をサポートしてくれるツールです。 vimでも利用できるのですが、デフォルトで使うと同期処理されてレスポンスが遅く使い勝手が悪いです。 非同期用としてYouCompleteMeやCoC、Deopleteが対象となっていますが、私は普段asynco…

vim-plug で プラグインの遅延ロードを行う

イントロ 最近neovimの起動が もっさり してきました。 プラグインマネージャーにはvim-plugを使っていまます。 こちらの環境で起動時間を改善してみました。 計測 nvim --startuptime ./startup.log こちらのコマンドで起動時の処理時間が計測できます。 ti…

neovimでpython3のエラーに遭遇

概要 結果としてはpython3のバージョンを上げてしまったのでエラーがでてたので対応したというものです。 起動時のエラー内容 ERROR: Failed to run healthcheck for "denite" plugin. Exception: function health#check[21]..health#denite#check[3]..<SNR>211_c</snr>…

ghq list の 代替案

イントロ 普段 ghqとfzfを使ってリポジトリの切り替えをしています。 とても便利なのですが、最近、かなりもっさりしてきて遅いので改善を考えてみました。 改善方法 ボトルネックとしてはghq listがとても遅くなっていました。 簡易改善 ghq root 配下のデ…

rake release で エラーがでた

gem

イントロ 以前の記事でembed_callbacksを作成したと取り上げたのですが、 その中でRubyGemsでユーザ登録に失敗してたのですが、 サポートの人に対応していただきメールアドレスを変更していただきました。 これでやっと登録できるなと思って登録してみたので…

embed_callbacksに機能追加した

概要 前回の記事でembed_callbacksというgemを紹介しました。 こちらの機能を追加したので紹介していきます。 追加した機能 メソッドがエラーになったときに処理を呼び出せる メソッドエラーになっても呼び出せる rescue これはその名の通りでrescueを設定す…

メソッドにcallbackを追加するgemをつくってみた

概要 以前からgemを作ってみたいと思いつつ作れてなかったので作成してみました。 methodにcallbackを追加するembed_callbacksというgemを作成しました。 探すと似たようなgemが出てくるので車輪の再発明的なものになりますが作成してみました. gemの機能 ま…

fzfをつかってRailsのmigrationを実行しやすくする

イントロ Railsのmigationを実行する機会はそこまで多くはないと思うのですが、 generateしてつくったあとにVERSIONの選択が意外と面倒だったりします。 以前の記事 hotoolong.hatenablog.com でgit statusをfzfのpreviewやbindを使って操作しやすくしました…