SlideShare une entreprise Scribd logo
1  sur  31
© Hitachi, Ltd. 2021. All rights reserved.
株式会社 日立製作所 OSSソリューションセンタ
2021/10/5
横井 一仁
Hacktoberfest概要、
Node-REDプロジェクト貢献手順
1
© Hitachi, Ltd. 2021. All rights reserved.
横井 一仁 (よこい かずひと)
所属: Node-REDプロジェクトの開発メンバー、
Node-RED User Groupの運営メンバー、
日立製作所 OSSソリューションセンタ
実績: Node-RED貢献ランキング世界4位
世界最大級のカンファレンス登壇3回
• Node+JS Interactive 2018
• Open Source Summit Japan 2020
• OpenJS World 2021
• Node-RED Con 2021も登壇予定
自己紹介
https://www.youtube.com/watch?v=3_7BikDCXk8
Node+JS Interactive登壇の様子
2
© Hitachi, Ltd. 2021. All rights reserved.
本日のイベントが紹介されました
https://hacktoberfest.digitalocean.com/events https://codezine.jp/article/detail/14846
Hacktoberfestのイベントページ CodeZineに掲載して頂いた記事
© Hitachi, Ltd. 2021. All rights reserved.
1. Hacktoberfestとは
2. OSS貢献の体験談
3. 不具合修正の手順
コンテンツ
3
4. ノード部品の日本語化の手順
4
© Hitachi, Ltd. 2021. All rights reserved.
1. Hacktoberfestとは
5
© Hitachi, Ltd. 2021. All rights reserved.
昨年はオンラインで17万名が参加した10月限定のOSS貢献イベント
• Hacktoberfestトピックがある
リポジトリに4つPull requestを出し
マージされると、記念品として
Tシャツとステッカーが贈られる
• リポジトリ管理者にトピックや
ラベルをつけて頂き、
後からHacktoberfestの
対象にして頂く事もできる
Hacktoberfestとは
https://hacktoberfest.digitalocean.com
Hacktoberfest公式ページ
6
© Hitachi, Ltd. 2021. All rights reserved.
10月 11月 12月
2022年
1月
2月
昨年は、以下のスケジュールで進められた
Hacktoberfestイベントのスケジュール
10月31日までに
4件マージ
メールを受信後、
住所を登録
自宅に記念品が届く
7
© Hitachi, Ltd. 2021. All rights reserved.
(1) トップページの”START HACKING”ボタンをクリック
(2) 必要事項(国など)を入力し、説明動画を確認すると、登録完了
(3) コントリビューション状況の画面に行くと、現在の進捗を確認できる
参加登録方法、進捗画面の確認方法
現在の進捗の画面
審査中も
含む進捗
審査中
Hacktoberfest
対象外リポジトリ
14日後に了承されると
Acceptedになる
8
© Hitachi, Ltd. 2021. All rights reserved.
https://github.com/topics/hacktoberfest?q=node-red にアクセスすると
HacktoberfestトピックがついたNode-RED関連のリポジトリを検索できる
Hacktoberfestの対象リポジトリの見つけ方
Node-RED公式、
Node-RED User Group、
産業オートメーションフォーラム
などのリポジトリが存在
Hacktoberfestトピックがついたリポジトリ
9
© Hitachi, Ltd. 2021. All rights reserved.
2. OSS貢献の体験談
10
© Hitachi, Ltd. 2021. All rights reserved.
Node-RED開発者に日本語化したフローエディタを見せたところ、
Pull requestを出してほしいと依頼を頂いたのがきっかけ
OSS貢献のきっかけ
日本語化
してみた
ぜひプルリク
してほしい
マージ
された!
(1) 雑談で提案 (2) プルリクエスト提出
(3) マージ (4) リリースを待つ (5) リリース
自分のコードが
動いている!
11
© Hitachi, Ltd. 2021. All rights reserved.
開発者インタビューで
日本語化の貢献が紹介されました
Node-RED開発者側も嬉しかった
開発インタビューの内容
https://changelog.com/jsparty/95
多言語対応はメッセージを
カタログに移動させるだけの
長く辛い仕事でした。
しかし、それを行ったことで
日立が日本語の翻訳で
開発に参加してくれました。
その後、中国語、韓国語の
翻訳も入りました。
12
© Hitachi, Ltd. 2021. All rights reserved.
• Hacktoberfestは、OSS貢献を気軽に楽しめるイベント
• Node-RED User Groupでは、毎年オンラインで
コミュケーションを取り、Hacktoberfestイベントへ参加
OSS貢献を楽しめるHacktoberfest
https://twitter.com/iganari_/status/1180369486135865344 https://twitter.com/1ft_seabass/status/1319589968705064960
OSS貢献のやりがい SNSで進捗共有 皆で集まり開発
13
© Hitachi, Ltd. 2021. All rights reserved.
• エンジニア同士でお互いに技術を学び、エンジニアとして成長できる
• 全世界のデバイス、クラウド環境で自分のコードが動く達成感
• 国内外で人脈を広げることができる
• 海外の一流のエンジニアから、必要とされると嬉しい
OSSに貢献するメリット
品質
向上
ユーザ
コミュニティ
運営
貢献ルール作成
書籍出版
ロードマップ作成
日本ならではの
貢献が沢山ある
OSS開発者の活動
にも影響できる
開発
コミュニティ
リード
機能開発
日本語対応
14
© Hitachi, Ltd. 2021. All rights reserved.
3. 不具合修正の手順
15
© Hitachi, Ltd. 2021. All rights reserved.
Node-REDでは、以前は表示できていたUIが新バージョンで表示されない時がある
フローエディタの不具合例
https://github.com/node-red/node-red/issues/3045 https://github.com/node-red/node-red/issues/2975
https://github.com/node-red/node-red/issues/1876 https://github.com/node-red/node-red/issues/2946
ノード間の
幅が異なる
HTMLが
表示される
ノード間の
幅が異なる
ノードの色が
黒になる
ボタンが全て
表示されない
-> これらの不具合は、git bisectコマンドで問題が生じたコミットを特定できる
16
© Hitachi, Ltd. 2021. All rights reserved.
git bisectコマンドのウィザードに従って、問題あり/なしを回答するだけで、
二分探索で効率良く不具合が生じたコミットを特定可能
不具合が生じたコミットを特定する方法
問題がある
バージョン
問題がない
バージョン
1回目の
動作確認
(1) git clone https://github.com/node-red/node-red.git; cd node-red
(2) git bisect start 2.0.6 2.0.5
(3) npm install; npm run build; npm start
(4) git bisect good (問題なし) / git bisect bad (問題あり)
-> 以降、(3)(4)の繰り返し
2回目の
動作確認
3回目で
特定
Node-RED v2.0.5~
v2.0.6の間で生じた
不具合を特定する例
17
© Hitachi, Ltd. 2021. All rights reserved.
• 不具合が生じたコミットのソースコードを確認し、不具合を修正
• フォークしたリポジトリに修正したコミットを追加、プルリクエスト提出
不具合修正の例
https://github.com/node-red/node-red/commit/ea2e3f25d8d505a939d97a1d65535e1db9153bd3#diff-
8a2fbcfdd3643b20bce98d34d49bf7f377348565860dd0b9ac9dfc16a85ac0b2R137 https://github.com/node-red/node-
red/commit/372122037fa0ff514d05152c27d60d96110223f5#diff-8a2fbcfdd3643b20bce98d34d49bf7f377348565860dd0b9ac9dfc16a85ac0b2R137
不具合が生じたコミット 修正したコミット
最後のノードの下に
追加する余白が
最初のノードの下に
追加されている 「first」を「last」に修正し、
最後のノードの下に余白を追加
18
© Hitachi, Ltd. 2021. All rights reserved.
• 問題の解決方法が複数ある場合もあるため、修正コードとは別にIssueを投稿
• Issueを確認する人が再現できるように、問題が生じる環境や手順を記載
• 期待する動作、スクリーンショットも貼り付けるも伝わりやすい
• プルリクエストには、Issueの番号を記載して紐づけ
不具合の報告の提出方法
不具合報告 (Issue) の例 プルリクエストの例
https://github.com/node-red/node-red/issues/2946 https://github.com/node-red/node-red/pull/2947
19
© Hitachi, Ltd. 2021. All rights reserved.
4. ノード部品の日本語化の手順
20
© Hitachi, Ltd. 2021. All rights reserved.
• フローライブラリのリンクからGitHubリポジトリを参照可能
• node-red-node-smooth、node-red-node-twilio、node-red-node-redis、
node-red-node-suncalc、node-red-node-exif、node-red-node-openweathermap
などの日本語未対応の公式ノードがお勧め
日本語化で貢献するノードを見つけよう
https://flows.nodered.org/node/node-red-node-exif https://github.com/node-red/node-red-nodes/tree/master/utility/exif
フローライブラリのリンクをクリック 貢献対象のGitHubリポジトリ
21
© Hitachi, Ltd. 2021. All rights reserved.
• ノードプロパティUI (以後、本UIの日本語化の方法を説明)
• 情報タブに表示されるノードのヘルプ
• ステータスに表示するメッセージ
• コンソールに出力するメッセージ
ノードの日本語化できる部分
https://nodered.jp/docs/creating-nodes/i18n
詳細は国際化のドキュメントに
掲載されています
22
© Hitachi, Ltd. 2021. All rights reserved.
(1) Node-REDフローエディタ右上のハンバーガーメニューから、
「パレットの管理」->「パレット」->「ノードを追加」を選択し、
検索窓にノード名を入れて、対象のノードをインストール
(2) .node-redディレクトリ内のnode_modules以下にインストールされる。
日本語化したいノードをNode-REDへインストール
ノードのインストール画面 インストールされたファイル
23
© Hitachi, Ltd. 2021. All rights reserved.
ノードを構成する主なファイル
- package.json
- <ノード名>.js # ランタイム側で実行されるコードのJavaScriptファイル
- <ノード名>.html # エディタ側の外観を記載したHTMLファイル
(ノードプロパティUI、ノードのヘルプ)
- locales
+- en-US
+- <ノード名>.json # ノードプロパティUIのメッセージカタログ(英語)
+- <ノード名>.html # ノードのヘルプ(英語)
+- ja
+- <ノード名>.json # ノードプロパティUIのメッセージカタログ(日本語)
+- <ノード名>.html # ノードのヘルプ(日本語)
- LICENSE
- README.md ※赤色は今回の日本語化での編集対象のファイル
24
© Hitachi, Ltd. 2021. All rights reserved.
ノードのHTMLファイルに記載されているメッセージを変数化し、
ブラウザーの表示言語に応じて日英のメッセージカタログを参照するように修正
ノードの日本語化の修正手順
IP address:
Name:
日本語メッセージ
カタログ
ipaddr: “IPアドレス”,
name: “名前”
英語メッセージ
カタログ
ipaddr:
name:
ipaddr: “IP address”,
name: “Name”
直接記載されている
英語メッセージ
(1)英語メッセージ
部分を変数化
(2)変数と対応する
各言語ファイルを作成
修正前 修正後
ノードの
HTMLファイル
ノードの
HTMLファイル
フローエディタが
自動的に選択
25
© Hitachi, Ltd. 2021. All rights reserved.
英語メッセージ部分を、参照先変数を入れた<span>タグに置き換える
HTMLファイルの修正例
https://github.com/node-red/node-red-nodes/pull/657/files
<span>タグを用いて
置き換える
置き換え対象の
英語メッセージ
26
© Hitachi, Ltd. 2021. All rights reserved.
変数と対応する英語と日本語を記載した、メッセージカタログを作成
メッセージカタログのJSONファイルの作成例
日本語メッセージカタログ
(locales/ja/<ノード名>.json)
英語メッセージカタログ
(locales/en-US/<ノード名>.json)
元の英語
を記載
日本語訳
を記載
27
© Hitachi, Ltd. 2021. All rights reserved.
上手く修正できると言語設定に応じて英語と日本語のメッセージが切り替わる
日本語化されたノードプロパティUI
日本語化されたノードプロパティ
英語のノードプロパティ
英語
メッセージ
日本語
メッセージ
28
© Hitachi, Ltd. 2021. All rights reserved.
• Node-REDプロジェクトのリポジトリは、
Hacktoberfestの対象のため、貢献を始めやすい
• Hacktoberfestのイベントをきっかけとして、OSS貢献をはじめてみよう
まとめ
© Hitachi, Ltd. 2021. All rights reserved. 29
END
Hacktoberfest概要、
Node-REDプロジェクト貢献手順
2021/10/5
株式会社 日立製作所 OSSソリューションセンタ
横井 一仁
30
© Hitachi, Ltd. 2021. All rights reserved.
• Node-RED、Node.jsは、米国その他の諸国における
OpenJS Foundationの登録商標です。
• GitHubは、米国その他の諸国におけるGitHub Inc.の登録商標です。
• その他記載の会社名、製品名などは、
それぞれの会社の商標もしくは登録商標です。
商標について

