2015年3月8日

ブログ移行します

はてブロに移行することにしました。
http://sujoyu.hatenadiary.com/

2014年10月2日

Shuffle.jsのハマりどころ

Shuffle.jsというとてもかっこいいライブラリがあります。
しかし、実際に使うにあたってハマりどころがあったので、メモしておきます。

以下のような環境を前提とします。
$('#area').shuffle({
  itemSelector: '.entry'
});

 

枠がずれる

Shuffle.jsを設定した要素に対して各内部要素がちゃんと配置されない場合。

#areaに対し、
#area {
  position: relative;
}
と設定することで配置を正常にすることができるかもしれません。

 

配置がおかしくなる

Shuffle.jsを設定した要素に対して、
各内部要素の高さやmarginが正確に計算されず、要素間に隙間ができる。
$(window).load(function(){
  $('#area').shuffle('shuffle', function($val){
    return true;
  });
});
とwindow.onloadで実行することによって、各要素のサイズが正確に計算し直されるかもしれません。

 

ページ下に謎の余白が現れる

Shuffle.jsで要素をfilteringしたところ、ページの下部に余白が現れる場合。

#areaに対し、
#area {
  overflow: hidden;
}
と設定することで余白を消すことができるかもしれません。

2014年7月4日

LinuxにHaskell環境を構築

目標

Scientific Linux(Fedora, CentOS系でも応用できると思う)にHaskell/yesod環境を構築する。

GHCをインストール

GHCに必要なアレとかソレを予めインストールします。
sudo yum install glibc.i686 gmp-4.3.1-7.el6_2.2.i686 ncurses-libs-5.7-3.20090208.el6.i686


これらをインストールしないと、./configureを実行した時に以下の様なエラーが出ます。
$ ./configure
checking for path to top of build tree... utils/ghc-pwd/dist-install/build/tmp/ghc-pwd: error while loading shared libraries: libgmp.so.3: cannot open shared object file: No such file or directory
configure: error: cannot determine current directory
参考: http://www.xinotes.net/notes/note/1031/
Linux初心者なので"yum whatprovides"とかいう便利コマンド知らんかった。


そしたら、

http://www.haskell.org/ghc/download_ghc_7_6_3
-> Linux(OSが32bitならx86, 64bitならx86_64)
をダウンロードして解凍する。


ちなみに最新版(現在7.8.2)を使おうとすると、以下の様なエラーでHaskell-Platformがビルドできない。
Building the OpenGL-2.8.0.0 package failed


で、解凍したディレクトリ下で、
./configure
sudo make install
を実行します。

Haskell-Platfromをインストール

https://www.haskell.org/platform/linux.html
からソースをダウンロードして解凍します。

解凍したディレクトリ下で、
./configure
sudo make
sudo make install
を実行します。

次に、cabal-installの最新版をインストールします。
cabal install cabal-install

そのままだと古い方のcabalにパスが通ってしまっているので、
先ほどインスコしたcabalにパスを通します。
export PATH=~/.cabal/bin:$PATH


ちなみに、
cabal -V
でバージョンの確認ができます。 


cabal update
でパッケージ情報の更新ができれば、OKのはずです。

yesodをインストール

cabal install yesod-platform yesod-bin
以上。

yesod version
でインストールできたことを確認しましょう。

続きはこちらで

移行の作業はこちらを参考にやれば大丈夫だと思います。
http://www.techscore.com/blog/2013/06/11/yesod入門-1-インストールから起動まで/