技術メモ

神奈川在住のITエンジニアの備忘録。おもにプログラミングやネットワーク技術について、学んだことを自分の中で整理するためにゆるゆると書いています。ちゃんと検証できていない部分もあるのでご参考程度となりますが、誰かのお役に立てれば幸いです。

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

k8s のストレージ関連

k8s

最近 k8s を扱うようになって、主題の件で PV だの PVC だの出てきて混乱したので、ここに簡単にまとめる。各関係の呼び出し関係は以下の通り。 Pod -> PVC -> PV -> NFS サーバなど Pod と NFS サーバの間に PVC と PV が挟まっているが、これは k8s 上のリ…

Java の enum

これまで、Java の enum の実体というかメモリ上でどうなっているかの理解が曖昧だったのだが、以下の記事を参考にさせて頂き、分かった気がする。 Javaの定数はEnumで! Enumの使い方から考え方までお伝えします enum の各項目 (フィールド) に対応するオブ…

k8s のリソースの包含関係

k8s

忘れてしまうことが多いので、ここにメモしておく。 Namespace > Deployment > ReplicaSet > Pod > Container 最近、k8s 環境でアプリを構築したのだが、上記のうち ReplicaSet と Container はあまり意識しなかった。 k8s の最小の管理単位は Pod なので、C…

git で MR (Merge Request) を出してコンフリクトした時

git

git で MR (Merge Request) を出してコンフリクトした時、feature branch にて master に対して rebase して、feature branch に master の変更を取り込んで、コンフリクトを解消するということを以前は良くやっていた。 しばらく、git を触らなくなって、ふ…

同じ文字でグルーピング

leetCode の以下の問題を解いた。 https://leetcode.com/problems/string-compression/文字列中の連続する同じ文字をグルーピングするという問題。 こういうのは、これまで、文字列を前から見て行って、同じ文字の連続が途切れたら、その1つ前までを1グル…

複数のファイルから複数の項目を grep するスクリプト

