Perl入学式 #1
Perl入学式 #1 : ATND に参加しました。
前半
前半ではPerlbrew のインストールをしました。
インストールには Perlbrew を参考にインストールします。
$ curl -kL http://install.perlbrew.pl | bash
インストールすると ~/perl5/perlbrew にインストールされます。
あとは.zshrc などに
source ~/perl5/perlbrew/etc/bashrc
を追加します。
インストールされているperl を検索するには
$ perlbrew list
現在インストールできるperl を表示するには
$ perlbrew available
新しいversion のperl をインストールするには
$ perlbrew install perl-5.14.2
perl のバージョンを切り変えるには
$ perlbrew switch perl-5.14.2
を実行しましょう。
perlbrew をインストールした後には、簡単なhello, world スクリプトを書きました。
# 推奨されるuse しておくもの use warnings; use strict; use utf8; # print する print "hello, world!";
NetworkX
NetworkX 便利です。
チッートリアルはこちら http://networkx.lanl.gov/tutorial/tutorial.html
MacOSX Snow Leopart にmatplotlib をmacports でインストール
次を入れます.
- numpy
- scipy
- matplotlib
$ sudo port install py27-numpy py27-scipy py27-matplotlib
あとは,~/.matplotlib/matplotlibrc に次を追加します.
# ~/.matplotlib/matplotlibrc に追加する backend: MacOSX
これで動くようになしました.
Xmonadでデュアルディスプレイ
Xmonadでデュアルディスプレイに関する設定をしたので、
その時のメモ
Xmonadのデュアルディスプレイについて
XMonadのデュアルディスプレイは、一つのディスプレイに
一つのワークスペースを分り振るものであって、
一つのワークスペースをディスプレイ二つ分に拡張するものではありません。
このあたりは、前に使っていたXFCEとは異なることだったため、勘違いしていました。
設定について
設定ですが
XMonadでデュアルディスプレイを使うために次を設定しました。
-- ~/.xmonad/xmonad.hs import XMonad import XMonad.Hooks.DynamicLog import XMonad.Hooks.ManageDocks import XMonad.Util.Run(spawnPipe) import XMonad.Util.EZConfig(additionalKeys, additionalKeysP) import System.IO -- 次を新しくインポートした import qualified XMonad.StackSet as W myManageHook = composeAll -- floatさせるアプリケーション [ className =? "Gimp" --> doFloat, -- 次はtildaでなくTildaにしないといけない className =? "Tilda" --> doFloat ] main = do -- .xmobarrcの設定 xmproc <- spawnPipe "/usr/bin/xmobar ~/.xmobarrc" xmonad $ defaultConfig { -- terminalにはxfceのterminalを使う terminal = "terminal", manageHook = manageDocks <+> myManageHook <+> manageHook defaultConfig, layoutHook = avoidStruts $ layoutHook defaultConfig, logHook = dynamicLogWithPP xmobarPP { ppOutput = hPutStrLn xmproc, ppTitle = xmobarColor "green" "" . shorten 50 } -- , modMask = modmask } `additionalKeysP` myKeys -- ここでデュアルディスプレイに関する設定をした -- 具体的には、 -- M-S-rを押すことで -- ディスプレイ0にワークスペース1を出力し -- ディスプレイ1にワークスペース8を出力 -- するようにしました。 -- 作業していくなかで、どのディスプレイにどのワークスペース -- が割り振られているか分からなくなるときがあるので、 -- そのときにこれを使うと便利です myKeys = [("M-S-r", do screenWorkspace 0 >>= flip whenJust (windows.W.view) (windows . W.greedyView) "1" screenWorkspace 1 >>= flip whenJust (windows.W.view) (windows . W.greedyView) "8")]
skk.vim
インストール方法
SKKの辞書をインストールするには、各OSのパッケージマネージャを使う方法と、
http://openlab.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1
からインストールする方法があります。
僕の場合は、AURからskk-jisyo
https://aur.archlinux.org/packages.php?ID=33713
を入れました。
skk.vimは、
http://www.vim.org/scripts/script.php?script_id=3118
から取ってきて、ドキュメントに従ってインストールします。
SKKの辞書について
skkには、個人用辞書と全体で共有して使用する共有辞書があります。
詳しくは http://www.bookshelf.jp/texi/skk/skk_5.html#SEC102 を見てください。
個人用辞書の設定は
skk_jisyo="path/to/personal/jisyo"
共有辞書の設定は
skk_large_jisyo="path/to/large/jisyo"
とすればよいです。
screenはじめました
screenを使い始めました。
設定ファイルは次のようになりました。
# screen setting file ~/.screenrc # set encoding defencoding utf-8 # set escape character escape ^x^x # use 256 colors term screen-256color # set start message off startup_message off # hardstatus setting hardstatus alwayslastline "%{=b kG} %-Lw%40L>%{b bg} %n %t %{-}%+Lw%-030=%{b km} %{.b} %Y/%m/%d %C:%s %A " caption setting caption always "%{=b wk} screen (%n: %t)"
次が設定ファイルを参考にしたサイトです。
設定ファイルの書き方がとても詳しく書かれています。
http://blog.remora.cx/2010/02/gnu-screen-2.html
http://www.ayu.ics.keio.ac.jp/~mukai/tips/screen.html
操作方法については、次のサイトが入門にはとてもよかったです。
http://www.dekaino.net/screen/
ディレクトリパーミッション
今日はディレクトリパーミッションについて勉強しましたので、そのメモを。
Linuxを使っていると、パーミッションは基本的な概念です。
が、ディレクトリのパーミッションについてよく分かっていませんでした。
ディレクトリのパーミッションにもrwxがある訳ですが、
r ... ディレクトリのファイルを読める w ... ディレクトリにファイルを作成できる。 もしくは、ディレクトリのファイルを編集、削除できる。 x ... ディレクトリに入れる。(cdで)
ということを表しています。
例えば、ファイルをオーナー以外のユーザから削除出来ないようにしたいとしましょう。
状況としては
testdir |--test.txt rwxr-xr-x
で、test.txtをオーナー以外のユーザが削除出来ないようにしたいと思います。
このとき、testdirのパーミッションとして適切なものはどうなるでしょうか。
解答はたくさんありますが、仮に
testdir rwxrwxrwx
というパーミッションにしたとしましょう。
このとき、test.txtはファイルのパーミッションがrwxr-xr-x
となっていますが、オーナ以外のユーザも削除できます。
というのは、そのファイルをふくんでいるディレクトリのパーミッションが
rwxrwxrwxになっているからです。
ファイルを削除禁止にしたい場合は、そのファイルのパーミッションを
変更してもダメで、ファイルを含んでいるディレクトリのパーミッションを
変更しなければなりません。
このあたりの事は次のページが詳しいです。
http://www26.atwiki.jp/funa_tk/pages/19.html