【解決方法】You don't have write permissions for the /var/lib/gems/2.7.0 directory【Ruby, Linux】

【解決方法】You don't have write permissions for the /var/lib/gems/2.7.0 directory【Ruby, Linux】

前書き:gem installでコケる 原因は単なる権限の問題。Ruby初心者なので自分用にメモします。 まずは、前提情報です。Ubuntu 21.10、Ruby 2.7.4[x86_64-linux-gnu]で、femパッケージ(パッケージ作成ツール)のインストールを試みました。結果は、/var/lib/gems以下のパーミッションエラー。 ...

February 5, 2022 · 4 min
【オブジェクト指向】全23種類のGoFデザインパターンに関する説明と参考書籍

【オブジェクト指向】全23種類のGoFデザインパターンに関する説明と参考書籍

Gang Of Fourデザインパターンを学ぶメリット Gang of Fourのデザインパターンとは、「よく見かける機能要件(解決したい問題)」と「各機能要件に対応する設計方針」を23種類に整理したものです。例えば、「単一リソースにアクセスする場合はSingletonデザインパターンが良い」というように、機能要件に適した設計(デザインパターン)を提案しています。 ...

January 7, 2021 · 4 min
【Iteratorパターン】C言語で見かけるぐらい頻出のデザインパターン【コード例:Java、Ruby】

【Iteratorパターン】C言語で見かけるぐらい頻出のデザインパターン【コード例:Java、Ruby】

前書き:デザインパターンという認識がなかった Iteratorデザインパターンは、配列/List/Mapなどのコレクション(要素の集合)を順次アクセスする際に、どのようなコレクションであっても同じAPIで操作可能にする設計方法です。 ...

January 2, 2021 · 7 min
【Singeltonパターン】考え方は単純だが、使いどころが大切なデザインパターン【コード例はRubyとJava】

【Singeltonパターン】考え方は単純だが、使いどころが大切なデザインパターン【コード例はRubyとJava】

前書き:Singletonパターンは奥が深い Singletonパターンは、GoF(Gang of Four)デザインパターンの一つであり、あるクラスのインスタンスが一つしかない状態を保証する方法です。「インスタンスが一つしか無い」という前提を生み出す事で、複数のインスタンスを用いる事によるバグの発生リスクを無くせます(正しく実装できていれば)。 ...

April 26, 2020 · 5 min
【Builderパターン】コンストラクタの初期化(new)引数が多い場合にオススメなデザインパターン

【Builderパターン】コンストラクタの初期化(new)引数が多い場合にオススメなデザインパターン

 前書き:Builderパターンとは Builderパターンは、GoF(Gang of Four)デザインパターンの一つであり、複雑な構造を持つインスタンス生成を容易にするための手法です。 ...

April 25, 2020 · 4 min
【Bash / Ruby / Python3】ユーザ名 / UID / グループ名 / GIDを取得する方法の比較

【Bash / Ruby / Python3】ユーザ名 / UID / グループ名 / GIDを取得する方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 12, 2020 · 3 min
【Bash / Ruby / Python3】外部コマンドを実行する方法の比較

【Bash / Ruby / Python3】外部コマンドを実行する方法の比較

自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 12, 2020 · 4 min
【Bash / Ruby / Python3】ANSIエスケープシーケンスを用いた出力文字色の変更方法を比較

【Bash / Ruby / Python3】ANSIエスケープシーケンスを用いた出力文字色の変更方法を比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 11, 2020 · 3 min
【Bash / Ruby / Python3】root権限を確認する方法の比較

【Bash / Ruby / Python3】root権限を確認する方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 11, 2020 · 3 min
【Bash / Ruby / Python3】オプション解析する方法の比較

【Bash / Ruby / Python3】オプション解析する方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 11, 2020 · 7 min
【Bash / Ruby / Python3】新規ディレクトリ作成方法、ディレクトリ削除方法の比較

【Bash / Ruby / Python3】新規ディレクトリ作成方法、ディレクトリ削除方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 10, 2020 · 4 min
【Bash / Ruby / Python3】ファイルのコピー、ファイルの移動方法の比較

