fopenの備忘録

日記とか最近学んだこととか

ポモドーロテクニックの自己拡張

ポモドーロテクニックは割と有名なテクニックなので「何それ?」と聞く方はあまりいないと思うけれど、基本だけ一応。

1.25分を1ポモドーロとしてタスク分けされたToDoリストを作成する。

2.タイマーをスタートして25分間はToDoリストのタスクに集中する

3.1ポモドーロが終われば5分間の休憩をはさむ。4の倍数のポモドーロが終わると30分の休憩をはさむ。

大まかに分けてこれがポモドーロテクニックの概要です。

ルールではないけれど(個人的に)気を付けている点

 

頑張れば確実に25分でこなせる目標を設定をする(←超重要)

目標を設定することによって脳からドーパミン分泌される

目標を達成することによって脳からドーパミン分泌される

からです。ついでに、制限時間最後にはノルアドレナリンが分泌されるので記憶に定着しやすいので、勉強中もおすすめです。

ドーパミンをたくさん分泌させることによってより達成感を得ることができ、俄然楽しく、やる気が出てきます。

 

割り込み中は時間を止めない

個人的に、ポモドーロ中は時間を止めてはいけないものだと考えている。

親から「買い物に行ってきて」「洗濯して」「風呂入って」と言われた際にポモドーロタイマーを止めてしまうとどうしても会話が発生して生産性が落ちてしまうからだ。

しかし、ポモドーロタイマーを止めないことで、ポモドーロの残り時間が無くなるのが見える。

すると不思議なことに、嫌な作業であっても「時間がもったいない」と思うのである。

そして、「今ポモドーロ中。後○○分で終わるから待って」のテンプレートで会話を終わらせることができる。

そして、どうしてもその時にしなければならない急用が入ったときは、ポモドーロを「一時停止」するのではなく「破棄」することにしている。

 

1ポモドーロは25分

1ポモドーロ50分でやってる。という人は意外と多い。それが肌に合う。職場環境に合うのなら全く問題はないし、自己流を通してほしいと思います。

しかし、個人的に初心者には25分をお勧めします。

まず、50分通して集中して作業できる人は一握りしかいないからです。

人の集中力がMAXの状態を維持できるのは最大で15分だといわれており、初頭努力と終末努力(作業の最初と最後は集中力がアップする心理現象)を最大限に発揮できるのが25分だからです。

次に、割り込みに対する罪悪感の軽減です

先ほどお話しした割り込みに対する処理ですが、「今ポモドーロ中。後○○分で終わるから待って」と言った時です。

「あと5分だけだからちょっと待ってて」と「あと30分だからちょっと待ってて」だと結構な差があると思います。30分も待たせてしまって申し訳ないなと思いながら作業をしても集中できないと思うので。

 

記録を取る

一日の最後に、実際に行ったポモドーロ数や、予定していたポモドーロと実際に完了できたポモドーロの差などを記録する。

大抵のアプリにはそんな機能が搭載されているので、一日の最後に見てみるとよいと思います。

この記録をとる行為は一見無駄に見えて超重要です。「PDCAサイクル」というこれまた有名なテクニックがありますが、それの最後Action(改善)を行うフェーズですね。これを実行し、自分のできる作業量(キャパシティ)を把握することによって「頑張れば確実に25分でこなせる目標を設定する」ことが可能になります。

ちなみに、PDCAサイクルはPlan(計画)→Do(実行)→Check(評価)→Action(改善)を繰り返して改善することです

 

以上が実践してきた中でよいと思った方法ですね。

それでは、ポモドーロを楽しんでください。

CTF for ビキナーズ 奈良 A&D参加記

CTF for ビギナーズ2015奈良A&Dに参加してきました。

f:id:hamachanblog:20151020192921j:plain

会場は何とも長ったらしい名前の奈良先端科学技術大学院大学というところだった。
(会場の御提供ありがとうございます。)

4人以下のチームという制約の下、僕が学校で授業を受けてる内に、セキュリティキャンプで仲良くなった大学生たちが4人のチームを結成したため僕は個人参戦となった。

しかし、実際開場に行ってみるとセキュリティキャンプで友達になった@tokky_cppと知らない方が2人待合室のような場所で待っていた。 

