Corredor

ウェブ、プログラミングの勉強メモ。

2020-11-28 : このブログは2020年末をもって更新停止する予定です。
2021年以降は Neo's World (https://neos21.net/) で記事を公開していきますので、今後はコチラをご覧ください。
このブログの記事は2021年以降、Neo's World に順次移行していきます。元記事および本ブログは移行次第削除する予定です。

JSON

PHP で JSON 文字列を2スペースインデントで整形出力する

PHP で簡単な JSON API を作っている。データを JSON ファイルに書き出す時に json_encode() 関数を使うが、この関数、デフォルトでは改行やスペースが含まれないので、出力した JSON ファイルは可読性に欠ける。 次のようにオプションを書くと、日本語文字…

JSON の結果をテーブル形式に変換して出力する

jq と column コマンドを使って、JSON 形式のファイルをテーブル形式で表示する。 $ cat << EOL > list.json [ { "id": "aaa", "name": "Aさん", "age": 25, "gender": "Male" }, { "id": "bbb", "name": "BBBBB太郎", "age": 19, "gender": "Female" } ] EO…

jq で複数の「オブジェクトの配列」をマージする

jq でオブジェクトの配列を上手くマージする方法。jq は複数の配列を結合したり色々出来るのだが、分かりにくいのでやりたいことをまとめておく。 今回は次のような3つのファイルがあって、各オブジェクトの id プロパティを使ってデータを結合したいとする…

df コマンドの結果を JSON 形式に変換する

ディスク使用量が分かる df コマンドの結果を JSON で処理したいなと思い、調べたら awk で JSON 変換するスクリプトがあったので、それをちょっと加工して自分用に作ってみた。 \df -P \ | tail -n +2 \ | awk ' BEGIN { printf "{\n"; printf " \"volumes\…

Freenom ドメイン・Let's Encrypt 証明書の有効期限を確認・通知する仕組みを作った

最近、いくつかのサイトで Freenom で独自ドメインを取ったり、Let's Encrypt で証明書を取って HTTPS 化したりしている。 GCE https://neos21-gce.ga/ CentOS + Apache → Let's Encrypt を手動設定 OCI 1 https://neos21-oci.cf/ Oracle Linux + nginx → Le…

GCP に中国からのアクセスがあり課金されたのでブロックする

中国のせいで金を取られた!(乱暴な言い方) 経緯 中国の IP をファイアウォールでブロックする 中国の Public IP 一覧ファイルを取得する Public IP 一覧ファイルを JSON 形式に加工する GCP の API Key を発行する GCP の Access Token を発行する OAuth ク…

GitHub Actions から FTP 転送する

自分のメインサイト Neo's World は GitHub で管理しているが、ファイルの FTP 転送は手動で行っていた。 github.com 一応 npm スクリプトを用意してコマンドラインから FTP 転送したりできるようにはしていたが、完全自動化したくなり、GitHub Actions でコ…

package.json から拾った URL をブラウザで開く npm パッケージ「@neos21/opu」を作った

Node.js 開発をしていて、「この作業ディレクトリに対応する GitHub リポジトリをブラウザで開きたいなー」とか、「このプロジェクトの GitHub Pages を直接開きたいな」とか思うことがよくある。 GitHub リポジトリの情報は、大抵 package.json の homepage…

Chrome のブックマークを記録しているファイルを読み取る

Chrome ブラウザのブックマーク情報は、ユーザごとのプロファイルが保存されているディレクトリの配下に、Bookmarks というファイルで保存されている。 Windows の場合 C:\Users\【ユーザ名】\AppData\Local\Google\Chrome\User Data\Default\Bookmarks MacO…

YAML の構文を押さえる : 文字列をクォートで囲む必要はない

YAML の構文を改めて勉強。 Best Online YAML Converter - Convert YAML Strings into JSON, XML, CSV このサイトで実際に変換しながら確認した。 文字列に関して ハッシュ (マップ・連想配列) とリスト (配列) フロースタイル パイプ記号 | による複数行リ…

Chrome で Markdown と JSON を見るためのオススメ拡張機能をそれぞれ紹介

Chrome ブラウザで Markdown ファイルを開いたり、JSON ファイルを開いたりした時に、良い感じにプレビューしてくれる拡張機能を紹介する。 Markdown Preview Plus Markdown の表示なら、「Markdown Preview Plus」という拡張機能が最適。テーマを変えられる…

Kubernetes Secret に登録した情報を Base64 デコードして表示する

Kubernetes の Secret に登録した情報は、Base64 エンコードされた状態で保持される。そのため、kubectl get secret で情報を表示させても、Base64 文字列しか見えず、内容が確認しづらい。 勿論、登録された値を base64 --decode コマンドに流してやれば見…

js-beautify を使ったコード整形ツールを Angular アプリとして作った

HTML・CSS・SCSS・JavaScript・JSON あたりをサクッと整形してくれるツールが欲しく、かといって色々なオンラインサービスをいちいち開くのもダルいので、希望のツールを自分で作ってみた。 Angular Utilities - JavaScript Beautifier … JSON 整形にも対応 …

jq を使って JSON データを整形・抽出する

データを集める技術 最速で作るスクレイピング&クローラー (Informatics&IDEA)作者: 佐々木拓郎出版社/メーカー: SBクリエイティブ発売日: 2016/11/29メディア: 単行本この商品を含むブログ (1件) を見る jq というコマンドをインストールすると、コマンドラ…

テストに使える簡易 API サーバがサクッと立てられる「json-server」

改訂新版JavaScript本格入門 ?モダンスタイルによる基礎から現場での応用まで作者: 山田祥寛出版社/メーカー: 技術評論社発売日: 2016/09/30メディア: Kindle版この商品を含むブログを見る テスト用の API サーバを用意する時に、「json-server」という npm …

Java サーブレットで JSON を返却する方法

Struts 的な、薄いサーブレットで JSON を返却する方法。 Action クラスで以下のようにしてレスポンスに JSON 文字列を書き込んでいき、return null; で終わらせれば良い。 response.setContentType("applicaton/json"); PrintWriter out = response.getWrit…