2008/7/27 日曜日

なんでも「あとでやる」としてしまう人が知るべき10個の真実 GIGAZINE

Filed under: 未分類 — admin @ 15:49:30

う~ん・・・これ、かなりあてはまるんだけど…

仕事の成功を妨げる原因はいろいろありますが、中でも最も頻繁に見られるのが「あとでやる」「あとで読む」「またあとで」というようにしてどんどん先送りにしてしまい、結果的に大きく遅延させてしまうというもの。

この先送りする習慣がついてしまうと、なんでもかんでもとりあえずスルーしてパスして、条件反射的に「またあとでやるから」というようにして自分で自分をごまかし続け、最終的には自分自身の仕事の業績、そして信頼などに跳ね返ってくるわけです。なんとかしなくては。

というわけで、この先送りして先延ばしにしてしまう精神構造について研究している第一人者であるシカゴのデ・ポール大学のJoseph Ferrari准教授、カナダの首都オタワにあるカールトン大学の心理学準教授Timorthy Pychylの両名による、先延ばしにしてしまう人が知っておくべき10個の真実についてです。

この10個の真実を知れば、セルフコントロールできるようになるのかも。詳細は以下の通り。

1:20%の人々は自分のことを先延ばしにする人だと認識している。
ライフスタイル自体が先延ばしすることに慣れてしまっており、時間通りにできなくなってしまっている。

2:先送りにすることを重大な問題ととらえていない人が多いが、決して取るに足らないようなことではない
なんでもかんでも先送りにしてしまうのはセルフコントロール、自己調整の問題であり、特に米国ではその傾向が強いそうです。いわゆるお国柄というやつですね。
また、先送りにする際の「理由」はただの「弁解」であり、言い訳にすぎないのでその弁解を誰も真剣に聞こうとはしなくなる、と。周囲からの評価が下がり、「あいつはああいういい加減なやつだ」という評価になっていくわけですね。

3:先送りするクセはスケジュールや時間管理の問題ではない
意外なのですが、すぐにスルーして「あとで見る」「あとで読む」「あとで返事する」「あとでやる」としてしまう人は時間の見積もりができない人というわけ ではない。ちゃんと何をするのにどれぐらいの時間がかかるのかはわかっている。しかし、ほかの人々に比べて余りにも「楽観的すぎる」そうです。
先ほどのアメリカに多く見られるというのも、この楽観主義によるところが多いのかもしれません。

4:先送りする人は直接的ではないが家庭環境から先送りすることを学んでしまっている
先送りする原因は生まれ育った家庭環境にもあるということ。権威主義的な子育てのスタイルの家庭で育つと起こりやすいそうです。
つまり、両親のうちのどちらかが権威主義的で、厳しく自分の子どもをコントロールしようとして、それがあまりにも強すぎるので子ども自身が自分で自分を律 して調整する能力、自分自身の意図した行動の結果によって何が起きるかということを学ぶことができなくなってしまう、と。そしてそういう親からの支配に対 する「反抗」という形で「先送りにする」という行動が出てくるそうです。
先送りする人はこの家庭環境があるが故に、家族よりも友人の影響を受けやすくなり、そしてこの友人たちによってさらに先延ばしにする習慣が強化されるとの こと。なぜなら、この先延ばしにすることを許容してくれる人、そして先延ばしにする言い訳を許容する人を友人に選んでしまうため。悪循環の開始です。

5:アルコールの消費量が多い人ほど先送りする傾向も強い
先送りにする人は要するに自己調整、セルフコントロールができない人なので、必然的に飲酒なども適量で済ますということはなく、結果的にアルコールを他の人よりも大量に摂取してしまう結果になるそうです。アルコールに限らず、薬物乱用などにも同じように陥りやすいらしい。

6:先送りにする人は自分で自分に嘘をつく
自分の嘘をつく感覚を守るために「これは重要ではない」というように自分に言い聞かせるそうです。そしてさらに別の嘘として、締め切りが迫ってくるプレッシャーがあるときほどよりクリエイティブになれる!などというようなことを考えてしまうらしい。
例えば「今は明日にコレをやりたい気分だ」「期日が迫ってるプレッシャーがないと仕事をする気になれない」などというようにして自分に嘘をつく。しかし実 際には次の日にやるという気分でもないし、プレッシャーがあればいい仕事ができるわけでもない、と。結果的には無駄に時間を浪費しているだけというわけで す。

7:積極的に注意散漫になりがちなことを行う傾向が強い
自分の注意を本来やるべき事からそらすことによって、本来やるべきことをやって失敗するという恐怖から自分の感情や自分自身を保護してしまうそうです。
例えば、電子メールを必要もないのにこまめにチェックするなど。本来やるべき仕事よりも電子メールが何か来ていないか?ということの方が非常に気になるというわけです。試験前に掃除したくなるという人をちらほらと見聞きしますが、あれも同じ理屈かも。いわゆる現実逃避。