Contenu connexe

Tendances

Node-REDのノード開発容易化ツール Node generator
Node-REDのノード開発容易化ツールNode generatorNode-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツール Node generatorBMXUG
 
Node-REDの開発に参加しよう
Node-REDの開発に参加しようNode-REDの開発に参加しよう
Node-REDの開発に参加しようnodered_ug_jp
 
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021Atsushi Nakamura
 
Node-REDのロードマップや見どころ
Node-REDのロードマップや見どころNode-REDのロードマップや見どころ
Node-REDのロードマップや見どころBMXUG
 
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Atsushi Nakamura
 
Raspberry PiとWatsonで 音リモコンを開発
Raspberry PiとWatsonで音リモコンを開発Raspberry PiとWatsonで音リモコンを開発
Raspberry PiとWatsonで 音リモコンを開発nodered_ug_jp
 
20211023 node-red con 2021 kitazaki Japanese v1
20211023 node-red con 2021 kitazaki Japanese v120211023 node-red con 2021 kitazaki Japanese v1
20211023 node-red con 2021 kitazaki Japanese v1Ayachika Kitazaki
 
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発Atsushi Nakamura
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデルAtsushi Kojo
 
Enocean無線センサー用ノード開発事例
Enocean無線センサー用ノード開発事例Enocean無線センサー用ノード開発事例
Enocean無線センサー用ノード開発事例nodered_ug_jp
 
