いしぐめも

プログラミングとかしたことを書きます。

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

新型コロナワクチン接種証明書アプリで発行されたQRコードをPythonで読んでみる

接種証明書アプリ、PINを入力してマイナンバーカードをかざすだけで問い合わせ、発行ができてとても便利ですね。国の省庁が個人に対してこんなにサクッと証明書を発行できるという前例を作れたのはとても良いことだと思います。 発行される Credential は Ve…

プロフィールムービー用に顔の正規化を行うスクリプトを書きました

PythonとOpenCVを使って、顔写真の目と口の位置を合わせる処理「正規化」のスクリプトを組んでみました。 顔写真は撮った時のタイミングによって角度だったり、人物だったりが異なるわけですが、それを両目の位置、口の両端を手動で選択することで一定の位置…

はてなブログの記事にJSON-LDで構造化データを入れる

最近JSON-LDの勉強を始めて、どこかで実践できる場はないかな?ということで、自分のブログの記事ページに対して、JSON-LDで記述した情報を記載してみることにしました。 この内容は既に実践されている方がいて、以下の記事を大変参考にさせていただきました…

Personium上のファイルを操作(ダウンロード・アップロード・アクセス制御)してみよう

本記事では、PersoniumのBox上のファイルを操作する方法をコードサンプルと共に書いてみます。 CLI編 PersoniumのBoxは、WebDAVという、HTTPを拡張した仕様によってファイルの読み書きを行うことができます。 「WebDAV」という言葉自体、個人的には馴染みが…

Personium の access token をデコードして理解する

この記事では、Personiumの動作の理解を深めるためにアクセストークンについて調査を行った内容を記載しています。本調査を行うことで、Personiumを運用する上での理解を深めていきたいと思います。 なお、本記事の記載内容は、2021年9月現在GitHubで公開さ…

Personiumでよく使う用語集

Personiumでよく使う用語 セル(Cell) ボックス(Box) Personiumでよく使う用語 Personiumの用語、Personium自体が汎用的な作りになっていることもあり、かなり含みを持たせたような説明になっているので例とかを交えて紹介してみます。 理解への一助にな…

WebDAVをマウントするための代理で認証を行うプロキシを書いた

PersoniumのBox(データ保存領域)はWebDAVという仕様を踏襲しており、 単純なファイル操作などはWebDAVのライブラリを流用することができます。 リモートのWebDAVサーバーをあたかもローカルのファイルのように振舞わせるようなクライアントアプリが世の中に…

devcontainerを導入したら開発(主にテスト)が楽になった【Visual Studio Code】

Javaで開発しているOSSにおける Visual Studio Code の devcontainer 使用について以前記事を書きましたが、いったん便利に使えるようになってきたので記事にまとめたいと思います。 yoh1496.hatenablog.com このような方におすすめ 今回の記事はこんな方に…

devcontainerを別リポジトリで管理することにした

先日、開発にdevcontainerを使用するという以下の記事を書きました。 yoh1496.hatenablog.com とても便利なんですが、作ってみたはいいものの、「devcontainer」という機能自体がVisual Studio Codeの1機能に過ぎないので、 複数人が様々な環境で開発するオ…

VSCode の DevContainer で JDK 1.8 の開発環境を作る

自分が開発に参加しているOSS「Personium」では、adoptopenjdk8 を使用して開発を行っています。正直、Java歴が浅く、JDKのバージョンとかよくわかっていないんですが、OpenJDK 1.8の開発環境です。 devcontainer使用に至ったわけ 「devconteiner」は、vscod…

mavenのresources pluginでバイナリファイルが壊れてドハマりした件

起こったこと テストでバイナリファイルを使用しようとして、 InputStream is = ClassLoader.getSystemResourceAsStream("testBar.bar"); というようなことをしていましたが、どうも変な挙動を示し、テストが通らん通らん!となりました。 このbarファイルと…

Personium実行環境構築メモ(Oracle Cloud Infrastructure / aarch64編)

Oracle Cloud Infrastructure の aarch64な無料VMを使って、Personiumを構築してみたのでメモ。無料VMについては前回記事を参照してください。 yoh1496.hatenablog.com VMの作り方は、相変わらずキャパシティが足りないようなので気合、気合です。 使用したO…

Reactでも使用できるWYSIWYGエディタ「Editor.js」を使ってみた

はじめに みなさん、ブラウザで使えるWYSIWYGエディタ Editor.js をご存知でしょうか? editorjs.io 私は国産のパーソナルデータストアOSS「Personium」の開発コミュニティに参加しているんですが、簡単な記事投稿アプリを作ってみたくなり、今回EditorJSに…

Oracle Cloud InfrastructureにDockerでPersoniumを建てる

はじめに OCI(Oracle Cloud Infrastructure)でARM(aarch64)なVMのインスタンスを作れるようになりました。わーい(作れるとは言ってない。後述) japan.zdnet.com 詳細はいろいろプレスが打たれていて、記事も出ているのでそちらを参照いただくとして… …

SPAのURLどうなってるの問題とPersonium

はじめに みなさん、SPA(Single Page Application)作ってますでしょうか? SPAとは 従来はWebサイトでURLがリクエストされたときに、リクエストされたURLに応じてサーバーサイドでHTMLを生成し、返すような方法がとられていました。 それに対し、SPAではWe…

Kubernetes in Docker (KinD) で OpenFaaS を動かす!

OpenFaaS が気になる、でもそのために Kubernetes 動かすのもなぁ… そんなときに、サクッと Kubernetes をコンテナ上で動かせる Kubernetes in Docker (KinD) を使えば、簡単に OpenFaaS オタメシ環境が構築できます! はじめに Kubernetes in Docker (KinD)…

Maven実行時のプロキシ設定をsettings.xmlに書かずに適用する

settings.xml を書かずにプロキシを使いたいあなたに。(認証プロキシはダメでした) 結論 http.proxyHost, http.proxyPort, https.proxyHost, https.proxyPort を JVMオプションに与えてあげればよいです。 コマンドラインオプションで指定する つまり、こ…

Personium 1.7.22 で組み込まれる予定の新機能

そろそろ Personium 1.7.22 がリリースされるので、新規リリースに伴い追加された機能などを書いてみたいと思います。 個人的に気になったものをピックアップしていきたいと思います。 サービスコレクションの動的パス対応 いきなり手前味噌で恐縮ですが、以…

ASUS TinkerBoard で PDS を動かす!

この記事は以前 note に記載したものです。hatenaに統合するにあたり、記事をコピペしました。 【原題】Raspberry Pi で PDS を動かす 正しくは、「Raspberry Pi(のようなARMボード)でPDSを動かす!」です。実際はTinkerBoard(Raspberry Pi2相当?)を使…

IDトークンのパースにはjjwtが便利

Java で行う JWT (Json Web Token) のパース/検証には jjwt が便利です。 github.com 現在、私も jjwt を使用してOpenID Connectの IDトークンをパースする実装を行っています。 jjwt の基本的な使い方 jjwt は jwt をパースすると同時に与えられた鍵を使用…

Personiumのインテグレーションテストの単体実行

最近国産OSSであるところのPersoniumのコードを書いているんですが、 メインのリポジトリに含めるまでもない雑多な内容をここに供養したいと思います。 (わかんなくなったらググって解決できるように、という意味も込めて) 本記事の内容は 2021年3月8日現…

初投稿

結局ブロック式のエディタが使いづらすぎたので、Markdownで書けるhatenaブログにしました (2021/03/08)