SlideShare a Scribd company logo
1 of 29
© Hitachi, Ltd. 2020. All rights reserved.
日立製作所 OSSソリューションセンタ
2020/10/23
横井 一仁
Node-REDのノードの日本語化で
OSSコミュニティへ貢献してみよう
© Hitachi, Ltd. 2020. All rights reserved.
横井 一仁 (よこい かずひと)
• GitHub上のNode-REDプロジェクトの開発メンバー
• Node-REDのノード開発ツールNode generatorのメンテナ
• Node-RED日本ユーザー会の運営メンバー
Node-REDプロジェクトのページ
https://github.com/orgs/node-red
自己紹介
1
© Hitachi, Ltd. 2020. All rights reserved.
Node-RED開発者へNode-REDの日本語化を試したことを紹介したところ、
Pull requestを出して欲しいとお願いされ、貢献のきっかけになった。
Node-RED貢献のきっかけ: フローエディタの日本語化
2
多言語対応はメッセージを
カタログに移動させるだけの
長く辛い仕事でした。
しかし、それを行ったことで
日立が日本語の翻訳で
開発に参加してくれました。
その後、中国語、韓国語の
翻訳も入りました。
開発者インタビューの内容
https://changelog.com/jsparty/95
Node-REDの開発ストーリーで
この出来事が紹介されました。
© Hitachi, Ltd. 2020. All rights reserved.
1. Hacktoberfestとは
3
© Hitachi, Ltd. 2020. All rights reserved.
DigitalOcean社、Intel社、DEV社が主催する10月限定のOSS貢献イベント
• Hacktoberfestのトピックがついているリポジトリに4つPull requestを出し、
マージされると、記念品としてTシャツやステッカーが贈られる。
• リポジトリ管理者に、後からトピックやラベルをつけて頂き、
Hacktoberfestの対象にして頂く事もできる。
https://hacktoberfest.digitalocean.com
Hacktoberfestとは
4
© Hitachi, Ltd. 2020. All rights reserved.
(1) トップページの”START HACKING”ボタンをクリック
(2) 必要事項(国など)を入力し、説明動画を確認すると、登録完了
(3) コントリビューション状況の画面に行くと、現在の進捗を確認できる
参加登録方法、進捗画面の確認方法
5
現在の進捗の画面
審査中も
含む進捗
審査中
Hacktoberfest
対象外リポジトリ
14日後に了承されると
Acceptedになる
© Hitachi, Ltd. 2020. All rights reserved.
https://github.com/topics/hacktoberfest にアクセスすると
hacktoberfestトピックがついたリポジトリを検索できる。
Hacktoberfestの対象リポジトリの見つけ方
6
Node-RED公式、
日本Node-REDユーザー会、
産業オートメーションフォーラム、
Nexmo、 MindSphereなどの
リポジトリがHacktoberfestの対象
HacktoberfestトピックがついたNode-RED関連のリポジトリ
© Hitachi, Ltd. 2020. All rights reserved.
2. 日本語化で貢献するノードを見つけよう
7
© Hitachi, Ltd. 2020. All rights reserved.
お気に入りのノードが公式ノードのリポジトリにあるか確認してみよう。
Node-REDプロジェクト公式ノードのGitHubリポジトリ
8
# 種類 GitHubリポジトリ ノードの例
1 追加ノード https://github.com/node
-red/node-red-nodes
node-red-node-smooth、
node-red-node-pi-sense-hat、
node-red-node-serialport、
node-red-node-twilio、
node-red-node-mongodb、
node-red-node-mysql、
node-red-node-redis、
node-red-node-sqlite、
node-red-node-suncalc、
node-red-node-exif
2 ウェブサービスと
接続するためのノード
https://github.com/node
-red/node-red-web-nodes
node-red-node-google、
node-red-node-
openweathermap
3 Node-REDダッシュ
ボード用の追加ノード
https://github.com/node
-red/node-red-ui-nodes
node-red-node-ui-lineargauge、
node-red-node-ui-microphone、
node-red-node-ui-table
© Hitachi, Ltd. 2020. All rights reserved.
サードパーティノードのGitHubリポジトリは、
フローライブラリ(https://flows.nodered.org)のリンクから参照できます。
https://flows.nodered.org/node/node-red-contrib-tensorflow
サードパーティノードのリポジトリ
9
© Hitachi, Ltd. 2020. All rights reserved.
3. ノードを日本語化する手順
10
© Hitachi, Ltd. 2020. All rights reserved.
ローカル環境構築が難しい方は、Google CloudのCloud Shell環境をご準備ください。
(1) Cloud Shell環境にブラウザーからアクセス
https://ssh.cloud.google.com/
(2) Node-REDのインストールと起動
ターミナル上で下記コマンドを実行
$ npm install –g node-red
$ node-red –p 8080
(3) Node-REDフローエディタへアクセス
「ウェブでプレビュー」アイコンをクリック
->「ポート8080でプレビュー」を開く
環境構築1: GCP Cloud ShellにNode-REDをインストール
11
(4) Cloud Shellのエディタ上で
隠しファイルを表示
エディタメニューの「View」
->「Toggle Hidden Files」を選択
->.node-redディレクトリ以下が
表示される
© Hitachi, Ltd. 2020. All rights reserved.
ローカル環境を用いる場合は、下記の通りご準備をお願いします。
(1) Node.jsのインストール
下記サイトからLTSの推奨版Node.jsをダウンロードして、インストール
https://nodejs.org/ja/
(2) Node-REDのインストールと起動
コマンドプロンプト上で下記コマンドを実行
> npm install –g node-red (macOSの場合はターミナル上でsudoを付けて実行)
> node-red
(3) Node-REDフローエディタへアクセス
ブラウザーからhttp://localhost:1880を開く
(4) Visual Studio Codeなどのテキストエディタをインストール
※Node-REDインストール済の環境では、既存環境を壊してしまうかもしれないため
<ユーザーホーム>¥.node-redディレクトリのバックアップをお願いします。
環境構築2: Node-REDとテキストエディタのインストール
12
© Hitachi, Ltd. 2020. All rights reserved.
(1) Node-REDフローエディタ右上のハンバーガーメニューから、
「パレットの管理」->「パレット」->「ノードを追加」を選択し、
検索窓にノード名を入れて、対象のノードをインストール
(2) .node-redディレクトリ内のnode_modules以下にインストールされる。
日本語化したいノードをNode-REDへインストール
13
ノードのインストール画面 インストールされたファイル
© Hitachi, Ltd. 2020. All rights reserved.
ノードで日本語化できる部分は主に以下の4つ
• ノードプロパティUI (以後、本UIの日本語化の方法を説明)
• 情報タブに表示されるノードのヘルプ
• ステータスに表示するメッセージ
• コンソールに出力するメッセージ
https://nodered.jp/docs/creating-nodes/i18n
ノードの日本語化の方法
14
詳細は国際化のドキュメントに
掲載されています
© Hitachi, Ltd. 2020. All rights reserved.
~/.node-red/node_modules/node-red-contrib-<ノード名>に
以下のファイルが配置される。
ノードを構成する主なファイル
15
- package.json
- <ノード名>.js # ランタイム側で実行されるコードのJavaScriptファイル
- <ノード名>.html # エディタ側の外観を記載したHTMLファイル
(ノードプロパティUI、ノードのヘルプ)
- locales
+- en-US
+- <ノード名>.json # ノードプロパティUIのメッセージカタログ(英語)
+- <ノード名>.html # ノードのヘルプ(英語)
+- ja
+- <ノード名>.json # ノードプロパティUIのメッセージカタログ(日本語)
+- <ノード名>.html # ノードのヘルプ(日本語)
- LICENSE
- README.md
※赤色は今回の日本語化での編集対象のファイル
© Hitachi, Ltd. 2020. All rights reserved.
ノードのHTMLファイルに記載されているメッセージを変数化し、ブラウザー
の表示言語に応じ英語と日本語のメッセージカタログを参照する様に修正
ノードの日本語化の修正手順
16
IP address:
Name:
日本語メッセージ
カタログ
ipaddr: “IPアドレス”,
name: “名前”
英語メッセージ
カタログ
ipaddr:
name:
ipaddr: “IP address”,
name: “Name”
直接記載されている
英語メッセージ
(1)英語メッセージ
部分を変数化
(2)変数と対応する
各言語ファイルを作成
修正前 修正後
ノードの
HTMLファイル
ノードのHTMLファイル
フローエディタが
自動的に選択
© Hitachi, Ltd. 2020. All rights reserved.
英語メッセージ部分を、参照先変数を入れた<span>タグに置き換える
https://github.com/node-red/node-red-nodes/pull/657/files
HTMLファイルの修正例
17
Node-REDに用意されている
メッセージを用いるケース
<span>タグを用いて
置き換える典型的なケース
placeholderを
変更するケース
© Hitachi, Ltd. 2020. All rights reserved.
変数と対応する英語と日本語を記載した、メッセージカタログを作成
-> ファイルを編集後、Node-REDをCtrl+cで終了し、再度起動。
その後、ブラウザーをリロードすると、日本語メッセージが表示される。
メッセージカタログのJSONファイルの作成例
18
日本語メッセージカタログ
(locales/ja/<ノード名>.json)
英語メッセージカタログ
(locales/en-US/<ノード名>.json)
元の英語
を記載
日本語訳
を記載
© Hitachi, Ltd. 2020. All rights reserved.
• 多言語対応(日本語、中国語、韓国語など)
• 品質向上(バグ修正、テストケース作成、テストフレームワーク提案)
• Windows対応(macOSのみで開発するケースも多いため
Windowsで動作検証できるノウハウは貴重)
• 性能向上(ボトルネック分析、性能向上方式)
-> 得意な所から貢献を始めてみよう。
取り組みやすい事が分かってきた他の貢献ポイント
19
© Hitachi, Ltd. 2020. All rights reserved.
4. Node-REDプロジェクトで用いているツール紹介
20
© Hitachi, Ltd. 2020. All rights reserved.
Node-RED開発者とユーザーとのリアルタイムなコミュニケーションツール
• generalチャンネルは現在8316名が参加
• プロジェクトを共有するshare-your-projectsチャンネル
• 日本語で議論できるjapanチャンネル
https://nodered.org/slack/
Slack(チャットツール)
21
© Hitachi, Ltd. 2020. All rights reserved.
スクリーンショットやログを貼り付けた説明に向いているため、
主に詳細なバグ報告や新機能提案などに適した掲示板
https://discourse.nodered.org/t/since-version-1-0-japanese-inline-input-has-become-difficult-to-use/19009
https://discourse.nodered.org/t/web-of-things-support-for-node-red-nodegen/6545
フォーラム(掲示板)
22
ユーザーからのバグ報告 新機能提案
© Hitachi, Ltd. 2020. All rights reserved.
カンバンボードを用いて開発の状況を共有
• Node-RED本体の開発では、主にTrelloを使用
• 単体機能やサブプロジェクトの開発では、GitHub projectsを利用
https://trello.com/b/R0O3CSrI/node-red-whiteboard
https://github.com/node-red/node-red/projects/2
Trello、GitHub Projects(カンバン)
23
GitHub projects
Trello
© Hitachi, Ltd. 2020. All rights reserved.
CIツールとしてTravisを利用
テストが成功した場合はGitHubのコミットに緑色のチェックが付く、
失敗した場合は、赤色の×印が付くため、開発者は容易に識別可能
Travis CIの実行結果
https://travis-ci.com/github/kazuhitoyokoi/node-red-contrib-tensorflow
Travis CI(CIツール)
24
異なるOS、異なるバージョンの
Node.jsでのテストをコミット毎に
実行することで品質確保
© Hitachi, Ltd. 2020. All rights reserved.
テストケースがカバーしているカバレッジを確認できるサービスと連携
• コミット毎のカバレッジをサイトから確認可能
• ファイル毎、ディレクトリ毎にカバレッジが上下した部分を確認可能
https://coveralls.io/builds/29407838
Coverall(コードカバレッジ)
25
© Hitachi, Ltd. 2020. All rights reserved. 26
Node-REDのノードの日本語化で
OSSコミュニティへ貢献してみよう
2020/10/23
日立製作所 OSSソリューションセンタ
横井 一仁
END
© Hitachi, Ltd. 2020. All rights reserved.
• GitHub is a registered trademark of GitHub Inc.
• Intel is a registered trademark of Intel Corporation.
• Nexmo is a registered trademark of Nexmo Inc.
• Google is a registered trademark of Google LLC.
• Visual Studio Code and Windows are registered trademarks
of Microsoft Corporation.
• macOS is a registered trademark of Apple Inc.
• Slack is a registered trademark of Slack Technologies, Inc.
• Trello is a registered trademark of Trello, Inc.
• Travis CI is a registered trademark of Travis CI GmbH.
• Coverall is a registered trademark of Coverall North America Inc.
Other brand names and product names used in this material
are trademarks, registered trademarks,
or trade names of their respective holders.
商標について
28

More Related Content

What's hot

Node-REDのノード開発容易化ツール Node generator
Node-REDのノード開発容易化ツールNode generatorNode-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツール Node generatorBMXUG
 
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
 
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフトSettings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフトAtsushi Nakamura
 
Raspberry PiとWatsonで 音リモコンを開発
Raspberry PiとWatsonで音リモコンを開発Raspberry PiとWatsonで音リモコンを開発
Raspberry PiとWatsonで 音リモコンを開発nodered_ug_jp
 
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021Atsushi Nakamura
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデルAtsushi Kojo
 
Enocean無線センサー用ノード開発事例
Enocean無線センサー用ノード開発事例Enocean無線センサー用ノード開発事例
Enocean無線センサー用ノード開発事例nodered_ug_jp
 
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
 
Node-REDをIoTビジネスに適用するために苦労した3つの話
Node-REDをIoTビジネスに適用するために苦労した3つの話Node-REDをIoTビジネスに適用するために苦労した3つの話
Node-REDをIoTビジネスに適用するために苦労した3つの話Tomohiro Nakajima
 
WeDX Flow Hands-on
WeDX Flow Hands-onWeDX Flow Hands-on
WeDX Flow Hands-onJingun Jung
 
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考えるAtsushi Nakamura
 
複数サービスを使う業務の自動化には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
 
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)Akihiro Suda
 
