haiju's 開発メモ

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

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。

※次でディレクトリについて詳しく見ていくが、パラパラと

 見た感じでは、Railsディレクトリ構成などがとてもよく

 似ている。

[参考サイト]

qiita.com

genieframework.com

dotnsf.blog.jp

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

[参考サイト]

qiita.com

purescript/INSTALL.md at master · purescript/purescript · GitHub

psc-package.readthedocs.io

psc-package/index.rst at master · purescript/psc-package · GitHub

Arch-OpenRCとManjaro-OpenRCプロジェクトからforkしたArtix Linuxについて

タイルマネージャーのi3を調べた後に、そういえばManajro-OpenRC

ってあったけど、どうだったかな?と思って調べてみたら、開発

停止してて、そこからforkして新たにArtix Linux爆誕していた!(ΦωΦ)

というわけで、Artixを使ってみたいので必要な情報をメモってみる。

インストーラーはManjaroでもおなじみだったcalamaresが使えるようだ。

[参考サイト]

artixlinux.org

github.com

artix-linux.github.io

wiki.artixlinux.org

wiki.artixlinux.org

distrowatch.com

qiita.com

github.com

forum.porteus.org

forum.artixlinux.org

forum.manjaro.org

wiki.manjaro.org

タイルマネージャーi3の使い方とカスタマイズ

BitZeny専用環境をUSBメモリ(64GB) でportable-virtualbox

にManjaro-i3 18.0 stableをインストールして運用していこう

と考えているので、一度チャレンジしたけど使いこなすには

至らなかった、i3の使い方とtipsを備忘録としてメモっておく。

[参考サイト]

i3wm.org

wiki.archlinux.jp

linuxnosusume.blogspot.com

trap.jp

www.hobochuritsu.com

www.hobochuritsu.com

www.hobochuritsu.com

bugrammer.hateblo.jp

qiita.com

qiita.com

qiita.com

malkalech.com

malkalech.com

www.zdnet.com

sorawee.com

confluence.jaytaala.com

lobotuerto.com

forum.manjaro.org

www.reddit.com

lobotuerto.com

dev.to

forum.antergos.com

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を導入して仮想環境として運用

www.oracle.com

freepc.jp

www.howtogeek.com

www.pendrivelinux.com

www.virtualbox.org

www.vbox.me

www.linuxliveusb.com

2. USBメモリLinuxをインストールしてその中だけで運用。

answers.syr.edu

www.howtogeek.com

wiki.manjaro.org

forum.manjaro.org

dailylinuxuser.com

wiki.archlinux.jp

github.com

www.instructables.com

www.tecmint.com

forum.manjaro.org

www.fosslinux.com

www.reddit.com

superuser.com

bl.ocks.org

wiki.manjaro.org

rufus.ie

www.pendrivelinux.com

 

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

github.com

github.com

stackoverflow.com

dotblogs.com.tw

www.answiz.com

lifeonubuntu.com

[いまさらnode]nvmしかし、prefixをサポートしないだとdeginzabi163.wordpress.com

code.i-harness.com

qiita.com

github.com

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

[参考サイト]

github.com

github.com

stackoverflow.com

www.imqianduan.com

github.com

github.com

stackoverflow.com

qiita.com

discourse.nixos.org