ソフトウェア開発者のための OSS、まとめてみました!

ソフトウェア開発を行なっている自分が、個人的に面白いと思ったプログラムの最新技術や、オープンソースソフトウェア(OSS)をまとめています!

MENU

MacOS で TextEdit のように軽量で Xcode のように素晴らしい開発者体験をもたらしてくれるテキストエディタを探しているのなら!「CodeEdit」(開発中)

概要

MacOS で Swift や Object-C などを使って開発をする場合は MacOS 専用のエディタ Xcode を利用していると思います。

こちらの XcodeMacOS で利用するために開発されているため非常にスムーズに利用でき、システムリソースを効率的に利用しているため高いパフォーマンスと信頼性があります。

一方で、別言語(例えば JavaScript など)の言語でプログラミングを行う場合は Xcode を利用することはあまりなく、インターネット上から適切なエディタをダウンロードして利用している方も多いのではないでしょうか。

しかし、インターネット上からダウンロードしたエディタだと、MacOS 専用として開発はされていない場合が多いため、パフォーマンスが大幅に低下したり、RAM の使用率が想像以上に高くなる可能性が多々あります。

それによりエディタのウィンドウサイズ変更に伴うアニメーション速度が遅くなったり、最終的には MacOS 自体が重くなりユーザー体験が損なわれる場合もあります。

上記のことを危惧して有志が立ち上がり、MacOS 用のネイティブなテキストエディタを作る必要があるとして、「CodeEdit」が開発されています。

こちらは MacOS 専用のネイティブアプリとして現在開発が積極的に進められている OSS で完成した場合は無料で利用できるということです。

ちなみに「CodeEdit」のコンセプトとしては以下を掲げているそうです。

CodeEdit」は TextEdit のように軽量なものに保ちたいが、Xcode のような素晴らしい開発者体験も提供したい。言い換えれば、開発者に完全な IDE のパワーを提供しながら、軽量性を兼ね備えたアプリを提供したいと考えている。

それではもう少し掘り下げてみていきましょう。

利用手順

執筆段階ではまだ「CodeEdit」は利用できないですが、α 版が完成したら GitHub の Releases 部分からダウンロードすることができるそうです。

それまでは完成するのを待ち、可能であればコントリビューターとして開発の応援・サポートをされてみてはいかがでしょうか。

まとめ

今回は、MacOS 上で TextEdit のように軽量で Xcode のように素晴らしい開発者体験をもたらしてくれるテキストエディタCodeEdit」を紹介しました。

執筆時点ではまだ α 版も提供されていないのですが、積極的に開発が進められているということなので、今後に期待したくなる OSS だと思います。

また、コンセプト自体も素晴らしい(TextEdit の軽量さと Xcode の高い開発者体験を併せ持ったテキストエディタ)ので、開発が進むのを楽しみにしたいと思いました。

正式版としてリリースされるのはまだまだ先だとは思いますが、MacOS ユーザーの方は、こちらのテキストエディタの完成を見守ってみてはいかがでしょうか。

ライセンス

MIT License

リンク

github.com

Vue3 で Notion のような UI を開発するための勉強をしたいなら!「Lotion」

概要

メモ管理アプリとして最近有名なものとして Notion があります。

https://www.notion.so/ja-jp

私もよく使っているのですが、UI の操作性がとてもよくストレスなく操作できるのでとても使いやすいです。

UI が素晴らしいアプリケーションって個人的にはとても好きなんですが、実際に開発してみようと思うとなかなか大変だったりします。。

そこで、今回は Notion の UI を実際に Vue3 で作ってみたという OSS があったのでご紹介します。

今回紹介する OSS は「Lotion」というもので、Web アプリとして Nhotion の UI のような操作性(マウスによるテキストの並び替え、追加、削除操作など)が行えるというもの、そして Notion の UI を実際に作成するためのソースコードを公開している OSS になります。

Lotion」の特徴としては以下の点が挙げられていました。

  • ブロックベースのエディター
  • ドラッグしてブロックを並び替える
  • 太字、斜体、見出し、仕切りを含む基本的な Markdown 記法
  • コマンドメニューとショートカットの場合は「/」を入力することで利用可能

