2010-01-01から1年間の記事一覧

Effective Java 第8章 プログラミング一般 (53 - 56)

なんかかなり間が空いた気がする…… なのでちょっとがんばる。 項目53 リフレクションは利点を行かせる部分だけで使いましょう、という項目。(曖昧だなー) 普通のプログラムを作るなら、あまり使うことはないと思う…… リフレクションを使わなくても出来るこ…

Effective Java 第8章 プログラミング一般 (47 - 52)

これらの項目をいざコーディング、というときにちゃんと覚えているだろうか…… 項目47 下手に自作関数を作るよりも、既に使われているライブラリがあるのであればそちらを使いましょう、という項目。 標準ライブラリとかApache Commonsとか、それ以外にもいろ…

Effective Java 第8章 プログラミング一般 (45, 46)

Effective Java 第2版 (The Java Series)作者: Joshua Bloch,柴田芳樹出版社/メーカー: ピアソンエデュケーション発売日: 2008/11/27メディア: 単行本(ソフトカバー)購入: 77人 クリック: 936回この商品を含むブログ (264件) を見る独習Javaが退屈でいい加…

独習Java第10章 Javaクラスライブラリの初歩(10.5)

Stackクラスの扱い方。でも継承元がVectorじゃないか…… ArrayListから派生したスタックっぽいクラスがあったりしないのかなあ?とかいろいろ思いつつStackクラスを扱ってみるのです。 環境:MacOS 10.6.5 / Oracle(Sun) JDK6 update22 書いてみる // StackTe…

「なれる!SE」と「なれる!SE2」を読んだよ

