- 1. 英語エラーメッセージ探訪
- 2. SQLBuilderの仕様を考える INSERT仕様検討編
- 3. ライブラリ自体のバグに遭遇したときにとるべき行動
- 4. SQLBuilderの仕様を考える SELECT仕様検討編
- 5. OSSなSNSの開発事情を調べてみた
- 6. SkillCred への 道 〜 Linux Foundation SkillCred (Vim, Bash, Git編)〜
- 7. 分散RedisロックとJedisクライアント
- 8. Github上の最新OSSプロジェクトを自動で紹介するアプリを作った
- 9. CentOSにOpenFOAM v2312をインストール
- 10. TensorFlowの内部構造を理解するために必要なことを考える(備忘録)
- 11. SQLiteのDBをWebAPIにするnpx cliツールを作った
- 12. 有名OSSに軽くIssueを立ててみた話
- 13. 2023年末のElixirが出来ること⑩データ操作ライブラリ編(最新Elixirのキャッチアップと、アドカレのネタ探しに読んでください)
- 14. 25日間のまとめ -OpenChain Japan Advent Calendar 2023-
- 15. yumemi_lints を開発したお話
- 16. 個人ゲーム開発・TRPG関連のOSS
- 17. Automotive Topics 2023
- 18. はじめてのOSSコントリビューション with Snyk
- 19. Elixir OSSハック②【Livebook②】:Livebookコードブロックの実行付近を特定し、改造
- 20. Tokyo Streamlit Meetupイベントリポート
英語エラーメッセージ探訪
# 序
英語でそれっぽいエラーメッセージを書けるようになりたいので、OSSのソースを読むとき、ついでにいろんなエラーメッセージやコメントを収集しています。自分が書くときの参考用に、今までに集めたものから記事を書いてみることにしました。
– 英語が得意じゃないにしても、それなりに伝わるようにメッセージを書けるようになりたいという意図です
– 引用してるものと、私がそれっぽく書いたものが混在しています
– 誤りを見つけたら、ぜひ編集リクエストをください。よろしくお願いします– 主にJavaScript/TypeScript製のフレームワークやライブラリから拾っています
:::note warn
以下には「よく見る」、「あまり見ない」、「多い」など頻度についての言及がありますが、あくまでも私の主観に基づく記述であり、統計など具体的な根拠に基づくものではありません。
:::## エラーが発生しました系
– エラーが発生したことを示したい時に
– 具体的な対応策を追加で提示することが望ましいでしょう
– 異常系が雑に作られてるとトラブル対応で死に
SQLBuilderの仕様を考える INSERT仕様検討編
# 目的
GolangのSQLBuilerを作ってみたくて、仕様を考える。
今回はINSERT文の仕様を考えるが、SELECT+INSERTまで考えると複雑になるので
一旦保留にする# 目指す形
ここではusersというTableに対応したUserというTableモデル構造体がある場合とする。
宣言としては、
“`
CREATE TABLE users (
id int,
name varchar(10)
)CREATE TABLE tokens (
id int,
user_id int REFERENCES users.id,
token varchar(10)
)
“`
を想定する## Insert
パッケージ名は仮でpkとして
“`go
pk.Insert().Into(pk.Table(“users”)).Value(1, “test”)// INSERT INTO users VALUES(1, ‘test’)
“`とすることを考えている。
カラムを限定する場合は
“`go
pk.Insert(“id”).Into(
ライブラリ自体のバグに遭遇したときにとるべき行動
「ライブラリ自体がバグってるなら俺にはもうどうすることもできん!」
「OSS活動なんてごく一部のつよつよエンジニアだけができるんでしょ?」って思っている方も、諦めるのは早いです。
ライブラリ側起因の問題でも解決できるかもしれませんし、もしかしたらライブラリに貢献できるかもしれません。
# 1. 調査
:::note info
まずは問題をよく調査することが重要です。
問題の原因が詳しく理解できているほど、このあとにとれる手段も広がっていきます。
:::## ライブラリのバグなのか見極める
発生している問題が本当にライブラリのバグによるものなのか、自分のコードに問題があるのかを見極める必要があります。
そのためには、自分のプロジェクトのコードをひたすら削っていきながら、**最小限の再現コードを作成**します。
この最小限の再現コードは後で色々と役に立ちます。
## ライブラリのバージョンを変えてみる
ライブラリのあるバージョンから発生した不具合の可能性があります。
**まずはバージョンを最新に**変更して、既に修正済みでないかどうか確認しましょう。
最新バージ
SQLBuilderの仕様を考える SELECT仕様検討編
## 目的
GolangのSQLBuilerを作ってみたくて、仕様を考える。
今回はSELECT文の仕様を考えるが、サブクエリまで考えると複雑になるので
一旦保留にする## 目指す形
ここではusersというTableに対応したUserというTableモデル構造体がある場合とする。
宣言としては、“`sql
CREATE TABLE users (
id int,
name varchar(10)
)CREATE TABLE tokens (
id int,
user_id int REFERENCES users.id,
token varchar(10)
)
“`を想定する
## Select
パッケージ名は仮でpkとして
“`go
pk.Select().From(pk.Table(“users”))// SELECT * FROM users;
“`とすることを考えている。
カラムを限定する場合は
“`go
pk.Select(“id”).From(pk.Table(“users”))// SELECT i
OSSなSNSの開発事情を調べてみた
ここ最近、我らが Twitter が X になってから、なんやかんや X にいつつもどこのサービスに移行しようかと議論されています。
そこで、Twitter に似たオープンソースな SNS がどのような技術で作られているか簡単にまとめました。
Twitter の共同創業者のジャック・ドーシーらが発案した分散型 SNS です。
https://github.com/bluesky-social
[Social-app](https://github.com/bluesky-social) のリポジトリがサービスへ直接関わるリポジトリになります。
– 技術: [React Native](https://r
SkillCred への 道 〜 Linux Foundation SkillCred (Vim, Bash, Git編)〜
こんにちわ。
以前、「[LFCS への道](https://qiita.com/maabou512/items/740a1a2bd3d35c38ddab)」で Linux システム管理者の認定について取り上げました。OSSのジャーニーとして実践的なパフォーマンスベースで「スキルを証明する」ことができるようになり、その選択肢も増えてきました。クラウドネイティブや AI 周りといった新しめの領域も気になるところです、はい。
でも、ワタシはコツコツ型なところもあり、「急がばまわれ」で高度な話は一旦置いておいて(横目でチラ見はしちゃいますけど)、少し新しめの技量認定「**SkillCred**」にトライしてみました。その備忘録的な内容になります。※試験の内容については触れてませんのでご了承ください。
![Screenshot from 2024-01-29 07-47-22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3085729/aa5ff033-2b1e-92b5-dbe7-6aa896ce0
分散RedisロックとJedisクライアント
# はじめに
以前、Redis上でセマフォを実装する必要がありました。驚いたことに、私たちが使用しているJedisクライアントとLettuceクライアントの両方には、それに対する良い準備ができた解決策がないことがわかりました(Redissonにはそのようなものがあります)。
そのため、私はその隙間を埋め、JedisとLettuceの両方のRedisクライアント向けの解決策を提供することにしました。# セマフォが使用したい理由は何ですか?
リソースの相互利用を制限する必要がある状況を想像してみてください。たとえば、バックグラウンドタスクで実行されている重いSQLクエリが全体のサービスパフォーマンスに悪影響を及ぼす可能性がある場合、許可された回数よりも同時にそのクエリが発行されないようにする必要があります。
セマフォを使用することで、共通リソースのクロスプロセス競合状態を解決し、共通リソースへのアクセスを特定の量に制限することができます。# 解決策はこちらです
[RedPulsar](https://github.com/himadieievsv/redpulsar) が、セマフォ
Github上の最新OSSプロジェクトを自動で紹介するアプリを作った
Github上では日々多くのOSS(オープンソースソフトウェア)が生まれていますが、それらをフォローし続けるのは全ての人ができることはありません。また昨今では英語は無論、中国語のOSSプロジェクトも勢いを伸ばしてきています。そういった**言語の壁**を超えた情報提供が為されることを含め、そういった**OSSプロジェクトの見つけにくさ・分かりにくさ等の問題**を緩和させることをゴールに作られたのが、今回ご紹介する「[Open Source DB(オープンソースデータベース)](https://shortener.work/s/opensourcedb3)」です。
> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3666436/ebb10250-613a-54f5-84d8-f5690ab3d0fb.png)
> 「AutoGPT」を紹介するページより。(Open Source DB)
CentOSにOpenFOAM v2312をインストール
この記事は流体解析のオープンソースソフトウェアであるOpenFOAMのバージョンv2312を,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によるものです.リリースされた年月でバージョンがついてるもの,すなわち今回のv2312(2023年12月リリース)は前者のESIのサイトから入手できます.
# インストールの種類
ESIのサイトでは,Windows,Mac,Linuxのバイナリがダウンロードできます.Windowsでは,Windows Subsystem for Linux (
TensorFlowの内部構造を理解するために必要なことを考える(備忘録)
この記事は[OSS Advent Calendar 2023](https://qiita.com/advent-calendar/2023/open_source_software) 20日目の投稿です。
# 概要
TensorFlowの内部構造について理解したら仕事の幅が広がる現場に異動しました。なぜなら、新しい部署では次世代スーパーコンピュータ向けにTensorFlow、PyTorch、scikit-learnを移植するというミッションがあるからです。しかし、公式GitHubのソースコードを一度でも読もうと挑戦された方は気付くと思います。この膨大な量のソースコードをどうやって読めば良いのかと。。。ましてや内部構造を理解するなんて。。。筆者にも答えは有りません。有りませんが、無いなりに仮説を立てて、今後検証していこうと思います。https://github.com/tensorflow/tensorflow
# 何をすべきか?
当然こう書けば、TensorFlowのソースコードを読むという結論に達するでしょう。しかし、いきなりは難しいでしょう。よって筆者はステップアップ方式
SQLiteのDBをWebAPIにするnpx cliツールを作った
## 序
フロントエンドの実験中や、開発の初期の初期、PoCの段階などで、**DBを使いたいんだけどバックエンドを書くのめんどくさい**ってこと、ないでしょうか。私は割とあります。
そこで、SQLiteのDBを即席WebAPIにする開発用ツールを作りました。#### npm
https://www.npmjs.com/package/apifi-sqlite
#### GitHub
https://github.com/kedama-t/apifi-sqlite
## Usage
– `npx`で一撃です。
“`sh
npx apifi-sqlite ./hoge.db 3000
“`– このコマンドを実行すると、`hoge.db`のテーブルごとに、`http://localhost:3000/`以下にエンドポイントが生えます。
– ポートは省略可能で、デフォルトは`3000`です。
– `http://localhost:3000/`にアクセスすると、APIのリストが~~雑に~~出ます。
– ほんとは[Swagger](https://swagger
有名OSSに軽くIssueを立ててみた話
本記事は[Nihon University Advent Calendar 2023](https://qiita.com/advent-calendar/2023/nihon-u)の8日目の記事です。
# はじめ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206692/2b9da12d-cbfd-882b-6466-ae0202b6b6eb.png)[Bun](https://bun.sh/)というOSSにissueを立ててコントリビュートしました。
[Bun](https://bun.sh/)とは以下の引用の通り、テストランナー、バンドラー、トランスパイラー、ランタイムやパッケージマネージャーを兼ね備えているオールインワンのツールです。他のパッケージマネージャーやテストランナーより良いパフォーマンスが出ているとアピールしています。また、Lockfileがバイナリーファイルであるのが特徴的です。
>Develop, test, run, and bundle Java
2023年末のElixirが出来ること⑩データ操作ライブラリ編(最新Elixirのキャッチアップと、アドカレのネタ探しに読んでください)
この記事は、[Elixir Advent Calendar 2023 シリーズ14](https://qiita.com/advent-calendar/2023/elixir) の24日目です
昨日は、 私で [「【TIPS】Elixirでループのbreak」](https://qiita.com/piacerex/items/1472eacf2f1df50138ee) でした
—
【本コラムは、10分で読めます】 ※各ライブラリをお試しいただく場合は各自次第で
[piacere](https://twitter.com/piacere_ex) です、ご覧いただいてありがとございます :bow:
2023年末の時点で、Elixirにいったい何が出来るのかを紐解いていくシリーズで、[前回は「⑨ マイクロサービスライブラリ編」](https://qiita.com/piacerex/items/7e4b15e4dd9a94e58b3b)でしたが、今回は「⑩ データ操作ライブラリ編」です
:::note warn
[① 2023年の新たなライブラリ/FW編](https:/
25日間のまとめ -OpenChain Japan Advent Calendar 2023-
こんにちは!
昨日に続き、3度目の登場の遠藤です。
今年のアドベントカレンダーもいよいよ最終日です。
そこで、本日はこの25日のまとめをやっていきたいと思います。
![IMG_3589.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/537313/de1f863f-4098-ad3a-69b1-f4f14b9aebbb.jpeg)# 生成AIの衝撃
なんといっても2023年のテック業界のキーワードは生成AI(GAI)でしょう。
その可能性についてはここで語るまでもありませんが、そのポテンシャルの高さがゆえにビジネス活用時の課題などもたくさん出てきており、まさに過渡期という感じです。
OSSのライセンスコンプライアンスに関わる課題も出てきているので引き続き私たちも注目していきたいと思います。
[生成AIの知財リスク](https://qiita.com/MasatoENDO/items/c482dde9216385f3dba4)
[生成AIにおけるライセンスリスク及びセキュリティリスク](https:/
yumemi_lints を開発したお話
## はじめに
2023 年 11 月に pub.dev でゆめみ初のパッケージを公開しました。
https://pub.dev/packages/yumemi_lints
https://github.com/yumemi-inc/flutter-yumemi-lints
## [yumemi_lints] の特徴
ざっくり特徴をまとめると次のとおりです。
– Dart / Flutter のバージョンごとのリントルールセットを提供しています
– Dart 2.17 / Flutter 3.0.0 以降の全てのバージョンをサポートしています
– 提供しているリントルールセットは自動生成しています
– 推奨リントルールセット以外に全てのルールが入っているリントルールセットも提供しているため、簡単にカスタマイズできます詳しくは [yumemi_lints] の README をご覧ください。
## 開発することになったきっかけ
個人的には、2022 年 1 月に Flutter ギルドを立ち上げた当初から、会社として pub.dev へ何かパッケージを公開したいと考
個人ゲーム開発・TRPG関連のOSS
https://qiita.com/Subara3/items/c6874fe04504fa7148b3
上の記事でAdvent Currenderに参加したついでに、「身近で自分がお世話になっているOSSって何があるのかな~」と思ってリストアップしてみました。
私の趣味です。# TRPG関連
## BCDice
https://github.com/bcdice/BCDiceDiscordのダイスボットや、各セッションツールで使用されているダイスシステム、BCDice。
## ユドナリウム
https://github.com/TK11235/udonarium
セッションツール、ユドナリウムはオープンソースです。
カードの操作がしやすく、インセインやマーダーミステリーでお世話になっています。# ゲーム制作関連
## godot
https://github.com/godotengine/godotこれは大きいところ、ゲームエンジンgodotはオープンソースです。
## Suika2
https://github.com/suika2engine/s
Automotive Topics 2023
メリークリスマス!
今年2度目に登場の遠藤です。
今回はイベントレポートの一環として、[Open Compliance Summit 2023](https://events.linuxfoundation.org/open-compliance-summit/)の中で行われた[「Automotive Topics 2023」](https://sched.co/1Tbwv)のセッションの紹介となります。
![IMG_3842.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/537313/fcb18773-5185-85a7-fb91-57b30006b71d.jpeg)# OpenChain Automotive WGとは
このセッションは[Open Chain Automotive WG](https://groups.io/g/openchain-automotive-work-group)のメンバーによって行われました。
OpenChain Automotive WGは2019年に私が立ち上げ
はじめてのOSSコントリビューション with Snyk
### メリークリスマスイブ!
こちらは『Snykを使ってコードをセキュアにした記事を投稿しよう! by Snyk Advent Calendar 2023』24日目の記事です。
https://qiita.com/advent-calendar/2023/snyk
## OSS(オープンソースソフトウェア)とは
OSS、つまりオープンソースソフトウェア (Open Source Software)とは、ソフトウェアのソースコードが公開され、利用や改変、再配布を行うことが誰に対しても許可されているソフトウェアです。
たとえばOSだとLinux、プログラミング言語のPerl、ブラウザのfirefoxがOSSです。
最近知ったものだと、TRPGセッションツールの[ユドナリウム](https://github.com/TK11235/udonarium)なんかがオープンソースです。
(マダミナリウムというユドナリウムの派生を教えてもらって、初めて知りました)再配布の許可は必須なのか?
イマイチよく分からないな、なんか定義あるのかな、と思って探していたら、
OSSを管理している
Elixir OSSハック②【Livebook②】:Livebookコードブロックの実行付近を特定し、改造
この記事は、[Elixir Advent Calendar 2023 シリーズ12](https://qiita.com/advent-calendar/2023/elixir) の20日目です
—
[piacere](https://twitter.com/piacere_ex) です、ご覧いただいてありがとございます :bow:
今回も、[前回](https://qiita.com/piacerex/items/8577f0e9a91556feb97c)に引き続き、下記の追体験 … つまり「Livebookの改造」をするコラムで、今回は、Elixirコードを実行できる「Livebookコードブロック」についてハックしていきます
たった1時間の短時間で、
・Livebookホーム画面
・ユーザー設定
・セッション(起動されたNotebookのこと)
・コードエディタ部分
・コード実行部分のハックや改造ができ
Tokyo Streamlit Meetupイベントリポート
この記事は[Snowflake Advent Calendar 2023](https://qiita.com/advent-calendar/2023/snowflake)シリーズ2の23日目です。
みんなでアドベントカレンダーを埋め尽くそうぜ!## Tokyo Streamlit Meetupとは
[Streamlit](https://streamlit.io/)はPython向けのWebアプリケーションフレームワークです。
Streamlitを使うとフロントエンドの知識ゼロでもデータを可視化するためのWebアプリケーションを簡単に作れます。Tokyo Streamlit MeetupはそのStreamlitをテーマにみんなでOSS貢献を体験してみよう!という野心的なイベントで、
Streamlitの共同創業者であるAmanda Kelly氏、[Streamlit Creators](https://streamlit.io/creators)(トップコントリビューター)のYuichiro Tachibana氏が講演をしてくれました。https