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

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

MENU

DevOps についてたった 90 日で学んでみたいなら!「90DaysOfDevOps」

概要

最近よく耳にする DevOps というワードについてご存じでしょうか。

以下は AWS の公式サイトの説明を引用たものです。

DevOps とは、従来型のソフトウェア開発と、インフラストラクチャ管理プロセスを使用するよりも速いペースで製品の進捗と向上を達成し、企業がアプリケーションやサービスを高速で配信できるように、文化的な基本方針、プラクティス、ツールを組み合わせた開発体制のことです。

aws.amazon.com

もう少しかいつまむと、DevOps とは「開発チーム(Development)」の Dev と「運用チーム(Operations)」の Ops を組み合わせた造語で、開発チームと運用チームがお互い協力・協調することで開発・運用するソフトウェア/システムによって、ビジネスの価値をより高めるだけでなく、そのビジネスの価値をより確実かつ迅速にエンドユーザーに届け続けるというものです。

docs.microsoft.com

DevOps について上記で簡単に説明しましたが、こちらは概要だけなので、本格的に学ぶにはそれなりの時間と労力が必要ですが、今回はたった 90 日で基礎知識を得ることができる OSS を紹介しようと思います。

今回紹介する OSS は、DevOps の基礎知識を 90 日で学ぼうという「90DaysOfDevOps」になります。

こちらはもともと OSS の作成者である Michael Code 氏が DevOps の基礎知識について、2022 年 1 月 1 日から 3 月 31 日の 90 日間で学んだものまとめとなります。

利用手順

利用方法は、以下の GitHubリポジトリの README にアクセスすることで閲覧することができます。

github.com

使用感

さっそく私も閲覧してみました!

アクセスしてみると「日本語版」もあるので、日本語版で読み込んでみようと思ったのですが、現時点で日本語に翻訳されているページは 1 章の「DevOps とは何か、なぜ使うのか」だけでした。。

ただ、翻訳されているページを見てみると、とてもキレイに翻訳されているなという印象で、サクサク読むことができました。

84/90 ページは英語なのでなかなか気合を入れて読む必要がありそうですね!

まとめ

今回は DevOps の基礎知識を 90 日で学ぼうという「90DaysOfDevOps」をご紹介しました。

DevOps は近年とても注目を浴びているキーワードで今のうちに基礎知識を学んでおくことで、今後のソフトウェア開発などで優位に働く可能性も少なくないと思います。

ぜひ本 OSS を利用して DevOps の勉強を始めてみてはいかがでしょうか。

また、本 OSS「90DaysOfDevOps」はまだ 84/90 ページが英語表記で日本語に翻訳されていないので、もしこちらの記事を見ている方で英語が得意かつ DevOps について学んでみたい方がいるなら、ぜひ積極的に日本語翻訳活動に参加していただき、OSS 活動に勤しんでみてはいかがでしょうか。

ライセンス

Attribution-NonCommercial-ShareAlike 4.0 International

リンク

github.com

React のエコシステム集を探しているなら!「Awesome React」

概要

私はフロントエンジニアとして、よく React を触って開発などを行っていますが、React ってなかなかできることが多くかついろいろ勉強しなければならないことも多いですよね。

今回はそんな React で覚えておいてほしい記事や便利なリンクをまとめた OSSAwesome React」をご紹介します。

こちらは React のエコシステムに関する選りすぐりのリンク集や公式ドキュメントを、React を利用している有志がまとめた記事となります。

それでは早速見てみましょう!

利用手順

記事は、GitHub の README を閲覧するだけです。

README 上の、興味を持った React の記事を参照することで簡単に利用することができます。

使用感

私も早速利用してみました。

OSS 記事自体は React について基礎からまとめられていました。

また、基礎だけでなく、React hooks に関する記事であったり、React で TypeScript を利用する際の Tips 記事などもまとまっており、日ごろ React を利用されている方にとっては参考になるのではないでしょうか。

まとめ

今回は、React で覚えておいてほしい記事や便利なリンクをまとめた OSSAwesome React」をご紹介しました。

React でよく利用されているフレームワーク Next.js だったり、React でよく利用されるマテリアルデザインベースのモジュール MUI なども紹介されています。

全編英語ですが、もし皆さんが React を利用して開発などを行っているのなら、一度本 OSS を参考にしてみて、React について再度勉強されてみてはいかがでしょうか。

ライセンス

OSS では見当たりませんでした。

リンク

github.com

Python でつくられたコマンドラインベースのタイピングゲームで遊びたいなら!「Termtyper」

概要

タイピングゲームとして有名どころとしては、ブラウザを使用して無料で遊べる「寿司打」でしょうか。

