JuliaのWebフレームワークGenieでWebアプリを作成する準備
Manjaro GNOME 18.0_x86-64_stableにインストール済みの
Julia 1.0.3を利用し、WebフレームワークのGenieをインストール
し、Webアプリを作成する準備をしてみた。
まずは、Genieをインストールしてアプリのプロジェクトテンプ
レートを作成するところまでを実行する。
[手順]
1. Genieで作成するアプリのプロジェクトを作成し移動。
※ここでは、~/workspace以下で作成するものとする。
% mkdir todolist && cd todolist
2. Juliaを起動しパッケージマネージャーのPkgを使えるようにする。
% julia
julia>
julia> import Pkg
(または、using Pkgで宣言)
3. Genieをgithubから取得。以下コマンドを実行するとGenieの
実行に必要なファイルやライブラリがインストールされる。
julia> Pkg.add("https://github.com/essenciary/Genie.jl")
※参考にしたQiitaのページでは、Pkg.cloneを使うように
説明されているが、現在はPkg.addを使うようにという
メッセージが出力されるので従う。
4. Genieを使うように宣言。
julia> using Genie
5. Genie でプロジェクトテンプレートを作成。
julia> Genie.REPL.new_app("todolist")
6. 多少のエラーは発生するが5の作成に成功すると、内部
アプリケーションサーバーが起動するので、ブラウザから
以下URLにアクセス。
[2019-01-23 17:36:28|info]: Starting your brand new Genie app - hang tight!
_____ _
| __|___ ___|_|___
| | | -_| | | -_|
|_____|___|_|_|_|___|
Starting Genie in >> DEV << mode[ Info: Precompiling OhMyREPL [5fb14364-9ced-5910-84b2-373655c76a03]
[2019-01-23 17:36:50|info]: Web server running at 127.0.0.1:8000
[ Info: Listening on: Sockets.InetAddr{Sockets.IPv4}(ip"127.0.0.1", 0x1f40)
7. Genie公式のTopページが表示できればOK。
※次でディレクトリについて詳しく見ていくが、パラパラと
似ている。
[参考サイト]
Manjaro GNOME 18.0_x86-64にPureScript開発環境を構築
仕事先の個人用PCのローカルのVMに家のWindows10の
開発環境構築を演習する環境を作成している。
そこでもPureScript開発環境を構築してみたので、それ
を備忘録としてメモってみる(Φω|
[手順]
1. npmでPureScript本体をインストール。
% npm i -g purescript
% purs --version
0.12.2
2. npmでpulpとpsc-packageをインストール。
% npm i -g pulp psc-package
% pulp --version
Pulp version 12.3.1
purs version 0.12.2 using /home/haiju/.nvm/versions/node/v10.15.0/bin/purs% psc-package --version
0.5.1
3. サンプルプログラム「Hello, world!」をコンソールに表示する
プロジェクトを作成し移動。
※~/workspace/ に作成。
% cd workspace
% mkdir hello
% cd hello
4. pulpとpsc-packageでテンプレートを作成し実行。
% pulp --psc-package init; pulp run
(以下略)
* Build successful.
Hello sailor!
5. 4で実行したMain.purの出力部分をHello,world!に書き換え。
% vim src/Main.purs
module Main where
import Prelude
import Effect (Effect)
import Effect.Console (log)main :: Effect Unit
main = do
log "Hello sailor!" --- ここを"Hello, world!" に変更
6. 5を保存してビルド。
% pulp build
* Building project in /home/haiju/workspace/hello
Compiling Main
* Build successful.
7. テストコードを実行。
% pulp test
* Building project in /home/haiju/workspace/hello
Compiling Test.Main
* Build successful.
* Running tests...
You should add some tests.
* Tests OK.※ちなみに実行ファイルは ~/workspace/hello/test/Main.purs
8. 実行。
% pulp run
* Building project in /home/haiju/workspace/hello
* Build successful.
Hello, world!
※ちなみにインストールするのに一番簡単な方法は、Haskellの
ビルドツールのstackを利用した方法というのをnpmでインストール
中に公式ドキュメントの下の方を読んでて気がついたw
[参考サイト]
purescript/INSTALL.md at master · purescript/purescript · GitHub
psc-package/index.rst at master · purescript/psc-package · GitHub
Arch-OpenRCとManjaro-OpenRCプロジェクトからforkしたArtix Linuxについて
タイルマネージャーi3の使い方とカスタマイズ
BitZeny専用環境をUSBメモリ(64GB) でportable-virtualbox
にManjaro-i3 18.0 stableをインストールして運用していこう
と考えているので、一度チャレンジしたけど使いこなすには
至らなかった、i3の使い方とtipsを備忘録としてメモっておく。
[参考サイト]
BitZeny専用の環境を構築する案
BitZenyは同期に時間がかかるので、既存のLinux環境
にインストールするより、専用環境をUSBメモリ等
に構築しておきたいよなーと考えている。
案としては2つあって、1つはUSBメモリにPortable VirtualBox
をインストールして持ち運び可能な仮想環境として構築する。
もう1つは、USBメモリにBitZeny専用のLinux環境をインストール
して運用する。
いずれにしても、USBメモリは最低32GB以上(あれば64GB)あたり
を狙っている。
UEFIでインストールするか否か?
OpenboxかLXDEかi3辺りにしようかなーと。
これ以外に、LiveUSBでBitZenyだけインストールして使う方法も
あるっちゃあるけど、1か2の方法がいいなー(Φω|
[参考サイト]
1. USBメモリにPortable VirtualBoxを導入して仮想環境として運用
2. USBメモリにLinuxをインストールしてその中だけで運用。
Manjaro GNOME 18.0_x86-64でnvm is not compatible with the npm config "prefix"
タイトルのエラーメッセージでググったら、やたらとMacの場合で
現象が確認されているが、こちらはLinuxで発生。
が、解決方法は同様の内容を実行すれば、なんとかなったので
手順を備忘録として、まとめる。
[手順]
1. 以下コマンドを実行。
% nvm run node --version
2. 1を実行後、下記エラーメッセージ。
nvm is not compatible with the npm config "prefix" option: currently set to "/home/haiju/.npm"
Run `nvm use --delete-prefix v10.15.0 --silent` to unset it.
Running node v10.15.0
[解決策]
1. 下記コマンドを実行。
% `nvm use --delete-prefix v10.15.0 --silent`
2. [手順]1のコマンドを再実行。
% nvm run node --version
Running node v10.15.0 (npm v6.4.1)
v10.15.0
3. [手順]2のエラーメッセージが出力されないことを確認。
[参考サイト]
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
https://docs.npmjs.com/downloading-and-installing-packages-globally
Manjaro GNOME 18.0_x86-64でelm-dev-envインストール実行エラー
elm-dev-envのREADME.mdの通りにインストールを実行
してみたら、エラーが発生したので、あとで詳しく調査する
ためにメモしておく(Φω|
[手順]
1. elm-dev-envをgit clone。
% git clone https://github.com/ababup1192/elm-dev-env.git
2. npmコマンドでインストール実行。
% npm i
3. エラー ReferenceError: internalBinding is not defined が発生。
internal/util/inspect.js:31
const types = internalBinding('types');
^ReferenceError: internalBinding is not defined
at internal/util/inspect.js:31:15
at req_ (/home/haiju/workspace/elm-dev-env/node_modules/natives/index.js:137:5)
at require (/home/haiju/workspace/elm-dev-env/node_modules/natives/index.js:110:12)
at util.js:25:21
at req_ (/home/haiju/workspace/elm-dev-env/node_modules/natives/index.js:137:5)
at require (/home/haiju/workspace/elm-dev-env/node_modules/natives/index.js:110:12)
at fs.js:42:21
at req_ (/home/haiju/workspace/elm-dev-env/node_modules/natives/index.js:137:5)
at Object.req [as require] (/home/haiju/workspace/elm-dev-env/node_modules/natives/index.js:54:10)
at Object.<anonymous> (/home/haiju/workspace/elm-dev-env/node_modules/unzip/node_modules/graceful-fs/fs.js:1:99)
npm WARN elm-dev-env@1.0.0 No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/watchpack/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! elm@0.19.0 install: `binwrap-install`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the elm@0.19.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.npm ERR! A complete log of this run can be found in:
npm ERR! /home/haiju/.npm/_logs/2019-01-10T05_04_15_930Z-debug.log
※インストール環境のNode.jsとnpmのバージョンは以下。
node v10.15.0
npm v6.4.1
[参考サイト]