ホーム » 2013 » 7月 (ページ 2)

月別アーカイブ: 7月 2013

2013年7月
 123456
78910111213
14151617181920
21222324252627
28293031  

検索・リンク

C言語とファイル操作(OSの違い)

前回説明不足の点を補うために、全部座学で講義の予定であったが、 ファイル操作は演習を交えながらの方が効果的なので、 前半説明・後半演習とする。

ファイル操作でのOSの違い

C言語のファイル操作での、バイナリモードとテキストモードの違いを説明する。

OSの成り立ちの違いから、文字コードと機器の動きには違いがある。 特に、\n(行送り) , \r(復改) , \f(ページ送り) といった制御コードは違っている。

Windowsでは、行末文字は、"\r\n" , unix では"\n" , 古いMacOSでは"\r"と 違っている。このため、unix で printf( "Hello\n" ) ; といった処理が、 他のOSでも同じように動かすために、 Windows では、出力時には"\n"を"\r\n"に書き換えて出力し、 入力時には"\r\n"を"\n"に置き換えて入力する。 こういった、行末文字の置き換えをしながら入力するモードは、テキストモード と呼ばれる。 これに対し、記録されているデータの2進数データを扱っているときに、 上記のような変換が行われると、"\r(0x0D)"が消えたり(あるいは想定外に混入)してしまう。 こういったデータを扱う場合には、バイナリモードを使う。

これ以外にも、OSの違いによりデータがおかしくなる事例ということで、 日本語文字コードについても紹介する。よく使われてきた文字コードは、 JISコードは、文字種が変更されるときに、ここから後の文字コードは何…といった情報を 付加する方式。Shift-JISは、パソコン(Windows)で広く利用されている文字コード。 ただし2byteの漢字1文字の1byte目、2byte目の判別が面倒。この改良として、 EUC-JPといった文字コードがある。 しかし、最近では1つのファイルの中に、日本語・中国語・アラビア語といったような 複数の言語が混ざる場合が増えてきたため、"Unicode"という方式を使うのが主流となってきた。 この方式では、基本的にすべての文字=2byteで扱ったりする。 しかし、ファイルに保存するときに効率が良くなるように、"UTF-8"といった保存形式をとる。

ファイル入出力の課題

fopen,fscanf,fprintf,fclose の理解をしてもらうために、 (1)名前と3科目の成績のファイル上のデータで、各人の平均点をファイルに出力、 (2)名前と身長体重で、各人のBMI値をファイルに出力… の課題に取り組んでもらう。

課題途中で、行データの読み込みで混乱が見られたので、 ファイルポインタの説明と、 scanf("%s%d",…) といった入力時に、各項目の読み込み前に空白スキップ処理が 行われることを説明する。

Raspbianでサーボモータ制御

Raspberry Pi に Debian を入れてみたけど、USB-WiFiもつなげると、ほんと小さいけど ちゃんとしたサーバだわ…(^^; んで、最終的には画像処理系のロボットを組めればいいなということで、 その一環としてサーボモータを動かしてみた。

といっても、サーボモータでググって見つかった記事を動かしただけ。 GPIOポートに、ジャンプワイヤを接続するためのコネクタを作り、 上記記事の servod を動かして、以下のコマンドで簡単に動く。

$ for i in $(seq 50 20 240) $(seq 220 -20 50)
do
echo 0=$i > /dev/servoblaster
sleep 1
done

ただ、参考にした ServoBlaster だけど、kill で servod を殺すと、 時々OSが異常停止してしまう。必要に応じてデーモンを動かし止めたりは不安定。

また、ServoBlaster で今回使用したサーボモータでは、 50以下の値や240以上の値を指定すると、サーボモータのポテンションメータの特性が 不安定なのか、 速度を変えてもいないのに、ジリジリという音がして角度を制御しようとしている様子。 ということで、50〜240の範囲で使う必要がありそう。

2013年7月7日(第328回)

  • まるよし Train Pops ~ 国語と遊ぼう! 第14便 「手紙」
  • 七夕のお話
  • 高専大会について
  • 香港の話

担当:前田勝(4EI)、松島(2C)、山野(2C)、西(教員)

新しいJABEEの認定証

1307042056_560x800.JPG

福井高専50周年ロゴ

福井高専も、設立されで50周年。記念事業のロゴ案だそうです。

1307042100_238x320.JPG

2段階認証への移行

最近は、何事にもクラウドシステムを活用するようになってきたが、 パスワードが破られてアカウントを悪用される事例も増えてきた。

これらの対応で 2段階認証を利用するサービスが増えてきている。

私も、一番依存している Google では、以前より便利に活用していた。 携帯にインストールした、認証システム用の ワンタイムパスワード生成アプリで作られた6ケタほどの数字を パスワードの後に入力する。

ワンタイムパスワードを別途入力するため、携帯などのアプリでは、 対応できない場合もある。このための機能として、アプリ固有のパスワードも生 成でき、ソフトによっては、これを入力することになる。 これにより、クラックされてもそのアプリだけ…といったように クラックされる範囲を拡大することを防ぐことができる。

Facebook/Microsoft/Evernoteも2段階認証へ

このGoogleでの2段階認証は、他のWebサービスにも拡大しており、 今回、Facebook / Microsoft / Evernote は、2段階認証の方法も ほぼ同じで、ワンタイムパスワード生成もGoogleのアプリがそのまま使える。

ただ、気になるのが、Google や Evernoteは、携帯を紛失し ワンタイムパスワードのアプリが使えなくなることを想定し、 バックアップコード(10進16桁のワンタイムパスワードが4個)を 発行してくれる。でも、FacebookやMicrosoftでは、 このバックアップコード発行の機能がない。

どちらにしろ、携帯を無くしたら、色々な意味で地獄を見そうな雰囲気…

1307022356_348x294.png

バララット大学交換留学報告会

短期の交換留学に参加した学生さんの報告会が開かれました。

電子情報からも5年の大村くんや山越くんが、参加していました。

発表も英語でと、ご苦労様でした。

1307101640_1726x1252.jpeg
1307101640_2048x1228.jpeg

システム

最新の投稿(電子情報)

アーカイブ

カテゴリー