寿司打は日本語ローマ字入力用タイピングソフトで、指定されたワードをタイピングで入力することで回転寿司のネタを獲得できるゲームで、皆さん 1 度は見たり聞いたりもしくは遊んだりしたことはあるのではないのでしょうか。

typingx0.net

そんな中、OSS を漁っているとなんと、Python で作成されたコマンドラインベースのタイピングゲームがありました!

今回紹介するのはそのゲームで、「Termtyper」と呼ばれるソフトウェアになります。

特徴としては以下の内容が README に謳われていました。

  • インタラクティブで美しい UI
  • 機械音!
  • 単語と時間ベースのタイピング
  • スピードキャレットのリアルタイム比較
  • スタイル・設定を変更可能、その他設定でより多く微調整が可能、など

知る人ぞ知る OSS ゲームで完成度はとても高いので、本記事でも紹介させていただきます。

利用手順

※ 前提条件として、Python 3.10 以上が端末にインストールされていることが必要です。

インストール方法は簡単で、以下の pip コマンドからインストールすることができます。

python3 -m pip install git+https://github.com/kraanzu/termtyper.git

もしくは、GitHub 上のリポジトリからクローンして利用する方法もあります。

git clone https://github.com/kraanzu/termtyper.git
cd termtyper
pip3 install .

インストール後は以下のコマンドを打ち込んで遊ぶことができます。

termtyper

使用感

早速インストールして遊んでみました!

起動後はメインメニュー画面が表示され、「Start Typing!」でゲームを開始することが、「Getting Started」で遊び方の説明が(全編英語ですが)、「Seggints」でゲームの設定変更を行うことが、「Quit」でゲームを終了することができます。

  • Start Typing!

  • Getting Started

  • Settings

起動自体も簡単ですし、コマンドラインベースのゲームですが、とても UI がきれいです!

全編英語用のタイピングゲームのため、日本語入力の練習はすることができませんが、そうでなくてもタイピング練習と思えばとても快適に遊ぶことができました!

Python でこのようなゲームで遊ぶことができるのはなかなか新鮮で面白いなと思いました!

より具体的なイメージとしては、本 GitHub の動画を見ることで理解が早まりますので、こちらを見てみるのもおすすめです。

まとめ

今回は Python で作成されたコマンドラインベースのタイピングゲーム「Termtyper」をご紹介しました。

全編英語のタイピングゲームですが、UI なども綺麗ですし、簡単かつ軽快に動作するのでとても楽しく遊ぶことができました!

私は端末にインストールしてしまったので、暇なときにこの「Termtyper」を利用してタイピングゲームで楽しみながらタイピング練習をしようかなーと思いました!

ライセンス

MIT License

リンク

github.com

比較的新しいプログラミング言語を使ってみたいなら!「Zig」

概要

突然ですが、「ZIG」というプログラミング言語をご存じでしょうか?

ZIG は堅牢で最適な再利用可能なソフトウェアを維持するための汎用プログラミング言語ということで、以下の特徴があります。

  • Robust(屈強)
    • メモリ不足などのエッジケースでも正しく動作する
  • Optimal(最適)
    • プログラムを動作・実行できる最善の方法で作成する
  • Reuseable(再利用可能)
  • Maintainable(メンテナンス可能)
    • コンパイラやほかのプログラマに意図を正確に伝え、コードの読み取りにかかるオーバヘッドが低く、開発環境や要件の変化に柔軟に対応する

また、そのほかにもコンパイル時の ZIG 独自の新たな実行方法があったり、C 言語・C++ 言語と競合しつつ改善しながらクロスコンパイラとして機能するなどといった特徴もあります。

もう少し中身を少し見てみると C 言語などと相互運用ができそうな、低レイヤーがターゲットのプログラミング言語のようです。

注意点としては、まだ開発中のプログラミング言語(v0.9.1)で今後も積極的に仕様が変わる可能性がるので注意が必要です。

今回は、そんな新しいプログラミング言語「ZIG」について紹介します。

個人的に、新しいプログラミング言語について見てみるのはとても興味をそそられるので、さっそく見てみましょう!

利用手順

以下の ZIG公式ページ - ダウンロードページから、お使いの OS にあったものをダウンロード・インストールして利用することができます。

ziglang.org

使用感

さっそく使用してみました!

今回はダウンロードした exe ファイルをそのまま利用して動作確認してみようと思います。

ターミナルを起動、ダウンロードしたフォルダの zig.exe ファイルがある場所まで移動します。

移動した後は早速以下のコマンドで、同じディレクトリ内にある src ディレクトリ内の main.zig をビルド・実行してみましょう!

zig build run

成功すると、以下のようなログがコマンドライン上に表示されます。

info: All your codebase are belong to us.

ちなみに、src/main.zig の中身は以下の感じで、std.log.info() で先ほど表示された内容を出力しているようですね。