なれる!SE 2週間でわかる?SE入門 (電撃文庫)作者: 夏海公司,Ixy出版社/メーカー: アスキー・メディアワークス発売日: 2010/06/10メディア: 文庫購入: 49人 クリック: 883回この商品を含むブログ (155件) を見るなれる!SE (2) 基礎から学ぶ?運用構築 (電撃文…

デバイス一覧(ディスク一覧?)の取得

Debian化した玄箱/HGでデバイスの一覧を表示するには、なメモ。 背面のUSBには常にバックアップ用のHDDが挿してあるのだけど、もう1つUSB-HDDが余ってたのでそれを前面のUSBに指して、マウントしようとしたのです。 # mount /dev/sda2 /mnt/usb1 mount: spec…

Ubuntu10.10 64bitでC言語のアプリケーションにLuaを組み込もうとして試行錯誤したメモ

簡単に組み込めるんだろう、と思ってやってみたら全然ダメで、結構苦しんだのでその時のメモ。 環境:Ubuntu10.10 64bit / Lua 5.1.4 / gcc 4.4.5 C言語側は同じディレクトリにあるmain.luaを読んで実行するだけのコード。 /* main.c */ #include <lua.h> #include <lualib.h></lualib.h></lua.h>…

独習Java第10章 Javaクラスライブラリの初歩(10.4)

ジェネリクスやVectorクラス、Enumratorインターフェースにイテレータなどの章。 10.1から10.3まではRandomとかCalendarとかだけど、ほぼ使えるので放置しておく。 環境:UbunruNetbookRemix 10.10 / Oracle(Sun) JDK6 update22 Vectorクラス いわゆる動的配…

独習Java第9章 マルチスレッドプログラミング(9.5 2回目)

前回やって意味が分からなかったので再度やってみることに。ただし全然わかってない気がする…… 環境:MacOS 10.6.5 / Oracle(Sun) JDK6 update22 書いてみる // Sync.java class Flag { public static boolean flag = true; } class IntBox { public synchro…

独習Java第9章 マルチスレッドプログラミング(9.5)

スレッドの同期についての部分。 環境:MacOS 10.6.5 / Oracle(Sun) JDK6 update22 スレッド間の同期 wait()メソッドでスレッドの待機を、notify()メソッドで待機スレッドに通知を。 ただ、複数スレッドが待機している場合はどのメソッドに通知が送られるか…

独習Java第9章 マルチスレッドプログラミング(9.4)

スレッドのデッドロックについての部分。 環境:MacOS 10.6.5 / Oracle(Sun) JDK6 update22 書いてみる // DeadLock.java class Lock { Lock(String name) { this._name = name; } public void setAnotherLock(Lock lock) { this._anotherLock = lock; } pub…

FreePascalでマルチスレッド

Javaでマルチスレッドの後なのでFreePascalでマルチスレッドを書いてみようかなーと。 環境:WindowsXP SP3 / FreePascal 2.4.0 { ThreadEx.pas } unit ThreadEx; {$MODE OBJFPC} interface uses Windows, Classes; type PThreadEx = ^TThreadEx; TThreadEx …

独習Java第9章 マルチスレッドプログラミング(9.3)

昨日の9.1, 9.2に続いてスレッドの同期の部分。 環境:MacOS 10.6.5 / Oracle(Sun) JDK6 update22 スレッドの同期 スレッドを同期させるには2つ方法がある。 synchronized修飾子を指定してメソッドを同期させる synchronizedブロックを使う 後者は存在すら知…

独習Java第9章 マルチスレッドプログラミング(9.1, 9.2)

マルチスレッドの章。スレッドはあまり使ったことないから使いこなせるようがんばるぞー。 環境:UbuntuNetbookRemix10.10 / Oracle(Sun) JDK6 update22 スレッドの状態 新規作成 作成したばかりの状態 使用可能 起動後の状態 実行中 実行された時点からの状…

UNR10.04からUNR10.10への移行した際のメモ

EeePCのUbuntuNetbookRemixを10.04から10.10にしたのでメモ。 Synapticからインストールしたもの bison Go言語をインストールするために必要なYACC互換パーサ build-essential C言語関係の基本的なものとかその他いろいろインストールしてくれるパッケージ c…

独習Java 1章 〜 8章

独習Java 第4版作者: ジョゼフ・オニール,武藤健志,トップスタジオ出版社/メーカー: 翔泳社発売日: 2008/05/29メディア: 大型本購入: 1人 クリック: 55回この商品を含むブログ (21件) を見るJava入門の始まり始まり。ただ、前半部分は既に知っているのでほと…

入門Luaプログラミング第12章 Luaの組み込み

既存のプログラムにLuaを組み込む場合のシナリオなど。これで最後かー。 C言語が主体の場合 基本的にC言語が主体で、ところどころLuaを使いたい場合はLuaで処理が終わったらすぐに戻ってくるように作るといいっぽい。 設定ファイルそのものをLuaスクリプトに…

入門Luaプログラミング第11章 C言語との連携

C言語とLuaの連携などなど。スタックの説明のあたりがさっぱりだったのでそこは後で…… C言語の自作関数をLuaから使う C言語側で作った自作関数を登録してLuaから呼ぶ。 最初にC言語本体を。 /* aaa.c */ #include <lua.h> #include <lualib.h> #include <lauxlib.h> int aaa(lua_State* L</lauxlib.h></lualib.h></lua.h>…

入門Luaプログラミング第10章 Luaのモダンな機能

連想配列――テーブルを使ったcase文やスクリプトのモジュール化、C言語で作った共有ライブラリの関数を呼ぶなど。他はスルー。 case文 Luaにはもともとcase/switch文が存在しないので、それをテーブルで作ってしまうやりかた。 > case = case or { >> a = fun…

無線LANルータに一人で大騒ぎした夜

親機と子機の接続に奔走したお話、を兼ねた備忘録。まあ、単なる知識不足なのですけど。 あと、大人しくAOSSを使わなかったところとか。初心者が背伸びするもんじゃないとは思いつつ。 今までは1階から2階までながーいLANケーブルを引っ張ってきて、有線LAN…

入門Luaプログラミング第9章 Luaを拡張してみる(後編)

Lua

前回の続き、配列の上限値を設定したりグローバル変数を宣言できなくしたりオブジェクト指向を取り入れてみたり。 配列の上限値を設定する 前回のようにsetmetatable関数でまたしてもメタメソッドを上書きして、添字でアクセスされた場合の動作を書き換える…

入門Luaプログラミング第9章 Luaを拡張してみる(前編)

Lua

8章はアルゴリズムとかデータの扱いなので飛ばして9章、メタメソッドや自作データ型やオブジェクト指向を取り入れたりなど。急にレベルが上がった気がする…! メタメソッド setmetatable関数を使ってテーブルの演算子の動作を変えてみる。 > data1 = {str = …

入門Luaプログラミング第7章 Luaの仕組み(後編)

Lua

眠くてできなかった部分、多値を返す関数やレキシカルスコープなどについて。あとコラムの高階関数も。 多値を返す関数 代入時に","で区切って同時に代入したり、変数同士を入れ替えたり。 > a, b = 1, 2 > print(a) 1 > print(b) 2 > a, b = b, a > print(a…

入門Luaプログラミング第7章 Luaの仕組み(前編)

Lua

文字列、テーブルの仕組みや、GCの扱い、データ型などちょっと奥の深い章。今回はなかなかおもしろそう。 文字列と登録台帳の仕組み 文字列は宣言された時点で登録台帳に登録され、2つ目以降は登録台帳の同じものを指すようになる…らしい。 > a = "aaa" -- "…

入門Luaプログラミング第6章 リーグ戦の集計

Lua

データの読み込みやテーブル内のデータの配置などの章。今回もかなりスルー。 Pascalでおなじみ、関数内関数の宣言。 > function a() >> print("aa") >> function b() >> print("function b()") >> end >> b() >> end > a() aa function b() Pascalって感じ…

入門Luaプログラミング第4章 何ができるの

Lua

第4章――文字列などの各種ライブラリの使い方などの章。 文字列ライブラリ 最初にstring.gsubで全置換を。 > a = string.gsub("123abc123def", "[1-3]+", "?") > print(a) ?abc?def string.matchで検索を。 > a = string.match("123456789", "[1-4]+") > prin…

入門Luaプログラミング第5章 Luaでデータ整理

Lua

配列や連想配列、ソートなどの章。関数の使い方などが多くなってきたので割とスルー気味。。。 テーブルの走査にfor文とpairs関数を。 > for key, value in pairs({aaa = 111, bbb = 222, ccc = 333}) do >> print("key: " .. key) >> print("val: " .. valu…

入門Luaプログラミング第3章 部品を作ろう

Lua

昨日に続いて今夜は第3章を。関数、ローカル変数、文字列などの章です。 関数宣言 関数は"function 〜 end"で宣言し、値は"return"で返します。returnはC言語などと同じく、その場で関数を抜けます。 > function times(op1, op2) >> return op1 * op2 >> end…

入門Luaプログラミング第2章 処理の流れ

Lua

昨日に続いて今夜は第2章へ進みます。制御構文や配列などの章です。 if文と比較演算子 if文は"if 〜 then"と表記します。PascalやRubyのようです。まあ、Rubyはthenを省略できますが。 > a = 1 > if a == 1 then >> print('a is 1') >> end a is 1 C言語など…

入門Luaプログラミング第1章 はじめの一歩

Lua

入門Luaプログラミング作者: 上野豊出版社/メーカー: ソフトバンククリエイティブ発売日: 2007/12/22メディア: 単行本購入: 4人 クリック: 144回この商品を含むブログ (35件) を見るこの本を買ったものの読まずに積みっぱなしでしたが、Luaを実行できる環境…