Debian(64bit)で32bitバイナリを実行もしくは作成する方法(C言語)

Debian(64bit)で32bitバイナリを実行もしくは作成する方法(C言語)

検証環境 Debian10(64Bit)、Ryzen 7 3800X環境で検証します。CPUアーキテクチャはIntel/AMDを想定しており、ARMに関しては本記事で説明しません。 ...

2020年8月19日 · 3 分 · nchika
【Java 11】Shebangを用いたJavaソースファイル(単一)の実行方法 + Shebangエラー回避方法

【Java 11】Shebangを用いたJavaソースファイル(単一)の実行方法 + Shebangエラー回避方法

前書き:コンパイル無しでJavaアプリが動かせる 最近のJavaは、リリースペースが半年に一回と早まり、新機能が次々と追加されています。新機能の中で、Java 11からコンパイル無しでJavaソースファイル(単一ファイル)が実行できる機能があり、本記事ではその使い方(およびShebangエラー回避方法)を説明します。 ...

2020年7月23日 · 3 分 · nchika
起動済みプロセス(例:デーモンプロセス)の標準出力を確認する方法

起動済みプロセス(例:デーモンプロセス)の標準出力を確認する方法

前書き:ログを残さないデーモンと出会った DBにアクセスするデーモンプロセスが、稀にSegmentation Faultでお亡くなりになる現象に遭遇しました。 このデーモンプロセスは、C言語で書かれており、デバッグ情報をログファイルに殆ど出力していませんでした。多くの情報は標準出力に出力されていたため、デバッグするにはデーモンプロセスの標準出力を確認する必要がありました(もしくは、GDBを使う)。 ...

2020年7月4日 · 2 分 · nchika
【記事総数100本】1万PV/月に到達せず、収益が1000〜3000円/月とフラつく。その原因は?【技術ブログだから】

【記事総数100本】1万PV/月に到達せず、収益が1000〜3000円/月とフラつく。その原因は?【技術ブログだから】

前書き:記事100本書けば1万PV/月?違うよ Debimate(本サイト)は、2020年4月に記事総数が100本に達しました。 本記事では、ブロガーがよく行う収益報告と振り返りを行います。 本記事で紹介する内容 ...

2020年5月1日 · 5 分 · nchika
【C言語】static(private)関数をユニットテストする3つの方法【単体テストのバッドノウハウ】

【C言語】static(private)関数をユニットテストする3つの方法【単体テストのバッドノウハウ】

前書き:C言語のstatic関数は単体テストできます C言語で単体テストを作成する際に、**「どうやってstatic関数をテストコードから呼び出せばいいのか?」**と迷った事はありませんか?例えば、以下のコードのprivate_func()を他のCソースファイル(例:テストコード)から呼び出せるでしょうか。 ...

2020年4月26日 · 4 分 · nchika
【Singeltonパターン】考え方は単純だが、使いどころが大切なデザインパターン【コード例はRubyとJava】

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

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

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

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

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

2020年4月25日 · 4 分 · nchika
/etc/passwdに記載された/usr/sbin/nologin, /bin/falseとは何か【ログイン禁止】

/etc/passwdに記載された/usr/sbin/nologin, /bin/falseとは何か【ログイン禁止】

