2018年9月18日火曜日

久しぶりに Experience Index を取ってみる

SSD に換装したことと知らぬ間(?)にメモリを16GBに増設したので Experience Index を取ってみることにしました。以前の値はこちら

ExperienceIndex

前回から数値の変わったところは

  • プロセッサ 7.3 → 8.6
    んー、CPU は変わっていないのに。メモリとSSD換装でなにか影響している?
  • メモリ 7.4 → 8.6
    容量が増えると結構変わるもんですね。前回もそうだったけど。
  • グラフィックス 5.6 → 6.2
    メインメモリから VRAM に当てる量と関わっているんですかね? チェックしていないけど。
  • プライマリハードディスク 5.9 → 7.8
    SATA-3 だったら 8.x台に乗ると思うんだけど、SATA-2 だとこんなもんですかね。

2018年8月3日金曜日

内蔵ハードディスクをSSDに換装する

Amazonプライムデーで Crucial SSD MX500 500GB が \10,863 とお値打ち価格だったので、プライム会員の同僚にお願いして購入しました。中華製の廉価SSDよりは信頼も置けるし、いい買い物だったと思います。

自分あるあるですが、買ったとたんさらに安くなることがあるのが不安ですが、欲しい時が買うときですからね。

MX500_mark
dynabook Satellite B551/C なんですが SATA2 ってのがネックなんですよね、とりあえず取ったベンチはこんな感じ。

思った通り SATA3 の半分強の速度しか出ません。

とはいうものの、体感は全然違います。起動も終了も滅茶苦茶速くなりました。壊れるまではこのまま戦えそうです。



ただ、少々気になる点が。動作温度が高めですよね。室温26度の状態でアイドリング時41度、ちょっと読み書きが発生すると45~48度、連続書き込みだと50度強です。

SATA2の方がSATA3より速度が遅いので、もしかしたら低めの温度になるかと思いましたが変わらず。あまり気にしないことにします...

MX500_info

2018年7月13日金曜日

Perl でメール送信(Email::Sender編) 添付ファイルあり

Email::Sender を使ったサンプルコードを記載。今度は添付ファイルありバージョン。


#!/usr/bin/perl
#
# メール送信サンプル
#
use Encode;
use Email::MIME;
use Email::MIME::Creator;
use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTP;
use IO::All;
use strict;
use warnings;
use utf8;

# サブルーチンを呼んでメールを送る
&mailSend();

sub mailSend {
   my $from    = 'foo@localhost';
   my $mailto  = 'user01@bar.com, user02@bar.com';
   my $subject = Encode::encode('MIME-Header-ISO_2022_JP', 'メール送信テスト');
   my $message = <<"BODY";
テストで送信するメールです

ここに本文を記載します。本文はヒアドキュメントを
利用して作成しています。

※本メールへの返信はしないでください。
BODY

  my $body = Encode::encode('iso-2022-jp', $message);
   my $file = '/home/A0gaku/attachment.zip';

  my @parts = (
     Email::MIME->create(
       'attributes' => {
       'content_type' => 'text/plain',
       'charset'      => 'ISO-2022-JP',
       'encoding'     => '7bit',
       },
       'body' => $body,
     ),

    Email::MIME->create(
       'attributes' => {
       'fimename'     => 'attached.zip',
       'content_type' => 'application/octet-stream',
       'encoding'     => 'base64',
       'name'         => 'attachment.zip',
       },
       'body' => io($file)->all,
     ),
   );

  my $mail = Email::MIME->create(
     header   => [
       From    => "$from",
       To      => "$mailto",
       Subject => "$subject",
      ],

    parts => [@parts],
   );


   my $transport = Email::Sender::Transport::SMTP->new({
     host => 'smtp.foo.com',
     port => 25,
   });

  sendmail($mail, { transport => $transport });
}

Perl でメール送信(Email::Sender編) 添付ファイル無し

Email::Sender を使ったサンプルコードを記載。モジュールは標準ではインストールされていないので、CPANから追加して使うこと。添付ありで IO::All を使うので、事前に入れておく。

# cpan
> install Email::MIME
> install Email::Sender
> install IO::All

#!/usr/bin/perl
#
# メール送信サンプル
#
use Encode;
use Email::MIME;
use Email::MIME::Creator;
use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTP;
use strict;
use warnings;
use utf8;

# サブルーチンを呼んでメールを送る
&mailSend();

sub mailSend {
   my $from    = 'root@localhost';
   my $mailto  = 'user01@bar.com, user02@bar.com';
   my $subject = Encode::encode('MIME-Header-ISO_2022_JP', 'メール送信テスト');
   my $message = <<"BODY";
テストで送信するメールです

ここに本文を記載します。本文はヒアドキュメントを
利用して作成しています。

※本メールへの返信はしないでください。
BODY

  my $body = Encode::encode('iso-2022-jp', $message);

  my $mail = Email::MIME->create(
     header   => [
       From    => "$from",
       To      => "$mailto",
       Subject => "$subject",
      ],

    attributes => {
       content_type => 'text/plain',
       charset      => 'ISO-2022-JP',
       encoding     => '7bit',
     },

    body => $body,
   );

  my $transport = Email::Sender::Transport::SMTP->new({
     host => 'smtp.foo.com',
     port => 25,
   });

  sendmail($mail, { transport => $transport });
}