8:先延ばしにする人には典型的な3種類のタイプがある
・覚醒タイプ:危機的状況まで何もしないことにスリルを感じる人。締め切りぎりぎりで大あわてで仕事をこなすことに幸福感を覚える。締め切 りぎりぎりまで先延ばしにして超特急で仕事をこなし、終わってから「ああ、いっぱい仕事した~♪」というような感覚を覚える人のことです。つまり、ぎりぎ りまで放置した反省がどこにもない。
・回避タイプ:失敗する恐怖を回避するため、もしくは成功する恐怖を回避するために先延ばしにしてしまう人。これは決して能力不足なのではなく、努力することを怠っているのが原因らしい。いわゆる「やる気になってやればできるのに」という人。
・意思決定不能タイプ:決断ができない人のこと。決断することによって発生する出来事の結果を恐れるため、意思決定することを先延ばしにしてしまう。

9:先延ばしにすると結果的に多大なるコストがかかる
先延ばしにする人は要するに自己管理能力も低いため、結果的に健康に対する害も大きいそうです。風邪やインフルエンザにかかりやすく、胃腸障害も発生しや すい、それどころか不眠症にもかかりやすい、と。それだけでなく、先送りにして遅延させた結果の責任を他者に転嫁するため、仕事のチームワークを乱し、私 的な関係をも破壊してしまう、と。確かになんでもかんでも先送りにし続けるような人がいれば仕事は進まないし、約束も期日通りに守ってくれないのであれば プライベートでも頼りにはされなくなるので必然的につきあいが疎遠になっていくのは当然か……。つまり、あまりにも多くのコストを支払ってしまうというわ け。

10:先延ばしにする人であってもその行動を変えることはできる
ではどうすればこの先延ばしにしてしまう自分を変えることができるのか?変えるには多くの精神的なエネルギーが必要ではあるが、「認知行動療法」によって改善可能だそうです。

なお、以上の記述は以下の記事をベースにして書かれています。

Psychology Today: Procrastination: Ten Things To Know

ソースFrom:GIGAZINE

PHPでのsocket通信 メモ

Filed under: 開発メモ — admin @ 15:40:23

 <?php
// エラーのタイプ
error_reporting (E_ALL); // サポートされる全てのエラーと警告

// プログラム開始
echo “プログラムを開始しました。\n”;

// スクリプトが実行可能な秒数を無制限に設定
set_time_limit (0);

// 出力関数のコールが行われるたびに自動的にフラッシュ操作が行う
ob_implicit_flush ();

// サーバーのIPアドレス
$address = ‘192.168.24.66′;

// 使用するポート
$port = 10001;

// IPv4インターネットプロトコル
$domain = AF_INET;

// 時系列的、高信頼性、全二重、接続型のバイトスト リーム(何の事やらさっぱり)
$type = SOCK_STREAM;

// 最大キュー数(どこで役になってるかよく分からん)
$backlog = 5;

// ソケットを作成する
if (($sock = socket_create ($domain, $type, 0)) < 0) {
echo “ソケットの作成に失敗しました。” . socket_strerror ($sock) . “\n”;
}else{
echo “ソケットを作成しました。\n”;
}

// ソケットに名前をバインドする
if (($ret = socket_bind ($sock, $address, $port)) < 0) {
echo “バインドに失敗しました。” . socket_strerror ($ret) . “\n”;
}else{
echo “名前をバインドしました。\n”;
}

// ソケット上で接続をモニタする。
if (($ret = socket_listen ($sock, $backlog)) < 0) {
echo “接続待ちに失敗しました。 ” . socket_strerror ($ret) . “\n”;
}else{
echo “モニター開始しました。\n”;
}

// クライアントリスト(配列)を作る
$clients = array($sock);

