オープンソース調べOSS 2022年09月27日

オープンソース調べOSS 2022年09月27日

型情報がないこと由来のエラーに耐えられなかったので、`typeshed`にコントリビュートしたお話

## きっかけ
私が参画しているプロジェクトではCOMをPythonから操作しているスクリプトがあります。

そこで発生するエラーハンドリングを行うため、よく次のようなコードを書いています。

“`py
from _ctypes import COMError

try:

except COMError as e:

“`
ですが、**`_ctypes`には型スタブがなかったので、importした時点でVSCodeのpylance(pyright)がエラーを出していて、それを抑制したとしても`COMError`が`Unknown`扱いになっていました。**
![comerror.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/364180/20cab9e9-532e-b1e7-cecd-8bd5ecd03ee0.png)

これによって型チェッカーに例外である情報が伝わっていなかったり、`COMError`があると型チェッカーから警告が出てやりづらい状況でした。

この

元記事を表示

OSSへのパッチの送り方

こんにちは.[だいみょーじん](https://twitter.com/Egh2Deywos)です.
最近[QEMU](https://www.qemu.org/)にパッチを送ったので,OSSへのパッチの送り方をまとめておきます.

OSSへのパッチの送り方といっても,OSSごとに方法やルールが異なることがあります.
例えばQEMUの場合[ここ](https://www.qemu.org/docs/master/devel/submitting-a-patch.html)に詳細が書いてあります.
ただし,gitでバージョン管理されているOSSであれば,大体の流れは同じでしょう.
ここでは私がQEMUにパッチを送った際の手順を説明します.

# リグレッションテスト

まずは,自分が加えた変更が,他の機能などに影響を及ぼさないかどうか確認しておきましょう.
QEMUの場合,リポジトリのトップのディレクトリにおいて,

“`
$ make check
“`

でテストを実行します.自分が加えた変更の前後におけるテスト結果のdiffを取り,退行がないことを確認しましょう.

# コミット

元記事を表示

Dockerを用いたUnified Communication X (UCX) の動作確認

## はじめに
汎用CPUの性能向上が鈍化する中、**ある特定の問題領域に特化したアクセラレータの利用**が検討されるようになってきている。GPUはその代表的な存在であり、昨今の機械学習やAI向けに広く利用されている。より大規模な問題を解くニーズが高まっていることから、GPUを用いた分散型コンピューティングシステムも利用され始めている。
GPUの性能向上はムーアの法則を超える速度で急速に進んできた背景から、**GPUを用いた分散型コンピューティングシステムでは、ネットワークの通信速度や遅延がシステム全体のボトルネック**になると認識されている。これに対して、NVIDIAは、RDMAの技術を用いることでネットワークの高速化を達成し、GPUを用いた分散型コンピューティングシステムの性能を高めることに成功している。

上記から、**GPUに限らず、計算能力の高いアクセラレータを用いた分散型コンピューティングシステム向けのアプリを開発する際には、ネットワークの高速化も検討する必要がある**といえる。しかしながら、RDMAを含む通信プロトコルの仕様に合わせたネットワーク部の実装は、それらの専門的

元記事を表示

オープンソースなローコードプラットフォーム

社内でローコード/ノーコードに関するトピックが多くなってきまして、どんなツールを使用してそれを実現するのかといった場合、プロプライエタリまたは商用ライセンスのプラットフォームの名前があがっておりました。

なにからどう始めたらよいかわからない場合、初めの足がかりや、技術サポートなどを考えるとその選択肢も理解できます。

では、オープンソースでそれを実現する場合に、どんな選択肢があるのか?というところで気になったので試してみました。

## OSSなローコードプラットフォーム

ローコードツールと表現しないようなものも含みますが、いろいろな系統がありますのでざっと紹介します。
基準としては、GitHubのスターが多いものや、ニュースで聞いたことがあるものを選びました。

* Budibase ⭐13820

内部ツールと言われる位置づけのツール。内部ツールとは、集客やコンシューマに向けた外向けの画面ではなく、内部だけで使うような管理ツール、ダッシュボード、CRUD画面の作成を目的とし

元記事を表示

Pulsar Flexを使ってみた

## はじめに

こんにちは。

本稿では、[Pulsar](https://pulsar.apache.org/)のサードパーティのNode.jsクライアントライブラリである、[Pulsar Flex](https://github.com/ayeo-flex-org/pulsar-flex)(以下、pulsar-flex)を使って、簡単なメッセージの送受信をしていきます。

内部でC++クライアントライブラリを使用する[公式のNode.jsクライアントライブラリ](https://github.com/apache/pulsar-client-node)とは異なり、pulsar-flexはC++クライアントライブラリに依存しないライブラリとなっています。

今回は、MacOS 1台の上に以下の環境を構築して試していきます。

* サーバ
* OpenJDK 1.8
* Pulsar(standaloneモード) v2.10.1

* クライアント
* Node.js v16.15.1
* pulsar-flex 1.1.1

## サーバの準備
ここでは、メッセージ

元記事を表示

CentOSにOpenFOAM v2206をインストール

この記事は流体解析のオープンソースソフトウェアであるOpenFOAMのバージョンv2206を,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によるものです.リリースされた年月でバージョンがついてるもの,すなわち今回のv2206(2022年6月リリース)は前者のESIのサイトから入手できます.

# インストールの種類

ESIのサイトでは,Windows,Mac,Linuxのバイナリがダウンロードできます.Windowsでは,Windows Subsystem for Linux (W

元記事を表示

【夏休み企画】#IT用語一問一答【毎朝投稿15日目】OSS

# この記事を読むと、、
– 「関連用語」を使って「OSS」を説明できるようになる
– 「OSS」がもっと好きになる(多分)

# 関連用語
copyleft license / GPL / permissive license

[**復習用**] 記事の内容を見る前に上記の言葉で「OSS」を説明してみよう!

# 企画説明
– クラウドって何?って人に聞かれて説明してるけど俺もよく知らないや、、
– ドキュメント読んでみてるけど半分くらい何言ってるか分かんない、、
– 今日の夕飯はナスの炒めものにしよっかな〜、あれ、NASってなんだっけ?

みたいなことが結構あったので、知ったかしていたIT用語を毎日一個ずつちゃんと学んでいこうっていう企画です!

昨日の記事はこちら↓

https://qiita.com/acta/items/8393accf790651e91237

# OSSとは
OSS = Open Source Software = 利用者の目的を問わず利用・拡張・再配布等が可能なソフトウェア

– **open source license** = OSSに課されてい

元記事を表示

初めてのOSSコントリビュート(Ruby gem)

# はじめに
先日 (超軽微ですが、、)初めてOSSコントリビュートしました :tada:
意外とgemにPRを送るまでの詳細な手順をまとめている記事が見つけられなかったのでまとめたいと思います。

# きっかけ
[gem recapthca](https://github.com/ambethia/recaptcha)の挙動を確認するためにコードを見ていると叩いているAPIのバージョンが古いことに気づきました。
OSSコントリビュートに興味があったのでこれならすぐ修正できる!と思いPRを送ることに。

# PRを送るまでの流れ
## ドキュメントを読んで、コントリビュート時の注意点を確認
Contributingについて記載がないか確認します。
例:Ruby
>See [“Contributing to Ruby”](https://docs.ruby-lang.org/en/master/contributing_md.html), which includes setup and build instructions.

## 既にある issues, PRを確認する
クローズさ

元記事を表示

エンジニア歴2年半、やっとOSSに貢献できました。

# 初コントリビュート!

OSSへのコントリビュート(貢献)を初めて出来ました!やったことはドキュメントの修正ですが、自分の中で大きな一歩なので記事にしてみます。

これまでOSSに何かしらコントリビュートしたいな、と思いつつ全然出来なかったのでちょっと自信を持てる良いきっかけになりました。
私以外にも「やりたいけど出来ないよ〜」「どうしたら良いの?」という方も多いと思うので、どうやったか・何を考えたか、という観点で記事を書きました。

## はじめに結論

以下のような手順で進みました。

– ドキュメントに誤りがあることを発見
– 修正してローカル環境で確認
– 他にも同じ状態の他言語も修正
– プルリク作成
– マージしてもらう!

プルリクを作成してから約20日でマージ頂きました。正直忘れたころにマージされて「あ、マージされたんだ!」となりました。

作成してから数日は「コメントで間違い指摘されてないかな・・・」など気になるので結構プルリクを見ていたのですが、終わってみるとそんなことは無く無事に終了しました。

では以下に順を追って、もう少し詳細を書きます。

## 何をした

元記事を表示

`comtypes`の追加機能 – GUIDのみでモジュール生成が可能に

## 論旨
`Python`でCOMオブジェクトを操作する[`comtypes`](https://github.com/enthought/comtypes)へコントリビュートを行い、私が追加した機能を含むものがバージョン`1.1.13`で最近リリースされたのでその紹介です。

## 追加機能概要
`client.GetModule((“{ライブラリのGUID}”,))`でモジュールが生成・取得できるようになります。

### GUIDとは
`Globally Unique Identifier`「グローバル一意識別子」のこと。
`{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}`(xは16進数)で表現されます。
COMオブジェクトやCOM型ライブラリは、(レジストリに登録されていれば)この一意のIDから呼び出すことが可能です。
https://ja.wikipedia.org/wiki/GUID

### Examples
“`py
from comtypes.client import GetModule
GetModule((“{000

元記事を表示

OSSライセンスについて学習した内容のまとめ(随時更新予定)

:::note warn
注意事項

本投稿はOSSライセンスについて個人で学習した内容を随時記事に載せていきます。
ライセンス関連のお話には、著作権や特許などの法律に触れる内容を含みます。実際に対処する場合、社内の法務部や有識者への相談を行うことをおすすめします。本記事はそういった有識者への相談前に、自身で予備知識を蓄える程度のものとなります。
:::

# 目的
各OSSライセンスについて調査し理解を深める。
(いきなりたくさんのライセンスについて調べて記事にしようとするとあと10年はかかるので、代表的なライセンスから始め、徐々に勉強し補完していきます。)

# 背景
今後、個人アプリのソースコードを公開しようと考えているが、利用しているOSSのライセンスについて、どう対処したら良いのかが具体的にわかっていなかったため、OSSのライセンスについて、理解を深めようと勉強を始めた。

# OSSとは
オープンソースソフトウェアの略です。
OSSとは、利用者の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再頒布が可能なソフトウェアの総称です。
パソコンやスマホを利用していれ

元記事を表示

Django VS. Flask by OSS Insight

## はじめに

PythonのWebアプリフレームワークとして有名なDjangoとFlask。
OSS Insightを使って、その使用状況を比較してみます。

## OSS Insightとは

– OSSの動向を分析し可視化してくれる、PingCAP社謹製のインサイトツール
– OSSプロジェクトを分析/比較し、様々な視点から洞察を見つけてくれる
– GitHubリポジトリのカスタム分析ツールとしても使える

※ PingCAP社の記事を参照: [OSS Insightとは?](https://qiita.com/PingCAP/items/2d6a72acf455f72c216b)

## Djangoとは、Flaskとは

– Django
– フルスペック(ユーザ管理機能など内容)の、Webアプリケーションフレームワーク
– 中大規模の開発向け? エンタープライズ用?

– Flask
– 必要最低限の機能を揃えている、軽量Webアプリケーションフレームワーク
– 小規模の開発向け? 個人学習用?

## OSS Insightから見るDja

元記事を表示

OSS Insightで見るOSSデータベースの動向

## はじめに

OSSデータベースのトレンドがどうなっているか知りたくなりました。
そこで、インサイトツール [OSS Insight](https://ossinsight.io/) を使ってみることに。

## OSS Insightとは

– OSS動向や比較など分析結果を提供してくれるインサイトツール
– PingCAP社により、TiDB、Docusaurus、Apache ECharts、GH Archive、GHTorrentで構築された
– OSSプロジェクトを分析/比較し、様々な視点から洞察を見つけてくれる
– GitHubのリポジトリやイベントデータから、OSSの健全性や新しい出来事を示してくれる
– GitHubリポジトリのカスタム分析ツールとしても使える

※ PingCAP社の記事を参照: [OSS Insightとは?](https://qiita.com/PingCAP/items/2d6a72acf455f72c216b)

## OSSデータベースのトレンド

### 早速`ossinsight.io`サイトで検索してみると
https

元記事を表示

事業撤退するので、Apple MusicのクローンアプリをOSSにします

# ソースのURL
https://github.com/outsource-systems/music-app-ios

# デモ動画

# なぜOSSにするのか?
2021年7月〜11月にかけて、アーティストが独自の音楽ストリーミングアプリを作れるサービスを開発していました。
事業として上手くいかなそうで、事業撤退するのでOSSにします。

LPはこちらです。 -> https://origify.app/

# このソース誰得?
SwiftUIを使って音が流れるようなアプリケーションを作りたい人

# なぜ作ったのか?

地元の山梨で活動している同じ中学だったアーティストが
「CDが売れない。ストリーミングの分配率が低い。」などの
悩みを抱えていたので、
その悩みを解決したいと思い、このサービスを作り始めました。

サービス名はOrigifyです。
事業がうまくいきそうだったら、VCから資金調達をして、サービスを始めようと思っていました。

# なぜこの事業を

元記事を表示

dbtとPipeRider GitHub Action

## はじめに

https://qiita.com/GabxInfuseAI/items/dd68c439622923ec951e#dbt%E3%81%A7%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3

この記事は前回の記事(_dbt+PipeRider+SQLite_ ユーズケース)に続いて、[PipeRider GitHub Action](https://github.com/marketplace/actions/piperider-cli-action)を導入して、[GitHubでCI(Continuous Integration)](https://docs.github.com/ja/actions)と言うことを達成する。

先ずこの三つファイルをローカルプロジェクトのルート階層に付け加える

+ `.github/workflows/ci.yml` – GitHubワークフローの定義

+

元記事を表示

oss-licenses-pluginがOSSをリストアップする仕組み

## はじめに

[OSS Licenses Gradle Plugin](https://github.com/google/play-services-plugins/tree/master/oss-licenses-plugin)は、ビルド時にOSSリストを作成ます。そのリストをもとにOssLicensesMenuActivityでライセンス表示できます。

これまではcookpadさんの[LicenseToolsPlugin](https://github.com/cookpad/LicenseToolsPlugin)を使わせてもらっていたのですが、deprecatedということで代わりにお勧めされたGoogleのOSS Licenses Gradle Pluginを使おうとしました。ところが使ってみるとSTLやらICU4CなどのOSSがリストアップされて、どういうこと?となったのでソースコードを調べて確認しました。

## 仕組み

ビルドを開始すると、OSS Licenses Gradle Pluginは初めにGradleでdependenciesのリストを作成します。以下

元記事を表示

話題のデータストア!? Dragonfly をサクっと使ってみた

# はじめに
最近、[Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装](https://www.publickey1.jp/blog/22/redis25dragonfly2022.html)が[Publickey](https://www.publickey1.jp/)に掲載されていて、Dragonfly がかなり気になったので、サクっとインストールして使ってみました。備忘録として残します。

# Dragonfly の概要
Dragonfly は、Linux上で動作するフリーのインメモリデータストアです。スレッドパーコア・アーキテクチャを採用し、低レイテンシーを実現しています。Dragonfly は Redis や Memcached と互換性があります。KeyDBの代替品として適しています。 また、Dragonflyは垂直方向に拡張でき、1つのインスタンスで数百万QPS(queries per second)と数百GBのメモリを処理できます。この Dragonfly は、2022年の最新技術を用いて設計、実装するこ

元記事を表示

最近話題のセキュリティの問題、 Snykで解決!

最近は以下のようなセキュリティの問題が取り上げられることが多くあります。

– Log4Shell, Spring4Shellなどの**OSSライブラリの脆弱性の問題**

– **SQLインジェクション**などによるクレジットカード情報の流出

– **サプライチェーンのセキュリティ問題**、**SBOM**

SQLインジェクションなどの脆弱性は以前から多くあるセキュリティ上の問題でしたが、最近またニュースとしてみることが増えてきているように思われます。

加えて、OSSライブラリの脆弱性の問題やサプライチェーンのセキュリティ問題・SBOMといったものは最近になって注目されるようになったものです。

これらの最近話題のセキュリティの問題を守ろうとすると色々なサービスを組み合わせて、複雑な運用がまた必要になる・・・といったことが考えられますが、実は**Snykだけでこれらの問題を解決することができます!**

## Log4Shell, Spring4ShellなどのOSSライブラリの脆弱性の問題への対策

2021年12月10日に公開されたApache Log4jの脆弱性、通称Lo

元記事を表示

Redmine/MediaWiki/Pleasanter/S3/ファイルサーバを全文検索

# 内容
Redmine、MediaWiki、Pleasanter、Amazon S3、ファイルサーバを一括検索する仕組みをつくってみた

# 背景
* 運用改善の中でいろいろとツールを入れたので運用ツールが増えた
* 各ツールの区分けは出来ているがどこを見るかたまに迷うこともある
* 「情報を探す」という時間を短縮して運用改善につなげたい

# 概要図
* FESSの検索画面からキーワード検索で各システムを一括検索する
* RedmineとPleasanterはPostgresをMediaWikiはMariaDBをデータストアクローラで設定
* S3はそれようのプラグインがあるのでプラグイン追加後、データストアクローラで設定
* ファイルサーバはファイルシステムクローラで設定
* スケジューラ設定で毎日各システムからクローラーで情報を取得してくる

![fess1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523652/9c4b45f6-93a1-ea96-52fa-93d5a34f4095.p

元記事を表示

PipeRiderはdbtの相棒になる

::: note info
本文記載時点は[PipeRider 0.4.1](https://github.com/InfuseAI/piperider)を参考にしています。
:::

## はじめに

PipeRiderはdbtプロジェクトのトランスフォーメーションされたデータモデルをプロファイリングし、dbtのアサーションとPipeRiderのアサーション実行し、結果によってリポートを生成する

### リクワイアメント

範例SQLite Databaseの用意する
“`
curl -o sp500.db https://piperider-data.s3.ap-northeast-1.amazonaws.com/getting-started/sp500_20220401.db
“`

[SQLite adapter for dbt](https://docs.getdbt.com/reference/warehouse-profiles/sqlite-profile)
“`
pip install dbt-sqlite
“`

`dbt-sqlite`用のcryp

元記事を表示

OTHERカテゴリの最新記事