const std = @import("std");

pub fn main() anyerror!void {
    std.log.info("All your codebase are belong to us.", .{});
}

ビルドも実行もコマンド一つでできるので、とても簡単ですね。

また、ZIG 言語で開発する際のテキストエディタをどうしようかという話も出てくるかと思いますが、VSCode であればエクステンションもあるようなので、そちらを活用することでサクサク開発も進めることができそうですね!

github.com

まとめ

今回は、比較的新しいプログラミング言語「ZIG」について紹介しました。

本記事で取り上げた内容は本の冒頭だけにすぎず、興味がある方はドキュメントを読んでいただけると良いかと思います。

ziglang.org

私自身も ZIG 言語については初心者なので、ドキュメントを参考にしながら少しずつ機能などを勉強していけたらなと思います!

ライセンス

MIT License

リンク

ziglang.org

github.com

多機能な画面キャプチャを行いたいなら!「ShareX」

概要

パソコンで画面キャプチャを行う際、皆さんはどのアプリを利用していますでしょうか?

私は Windows 10/11 を利用しているので、Windows に標準装備されている「切り取り &スケッチ」アプリを利用しています。

画面をすぐにキャプチャしたいというときやメモ代わりに使用したいときなどはとても重宝していており、とくに不満はないのですが、標準以外の画面キャプチャアプリってどういうのがあるのだろうとふと思った今日この頃です。

そして OSS 上を探してみると、やはり世界中には作成されている方はいるものですね。

今回紹介する OSS は、画面全体・範囲指定など様々な方法で画面キャプチャを行える「ShareX」を紹介します。

また、こちらは静止画だけでなく動画キャプチャも可能ということで、確かに Windows 標準のキャプチャよりも多機能です。

それでは早速利用方法など見ていきましょう。

利用手順

以下の公式サイトの「ダウンロード」ボタンからソフトウェアをダウンロードします。

ダウンロード完了後、「setup.exe」を起動し、端末にインストールします(設定はデフォルトで大丈夫です)。

インストール完了後、「ShareX」を起動すると以下のように起動画面が表示されます(デフォルトで日本語表記です!)。

使用感

早速自分も使用してみました。

基本的な操作方法は起動画面上に記載されているので、操作方法自体も特に困ることはなさそうですね。

まずは基本的な操作として、マウスによる領域キャプチャを試してみました。

すると、マウスカーソル下の位置をピクセル単位で選択することができ、細かいエリアをキャプチャしたい際にはとても便利だなと思いました!

また、GIF も撮影できるということだったので試してみました。

「Ctrl + Shift + PrtSc キー」で GIF 撮影モードを起動し、領域を指定することで GIF 撮影することができます。

※ ただし、初めて ShareX を利用して動画キャプチャを行う場合は、ffmpeg.exe のダウンロードが必要な場合があります。

これまでブログを書くときなど GIF ファイルを作成するときは Windows 標準アプリとは別の外部アプリを利用していたので、1 つのアプリで完結できるのはとてもいいです!

そのほかにも画面全体を撮影することや撮影した画像を編集するということ、さらには撮影した画像などを Google Photos や Dropbox などのクラウドストレージに共有することもできるようです。

まとめ

今回は、画面全体・範囲指定など様々な方法で静止画像キャプチャ、さらに動画キャプチャも行える「ShareX」という OSS を紹介しました。

これまで Windows の標準アプリ「切り取り & スケッチ」を使っていて機能的に物足りないなーということがあったので、非常に興味深い発見でした。

ただ、機能が多すぎて自分にはなかなか使いきれそうにないなとも思いました(笑)。

これから少しずつ機能を覚えつつ使い慣れていけたらと思いました!

ライセンス

GNU General Public License v3.0

リンク

getsharex.com

github.com

シンプルだけど使い勝手がよく、サクサク動作するテキストエディタを使ってみたいなら!「massCode」

概要

テキストエディタをパソコン上で利用するとき、皆さんはどのソフトウェアを利用されていますか?

開発者やエンジニアの方で最近多く使われているテキストエディタといえば「VSCode」を利用されている方も多いと思います(個人的な偏見です、「サクラエディタ」や「秀丸」ご利用されている方も多いことも承知しています)。

VSCode はシンプルでサクサク動くし、プラグインをインストールすることで様々な機能を追加することができる、とても使い勝手の良いテキストエディタだと思います。

自分も VSCode が大好きですし、よく使用しており特に VSCode に不満はないのですが、他にも VSCode のような使い勝手の良いテキストエディタはないものかと OSS をあさっていたところ、VSCode と同じエディタ(Monaco Editor)が使用されており、非常にサクサク動くテキストエディタを発見しましたので本記事を作成しました。

