メモ帳

やったこととかちまちまと書く 需要のない記事を生成している

ClojureScriptの環境構築

Homebrew編*1 -ビルドツール使わないやり方

clojurescriptを入れる。

brew install clojurescript 

必要なディレクトリ、ファイルを作成する。

mkdir -p src/hello_world;touch src/hello_world/core.cljs;touch build.clj

Clojureはcljだけど、ClojureScriptだとcljsらしい。

core.cljsの中身

(ns hello-world.core)
(enable-console-print!)
(println "Hello world!")

build.cljの中身

(require 'cljs.build.api)
(cljs.build.api/build "src" {:output-to "out/main.js"})

必要なものは揃ったので

cljsc build.clj

をしたらoutディレクトリが作成されて、その下にJsファイル等が入ってる。

実際に動くか試してみる。

<html>
    <body>
        <script type="text/javascript" src="out/goog/base.js"></script>
        <script type="text/javascript" src="out/main.js"></script>
        <script type="text/javascript">
            goog.require("hello_world.core");
        </script>
    </body>
</html>

参照

github.com

Leiningen編

テンプレートを使わないやり方
まずLeiningen(ビルドツール)を入れて、プロジェクトを作成する。

brew install leiningen
lein new cljs-test

src/cljs/core.cljの拡張子を.cljsに変更して、内容を変更する。

(ns cljs-test.core)
(enable-console-print!)
(println "Hello world!")

project.cljを書き換える。

(defproject cljs-test "0.1.0-SNAPSHOT"
  :dependencies [ [org.clojure/clojure "1.8.0"]
                  [org.clojure/clojurescript "1.8.51"]])
  :plugins [[lein-cljsbuild "1.1.4"]]
  :cljsbuild {
    :builds [{
        :source-paths ["src"]
        :compiler {
          :output-to "out/main.js"
          :output-dir "out"
          :optimizations :none
          :pretty-print true}}]}  

ビルドしたら終わり

lein cljsbuild once

実際に動くか試してみる。

<html>
    <body>
        <script type="text/javascript" src="./out/goog/base.js"></script>
        <script type="text/javascript" src="./out/main.js"></script>
        <script type="text/javascript">
            goog.require("cljs-test.core");
        </script>
    </body>
</html>

二種類の方法を書いた理由

始めLeiningenを使ってやってみたが動かなくて、次にHomebrewを使ってやったら一発で成功した。
そのあと、もう一度Leiningenを使ってやってみたら動いたから、メモとして一応書いた。

*1:わざわざHomebrew使わずともできる(Clojure Scriptを使ってみる | Developers.IO)

シェルをBashからZshにした話

環境を変えてみようと思って思い切ってBashからZshにしてみた。

入れたもの

oh-my-zshとpecoはhomebrewで入れて、他のプラグインは直接取ってきて~/.oh-my-zsh/custom/pluginsの下に置いて~/.zshrcに記述した 記述方法は二つあるけれども、僕は直接読み込まずにpluginsを使った(enhancdは直接だった)

感想

僕自身、キーボードだけでコンピュータを操作することがあまりないので恩恵を受けた気はしなかった*1UNIXコマンドとかバリバリ使う人には便利だろうな。現在BashからZshを読み込んでいる状態なので慣れてきたら完全にZshに移行したい。あともっとキーボードベースで作業できるようになりたい。

作ったもの

GitHub - kwnktks0515/Change_the_theme_of_oh_my_zsh: Made by Shell Script, this's joke
テーマを決められなかったのでログインごとにテーマを変えるものを作ってみた(需要は無さそう) souce ~/.zshrcして読み込み直したらZsh落ちるバグあったり(未修正)、Shellに触り慣れてなくて作るのに手間取ったりした。

参考

iTerm2の使い方まとめてみた – uittie::blog

qiita.com

qiita.com

*1:もちろん、操作自体は楽になったけど

HTMLでスライドを書こう!

nitibc-lt.connpass.com でスライドの書き方ってLTをしたので、ここで修正したりプレゼンテーションライブラリについて詳しく書いていこうと思う*1(下書きして公開するの忘れてた)
見た感想も書いているので実際に触ってみてください

Reveal.js

かなり有名でドキュメンがとても豊富。 Markdownでかけたり、PDF出力できたり多機能。 感覚的にはボードの上にスライドを置いていく感じかなと思った。 横だけではなく縦に移動することも可能。

Impress.js

かなり有名でサンプルが豊富。 この中では一番激しく動くがそれ以外の機能は正直言ってほとんどないと思う。 Slideshare等のスライドシェアサービスに上げられないので人に見せたい場合、Github pagesなどのどこかのサーバで広げるしかない。 感覚的には3D空間に一枚一枚スライドを置いていく感じ。

Jmpress.js

Impress.jsの派生、jQueryプラグインAjaxやモバイルの設定ができたりなど割と細かいところまで触れる?? 文字をゆらゆら動かすことができる。 横にしか移動できない。

Deck.js

The simpleって感じのライブラリでシンプルなスライドしか書けない。そのおかげでものすごく楽にスライドをかける。 jQuery使ってる。

Talkie.js

日本人が作ったので日本語に強い。 Markdown、HTMLで書く ボインター出せたり、進行度見れたり多機能

*1:数日程度の知識ですが・・・