2013/09/29

マーク・ピーターセン著 「実践 日本人の英語」

実践 日本人の英語 (岩波新書)」は、英語学習者の間では有名な「日本人の英語 (岩波新書) 」(1988年出版)の続編です。著者マーク・ピーターセン氏は明治大学の教授で、専門分野の講義の他、英語の講義も担当されているようです。この日本人の英語シリーズは、著者が日本人学生の英作文を添削する過程で気づいた日本人が間違いやすい英語のパターンが分かりやすく整理されています。

おそらく本書は中級者レベル向けだと思います。初級者の場合、この本に書かれているようなニュアンスの違いを気にする前にまずは英語の運用能力を鍛えるべきです。そして、ある程度、英語で意思疎通できるようになってから、上級を目指す前に自分の足元を見直す上で役立つ内容になっています。(確か私も「日本人の英語 (岩波新書) 」を学生の時に読んだ記憶がありますが、その時は英語レベルがいまいちだったので難しく感じた印象がります。)

肝心の内容はというと、著者曰く日本人の英語学習初学者が英文を作成する時は、日本語の文法に引きづられたままで、原文の日本語を英語に直訳する傾向にあるそうです。日本語と英語は文法がかなり違うので、日本語に引きづられてそのまま直訳するとおかしな英語になったり、意味不明になったり、最悪の場合、誤解を与えるケースがあると指摘しています。

もし誤解を与える表現になっている場合、読み手が英語の文法間違いに気づかないと、誤解を与えることに書き手が気づかずにコミュニケーションを継続してしまうケースもあります。これは友達通しの雑談であれば、後で誤解が分かっても笑ってすみますが、ビジネスや研究発表の場合、実害が発生したりするので、注意する必要があります。

例えば、p36の冠詞の例を紹介します。以下の2つの文の意味の違いは分かりますか?

  1. The government plans to phase out nuclear power plants in Japan.
  2. The government plans to phase out the nuclear power plants in Japan.

 the がついているかいないかの違いです。著者によると1の冠詞がない複数形の場合、「some nuclear power plants」と同じ意味になるそうです。一方、theがつくとすべての原子力発電所が対象になってしまいます。日本語に訳すと以下になります。

  • 政府は日本にある2つ以上の原子力発電所の廃止を予定している。
  • 政府は日本にあるすべての原子力発電所の廃止を予定している。

ただ、the がつくかどうかで全く意味が異なっています。前述したように友達通しで雑談する分には全く問題ありませんが、政府の官僚だったり、ニュース記者がこの文法間違いに気づかずに報道すると世界中に誤解を与えてしまいます。これと同じ問題が自分のビジネスにおいても起こる可能性はあるのです。

このような細かいニュアンスは文法学習だけて身につくとは思えないので、お金を払って英文添削のトレニーニングを継続的に受けないといけないんでしょうね。

 

2013/09/07

Mac OS Xでテキストファイルの改行コード・文字コード一括置換は「MultiTextConverter 」が便利

http://www.rk-k.com/software/mtc

パパっと検索して出てきたのがこれです。
インタフェースもシンプルだし、なかなか便利そうです。

Mac OS XにHomebrewでApache Antをインストールする

How do I install ant on OS X Mavericks?
http://superuser.com/questions/610157/how-do-i-install-ant-on-os-x-mavericks

上記の質問サイトでやり方を見つけました。

http://superuser.com/a/611510
It looks like the alternate repository was migrated. You can either enable the homebrew alternate repository or install directly: 
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/ant.rb

実際にやってみるとうまくいきました。
$brew install https://raw.github.com/Homebrew/homebrew-dupes/master/ant.rb
#################################################################100.0%
==> Downloading http://www.apache.org/dyn/closer.cgi?path=ant/binaries/apache-an
==> Best Mirror http://ftp.kddilabs.jp/infosystems/apache/ant/binaries/apache-an
#################################################################100.0%
/usr/local/Cellar/ant/1.9.2: 1590 files, 39M, built in 7 seconds

$ant -version
Apache Ant(TM) version 1.8.2 compiled on June 16 2012
ただし、2013年9月7日現在の最新版は1.9.2なので、若干古いバージョンが入っています。

2013/09/01

テスト駆動開発による組み込みプログラミングの集い@関西で講師をやりました #tdd4ec

(もう開催してから1ヶ月以上経っていますが、ブログにも記録しておきますね^^;)

7/20 (土)に関西で「テスト駆動開発による組み込みプログラミングの集い@関西」という組み込みソフトウェア開発者向けTDDのワークショップをやりました。





開催のきっかけ

