crystal-jp / introducing-crystal Goto Github PK
View Code? Open in Web Editor NEW『Introducing Crystal Programming Language』の原稿をまとめたリポジトリです
Home Page: https://crystal-jp.github.io/introducing-crystal/
『Introducing Crystal Programming Language』の原稿をまとめたリポジトリです
Home Page: https://crystal-jp.github.io/introducing-crystal/
若干個人的なものなのですがどこかにまとめておかないと忘れそうなのでここに書いておきます。
動作確認や make test
で使うのも含め、現時点の最新バージョンの 0.24.1
で統一する方針でよいですか?
本で使われているバージョンに関する記載が第1章の項目に入る予定です。
この本がどのバージョンのCrystalを前提にしているかもここに入る。
技術書典4では「Crystalの入門書」のようなものを頒布したいと考えています。
これは、今までの本は実質的にCrystalのtips集のようになっていたのですが、そもそもCrystalのことをよく知らないのにtips集を最初から買っていく人はなかなかいないだろう、ということを技術書典3やコミケへの参加で感じたためです。
もちろん部数を捌くことが重要なのではなく、即売会を通じてCrystalの知名度を高めることが参加の目的だとは思っているのですが、手元に置いてもらえた方が強く記憶に残せるはずです。
また、本の内容も三回も続けると各著者のネタが枯渇してきて、初回・二回目と比較すると全体的な分量が少なくなっています。なので、一度まとまった内容の本を作ることで知識を整理できるのではないかと思います。
このissueでは次のことを議論・確認したいと思います。
また、参加する人はまずこのissueのコメントで宣言してください。
その際にどの部分が書けそうかも一緒に教えてもらえるとありがたいです。
(この辺りからは適宜更新します。)
今のところ考えている目次です。
while
はRubyにはあるけどCrystalにはないねー、みたいな。crystal tool format
とかcrystal tool expand
辺り。option_parser
パッケージとか、その他のサードパーティーのライブラリの使い方を説明するとか。全体で100ページくらいのつもりです。
また、他に次のようなことを考えています。
include
する形にする。/cc @at-grandpa @msky026 @arcage @karupanerura @5t111111 @TobiasGSMollett @nob-suz
CLI ビルダーの
https://github.com/mrrooijen/commander
をinstallしているのですが、crystal tool format
をすると、
Error: '/path/to/techbookfest4/08-cli-development/projects/myecho_commander/lib/commander/spec/commander_spec.cr' has syntax errors
と落ちてしまいます。lib
ディレクトリ配下は format の対象にしないほうが良さそうですね。
ちょっと対策考えます。パッチ思いつく方は大歓迎です!
今はこのリポジトリはtechbookfest4という名前ですが、作ろうとしてる本は技術書典に限らず、Crystalをこれから始める人にとって役に立つものになると思います。
そこで
ことができたらいいな、と思っているのですが、どうでしょうか?
shard のインストールには現状 shard install
と crystal deps
の2パターンが利用できます。
Shards の章では後者を選択しましたが,それぞれの章で shard install
と crystal deps
が混在していると読者の混乱を招きそうです。
可能であればどちらかに統一すべきではないかと思いますがいかがでしょう?
また,もし統一するとしたらどちらを採用しますか?
ちなみに,私が後者を選択したのは
読者に提示するコマンドの数は少ない方が良いのではないか
crystal
コマンドはどうしても出てくるので
Crystal コンパイラのサブコマンドとして実行できることで,標準のパッケージマネージャである点が強調されるのではないか
といった辺りが理由でした。
@crystal-jp/introducing-crystal
著者紹介のページを作りたいので、このissueに下記の内容をコメントしてもらいたいです。
よろしくお願いします。
Related: crystal-lang/crystal#6942
次バージョンのCrystalで、crystal init
した際のテンプレートが一部変更されたので記事中で参照しているプロジェクトもそれに合わせて更新したいです。
合わせて、単にshards
コマンドで依存関係をインストールするように指示していたのがshards install
コマンドを使うように変わったので、記事でもそちらに揃えようかと思っています。
/cc @at-grandpa @msky026 @arcage
「Crystal」の表記ついて、下記が考えられますがいかがでしょうか?
Crystal
Ruby
など)もこの表記。crystal
CRYSTAL
個人的には、「読み物としては Crystal
ですよね」なんですが、一応認識を合わせたほうが良いと思ったのでissueたてました!
実際に困ってるのは (
, )
半角括弧を InvalidSymbol が許容してくれないので、文中に foo(arg)
みたいな記述をしたいとき引っかかるってやつ。
シンボル設定をしてしまうと多分それはちょっと違うので、例外を設定したりすることはできないだろうか??
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.