勉強したことの最近のブログ記事

アンケート用紙

| コメント(0) | トラックバック(0)
情報モラル講座を行う前のアンケートを作成しました。

今回はSQSを使ってアンケートをとることにしました。
SQSの使い方を先生に教えてもらい、動作も正常に動いたのでこれでいこうと思います。
作成したことに満足して、実は講座後のアンケート作ってなかった...(^_^;)

スマホの教材

| コメント(0) | トラックバック(0)
スマホの教材を探してみたらありました!
(中間発表では失礼なことを...)
NPO法人の企業教育研究会さんが教員や保護者向けに作成した情報モラル教材です。→考えよう、ケータイ
最新版として
「考えよう、ケータイ・スマートフォン」
があったので無料配布ということで、早速取り寄せてみました!

※申込み理由として研究の内容を説明し、ぜひとも参考にさせていただきたいという話を書きました。

便利なのが、指導案とスライド資料、ワークシートがWebページでダウンロード可能であり、すぐに授業ができるということです。
動画は約10分で現実の人間関係の難しさを感じている子が、SNSではオープンになることができて、スマホにのめり込んでしまう様子が映像で分かりました。
結末は語っておらず、その後どうなったかを生徒に考えさせる内容でした。
HTML形式でプロフィール画像付きのメールになったのでこんな表示が出るようになった。
3.jpg
Thunderbirdで画像付きのメールを受信すると、デフォルトでは表示されない。
「リモートコンテンツを表示する」をクリックする必要があるらしい。
アドレスを登録すれば常にリモートコンテンツを表示することが可能みたいだが、如何せんそれは困る!!!
全てのメールに対して、常に表示させる設定にしたい!!

「Thunderbird」→「環境設定」→「詳細」→「一般」→「設定エディタ」を開く。
(Winでは「ツール」→「オプション」→「詳細」〜)


検索窓に「mailnews.message_display.disable_remote_image」と入力。
1.jpg
」がtrueになっているので、ダブルクリックしてfalseにする。
2.jpg
Thunderbirdを再起動すると有効になっている。

勉強させていただきました→ここ

metaタグ

| コメント(0) | トラックバック(0)
<meta>タグは、その文書に関する情報(メタデータ)を指定する際に使用する。HTMLでは「その文書に関する様々な情報」を意味する。

<meta>タグは、<head>~</head>の中に配置する。meta要素を指定する際には、 name属性、http-equiv属性、charset属性のうち、少なくとも一つを指定する必要がある。 また、name属性、http-equiv属性を指定する際には、必ずcontent属性とセットで利用する。 セットで利用することでメタデータの定義とその内容が関連付けられる。

●文字エンコーディング(charset属性)
日本語の文字エンコーディングは、「utf-8」「shift_jis」「euc-jp」など。
大文字と小文字の違いは区別されない。
charset属性を指定したmeta要素は、一つの文書に一つのみ。

*****************************
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

省略して

<meta charset="UTF-8">

でもOK(・∀・)
*****************************

引用させていただきました→ここ


こっから研究の話...
UTF-8設定のHTMLをsendmailコマンドでメールすることになったので
UTF-8だよ〜とメール側に知らせる設定をする必要が出てきた。

*****************************
open(MAIL,"|/usr/sbin/sendmail -i XXXXXXX@gmail.com");
print MAIL << "END_OF_MAIL";
From: \"Twitter \@$ID\"
To: Twitter\@gmail.com
Date: $MailDate
Message-Id: <$MessageId-Twitter-tweet\@gmail.com>
X-FILE: $file
Subject: @Subject
Content-Type: text/html; charset=UTF-8;  (←ここ)

@TWEET

END_OF_MAIL
close(MAIL);
*****************************

本文の先頭にcharset加えればOKでした(・∀・)
以上!!!

シェルスクリプト

| コメント(0) | トラックバック(0)

作ったスクリプトを自動で処理してもらうためにシェルスクリプトを作成。

Check_tweet.sh
*************************************
#!/bin/sh
cd /usr/lib/cgi-bin
/usr/bin/perl TwitterTweet.pl
/usr/bin/perl TwitterTweet-stp2.pl
/usr/bin/perl TwitterTweet-stp3.pl
*************************************

*ターミナルでシェルスクリプトを実行する
*************************
$ ./Check_tweet.sh
*************************

今回は自動で処理してもらいたいのでcronを使う!!
まずはエディタのデフォルト指定から。
[select-editor]で設定できて最初はnanoになってるらしい。
************************************************************
Select an editor.  To change later, run 'select-editor'.
  1. /bin/ed
  2. /bin/nano        <---- easiest
  3. /usr/bin/vim.tiny

Choose 1-3 [2]:
************************************************************
私はgeditを使ってるんですけど...ない!!
ググってもgeditの出し方が分かりませんでしたorz
なので今回はnanoでいきまーす。

*crontabを開いて編集・保存
[crontab -e]でcronの編集ができる。

設定書式は "分 時 日 月 曜日 コマンド"
利用できる文字は
・分 0~59
・時 0~23
・日 1~31
・月 1~12 or jan~dec
・曜日 0~7 [0,7は日曜日] or sun~sat

1時間に1回実行するようにしてみた!!
*************************************************************
59 * * * * /usr/lib/cgi-bin/Check_tweet.sh >/dev/null 2>&1
*************************************************************

10日17時43分だったらこんな感じ↓↓
*************************************************************
43 17 10 * * /usr/lib/cgi-bin/Check_tweet.sh >/dev/null 2>&1
*************************************************************

>/dev/null 2>&1 は実行結果を出力したくない時に使うらしい。
もし失敗してても分からないってことなんだけどw

今んとこうまく動いてますよ〜(・∀・)

