- 1. Java の標準 URI ライブラリが RFC 3986 に対応していないので、自作ライブラリで対応する羽目になった話
- 2. RedashでBigQueryのデータを可視化する
- 3. ペイドソースソフトウェアという考え方について
- 4. Pleasanterで楽しく学ぼうC# (1)
- 5. Javaアプリケーションサーバ一覧
- 6. PVEでSPICEを使ったコンソールアクセス
- 7. 5年分の思いやりリリース
- 8. Proxmox Automated Installation の Answer included in the ISO With Ventoy
- 9. Proxmox Automated Installation の proxmox-auto-install-assistant がない!
- 10. Proxmox のアップデート情報を素早く知る(フォーラム・gitからの通知)
- 11. Proxmox VE の VMware ESXi インポートウィザードを使ってみました
- 12. 初心者大学生が作った機械学習ライブラリがGitHubでスター数300を超えた話
- 13. ハンガリー生まれのドローンショーOSS Skybrushセットアップ手順
- 14. 主にOSSでラジオ番組作るメモ
- 15. 今の開発組織でトライしたいことをまとめてみる
- 16. ディレクトリには何がある?
- 17. サイズが気になるお年頃?
- 18. 力が欲しいか?…なら
- 19. 今どこにいるのか分からなくなったら
- 20. 全人類SKKとかいうIMEを使った方が良い
Java の標準 URI ライブラリが RFC 3986 に対応していないので、自作ライブラリで対応する羽目になった話
# はじめに
Java 開発者にとっては周知の事実かもしれませんが、Java の標準 URI ライブラリ (`java.net.URI` クラス) は未だに古い仕様である [RFC 2396](https://datatracker.ietf.org/doc/rfc2396/) をベースに実装されており、今日のデファクトスタンダードである [RFC 3986](https://datatracker.ietf.org/doc/rfc3986/) に完全準拠していません。[RFC 6749 (The OAuth 2.0 Authorization Framework)](https://datatracker.ietf.org/doc/rfc6749/) や他の規格・仕様によって RFC 3986 が参照されているにも関わらず標準ライブラリがそれに対応していないとなると、開発者としては不足部分を何らかの手段で補完せざるを得なくなります。かく言う私も自社製品の開発おいて他ライブラリで不足部分をカバーしていましたが、利用していたライブラリに不具合があること、それにも関わらずそのアップデート
RedashでBigQueryのデータを可視化する
## **はじめに**
データ駆動型の意思決定は、現代ビジネスにおいて不可欠な要素となっています。このプロセスでは、膨大なデータから意味ある洞察を抽出し、それを基に戦略を練ることが求められます。そこで今回は、Google Cloud 上でRedashをセットアップし、BigQueryに保存されたデータを活用してダッシュボードを作成する方法について説明します。
## **1.Google Cloud Shellでの準備**
Google Cloud Platform (GCP) で作業を行う前に、Google Cloud Shellを開始します。これはブラウザベースのコマンドラインツールで、事前に構成された環境でGoogle Cloud resourcesを管理するために使用します。
– Google Cloud Console([console.cloud.google.com](https://console.cloud.google.com/))にログインします。
– 右上にある「アクティベート Cloud Shell」アイコン(>_の形)をクリックして、Cloud Sh
ペイドソースソフトウェアという考え方について
どうも。明日が来てほしくないと切に願っているメンヘラです。(酒に酔った勢いで)さて・・・
# こんな事件をご存じだろうか
開発者MはOSSでソフトウェアやライブラリを作っていた。彼のOSSのソフトウェアやライブラリは非常に良質で、多くのOSSソフトウェアがこれに依存するようになった一方、彼に入る金銭は少なかった。金銭が原因かどうかはさておくとして、彼は自身のOSSプロジェクトにちょっとしたコードを仕込み、もうOSSに貢献しない事を表明した。彼のOSSプロジェクトは他の人が管理する事になった。
# この事件の私的考察
MはOSSに多大な貢献をしたにも関わらず、その功績が金銭として現れなかった。言い換えれば、MのOSSのコードは企業にとって、あるいは個人にとって価値のないものだと **見なされた。** つまり、企業や個人はOSSのコードの価値を、たとえ彼らがOSSに貢献していたとしても、十分に理解していない。
# どのようにして、企業や個人にOSSのコードの価値を理解させるか
オープンソースは以下を全て満たしたプログラムを言います。
– プログラムのソースコードが自由に利用で
Pleasanterで楽しく学ぼうC# (1)
# 1. はじめに
## この記事について
こんにちは。インプリムのhmineです。今回は、PleasanterのGitHubに興味がある皆さまと、C#のシステム開発初学者から中級者へのレベルアップをめざす皆さまに向けて記事を執筆しました。
## 記事の全体像
記事の前半では、まず「プログラミング言語の書き方」を習得した先にある、「システムを開発するスキル」を取得する方法論について考えます。続けて、それと弊社(株式会社インプリム)のプロダクトである「Pleasanter」がどう関わるかという観点から、Pleasanterのソースコードの特徴をご説明します。記事の後半では、最近更新されたソースコードの引用・解説を行います。
– **この記事で解説するC#の記法**
– LINQの`Enmutable.Where`メソッドによるフィルタ処理(絞り込み処理)最後まで読んでただいた際、「プリザンターのソースコードリポジトリを見てみたい」「GitHub上でOSSに貢献してみたい」といったご検討をいただけると嬉しいです!
# 2. Pleasanterのデバッグ環境構築の勧め
Javaアプリケーションサーバ一覧
Javaアプリケーションサーバーを一覧にしてみた。
|組 織|種 別|製 品 名|製品ページ|
|:-|:-|:-|:-|
|IBM|商用|WebSphere AS ND/Base|https://www.ibm.com/jp-ja/products/websphere-application-server|
|IBM|商用|WebSphere AS Liberty Core|https://www.ibm.com/jp-ja/products/cloud-pak-for-applications/liberty|
|IBM|OSS|Open Liverty|https://openliberty.io/|
|RHEL|商用|JBoss EAP|https://www.redhat.com/en/technologies/jboss-middleware/application-platform/|
|RHEL|OSS|WildFly|https://www.wildfly.org/|
|RHEL|OSS|Quarkus|https://quarkus.io/|
|Oracle|
PVEでSPICEを使ったコンソールアクセス
:::note info
作成日:2024/4/29
PVE 8.2.2
:::## TL;DL
– PVE上のゲストOSにSPICEでアクセスしてみた。
– NoNVCとの比較。
– 手順など。## 概要
PVEでSPICE(Simple Protocol for Independent Computing Environments)を使ってみました。
※Qiitaのタグもなんですが、AWS Quicksight のSPICEではないです。## NoNVCとの比較
### Positive
– クリップボードの共有
– ファイルの転送
– USBデバイスの共有(パススルー)
– 高解像度### Negative
– クライアントのインストールが必要
– VMの設定が必要
– 経路上NWの設定が必要## 手順
– 接続元
– Windows 10
– 接続先
– (PVE上の)Debian 12### Virt-viewerのインストール
接続元にクライアントのインストールが必要です。https://virt-manager.org/d
5年分の思いやりリリース
# はじめに
誰にでも使いやすい最新かつ安定したOSを目標に開発されているオープンソースのOS、Ubuntuの最新版がリリースされました。
# LTSのサポート期間は5年間
Linuxディストリビューションの中でもシェアの高いUbuntuは2年おきに長期サポート版(LTS:Long Term Support)をリリースしており、そのサポート期間は5年間です。# 戴冠式
Ubuntuはバージョンごとに生き物にちなんだコードネームを持っていて今回リリースされた24.04 LTSはNoble Numbat。この高貴なナンバットをインストール(あるいはアップデート)して新しいLinuxを戴冠しましょう。https://jp.ubuntu.com/blog/the-coronation-of-a-new-mascot-noble-numbat-jp
# Ubuntuは思いやりでできている
Ubuntuの名は南アフリカのズールー語で「他者への思いやり」を意味するウブントゥからきています。
5年分の思いやりを体感できるこの春を楽しんでください。# さいごに
「ソフトウェアがもたらす
Proxmox Automated Installation の Answer included in the ISO With Ventoy
:::note info
作成日:2024/4/28
PVE 8.2.2
PBS 3.2.2
:::## TL;DL
– Proxmox Automated Installation を利用するための Answer included in the ISO をやってみた。
– PVE・PBSどちらもやりました。
– 複数のISOを一つのUSBメモリから利用できるように Ventoy も使います。## 概要
PVE 8.2、PBS 3.2 からの新機能、Proxmox Automated Installation を 実際に使用してインストールをやってみます。
方式は以下3つあります。– Answer included in the ISO
– Answer on Separate Partition
– Answer Fetched via HTTP今回はAnswer included in the ISO(設定ファイルを組み込んがISOを作成する方式)を実施します。
## 手順
### サマリ
1. Answer作成用のPVE・PBSを手動インストール
2
Proxmox Automated Installation の proxmox-auto-install-assistant がない!
:::note info
作成日:2024/4/27
バージョン情報:
PVE 8.2.2
PBS 3.2.2修正:2024/4/27 16:30
フィードバックが取り込まれ、マニュアルが修正されたことを追記
:::## TL;DR
– Proxmox Automated Installation を利用するための `proxmox-auto-install-assistant` がPVE・PBS 上で見つからない!
– デフォルトではインストールされていないため、`apt install proxmox-auto-install-assistant` でインストールが必要
– マニュアルにも記載がないので、コミュニティフォーラムにフィードバックした。## 概要
このイベントのLT3で話した内容とその宿題です。
https://jpmoxs.connpass.com/event/316118/
PVE 8.2、PBS 3.2.2 で追加された新機能として、Proxmox Automated Installation が追加されました。
http
Proxmox のアップデート情報を素早く知る(フォーラム・gitからの通知)
## TL;DR
– この[記事](https://qiita.com/oishi-d/items/68185ad4b69c3f7b1a8e)で記載したRSSではメジャーバージョンアップ時の通知しか受け取れなかった。
– マイナーバージョンアップや、新機能の追加を素早く知るための方法の検討
– 公式コミュニティフォーラムからのメール通知
– gitのリポジトリのRSS## 概要
以前、以下の記事を書きました。
この中で、[my.proxmoxのRSS](https://my.proxmox.com/en/announcements/rss)を登録しておけば、機能更新などの情報をキャッチアップできると思っていました。
このRSSはメジャーバージョンアップのリリース時にだけ更新されます。https://qiita.com/oishi-d/items/68185ad4b69c3f7b1a8e
ですが、以下記事の機能追加のように、マイナーバージョンアップだけど大きな変更がある場合があり、その場合に上記RSSではキャッチアップすることができません。
今回も機能追加の認識は
Proxmox VE の VMware ESXi インポートウィザードを使ってみました
## TL;DR
– PVE 8.1-8 で追加された ESXi インポートウィザードを使ってみた。
– やってみたので手順やTipsまとめ。## 概要
ESXiからのインポートはCLIからできたのですが、GUIからもできるウィザード(Import Wizard for Migrating VMware ESXi Based Virtual Machines)が追加されました!
No-サブスクリポジトリに来ていたので、早速使ってみました!https://forum.proxmox.com/threads/new-import-wizard-available-for-migrating-vmware-esxi-based-virtual-machines.144023/
## 要件など
– PVEバージョン
– 8.1.8以降
– リポジトリ
– test
– No-Subscription
– ※Enterpriseリポジトリはまだ。
– ESXi API を利用## 手順
### No-サブスクリポジトリの設定とアップデート
現在公開され
初心者大学生が作った機械学習ライブラリがGitHubでスター数300を超えた話
## この記事について
この記事では、プログラミング初心者の大学生である(であった)私が試行錯誤しながらなんとかスター数300越えのOSSライブラリを作った過程をまとめたものです。ライブラリ自体はまだまだ発展中のためこの記事も適宜更新してく予定です。ライブラリ自体の詳細というよりも、自作OSSの認知度を上げで他の人に使ってもらうために有用そうな知見をまとめていこうと思います。
## ライブラリの概要
今私が作っているのは、[AIJack](https://github.com/Koukyosyumei/AIJack)という、機械学習モデルがもつセキュリティ・プライバシー上の脆弱性についての各種攻撃・防御手法を実験するためのPythonツールです。既存のライブラリの多くは特定の種類の攻撃や防御に特化したものが多く、複数のタイプの攻撃・防御を組み合わせて実験するためにはいくつものライブラリを組み合わせる必要がありました。そこでAIJackでは、できる限り統一的なAPIで様々な攻撃・防御手法を実装することを目標にしています (まだ道半ばですが…)。
具体的な手法としては、差分プラ
ハンガリー生まれのドローンショーOSS Skybrushセットアップ手順
# Skybrushとは
SkybrushはCrazyfile, ArduCopterベースで動く複数のドローンを制御してドローンショーを行うことができるOSS(GPL-3.0 license)です。
主な特徴は以下の通りです。
* Windows, Linux, MacOSに対応
* Discordにて無料で技術サポートが得られるほか、ビジネス用途向けに有償サポートあり
* 実機での動作~Blender上でのシュミレーション、ショーの設計が可能
* 部分的な日本語対応(ドローンショーを管理するソフトの一部分)▼画像はSkybrush Liveのもの
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2584877/c4de42bd-8e7f-eeb5-ab91-be3148500472.png)# Skybrushを構成するアプリケーション
Skybrushは複数のアプリケーションで構成されており、それぞれの名前と説明は以下の通りとなります。
* Skybrush Server
主にOSSでラジオ番組作るメモ
# 使用ツール
– 動画から音声抽出:hugflash
– 音声編集:Audacity
– 動画編集:kdenlive# やる順メモ
1. お好みのMTGツールで録画をする。
1. MP4ファイルからhugflashを使って音声を抽出
1. Audacityで編集(音声)
– ラウドネスノーマライズを行う。(デジベルの具体値は忘れた)
1. AudacityでBGM追加
– BGMは切替のために2トラックを交互に使う。
– 曲はフェードイン/フェードアウトで繋げとクロスフェードっぽくなる。
– それぞれの曲ごとの設定
– ノーマライズを行う。(デジベルの具体値は忘れたが音声より小さめ)
– 音量は多少大きくても後からトラックで小さくするので細かいことは気にしない。
– 最後の曲は、曲のお尻に合わせて、入りは曲の途中からフェードで置く。
– 書き出しのビットレートは最大でおk。
1. 聴きながらパワポか何かでスライドショーを作る→各スライドを画像にする
– 1回PDFとかにしてから画像にしないと帯
今の開発組織でトライしたいことをまとめてみる
筆者は現在勤務先の研究所で次世代スーパーコンピュータ向けソフトウェアの開発に関わっています。主にAI向けOSS、TensorFlow, PyTorchのArmアーキテクチャプロセッサ向け移植やLLMの性能測定、改修などに取り組んでいます。よって、その業務内容と関連して今後(または現在進行形で)トライしたいことを記載しようと思います。
トライしたいことは、大きく挙げると以下の3点です。
* OSSへのコントリビューション
* OSSのソースコード理解
* DeepXDE, DeepSpeedへの挑戦# OSSへのコントリビューション
業務でTensorFlowやPyTorchなどのOSSを利用しており、バグ修正によるコントリビューションなども行っています。今後も継続してOSSへのコントリビューション(バグ修正、ドキュメント整備等)を継続していきたいです。IssueをSubmitしてもすぐに修正されないということが頻繁に発生します。そういった時に修正コードをCommit出来る様に技術力の強化や内部構造の理解にも努めたいと思います。# OSSのソースコード理解
上記のOSSへのコン
ディレクトリには何がある?
# はじめに
Linuxサーバで作業中に「ここには何があるんじゃろ?」となることがありますよね。そんなときは“ls“コマンド。# “ls“コマンドとは
“ls“コマンドはlistの略で、ディレクトリ内のファイルやディレクトリの一覧を表示するためのコマンドです。ファイルを指定すればファイルの情報を表示します。ファイルやディレクトリを指定しなければカレントディレクトリ(今自分がいるディレクトリ)にあるファイル、ディレクトリを一覧表示します。# よく使うオプション“-l“
ほとんどセットで使うくらいよく使われるオプションが“-l“でしょう。“ls -l“を実行することでファイルやディレクトリの詳細情報を表示します。所有者、所有グループ、サイズ、更新日時などが表示されます。# よく使うオプション“-h“
“-h“オプションを付けることでサイズを人が読みやすい形式で表示します。例えば、1K、2M、3Gなどです。# 見えないものも見えるオプション“-a“
隠しファイル(ファイル名がドットから始まるファイル)も確認したいなら“-a“。# さ
サイズが気になるお年頃?
# はじめに
Linuxに限らずストレージの使用状況が気になるときがありますよね。あとどのくらい空き容量があるのか、どのくらい使用しているのか、確認するときのコマンドがいくつかあります。# “df“コマンド(Disk Free)
“df“コマンドはディスクの使用量や空き容量を確認できます。ただ、オプションなしで“df“と実行するとブロックサイズで表示されるのでいまいち分かりにくい。そこで“-h“オプションを付けて“df -h“で実行するとバイト単位で表示されるので分かりやすくなります。# “du“コマンド(Disk Usage)
“du“コマンドはディレクトリの使用量を確認できます。オプションなしで“du“と実行するとカレントディレクトリ(今自分がいるディレクトリ)の使用量を表示します。“du ディレクトリ名“で実行すれば指定したディレクトリの使用量を確認できます。こちらも“-h“オプションを付けることで読みやすい表示にできます。# “lsblk“コマンド(List Block)
“lsblk“コマンドは利用できるブロックデバ
力が欲しいか?…なら
# はじめに
Linuxで作業をしていて、権限が足りなくて先に進めないときが度々ありますね。そんなときは彼のことが頭をよぎることでしょう。そう、“su“コマンドや“sudo“コマンドです。# suとは
まず“su“コマンドですが、Substitute User、あるいはSwitch Userの略で他のユーザーの権限を借用できます。“su ユーザー名“で指定したユーザーの権限で作業することができますがスイッチするためには指定するユーザーのパスワードを知っていないといけません。# sudoとは
そして“sudo“はSuperman Doの略。ではなくSuperuser Doの略です。root権限で実行することができますが、こちらで要求されるパスワードはrootのではなく自分のパスワードです。# suかsudoか
“su“も“sudo“も自分以外のユーザーの権限を利用できる点は同じですが、セキュリティの面では“sudo“の利用が推奨されます。# さいごに
“sudo su -“でrootにスイッチして作業するのも権限の面では楽ですが、必要な
今どこにいるのか分からなくなったら
# はじめに
Linuxで作業をしていて、ふと「わしは今どこにおるんじゃろぉ」と人生の深淵をのぞき込むような思いが込み上げてきたときに役立つコマンドの話です。それは`pwd`コマンドです。# pwdは何の略?
`pwd`はピーダブリューディーと読みますが
`pwd`とは何を略しているのでしょうか。
Print Working Directory、あるいはPresent Working Directoryの略だと言われています。# pwdでわかること
Present Working Directoryは、直訳すると「現在の作業ディレクトリ」という意味です。
そう、今いるカレントディレクトリを表示できるコマンドなのです。# さいごに
今どこにいるのか不明になったとき、あるいは今どこで作業しているのかログに残しておきたいときなど`pwd`コマンドを使いましょう。LinuCレベル1で出題されるコマンドは結構あって初めてLinuxに触れる初学者には結構大変ですが簡単なコマンドから一つずつ覚えていきましょう。千里の道も一歩から。40歳超えて知識0からでもLinuCレベル3コンプリー
全人類SKKとかいうIMEを使った方が良い
# SKK is 何
SKKとは、”Simple Kana to Kanji conversion program”の略であり、IMEの一種です。
当然OSSで、初出はEmacsですが、現在ではどの環境でも使えるようになっています。
Microsoft日本語IMEやGoogle日本語入力といった通常のIMEとは大きく操作方法が異なっています。
通常のIMEの場合、文章入力後に変換を押すと形態素解析により自動で単語に分割変換してくれます。
例) ねこにこばん ー> 猫に小判
しかし、皆さんご存じの通り、自分の思った通りに変換してくれない事も多く、入力の手戻りが多くなってしまう欠点があります。
例) きょうはいしゃにいった(今日歯医者に行った、と変換したい) ー> 今日は医者に行った
この場合は、カーソルキーで左に戻って変換して元の場所に戻らなければなりません。
この場合はまだしも、単語の区切りが間違っている場合は入力し直す必要があります。
それに対してSKKは自分で単語毎に分割し、単語毎に変換していきます。
例) きょう/はいしゃ/に/い/っ