世界一わかりやすいClean Architecture release-preview
世界一わかりやすいClean Architecture release-preview世界一わかりやすいClean Architecture release-preview
世界一わかりやすいClean Architecture release-previewAtsushi Nakamura
 

What's hot (20)

Node-REDのノード開発容易化ツール Node generator
Node-REDのノード開発容易化ツールNode generatorNode-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツール Node generator
 
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
 
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフトSettings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
 
Raspberry PiとWatsonで 音リモコンを開発
Raspberry PiとWatsonで音リモコンを開発Raspberry PiとWatsonで音リモコンを開発
Raspberry PiとWatsonで 音リモコンを開発
 
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデル
 
Enocean無線センサー用ノード開発事例
Enocean無線センサー用ノード開発事例Enocean無線センサー用ノード開発事例
Enocean無線センサー用ノード開発事例
 
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
 
Node-REDをIoTビジネスに適用するために苦労した3つの話
Node-REDをIoTビジネスに適用するために苦労した3つの話Node-REDをIoTビジネスに適用するために苦労した3つの話
Node-REDをIoTビジネスに適用するために苦労した3つの話
 
Hyperledgerプロジェクト概観
Hyperledgerプロジェクト概観Hyperledgerプロジェクト概観
Hyperledgerプロジェクト概観
 