// break 2 するまで繰り返し
while (true) {

// クライアントリストをコピっとく
$read = $clients;

// ブロックの監視
$write = NULL;

// 例外の監視
$except = NULL;

// 有効時間
$tv_sec = 3600; // マニュアルには0でOKってあるけど、0にするとループして処理落ちする

// ソケットの配列を受け取り、 指定した有効時間の間それらの状態が変化するまで待ちます。
if (socket_select($read, $write, $except, $tv_sec) < 1){

// 最初に戻る
continue;

}

// 新規に接続しようとするクライアントがいる場合
if (in_array($sock, $read)) {

// ソケットへの接続を許可する。
if ( ($newsock = socket_accept($sock)) < 0) {
echo “接続許可に失敗しました。 ” . socket_strerror ($newsock) . “\n”;
continue;
}

// クライアントリスト(配列)に追加する
$clients[] = $newsock;

// 現在の接続人数
$clientCnt = count($clients) - 1;

// 接続者のIPを取得
socket_getpeername($newsock, $ip);

// 出力する文字
$msg = “==================================\r\n”.
“サーバーに接続しました。\r\n” .
“終わりたいときは’1′押して。\r\n” .
“サーバーを止めたい時は’2′押して。\r\n” .
“==================================\r\n”;

// クライアントへ文字の出力
socket_write($newsock, $msg, strlen($msg));

// 出力する文字
$msg = “「{$ip}さんが来ましたよ。(今{$clientCnt}人)」\r\n”;

// 全てのクライアントにログインを報告
foreach ($clients as $send_sock) {

// #4を無視
if ($send_sock == $sock ){
continue;
}

// クライアントへ文字の出力
socket_write ($send_sock, $msg, strlen ($msg));

}

// サーバーに文字の出力
echo $msg;

// 発言用のforeachが発動しないようにunset
$key = array_search($sock, $read);
unset($read[$key]);

}

// 発言のあるクライアントの数だけループ(奇跡の同時入力でも行われない限り大抵1個)
foreach ($read as $read_sock) {

// クライアントIP
socket_getpeername($read_sock, $read_ip);

// ソケットから(最大2048バイトまでの)入力データを読込む
$buf = socket_read($read_sock, 2048);

// 接続が確認出来ない場合
if (FALSE === $buf) {

// クライアントリストから削除
$key = array_search($read_sock, $clients);
unset($clients[$key]);

// 現在の接続人数
$clientCnt = count($clients) - 1;

echo “「{$read_ip}さんが切断されました。(今{$clientCnt}人)」\n”;

// 次のクライアントへ
continue;

}

// 空白除去して中身が空っぽだったら次のクライアントへ
if (!$buf = trim ($buf)) {
continue;
}

// 1だったらクライアントの終了
if ($buf == ‘1′) {

// クライアントリストから削除
$key = array_search($read_sock, $clients);
unset($clients[$key]);

// ソケットを切断する
socket_close ($read_sock);

// 現在の接続人数
$clientCnt = count($clients) - 1;

// 出力する文字
$msg = “「{$read_ip}さんが帰りました。(今{$clientCnt}人)」\r\n”;

// 全てのクライアントにログインを報告
// あれ?どっかで同じ処理みたぞ。
foreach ($clients as $send_sock) {

// #4を無視
if ($send_sock == $sock ){
continue;
}

// クライアントへ文字の出力
socket_write ($send_sock, $msg, strlen ($msg));

}

// サーバーに文字の出力
echo $msg;

// 次のクライアントへ
continue;

}

// 2だったらソケットサーバーの停止
if ($buf == ‘2′) {
// ソケットを切断する
socket_close ($read_sock);
break 2;
}

// 全てのクライアントに発言を送信
// あれ・・・また同じ・・・
foreach ($clients as $send_sock) {

// #4を無視
if ($send_sock == $sock ){
continue;
}

// 自分の発言の時は改行コードだけ出力する
if($send_sock == $read_sock){
socket_write ($send_sock, “\r\n”);
continue;
}

// 出力する文字
$talkback = “{$read_ip}:{$buf}\r\n”;

// クライアントへ文字の出力
socket_write ($send_sock, $talkback, strlen ($talkback));

}

// サーバーに文字の出力
echo “{$read_ip}:{$buf}\n”;

}
}

// ソケットを閉じる(サーバーの終了)
socket_close ($sock);

?>

参照元トラックバックURL
http://d.hatena.ne.jp/codeweb2/20080112/1200081048

Perlでのsocket通信

Filed under: 開発メモ — admin @ 1:29:54

Perlによる共通鍵暗号方式でのSocket通信。クライアント部分。

DESは8ビットしか(超・未満)暗号化できないけれど、Crypt::CBCを使えば8ビットを超えるのデータも8ビットずつ暗号化してくれます。8ビット未満の最後の端数もうまいこと処理してくれます。ローカルの入出力はいい加減です。

※DES以外の暗号化方式も処理できます。

#!/usr/bin/perl

use strict;
use warnings;
use IO::Socket;
use Crypt::CBC;
use utf8;

open (IN,”sock_crypt.txt”); #暗号化したいデータ
binmode IN;

# オブジェクト作成
my $cipher = Crypt::CBC->new({’key’             => ‘aaaaaaaa’, #鍵パスフレーズ
‘cipher’          => ‘DES’, #暗号化の方法
‘iv’              => ‘$KJh#(}q’, #初期ベクトル
‘regenerate_key’  => 0,
‘padding’         => ’standard’,
‘prepend_iv’      => 0
});

# 暗号化
my $ciphertext = $cipher->encrypt(<IN>);

my $sock = IO::Socket::INET->new(PeerAddr => ‘xxx.xxx.xxx.xxx’, #送信先サーバのIPアドレス
PeerPort => ‘xx’, #送信先サーバのListenポート番号
Proto => ‘tcp’); #プロトコル

$sock->send($ciphertext); #送信

#送信後、何か受けるものがあれば下記で受信
my @recv = <$sock>;
close($sock);
print @recv, “\n”;

HTML convert time: 0.167 sec. Powered by WordPress ME