- 1. 「IBM i で利用できるプログラミング言語は?」をシュッと回答【備忘録】
- 2. CentOSにOpenFOAM v2406をインストール
- 3. TrivyでGridDBリポジトリから脆弱性、シークレット情報、ライセンスのスキャンとSBOMの作成をやってみました!
- 4. SQLite3 CLIで複数のデータベース接続を可能にする .CONNECTIONドットコマンド
- 5. GROWI TypeScript/JavaScript SDKの紹介(その3:添付ファイルの操作)
- 6. 初級者向けオープンソースプロジェクトに貢献する方法
- 7. さくらのVPSを使ってGROWIサーバーを立てる
- 8. 作成したVMをAnsibleで初期設定まで自動化してみたい(仮想化技術に触れてみよう)
- 9. ProxmoxでVM立ち上げてみた(仮想化技術に触れてみよう)
- 10. ついでにMac miniにもProxmox入れてみた(仮想化技術に触れてみよう)
- 11. methodとsource_locaitonでメソッド定義の場所を探し、Railsのコードリーディングを効率よく進める
- 12. postgres-newを使ってみた
- 13. Proxmoxをインストールしてみた(仮想化技術に触れてみよう)
- 14. GROWI TypeScript/JavaScript SDKの紹介(その2:タグの操作)
- 15. 【GitHub Actions】自作Pythonパッケージを自動ビルドしてPyPIとGitHubリリースまで一気にデプロイする
- 16. OSSへの貢献/初めてのマージリクエスト
- 17. Flutterにコントリビュートしてみた ~OSSコントリビュートのすすめ~
- 18. Godotのソースコードを理解せよ!メインループ編
- 19. GROWI 7.0.16リリースノート
- 20. GithubActions触ってたらOSSコントリビュートしてた話
「IBM i で利用できるプログラミング言語は?」をシュッと回答【備忘録】
# 前置き:raised_hand:
– ずばり、備忘録です# ずばり、プログラミング言語一覧です
| 言語 | OSサポート有無 |
|:-:|:-:|
| C++、ILE C++ | OSサポート |
| C、ILE C | OSサポート |
| CL、ILE CL | OSサポート |
| COBOL、ILE COBOL | OSサポート |
| RPGⅢ、ILE RPG | OSサポート |
| SQL(Db2 for i) | OSサポート |
| Qshell | OSサポート |
| REXX | OSサポート |
| Java | OSS |
| PHP | OSS |
| Ruby | OSS |
| Perl | OSS |
| R | OSS |
| Python(2系、3系) | OSS |
| JavaScript(Node.js環境実行可能/Node-RED利用可能) | OSS |# 終わりに
– 今後Updateがあれば、記事を更新します
– 夏にピッタリ(?)さっぱりめの記事でした:rela
CentOSにOpenFOAM v2406をインストール
この記事は流体解析のオープンソースソフトウェアであるOpenFOAMのバージョンv2406を,CentOS 7.xにインストールした際の手順を備忘録としてまとめたものです.
# OpenFOAMのダウンロード
OpenFOAMのバイナリパッケージ及びソースコードは以下のサイトから入手できます.
* [OpenFOAM – The Open Source CFD Toolbox](http://www.openfoam.com/)
* [The OpenFOAM Foundation](http://openfoam.org/)1つめのサイトはESIグループによるものです.一方,2つめのサイトはOpenFOAM Foundationによるものです.リリースされた年月でバージョンがついてるもの,すなわち今回のv2406(2024年6月リリース)は前者のESIのサイトから入手できます.
# インストールの種類
ESIのサイトでは,Windows,Mac,Linuxのバイナリがダウンロードできます.Windowsでは,Windows Subsystem for Linux (W
TrivyでGridDBリポジトリから脆弱性、シークレット情報、ライセンスのスキャンとSBOMの作成をやってみました!
# はじめに
ライセンススキャンやSBOMの作成において、Trivyに興味を持ち、Qiitaなどで投稿を調べました。多くがコンテナイメージのスキャンとファイルシステムのスキャンに関するものでした。そこで、GitHubのコードリポジトリからスキャンする方法を試み、その手順と結果を備忘録としてまとめました。
# Trivyをインストールする
wget で github から Trivy のパッケージを入手して、dpkg コマンドでインストールします。今回、インストール、使用したバージョンは 0.54.1 です。
“`bash
$ wget https://github.com/aquasecurity/trivy/releases/download/v0.54.1/trivy_0.54.1_Linux-64bit.deb
$ sudo dpkg -i trivy_0.54.1_Linux-64bit.deb
$ trivy -v
Version: 0.54.1
・・・
“`詳細については、[Installing Trivy](https://aquasecurity.git
SQLite3 CLIで複数のデータベース接続を可能にする .CONNECTIONドットコマンド
# はじめに
[SQLite3 Command Line Shell dot-commands マニュアル(完全版)](https://www.sqlite.org/cli.html) を更新した際、バージョン3.37.0(2021-11-27)からCLIが複数のデータベース接続を同時にオープンできるようになったことが分かりました。しかし、公式ドキュメントには詳細が記載されていなかったため、使い方を備忘録としてまとめました。
SQLite という OSS データベースは、ユーザーが SQLite データベースで SQL ステートメントを入力して実行できるようにする、sqlite3 (Windowsでは sqlite3.exe) というコマンドラインシェルプログラム(以下、CLI)を提供しています。Oracle の SQL*Plus や PostgreSQL の psql に相当します。
この CLI は、通常、入力された SQL ステートメントを実行しますが、”.” で始まる ドットコマンド と呼ばれる特別なコマンドも存在します。
# 複数のデータベース接続の操作
バージョン
GROWI TypeScript/JavaScript SDKの紹介(その3:添付ファイルの操作)
[オープンソースの社内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をインポート
初級者向けオープンソースプロジェクトに貢献する方法
オープンソースプロジェクトってかっこいいなーと思いつつ、参加する勇気が全く出ないし、難しそうだなーと思ってるんですがいつかやってみたい、、!ので今日はその第一歩としてオープンソースプロジェクトとはなに??どうやってするの??っていう基礎的なところをまとめてみました。
## オープソースとは
オープンソースとは、誰でも自由に使用、変更、配布できるソフトウェアを指します。ソースコードが非公開にされているソフトウェアとは異なり、オープンソースプロジェクトでは透明性、コラボレーション、コミュニティが重視されます。なぜ貢献する必要があるのでしょうか? 以下にいくつかの理由を挙げます。
**学習**: 新しいスキルや知識を習得する。
**接続**: 志を同じくする開発者と出会い、人脈を広げる。
**構築**: 実際のプロジェクトをポートフォリオに追加する。
**恩返し**: 普段使っているツールやテクノロジーのプロジェクトに参加して恩返しをする。## ステップ1: 適切なプロジェクトを見つける 🔍
オープンソースに貢献するための最初のステップは、ワクワクするプロジェクトを見つけることで
さくらの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