- 1. 【クソアプリ】文字が跳ねまくって収集がつかないエディタを作ってみた 🦘
- 2. 【誰でもできる】自作Gemを作って公開するまでの道のり
- 3. Windows向け Zedビルド手順まとめ
- 4. 私が作成した地震情報通知サービスの紹介
- 5. 初心者がObservabilityの世界を探索してみた:ツール調査まとめ
- 6. オープンソースカンファレンス2024 Tokyo/Fall 参加レポート
- 7. Open Source Summit Japan 2024 に参加しました。(初参加した人編)
- 8. 【Python】メンテナンスしているプロジェクトが壊れないように`cpython`にテストをコントリビュートしたお話
- 9. 大半のOSSに対して速攻でタイポを発見できるワンライナー
- 10. KeycloakでOpenID Connectを使ってSSOを実行(その他のフロー編)
- 11. KeycloakでOpenID Connectを使ってSSOを実行(認可コードフロー編)
- 12. Apache Pulsar Key_Sharedサブスクリプションタイプの嬉しさと課題点、そして解決
- 13. 【Linux】Linus Torvalds、Linuxカーネルからロシア人開発者を追放して騒動に
- 14. oss-licensesを使用してOSSライセンスを表記する
- 15. オープンソースカンファレンス2024 Online Fall 聴講レポート
- 16. OSSライセンスの種類
- 17. 初めてのOSSコントリビュート【vue3, sidebase/nuxt-auth】
- 18. 🐈画面上で猫が邪魔してくださる Rails gem を作って世界を平和にする
- 19. talk-to-the-cityを使ってみた
- 20. どうして我々にはLadybirdが必要なのか
【クソアプリ】文字が跳ねまくって収集がつかないエディタを作ってみた 🦘
こんにちは、とまだです。
[クソアプリ Advent Calendar 2024](https://qiita.com/advent-calendar/2024/kuso-app)、22 日目の記事をお届けします!
突然ですが、みなさんこんな経験ありませんか?
– 「この文章イマイチだな…」と思いながら書いている
– 「どうせボツになるし…」と諦めながら入力している
– 「もう全部消しちゃおうかな…」と考えながらタイピングしているそう、文字を入力することへの**後悔**です。
そこで考えました。
**「最初から文字が散らばるエディターを作れば、後悔する必要がないのでは?」**
むしろ、文字が跳ね回って読めなくなることを**仕様**にしてしまえば、内容を気にする必要すらない!
そんな**クソみたいな発想**から、このエディターは生まれました。
## 💡 できたもの
上の入力欄に文字を入力すると、文字が物理演算で跳ね回ります。
日本語入力にも対応しており、Enter を押すと文字が飛び散ります。
↓ デモ
https://bouncing-edit
【誰でもできる】自作Gemを作って公開するまでの道のり
こんにちは、とまだです。
[Ruby on Rails Advent Calendar 2024](https://qiita.com/advent-calendar/2024/ruby-on-rails)、2 日目の記事をお届けします!
みなさんは、「**自分で Gem を作ってみたい!**」と思ったことはありませんか?
自分が作った Gem(ライブラリ)が世界中の Ruby on Rails アプリで使われるなんて、ちょっとテンション上がりますよね。
そこで、今回は Gem の作り方を**初心者向け**に解説していきたいと思います。
以前、無駄な Gem を作った経験をもとにしているので、よければそちらもご覧ください。
https://qiita.com/tomada/items/579d54283f03a0dc6a9b
## Gem って何?
まずは、そもそも Gem とは何かおさらいしましょう。
Gem とは、Ruby で作られたライブラリやプログラムをパッケージ化したものです。
例えば、以下のようなものが Gem として提供されています。
– **de
Windows向け Zedビルド手順まとめ
# はじめに
2024年1月24日にOSSとなったZedですが、2024年11月時点ではWindowsに対応しておらず各自でビルドする必要があります。ビルド自体は以下公式の通りに進めれば概ね問題ありませんでしたが、筆者は一部詰まった箇所があったので全体を通した手順をまとめておきます。
おそらく同じ個所で詰まる方はいないと思いますが、お役に立てれば幸いです。* [Building Zed for Windows](https://github.com/zed-industries/zed/blob/main/docs/src/development/windows.md)
# 実行環境
* OS : Windows11 Home
* Rust : 1.82.0
* Visual Studio : Visual Studio 2022 Community Edition 17.11.5
* CMaKe : 3.31.0-rc3## はじめに
地震大国である日本において、迅速かつ信頼性の高い地震情報の共有は非常に重要です
本記事では、私が開発した、分散型 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は、それが可能にすること全て、そしてその技術が共同で、オープンに構築さ