WeDX Flow Hands-on
WeDX Flow Hands-onWeDX Flow Hands-on
WeDX Flow Hands-onJingun Jung
 
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考えるAtsushi Nakamura
 
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTest automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTatsuya Ishikawa
 
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介Kazuki Saito
 
Another Visual Studio - Visual Studio for Mac
Another Visual Studio - Visual Studio for MacAnother Visual Studio - Visual Studio for Mac
Another Visual Studio - Visual Studio for MacTomohiro Suzuki
 

Tendances (20)

Node-REDのノード開発容易化ツール Node generator
Node-REDのノード開発容易化ツールNode generatorNode-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツール Node generator
 
Node-REDの開発に参加しよう
Node-REDの開発に参加しようNode-REDの開発に参加しよう
Node-REDの開発に参加しよう
 
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
 
Node-REDのロードマップや見どころ
Node-REDのロードマップや見どころNode-REDのロードマップや見どころ
Node-REDのロードマップや見どころ
 
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
 
Raspberry PiとWatsonで 音リモコンを開発
Raspberry PiとWatsonで音リモコンを開発Raspberry PiとWatsonで音リモコンを開発
Raspberry PiとWatsonで 音リモコンを開発
 
20211023 node-red con 2021 kitazaki Japanese v1
20211023 node-red con 2021 kitazaki Japanese v120211023 node-red con 2021 kitazaki Japanese v1
20211023 node-red con 2021 kitazaki Japanese v1
 
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデル
 