まるで Notion のようなことが Vue3 プロジェクトで行えるようですね!

それでは早速利用手順などについて見ていきましょう。

利用手順

GitHubリポジトリから、本ソースをクローンすることで実際に利用することができます。

git clone https://github.com/dashibase/lotion
cd lotion
npm i

クローン後、Node モジュールをインストール後は、以下のコマンドより動作確認してみましょう!

npm run dev

ローカルサーバー起動後、http://127.0.0.1:5173/ へアクセスして、以下のような画面が表示されれば起動成功です!

使用感

実際に私もソースをクローンし、動作確認してみました。

Lotion」ではテキストの動作確認をするために、右側に実際の Notion の UI が、左側にはテキスト情報の配列が表示されています。

実際に Vue3 上のソースを触りながらどのような挙動になるのかという点も踏まえて修正したり、UI の表示方法はどのようになっているのかという点を確認してみると、UI の勉強がはかどりそうだなと思いました。

まとめ

今回は、Web アプリとして Nhotion の UI のような操作性(マウスによるテキストの並び替え、追加、削除操作など)が行えるというもの、そして Notion の UI を実際に作成するためのソースコードを公開している OSSLotion」を紹介しました。

Vue3 を利用して Web アプリを開発している方や、Notion のような UI を作成するにはどうしたらよいかとお困りの方にとっては、こちらの「Lotion」を参考にしながら開発を進めてみてはいかがでしょうか。

ライセンス

GNU General Public License v3.0

リンク

lotion.dashibase.com

github.com

ブラウザで簡単にドット絵を描きたいなら!「Piskel」

概要

皆さんはパソコンやスマートフォンで絵をかいたりしますか?

私はとある理由からパソコンで絵を描く必要があったためチャレンジしてみたのですが、これがなかなか大変でした。。

イラストレーターなど高機能な描画ツールやアプリなどはなかったので PowerPoint で作成していたのですが、無償版でもう少し絵を簡単に描くことができればいいなーなんて思っていました。

そんな中、ドット絵なら簡単に、しかも Web 上で描画できる Web アプリを見つけたのでご紹介します(もう少し早く見つけていれば私もこの OSS Web アプリで絵を描画したかったです。。)

それが、「Piskel」という Web 上で簡単にドット絵を描くことができるもので、無料で利用することができます!

ドット絵なので、ゲームのキャラクター、ピクセルアート、その他簡単なアニメーションなどにりようできそうですね。

早速利用方法などについて見ていきましょう!

利用手順

オンライン版

Piskel」は Web アプリのためブラウザ上で実行することができ、以下のサイトからアクセス可能です。

www.piskelapp.com

ドット絵を作成するには、画面上の「Create Sprite」を選択することで、キャンパス画面へ遷移します。

ちなみに、現在利用可能なブラウザは以下となります。

なお、モバイル端末やタブレット端末へのサポートは無いようです。

補足:オフライン版

Piskel」ではオフライン版(端末上での実行)もあるようで、以下の GitHub 上の Wiki ページかソースをダウンロードすることができます。

ダウンロード後はプログラムをインストールすることで、端末上で「Piskel」を利用することができるとのことでした。

github.com

使用感

今回は、Web アプリ版の「Piskel」を利用して動作確認をしてみました。

Piskel」の画面右側の「RESIZE」アイコンを選択することでピクセル数(サイズ)の変更が可能そうです。

また、画面左側のメニューでは実際にドット絵を描画する際に必要なペンであったり消しゴム機能などがあります。

そのほかにも、左下メニューでドット絵の色を変更することも可能なので、自分の思ったままに絵を簡単に描画することができますね!

作ったドット絵は右側メニューで保存したり、画像としてエクスポートすること可能ですので、ぜひ自分のオリジナルの画像などを作成するなどして機能を確認していただけたらと思います。

まとめ

今回は、Web 上で簡単にドット絵を描くことができる OSSPiskel」をご紹介しました。

