GitLabインストール時にはまったこと
GitLabのインストール時にはまったこと
Google Compute Engine の Ubuntu 16.10 上にGitLabをインストールした時にはまったこと。
を見ながらインストールしてたら、gitlab-ceが入らなかった。
$ sudo apt-get install gitlab-ce Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package gitlab-ce
を見てたら、yakketyはいまは使用できないらしい。
$ cat /etc/apt/sources.list.d/gitlab_gitlab-ce.list # this file was generated by packages.gitlab.com for # the repository at https://packages.gitlab.com/gitlab/gitlab-ce deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ yakkety main deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ yakkety main
yakketyをtrustyに変えたらgitlab-ceをインストールできた。
$ cat /etc/apt/sources.list.d/gitlab_gitlab-ce.list # this file was generated by packages.gitlab.com for # the repository at https://packages.gitlab.com/gitlab/gitlab-ce deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty main deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty main
$ sudo apt-get update $ sudo apt-get install gitlab-ce
以上
Node.js事始め
インストール&セットアップ
- https://nodejs.org/ja/から推奨版(このときはV6.9.4)をダウンロードしてくる
- 任意のディレクトリに展開
- アプリを書く
- 実行
※本筋とは関係ないけど、xz形式ファイルの解凍が初めてでやり方わからなかったのですが、xzコマンドなんてあるんですね。
$ xz -dc node-v6.9.4-linux-x64.tar.xz | tar xfv -
アプリは、Node.js公式ページのExampleを参考にしました。
const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World!\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
nodeコマンドで実行。
$ node-v6.9.4-linux-x64/bin/node example.js Server running at http://127.0.0.1:3000/
ブラウザでhttp://127.0.0.1:3000/を開いて、Hello World! が表示されればOK。
GraalVMとTruffle
GraalVM
Graalは、Java Virtual Machine(JVM)用の新しいJITコンパイラです。そしてGraalVMとは、GraalコンパイラをもったJVMです。詳しくは、Oracle Labs GraalVM: Programming Languages and Runtimes Overviewを参照。
Graalは、Javaプログラミング言語以外にも、JavaScriptやRubyなどのスクリプト言語をJVM上で動かす際のJITコンパイラにもなるようです。
ここで、少し触ってみます。Oracle Labが公開しているバイナリをダウンロードします(私は GraalVM preview for Linux (v0.19), Development Kit をダウンロードしました)。ダウンロードするにはOTNアカウントを作る必要があると思います。
まずはJava。
$ ./graalvm/bin/java -version java version "1.8.0_111" Java(TM) SE Runtime Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.71-b01-internal-jvmci-0.23, mixed mode) $ cat A.java class A { public static void main(String[] args) { System.out.println("Hello world!"); } } $ ./graalvm/bin/java A Hello world!
$ ./graalvm/bin/ruby -v jruby 9.1.7.0-SNAPSHOT (2.3.1) 2016-12-07 00938d2 Java HotSpot(TM) 64-Bit Server VM 25.71-b01-internal-jvmci-0.23 on 1.8.0_111-b14 +jit [linux-x86_64] $ cat A.rb print "Hello world!\n" $ ./graalvm/bin/ruby A.rb Hello world!
Truffle
そして、以下のTruffleを使えば、オレオレプログラミング言語を作ってJVM上で動かすことができるらしいです。(んで、JITコンパイルも使える?)
GitHub - graalvm/truffle: The Truffle Language Implementation Framework.
以下がサンプル。これを参考にすれば言語作れるかも。
GitHub - graalvm/simplelanguage: A simple example language built using the Truffle API.
こうやって使える。
$ cat tests/HelloWorld.sl function main() { println("Hello World!"); } $ ./sl tests/HelloWorld.sl == running on Graal Truffle Runtime Hello World!
やってみたいけど、まだまだ調べが必要かな・・・