Enocean無線センサー用ノード開発事例
Enocean無線センサー用ノード開発事例Enocean無線センサー用ノード開発事例
Enocean無線センサー用ノード開発事例
 
WeDX Flow Hands-on
WeDX Flow Hands-onWeDX Flow Hands-on
WeDX Flow Hands-on
 
デスクトップ向けUIコンポーネントの対応状況と今後の予定
デスクトップ向けUIコンポーネントの対応状況と今後の予定デスクトップ向けUIコンポーネントの対応状況と今後の予定
デスクトップ向けUIコンポーネントの対応状況と今後の予定
 
GitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみたGitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみた
 
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える
 
ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。
 
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTest automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
 
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
 
GitLabで始めるDevOps入門
GitLabで始めるDevOps入門GitLabで始めるDevOps入門
GitLabで始めるDevOps入門
 
GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
 
Another Visual Studio - Visual Studio for Mac
Another Visual Studio - Visual Studio for MacAnother Visual Studio - Visual Studio for Mac
Another Visual Studio - Visual Studio for Mac
 

Similaire à Hacktoberfest 概要、Node-REDプロジェクト貢献手順

PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...NTT DATA Technology & Innovation
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Takashi Kanai
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)NTT DATA Technology & Innovation
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#Yuta Matsumura
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMFAtomu Hidaka
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をAtsuhiro Kubo
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用賢次 海老原
 
【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集
【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集
【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集日本マイクロソフト株式会社
 
20190219 hyperledger tokyo_meetup_min_bft
20190219 hyperledger tokyo_meetup_min_bft20190219 hyperledger tokyo_meetup_min_bft
20190219 hyperledger tokyo_meetup_min_bftHyperleger Tokyo Meetup
 
解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 UpdateTomokazu Kizawa
 
Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Koyo Takenoshita
 
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Codeどっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio CodeTakashi Okawa
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーションYuta Matsumura
 