今回紹介する OSS は、シンプルだけど使い勝手がよく、サクサク動作するテキストエディタ―「massCode」になります。

masscode.io

WindowsiOSLinux にインストールすることができますので、幅広い方が利用することができますね。

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

利用手順

massCode 公式ダウンロードページ でご利用 OS に合ったソフトウェアをダウンロード・インストールすることで無料でご利用いただけます。

masscode.io

インストール後はアプリを起動するだけです!

使用感

実際に自分もインストールして動かしてみました!

使用方法も簡単で、VSCode やほかのテキストエディタと同じような感覚で使用できます。

massCode はデフォルトで様々な言語をサポートしていますので、実際に編集するファイルごとに切り替えてご利用ください。

massCode のエディタ周りの設定は、ツールバーにある「massCode」>「Preferences」から以下のような画面で設定することができます。

massCode にはデフォルトで Pretteir が実装されているので、テキストの体裁が気になる方にとってはうれしい機能ですね。

ちなみに、massCode のエディタ配色は以下の設定画面から切り替えることができます。

そして、massCode の大きな特徴としては、テキストの同期機能が挙げられています。

iCloud Drive や Google DriveDropbox など外部クラウドストレージを利用することで複数の端末でもテキストを共有することができます。

設定方法は、以下の設定画面で表示されている「Storage」のフォルダパスを、対応する端末上の同期フォルダに選択することで可能となります。

まとめ

今回は、シンプルだけど使い勝手がよく、サクサク動作するテキストエディタ―「massCode」を紹介しました。

非常に快適で、レスポンスもサクサクだったので非常に使い勝手が良いテキストエディタだなと思いました。

開発は現在も積極的に行われており、さらなる使い勝手の良い機能など追加されていくことなので、VSCodeとはまた違った、今後がとても楽しみなテキストエディタですね。

シンプルで非常に快適な、サクサク動くテキストエディタをお探しの皆さん、ぜひ一度こちらの「massCode」を試してみてはいかがでしょうか。

ライセンス

GNU Affero General Public License v3.0

リンク

masscode.io

github.com

フロントエンドエンジニアとして就職活動する際の想定質問について知りたい方に!「Front-end Developer Interview Questions」

概要

最近、就職活動や転職活動時の質問集などが GitHub 上で盛り上がりを見せていますね。

私自身もフロントエンド系の開発にとても興味があり、日々少しずつですが勉強しながら開発作業を行っています。

そんな中、ふらっと GitHub を眺めてみるとどうやらフロントエンジニア向けの就職・転職活動する際の面接質問集を見かけてしまいました!

これは自分もさすがに見逃せないなということでチラッと中身を見させてもらったのですが、とてもよくまとまっていたのでぜひ皆さんにも共有したいなと思い本記事とさせていただきました。

今回紹介するのは冒頭にも上げさせてもらいましたが、フロントエンジニアとして就職活動する際の想定質問集をまとめた OSS「Front-end Developer Interview Questions」になります。

フロントエンジニアは世界中でも人気で開発者もとても多い分野ですので、開発者同士の競争も、技術の入れ替わりも激しいですが、常に華々しい世界だと個人的には思っています。

これからフロントエンジニア分野で活躍をしたい方、就職活動や転職活動を考える方の一助になればと思います。

それではさっそく利用手順などについてみてみましょう!

利用手順・使用感

利用方法はいたってシンプルで、公開されている Web ページにアクセスすることで、想定質問集を閲覧することができます。

ヘッダー部分にはフロントエンジニアの開発が分野ごとに分かれていますので、こちらから把握しておきたい質問内容について確認してみてください。

h5bp.org

ちなみに、日本語にも翻訳されていますのでいちいち訳さなくても内容を把握できるのはとても嬉しいです!!

日本語翻訳ページは、右上にある「Translations」ボタンを選択することで表示言語を切り替えることができます。

まとめ

今回は、フロントエンジニアとして就職活動する際の想定質問集をまとめた OSS「Front-end Developer Interview Questions」を紹介しました。

想定質問については、フロントエンジニアの主な分野ごとに分かれており、箇条書きでまとめられているので把握しやすいです。

また、日本語に翻訳済みという点も非常に助かります!!

こちらでまとめられている質問集については、フロントエンジニアとしては基本的な内容からなかなか面談時に聞かれたら困るなというものまでありました。

自分もフロントエンジニアのはしくれとして、こちらにまとめられている質問についてはいつでもすらすらこたえられるように回答を準備しておこうかなと思いました。

また、今後就職活動や転職活動する際は、こちらの OSS の質問集を見直して臨みたいなと思います。

皆さんもぜひ一度、一読してみてはいかがでしょうか。

ライセンス

MIT License

リンク

h5bp.org

h5bp.org

github.com