前書き 先日、Rubyのコーディング練習がてらに、ユーザ情報を出力するコマンドの仕様をボンヤリと考えていました。 Rubyの練習用に「neofetchがシステムの情報出すなら、自分はユーザ情報を表示するコマンド作るか」と思ったが、既に類似仕様のfingerコマンド(https://t.co/epoOGD4zlC)があった。 そりゃ、あるよね。 — Nao (@ARC_AED) April 16, 2020 出力すべきユーザ情報には「ユーザが使用しているログインシェル」を含めようと考え、「/etc/passwd」を確認したら、ログインシェルを記載するセクションに予想外の記述がありました。その記述とは、「/usr/sbin/nologin」および「/bin/false」です。明らかに、シェルではありません。 ...

2020年4月16日 · 7 分 · nchika
【Bash / Ruby / Python3】ユーザ名 / UID / グループ名 / GIDを取得する方法の比較

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

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

2020年4月12日 · 3 分 · nchika
【Bash / Ruby / Python3】外部コマンドを実行する方法の比較

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

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

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

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

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

2020年4月11日 · 3 分 · nchika
【Bash / Ruby / Python3】root権限を確認する方法の比較

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

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

2020年4月11日 · 3 分 · nchika
【Bash / Ruby / Python3】オプション解析する方法の比較

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

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

2020年4月11日 · 7 分 · nchika
【Bash / Ruby / Python3】新規ディレクトリ作成方法、ディレクトリ削除方法の比較

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

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

2020年4月10日 · 4 分 · nchika
【Bash / Ruby / Python3】ユーザ入力(input)受け付け方法の比較

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

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

2020年4月9日 · 4 分 · nchika
【Bash / Ruby / Python3】ファイルのコピー、ファイルの移動方法の比較

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

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

2020年4月9日 · 3 分 · nchika
【Bash / Ruby / Python3】ファイル一覧の取得方法、ファイル数の確認方法の比較

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

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

2020年4月9日 · 3 分 · nchika
【Bash / Ruby / Python3】PATHからファイル名の抽出、ファイル名(拡張子なし)の取得、拡張子の取得方法の比較

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

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

2020年4月8日 · 4 分 · nchika
【Bash / Ruby / Python3】ファイル読み込み、ファイル書き込みの方法を比較

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

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

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

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

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

2020年4月7日 · 6 分 · nchika
【Bash / Ruby / Python3】新規ファイル作成(一時ファイル作成含む)やファイル削除する方法の比較

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

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

2020年4月7日 · 4 分 · nchika
【Bash / Ruby / Python3】ディレクトリの存在を確認する方法の比較

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

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

2020年4月6日 · 3 分 · nchika
【Bash / Ruby / Python3】ファイルの存在を確認する方法の比較

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

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

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

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

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

2020年4月5日 · 2 分 · nchika
【Bash / Ruby / Python3】実行ファイル名、実行ファイルの絶対 / 相対PATHを取得する方法の比較

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

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

2020年4月5日 · 2 分 · nchika
Bash(Shell Script)からRubyやPythonに乗り換え!頻繁に使う処理を各言語で比較

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

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

2020年4月5日 · 5 分 · nchika
環境構築:Debian 10(buster) にPostgreSQL 11をインストールし、新規DBを作成する方法

環境構築:Debian 10(buster) にPostgreSQL 11をインストールし、新規DBを作成する方法

前書き PostgreSQLは、オープンソースのオブジェクト関係リレーショナルデータベース関係システム(ORDBMS)です。2020年時点のシェアランキングは、4位です。やや人気のないDBと言えるでしょう。 シェア1位のOracle DatabaseおよびMicrosoft SQL Serverは、有償です(Microsoft SQL Severは無償版も存在)。そのため、PostgreSQLは同じくオープンソースであるMySQL(シェア2位)と比較される機会が多いです。PostgreSQLは高機能・堅牢な設計、MySQLは速度に重きを置いた設計であり、用途に応じて使い分けられるようです。 ...

2020年3月20日 · 7 分 · nchika
感想:沈黙のWebライティング —Webマーケッター ボーンの激闘—

感想:沈黙のWebライティング —Webマーケッター ボーンの激闘—

SEOの名著と呼ばれる"沈黙のWebライティング" SEOの書籍を読んだことがなければ、Web版で本書の中身をチラ見してみよう! Search Engine Optimization(Web検索最適化)。 ブロガーやアフィリエイターであれば、SEO(Googleの検索エンジン)と戦い、自分のWebサイトを検索上位に押し上げるために(そして日銭を稼ぐために)、日々工夫を凝らしていると思います。 ...

2020年2月9日 · 4 分 · nchika
Review: Kill'Em All−血染めの鉄槌−(Metallica)

Review: Kill'Em All−血染めの鉄槌−(Metallica)

収録曲 収録曲 Hit the Lights The Four Horsemen Motorbreath Jump in the Fire (Anesthesia)Pulling Teeth Whiplash Phantom Lord No Remorse Seek & Destroy Metal Militia Kill’Em AllはThrash Metalの原点 Kill’em AllはMetallicaの1st Albumであり、1983年〜1990年に一大ムーブメントとなったThrash Metal(音楽ジャンル)の方向性を示しました。圧倒的なスピード感で、湿り気や泥臭さを排除した無機質なリフを弾き倒すスタイルは、過去のバンドに見られないものでした(同時期にThrash Metalバンドは複数いましたが、作品のリリースが早かったのはMetallica)。 ...

2020年2月2日 · 7 分 · nchika
manコマンドによる「ASCII ⇔ 8進数、10進数、16進数の変換表」

manコマンドによる「ASCII ⇔ 8進数、10進数、16進数の変換表」

ASCII<->N進数への変換は、Terminalで確認可能 ASCIIコードは、10進数(8進数、16進数)から英数字・記号に変換するための文字コードです。正確には、文字コードとは以下の定義のように、2進数との変換を指します。 ...

2020年1月17日 · 5 分 · nchika