This is IT

技術、日常

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

【VisualStudioCode】Vimの拡張機能を入れたけど、Ctrl+A・Ctrl+C・Ctrl+VのWindowsショートカット機能は残したい

手順 VisualStudioCodeで「Ctrl + Shift + P」を押下 コマンドパレットが開く Preferences: Open Keyboard Shortcuts を検索 (JSON)の方を選ぶ 5.以下を書き込む [ { "key": "ctrl+c", "command": "editor.action.clipboardCopyAction", "when": "textInputF…

【npm】【WSL2】ブラウザを開かず、CLIのみで`npm login`を実行したい

環境 ❯ npm -version 10.0.0 ❯ node -v v20.6.0 ❯ cat /etc/debian_version 12.1 結論 npm login --auth-type legacyを実行してください。 解説 なぜCLIでログインする必要があるのか WSL2ではいい感じにパスを通したりしない限り、CLIからGUIのブラウザを開…

【Ruby】Hashオブジェクトでもall?やnone?メソッドを使いたい

環境 WSL2 Debian12 bookworm Ruby 3.2.1 主題 値に真偽値を設定したHashオブジェクトがあるとする。 そのオブジェクトでも、all?やnone?を使って { bar: true, baz: true, foo: true }.all? #=> true { bar: false, baz: false, foo: false }.none? #=> tru…

git branch --deleteと、git branch -D

mergeやpushをしていないブランチを削除するには、git branch -D branch_nameとする必要がある。 branchのdeleteオプション -d, --delete delete fully merged branch -D delete branch (even if not merged) 訳すと、 -d, --delete 完全にマージされたブラ…

メソッドの引数にはハッシュオブジェクトではなく、キーワード引数を使う。

可読性を上げるためにもそうした方が良いという話。 引数がハッシュオブジェクト まずはハッシュオブジェクトを渡す例 class Bar def initialize(options) @options = options end end def load_options { baz: true, foo: true, bee: true, } end options =…

【JavaScript】ある月の最終日の日付を取得する方法

地味に混乱したためメモ書き。 getMonth()メソッド まずは単純に現時点での日付・時刻を取得する方法。 var now = new Date(); console.log(now) // 2023-07-14T11:41:20.194Z これは特に問題がない。 JavaScriptでは、getMonth()メソッドでDateオブジェクト…

ながーいメソッドになったら、一部を別メソッドに切り出そう

オブジェクト指向設計ガイドを読んでいて、依存を減らすテクニックの一つ。 今3章を読んでいるけど、『隠れた依存はあぶない』って感じの内容。 例 まずは簡単に依存が分かる例。 class Foo attr_reader :bar, :baz, :birthday def initialize(bar, baz, bi…

()はメソッドから離すな

以下の2つのコード。どちらがエラー出るコードか分かるでしょうか # No.1 assert_equal ({ all_files: false, sort_in_reverse: false, long_format: false }, option.load) # No.2 assert_equal({ all_files: false, sort_in_reverse: false, long_format:…

ActiveStorageを用いたファイルのアップロード・サムネイル生成の、各種gem・ライブラリを理解する

はじめに 現在通っているスクールの課題で、「ActiveStorageを用いて、ファイルのアップロード機能・サムネイル生成機能を作る」に取り組んでいます。 ActiveStorage単体だけではなく、Image_processingやmini_magick、ImageMagick、libvipsなどなど様々なラ…

【pg gem】execメソッドと、exec_paramsメソッドの違い

環境 WSL2 Debian 11.5 結論 exec:明示的に、SQL文の中にパラメーターを直接記述してメソッドを使う。 exec_params:明示的に、SQL文のパラメーターは、プレースホルダーを指定してメソッドを使う。 それぞれのコード例 exec・exec_paramsのそれぞれのコー…

【Webを支える技術】HTTPのメッセージのどこら辺がステートレスなんだ?を自己解釈した

概要 「HTTPはステートレスなプロトコルである」 Webに触れている人なら一般的な知識で、"HTTP ステートレス"で検索をすると沢山の記事が出てきます。 自分はお恥ずかしながら、最近Webを支える技術を読んで初めて知った知識です。 という話はさておき、この…

OptionParser.parse!を2回使ったら、オプションがなくなってしまった話

概要 破壊的メソッドは元のオブジェクトも変更してしまいます。 なので当然なのですが、同じ変数に、同じ破壊的メソッドを複数回使ってしまうと、1回目と2回目以降では実行結果が変わってしまいます。 普通の破壊的メソッドだと気を付けられるのですが、Opti…

【PostgreSQL】ユーザ作成後、ログインが出来ない問題を解決した(Peer authentication failed)

エラー内容 [環境] Debian11.0 PostgreSQL15.1 PostgreSQLでユーザを作成後、そのユーザでログインができない!という事象が発生しました。 1日くらいハマっていたのですが、解決できたので手順を共有します。 なお、出力されたエラー文としては下記となって…