MacOS XのVagrant上にGruntとSASSをインストールした作業ログ
たまにしかやらないので毎回忘れて調べながらやることになってしまうVagrantまわりの環境セットアップを、今度こそ作業ログって覚えるぞ、の巻。
今回は、Vagrant上にGrunt/SASSをインストールするところまでやります。
まずはVagrant用のディレクトリを作成してVagrant(Ubuntu)をテキトーに立ち上げる。
# on Mac OS X $ mkdir ubuntuGrunt $ cd $_ $ vagrant init hashicorp/precise32 $ vagrant up $ vagrant ssh
無事に仮想ホストにssh接続できることが確認できたが、これだけでは素のUbuntuなので、プロビジョニングで諸々ツールがインストール済みの状態にして仮想ホストが立ち上がるようにする。
$ exit
$ vi provisioning.sh
#!/usr/bin/env bash echo "*** install by apt-get ***" apt-get update apt-get install -y curl curl -sL https://deb.nodesource.com/setup | bash - apt-get install -y nodejs echo "*** install by ruby-gem ***" gem update --system gem install sass echo "*** install by npm ***" npm config set registry http://registry.npmjs.org/ npm install -g grunt-cli
$ vi Vagrantfile
Vagrant.configure(2) do |config| # : # : config.vm.provision :shell, path: "provisioning.sh" end
$ vagrant reload --provision $ vagrant ssh # on Vagrant(ubuntu) $ node -v $ npm -v $ scss -v
インストールされたバージョンが確認できれば、最後にGruntをインストールして作業終了☆
$ mkdir mysite $ cd $_ $ npm init $ npm install grunt --save-dev
ですが実際は動作確認で何度もハマってやり直したので、その点をメモっておくと
- apt-get insatll で -y オプションを忘れると、Y/N ? の問いに応えられずにプロビジョニングが失敗して終わる
- 何もせずに apt-get install nodejs をしても、インストールされるNode.jsのバージョンが古いので、後に控えている npm install 系がことごとく(バージョンが対応していないよ)エラーで失敗する
- curl -sL ... の行を追加することで新しいバージョンのNode.jsがインストールされるように
- 何もせずに npm install -g grunt-cli してもregistry見つからないエラーになる
- npm config set registry ... の行を追加して解消
- 初回の vagrant up 時に初回のプロビジョニングが走ってしまうので、プロビジョン設定を追記した後は reload --provision する必要がある
簡潔にメッセージが伝わる便利アノテーションが素敵
Javadocに「このクラスはスレッドセーフではありません。」とか書いてあるのを見ていて、最近gs-collectionsを眺めて便利だなと思ったアノテーションをつければいいんだ、と思った。
具体的には、↓ここらへんのアノテーションをつけておけばスマートに伝えられるよなー、と。
- javax.annotation.concurrent.NotThreadSafe
- javax.annotation.concurrent.ThreadSafe
@NotThreadSafe public class SampleFormatter {
同様に、Google Guavaで提供される次のアノテーションも、いいところをついている感じ。
- com.google.common.annotations.VisibleForTesting
@VisibleForTesting void setInnerValue(String value) { this.value = value; }
・・・あぁ、その気持わかる。この package private や protected は、人様に使われるためじゃなく、単にテストの利便性目的なだけなんだよ、ってね。。。
皆様、悩み考えていることは似たり寄ったりなんだなと痛感。
IntelliJ IDEAをMacで使おうとしたらJava6がないから起動できませんて
職場ではEclipseを長年使っておりますが、最近IntelliJ IDEA派な方にもお会いして色々とかじってみるのはいいよなーと思い、まずはCommunityEditionをお試ししようと思いました。したらDownloadして起動しようとしたら「Java6がないので起動できないよ」的な内容のエラーが出てシューン・・・。ちなみにJava8はインストール済みで、それで動かすつもりでした。
結果的には↓のサイトをググって見つけたので対処出来ましたが、厳密にワシが使ってるバージョンと違っていたり、なぜかJava8使おうってのにJava7を一旦イントールする的なことも書いてあってハテナ?なので自分用にやったことをログっておく。
MacのJava8環境でIntellij IDEA 13.1.1が起動しない — Strawberry Field
http://blog.yotchang4s.org/2014/04/13/mac_java8_intellij_idea_13_1_1
Info.plist の編集
vi "/Applications/IntelliJ IDEA 14 CE.app/Contents/Info.plist"
編集内容はこんな感じで。
<key>JVMVersion</key> - <string>1.6*</string> + <string>1.8*</string>
これで普通に起動出来ました。
Gitまわり久しぶりに触ってハマったログ
- 久しぶりにGitHubに新しいリポジトリを追加してclone、ファイルを追加してcommit -> push したらエラーになってpushできない。
- 試しにBitBucketで仮リポジトリを作って、リモートに追加して同内容をpushしたら、こっちはすんなりできた。
- エラーの内容("git-credential-sourcetree" Error)でググってみたら、こんなのが出てきた。
- ココらへんを参考にGitのバージョンアップをしてみる。
- こんなものが、それなりにGoogleさん的に有名になっていたので内容確認の上でshellファイルに落として実行してGitHub.app関連のキレイキレイを完了。こんなモノが出まわるほどに困ったちゃんなヤツだったんですな。やれやれ
- で、git --version が git version 2.2.1 となった上で、再度GitHubにpushしてみるも、まだエラー
- よくよく見てみると、origin のURLが ssh ではなく、https になっている。
- Connecting over HTTPS の方が今では recommended らしいので、今度やってみよっと。
https://help.github.com/articles/caching-your-github-password-in-git/
SMS/MMSへ送られてきた怪しげメッセージをログっておく
何なんだろう、鬱陶しい。調べたらfb.comってのはアメリカIPだったな。
- from 01012460209758522
- 2014/10/13 9:14
- (Facebookの友人)さんが近況アップデートを投稿しました。「このページの存在にしばらく気づいてなかった。...」 続きはh t t p s://〓
- 2014/10/13 9:16
- 繇戀⸀挀漀洀⼀氀⼀䘀氀㜀㐀氀氀㜀欀㈀欀㐀氀㌀䰰朰Ȁ〓
- 2014/10/13 9:14
- from 01012461413927515
- 2014/10/19 9:22
- (Facebookの友人)さんが写真を追加しました。[h t t p s://fb.com/l/(ハッシュ文字列)]でチェックしましょう
- 2014/10/19 9:22
今さらながら、WebサイトのAutoPagingをやってみた
過去に作った個人用ホームページを再利用し、AutoPaging用jQueryプラグインを使ってスルスルページングを実装してみた。利用したプラグインはjScroll。
jScroll - a jQuery Plugin for Infinite Scrolling / Lazy Loading
ハマったポイント
ページ最後のaタグが問答無用で次頁に置き換わる
nextSelector オプションがデフォルトだと 'a:last' だったので当然の挙動。最後のaタグが次ページへのリンクじゃなかったのと、次ページを示すリンクは最後のページには存在しなかったりするので、次のページへリンクのaタグに class="next" を追加して、jscroll()のパラメータを nextSelector: 'a.next' とすることで解決。
雑感
いやー、それにしても大昔に自分で書いたHTMLは汚かった。リファクタしても自己満足の誰得なので、手を入れた箇所しか改善しませんでした。たとえ便利なライブラリでも、オプションのデフォルトのままでは想定した動作にならなかったりするので要注意、という当たり前の感じで、久しぶりに軽く手と頭を動かしましたとさ。
MacのJava8開発環境を構築
あとは、今日やったことを記録しておく。
- Java6をアンインストール
(参考)
Apple版Java6をすっきりアンインストールする
- JDK8*1をインストール
- Eclipse IDE for Java Developers*2をインストール
- JavaEEの方は色々入ってて重いイメージなので、これに必要なpluginを自分で足せばいい
- Update Sites
- Spring Tool Suite - http://dist.springsource.com/release/TOOLS/update/e4.4/
- Others
- ビルドツールGradleをEclipseで使うための手順 - DukeLab
- 便利な世の中になったね〜
- ビルドツールGradleをEclipseで使うための手順 - DukeLab