投稿

5月, 2015の投稿を表示しています

Ubuntu 15.04 インストール直後の設定

イメージ
Dell Inspiron 1525 に Ubuntu 15.04 をインストールしました. インストールの直後に行った設定を列挙します. 無線LANの接続 無線LANがつながっていませんでした. lspci で調べてみると $ lspci | grep 802 0b:00.0 Network controller: Broadcom Corporation BCM4321 802.11a/b/g/n (rev 03) ドライバは読み込んでいるようですが,ifconfig では認識していません. firmware-b43-installer パッケージをインストールしたら ifconfig で認識するようになりました. $ sudo apt-get install firmware-b43-installer あとは,画面右上にある無線LANの設定から Wifi ネットワークに接続するだけです. mozc をインストール デフォルトの IM は Anthy. Anthy に慣れようと思ったのですが,日本語入力モードで半角スペースを入力できなさそうだったので,これまでと同じ mozc をインストールします. $ sudo apt-get install fcitx-mozc でインストールは完了. ただ,インストール後に設定しないと変更されないようです. 「システム設定」→ 「言語サポート」を開き,「キーボード入力に使うIMシステム:」を fcitx に変更してから再ログインすれば mozc に切り替わります. ここ を参考にどうぞ. ゲストセッションを消す ログイン時に表示されている「ゲストセッション」を消します. $ sudo vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf で以下の一行を追加します. allow-guest=false 再起動すれば消えます. ランチャーからシャットダウンさせる  右上の歯車からシャットダウンさせるのが手間なら Power commands を試すといいかもしれません. 以下の手順でインストールします. $ sudo add-apt-repository pp

Ubuntu 15.04 のインストール

イメージ
Ubuntu が systemd になったと聞いたので,興味本位でパソコンに Ubuntu 15.04 をインストールしてみました. まだ起動させたぐらいですが,7年前のパソコン(SSD換装済み)とは思えないほど快適です. インストール Windows 上で Ubuntu のページ の「Get Ubuntu Desktop」よりインストール用 DVD のイメージ(ubuntu-15.04-desktop-amd64.iso)をダウンロードします. うちのパソコンは Core2Duo なので 64 bit 版をダウンロードしました. ダウンロードした DVD イメージを DVD に焼きます. 焼いた DVD を CD-ROM ドライブに入れ,再起動します. 自動で CD-ROM ドライブから起動出来ないので, BIOS 画面で F12 を連打します. これはパソコンによって操作が異なりますから,調べてみてください. とにかく,CD-ROM ドライブから起動させてください. あとは画面に現れる指示にしたがってインストールするだけです. もともと Windows と Arch Linux のデュアルブートだったので, Arch Linux のパーティションを消して, Ubuntu をインストールしました. Windows と Ubuntu がデュアルブートになるようなパーティションの分け方については,ウェブ上にたくさん情報があります. Arch Linux と比べると,インストールは非常に簡単でした. インストール後の設定 まだインストールしただけですが,真っ先にしたのは,CapsLock を Ctrl に置き換えることです. ターミナルで Ctrl-A (行の一番左に移動)が使えないと不便なので・・・ /etc/default/keyboard を以下のようにして編集します. $ sudo vi /etc/default/keyboard もともとは XKBOPTIONS="" となっていますが,以下のようにすると CapsLock が Ctrl になります. (ctrl:swapcaps にすると CapsLock と Ctrl が入れ替わります) XKBOP

第1回 ラムダ抽象と関数適用

イメージ
Arch Linux 上に ghc をインストールする方法は こちら . Haskell は関数型言語の一種で,関数計算の連鎖でプログラムが動きます. C 言語などにも関数はありますが,Haskell の関数はより数学的です. まずは関数とは何かを説明します. 関数 Haskell において,関数は「 値を変換するもの 」です. 例えば,次のような,入力に$1$を加えて返す関数$f$を考えます. $$   f(x) = x + 1 $$ $x$が$1$だと$2$になります($f(1) = 2$). 関数$f$と$1$がくっつくと,$2$になってしまうのです. $x = 2$の場合,$f(2) = 3$ですし,$x = 3$の場合は$f(3) = 4$になります. つまり,関数というのは,定義という名のルールに従って,入力を出力に変換しているのです. では,C言語の関数と何が違うのでしょうか? Haskell の関数は,基本的に,同じ入力の時は同じ出力にならなければなりません. 上の関数$f$を見ると,どんな時でも同じ入力の時に同じ出力になります. ところが,C言語の場合は同じ入力でも簡単に違う出力にできてしまいます. 入力が void 型(つまり入力なし)の時でも自由自在に出力を変えることができます. 逆に,入力だけ見ても出力を決めることができないということもできます. Haskellの関数の基本は入力だけを見て出力が決まるという特徴があるので,「値を変換するもの」と見えるのです. ラムダ抽象 「関数=値を変換するもの」という考え方を発展させたものがラムダ抽象です. 中学や高校の数学において,関数というのは必ず名前がありました. 関数は値を変換してくれればいいだけなのに,必ず名前を決めてあげないと定義できません. これをラムダ計算(lambda calculus)では,「 入力をもらうと計算した結果を返すもの 」を定義できるようにしました. 例えば,入力が$x$なら,$x + 1$を返す関数を $$   \lambda x . x + 1 $$ と書くことにしたのです. 最初の$\lambda$と$.$の間には入力の変数を1つ書くことができます. また,$.$の後

HelloWorld アプリを実機で実行する

イメージ
今回は最初に開発する例題として最も有名な Hello World の Android アプリを開発して実機で動作させてみます. (プログラムは1行も書きません!) Android アプリの開発の流れがつかめたらいいなぐらいの感覚です. Android Studio のインストール方法は こちら . 開発環境: Ubuntu 14.04 LTS Android Studio 1.2.0 JDK 1.7.0 実機: Zenfone 5 (Android 4.4.2 KitKat) HelloWorld アプリの開発の流れ: プロジェクトの新規作成 仮想デバイス上での実行 実機での実行 準備   Zenfone 5 が Android 4.4.2 ですので,API 19 をインストールします. 以下の画面の Configure を選択します. 次に SDK Manager を選択します. SDK Manager が起動しますので,Android 4.4.2 (API 19) にチェックを入れ,Install ボタンを押せば,必要な SDK がインストールされます. プロジェクトの新規作成  Android アプリの開発には多くのファイルを必要とします.Java プログラムを書くファイルや,GUI の構成を書く XML ファイル,コンパイルのルールを書くファイルなどです.これらの集まりのことを プロジェクト と呼びます.プロジェクトの中にはアプリを開発するために必要なファイルがいろいろ入っていると理解すればいいと思います. ただ,すべてのファイルを自分で作る必要はありません.最低限必要なファイルは Android Studio がルールに沿ってある程度自動生成してくれます.テンプレートのようなものを用意してくれます.ですので,Android Studio の機能を使ってプロジェクトを作りましょう. プロジェクトの新規作成は,以下の画面で「Start a new Android Studio project」をクリックすることから始めます. プロジェクトの新規作成では, Application name:  HelloWorld Company Domain:  h