2018年7月5日木曜日

Perl でメール送信(MIME::Lite編) 添付ファイルあり

MIME::Lite 使ったサンプルコードを記載。今度は添付ファイルありバージョン。


#!/usr/bin/perl
#
# メール送信サンプル
#
use Encode;
use MIME::Lite;
use strict;
use warnings;
use utf8;

# サブルーチンを呼んでメールを送る
&mailSend();

sub mailSend {
   my $from    = 'root@localhost';
   my $mailto  = 'user01@bar.com, user02@bar.com';
   my $subject = Encode::encode('MIME-Header-ISO_2022_JP', 'メール送信テスト');
   my $message = <<"BODY";
テストで送信するメールです

ここに本文を記載します。本文はヒアドキュメントを
利用して作成しています。

※本メールへの返信はしないでください。
BODY

  my $body = Encode::encode('iso-2022-jp', $message);

  # コンテナを作成
   my $msg = MIME::Lite->new(
       From => "$from",
       To => "$mailto",
       Subject => "$subject",
       Type => 'multipart/mixed',
   );

  # メッセージを作成
   $msg->attach(
     Type => 'text/plain; charset="ISO-2022-JP"',
     Encoding => '7bit',
     Data => "$body"
   );

  # 添付ファイル
   $msg->attach(
       Type => 'application/octet-stream',
       Disposition => 'attachment',
       Path => '/home/foo/attachment.zip',
       Filename => 'attachment.zip',
   );

# 送信
   my $smtp = 'smtp.foo.com';
   $msg->send('smtp',$smtp);
}

Perl でメール送信(MIME::Lite編) 添付ファイル無し

MIME::Lite を使ったサンプルコードを記載。モジュールは標準ではインストールされていないので、CPANから追加して使うこと。

perldoc を読むと

WAIT!
     MIME::Lite is not recommended by its current maintainer. There are a
     number of alternatives, like Email::MIME or MIME::Entity and
     Email::Sender, which you should probably use instead. MIME::Lite continues
     to accrue weird bug reports, and it is not receiving a large amount of
     refactoring due to the availability of better alternatives. Please
     consider using something else
.

非推奨のようです。色々調べてみたのですが、技術評論社の第20回 Email::Sender:メールを送信するが詳しいです。


#!/usr/bin/perl
#
# メール送信サンプル
#
use Encode;
use MIME::Lite;
use strict;
use warnings;
use utf8;

# サブルーチンを呼んでメールを送る
&mailSend();

sub mailSend {
   my $from    = 'root@localhost';
   my $mailto  = 'user01@bar.com, user02@bar.com';
   my $subject = Encode::encode('MIME-Header-ISO_2022_JP', 'メール送信テスト');
   my $message = <<"BODY";
テストで送信するメールです

ここに本文を記載します。本文はヒアドキュメントを
利用して作成しています。

※本メールへの返信はしないでください。
BODY

  my $body = Encode::encode('iso-2022-jp', $message);

  my $msg = MIME::Lite->new(
     From => "$from",
     To => "$mailto",
     Subject => "$subject",
     Type => 'text/plain; charset="ISO-2022-JP"',
     Encoding => '7bit',
     Data => "$body"
   );

  # SMTPサーバを指定します。FQDNではなくIPアドレスでもok
   my $smtp = 'smtp.foo.com';

  $msg->send('smtp', $smtp);
}

2018年7月4日水曜日

Perl でメール送信(Net::SMTP編)

Net::SMTP を使ったサンプルコードを記載。モジュールは標準でインストールされているはずなので、CPANから追加なしで使えるはず。


#!/usr/bin/perl
#
# メール送信サンプル
#
use Encode;
use Net::SMTP;
use strict;
use warnings;
use utf8;

# サブルーチンを呼んでメールを送る
&mailSend();


sub mailSend {
   # メールを作成します。
   #
http://chaichan.lolipop.jp/perlnote/perlnote2007-09-02.htm を参考にする
   # 複数アドレスの送信ができるよう、ヘッダー部とNet::SMTPに送るデータが若干
   # 違うのがミソ

   my $from    = 'root@foo.com';
   my $mailto  = 'user01@bar.com, user02@bar.com';
   my @mailto  = split(',', $mailto);
   my $subject = Encode::encode('MIME-Header-ISO_2022_JP', 'メール送信テスト');
   my $header  = "From: $from\n" .
                 "To: $mailto\n" .
                 "Subject: $subject\n" .
                 "Mime-Version: 1.0\n" .
                 "Content-Type: text/plain; charset = ISO-2022-JP\n" .
                 "Content-Trensfer-Encoding: 7bit\n";
   my $message = <<"BODY";
テストで送信するメールです

ここに本文を記載します。本文はヒアドキュメントを
利用して作成しています。

※本メールへの返信はしないでください。
BODY

  my $body = Encode::encode('iso-2022-jp', $message);

  # SMTPサーバに接続します。FQDNではなくIPアドレスでもok
   my $smtp = Net::SMTP->new('smtp.foo.com');
   if ( !$smtp ) {
        print "メールサーバーにアクセスできません\n";
   }

  # メールを送信します。
   $smtp->mail($from);
   $smtp->to(@mailto);
   $smtp->data();
   $smtp->datasend($header);
   $smtp->datasend($body);
   $smtp->dataend();
   $smtp->quit;
}