.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CDYuta Matsumura
 
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...griddb
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 

Similaire à Hacktoberfest 概要、Node-REDプロジェクト貢献手順 (20)

PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用
 
【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集
【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集
【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集
 
Netmf-180224
Netmf-180224Netmf-180224
Netmf-180224
 
20190219 hyperledger tokyo_meetup_min_bft
20190219 hyperledger tokyo_meetup_min_bft20190219 hyperledger tokyo_meetup_min_bft
20190219 hyperledger tokyo_meetup_min_bft
 
解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update
 
Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下
 
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Codeどっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
 
.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CD
 
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 

Plus de Hitachi, Ltd. OSS Solution Center.

Guide of authentication and authorization for cloud native applications with ...
Guide of authentication and authorization for cloud native applications with ...Guide of authentication and authorization for cloud native applications with ...
Guide of authentication and authorization for cloud native applications with ...Hitachi, Ltd. OSS Solution Center.
 
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩みKeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩みHitachi, Ltd. OSS Solution Center.
 
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...Hitachi, Ltd. OSS Solution Center.
 
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可Hitachi, Ltd. OSS Solution Center.
 
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
 
Challenge to Implementing "Scalable" Authorization with Keycloak
Challenge to Implementing "Scalable" Authorization with KeycloakChallenge to Implementing "Scalable" Authorization with Keycloak
Challenge to Implementing "Scalable" Authorization with KeycloakHitachi, Ltd. OSS Solution Center.
 
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するKeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するHitachi, Ltd. OSS Solution Center.
 
Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?Hitachi, Ltd. OSS Solution Center.
 
What API Specifications and Tools Help Engineers to Construct a High-Security...
What API Specifications and Tools Help Engineers to Construct a High-Security...What API Specifications and Tools Help Engineers to Construct a High-Security...
What API Specifications and Tools Help Engineers to Construct a High-Security...Hitachi, Ltd. OSS Solution Center.
 
Implementing security and availability requirements for banking API system us...
Implementing security and availability requirements for banking API system us...Implementing security and availability requirements for banking API system us...
Implementing security and availability requirements for banking API system us...Hitachi, Ltd. OSS Solution Center.
 
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...Hitachi, Ltd. OSS Solution Center.
 
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...Overall pictures of Identity provider mix-up attack patterns and trade-offs b...
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...Hitachi, Ltd. OSS Solution Center.
 

Plus de Hitachi, Ltd. OSS Solution Center. (20)

Guide of authentication and authorization for cloud native applications with ...
Guide of authentication and authorization for cloud native applications with ...Guide of authentication and authorization for cloud native applications with ...
Guide of authentication and authorization for cloud native applications with ...
 
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩みKeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み
 
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...
 
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
 
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
 
Challenge to Implementing "Scalable" Authorization with Keycloak
Challenge to Implementing "Scalable" Authorization with KeycloakChallenge to Implementing "Scalable" Authorization with Keycloak
Challenge to Implementing "Scalable" Authorization with Keycloak
 
KubeConRecap_nakamura.pdf
KubeConRecap_nakamura.pdfKubeConRecap_nakamura.pdf
KubeConRecap_nakamura.pdf
 
NGINXでの認可について考える
NGINXでの認可について考えるNGINXでの認可について考える
NGINXでの認可について考える
 
Security Considerations for API Gateway Aggregation
Security Considerations for API Gateway AggregationSecurity Considerations for API Gateway Aggregation
Security Considerations for API Gateway Aggregation
 
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するKeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
 
IDガバナンス&管理の基礎
IDガバナンス&管理の基礎IDガバナンス&管理の基礎
IDガバナンス&管理の基礎
 
Keycloakのステップアップ認証について
Keycloakのステップアップ認証についてKeycloakのステップアップ認証について
Keycloakのステップアップ認証について
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
What API Specifications and Tools Help Engineers to Construct a High-Security...
What API Specifications and Tools Help Engineers to Construct a High-Security...What API Specifications and Tools Help Engineers to Construct a High-Security...
What API Specifications and Tools Help Engineers to Construct a High-Security...
 
Implementing security and availability requirements for banking API system us...
Implementing security and availability requirements for banking API system us...Implementing security and availability requirements for banking API system us...
Implementing security and availability requirements for banking API system us...
 
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
 
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...Overall pictures of Identity provider mix-up attack patterns and trade-offs b...
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...
 
Apache con@home 2021_sha
Apache con@home 2021_shaApache con@home 2021_sha
Apache con@home 2021_sha
 

