haiju's 開発メモ

開発に必要な情報を自分用にメモ

Crystal のバージョンを上げてみる

使おうと思いながらやれてなかったので、バージョンアップの仕方を忘れる

頭のためにメモφ(ΦωΦ)

今回は、現行の0.20.0から最新の1つ手前の0.23.0にしてみる。

[手順]

1. 現在のバージョンを確認。

% crystal --version]
Crystal 0.20.0 [b0cc6f7] (2016-11-22) 

2. crenvでインストール可能なバージョンを確認。

% crenv install -l
Available versions:
0.5.0
0.5.1
0.5.2
0.5.3
0.5.4
0.5.5
0.5.6
0.5.7
0.5.8
0.5.9
0.5.10
0.6.0
0.6.1
0.7.0
0.7.1
0.7.2
0.7.3
0.7.4
0.7.5
0.7.6
0.7.7
0.8.0
0.9.0
0.9.1
0.10.0
0.10.1
0.10.2
0.11.0
0.11.1
0.12.0
0.13.0
0.14.0
0.14.1
0.14.2
0.15.0
0.16.0
0.17.0
0.17.1
0.17.2
0.17.3
0.17.4
0.18.0
0.18.2
0.18.4
0.18.6
0.18.7
0.19.0
0.19.1
0.19.2
0.19.3
0.19.4
0.20.0
0.20.1
0.20.3
0.20.4
0.20.5
0.21.0
0.21.1
0.22.0
0.23.0
0.23.1

3. 0.23.0をインストール。

% crenv install 0.23.0
Resolving Crystal download URL by Remote Cache ... ok
Downloading Crystal binary tarball ...
https://github.com/crystal-lang/crystal/releases/download/0.23.0/crystal-0.23.0-1-linux-x86_64.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 625 0 625 0 0 1093 0 --:--:-- --:--:-- --:--:-- 1092
100 17.8M 100 17.8M 0 0 2287k 0 0:00:07 0:00:07 --:--:-- 3586k
ok
Moving the Crystal directory ...ok
Checking if Shards already exists ... ng
Resolving Shards download URL ... ok
Downloading Shards tarball ...
https://github.com/crystal-lang/shards/archive/v0.7.1.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 127 0 127 0 0 217 0 --:--:-- --:--:-- --:--:-- 217
100 29722 100 29722 0 0 7738 0 0:00:03 0:00:03 --:--:-- 10819
ok
Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/\G { <-- HERE (.*?) } (?^x:\}\})/ at /home/username/.anyenv/envs/crenv/plugins/crystal-build/bin/../vendor/lib/Text/Caml.pm line 78, <DATA> line 1.
Building Shards ... ok
Copying Shards binary ... ok
Install successful

4. インストールされたバージョンを確認。

% crenv versions
* 0.20.0 (set by /home/username/.anyenv/envs/crenv/version)
0.23.0

5. 0.23.0を使うので有効になるように設定。

% crenv global 0.23.0

※もし、ローカル環境のみに適応したい場合は、global の代わりに

 local と入力して実行。

6. バージョンが0.23.0になったことを確認。

% crystal -v
Crystal 0.23.0 [3c3d3e2] (2017-06-28) LLVM 3.8.1 

 

リモートのリポジトリにdevelopブランチを作成(gitおさらい)

暫くgitで作業してなくてリモートのdevelopブランチ

にローカルからmergeしようとして、masterブランチ

しかねーじゃんって時のおさらい。

他の興味に集中してると咄嗟に思い出せないので

自分用のメモ。

[手順]

1. ローカルのmasterブランチからdevelopブランチ作成

$ git checkout -b develop

2. 必要なファイルをcommitしてリモートにpush

$ git push origin develop

※これと同じ方法でfeatureブランチも適宜。

※不要になったブランチを削除する場合は以下。

 (ex) ローカルのfeatureブランチを削除する

$ git checkout develop

$ git branch -d feature-xxx

[参考サイト]

Gitのリポジトリを新規に作成する手順

sessan.hatenablog.com

ファイルのrequireでつまづいた件についてリベンジ用メモ

去年のAdvent Calendarではギリギリでファイルのrequire

のところがよく分からずに頓挫したけど、PHPと比べると

Ruby syntaxは目に優しいのが気に入ってる理由の一つ

なのでリベンジ用にメモ。

しかし公式ドキュメントに書いてあるということは大きな

見落とし過ぎるな・・・

