2013年10月20日日曜日

ruby on rails の導入 (emacs, ubuntu)

ruby on rails を導入する際に参考にしたサイトなどをまとめる。
  1. 今回の経緯
  2. 私事だが、今までのweb関連での開発では、pukiwikiのpluginが初めで有ったため、phpを中心に用いてきた。
    ただ、pukiwikiのサポートが終了してしまい、そもそもwebアプリとしてメインのページに合わせた開発をすることが無意味であることに気づいた。
    そこで、他の言語も視野に入れ、メインのページから離れた開発を行うことになったのである。

  3. ruby on rails とは
  4. ここを参考にして、ruby on railsとphpの関係を考えた。
    Webシステムの開発では、Linux+スクリプト言語で行われることが多い。
    PHP は、Yiiなどのフレームワークも存在し、開発は行い易い。
    しかし、大規模になってくると、ruby on railsを用いたほうが効率が良いようである。

  5. ruby on rails の ubuntu への導入
  6. ここを参考にする。
    一点注意したいのが、現在のruby on railsでは、1.9系のサポートは終わると書いてある
    rbenv install 1.9.3-p448
    
    を、
    rbenv install 2.0.0-p247
    
    とする。ちなみに、インストールできるrubyのバージョン一覧は、
    rbenv install -l
    
    とする事で、参照できる。

  7. RINARI(emacsで効率良く編集するツール)
  8. ここを参考にして、インストールする。
    英語のサイトだが、わかりやすい。
    RINARIは、ELPAというemacsのパッケージマネージャに対応しており、それをインストールすることを推奨している。
    emacsで、Ctrl-x Ctrl-bと打つと、*scratch*という画面に移れるよと出るので、移る。
    そこに、
    (let ((buffer (url-retrieve-synchronously
            "http://tromey.com/elpa/package-install.el")))
      (save-excursion
        (set-buffer buffer)
        (goto-char (point-min))
        (re-search-forward "^$" nil 'move)
        (eval-region (point) (point-max))
        (kill-buffer (current-buffer))))
    
    と打ち込み、Ctrl-jを押す。これで、パッケージマネージャの導入は完了だ。
    elpaは、emacsにおいて、M-x package-list-packages で起動でき、目的の行に i を記入した後、x を押すと、依存関係も解消しながら導入してくれる。
    あとは、init.elに、
    (add-to-list 'load-path "~/path/to/your/elisp/rhtml")
         (require 'rhtml-mode)
         (add-hook 'rhtml-mode-hook
            (lambda () (rinari-launch)))
    
    と打つ。


2013年8月30日金曜日

ubuntu で音が出なくなる

ubuntuは、割と初心者ユーザにやさしいが、音が出ない時の対処法に関しては
https://wiki.ubuntulinux.jp/UbuntuTips/Hardware/SoundTroubleshooting
が、有名となっており対処しづらい。

次のページが良いので紹介しておく
http://ascii.jp/elem/000/000/611/611555/index-3.html

2013年4月12日金曜日

windows8 と ubuntu の共存

windows8のPCでubuntuを使いたいという事で、いろいろな方法を考察した過程をここに記す。


まず、単にwindowsとubuntuを共存させるという事であれば、以下の2つの方法が考えられる。

1.dual boot
1台のマシンに2つのOSを組み込むこと。どちらも排他的なOSとして、個別に用いることが出来る。

2.仮想マシン
ホストOSをどちらかに定め、その上で仮想マシンとしてゲストOSを用いる

windows8では、どちらにするのが正しいのか。

第252回 コンバーチブルPCでUbuntuを使う
には、こう書いてある。


デュアルブートについてはおすすめしません。一つ目の理由は,最近はリカバリー領域がディスク内部に別パーティションとして用意されていることが多く,デュアルブートのためにパーティションをうまく分割することが難しくなっているためです。UEFI対応モデルの場合は,UEFI用のシステムパーティションも存在しますので,これらを消去しないように設定するのは難しいでしょう。
もう一つの理由はWindows 8の「高速スタートアップ」との相性問題です。Windowsは起動を高速化するために,起動時にいくつかの処理を省けるよう終了時に特別な処理を行っています。この状態でWindowsを終了し,Ubuntuを起動してしまうと,Windowsが起動しなくなってしまうケースがあるようです。特にWindows 8モデルでは高速スタートアップが初期状態でオンになっているので,LiveDVDやLiveUSBを使う場合も注意しておきましょう。

ということで、より簡単な仮想マシンによって共存を試みることにした。

仮想マシンといえば、VMware と VirtualBox があるが、VirtualBoxでは、windows8への対応に疑問があった(VirtualBoxをWindows8 Proにインストールしようとするとクラッシュしたが、回避策を発見) ため、VMwareを用いることにした。

VMwareは、windows8に対応しており、これまでと同じ方法で導入できる。

ちなみに、ここを参考にした。

さすがにPCのスペックが高いため、全くストレスなく、動く。

2012年12月15日土曜日

Ubuntu12.10 64bitで、android開発環境を整える 1


先日、Nexus7を手に入れたので、android関連のプログラムもしようという事でUbuntuに環境構築した。

ただしUbuntu12.10では、色々面倒臭い点もあるので、備忘録を兼ねて書くことにする。


基本的には、以下のサイトを参照すれば良い。
 Ubuntu 12.04 Desktop 64bit版にAndroid SDKをインストール



エディタは、android開発で定番のEclipseを用いるが、javaを動かす環境構築がまず必要となる。

1. 32bit環境用のものを動かすために、ia32-libsをインストール

   dpkg --add-architecture i386
   sudo apt-get install ia32-libs

 ia32-libs は、最近バグが訂正されたパッケージであるようで、インストールできないというページが複数散見される。
 そういう場合は、ubuntuのソフトウェアアップデート行なってから、もう一度先のコマンドを打てば良い。


2. javaのインストール
 今回は、 oab-java.sh を使用し、sun-java6-jdkを導入する。
 oab-java.sh は、最新版がhttps://github.com/flexiondotorg/oab-java6から、ダウンロードできるので、home直下へまず落としてくる。
 その上で、次を実行する。

   chmod +x oab-java.sh
   ./oab-java.sh
   sudo apt-get install sun-java6-jdk

 こちらも、バグが最近訂正されたようで、エラーに悩まされた。

3. Eclipseのインストール

   sudo apt-get install eclipse


これでひとまず、エディタの導入までは終わったことになる。

続きは第二回へ

2012年10月21日日曜日

HACKING:美しき策謀


最近、IPアドレスにより誤認逮捕されるという事件が発覚した。


ネット上で犯行予告をしたとして、突然逮捕されたのだ。


正しいネットワーク知識を身につけなければならぬと思い、この本を読み込んでいく事にした




じつは、昨年に買ったままずっと放置していたのだが、C言語の解説から始まり、かなり深い内容まで踏み込んでいる良書である


今回は本の紹介に留める

2012年10月20日土曜日

auto-complete


emacsでプログラミングをしているとき、長い関数名を何回も打ってタイプミス・イライラ感がつのる時が有る


そこで、今回はauto-completeを導入する


事前準備


emacsは、~/emacs.d/の中をカスタマイズしていく事で様々な機能を付与することができる


~/emacs.d/にinit.elというファイルを作り、

(add-to-list 'load-path "~/.emacs.d/")

とかく。これは、emacsを開くときに、このフォルダを読み込むという意味である。

また、~/.emacs.d/において、auto-completeというフォルダを作っておく



本題



http://cx4a.org/software/auto-complete/index.ja.htmlから、安定版をダウンロードし好きな場所に展開します。


terminalから、フォルダに入りmake installとうつと、インストール先を聞かれるので、./.emacs.d/auto-complete/と打ちます。


うじゃうじゃとメッセージが出た後、Add the following code to your .emacs:に続く部分をinit.elに書き加えて、emacsを再起動します。



参考
http://cx4a.org/software/auto-complete/manual.ja.html

2012年10月11日木曜日

PC自作記 その1


PCの自作がそれなりに安めで出来そうなので色々と調べてみることにした


今回は、CPU・メモリ・マザーボードについて書いていく



CPUとメモリは、パソコンにおける頭脳のようなものである

CPUは、頭の回転の速さ

メモリは、一時記憶能力をさす

それでは、性能はどのように決まるのか


CPUは、Pentium4までにおいてはクロック周波数が高ければ高いほど高性能であるとされていた

しかし、クロック周波数は、頭打ちになってしまいあまり変わらない。(高クロックのものでも3GHz後半)

最新のものでは、演算の並列化による性能向上を重視している

デュアルコア、クアッドコアなどは、メイン回路の個数を指し示しており、これが並列処理を可能にしている

コア数が多ければ多いほど、高性能と考えてよい


また、注意しなければならない点がある

ベースクロック(インテル独自)


メモリと2次キャッシュメモリ・チップセットとの接続(BSB/FSB)におけるクロック周波数が高いほど、全体のパフォーマンスがよくなる

マザーボード側には、対応のFSB速度が存在し合わせなければならない

ただし、Core i7を代表とする「メモリコントローラ統合CPU」には、FSBという概念はないため、気にしなくても良い

ハイパートランスポート


AMD社の、転送速度を向上させる技術

AMD社製で、HTと表記されていればこのことを指す

キャッシュメモリ


CPUは、高速で動作しているためメモリに書き込むと待たされてしまう

CPUに組み込んだキャッシュメモリにおいて高速な動作を可能にする

キャッシュメモリは、容量の多い・少ないで性能を評価し、全体の性能にクリティカルに寄与する

32bitCPUと64bitCPU


64bitCPUでは、2進法での計算桁数が大幅に増加しておりレスポンスが飛躍的に向上することになる

メモリの最大使用量も増加するが、OSにもよる

 

ハイパースレッディング


Intel社によって開発された技術。

一つのスレッドが処理を進めている間に空き時間が生じたレジスタなどのリソースを集め、もう一つの別のスレッドの処理をすすめるもの

この技術により、2つの異なるアプリケーションを同時に実行することは可能だが、同じプロセッサ要素は同時に利用できないため、単純に性能が2倍になるわけではない。

Windows XPなどで効果が期待できる

IntelCPUで、HTと表記されていれば、このことを指す





次回は、メモリについて書くつもり


(参考)
http://jisaku-pc.net/kiso/CPU.html