Learn Ballerina(日本語訳 - 2018/10/28時点)

`gRPC`などの文脈でネットの大海をさまよっていた際に`Ballerina`という言語に出会いました。
(もう元を辿れないのだけど、誰かのMediumポストだったと思う。`gRPC`や`Streming`という文脈で`Ballerina`を紹介していた)

日本でほとんど情報がなかったようなので、公式サイトを読みながら**Learn Ballerina**だけ日本語に翻訳してみました。
翻訳というよりは意訳レベルかも。
ちなみに私の英語レベルは素人クラスなので、誤りなどあればコメント頂けたらと思います。

# Ballerinaを学ぶ (Learn Ballerina)

Ballerinaはシンプルな文法を持つプログラミング言語で、困難なプロットフォーム間の統合の問題に対応します。
Ballerinaは汎用的で並行性、トランザクション、静的であり、テキストとグラフィック両方の構文を持っており、システム統合に特化しています。
分散システム統合の基本的な概念、アイデア、ツールを言語に提供し、そのようなアプリケーションを実装するための型安全で並行した環境を提供します。
これには、分散トランザクション、信頼性の高いメッセージング、ストリーム処理、ワークフロー、コンテナ管理プラットフォームが含まれます。

## インストール (INSTALLATION)

入門(Getting Started)
[Getting Started](https://ballerina.io/learn/getting-started/)には、Ballerinaをダウンロードしてツールをインストールする方法が記載されています。 また、システム要件とアンインストール手順も含まれています。

## Ballerinaを学ぶ (LEARNING BALLERINA)

### Quick Tour
[Quick Tour](https://ballerina.io/learn/quick-tour/)はBallerinaを試す最速の方法です。
このダンサーを回転させスピンしてください！


### Ballerina by Example
[Ballerina by Example](https://ballerina.io/learn/by-example/)は、文法のあらゆるニュアンスをカバーするコメント付きの例を用いて、Ballerinaという言語を段階的に教えてくれます。

### Ballerina by Guide
[Ballerina by Guide](https://ballerina.io/learn/by-guide/)は、IDE構成、パッケージ、依存関係、コーディング、単体テスト、デプロイメント、およびシステム監視を含みながら、完全な開発ライフサイクルを用いて様々なタイプの統合を構築する方法を紹介します。

### Tools, IDEs, and the Ballerina Composer
[Tools, IDEs, and the Ballerina Composer](https://ballerina.io/learn/tools-ides-ballerina-composer/)はコードと図の編集ツールを紹介しています。これには、言語サーバー、エディタ、IDE、およびBallerina Composerというグラフィカルな視覚化ツールが含まれます。

### How to Structure Ballerina Code
[How to Structure Ballerina Code](https://ballerina.io/learn/how-to-structure-ballerina-code/)は、Ballerinaプロジェクトでの開発方法を示し、また、Ballerinaを使用してBallerina packagesをローカル、またはリモートのリポジトリで取得、構築、作成、バージョン、検索、インストールする方法を示していきます。

### How to Test Ballerina Code
[How to Test Ballerina Code](https://ballerina.io/learn/how-to-structure-ballerina-code/)は、テストの作成に役立つビルディングブロックの設定と、テストに使用される一連のツールに関する情報を提供します。

### How to Document Ballerina Code
[How to Document Ballerina Code](https://ballerina.io/learn/how-to-structure-ballerina-code/)は、あなたのBallerinaコードやパッケージのAPIドキュメントを生成するためのガイドラインを示します。

### How to Write Secure Ballerina Services
[How to Write Secure Ballerina Services](https://ballerina.io/learn/how-to-write-secure-ballerina-code/)は、セキュアなBallerianサービスを作成するためのガイドラインを提供するとともに、Ballerina内で利用できるさまざまなセキュリティ機能と操作可能な制御を示します。

### How to Publish Ballerina Packages
[How to Publish Ballerina Packages](https://ballerina.io/learn/how-to-publish-packages/)には、Ballerinaコミュニティにあなたのローカルパッケージを共有するために必要な設定とコマンドが用意されています。

### How to Run and Deploy Ballerina Services
[How to Run and Deploy Ballerina Services](https://ballerina.io/learn/how-to-deploy-and-run-ballerina-programs/)では、あなたが作成したランタイム・サービスの設定方法と、DockerやKubernetesなどを含む、様々なターゲットのデプロイメント成果物を生成する方法の概要を示します。

### How to Observe Ballerina Services
[How to Observe Ballerina Services](https://ballerina.io/learn/how-to-observe-ballerina-code/)では、Ballerinaサービスを観察するために、ロギング、メトリック、トレースを使用する方法について説明します。

### How to Extend Ballerina
[How to Extend Ballerina](https://ballerina.io/learn/how-to-extend-ballerina/)では、開発者と第三者(サードパーティ)がBallerinaの動作を拡張し、これらのカスタマイズを他の人が使用するためにパッケージ化する方法について説明します。

## リファレンス・ドキュメント(REFERENCE DOCUMENTATION)

### Package and API Documentation
[API Documentation](https://ballerina.io/learn/api-docs/)では、プログラムで使用できるバレリーナのネイティブ関数について説明しています。

### Language Specification
[Language Specification](https://ballerina.io/res/Ballerina-Language-Specification-WD-2018-07-12.pdf)は、Ballerinaプログラミング言語を定義する文書であり、その言語を理解、評価、または使用したい人にとって役立ちます。

### Ballerina Streaming Guide
[Ballerina Streaming Guide](https://ballerina.io/learn/ballerina-streaming-reference/)では、Ballerina Streamingのコンセプトとその機能について詳しく説明しています。 これには、Ballerinaストリーミング言語の構文、説明、およびサンプルクエリも含まれます。

### FAQ
Ballerinaについての[よくある質問(Frequently Asked Questions)](https://ballerina.io/learn/faq/)

## EVENTS
[Events page](https://ballerina.io/learn/events)は、今後予定されているウェビナー、ミーティング、バレリーナに関する会議で構成されています。
会議やウェビナーからのビデオやスライドを見るには、[過去のイベント(Past Events)](https://ballerina.io/learn/events/past-events)のページを参照してください。


## ARTICLES AND VIDEOS
* [Ballerinaについて考える](https://medium.com/ballerinalang/conceiving-ballerina-2dadf67c0503)
* [Ballerinaと他のプログラミング言語との違い](https://medium.com/ballerinalang/ballerina-why-it-is-different-from-other-programming-languages-cbdf5f248390)
* [プログラミングステージへのBallerina ダンス](https://dzone.com/articles/ballerina-dances-onto-the-integration-stage)
* [Ballerinaにおけるシーケンス図の作成](https://medium.com/ballerinalang/ballerina-making-sequence-diagrams-work-d0d7b3846a80)
* [Ballerinaの命名について考える](https://medium.com/ballerinalang/ballerina-thinking-about-names-why-restrict-to-english-c1f9803e827)
* [Ballerinaとの一年](https://medium.com/@sanjiva.weerawarana/an-year-of-ballerina-ad0d9251415)
* [統合 vs 統合プログラミング](https://medium.com/@chathura.ekanayake/9e9097983fb)
* [Ballerina コンパイラデザイン](https://medium.com/@sameera.jayasoma/ballerina-compiler-design-3406acc2476c)
* [Ballerina ランタイムの進化](https://medium.com/@sameera.jayasoma/ballerina-runtime-evolution-f82305e4ab8e)
* [ネイティブクライアント接続について知っておくべきことすべて](https://medium.com/@lanka.vitharana/ballerina-native-client-connectors-and-all-you-need-to-know-e76957ca05dd)
* [カスタムネイティブ関数をBallerinaに](https://medium.com/@lanka.vitharana/plug-custom-native-functions-to-ballerina-5bbc2e15b6ac)
* [Ballerinaの識別子リテラルサポート](https://medium.com/@lanka.vitharana/identifier-literals-in-ballerina-makes-it-possible-to-have-spaces-in-identifiers-83336ecb693e)
* [Ballerinaでのあらゆる型のサポート](https://medium.com/@lanka.vitharana/any-type-support-in-ballerina-d9651ac53695)
* [Ballerinaとのデータ統合](https://medium.com/@anupama.pathirage/data-integration-with-ballerina-c5bcf6de49b3)
* [Ballerina SQL Connector - データベースへの接続](https://medium.com/@anupama.pathirage/ballerina-sql-connector-connecting-to-db-ee31a81c8df6)
* [Ballerina SQL Connector - データベース操作の実行](https://medium.com/@anupama.pathirage/ballerina-sql-connector-performing-db-operations-8e555e3688be)
* [Ballerinaとのデータ統合入門](https://dzone.com/articles/introduction-to-data-integration-with-ballerina)
* [TestContainerを使用したBallerinaの統合テストの作成](https://medium.com/@kevinratnasekera/write-integration-tests-for-ballerina-service-running-inside-docker-container-39fbbc20641c)
* [Ballerinaを使ってKafka Brokersとつながる](https://medium.com/@kevinratnasekera/connect-with-kafka-brokers-using-ballerina-6f5f2880b7e8)
* [Ballerina：並行処理を実行！](https://medium.com/@lafernando/ballerina-concurrency-done-right-fa0afa350cb0)
* [Ballerina Microservicesプログラミング言語：最新のリリースと "Ballerina Central"の紹介](https://www.infoq.com/articles/ballerina-microservices-language-part-1)
* [あなたのアプリケーションコードからKubernetes YAMLを生成する](https://dzone.com/articles/yaml-less-kubernetes)