「dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.71.dylib」が出た

概要 Node.js を久しぶりに動かしたところ、下記のエラーが出力された。 yld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.71.dylib Referenced from: /usr/local/bin/node Reason: image not found 環境 - Mac 解決策 エラーが出た内容でググ…

Golang で並列処理の実行方法

概要 Golang の特徴として並列処理があります。 実装方法 なぜ、並列処理が得意なのか は調べたことがなかったので、改めて調べたのでまとめます。 実装方法 package main import ( "fmt" ) func server(ch chan string){ defer close(ch) ch <- "one" ch <-…

「UXデザインの法則」を読みましたので感想

概要 UXデザインの法則 ―最高のプロダクトとサービスを支える心理学を読みましたので、感想とまとめです。 内容 法則 法則名 説明 ヤコブの法則 ユーザは新規のサイト・サービスに経験則から同じ挙動を期待する フィッツの法則 ターゲットに至るまでの時間は…

Cursor エディターへ移行した話

概要 最近、Cursorというエディタが賑わっており、様々な記事が書かれています。 cursor.sh Cursorの大まかな概要を確認すると、ChatGPTを主軸としたエディタであり、デバッグやプログラムの生成をChatGPTで自動で行ってもらえるそうです。 また、vscodeの機…

Pacemakerにおける仮想IPの考え方

概要 会社でHA構成を実現するためにPacemakerを採用しています。 HA構成の基本的な仕組みである仮想IPの考え方についてまとめてみました。 物理IPと仮想IP マシンに搭載されているNIC(Network Interface Card)に設定されているIPアドレスを物理IPアドレス…

AtCoderの環境をDockerで整える

概要 AtCoderの開発環境を整えてみたので、その時の備忘録。 環境 Mac Docker:20.10.0 実行 フォルダ構成 . ├── aoj │ └── dockerfile ├── docker-compose.yaml └── src ├── main └── main.cpp 各ファイルの中身 docker-compose.ymal version: "3" services…

SSL証明書のCSRファイル・KEYファイルの生成コマンド

概要 SSL証明書の更新作業でCSRファイルとKEYファイルの作成を行うコマンドを調べたので備忘録。 事前知識 CSRファイル SSL証明書を発行する上で必要な個人情報。 KEYファイル 暗号化されたCSRファイルを復号化するための暗号キー。 コマンド 秘密鍵を生成 o…

obsidianのインストール

概要 obsidianのインストールをMacで行ったので、備忘録として残します。 obsidian.md obsidianとは マークダウン形式でメモがとれるアプリケーション。 特徴として、vaultsと呼ばれる保存するフォルダ内にあるメモとメモの間でリンクすることができます。 …

PostgreSQLの検索結果から改行コードを置換したい

概要 PostgreSQLでSELECT文の結果をExcelのシートへ貼り付けているときに、SELECT文の結果に改行文字が含められているために行がずれることがあった。 SELECT * FROM テーブル名 上記のSELECT文の結果 id 補足事項 1 〇〇さんに連携お願いします。\n緊急時に…

Tomcat 8.0 における自動デプロイする方法について

概要 Tomcat 8.0 の起動時にWebアプリケーションをデプロイする方法について調査したのでまとめる 方法 tomcat.apache.org Tomcatを起動時に複数のWebアプリケーションをデプロイさせるときにはconf/Catalina/localhost/の直下に/META-INF/のcontext.xmlをコ…

Node.js の役割について

概要 以前から 「jQuery とか聞いたことあるけど、Node.js と何が違うの?」 「Node.js とか Next.js の名前が似ているけど違いは?」 とずっと疑問に思っていたので、調査して自分なりにまとめてみました。 対象 jQuery、Node.js、Next.js の3種類の違いが…

Gauge + Selenium + Python の環境構築

概要 Gaugeの環境構築を行ったので備忘録。 gauge.org 目標はGoogleを開いてキーワード検索までやってみる。 環境 Mac Python 3.8 インストール手順 Gaugeのインストール docs.gauge.org 上記のGaugeのGet startedのInstalling GaugeでMacOSとVS CodeにGauge…

TypeError: Descriptors cannot not be created directly が出た

概要 Gaugeのチュートリアルを進めていくと下記のようなエラーが出た。 TypeError: Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19…

「cannot load such file -- sassc」が出た

概要 Ruby on Rails 6 超入門のchapter 2を進めていると下記のエラーが出力。 環境 ruby:3.1.2 Ruby on Rails:7.0.4 解決策 sassc-railsがインストールされていないことが原因らしくGemfileにある # Use Sass to process CSS # gem "sassc-rails" のgem "s…

WinMergeをコマンドラインから実行してレポートに残す方法

概要 Windowsのツールの1つWinMergeをコマンドで実行して差分の結果をレポートとして出力する方法。 実行方法 公式のページで確認すると manual.winmerge.org WinMergeU.exe leftpath rightpath で比較ができる。 また、比較した結果をレポートとして残した…

PuTTYで踏み台サーバを経由して接続する方法

概要 PuTTYから踏み台サーバを経由してローカルフォワード、ダイナミックフォワードの設定をコマンドで接続したので備忘録。 事前知識 踏み台サーバ 目的のサーバへ接続するために一度経由するサーバ。 ローカルフォワード 接続先のサーバのIPアドレスとポー…

外積の性質について【AtCoder】

概要 atcoder.jp 上記の問題に対する解説の中で外積の性質について記述されていたので、もう少し調べてみた。 atcoder.jp 外積の公式 について のとき で表される。 ここで、概要で紹介されている問題に当てはめると、 になるので、 の式になる。 解説の意味…

warning: control reaches end of non-void function [-Wreturn-type] が出た【C++】

概要 atcoder.jp 上記の問題を解くためにc++で再帰関数を書いたところ warning: control reaches end of non-void function [-Wreturn-type] が出た。 問題のコード int anc(int cnt, int n){ if(n == 1) return cnt+1; anc(cnt+1, a[n-1]); } int main() { …

PowerShellにおけるcurlコマンドのHeaderオプションでエラー

概要 WindowsのPowerShellでcurlコマンドに--headerオプションを付けて実行したところ PowerShell curl コマンドエラー Invoke-WebRequest : パラメーター 'Headers' をバインドできません。 "XXX" の値を "System.String" 型から "System.Collections.IDict…

jMeterでHTTPS接続を行いたい(Mac)

概要 jMeter からHTTPS接続を行ったときの備忘録。 環境 Apache JMeter 5.5 Mac 手順 TemplatesでRecordingを選択後にCreateボタンをクリック HTTP(S) Test Script RecorderのStateのStartボタンをクリック クリック後に以下のようなポップアップが出てくる …

lower_bound を使った解き方【C++】【AtCoder】

概要 競技プログラミングにて二分探索について勉強しているときにC++にはlower_boundという関数が用意されていた。 せっかくなので、lower_bound関数の使い方を調べてAtCoderの問題を1問解いてみた。 使い方 公式 cpprefjp.github.io vector<int> v(n); int value</int>…

内輪のホスト名の設定を行う

概要 以前に内輪で使っているホスト名を設定方法を教わったので備忘録。 設定方法 Ubuntu /etc/hostsファイルを編集する。 追記方法は IPアドレス ホスト名 Windows10 C:\Windows\System32\drivers\etc\hostsファイルを編集する。 こちらも追記方法は IPアド…

シェルスクリプトで区切り文字を設定する

概要 bashでcsvファイルを読み込むときに while read line; do key=`echo $line | cut -d ',' -f 1` val=`echo $line | cut -d ',' -f 2` echo "${key} ${val}" done < test.csv と書いたところ指摘された。 指摘された理由としては 「1行ずつcutコマンドが…

INNER JOIN と EXISTS の使い分け

SQL

概要 普段から業務で動かしているSQL を改修する話があった。 下記のSQL はイメージ SELECT A.test1 ,C.test1 ,C.test3 FROM A INNER JOIN B ON A.test3 = B.test3 AND INNER JOIN C ON A.test4 = C.test4 AND A.test5 = B.test5 上記のSQL で改修する上で …

shellで出力フォーマットを整えたい

概要 sample.txt Kim test Charchile aaaaaa 上のようなテキストファイルを test.sh #/bin/sh cat test.txt | while read line do col1=`echo ${line} | cut -d ' ' -f 1` col2=`echo ${line} | cut -d ' ' -f 2` echo "Column1: ${col1} Column2: ${col2}" …

自動テストフレームワークとブラウザ自動操作ツールの違いについて

概要 E2Eのテスト自動化を行うにあたりツールの選定をしていたところ 「ブラウザ自動操作ツール(PuppeteerやPlaywrightなど)と自動テストフレームワーク(CodeceptJSやGaugeなど)の違いって何だ?」 となったので、自分なりにまとめてみる。 ブラウザ自動…

CodeceptJS+Puppeteerでプルダウンの値を選ぶ

概要 CodeceptJS+Puppeteerでプルダウン形式の値を選ぶ 環境 CodeceptJS v3.2.0 Puppeteer v11.0.0 解決策 codecept.io 上記の通り、 I.selectOption('Choose Plan', 'Monthly'); のように第一引数に変数名、第二引数にプルダウン形式の選択肢の中にある値を…

WindowsにFESSのインストール

概要 FESSをインストールしたので備忘録 環境 OS:Windows 準備 Javaの用意 jdk.java.net 上記のサイトからOpenJDK 11.0.2 (build 11.0.2+9) のzipファイルをダウンロードして解凍。 FESSの用意 fess.codelibs.org 上記を参考にこちらからFESSの最新版のzip…

ナイーブベイズ分類器について

NLP

概要 ナイーブベイズ(単純ベイズ)について調べたので備忘録。 ここでは文書分類を題材に書きます。 説明 数式 一般的にナイーブベイズの数式は下記の通り。 記号 説明 対象とするカテゴリである確率 対象とするカテゴリが含まれている確率 対象とするカテ…

Golangの正規表現の処理速度

概要 Golangで正規表現を扱うことになったので、ググったところgolangのサジェストワードに「遅い」というワードが出てきた。 なので、調査してみた。 Golangの正規表現 実装 pkg.go.dev 上記のサイトはGolangで正規表現を扱うときに使われるregexpパッケー…