[参考サイト]

blog.kaneshin.co

ファイルの require | プログラミング言語 Crystal

github.com

github.com

GentooをQuick InstallするのにCalculate LinuxやFuntooを試してみるメモ【情報収集編】

絶好のお仕事日和なのに、全くやる気が起きませんw

で、今月は夏休みの宿題としてRubyライクなプログラミング

言語のCrystalとElixirでWeb及びSocketプログラミングを

マスターする課題を自分に課したので、そのための

環境としてVMGentooをインストールするためのメモ。

(まだ完了してなかったのかw)

黒い画面でインストールするGentooも楽しいけど

全部、希望の環境にするのにあまり時間がないのもあって、

Arch Linux環境をManjaroで楽したように、Gentoo環境

も部分的に黒い画面とCalculate LinuxやFuntooを使って

環境構築にかかる時間を端折ってみる予定。

日本語環境とかでつまづいたら仕方ないけどw

デスクトップ環境の選択肢が豊富にあって、何を入れるか

くらいは決めておかなくちゃな。

[参考サイト]

Calculate Linux 17.6 released - Planet Calculate

www.calculate-linux.org

www.calculate-linux.org

www.calculate-linux.org

www.techphylum.com

distrowatch.com

Calculate Linux - Wikipedia

www.youtube.com

www.youtube.com

www.funtoo.org

インストール - Funtoo

Install - Funtoo

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

forums.funtoo.org

gnu.hatenablog.com

hrysd.hatenablog.com

眠いのでCrystalの復習を書いてみた

去年のCrystalのAdvent Calendarを書いてから暫く放置

していたけど、眠いので隙間時間でHello, world 的なもの

とフィボナッチ数と階乗のサンプルコードを書いてみた。

どうして苦手なフロントエンド周りを実装していると

眠たくなるんだろう?(つωー)zzz

(ex) クラスを使ったHello, world!

class Greeter
    def initialize(@name : String)
    end

    def salute
        puts "Hello #{@name}!"
    end
end

g = Greeter.new("world")
g.salute

(ex) フィボナッチ数

def fibonacci(n)
    return n if n <= 1
    fibonacci(n - 1) + fibonacci(n - 2)
end
puts fibonacci(40)

(ex) 階乗

def factorial(n)
    return 1 if n == 0
    n * factorial(n-1)
end
puts factorial(10)

 [参考サイト]

Compile & run code in

github.com

(翻訳) Why Crystal? | FIVETEESIXONE

fa-works.com

codeiq.jp

codeiq.jp

www.ossnews.jp

liginc.co.jp

www.lanches.co.jp

github.com

Dartを書いてみたよ

英語版のWikipediaで最近、復活したらしいDartのコードを

見て、使ってみたいなーと思ったので、DartPadを使って

Hello,Worldとフィボナッチ数と階乗のプログラムを書いて

みたよ(ΦωΦ)

調査案件の仕事の隙間でw

(ex)Hello, World

void main() {
   print('Hello, World!');
}

(ex)フィボナッチ数

int fib(int n) => (n > 2) ? (fib (n - 1) + fib (n - 2)) : 1;

void main() {

   print('fib(20) = ${fib(20)}')

}

(ex)階乗

int fact(int n) => (n > 0) ? (n * fact (n-1)) : 1;

void main() {

   print('fact(20) = ${fact(20)}');

}

[参考サイト]

Dart (programming language) - Wikipedia

www.dartlang.org

www.dartlang.org

www.dartlang.org

www.dartlang.org

DartPad

 

VMにGentooをインストールする際に必ず覚えておきたいこと

時間が空くと、忘れてしまうのでVirtualboxVMWare

を使う際に覚えておきたいこと。

1. ゲストOSのネットワークアダプタはNATじゃなくてブリッジ。

2. OpenRCでsshサーバを起動する際は、以下。

# service sshd start

3. OpenRCでsshサーバを停止する際は、以下。

# service sshd stop

4. nanoでファイルを書き込む際は、以下。

# nano -w /etc/locale.gen

5. nanoでファイルを保存する際は、以下。

Ctrl + x -> Y + enter 

 [参考サイト]

www.n-study.com

portaltan.hatenablog.com

qiita.com

linux.oboe-gaki.com

OpenStack Docs: OpenStack クライアント環境スクリプトの作成

OpenRC - Gentoo Wiki

www.tapun.net

sites.google.com

techblog.kayac.com