一度に grep したくなったので、主題のスクリプトを作成した。 こういうのは、やっぱり perl で書くと楽。 use strict; my $targets = [ # ファイル名、key1, key2, key3, ... ["fileA.txt", "test.keyA1", "test.keyA2"], ["fileB.txt", "test.keyB1", "tes…

Perl で REST API (Post) 実行

perl だと、だいぶ簡単に書ける。素晴らしい。 use strict; use HTTP::Request::Common; use LWP; use JSON; my $uri = "https://httpbin.org/post"; my $postData = {"key1" => "val1", "key2" => "val2"}; my $ua = LWP::UserAgent->new(); my $res = $ua-…

Java で REST API (Post) 実行

ネットの記事をいろいろ参考にしながら、Java 1.8 の標準 API だけで作ってみた。 import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.nio.charset.StandardCharsets; public class MainPost { public static void mai…

perl の glob vs opendir&readdir

久々に perl スクリプトを書く機会があり、その中で Windows のフォルダ内のファイル一覧を取得したくなった。その際、主題のように glob と opendir&readdir のどちらを使うか迷って、以前使ったことのある後者を選んだ。 以下の記事によると、Windows では…

JFSのFaceletsページとバッキングBeanとの同期のタイミング

JFS の Facelets ページの UI コンポと、その入力値を格納するバッキング Bean があった時、UI コンポへの入力値がいつバッキング Bean に反映されるのか分からなかったので、ちょっと調べてみた。 当初は、Facelets ページでのポストバック (メソッド呼び出…

ダイクストラ法

ダイクストラ法で leetCode の問題を解いたので、参考のためにコードをここに残しておく。 Path with Maximum Probability - LeetCodeポイントは、コード中のコメントに記した。 PriorityQueue(heap) を使っているのは、キューの中で最大確率の (確定できる)…

クローンOS

publickey の以下の記事が気になっている。 しかし今回、Red HatがクローンOSの存在をかなり明確に否定したことが明らかになりました。また、クローンOSベンダ側の対策は、少なくとも現時点で十分に具体的なものになっていない可能性も読み取れます。 www.pu…

メンバーのモチベーションを上げる

主題の件でよく悩むので、名著「人を動かす」(カーネギー)を読んでいる。 印象に残った内容をここにメモしておく。 人を動かしたいなら、その人の自尊心を満たすことを考える。 誰もが重要な人物であると扱われたいという欲求を持っている。だから、相手のそ…

webブラウザがOSのようになりつつある。

以下の記事を読んで、主題のように感じた。 www.publickey1.jp ローカル環境にいろいろインストール&セットアップするのは大変なので、インターネット経由で WASM 対応したプログラムがダウンロードされて、web ブラウザ上で実行されるというのが流行ってく…

サーバサイド JavaScript

最近、JavaScript は、クライアントサイドだけではなく、サーバサイドでも使われるようになっているようだ。 Cloudflare、サーバレスの「Cloudflare Workers」とJAMスタックの「Cloudflare Pages」を統合へ - Publickey JavaScript は簡単な言語だとは思わ…

JavaScript のソース

私は JavaScript で書かれたソースコードを読むのがちょっと苦手。主流の言語であり、今後もよく読むことになると思うので、なぜ苦手なのか分析してみた。 JavaScript のソースは、関数 (処理) を関数の引数として扱うことができるため (第一級オブジェクト)…

await と async

JavaScript のコードで、最近、await, async をよく目にする。await は async の中で使う仕様になっており、それがなぜか分からなかったので、ちょっと調べたみた。 [JS]なぜawaitはasync関数の中にしか書けないのか - Qiita などの記事を読んだところ、以下…

OAuth2.0

最近よく聞くが、イマイチ分かっていないので、簡単に纏めてみた。 web サービスの「認可」のためのプロトコル サービスA (クライアントアプリ) がサービスB (リソースサーバ) にアクセスできるよう、サービスBがサービスAに対して、アクセストークンを発行…

sed コマンドで、ある行からある行まで抽出

sed -n '/はじまり/,/おわり/p' 対象ファイル で出来る。これは結構便利。 例えば、以下のテキストファイル (sedSample.txt) があったとする。 ああああいいいいううううええええおおおお ここから、「いいいい」~「ええええ」の行を抽出するには以下で良い…

git pull で Unlink of file 'xxx' failed. Should I try again? (y/n)

git

ネットで調べると、テキストエディタ等で対象のファイルを開きっぱなしだったという話がたくさん出てきたが、そうでなかった時の話。 テキストエディタ等で対象のファイルを開いていないのに主題のメッセージが出た時、とりあえず OS 再起動したら、git pull…

grep コマンド

grep コマンドは、マッチした行しか表示できないイメージがあったのだが、実際はそんなことはなく、例えば、-3 で「マッチした行の前後 3 行」、-B3で「マッチした行の前 3 行」、-A3で「マッチした行の後 3 行」を合わせて出力することができる。 これは、…

webauthn

IPA のシステムアーキテクトの勉強をしていたら、webauthn が何度か出てきた。重要項目と思われるので、ネットの記事を見てちょっと勉強した。 webauthn とは、例えば、PC から web サイトにログインする際、事前にサイトに登録済みのスマートフォン等を認証…

xargs コマンドの便利な使い方

最近、以下の本に掲載されている問題を解いている。 1日1問、半年以内に習得 シェル・ワンライナー160本ノック:書籍案内|技術評論社 その中で、xargs コマンドの便利な使い方を知ったので、防備のためここに書いておく。 例:git ls-files | grep -e 'img/…

git の commit, branch, HEAD

git

この3つの関係は、まず commit オブジェクトがあって、それを指す branch があって、さらにその branch を指す HEAD があるというものになっている。つまり、こんな感じ。 commit オブジェクト ← branch ← HEAD HEAD は、現在地、すなわち現在の working di…

xargs コマンド

これまで、 find . -name '*.txt' | xargs grep xxx とかで何気なく使っていた xargs だが、xargs が必要な場合とそうでない場合が自分の中で明確になっていなかったので、ここで簡単にまとめる。 xargs は、受け取った「標準入力」を「引数」に変える働きを…