ちょこっとメモ

| コメント(1) | トラックバック(0)
###フラグを立てる###
例えば
メールを既読したら($flag = 1)
メールを未既読だったら($flag = 0)
というように印をつけていくイメージ

$check = yes
$check = no
とかでも良い。自分が分かりやすいように。
主に,
$flag = 0 $flag = 1 が使われる。
慣れるまでは自分が分かりやすいように使おう(^o^)

###chdir###
chdirでパスを指定することができる!!

************************************
chdir '/usr/lib/cgi-bin/MIKU/';
my @MAT = glob("*.txt");
print join("\n",@MAT) . "\n\n";
************************************


glob

| コメント(0) | トラックバック(0)
(2)glob
該当するファイル名の一覧を返すことができる。
ファイル名には?や*を使うことができる。

******************************************************
my $search = '*.txt';

while (my $file = glob($search)) {
  print $file, "\n";
}
******************************************************

ディレクトリを指定しても良い。
******************************************************
my $search = '/home/user1/*.txt';

while (my $file = glob($search)) {
  print $file, "\n";
******************************************************

結果を配列で。
******************************************************
my $search = '*.pl';

my @files = glob($search);

foreach my $file (@files) {
  print $file, "\n";
}
******************************************************

globではなく<>を使う。
******************************************************
while (my $file = <*.pl>) {
 print $file, "\n";
}

******************************************************

参考させていただきました(^o^)

diff

| コメント(0) | トラックバック(0)
ファイルの比較をするための方法を調べたところ
diffとglobがあったので勉強しました(・∀・)

(1)diff
cpanよりText::Diffをダウンロード
試しに使ってみた!!

difftest.pl
****************************************
#!/usr/bin/perl
use Text::Diff;
 
print diff "diff.pl", "diff2.pl";
****************************************

そしたら...
*************************************************************************************************************
Can't locate Algorithm/Diff.pm in @INC (@INC contains: /home/miku/perl5/lib/perl5/
i686-linux-gnu-thread-multi-64int /home/miku/perl5/lib/perl5/i686-linux-gnu-thread-multi-64int /home/miku/perl5/lib/perl5 /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /home/miku/perl5/lib/perl5/Text/Diff.pm line 7.
BEGIN failed--compilation aborted at /home/miku/perl5/lib/perl5/Text/Diff.pm line 7.
Compilation failed in require at difftest.pl line 2.
BEGIN failed--compilation aborted at difftest.pl line 2.
*************************************************************************************************************

なんかうまくインストールされてないみたいだぞ??
/home/miku/perl5/lib/perl5/Text/のDiff.pmのline 7のとこに問題があるみたい。
そこに行ってみると...
****************************
7 use Algorithm::Diff ();
****************************
とあったのでAlgorithm::Diffをインストールしろってことでした。
これをインストールして実行したらうまくいった(^o^)

****************************************************
--- diff.pl    Mon Oct 15 12:33:36 2012
+++ diff2.pl    Mon Oct 15 12:34:08 2012
@@ -1,3 +1,4 @@
 りんご
 ごりら
 らっぱ
+パイナップル
****************************************************
diff2.plにパイナップルがプラスされているという内容。

ファイル入力

| コメント(0) | トラックバック(0)
ファイルの入出力をここで勉強してみた

**************************************************************
#!/usr/bin/perl

$file="xxxxxxx.csv"; open (IN, $file) or die "$!"; while (<IN>) { print $_; } close (IN);
***************************************
<IN> 開いたファイルを1行単位で読み込み
print $_; 1行単位で読み込んだデータをそのまま表示
while( ) { } 行が存在する限り繰り返す


こちらでも可能
***************************************
@lines = <IN>; foreach (@lines) { print $_; }
***************************************
@lines = <IN> 開いたファイルを1行単位で配列@linesに格納
foreach( ){ }  配列の要素数だけ繰り返す

形態素解析[メモ]

| コメント(0) | トラックバック(0)
研究の方向性から考え「形態素解析」を試みることに。
フリーの形態素解析には以下のようなものがある。
・KAKASI(案山子)
・MeCab(和布蕪)
・Chasen(茶筌)
他にもたくさんあるが代表的なものがこれらかな。
しかし面白い名前ばっかりw

とりあえずKAKASIをインストールしてやってみた。
sudo apt-get install kakasi
でインストール可能。
kakasiをperlで使うにはText::Kakasi必要なのでインストール。
Makefileでのインストールは何回もやっているのでさすがに覚えたw

とりあえず使って見ることに...したんだけど
KAKASIは昔に作られたものなのでUTF-8に対応していない。(内部処理がEUC−JPだから)
コードをEUC-JPに変換してKAKASIコマンドに渡さないといけないんだって。 この場合もEUC-JPに含まれない文字(UTF-8から変換できない文字)は処理できないとか。
もちろんこれやらないと文字化けするよ〜

nkf --oc=euc | kakasi
で文字化けはなくなったけどちゃんと「わかち書き」してくれないw
動いてる感はあるんだけど...MeCabも似たような感じ。
改行コードが問題?けど...
UTF-8使えないんじゃめんどくさいじゃんって感じでChasenをインストールして試したらできたww

************************************************************************
$ chasen
私は日本人です
私 ワタシ 私 名詞-代名詞-一般
は ハ は 助詞-係助詞
日本人 ニッポンジン 日本人 名詞-一般
です デス です 助動詞 特殊・デス 基本形
************************************************************************
最初からこっち使えばよかった〜
でもnkfとか新しく勉強できたし、まあいっか。

このアーカイブについて

このページには、過去に書かれたブログ記事のうち勉強したことカテゴリに属しているものが含まれています。

次のカテゴリはゼミ発表用です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.12