Crystal言語のアドベントカレンダーです。 開発盛んなCrystal言語。みなさんも触ってみましょう! https://crystal-lang.org/ http://ja.crystal-lang.org/ https://github.com/crystal-lang/crystal slackもあります↓ https://crystal-jp.slack.com/ 去年のアドベントカレンダーはこちら↓ http://www.adventar.org/calendars/800
はじめに トピック Crystal ← 言語。はやい。Rubyっぽい。 Amethyst ← ウェブアプリケーションフレームワーク。Railsっぽくしたいらしい。 それぞれ導入してさわります。 Crystal歴1日なので理解があやしい点があったらご指摘ください。 レベル観 超入門レベルです。 RubyとRailsの初心者程度の知識を前提とします。 ちなみに筆者はRailsはほぼわかりません。 構成 Crystal導入 Amethyst導入 WebApp作成 Crystal導入 Crystalとは ざっくりいうとRubyっぽい言語で、Rubyよりも型に厳密(静的型チェック)。 実行が早い(コンパイルしてネイティブコードを生成する)そうです。 以下のサイトに丁寧にまとめられていますので参照してください。 Rubyベースの文法で高速に動作するNativeコードにコンパイルされるCrystal言語
概要 Crystalをherokuで使えるようにする手順のログです 久々にCrystal触るからcrenvから実施しています Kemalというのが流行ってるっぽいので使っています 結論 hkdnet/kemal_sample と hkdnet/heroku-buildpack-crystal at build_commands_with_space をつかって https://kemal-sample.herokuapp.com が動いています。 やらないこと herokuのセットアップ手順の解説 Crystal, Kemalの文法解説 手順 crystalのインストール # anyenv経由で実施します anyenv install crenv # ちなみにcrystal以外にshardsというコマンドも入ります(使い方は後述) crenv install 0.11.0 crenv gl
Crystalとは Ruby言語と似た構文を持った、静的型付けができる言語です。 Crystalの目標 ・構文がRubyの影響を受けている。(ほぼRuby言語の構文) ・静的な型のチェックがあるが、変数とメソッドの引数の型を指定しなくてもよい。 ・Crystalのルールに基づいて書かれたC言語のコードを呼び出すことができる。 ・ボイラープレートコード(定型文)を避けるため、コンパイル時間評価とコード生成を持つ。 ・効率的なネイティブコードにコンパイルしてくれる。 記事を書いた理由 公式リファレンスを読んだところ、Crystal特有の構文に加えてRuby言語ではおなじみの構文もしっかり書いてありました。 そこで今回は翻訳も含めてCrystal特有の構文や型指定方法に注目して記述していきます。 公式サイト http://crystal-lang.org 公式リファレンス http://crys
def progress(text = "", window = ["", "", "", ""]) words = ["進捗", "どう", "です", "か"] return text if words == window word = words.sample window << word progress(text + word, window[1,4]) end text = progress puts "#{text}\n#{text.length}文字で煽られました" かどうか進捗どうですです進捗かかかどう進捗かですどうかどうかかか進捗ですかかですですどうですどうですどうか進捗どうです進捗どうかどう進捗かかか進捗かどうです進捗かです進捗か進捗ですですですどうですかかですどうか進捗どうかです進捗進捗進捗ですです進捗ですかかどう進捗ですですどう進捗どうですどうどう進捗進捗進捗どう
crystal rubyライクに書ける 静的型付け golangの有力対抗馬(だと思ってる) コンパイルしてバイナリ実行 作るAPIはDBから引っ張ってきた情報を適当にJSONで返すものです. 今回はユーザの人数を返すだけのAPIを作ります. golang 今回crystalで作った理由として, 普段Rubyを使ってる身としては,GolangはシンプルといえどもCっぽい感じが… 最初はgolangで書いていたけど,crystalで書きなおしてみると書きやすい!と感じたのでこちらで書いてみた. crystalはかなりrubyっぽいので学習コストがとても低い. あと,golangと違ってコア数を増やすことはできないらしい(将来対応する予定だとか). amethyst フルスタックフレームワーク,railsっぽいもの. 今回はAPIサーバなのでこれを使う理由はなかったが,ルーティング周りをさくっ
Crystal で JSON パースするには ? Ruby 風の静的言語 Crystal で JSON をパースするには、以下の 2 つの方法があります。 JSON::Parser を使う方法 JSON::Mapping を使う方法 JSON::Parser は、どんな型が入っているかが未定な JSON に有効な方法で、変換後の型を確かめながら (もしくは強制的に型を変換し) 値を取得します。特に動的言語で有効なアプローチです。 JSON::Mapping は、事前にどのような型が入っているかを定義し、それに従ってパースする方法です。こちらのほうが高速で、変換後の値も扱いやすいのでオススメです。この記事では、こちらを解説します。 JSON::Mapping を使ってパースする方法 今回変換するのは、イベント管理サイト Connpass の API 出力です。 API リファレンス (公式)
はじめに この記事では、無料から使える OpenShift 上に Crystal で作られたアプリケーションを動作させる方法を説明しています。 OpenShift とは ? OpenShift は Red Hat が運営する PaaS (Platform as a Service) です。 Ruby, Python, Node など複数の言語に対応しています。Crytal は正式には対応していませんが、DIY コンテナを使うことにより動作させることができます。 3 つのアプリケーションまで無料で利用でき、試しに利用してみたり、小さなサービスを運用するのに最適です。データベースサーバー (MySQL 等) も無料範囲内で利用できます。 OpenShift 上で Crystal を動かす OpenShift は、何もしない状態では Crystal を動かすことができません。 OpenShift
この記事は Crystal Advent Calendar 2015 の 1 日目の記事です はじめまして。Crystal-JP という Crystal を日本に普及させるための活動をしてます @pine613 と申します。本日から始まる Crystal Advent Calendar 2015 をよろしくお願いします。 本記事は、これから Crystal を始める方向けの情報を集めた記事になっています。 しかし Crystal は開発中の変化が非常に早い言語であるため、以下の記事の内容は古くなっている場合があります。そのため、似たような記事が既に存在する場合 でも 新しく最新の内容で記事 を書いていただけると非常に助かります。 Crystal とは何か Rubyベースの文法で高速に動作するNativeコードにコンパイルされるCrystal言語の情報まとめ #crystal #ruby -
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く