そもそものきっかけは、東京で原著の読書会をやってる時に、Twitter経由で本イベントの主催者である@HappyLuckyAkiraさんから「関西でも開催しませんか?」と声かけいただいたことです。「実家が徳島なので、帰省ついでに開催できるなら!」と返事して、いろいろな方のサポートをいただいて無事開催できました。


まずは一歩踏み出す、他者とつながる

私が東京で原著の読書会を開催してから、Twitterを使ってたおかげで色んな人が我々のことを見つけてくれて、色々な人と協力しながら、翻訳レビュー、Agile Japan 2013でのワークショップ通訳、トレーニング開催、東京や関西でのワークショップイベントへ繋がったのはとても刺激的で素晴らしい体験でした。その辺の経緯はLTでお話しました。

まずは一足を踏み出すこと。他者とつながる場所で活動することは大事ですな。

LTをやりました

怒涛の勢いでここまできたので、整理の意味あいで。あと、活動をしてもらう目的でコレまでの経緯を紹介しました。



ワークショップをやりました

そして本題のワークショップでは、以下の資料を使いました。


テスト駆動開発による組み込みプログラミングの集い@DevLOVE関西 from Yohei Onishi


ワークショップの流れ

流れは以下のとおり。
あとで書籍見た時にすんなり理解できるように動機づけ、重要なテクニックなどは紹介しました。
ただし、口で説明しても伝わりづらいかと思い、ワークショップをやりながら詰まったところを助言したり、途中でTIPSを紹介したりしました。

  1. 概要説明
    • TDDとは何か?
    • なぜTDDをやるのか?
  2. ペアプロで演習
    • 書籍のサンプル「プロダクトコードをスパイする」をテスト駆動で実装
  3. 振り返り
    • ペアプロの組で振り返り
    • 全体の振り返り(ペアプロの組×2)

良かったこと

  • 途中、人が集まらなかったそうなので、ひとまずは開催できて安心しました。
  • 未体験の人がTDDに取り組無きっかけを与えることができてよかったと思います。
    • 最初の講師が私で良かったのかという疑問はありますが^^;
  • 他の関西コミュニティで活動されている方も参加されており、うちでもTDDのワークショップやりませんか?という意見が挙がってました。関西の交流の活発さが伺えました。

反省点 

  • Windowsでサンプルがコンパイルできなかった
    • Windowsでの動作確認をちゃんとできていなかったせいで、当日、Windows組がコンパイルできない騒動が発生^^; エンコーディングがUTF-8だとWindowsでうまく動かないようで^^; すんません。
  • サンプルの題材が参加者に上手く伝わっていなかった
    • 題材自体がよく理解できなかったという意見もありました。あまり分かりやすい説明ではなかったところ反省してます。ただ、Q&Aの時間を設けてもなかなか手があがらないのが難しいところです。

次の機会でトライ !

  • 昔、TDDBCに参加した時は、「簡単な問題を徐々に出してく」「本人にフルスクラッチで作ってもらう」というやり方をしていました。時間を1日とか半日とか取れるなら、そういうやり方の方が参加者にとって題材を理解する負荷、サンプルを理解する負荷は下がるのかなと思いました。
    • ただし、皆の設計・実装が異なるのでサポート陣が大変そうですね。
  • せっかく組み込みなので最後にarduinoで実機テスト出来る題材にするとか。すでに@haradakiroさんがやってましたが。。。

おまけ

このイベントの声かけいただいたのが5月上旬だったんで、5月末開催のAgile Japan 2013で原著者のJamesさんとお会いした時に、主催者の @HappyLuckyAkira さん向けのサイン本をもらっておきました。やはり頑張った人にはご褒美がないと。。

HomebrewでMac OS X Montain Lion (10.8.4) にMySQLをインストールする

自宅のMac OSにMySQLをインストールする機会があったので、ついでにその流れをメモしておきます。

以下のブログエントリを参考にしました。

HomebrewでMySQLをインストールする時に知っておきたいこと
http://tukaikta.blog135.fc2.com/blog-entry-197.html


1. MySQL をbrewでインストールする

brewコマンでインストールを実行します。
$ brew install mysql
私の環境では以下の実行結果が出ました。インストールに問題はないようです。
To connect:
    mysql -uroot
To have launchd start mysql at login:
    ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
    mysql.server start

なお、実行結果は以下のコマンドで後から確認できるそうです。

brew info mysql


2. MySQL を起動する

実行結果のログに出ていた以下のコマンドを入力すると無事に起動します。

mysql.server start

以下のコマンドで起動を確認します。なお、私の環境ではパスワードが設定されていないためpオプションは不要でした。