WeDX Flow Hands-on
WeDX Flow Hands-onWeDX Flow Hands-on
WeDX Flow Hands-on
 
GitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみたGitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみた
 
Argo CDについて
Argo CDについてArgo CDについて
Argo CDについて
 
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える
 
複数サービスを使う業務の自動化には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 から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
 
ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。
 
GitLabで始めるDevOps入門
GitLabで始めるDevOps入門GitLabで始めるDevOps入門
GitLabで始めるDevOps入門
 
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
 
世界一わかりやすいClean Architecture release-preview
世界一わかりやすいClean Architecture release-preview世界一わかりやすいClean Architecture release-preview
世界一わかりやすいClean Architecture release-preview
 

Similar to Node-REDのノードの日本語化でOSSコミュニティへ貢献してみよう

ひとりドキュメント担当の仕事を楽しむ
ひとりドキュメント担当の仕事を楽しむひとりドキュメント担当の仕事を楽しむ
ひとりドキュメント担当の仕事を楽しむsoishino
 
PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発konekto
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringYahoo!デベロッパーネットワーク
 
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマットAkihiro Suda
 
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話shigeki_ohtsu
 
日本と世界のDockerコミュニティ
日本と世界のDockerコミュニティ日本と世界のDockerコミュニティ
日本と世界のDockerコミュニティAkihiro Suda
 