Piskel」を利用することで思った以上に簡単にパソコン上で絵を描くことができたので、これからパソコン上で絵を描く機会があった際には、「Piskel」を利用して作成していきたいと思いました!

また、本記事で上げた内容以外にもまだまだ昨日はたくさんあり、行えることもたくさんあると思いますので、ぜひ一度こちらの「Piskel」を実際に触れてみて、独自のドット絵を描いて楽しんでみるのはいかがでしょうか。

ライセンス

Apache License 2.0

リンク

www.piskelapp.com

github.com

音楽ファイルからボーカル音声を切り出したいなら!「Ultimate Vocal Remover GUI」

概要

皆さんは音楽を聴いているときに、ボーカル音声がなくなった音源だけを聞きたくなったことはないでしょうか?

昔は(今もそうですが)シングル曲 CD を購入すれば Instrument として、ボーカル音声がない楽器だけの音源が収録されているので聞くことはできますが、今や YouTube などで音楽が配信されていたりダウンロードする機会があることから CD をわざわざ購入するという機会が減り、Instrument を聴く機会もそう多くはありませんよね。

そこで、今回はデジタル音楽に対してボーカル音声をきれいに取り除くことができる OSS を見つけることができましたのでご紹介したいと思います。

それが、「Ultimate Vocal Remover GUI」になります!

Ultimate Vocal Remover GUI」を利用すると、デジタル音楽から簡単にボーカル音声をきれいに切り取ることができます。

それでは早速利用手順などについて見ていきましょう。

利用手順

前提条件

Ultimate Vocal Remover GUI」を利用するには以下の点を注意する必要があります。

インストール方法

Ultimate Vocal Remover GUI」をインストールするには、実行ファイルをダウンロードする必要があります。

以下のリンクか、ミラーサイトからダウンロードしてください。

なお、すでにインストール済みでアップデートしたい場合は、以下から実行ファイルをダウンロードします。

参考:Windows 以外の OS でのインストール方法について

GitHubリポジトリから手動でインストールを実行することで、MacOSLinux 環境でも実行することができます。

詳細は以下のドキュメントを参照していただきたいですが、簡単に内容をまとめると以下のようになります。

github.com

  1. Python 3.6 - 3.9 をインストール
  2. Ultimate Vocal Remover GUI」のソースコードをダウンロード
  3. ソースコードからアプリを起動し、アプリ内の「設定」メニューからモデルをダウンロード
  4. 必要に応じて、ultimatevocalremovergui-master.zip 内の ultimatevocalremovergui-master フォルダーを展開
  5. 以下のサイトから SoX アーカイブをダウンロードし、ultimatevocalremovergui-master/lib_v5/sox ディレクトリに抽出する
  6. ultimatevocalremovergui-master ディレクトリからコマンドプロンプトを開き、以下のコマンドを個別に実行する。 cmd pip install --no-cache-dir -r requirements.txt

    pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
    

上記コマンドを実行したのち、UVR.py ファイルを実行することで輝度することができます。

ちなみに、アプリケーションが .wav ファイルではないデジタル音源を処理するには、FFmpeg をインストールする必要があるので、もし必要であれば各自でインストールするようにと記述がりましたので、必要であれば対応をお願いします。

使用感

実際に私もインストールして試してみました。

操作自体は GUI がきれいにまとまっていることもありとても簡単で、アプリ画面上部の「Select input」でボーカル音声を切り取りたいデジタル音源を選択し、「Select output」で切り取ったボーカル音声とボーカル音声が切り取られたデジタル音源の格納場所を選択するだけです!

後は画面下の「Start Processing」ボタンを選択し、抽出作業の完了を待てば、操作完了です!

今回は私の手元にあるデジタル音源で実際に試してみましたが、とてもきれいにボーカル音声が切り取られて感動しました!!

基本的な操作方法としては上記で取り上げたものでよいと思いますが、もう少し高度な処理を行いたい場合などは、README に詳細が記載されていますので、必要に応じてご覧ください。

まとめ