mysqladmin -u root ping

以下の出力であればOKです。

mysqld is alive

3. rootユーザにパスワードを設定する

こちらをやるかどうかは任意ですが、パスワードを設定しておくと良いでしょう。
mysqladmin -u root password 'new-password'

これで完了です。

2013/08/14

Mac OS X LionへPostgresSQLを導入する

これまで仕事でDBを扱うことはなかったのですが、最近、DBを使う仕事をやることになったので、あわててSQLを勉強中です。

今回は個人PCのMac OS X Lion(バージョン10.8.4)にPostgreSQLを導入しました。本エントリでは導入手順を紹介します。

(1) インストール


Mac OS Xにインストールする場合、GUIのインストーラを使うのが簡単そうです。以下でダウンロードできます。

http://www.postgresql.org/download/macosx/

Homebrewでインストールすることもできます。

> brew install postgresql

(2) データベースの初期化


データベースサーバのプロセスを起動する前にデータベースを初期化する必要があります。

まずデータベースの置き場所を用意しましょう。お試しであれば場所は好きなところで良いでしょう。

> su postgers
> mkdir -p ~/psql/data

(注意)データベースの置き場所はPsotgreSQLを起動するプロセスから書き込みできるパスが良いです。パーミッションの関係でデータベースに書き込みできないとプロセスが起動しない場合があります。データベースを起動するユーザでデータを配置するディレクトリを作成したほうが間違いが無いと思います。

次に先ほど作成したパスにデータベースを初期化します。

> initdb -D /usr/local/pgsql/data

以下の出力が出ればOKです。

Success. You can now start the database server using:
    postgres -D psql/data
or
    pg_ctl -D psql/data -l logfile start

(3) サーバプロセスの起動


出力にある通り、起動の仕方は2通りあるようです。後者の方はログファイルを作成してくれるので、後者の方が良いのではないかと思います。

> pg_ctl -D /usr/local/pgsql/data -l logfile start

起動プロセスをアカウント名でgrepしてみるとサーバプロセスが起動していることが分かります。

 > ps ax | grep postgres
  389   ??  Ss     0:00.00 postgres: checkpointer process  
  390   ??  Ss     0:00.00 postgres: writer process  
  391   ??  Ss     0:00.00 postgres: wal writer process  
  392   ??  Ss     0:00.00 postgres: autovacuum launcher process  
  393   ??  Ss     0:00.00 postgres: stats collector process

(4) サーバへのアクセス


psqlというPostgreSQLのターミナルにホスト名「localhost」を指定して接続してみます。

> psql -h localhost

以下が出力されればOKです。

WARNING: psql version 9.1, server version 9.2.
         Some psql features might not work.
Type "help" for help.
postgres=# 

2013/07/13

「テスト駆動開発による組み込みプログラミングの集い」用サンプルの動作確認方法

7月20日に大阪で開催する「テスト駆動開発による組み込みプログラミングの集い」では、以下の手順でCppUTestを使った単体テスト環境を用意していただきます。


1. ビルド環境を用意する。

CppUTestをビルドする環境が必要です。OSによってやり方は異なりますので、自分の環境に合わせて用意してください。各環境のインストール方法は割愛します。

  • Windows
    • gcc(cygwin)
    • Visual Studio(2010以上)※注意参照
  • Mac
    • gcc(XCodeに付属)
  • Unix/Linux
    • gcc

(注意)CppUTestはVisual Studio 2008に対応していますが、準備の都合で2010以上とさせていただきました。

2. サンプルをダウンロードする。

以下のURLからダウンロードできます。適当なディレクトリに解凍してください。パスに空白を含まないディレクトリが良いかと思います。

3. サンプルをビルドし、テストを実行する。

以下の手順で、CppUTestおよびサンプルコードをビルドして、実行ファイルを作成し、その実行ファイルを実行するとテスト結果が表示されます。ビルドの仕方はツールによって異なるので注意してください。

(a) gccでビルドする場合 (Windows上でcygwinを使う場合も含む)

> cd (トップディレクトリ)
> make

(b) Visual Studio 2010でビルドする場合

<サンプルのルートディレクトリ>msvc/tdd4ec/tdd4ec.sln を開いて、ソリューションファイルをビルドしてください。ビルドが完了したら「デバッグなしで実行」してください。

4. テスト実行結果を確認する。

以下のような結果が出ればOKです。

$make
make -i -f Makefile_tdd4ecRunning tdd4ec_tests...........OK (11 tests, 11 ran, 24 checks, 0 ignored, 0 filtered out, 0 ms)