Dernier

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Dernier (9)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

Hacktoberfest 概要、Node-REDプロジェクト貢献手順

  • 1. © Hitachi, Ltd. 2021. All rights reserved. 株式会社 日立製作所 OSSソリューションセンタ 2021/10/5 横井 一仁 Hacktoberfest概要、 Node-REDプロジェクト貢献手順
  • 2. 1 © Hitachi, Ltd. 2021. All rights reserved. 横井 一仁 (よこい かずひと) 所属: Node-REDプロジェクトの開発メンバー、 Node-RED User Groupの運営メンバー、 日立製作所 OSSソリューションセンタ 実績: Node-RED貢献ランキング世界4位 世界最大級のカンファレンス登壇3回 • Node+JS Interactive 2018 • Open Source Summit Japan 2020 • OpenJS World 2021 • Node-RED Con 2021も登壇予定 自己紹介 https://www.youtube.com/watch?v=3_7BikDCXk8 Node+JS Interactive登壇の様子
  • 3. 2 © Hitachi, Ltd. 2021. All rights reserved. 本日のイベントが紹介されました https://hacktoberfest.digitalocean.com/events https://codezine.jp/article/detail/14846 Hacktoberfestのイベントページ CodeZineに掲載して頂いた記事
  • 4. © Hitachi, Ltd. 2021. All rights reserved. 1. Hacktoberfestとは 2. OSS貢献の体験談 3. 不具合修正の手順 コンテンツ 3 4. ノード部品の日本語化の手順
  • 5. 4 © Hitachi, Ltd. 2021. All rights reserved. 1. Hacktoberfestとは
  • 6. 5 © Hitachi, Ltd. 2021. All rights reserved. 昨年はオンラインで17万名が参加した10月限定のOSS貢献イベント • Hacktoberfestトピックがある リポジトリに4つPull requestを出し マージされると、記念品として Tシャツとステッカーが贈られる • リポジトリ管理者にトピックや ラベルをつけて頂き、 後からHacktoberfestの 対象にして頂く事もできる Hacktoberfestとは https://hacktoberfest.digitalocean.com Hacktoberfest公式ページ
  • 7. 6 © Hitachi, Ltd. 2021. All rights reserved. 10月 11月 12月 2022年 1月 2月 昨年は、以下のスケジュールで進められた Hacktoberfestイベントのスケジュール 10月31日までに 4件マージ メールを受信後、 住所を登録 自宅に記念品が届く
  • 8. 7 © Hitachi, Ltd. 2021. All rights reserved. (1) トップページの”START HACKING”ボタンをクリック (2) 必要事項(国など)を入力し、説明動画を確認すると、登録完了 (3) コントリビューション状況の画面に行くと、現在の進捗を確認できる 参加登録方法、進捗画面の確認方法 現在の進捗の画面 審査中も 含む進捗 審査中 Hacktoberfest 対象外リポジトリ 14日後に了承されると Acceptedになる
  • 9. 8 © Hitachi, Ltd. 2021. All rights reserved. https://github.com/topics/hacktoberfest?q=node-red にアクセスすると HacktoberfestトピックがついたNode-RED関連のリポジトリを検索できる Hacktoberfestの対象リポジトリの見つけ方 Node-RED公式、 Node-RED User Group、 産業オートメーションフォーラム などのリポジトリが存在 Hacktoberfestトピックがついたリポジトリ
  • 10. 9 © Hitachi, Ltd. 2021. All rights reserved. 2. OSS貢献の体験談
  • 11. 10 © Hitachi, Ltd. 2021. All rights reserved. Node-RED開発者に日本語化したフローエディタを見せたところ、 Pull requestを出してほしいと依頼を頂いたのがきっかけ OSS貢献のきっかけ 日本語化 してみた ぜひプルリク してほしい マージ された! (1) 雑談で提案 (2) プルリクエスト提出 (3) マージ (4) リリースを待つ (5) リリース 自分のコードが 動いている!
  • 12. 11 © Hitachi, Ltd. 2021. All rights reserved. 開発者インタビューで 日本語化の貢献が紹介されました Node-RED開発者側も嬉しかった 開発インタビューの内容 https://changelog.com/jsparty/95 多言語対応はメッセージを カタログに移動させるだけの 長く辛い仕事でした。 しかし、それを行ったことで 日立が日本語の翻訳で 開発に参加してくれました。 その後、中国語、韓国語の 翻訳も入りました。
  • 13. 12 © Hitachi, Ltd. 2021. All rights reserved. • Hacktoberfestは、OSS貢献を気軽に楽しめるイベント • Node-RED User Groupでは、毎年オンラインで コミュケーションを取り、Hacktoberfestイベントへ参加 OSS貢献を楽しめるHacktoberfest https://twitter.com/iganari_/status/1180369486135865344 https://twitter.com/1ft_seabass/status/1319589968705064960 OSS貢献のやりがい SNSで進捗共有 皆で集まり開発
  • 14. 13 © Hitachi, Ltd. 2021. All rights reserved. • エンジニア同士でお互いに技術を学び、エンジニアとして成長できる • 全世界のデバイス、クラウド環境で自分のコードが動く達成感 • 国内外で人脈を広げることができる • 海外の一流のエンジニアから、必要とされると嬉しい OSSに貢献するメリット 品質 向上 ユーザ コミュニティ 運営 貢献ルール作成 書籍出版 ロードマップ作成 日本ならではの 貢献が沢山ある OSS開発者の活動 にも影響できる 開発 コミュニティ リード 機能開発 日本語対応
  • 15. 14 © Hitachi, Ltd. 2021. All rights reserved. 3. 不具合修正の手順
  • 16. 15 © Hitachi, Ltd. 2021. All rights reserved. Node-REDでは、以前は表示できていたUIが新バージョンで表示されない時がある フローエディタの不具合例 https://github.com/node-red/node-red/issues/3045 https://github.com/node-red/node-red/issues/2975 https://github.com/node-red/node-red/issues/1876 https://github.com/node-red/node-red/issues/2946 ノード間の 幅が異なる HTMLが 表示される ノード間の 幅が異なる ノードの色が 黒になる ボタンが全て 表示されない -> これらの不具合は、git bisectコマンドで問題が生じたコミットを特定できる
  • 17. 16 © Hitachi, Ltd. 2021. All rights reserved. git bisectコマンドのウィザードに従って、問題あり/なしを回答するだけで、 二分探索で効率良く不具合が生じたコミットを特定可能 不具合が生じたコミットを特定する方法 問題がある バージョン 問題がない バージョン 1回目の 動作確認 (1) git clone https://github.com/node-red/node-red.git; cd node-red (2) git bisect start 2.0.6 2.0.5 (3) npm install; npm run build; npm start (4) git bisect good (問題なし) / git bisect bad (問題あり) -> 以降、(3)(4)の繰り返し 2回目の 動作確認 3回目で 特定 Node-RED v2.0.5~ v2.0.6の間で生じた 不具合を特定する例
  • 18. 17 © Hitachi, Ltd. 2021. All rights reserved. • 不具合が生じたコミットのソースコードを確認し、不具合を修正 • フォークしたリポジトリに修正したコミットを追加、プルリクエスト提出 不具合修正の例 https://github.com/node-red/node-red/commit/ea2e3f25d8d505a939d97a1d65535e1db9153bd3#diff- 8a2fbcfdd3643b20bce98d34d49bf7f377348565860dd0b9ac9dfc16a85ac0b2R137 https://github.com/node-red/node- red/commit/372122037fa0ff514d05152c27d60d96110223f5#diff-8a2fbcfdd3643b20bce98d34d49bf7f377348565860dd0b9ac9dfc16a85ac0b2R137 不具合が生じたコミット 修正したコミット 最後のノードの下に 追加する余白が 最初のノードの下に 追加されている 「first」を「last」に修正し、 最後のノードの下に余白を追加
  • 19. 18 © Hitachi, Ltd. 2021. All rights reserved. • 問題の解決方法が複数ある場合もあるため、修正コードとは別にIssueを投稿 • Issueを確認する人が再現できるように、問題が生じる環境や手順を記載 • 期待する動作、スクリーンショットも貼り付けるも伝わりやすい • プルリクエストには、Issueの番号を記載して紐づけ 不具合の報告の提出方法 不具合報告 (Issue) の例 プルリクエストの例 https://github.com/node-red/node-red/issues/2946 https://github.com/node-red/node-red/pull/2947
  • 20. 19 © Hitachi, Ltd. 2021. All rights reserved. 4. ノード部品の日本語化の手順
  • 21. 20 © Hitachi, Ltd. 2021. All rights reserved. • フローライブラリのリンクからGitHubリポジトリを参照可能 • node-red-node-smooth、node-red-node-twilio、node-red-node-redis、 node-red-node-suncalc、node-red-node-exif、node-red-node-openweathermap などの日本語未対応の公式ノードがお勧め 日本語化で貢献するノードを見つけよう https://flows.nodered.org/node/node-red-node-exif https://github.com/node-red/node-red-nodes/tree/master/utility/exif フローライブラリのリンクをクリック 貢献対象のGitHubリポジトリ
  • 22. 21 © Hitachi, Ltd. 2021. All rights reserved. • ノードプロパティUI (以後、本UIの日本語化の方法を説明) • 情報タブに表示されるノードのヘルプ • ステータスに表示するメッセージ • コンソールに出力するメッセージ ノードの日本語化できる部分 https://nodered.jp/docs/creating-nodes/i18n 詳細は国際化のドキュメントに 掲載されています
  • 23. 22 © Hitachi, Ltd. 2021. All rights reserved. (1) Node-REDフローエディタ右上のハンバーガーメニューから、 「パレットの管理」->「パレット」->「ノードを追加」を選択し、 検索窓にノード名を入れて、対象のノードをインストール (2) .node-redディレクトリ内のnode_modules以下にインストールされる。 日本語化したいノードをNode-REDへインストール ノードのインストール画面 インストールされたファイル
  • 24. 23 © Hitachi, Ltd. 2021. All rights reserved. ノードを構成する主なファイル - package.json - <ノード名>.js # ランタイム側で実行されるコードのJavaScriptファイル - <ノード名>.html # エディタ側の外観を記載したHTMLファイル (ノードプロパティUI、ノードのヘルプ) - locales +- en-US +- <ノード名>.json # ノードプロパティUIのメッセージカタログ(英語) +- <ノード名>.html # ノードのヘルプ(英語) +- ja +- <ノード名>.json # ノードプロパティUIのメッセージカタログ(日本語) +- <ノード名>.html # ノードのヘルプ(日本語) - LICENSE - README.md ※赤色は今回の日本語化での編集対象のファイル
  • 25. 24 © Hitachi, Ltd. 2021. All rights reserved. ノードのHTMLファイルに記載されているメッセージを変数化し、 ブラウザーの表示言語に応じて日英のメッセージカタログを参照するように修正 ノードの日本語化の修正手順 IP address: Name: 日本語メッセージ カタログ ipaddr: “IPアドレス”, name: “名前” 英語メッセージ カタログ ipaddr: name: ipaddr: “IP address”, name: “Name” 直接記載されている 英語メッセージ (1)英語メッセージ 部分を変数化 (2)変数と対応する 各言語ファイルを作成 修正前 修正後 ノードの HTMLファイル ノードの HTMLファイル フローエディタが 自動的に選択
  • 26. 25 © Hitachi, Ltd. 2021. All rights reserved. 英語メッセージ部分を、参照先変数を入れた<span>タグに置き換える HTMLファイルの修正例 https://github.com/node-red/node-red-nodes/pull/657/files <span>タグを用いて 置き換える 置き換え対象の 英語メッセージ
  • 27. 26 © Hitachi, Ltd. 2021. All rights reserved. 変数と対応する英語と日本語を記載した、メッセージカタログを作成 メッセージカタログのJSONファイルの作成例 日本語メッセージカタログ (locales/ja/<ノード名>.json) 英語メッセージカタログ (locales/en-US/<ノード名>.json) 元の英語 を記載 日本語訳 を記載
  • 28. 27 © Hitachi, Ltd. 2021. All rights reserved. 上手く修正できると言語設定に応じて英語と日本語のメッセージが切り替わる 日本語化されたノードプロパティUI 日本語化されたノードプロパティ 英語のノードプロパティ 英語 メッセージ 日本語 メッセージ
  • 29. 28 © Hitachi, Ltd. 2021. All rights reserved. • Node-REDプロジェクトのリポジトリは、 Hacktoberfestの対象のため、貢献を始めやすい • Hacktoberfestのイベントをきっかけとして、OSS貢献をはじめてみよう まとめ
  • 30. © Hitachi, Ltd. 2021. All rights reserved. 29 END Hacktoberfest概要、 Node-REDプロジェクト貢献手順 2021/10/5 株式会社 日立製作所 OSSソリューションセンタ 横井 一仁
  • 31. 30 © Hitachi, Ltd. 2021. All rights reserved. • Node-RED、Node.jsは、米国その他の諸国における OpenJS Foundationの登録商標です。 • GitHubは、米国その他の諸国におけるGitHub Inc.の登録商標です。 • その他記載の会社名、製品名などは、 それぞれの会社の商標もしくは登録商標です。 商標について