割と早めに着いたので、その3人と5分間位駄弁っていると、僕が一人と知った@PINKSAWTOOTHが「いまチームが3人だからよかったら入ってくれないか?」とチームに誘ってくれた! 

その後に開場に着いたチームのメンバーである@tkmru,@asakasakasasも快く受け入れてくれてとても嬉しかった! 

個人参戦からいきなり3人チームへの移行を許してくれた運営さんや席の移動に協力して下さった方々にも感謝!

晴れてチーム友利奈緒として参戦出来た!

f:id:hamachanblog:20151020192645j:plain

 

 この後ルール説明やチュートリアルなどが1時間ほどあったが、角度的に殆どスライドが見えないのでパソコンをいじっていた…これが後で響くこととなった。

 

チュートリアルが終わって、50分の休憩が入った。

お昼ご飯をみんなで食べる時間だ。チームメンバーと一緒に食べようと思ったけれど、チームのメンバーは他に仲の良さそうな人がいたので、セキュリティキャンプで仲良くなった@tokky_cpp,@HighHigh_hill,@K_atcと僕との4人でご飯を食べた、他に@tikuwachan_naraも参加予定だったが寝坊したらしくCTFには間に合ったものの一緒にご飯を食べることはできなかった…本当に残念。

ご飯を食べる直前、ここのご飯は噂によると美味しくないという情報をもらったが、この3人で食べる料理はまずくても美味しく感じた。ひさびさに会って話すのが楽しくてしょうがなくて、大学のオススメとか、入った理由とか聞きたいなーと思っていたがすっかり忘れて雑談をしてしまった(当方高校生)

ご飯を食べ終わって競技まで残り10分となったところで「よし、そろそろ行こうか」と言ってしまったのだが、いま気づけば一番食べるのが遅かった僕を待ってくれていたのだから最初に「待ってくれてありがとう」と3人に一礼入れるべきだったと反省。。。

 

 いよいよ競技

 脆弱性のあるWebサービスSSHが動いている状態の環境を渡される。5分おきにサービスの生存確認が行われて、サービスを提供し続けるとDefense点が加算、個人情報を抜くとAttack点が、個人情報を取られるたチームはAttack点の分Damage点として減算されるというルールだった。

 競技が開始した時、チュートリアルを聞いていなかったせいで、相手のサーバーのipアドレスが分からない(攻撃できない)という状況に陥った。そして同じサービスが提供されているということも聞いていなかった「ソースコードが見れるということですね」というアナウンスは聞いていたのにパソコンに集中していて意味を吟味しなかったので本当に後悔。

取り敢えずsshで自分たちのサーバーにログインして内部がどんな感じになっているのか見ていた。(自分のサーバーを持ったことがないのでsshの使い方を調べる所から入った)ddコマンドでImportant_dataというバイナリのダミーファイルを作ったりしてちょっと遊んでいた←バカ

そうこうしている内に@PINKSAWTOOTHがtcpdumpラズベリーパイにインストールしていた。これによりアタックしてきている相手のipアドレスが丸裸になり、iptablesで自分たちのIPアドレスとサービスの生存確認しているIPアドレス以外をフィルタリングすることにした。これにより、サービスを安定して提供し続けることができ、点数を稼いだ。

攻撃は殆どできなかった、僕の唯一の功績である脆弱性の発見も攻撃に繋げる技術がなく失敗に終わった。

@PINKSAWTOOTHの功績ばかり言っているけれど、もちろん@tkmru,@asakasakasasも大いに活躍してくれた、しかし席が向かいだったためあまり状況を見れていなかった。申し訳ない。

期待されていた割には全くチームに貢献できなかったがとても楽しかった!チームに誘ってくれた@PINKSAWTOOTH、チームへの参加を受け入れてくれた@tkmru,@asakasakasas本当にありがとう!これからもよろしくお願いします。

 

反省点

・競技に集中しすぎるよりみんなでもっと話し合う
皆自分のことで精一杯だったと思うけれど、チーム内の状況の把握、やサーバーを落とすかどうかの相談などはみんなで一斉に相談して早急に判断を下すべきはないか。

・スコアなどの監視
事前に簡単なスクレイパーでも作っておいて、watchコマンドとかと兼用してスコアの変化などを監視しやすくすることだったり、周りの動きや情報をより早く収集することが大切だと思いました。