【Bash / Ruby / Python3】ファイルのコピー、ファイルの移動方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 9, 2020 · 3 min
【Bash / Ruby / Python3】ファイル一覧の取得方法、ファイル数の確認方法の比較

【Bash / Ruby / Python3】ファイル一覧の取得方法、ファイル数の確認方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 9, 2020 · 3 min
【Bash / Ruby / Python3】ユーザ入力(input)受け付け方法の比較

【Bash / Ruby / Python3】ユーザ入力(input)受け付け方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 9, 2020 · 4 min
【Bash / Ruby / Python3】PATHからファイル名の抽出、ファイル名(拡張子なし)の取得、拡張子の取得方法の比較

【Bash / Ruby / Python3】PATHからファイル名の抽出、ファイル名(拡張子なし)の取得、拡張子の取得方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 8, 2020 · 4 min
【Bash / Ruby / Python3】ファイル読み込み、ファイル書き込みの方法を比較

【Bash / Ruby / Python3】ファイル読み込み、ファイル書き込みの方法を比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 8, 2020 · 3 min
【Bash / Ruby / Python3】ヒアドキュメント(文字列リテラル埋め込み)の書き方を比較

【Bash / Ruby / Python3】ヒアドキュメント(文字列リテラル埋め込み)の書き方を比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します ...

April 7, 2020 · 6 min
【Bash / Ruby / Python3】新規ファイル作成(一時ファイル作成含む)やファイル削除する方法の比較

【Bash / Ruby / Python3】新規ファイル作成(一時ファイル作成含む)やファイル削除する方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 7, 2020 · 4 min
【Bash / Ruby / Python3】ディレクトリの存在を確認する方法の比較

【Bash / Ruby / Python3】ディレクトリの存在を確認する方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 6, 2020 · 3 min
【Bash / Ruby / Python3】ファイルの存在を確認する方法の比較

【Bash / Ruby / Python3】ファイルの存在を確認する方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 6, 2020 · 4 min
【Bash / Ruby / Python3】カレントワーキングディレクトリを取得する方法の比較

【Bash / Ruby / Python3】カレントワーキングディレクトリを取得する方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 5, 2020 · 2 min
【Bash / Ruby / Python3】実行ファイル名、実行ファイルの絶対 / 相対PATHを取得する方法の比較

【Bash / Ruby / Python3】実行ファイル名、実行ファイルの絶対 / 相対PATHを取得する方法の比較

前書き 自動化Script作成時に、Bash (Shell Script)ではなく、RubyやPython3を用いた方がScriptのメンテナンス負荷が低くなります。自動化Scriptに使用するプログラミング言語変更を目的として、各言語の実装を比較します。 ...

April 5, 2020 · 2 min
Bash(Shell Script)からRubyやPythonに乗り換え!頻繁に使う処理を各言語で比較

Bash(Shell Script)からRubyやPythonに乗り換え!頻繁に使う処理を各言語で比較

前書き:自動化にBashを使うと後々辛い 本記事では、自動化で用いる言語をBash(Shell Script)からRubyやPython3に変更する方法を紹介します。Bash / Ruby / Python3のそれぞれで、ファイル操作やディレクトリ操作などをどのように書くか、コード例と実行例を示しながら紹介します(正確には、別記事で実装例を説明します)。 ...

April 5, 2020 · 5 min
感想:オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方

感想:オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方

Rubyで初めてのオブジェクト指向なら本書! あなたのメイン言語がRubyで、オブジェクト指向を学んだ事がないなら、本書はオススメです。 本書は、「簡潔で見通しが良く、変更が容易な設計」と「アンチパターンと呼ばれる設計」との違いを教えてくれます。やや回りくどい文章で翻訳されていますが(恐らく原文も回りくどい)、本書の価値を落とすレベルではありません。 ...

January 16, 2020 · 4 min
感想:プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで

感想:プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで

Ruby入門なら本書! 2020年時点で、Ruby入門書の決定版は、本書でしょう。本書は、説明が丁寧に記載されており、内容の分かりづらさがありません。読者が躓きそうなポイントを先読みしたかのようなコメントも随所に見られます。Rubyの基本的な文法を説明した後、各章末でサンプルコードを示す形式のため、写経が好きな方は気にいると思われます。 ...

January 13, 2020 · 3 min