Node-REDのロードマップや見どころ
Node-REDのロードマップや見どころNode-REDのロードマップや見どころ
Node-REDのロードマップや見どころBMXUG
 
新しい EditorConfig (IntelliCode)
新しい EditorConfig (IntelliCode)新しい EditorConfig (IntelliCode)
新しい EditorConfig (IntelliCode)m ishizaki
 
ドキュメントの継続的改善―Sphinxを使いながら
ドキュメントの継続的改善―Sphinxを使いながらドキュメントの継続的改善―Sphinxを使いながら
ドキュメントの継続的改善―Sphinxを使いながらsoishino
 
Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)岡田 裕行
 
[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita
[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita
[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki NaritaInsight Technology, Inc.
 
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...Yahoo!デベロッパーネットワーク
 
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Kaz Aiso
 
Rootlessコンテナ
RootlessコンテナRootlessコンテナ
RootlessコンテナAkihiro Suda
 
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...Insight Technology, Inc.
 
Introducing Zend Studio 10 Japanese Edition
Introducing Zend Studio 10 Japanese EditionIntroducing Zend Studio 10 Japanese Edition
Introducing Zend Studio 10 Japanese EditionSatoru Yoshida
 
OSC@京都 2011-07-15
OSC@京都 2011-07-15OSC@京都 2011-07-15
OSC@京都 2011-07-15Hiroshi Bunya
 

Similar to Node-REDのノードの日本語化でOSSコミュニティへ貢献してみよう (20)

ZendStudioのご紹介
ZendStudioのご紹介ZendStudioのご紹介
ZendStudioのご紹介
 
ひとりドキュメント担当の仕事を楽しむ
ひとりドキュメント担当の仕事を楽しむひとりドキュメント担当の仕事を楽しむ
ひとりドキュメント担当の仕事を楽しむ
 
PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
 
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット
 
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話
 
日本と世界のDockerコミュニティ
日本と世界のDockerコミュニティ日本と世界のDockerコミュニティ
日本と世界のDockerコミュニティ
 
Node-REDのロードマップや見どころ
Node-REDのロードマップや見どころNode-REDのロードマップや見どころ
Node-REDのロードマップや見どころ
 
新しい EditorConfig (IntelliCode)
新しい EditorConfig (IntelliCode)新しい EditorConfig (IntelliCode)
新しい EditorConfig (IntelliCode)
 
ドキュメントの継続的改善―Sphinxを使いながら
ドキュメントの継続的改善―Sphinxを使いながらドキュメントの継続的改善―Sphinxを使いながら
ドキュメントの継続的改善―Sphinxを使いながら
 
Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)
 
[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita
[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita
[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita
 
Try IoT with Node-RED
Try IoT with Node-REDTry IoT with Node-RED
Try IoT with Node-RED
 
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
 
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
 
Rootlessコンテナ
RootlessコンテナRootlessコンテナ
Rootlessコンテナ
 
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...
 
Introducing Zend Studio 10 Japanese Edition
Introducing Zend Studio 10 Japanese EditionIntroducing Zend Studio 10 Japanese Edition
Introducing Zend Studio 10 Japanese Edition
 
OSC@京都 2011-07-15
OSC@京都 2011-07-15OSC@京都 2011-07-15
OSC@京都 2011-07-15
 
OSC Kansai@Kyoto
OSC Kansai@KyotoOSC Kansai@Kyoto
OSC Kansai@Kyoto
 

More from 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.
 

More from 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
 

Recently uploaded

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

Recently uploaded (8)

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

Node-REDのノードの日本語化でOSSコミュニティへ貢献してみよう

  • 1. © Hitachi, Ltd. 2020. All rights reserved. 日立製作所 OSSソリューションセンタ 2020/10/23 横井 一仁 Node-REDのノードの日本語化で OSSコミュニティへ貢献してみよう
  • 2. © Hitachi, Ltd. 2020. All rights reserved. 横井 一仁 (よこい かずひと) • GitHub上のNode-REDプロジェクトの開発メンバー • Node-REDのノード開発ツールNode generatorのメンテナ • Node-RED日本ユーザー会の運営メンバー Node-REDプロジェクトのページ https://github.com/orgs/node-red 自己紹介 1
  • 3. © Hitachi, Ltd. 2020. All rights reserved. Node-RED開発者へNode-REDの日本語化を試したことを紹介したところ、 Pull requestを出して欲しいとお願いされ、貢献のきっかけになった。 Node-RED貢献のきっかけ: フローエディタの日本語化 2 多言語対応はメッセージを カタログに移動させるだけの 長く辛い仕事でした。 しかし、それを行ったことで 日立が日本語の翻訳で 開発に参加してくれました。 その後、中国語、韓国語の 翻訳も入りました。 開発者インタビューの内容 https://changelog.com/jsparty/95 Node-REDの開発ストーリーで この出来事が紹介されました。
  • 4. © Hitachi, Ltd. 2020. All rights reserved. 1. Hacktoberfestとは 3
  • 5. © Hitachi, Ltd. 2020. All rights reserved. DigitalOcean社、Intel社、DEV社が主催する10月限定のOSS貢献イベント • Hacktoberfestのトピックがついているリポジトリに4つPull requestを出し、 マージされると、記念品としてTシャツやステッカーが贈られる。 • リポジトリ管理者に、後からトピックやラベルをつけて頂き、 Hacktoberfestの対象にして頂く事もできる。 https://hacktoberfest.digitalocean.com Hacktoberfestとは 4
  • 6. © Hitachi, Ltd. 2020. All rights reserved. (1) トップページの”START HACKING”ボタンをクリック (2) 必要事項(国など)を入力し、説明動画を確認すると、登録完了 (3) コントリビューション状況の画面に行くと、現在の進捗を確認できる 参加登録方法、進捗画面の確認方法 5 現在の進捗の画面 審査中も 含む進捗 審査中 Hacktoberfest 対象外リポジトリ 14日後に了承されると Acceptedになる
  • 7. © Hitachi, Ltd. 2020. All rights reserved. https://github.com/topics/hacktoberfest にアクセスすると hacktoberfestトピックがついたリポジトリを検索できる。 Hacktoberfestの対象リポジトリの見つけ方 6 Node-RED公式、 日本Node-REDユーザー会、 産業オートメーションフォーラム、 Nexmo、 MindSphereなどの リポジトリがHacktoberfestの対象 HacktoberfestトピックがついたNode-RED関連のリポジトリ
  • 8. © Hitachi, Ltd. 2020. All rights reserved. 2. 日本語化で貢献するノードを見つけよう 7
  • 9. © Hitachi, Ltd. 2020. All rights reserved. お気に入りのノードが公式ノードのリポジトリにあるか確認してみよう。 Node-REDプロジェクト公式ノードのGitHubリポジトリ 8 # 種類 GitHubリポジトリ ノードの例 1 追加ノード https://github.com/node -red/node-red-nodes node-red-node-smooth、 node-red-node-pi-sense-hat、 node-red-node-serialport、 node-red-node-twilio、 node-red-node-mongodb、 node-red-node-mysql、 node-red-node-redis、 node-red-node-sqlite、 node-red-node-suncalc、 node-red-node-exif 2 ウェブサービスと 接続するためのノード https://github.com/node -red/node-red-web-nodes node-red-node-google、 node-red-node- openweathermap 3 Node-REDダッシュ ボード用の追加ノード https://github.com/node -red/node-red-ui-nodes node-red-node-ui-lineargauge、 node-red-node-ui-microphone、 node-red-node-ui-table
  • 10. © Hitachi, Ltd. 2020. All rights reserved. サードパーティノードのGitHubリポジトリは、 フローライブラリ(https://flows.nodered.org)のリンクから参照できます。 https://flows.nodered.org/node/node-red-contrib-tensorflow サードパーティノードのリポジトリ 9
  • 11. © Hitachi, Ltd. 2020. All rights reserved. 3. ノードを日本語化する手順 10
  • 12. © Hitachi, Ltd. 2020. All rights reserved. ローカル環境構築が難しい方は、Google CloudのCloud Shell環境をご準備ください。 (1) Cloud Shell環境にブラウザーからアクセス https://ssh.cloud.google.com/ (2) Node-REDのインストールと起動 ターミナル上で下記コマンドを実行 $ npm install –g node-red $ node-red –p 8080 (3) Node-REDフローエディタへアクセス 「ウェブでプレビュー」アイコンをクリック ->「ポート8080でプレビュー」を開く 環境構築1: GCP Cloud ShellにNode-REDをインストール 11 (4) Cloud Shellのエディタ上で 隠しファイルを表示 エディタメニューの「View」 ->「Toggle Hidden Files」を選択 ->.node-redディレクトリ以下が 表示される
  • 13. © Hitachi, Ltd. 2020. All rights reserved. ローカル環境を用いる場合は、下記の通りご準備をお願いします。 (1) Node.jsのインストール 下記サイトからLTSの推奨版Node.jsをダウンロードして、インストール https://nodejs.org/ja/ (2) Node-REDのインストールと起動 コマンドプロンプト上で下記コマンドを実行 > npm install –g node-red (macOSの場合はターミナル上でsudoを付けて実行) > node-red (3) Node-REDフローエディタへアクセス ブラウザーからhttp://localhost:1880を開く (4) Visual Studio Codeなどのテキストエディタをインストール ※Node-REDインストール済の環境では、既存環境を壊してしまうかもしれないため <ユーザーホーム>¥.node-redディレクトリのバックアップをお願いします。 環境構築2: Node-REDとテキストエディタのインストール 12
  • 14. © Hitachi, Ltd. 2020. All rights reserved. (1) Node-REDフローエディタ右上のハンバーガーメニューから、 「パレットの管理」->「パレット」->「ノードを追加」を選択し、 検索窓にノード名を入れて、対象のノードをインストール (2) .node-redディレクトリ内のnode_modules以下にインストールされる。 日本語化したいノードをNode-REDへインストール 13 ノードのインストール画面 インストールされたファイル
  • 15. © Hitachi, Ltd. 2020. All rights reserved. ノードで日本語化できる部分は主に以下の4つ • ノードプロパティUI (以後、本UIの日本語化の方法を説明) • 情報タブに表示されるノードのヘルプ • ステータスに表示するメッセージ • コンソールに出力するメッセージ https://nodered.jp/docs/creating-nodes/i18n ノードの日本語化の方法 14 詳細は国際化のドキュメントに 掲載されています
  • 16. © Hitachi, Ltd. 2020. All rights reserved. ~/.node-red/node_modules/node-red-contrib-<ノード名>に 以下のファイルが配置される。 ノードを構成する主なファイル 15 - package.json - <ノード名>.js # ランタイム側で実行されるコードのJavaScriptファイル - <ノード名>.html # エディタ側の外観を記載したHTMLファイル (ノードプロパティUI、ノードのヘルプ) - locales +- en-US +- <ノード名>.json # ノードプロパティUIのメッセージカタログ(英語) +- <ノード名>.html # ノードのヘルプ(英語) +- ja +- <ノード名>.json # ノードプロパティUIのメッセージカタログ(日本語) +- <ノード名>.html # ノードのヘルプ(日本語) - LICENSE - README.md ※赤色は今回の日本語化での編集対象のファイル
  • 17. © Hitachi, Ltd. 2020. All rights reserved. ノードのHTMLファイルに記載されているメッセージを変数化し、ブラウザー の表示言語に応じ英語と日本語のメッセージカタログを参照する様に修正 ノードの日本語化の修正手順 16 IP address: Name: 日本語メッセージ カタログ ipaddr: “IPアドレス”, name: “名前” 英語メッセージ カタログ ipaddr: name: ipaddr: “IP address”, name: “Name” 直接記載されている 英語メッセージ (1)英語メッセージ 部分を変数化 (2)変数と対応する 各言語ファイルを作成 修正前 修正後 ノードの HTMLファイル ノードのHTMLファイル フローエディタが 自動的に選択
  • 18. © Hitachi, Ltd. 2020. All rights reserved. 英語メッセージ部分を、参照先変数を入れた<span>タグに置き換える https://github.com/node-red/node-red-nodes/pull/657/files HTMLファイルの修正例 17 Node-REDに用意されている メッセージを用いるケース <span>タグを用いて 置き換える典型的なケース placeholderを 変更するケース
  • 19. © Hitachi, Ltd. 2020. All rights reserved. 変数と対応する英語と日本語を記載した、メッセージカタログを作成 -> ファイルを編集後、Node-REDをCtrl+cで終了し、再度起動。 その後、ブラウザーをリロードすると、日本語メッセージが表示される。 メッセージカタログのJSONファイルの作成例 18 日本語メッセージカタログ (locales/ja/<ノード名>.json) 英語メッセージカタログ (locales/en-US/<ノード名>.json) 元の英語 を記載 日本語訳 を記載
  • 20. © Hitachi, Ltd. 2020. All rights reserved. • 多言語対応(日本語、中国語、韓国語など) • 品質向上(バグ修正、テストケース作成、テストフレームワーク提案) • Windows対応(macOSのみで開発するケースも多いため Windowsで動作検証できるノウハウは貴重) • 性能向上(ボトルネック分析、性能向上方式) -> 得意な所から貢献を始めてみよう。 取り組みやすい事が分かってきた他の貢献ポイント 19
  • 21. © Hitachi, Ltd. 2020. All rights reserved. 4. Node-REDプロジェクトで用いているツール紹介 20
  • 22. © Hitachi, Ltd. 2020. All rights reserved. Node-RED開発者とユーザーとのリアルタイムなコミュニケーションツール • generalチャンネルは現在8316名が参加 • プロジェクトを共有するshare-your-projectsチャンネル • 日本語で議論できるjapanチャンネル https://nodered.org/slack/ Slack(チャットツール) 21
  • 23. © Hitachi, Ltd. 2020. All rights reserved. スクリーンショットやログを貼り付けた説明に向いているため、 主に詳細なバグ報告や新機能提案などに適した掲示板 https://discourse.nodered.org/t/since-version-1-0-japanese-inline-input-has-become-difficult-to-use/19009 https://discourse.nodered.org/t/web-of-things-support-for-node-red-nodegen/6545 フォーラム(掲示板) 22 ユーザーからのバグ報告 新機能提案
  • 24. © Hitachi, Ltd. 2020. All rights reserved. カンバンボードを用いて開発の状況を共有 • Node-RED本体の開発では、主にTrelloを使用 • 単体機能やサブプロジェクトの開発では、GitHub projectsを利用 https://trello.com/b/R0O3CSrI/node-red-whiteboard https://github.com/node-red/node-red/projects/2 Trello、GitHub Projects(カンバン) 23 GitHub projects Trello
  • 25. © Hitachi, Ltd. 2020. All rights reserved. CIツールとしてTravisを利用 テストが成功した場合はGitHubのコミットに緑色のチェックが付く、 失敗した場合は、赤色の×印が付くため、開発者は容易に識別可能 Travis CIの実行結果 https://travis-ci.com/github/kazuhitoyokoi/node-red-contrib-tensorflow Travis CI(CIツール) 24 異なるOS、異なるバージョンの Node.jsでのテストをコミット毎に 実行することで品質確保
  • 26. © Hitachi, Ltd. 2020. All rights reserved. テストケースがカバーしているカバレッジを確認できるサービスと連携 • コミット毎のカバレッジをサイトから確認可能 • ファイル毎、ディレクトリ毎にカバレッジが上下した部分を確認可能 https://coveralls.io/builds/29407838 Coverall(コードカバレッジ) 25
  • 27. © Hitachi, Ltd. 2020. All rights reserved. 26 Node-REDのノードの日本語化で OSSコミュニティへ貢献してみよう 2020/10/23 日立製作所 OSSソリューションセンタ 横井 一仁 END
  • 28.
  • 29. © Hitachi, Ltd. 2020. All rights reserved. • GitHub is a registered trademark of GitHub Inc. • Intel is a registered trademark of Intel Corporation. • Nexmo is a registered trademark of Nexmo Inc. • Google is a registered trademark of Google LLC. • Visual Studio Code and Windows are registered trademarks of Microsoft Corporation. • macOS is a registered trademark of Apple Inc. • Slack is a registered trademark of Slack Technologies, Inc. • Trello is a registered trademark of Trello, Inc. • Travis CI is a registered trademark of Travis CI GmbH. • Coverall is a registered trademark of Coverall North America Inc. Other brand names and product names used in this material are trademarks, registered trademarks, or trade names of their respective holders. 商標について 28