今回は、デジタル音楽に対してボーカル音声をきれいに取り除くことができる OSSUltimate Vocal Remover GUI」をご紹介しました。

Ultimate Vocal Remover GUI」を利用することで、とてもきれいにボーカル音声を切り出すことができるので、Instrument を楽しむということが簡単に行えます!

とてもきれいに切り出せたため、個人的には大満足ですし、ボーカル音声を切り出したいという方にはおすすめです!

ボーカル音声を楽しみたい・デジタル音楽の Instrument を聞きたいと考えている方、ボーカル音声を切り出したいと考えている方、ぜひ一度試してみてはいかがでしょうか!!

ライセンス

MIT License

リンク

github.com

Kubernates の状況確認を IDE 上で視覚的に把握したいなら!「Lens IDE」

概要

今回は、Kubernates で実行されるすべてのリソースに対して状況確認を行うことができる IDELens IDE」をご紹介します。

Lens IDE」は Kubernates を始めたばかりの開発者にとっての参入障壁を低くし、経験豊富な開発者にとっては生産性を大幅に向上させる効果が期待されています。

Lens IDE」の特徴としては主に以下の点が述べられていました。

  • クラスターが適切にセットアップ及び構成されていることを確信できる
  • 可視性の向上、リアルタイム統計、ログストリーム、実践的なトラブルシューティング機能を搭載している
  • クラスターを素早く簡単に作成できるため、生産性とビジネスの速度が大幅に向上する

詳細については、以下のビデオにて述べられていますので、まずはこちらをご覧になるのが早いと思います。

www-youtube-com.translate.goog

利用手順

Lens IDE」は MacOSWindows、および Linux といった OS 用スタンドアロンアプリケーションとなっており、以下の公式サイトから無料でダウンロードすることができます。

k8slens.dev

使用方法

Lens IDE」をインストール後、起動すると Lens ID を入力する必要があるので、事前に Lens ID を取得しておく必要があります。

その後、「Lens IDE」が kubeconfig ファイル内のクラスターを自動検出するそうです。

なお、クラスターを手動で追加する場合は、カタログカテゴリ「クラスター」に移動し、右下にある「クラスターの追加」ボタンをクリックします。

クラスターが起動して実行されていると、Lens のデスクトップに以下のようなビューが表示されるようになります。

ここでは簡単に「Lens IDE」について紹介しましたが、もっと詳細な使い方や機能を知りたい方は、公式ドキュメントが用意されていますので、そちらを参考にしてください。

docs.k8slens.dev

まとめ

今回は、Kubernates で実行されるすべてのリソースに対して状況確認を行うことができる IDELens IDE」をご紹介しました。

Kubernates のクラスター管理は主に CLI でされている方がほとんどかと思いますので、IDE 上で管理できるという点はとても魅力的ですね!

Kubernates の状況確認を IDE 上で視覚的に把握し、調整・操作したいと考えているなら、今回紹介した OSSLens IDE」を検討されてみてはいかがでしょうか。

ライセンス

MIT License

リンク

k8slens.dev

github.com

高機能な SSH/Telnet/TCP/Shell/Serial クライアントをお探しなら!「WindTerm」

概要

開発者の皆さんは、SSH など接続する際に、どのようなクライアントを利用されていますでしょうか?

私は有名どころの Tera Term を利用しています。

ja.osdn.net

Tera Term はシンプルでとても使いやすいですが、シンプルすぎて行いたいことができない・もっと高機能なクライアントアプリが欲しいという方もいると思います。

そこで、今回はより使いやすくて高機能な SSH/Telnet/TCP/Shell/Serial クライアントアプリ「WindTerm」をご紹介します。

上記のようにクライアントアプリを利用することができます。

特徴

