- 1. 私が作成した地震情報通知サービスの紹介
- 2. 初心者がObservabilityの世界を探索してみた:ツール調査まとめ
- 3. オープンソースカンファレンス2024 Tokyo/Fall 参加レポート
- 4. Open Source Summit Japan 2024 に参加しました。(初参加した人編)
- 5. 【Python】メンテナンスしているプロジェクトが壊れないように`cpython`にテストをコントリビュートしたお話
- 6. 大半のOSSに対して速攻でタイポを発見できるワンライナー
- 7. KeycloakでOpenID Connectを使ってSSOを実行(その他のフロー編)
- 8. KeycloakでOpenID Connectを使ってSSOを実行(認可コードフロー編)
- 9. Apache Pulsar Key_Sharedサブスクリプションタイプの嬉しさと課題点、そして解決
- 10. 【Linux】Linus Torvalds、Linuxカーネルからロシア人開発者を追放して騒動に
- 11. oss-licensesを使用してOSSライセンスを表記する
- 12. オープンソースカンファレンス2024 Online Fall 聴講レポート
- 13. OSSライセンスの種類
- 14. 初めてのOSSコントリビュート【vue3, sidebase/nuxt-auth】
- 15. 🐈画面上で猫が邪魔してくださる Rails gem を作って世界を平和にする
- 16. talk-to-the-cityを使ってみた
- 17. どうして我々にはLadybirdが必要なのか
- 18. GROWI 7.0.20リリースノート
- 19. オープンソースビルドシステムのNxについて紹介します。
- 20. Railsガイドへコントリビュートするまでの経緯とそこから得られたもの
私が作成した地震情報通知サービスの紹介
## はじめに
地震大国である日本において、迅速かつ信頼性の高い地震情報の共有は非常に重要です
本記事では、私が開発した、分散型 SNS や各種プラットフォームに地震情報を自動投稿するオープンソースプロジェクト「evacuate」を紹介しますhttps://github.com/evacuate/evacuate
## このサービスについて
「evacuate」は、リアルタイムで地震情報を取得し、指定されたサービスに自動的に投稿する TypeScript 製のアプリケーションです
分散型 SNS である Bluesky、Mastodon、Nostr に対応しており、特定のサーバーがダウンしても情報共有が継続されるという利点があります
また、個人用途として Webhook、Slack、Telegram にも対応しています## 主な特徴
– **リアルタイムデータ取得**:WebSocket API を通じて地震データを受信し、即座に処理します
– **多様なプラットフォーム対応**:Bluesky、Mastodon、Nostr、Webhook、Slack、Telegra
初心者がObservabilityの世界を探索してみた:ツール調査まとめ
# はじめに
はじめまして。私は情報システムやサービスの運用に関する研究開発を担当する部署に所属している**新人エンジニア**です。
新卒として今年からITの世界に飛び込んでみたものの、覚えるべき用語や技術が非常に多く、右往左往する毎日を過ごしています。まずはITの用語に馴染み、研究開発に必要な知識を得るためにも、運用業務に欠かせない「**Observability**」について理解を深めることから、この冒険をスタートさせることにしました。
本記事はそんなIT知識ゼロの私が、**CNCFのLandscapeに掲載されていたObservabilityツールについて調査した**内容をまとめたものです。
まずは前提知識をおさらいし、各ツールの紹介をした後に調査して気づいたことについてまとめます。
# 前提知識が分からない…
私が先輩から「まずはCNCFのLandscapeに掲載されているObservabilityのOSSツールについて調査することから始めよう!!!」と提案を受けたとき、
「OSS?」「CNCF??」「Observability???」という疑問符が頭の中を飛
オープンソースカンファレンス2024 Tokyo/Fall 参加レポート
# 1. はじめに
## 1-1. 今回現地参加したイベント
こんにちは。インプリムのhmineです。2024/10/26(土)に浅草で開催された「[**Open Source Conference 2024 Tokyo/Fall**](https://event.ospn.jp/osc2024-fall/)」に現地参加しました。
Open Source Conference(通称:OSC)は20年前から行われている、オープンソースソフトウェアに関わるコミュニティと企業が一体になって開催されるイベントです。(※イベントの説明文は「[OSCクロニクル](https://www.shuwasystem.co.jp/book/9784798072753.html)」のページを参考にしました。)
自社から「[**Pleasanter Users Group**](https://www.pleasanter.org/)」のブース出展(※プリザンターの入手ができるGitHubはこちら👉 https://github.com/Implem/Implem.Pleasanter )、他の出展社様
Open Source Summit Japan 2024 に参加しました。(初参加した人編)
## TL;DL
– Open Source Summit Japanに初参加しました。
– イベント全体の流れ、雰囲気など
– 英語への対策など
– 各講演の感想## 概要
Open Source Summit Japan 2024 に参加してきましたので、その感想文です。
Open Source Summitや、こういった英語でやるイベントに参加するのも初めてなので、全体的な流れや英語関連も触れようと思います。
めちゃくちゃビビりながら参加しましたが、何とかなったので参考になればと思います。https://events.linuxfoundation.org/open-source-summit-japan/
## 全体的な流れ
### 事前
#### 参加登録今回はスポンサー枠として参加しました。
LPI-Japanがイベントのスポンサーで、自分の所属企業がLPI-Japanのスポンサーなので、LPI-Japan分の枠を譲ってもらった形です。
そのため無料でしたが、それ以外の場合は有料で参加することも可能です。
`円アドバンテージ`の場合が多くなると思います
【Python】メンテナンスしているプロジェクトが壊れないように`cpython`にテストをコントリビュートしたお話
## 概要
私はPure PythonでWindowsのCOMとやり取りするためのパッケージである[`comtypes`](https://pypi.org/project/comtypes/)をメンテナンスしています。
このパッケージはPythonの標準ライブラリ[`ctypes`](https://docs.python.org/ja/3/library/ctypes.html)に依存しています。
Python 3.13から`ctypes`に変更が加えられ、`comtypes`はPython 3.12まで動いていた実装では動かなくなってしまいました。
`comtypes`のコード変更により、Pythonバージョン間の互換性を保って動くようにすることができましたが、`ctypes`の変更によってまたこの実装が壊れてしまうことが予想されました。
そこでリグレッションを防止することを目的に、Pythonの本家である[`cpython`リポジトリ](https://github.com/python/cpython)にテストを追加するコントリビュートを行いました。
この記事ではこの顛末と、
大半のOSSに対して速攻でタイポを発見できるワンライナー
## タイポを見つけちゃおう
[typos](https://github.com/crate-ci/typos)を使います。
“`
typos –format brief –color always | ruby -e ‘puts ARGF.readlines.sort_by{|l| l[/`.*?`/].size}’
“`複数行に分けると、
“`
typos –format brief –color always |
ruby -e ‘puts ARGF.readlines.sort_by{|l| l[/`.*?`/].size}’
“`です。これで、大半のOSSに対してタイポを発見できると思います。
これだと、コード本文ではなく、Changelogなどのタイポをたくさん見つけてしまう場合は、[fdコマンド](https://github.com/sharkdp/fd)などを使って、拡張子や除外ディレクトリを指定してみましょう。例えば、以下の例では、Crystalのファイル `.cr` のみを検索し、`lib` ディレクトリを除外します。“`
f
KeycloakでOpenID Connectを使ってSSOを実行(その他のフロー編)
本記事では、KeycloakでOIDCを使いシングルサインオンを実行してみようと思います。
今回は[以前紹介した認可コードフロー](https://qiita.com/kanta-k/private/6d84b66778b47805fc74)以外の以下3つのフローでシングルサインオンを実現してみようと思います。
– インプリシットフロー
– リソースオーナーパスワードクレデンシャル
– クライアントクレデンシャル# インプリシットフローとは
インプリシットフローは、パブリッククライアント(クライアントID・クライアントシークレットを安全に保持できないクライアント)向けの認可フローです。
このフローは認可コードフローと異なり、認可エンドポイントからアクセストークンが付与されたリダイレクトURIをレスポンスとして渡されます。RPはそのURIにアクセスしたのちIDトークンを検証して認証を実施します。
このフローではアクセストークン取得後にサーバサイドとやり取りすることを想定しないため、GETパラメータやPOSTパラメータを連携せずに、ハッシュフラグメントを用いて連携しています。`
KeycloakでOpenID Connectを使ってSSOを実行(認可コードフロー編)
本記事では、KeycloakでOIDCを使いシングルサインオンを実行してみようと思います。
認可にはいくつかの流れ(フロー)があり、今回はその中でも特にセキュアである認可コードフローでシングルサインオンを実現してみようと思います。
# 認可コードフローとは
認可コードフローとは、クライアントID・クライアントシークレットを安全に保存できるアプリ(コンフィデンシャルクライアント)に適したフローです。
ユーザを介さずクライアントとOP(認証基盤)間でのみアクセストークンの受け渡しをするため、アプリケーションユーザにアクセストークンが流出するリスクが低いことが他のフローと比較したときの大きな特徴です。以下は具体的なシーケンス図となります。
“`mermaid
sequenceDiagram
actor User as アプリユーザ
Participant RP as アプリ(Relying Party)
Apache Pulsar Key_Sharedサブスクリプションタイプの嬉しさと課題点、そして解決
## はじめに
> Apache Pulsar is an open-source, distributed messaging and streaming platform built for the cloud.
>
> [Apache Pulsar | Apache Pulsar](https://pulsar.apache.org/)Apache Pulsar(以降、Pulsar)とは、メッセージング・ストリーミングプラットフォームの一種である。
基本的なところは他のドキュメントに譲る。例えば拙著では [メッセージングPF「Apache Pulsar」の使い方(入門編)](https://qiita.com/equanz/items/47aaa70da4ebe8dd3e67) を参考にしていただくと良いかもしれない。本稿では、サブスクリプションタイプのうち Key_Shared についてその嬉しさと課題点を思うままに述べてみる。これは何らかの公式見解などではなく、**あくまで私的な意見**であることに注意されたい。
本稿はPulsarのユーザに向けた機能紹介をするもの
【Linux】Linus Torvalds、Linuxカーネルからロシア人開発者を追放して騒動に
2024/10/18、[Linux Foundation](https://www.linuxfoundation.org/)社員・カーネル開発者である[Greg Kroah-Hartman](https://github.com/gregkh)によってLinuxコアにひとつのcommitが入りました。
# [Remove some entries due to various compliance requirements](https://github.com/torvalds/linux/commit/6e90b675cf942e50c70e8394dfb5862975c3b3b2)
:::note
Remove some entries due to various compliance requirements.
They can come back in the future if sufficient documentation is provided.
:::![01.png](https://qiita-image-store.s3.ap-northeast
oss-licensesを使用してOSSライセンスを表記する
## はじめに
* Androidアプリ開発の際にOSSライセンス表記が必要になる場合がある
* 自動で表示をしてくれるAPIをGoogle公式が提供してくれているため試す
* [オープンソースの通知を含める](https://developers.google.com/android/guides/opensource?hl=ja)## 対象者
この記事の対象者– Androidアプリ開発初学者
## 最低限で実装してみる
### gradle
“` gradle:build.gradle.kts
buildscript {
repositories {
…
google() // maven { url(“https://maven.google.com”) } for Gradle <= 3 } dependencies { ... classpath("com.google.android.gms:oss-licenses-plugin:0.10.6") } plugins { id("com
オープンソースカンファレンス2024 Online Fall 聴講レポート
# 1. はじめに
## 自分とOSSの関わり
こんにちは。インプリムのhmineです。ふだんの業務では、自社の製品である、OSSのノーコード・ローコード開発ツール「[**プリザンター**](https://www.pleasanter.org/)」の機能追加や製品改良を担当しています。
お客様にとって、ノーコード・ローコード開発ツールの選択肢はいろいろとある中でも、「OSSである」ということが、プリザンターのサービス仕様上の大きな特徴です。
OSSであるために、お客様ご自身による実行環境の構築と動作検証が可能であり、しかもコード改変も可能という、個人利用やテック指向の方にとっても嬉しい仕様となっています。:::note info
2024/10/23時点でプリザンターはAGPL-3.0ライセンスに準拠しています。最新の状況は以下GitHubのページをご確認ください。
– **Implem.Pleasanter**
– https://github.com/Implem/Implem.Pleasanter
:::私は約1年前にプリザンターの開発チームにジョインしました
OSSライセンスの種類
# OSSライセンスとは
ソフトウェアの利用許諾契約書(ライセンス)の一種で、ソースコードの入手、利用、改変、再配布等の内容を示したものです。以下のサイトにオープンソースの定義が記述されています。
簡単に言うと
* ソースコードが公開されている
* 再配布、改変してよい
* 誰でも利用してよいというものです。
ライセンスの種類によって条件が増えます。# OSSライセンスの種類
OSSライセンスは大きく3つに分類されます。## 非コピーレフト
+ OSSライセンスのソースをライブラリとして呼び出したソースコードの公開が**不要**
+ OSSライセンスのソースを改造したソースコードの公開が**不要**### MITライセンス
* 商用利用可能(無償かつ無制限に使用可能)
* 利用に伴い作成者はいかなる責任も負わない
* 著作権表示とライセンス条文と無保証である旨をソフトウェアの重要部分(ヘッダ部など)に記載する必要あり
* 複製・改変後のソースコードの公開義務なし### BSDライセンス
*
初めてのOSSコントリビュート【vue3, sidebase/nuxt-auth】
## はじめに
お疲れ様です。お久しぶりです。FAL([X: @fal_engineer](https://x.com/fal_engineer))です。
半年以上前になるんですが、初のOSSコントリビュートを出来たため今更ながら記事に残そうと思います。
**ちなみに自分は英語できません。正直中学レベル未満だと思います。**
いまだにBe動詞の必要性がいまいちわかりません。
たまに外人さんに道を尋ねられたりしますが、完全に日本語で返事しながらパッションによる会話をしています。何とかなります。## この記事の対象読者
– OSSコントリビュートしてみたいが、具体的なネクストアクションが見えず困っている方## きっかけ
当時、本業で自社サービスのフロントエンドのvue2 → vue3(正確にはNuxtBridge → Nuxt3)移行PJを担当させていただいていました。
(⇧実作業内容・選定理由について詳細に記述した記事が[こちら](https://xmart-techblog.hatenablog.com/entry/2024/03/18/110018))⇧の記事にも記述して
🐈画面上で猫が邪魔してくださる Rails gem を作って世界を平和にする
こんにちは、とまだです。
**猫ってかわいいですよね🐈**
私は猫を飼っています。
猫を飼っていると、目の前に猫が出てきて作業の邪魔をされることがありますが、それはそれでご褒美なのです。
ただ、猫アレルギーの人や、猫を飼うことができない環境にいる人にとっては、猫と触れ合う機会がなかなかありません。
そこで私は考えました。
> **誰もが猫に邪魔される幸せを味わえる世界を作りたい!**
この Gem は、そんな世界征服を目指す Ruby on Rails アプリ用の Gem です。
何を言っているか分からないかもしれませんが、**こういうこと**です👇
![画面収録-2024-10-04-19.45.20.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/364501/3ea1765e-93f2-9c3c-a9ec-26572e9bc655.gif)
これであなたの作業も捗ること間違いなしですね!!!!
休日に暇すぎてこの gem をご存知 [RubyGems.org](https:/
talk-to-the-cityを使ってみた
## 概要
– OSS「talk-to-the-city」を試してみました
– 政治の話題ではなく、漫画のコメント分析に使用しました[https://github.com/AIObjectives/talk-to-the-city-reports/tree/main/scatter](https://github.com/AIObjectives/talk-to-the-city-reports/tree/main/scatter)
## talk-to-the-city とは?
「talk-to-the-city」は、多くの意見をクラスタリングや分析できるオープンソースソフトウェア(OSS)です。
> Talk to the City is an open-source LLM interface for improving collective deliberation and decision-making by analyzing detailed, qualitative data. It aggregates responses and arranges si
どうして我々にはLadybirdが必要なのか
インターネットブラウザ自体はたくさんありますが、その本体であるブラウザエンジンは現在3種類しかありません。
すなわちGoogleのChromium、MozillaのGecko、AppleのWebKitです。
かつては独自の実装を持っていたMicrosoftもOperaも、あまりに巨大になったコードベースに自力開発を諦めました。ブラウザエンジンの減少による弊害は様々なところで論じられているのでここでは省略して、以下は新たに登場した第四のブラウザエンジン[Ladybird](https://ladybird.org/)について、開発者Chris Wanstrathによる紹介記事、[Why we need Ladybird](https://ladybird.org/posts/why-ladybird/)の紹介です。
# Why we need Ladybird
Webは現代の最も重要な発明のひとつす。
インターネットの成長に必要不可欠であり、そして我々の生活、仕事、学習、遊びを大きく変えつつあります。
Webは、それが可能にすること全て、そしてその技術が共同で、オープンに構築さ
GROWI 7.0.20リリースノート
[オープンソースのWikiであるGROWI](https://growi.org/ja/)の最新版、7.0.20がリリースされました。大きな変更点はありませんが、リリースノートとして主な変更点を紹介します。
## 改善点
– ドロップダウンリストを有効にしたときの色を変更
– 管理ページの文言を一部修正
– アイコン付きクリップボードコピーボタン追加## 不具合修正
– サイドバーの開閉時にPageControlsが予期せず動いてしまう不具合を修正
– CustomNavTabをレスポンシブ対応に他、幾つかの不具合修正と各種メンテナンスも行われています。詳細は[Release v7.0.20 · weseek/growi](https://github.com/weseek/growi/releases/tag/v7.0.20)を参照してください。
## まとめ
GROWIはオープンソース、かつDocker composeなどで手軽に導入できます。ぜひ社内・研究室・自宅などで利用してみてください。
[OSS開発wikiツールのGROWI | 快適な情報共有を、全ての
オープンソースビルドシステムのNxについて紹介します。
# はじめに
こちらの資料でNxというツールが紹介されていたが、「Nx」ってなんだ?って思ったので、調査した結果を備忘録がてら記載いたします。
なお、本記事はNxとは何か?ということだけ記載しております。
そのため既にNx
– Nxについて知っている
– Nxを使っているという形にとっては既知の内容となりますので、本記事はスルーいただければと思います。
# Nxとは何か?
![Screenshot 2024-09-25 at 0.12.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6280/9d3d7950-c8cf-7171-3e56-2b46be7b6b10.png)
https://nx.dev/
こちらに記載の通り
“`
Build system, optimized for monore
Railsガイドへコントリビュートするまでの経緯とそこから得られたもの
## はじめに
僕はエンジニアになって約1年です。
これまでOSS活動とは無縁だったのですが、ここ1ヶ月くらいでRailsガイドの日本語版・英語版の修正によるOSSコントリビュートが複数回できました。
日本語版(全4件)
https://github.com/yasslab/railsguides.jp/pulls?q=is%3Apr+author%3Akazuyainoue0124+is%3Aclosed+
英語版(全3件)
https://github.com/rails/rails/pulls?q=is%3Apr+author%3Akazuyainoue0124+is%3Aclosed+
どれも誤字脱字を修正しただけですが、この経験を通じてドキュメント修正がOSS活動の第一歩として最適だと肌で感じました。
そこでこの記事では、Railsガイドにコントリビュートするまでの経緯とその過程で得られたものについて、自らの経験をもとにまとめます。
– OSSってなんだか難しそうだけど挑戦してみたい
– ドキュメント修正