オープンソース調べOSS 

オープンソース調べOSS 

さくらのVPSを使ってGROWIサーバーを立てる

[さくらのVPS](https://vps.sakura.ad.jp/)では、スタートアップスクリプトという仕組みがあります。そこでアプリケーションを選ぶだけで、自動的にインストールと設定が行われます。[GROWIのスクリプトも用意されている](https://vps.sakura.ad.jp/news/vps-ss-ubuntu_growi/)ので、試してみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197026/dfe12332-e671-b60c-1fc8-5ebe2b5eab1d.png)

## 注意点

スタートアップスクリプトの設定で、FQDN(Fully Qualified Domain Name)を入力する箇所があります。ドメインはオプションですが、入力するとLet’s EncryptでSSL証明書を取得して設定も行ってくれます。

ただ、これはあらかじめVPSのIPアドレスが分かっていないといけないので、新規VPS購入時には無理そうです。一度VPSを立

元記事を表示

作成したVMをAnsibleで初期設定まで自動化してみたい(仮想化技術に触れてみよう)

# はじめに

VM作成や初期設定を理解できるようになってきましたが、
もっと自動化して楽できるようになりたいなと考えていたところ、
`Ansible`という構成管理ツールがあることを知ったので実際に触っていきたいと思います。

今回は`コントロールノード`と呼ばれる遠隔操作をするサーバと
`管理対象ノード`と呼ばれる操作される側のサーバの2台を用意しています。

以降は下記の名称で呼称していきます。
`コントロールノード・・・HOSTSV`
`管理対象ノード・・・・・TRGTSV`

# 目次

1. [①Ansibleを動かすための前準備](#ansibleを動かすための前準備)
1. [②Ansibleを動かしてみる](#ansibleを動かしてみる)
1. [③Playbookを作成して動かす](#playbookを作成して動かす)
1. [④さいごに](#さいごに)

# ①Ansibleを動かすための前準備

HOSTSVとTRGTSVにて、パッケージの更新を行います。
“`bash
$ dn

元記事を表示

ProxmoxでVM立ち上げてみた(仮想化技術に触れてみよう)

# はじめに

昨日はProxmoxVE環境をインストールするところまでやったので、
今日はVMを立ち上げてVM側のLinuxを初期設定したいと思います。

# 目次

1. [①VM用のISOイメージを設定する](#vm用のisoイメージを設定する)
1. [②VMを立ち上げる](#vmを立ち上げる)
1. [③Almalinuxの初期設定をする](#almalinuxの初期設定をする)
1. [④さいごに](#さいごに)

# ①VM用のISOイメージを設定する

必要なもの
[AlmaLinux OS ISOイメージ](https://almalinux.org/ja/get-almalinux/)

CentOSのEOLもあり、RHEL互換のLinuxOSの選択肢は多種多様であるが、
筆者は`AlmaLinux OS`が今のところ初心者には触りやすいと思っています。

今回は`AlmaLinux OS 9.4 Minimal ISO`を使っていきます。
ついでにMac miniにもProxmox入れてみた(仮想化技術に触れてみよう)

# はじめに

昨日はWindows用のデスクトップパソコンにインストールしましたが、
自宅に使っていない`Mac mini(Late 2014)`が3台転がっているので、
これにもProxmox VEをインストールしてみます。

今回はMac OSとのデュアルブートは必要なかったため、
シングルブート前提でProxmoxVEをインストールします。

# 目次

1. [①ブートUSBを用意する](#ブート用usbを用意する)
1. [②USBからProxmox VEをインストールする](#usbからproxmox-veをインストールする)
1. [③さいごに](#さいごに)

# ①ブート用USBを用意する

今回は、[前回の記事](https://qiita.com/yusaku-creative/items/2f1eec4b4924c243ce07)で作成したブート用のUSBをそのまま流用します。

前回の記事↓
[Proxmoxをインストールしてみた(仮想化技術に触れてみよう)](https://qiita.com/yusaku-creativ

元記事を表示

methodとsource_locaitonでメソッド定義の場所を探し、Railsのコードリーディングを効率よく進める

## はじめに
Railsのコードリーディングを少しだけうまく進められるようになってきたため、やり方を備忘録としてまとめます。

対象読者は、Railsのコードリーディングをしていきたいけど、そもそもメソッドがどこにあるかすら見つけられない、といった状況のエンジニアです。

この記事を最後まで読めば、気になるメソッドの定義場所を1人で探せるようになるかなと思います。

※バージョンは**Ruby 3.3**, **Rails 7.2**です。

## 問題

普段使っているフレームワークをより深く学びたいと思って、Railsのコードリーディングを始めています。

あまりにも規模が大きくどこから読んでいいか分からないため、まずはよく使うメソッドを1つずつ見ていこうと考えました。

しかし、そもそもメソッドがどこに定義されているかを発見するのにも一苦労です。

仮に特定できたとしても、その中でさらに他のメソッドが呼ばれており、追いかけていくことができなくなってしまいました。

## 解決策

`method`メソッドと`source_location`メソッドを活用することで、Railsの

元記事を表示

postgres-newを使ってみた

### postgres-newとは?
supabaseのAI支援付きpostgreSQLのサンドボックスです。

https://github.com/supabase-community/postgres-new

こちらから使用できます(GitHubアカウント連携が必要ですが無料)。

https://postgres.new/

赤枠部にテキストを入力することで、AIの支援が受けられます。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/383255/0f1ae526-b2f2-fd19-3f2f-570609a49a92.png)

本記事より詳細なプロモーションビデオ

——————————————————————-

* データベースの作成
* 入力例
“`
勤怠システムのデータ

元記事を表示

Proxmoxをインストールしてみた(仮想化技術に触れてみよう)

# はじめに

仮想化技術の技術勉強のため、
OSSで公開されているProxmox VEをハンズオンしていく。

まずは使っていないPCにProxmoxをインストールしていく過程をまとめてみました。

# 目次
1. [①ブートUSBを用意する](#ブート用usbを用意する)
1. [②USBからProxmox VEをインストールする](#usbからproxmox-veをインストールする)
1. [③さいごに](#さいごに)

# ①ブート用USBを用意する

必要なもの
[Proxmox VE ISOイメージ](https://www.proxmox.com/en/downloads/proxmox-virtual-environment)
[Rufus](https://rufus.ie/ja/)

[Proxmox](https://www.proxmox.com/en/)の公式サイトから、インストール用のISOイメージをダウンロードします。
(執筆時点ではVer8.2.1が最新版)
GROWI TypeScript/JavaScript SDKの紹介(その2:タグの操作)

[オープンソースの社内WikiであるGROWI](https://growi.org/)ではREST APIが公開されています。このAPIをより簡単に使えるよう、TypeScript/JavaScript SDKを開発しています。まだ途中ですが、徐々に機能追加していきます。

今回はタグの操作方法を解説します。

## 注意点

こちらはコミュニティSDKになります。公式への問い合わせはご遠慮ください。

## ソースコード

GROWI TypeScript/JavaScript SDKのソースコードはGitHubにて公開しています。ライセンスはMITです。

[goofmint/growi-sdk-alpha](https://github.com/goofmint/growi-sdk-alpha)

## インストール

インストールはnpm/yarn経由で行います。

“`bash
$ npm install @goofmint/growi-js
# または
$ yarn add @goofmint/growi-js
“`

## 使い方

まずはSDKをインポートします。

元記事を表示

【GitHub Actions】自作Pythonパッケージを自動ビルドしてPyPIとGitHubリリースまで一気にデプロイする

自作のライブラリをリリースするときに、ローカルでビルドして、TestPyPIにアップロードして確認して、PyPIにアップロードして、最後にタグ切ってリリースして・・・
面倒なのでGitHub Actionsでデプロイできるようにしました。

## この記事で目指すこと

リモートにタグをpushした際に、自動でPyPIにパッケージをアップロードし、GitHubにリリースを作成する。

ローカルからtagをpushすると、、、
“`
git tag vX.X.X
git push origin vX.X.X
“`

以下順番で自動的にデプロイされる
1. testPyPIへのアップロード
2. PyPIへのアップロード
3. GitHub上にリリースを追加しソースコードを配布

下記画像のようなワークフローを作成します。

![Screenshot 2024-08-09 at 17.18.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1622041/55ba543a-d487-7349-eebe

元記事を表示

OSSへの貢献/初めてのマージリクエスト

いつもはプロダクトとかOSSとかツールなど主に利用方法について記載していることが多いのですが、たまには毛色の違う話で初めてOSS(オープンソースソフトウェア)で、プルリクエストをマージしていただいた事についてお話ししたいと思います。

# 1. そもそもの発端 ~ 業務で利用していたOSS製品に興味を持ち始めて
Apache Guacamole(OSS)を社内で利用しておりました。社内のApcahce Guacamoleはデータベースへの接続を必要とする構成にしていてDBはMariaDBを使用し接続はSSL化して利用しましょうという話でまとまっていたのですが、いざ構成してみると残念ながらその時点ではMariaDB Connector/Jを使用したSSL接続はうまく機能しなかったというわけです。

そのまま放置するわけにもいかないため、SSL化を目指しソースコードの調査・改修を行い無事SSL接続もでき、問題は解決したのですが「せっかくならプロジェクトに貢献したい!」とおもい思い切ってApache Guacamoleプロジェクトへアクションをとったのが事の発端となります。

*Apach

元記事を表示

Flutterにコントリビュートしてみた ~OSSコントリビュートのすすめ~

# はじめに
こんにちは。
Flutterにコントリビュートしてみたので、その流れや感想などを書きます!
(ドキュメントの修正しかしていないけど、これも立派なコントリビュート!)

# コントリビュートしようとおもった理由

– そのOSSを深く知ることができると思ったから
– 何かひとつ深く知れば他の技術にも活かせるはず!という考え
– 外部の人に自分のコードをレビューしてもらえるから(今回コード書いてないけど😽
– なんかカッコ良いから

# コントリビュートまでの流れ

ざっくりこんな流れだと思います。

1. コントリビュートしたいOSSを見つける
2. コントリビュートのルールを確認する
3. 挙がっているIssueからできそうなものを見つける
4. コード/テスト書く
5. PR(プルリクエスト)を作成する
6. レビュー/マージ

## 1. コントリビュートしたいOSSを見つける

まずはOSS見つけましょう!自分が好きなOSSで良いと思います。
普段からお世話になっているOSSでも良いし、コントリビュートが活発に行われているOSSに挑戦するのも良いと思います

元記事を表示

Godotのソースコードを理解せよ!メインループ編

# はじめに
どうも、ゲームプログラマーのChocolaMintです。

[Godot](https://godotengine.org/)という、最近「なぜか」流行っているオープンソースのゲームエンジン、ご存知でしょうか。

ここの「オープンソース」について、皆さんはどう認識しているのでしょうか。
* 無料で使える!(例外もありますが、Godotの場合は本当に無料)
* MITライセンスなので、例えメインブランチが突然有料化宣言を出しても、フォークして無料バージョンを作れる!
* [ソースコード](https://github.com/godotengine/godot)が見られる!

…で?

そうですよね。ソースコードが見られるのって、別にいいじゃない?どうせエンジン改造なんて、企業レベルの開発チームじゃないとできないことでしょう。しかもC++ってめんどくさそうですし…

別のオープンソースのゲームエンジンの場合は、たしかにそうかもしれませんね。が、Godotは実は読みやすい、改造しやすい方なんです!

今回の新シリーズ、「Godotのソースコードを理解せよ!」では、毎回Godo

元記事を表示

GROWI 7.0.16リリースノート

[オープンソースのWikiであるGROWI](https://growi.org/ja/)の最新版、7.0.16がリリースされました。大きな変更点はありませんが、リリースノートとして主な変更点を紹介します。

## 改善点

– 管理ページのユーザーグループリンク
– サイドバーヘッダーのテキストサイズ
– ユーザーアイコンの位置変更

## 不具合修正

– 一部のOIDC認証設定が適用されない問題を修正
– インストーラの作成ボタンにポインタカーソルを追加

他、幾つかの不具合修正と各種メンテナンスも行われています。詳細は[Release v7.0.16 · weseek/growi](https://github.com/weseek/growi/releases/tag/v7.0.16)を参照してください。

## まとめ

GROWIはオープンソース、かつDocker composeなどで手軽に導入できます。ぜひ社内・研究室・自宅などで利用してみてください。

元記事を表示

GithubActions触ってたらOSSコントリビュートしてた話

# TL;DR
自動でPRを作るGithubActionsを実装してたら[使ってるプラグイン](https://github.com/x-motemen/git-pr-release)のバグを見つけたよ。
せっかくのOSSコントリビュートチャンスだから修正したよ。
やってみたら以外と簡単にできたし達成感もあったからみんなも機会があったらOSSコントリビュートをやってみよう!
そして[これ](https://github.com/x-motemen/git-pr-release)も便利だからみんなも使ってみてね!

# これはなんのお話?
業務中に触っていたプラグインのバグを見つけたので初めてのOSSコントリビュートをしたお話。

# コントリビュートチャンス、到来!
### そもそも何をしてたの?
もともとは運用改善のために、特定のブランチにPRがmergeされたら自動で上位環境へのリリースPRを作成するGithub Actionsを作りたかった。
つまり`develop`にmergeしたら`develop->staging`のPRを、`staging`にmergeしたら`s

元記事を表示

GROWI 7.0.15リリースノート

[オープンソースのWikiであるGROWI](https://growi.org/ja/)の最新版、7.0.15がリリースされました。大きな変更点はありませんが、リリースノートとして主な変更点を紹介します。

## 主な変更点

### MongoDB 4.4への対応

後方互換性を保ちつつ、MongoDB 4.4への対応が行われました。

## アップデート推奨

7.0.13と7.0.14では不具合が確認されています。7.0.15へのアップデートを推奨します。

また、不具合修正と各種メンテナンスも行われています。詳細は[Release v7.0.15 · weseek/growi](https://github.com/weseek/growi/releases/tag/v7.0.15)を参照してください。

## まとめ

GROWIはオープンソース、かつDocker composeなどで手軽に導入できます。ぜひ社内・研究室・自宅などで利用してみてください。

元記事を表示

Zedというエディターをさわってみた

# はじめに
webエンジニアの風速です。
Zedをご存知でしょうか。近頃いろんなものがRustで書かれたり、置換されたりみたいな話を聞く気がします。ZedはRust製のオープンソースエディターで、公式サイトを覗いてみると、「Code at the speed of thought」というのを掲げています。googleで翻訳すると、「思考のスピードでコードを書く」ということらしいです。
対応OSはmacと7/10にlinux版が正式にリリースされたとのことです。
自分の環境はmacしかなかったので、mac版でさわってみようと思います。

# インストール
brewでインストールができるらしいので、brewでインストールします。
“`
brew install –cask zed
“`
インストール後起動されました。

![スクリーンショット 2024-07-29 21.12.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3780649/04080426-1079-1b42-cec4-0816

元記事を表示

bun testでエラーが出力されます

初めてのOSS開発に挑戦しました。

react-hook-form/resolverをコントリビュートするため、ドキュメントに沿って環境構築を行いましたがエラーが発生しました。

## 目次
[実行環境](#実行環境)
[やったこと](#やったこと)
[解決](#解決)
[解決方法](#解決方法)
[原因](#原因)
[今後](#今後)

## 実行環境
macOS Sonoma14.4.1

Bun 1.1.21

zsh 5.9 (x86_64-apple-darwin23.0)

## やったこと
まずリポジトリをForkしてローカルにcloneしました。

私のPCにbunが導入されていないのでbunを導入しました。
`/resolvers`ディレクトリに移動して、`bun install`を実行するとうまくいきました。

しかし`bun test`を実行すると、`test`が必要とエラーが出力されました。

このリポジトリのtestが入っているのは`/__test__`というディレクトリです。
エラーの内容は以下のものです。
“`
% bun test
bun test

元記事を表示

プロジェクト管理ツールのkanboardを入れた

### 最近の悩み
年明けからやっているRushRoyaleの自動化ツール開発、思いついた順に手を着けていた。なんだかちょっとやりづらいなあと思いつつ進めていたが、5月ころから迷走してやるきがなくなってきた
 
そして、放置すること3か月、これじゃだめだ、と思いました

### 原因分析  
おそらく日々何をどこまでやるか、という旅程を決めてなかったのが良くないんじゃないか、と思います。予定を立ててないので、最終的な形はぼんやりあっても、具体的に何をやるか決まってないので、いきあたりばったりです。さらに悪いことに、何かをやってる途中でも他の事に興味が移ったら別のことを始めたり、それを延々やっていると、当初やろうとしていたことが全く進んでいない、最悪忘れている、という感じでした。小さいうちはよかったけど、ちょっとでかくなってきたらもう全然だめでした

結果として、何かこうしたい、というもやーっとした願望はあっても、ではどこから手を付ければよいかわかんない、という、、、

わかんないことは考えたくない、できれば目にしたくない、なかったことにしたい、と、それで放置していたんだろう、と

元記事を表示

キー一発でOCR+Linterかけてコマメに日本語をメンテナンスするツール書いた!

# 日本語の乱れはコンテキストの乱れ

日本人だけど日本語力に乏しいと言われ続けて生きてきました・・・

「~の、~の、って二度出てきて読み辛い」
「実装を行う、じゃなくて、実装するで良いんじゃない?」
「アプリなのかい?アプリケーションなのかい?どっちなんだい?」

みなさんも経験があると思うけど、こういう些細なミスは口語だったら言い直しと説明で済む。
でも、資料だけを見て、内容を判断しなきゃならない場合誤読を呼び込んでしまう。
「てにおはを正しく!」って昔、先輩に言われてた事、そういう事だって良いオジサンになってから思い返してる。
読み辛い文はコンテキストを乱し、伝えたいメッセージを弱めてしまう、そういうことだったのサ!

**リンター入れますか?**

# リンター入れられません・・・

Markdownとかテキスト形式ならtextlint使うなりのエコシステムに乗っかれた。
でもそうはいかない状況はしばしば発生する・・・

– Powerpoint
– ブラウザのスプシ
– PDFとかリッチなフォーマット
– そもそも画像フォーマット

元ソースがテキスト文章に寄せてないフォー

元記事を表示

【個人開発】PasswordBoxってアプリを作ったよって話

個人開発でアプリ作ったので、紹介とかいろいろ語ります。
正直、技術的な話はあまりしません。

# アプリの紹介
改めて、個人開発で iOS アプリケーションを作成しました。
名前は “PasswordBox” です。
名前に「パスワード」とある通り、Password Manager アプリです。
しかし、ただのパスワード管理アプリではなく、パスワードを生成してくれるアプリケーションとなっています。

https://apps.apple.com/jp/app/passwordbox/id6520392403

## アプリの詳細
このアプリは大きく分けて、3個の機能があります。
– ロック画面:FaceIDでアプリのロックを解除します
– パスワードの作成・編集
– アプリの情報

とてもシンプルでチープなアプリだと思います。

### ロック画面
このアプリではパスワードを扱う以上、セキュリティ性を高めるためにアプリを使用するにはパスコード等を使ってアプリを使う必要があります。
しかし、ログイン画面を1から使うのは大変だし、個人的にこのアプリで Firebase などを使ったログイン

元記事を表示

OTHERカテゴリの最新記事