WindTerm」について、特徴が挙げられていたのでいくつか取り上げて紹介します。

  • SSH v2、Telnet、Raw Tcp、シリアル、シェル プロトコル実装済
  • セッション認証時の SSH 自動実行をサポート
  • SSH ControlMaster をサポート
  • SSH ProxyCommand または ProxyJump をサポート
  • SSH エージェントをサポート パスワード、公開鍵、キーボードインタラクティブ、gssapi-with-mic による SSH 自動ログインをサポート
  • X11 転送をサポート\
  • ダイレクト/ローカル ポート フォワーディング、リバース/リモート ポート フォワーディング、およびダイナミック ポート フォワーディングをサポート
  • XModem、YModem、および ZModem をサポート
  • 統合された sftp、scp クライアントは、ダウンロード、アップロード、削除、名前変更、新しいファイル/ディレクトリの作成などをサポート
  • 統合されたローカル ファイル マネージャーは、移動先、コピー先、コピー元、削除、名前の変更、新しいファイル/ディレクトリの作成などをサポート
  • Windows Cmd, PowerShell および Cmd, PowerShell を管理者としてサポート
  • Linux bashzshpowershell コアなどをサポート
  • MacOSbashzshpowershell コアなどをサポート

利用手順

それでは早速利用方法などについてみていきましょう!

WindTerm」をインストールするには GitHubReleases からご利用の OS に合ったインストーラーをダウンロードし、端末インストールしてください。

github.com

インストール完了後、起動すると以下のような画面が表示されます。

v2.5.0 ではデフォルトで日本語対応されていました!

使用感

実際に自分も使ってみました!

メニューバーの「セッション」を選択して「新しいセッション」を選択すると、新たに SSH 接続するための画面が表示されるようになります。

上記から、TeraTerm のような使い方ができますね!

また、アプリ中央の画面でこれまで接続してきたセッションを閲覧することができ、再度簡単に接続することができます。

WindTerm」は高機能なのでまだまだできることは山ほどありますので、気になった方は実際にインストールして機能を確かめてみることをお勧めします。

まとめ

今回は、より使いやすくて高機能な SSH/Telnet/TCP/Shell/Serial クライアントアプリ「WindTerm」をご紹介しました。

高機能なクライアントアプリをお探しの方は、いろいろできる「WindTerm」を一度ご利用を検討されてみてはいかがでしょうか。

ライセンス

Apache-2.0 license

リンク

github.com

kingtoolbox.github.io

C++ ユーザーで C++ のコアガイドラインを参照したいなら!「C++ CORE GUIDELINES」

概要

C++ の中には、抜け出すのに苦労している、より小さく、より単純で、より安全な言語があります。」-- Bjarne Stroustrup

今回は、C++ 言語のガイドラインC++ CORE GUIDELINES」について紹介します。

isocpp.github.io

こちらのガイドラインは、C++ ユーザーなどが最新の C++ を効率的に使用できることを目的として作成されたもので、今後の C++ のドキュメント管理の面も強いということでした。

また、こちらのガイドラインでは、C++ のインターフェース、リソース管理、メモリ管理、同時実行性など、比較的高レベルな点に焦点を当てているということで、アプリケーションのアーキテクチャとライブラリの設計にとても大きく貢献しています。

こちらのガイドラインルールに従うことで、静的にタイプセーフかつリソースリークがなく、安全かつ高速な開発が行えるということもあり、C++ ユーザーにとって非常に有益な情報源になっているそうです。

逆に言うと、命名規則やインデントスタイル、その他基本的な話については触れられていないということなので、上級者向けのものとなっています。

それでは早速実物について見ていきましょう!

利用手順

C++ CORE GUIDELINES」は以下の公式サイトから閲覧することができます。

isocpp.github.io

こちらのガイドラインに、C++ で開発する際の詳細なテクニックなどが記載されていますので、C++ ユーザーの方はぜひ一度目を通してみることをお勧めします。

まとめ

今回は、C++ 言語のガイドラインである OSSC++ CORE GUIDELINES」をご紹介しました。

C++ を利用されているユーザーの方々で、高速かつ安全なソースコードを記載したい方、より高度なソースコードの記述方法について把握されたい方は、ぜひ一度こちらの「C++ CORE GUIDELINES」を閲覧されてみてはいかがでしょうか。

ライセンス

Standard C++ Foundation

リンク

isocpp.github.io

github.com