Just do IT

思うは招く

2022-01-01から1年間の記事一覧

VSCode GitHub Pull Requests and Issues で permalink を取得できない

GitHub Pull Requests and Issuesというエクステンションには、GitHub上にあるソースコードのパーマリンクを取得できる機能がある。 しかし、これがうまく取得できず404が返ってきてしまう。だがmasterブランチへチェックアウトすると問題なくパーマリンクを…

VSCodeでオリジナルスニペットを作る方法

コマンドパレットを開き、「snippet」と入力 「sni」あたりで「Configure User Snippets」が出てくるので選択 作りたいスニペットの言語を選ぶ(今回はRubyを選択) 以下のように書く { // 追加したやつ "debugger": { "prefix": ["db"], "body": ["debugger…

VSCode インデントの点線を消す方法

settingsを開く render white spaceで検索 Editor: Render Whitespaceの設定をselectionに変更した allになっていたのをselectionに変更した。他の設定でも点線は消せたがよくわからないのでデフォルト設定のselectionにしておいた。

Google Calendar で毎月〇日に定期予定を登録する方法

わかりにくかったのでメモしておく。 予定を作成し、カスタムへ。 間隔を「1ヶ月ごと」に変更。すると「毎月〜日」にインプットが変わる。 これで毎月20日などで定期予定を登録できる。

TypeScript async function の型をどう書くか

async関数のreturn typeにvoidを定義した。 const someFunc = async (): void => { await someMethod() } TypeScriptに叱られる。 Type 'void' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible co…

CommonJSとESModulesの違い

結論 CommonJSとESModulesは、どちらもJavaScriptでモジュールシステムを扱うときの仕様 Node.jsはCommonJSしかサポートしていなかったが、今ではESModulesもサポートしている 2022年現在ではESModulesを使うことが多い JavaScriptのモジュールシステムとは …

React で FC を使ってファンクショナルコンポーネントを定義する

React + TypeScriptでファンクショナルコンポーネントを定義するときの話。 以下の方法でも可能は可能。 type Props = { name: string } const Person = ({ name }: Props) => { return ( <h2>{name}</h2> ) } export default Person; ただ、Personがファンクショナル…

Lazygit ファイル ディレクトリツリー 表示・非表示

LazygitでGit操作をするとき、コミットするファイルのディレクトリが表示されているのをファイル名だけの表示にしたい。 ディレクトリ→ファイルで表示されている これはLazygitを開いているときにバッククォート(`)を打てばファイルパスだけで表示されるよ…

Raycastのクリップボード保存期間を伸ばす

RaycastでもAlfredのようにクリップボードにコピーしたデータの保存期間を伸ばしたい。 cmd + ,で設定を表示し、クリップボードの設定から変えられた↓

VSCodeのgitlensで表示されるアノテーションを非表示にする

github.com 上記のIssueでも質問があるように、VSCodeを使っているときにgitlensが表示する「You, 3 minutes ago」や「Author」などのアノテーションを非表示にした。 方法は以下のとおり。 gitlensで検索 左カラムから「Git CodeLens」を選択 Gitlens > Cod…

lazygitを英語で使いたい

lazygitが一部日本語で表示されるようになってしまった。英語に直したい。 まず、lazygitの設定ディレクトリを表示してパスを知る。 > lazygit --print-config-dir /Users/<username>/Library/Application Support/lazygit (usernameは自分のそれぞれのユーザーネーム</username>…

【解決】rails sをするとLibrary not loaded: /opt/homebrew/opt/postgresql/lib/libpq.5.dylibが出てサーバーを起動できない

brew update && brew upgradeで解決する人もいるようだが自分は変わらず。 結論、追加で以下コマンドを叩いて解決した。 gem uninstall pg bundle install 参考: postgresql - Library not loaded: /usr/local/lib/libpq.5.4.dylib - Stack Overflow [Mac]d…

【解決】npx create-react-appをするとLibrary not loaded: /opt/homebrew/opt/icu4c/lib/libicui18n.70.dylib

npx create-react-appをすると以下のエラーが出て実行できない。 Library not loaded: '/opt/homebrew/opt/icu4c/lib/libicui18n.70.dylib' dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.60.dylib に書かれている通り、以下を実行すると…

Uberドライバーアプリをインストールしてみた

CTOに「報酬設計の勉強になるよ」とおすすめされたので、Uberドライバーアプリをインストールしてみた。スマホはPixel7。 登録がカンタン スマホアプリインストールからの登録は円滑に進んだ。免許証やマイナンバーカードなどの本人確認書類をスマホで撮影し…

【対処】Support for password authentication was removed on August 13, 2021

プルリクをGithubにPushしようとしたら以下のエラーが出てPushできなかった。 Support for password authentication was removed on August 13, 2021 (Mac使用) ローカルからGithubにアクセスするための手段が変わったためPushできなかったとのこと。Githu…

Obsidian Ver 1.0でチェックボックスのショートカットキーが動作しないので設定し直した

ObsidianがVersion 1.0に上がって今まで使っていたチェックボックスを作るショートカットキー(command + Enter)が効かなくなってしまった。 Obsidian 1.0 - Obsidian Hotkeyの設定から「checkbox」で検索して以下のように設定し直した。

HHKB + Mac でCapsLockがかかったのを解除するには Fn + tabキーを押す

結論:Fn + Tabキーでオンオフできる MacでHHKBを使っていると、たまに誤タイピングでCaps lockがかかってしまう。自分はMac本体のCaps lockキーをControlキーに割り当てており、たまに思い出せなくなるのでメモとしてブログに残しておく。

「Rubykaigi2022 in 三重」へ行ってきました

三重県の津市でRubyKaigi2022が開催されました。初めてRubyKaigiにオフライン参加できたので振り返ります。 あちこちに有名人がいる! 会社メンバーや元メンバーに会えた お弁当が豪華 フィヨルドブートキャンプの関係者がめちゃ多い 登壇内容は相変わらず難…

【Rails】テーブルのカラムに後からコメントを追加したいときの方法

たとえば、usersテーブルのhoge_idというカラムにコメントをつけたいとき。 bin/rails g migration AddCommentsToUsers class AddCommentsToUsers < ActiveRecord::Migration[6.1] def change change_column_comment :users, :hoge_id, 'some comment here' …

Railsでテーブル名 is too long; the limit is 63 characters と怒られたのでインデックス名を変えたい

起こったこと Railsでt.referencesで外部キーを指定したときに、インデックス名が長すぎるよ!と怒られた。 Index name 'index_~~~' on table '~~~' is too long; the limit is 63 characters 解決:インデックス名を変える 以下のようにインデックス名をカ…

ドラゴン桜2をイッキ見した

ドラマのドラゴン桜2を一気に見た。結論、エグいほどモチベ上がった。思ったことや学びをメモる。 チームで目標に突き進む 一人で勉強するより、仲間と勉強したほうが目標を達成しやすい。これは受験に限らず、何にでも当てはまる。友達に教え合うのも良い勉…

An error occurred while installing puma (5.6.5) を解消した

起きたこと pumaを5.6.5に上げてbundle installをしたら以下のエラーが出て実行できなかった。(一部抜粋) Gem::Ext::BuildError: ERROR: Failed to build gem native extension. checking for BIO_read() in -lcrypto... *** extconf.rb failed *** Could …

Railsで日付ごとにGROUP BYしてデータを取得したい

たとえば、過去7日間でどれだけのログが生成されたか知りたい場合。 > today = Time.current => Tue, 23 Aug 2022 15:32:59.608734000 JST +09:00 > seven_days_ago = today.ago(7.days).beginning_of_day => Tue, 16 Aug 2022 00:00:00.000000000 JST +09:0…

Ruby String#tr の挙動を確かめた

RubyのString#trについて調べた。 String#tr (Ruby 3.1 リファレンスマニュアル) シンプルな使い方 まずはシンプルな例から見てみる。 > 'abc'.tr('a', 'd') => "dbc" abcという文字列のうち、a を d に変換した。 もうひとつシンプルな例を見てみる。 > 'ab…

【Ruby】ある文章にアルファベットがすべて含まれているかどうかを判定する方法

Exercismの問題を解いた。 問題 Determine if a sentence is a pangram. A pangram (Greek: παν γράμμα, pan gramma, "every letter") is a sentence using every letter of the alphabet at least once. The best known English pangram is: The quick brow…

【Ruby】配列の要素をチェックするメソッドをサンプル付きでまとめる

Ruby(またはRails)で「配列の中に特定の要素を含むかどうか」を知りたいときは多々ある。そんなときに使える主なメソッドをまとめた。 ※Enumerableモジュールのものは配列だけではなくハッシュでも使えます。 include?「これ入ってる?」 配列が引数と==で…

【読書感想】1440分の使い方

1日を分で表すと1440分。「1440分の使い方」は、時間をいかに効率的に使うかというテーマの本です。我が家には2人のわんぱくな子どもがいるため、「時間のなさ」は日々痛感している…。この記事では、本のなかで印象に残った内容を列挙していきます。 TODOリ…

【Ruby】Array#combination と Array#repeated_combinationの違い

Array#combination RubyのArray#combinationは、配列内の要素の各組み合わせをすべて作る。 Array#combination (Ruby 3.1 リファレンスマニュアル) まずはシンプルな例から。たとえば、バスケ選手が3人集まって1on1をしたいとする。3人の1on1の組み合わせを…

Railsでカラムの属性を調べる方法

モデル.column_hash['属性を知りたいカラム名'].typeでいける。 > User.columns_hash['email'].type => :string 普通ならスキーマとか、annotate gemを入れていたらモデルファイルを見れば済む話だけど、rails consoleを触っていてカラムの属性を知りたくな…

【Ruby】{} と Hash.new(0) でハッシュを作るときの違い

一見すると、どちらも同じハッシュを作っているように見える。 irb(main):001:0> Hash.new(0) => {} irb(main):002:0> {} => {} では何が違うのか? Hash.new(0)はハッシュのデフォルト値を設定している {}はデフォルト値を設定していない irb(main):003:0> …