tag:crieit.net,2005:https://crieit.net/tags/%E9%9B%86%E4%B8%AD/feed
「集中」の記事 - Crieit
Crieitでタグ「集中」に投稿された最近の記事
2022-11-29T17:08:40+09:00
https://crieit.net/tags/%E9%9B%86%E4%B8%AD/feed
tag:crieit.net,2005:PublicArticle/18319
2022-11-23T17:55:13+09:00
2022-11-29T17:08:40+09:00
https://crieit.net/posts/acea21ee905aaf3997a8f1856b504303
事故物件的なポモドーロ タイマー
<p>たのまれたので、なんとかする予定のプログラム。</p>
<p>ポモドーロタイマー。</p>
<p>ポモドーロタイマーとは、ポモドーロがイタリア語でトマト、でタイマーはキッチンタイマーのタイマー。</p>
<p>トマト キッチンタイマーなんだけど、そっちが主ではなくて、そのタイマーではかる時間のことを指している。<br />
なにかクリエーティブな作業をするときの時間配分で、2時間かけたい場合、25分間作業して、5分間休憩して、25分間作業して、5分間休憩して、<br />
25分間作業して、5分間休憩して、25分間作業して、15分間休憩してというようにすると、いい感じで集中してられる、というライフハックのことをポモドーロタイマーというらしい。</p>
<pre><code>end time 17:28:35
1 pomodoro = 25min, rest = 5min
long rest = 15min
1 pomodoro 25min -> rest 5min -> 1 pomodoro 25min -> rest 5min
1 pomodoro 25min -> rest 5min -> 1 pomodoro 25min -> long rest 15min
total 130min
pomodoro: 1
total time: 16 min
remain: 9 min
now 15:35:08
</code></pre>
<p>さっと作ってみてポモドーロタイマーを検索したらいっぱいありそう。</p>
<p>たのまれたのは、たぶんそういうのじゃないのでしばらく時間がかかりそう。</p>
<p>パピヨン本田のマンガを読んでリラックスしよう。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://twitter.com/papiyonhonda/status/1475425058684551176?s=20&t=LHttfuow8JjZmaKTEYmpQQ">https://twitter.com/papiyonhonda/status/1475425058684551176?s=20&t=LHttfuow8JjZmaKTEYmpQQ</a></p>
<p><a target="_blank" rel="nofollow noopener" href="https://mobile.twitter.com/papiyonhonda/status/1589904538404007936/photo/1">papiyonhonda</a></p>
<p>基本的には、このようなかんじか。<br />
Ruby<br />
<a target="_blank" rel="nofollow noopener" href="https://rentry.co/uf7d5">https://rentry.co/uf7d5</a></p>
<p>問題なければ、機能を付けていく。<br />
まだロジックを考えてないが、ひとまず間違いがないかチェック。</p>
<p>うん、なんかまちがっているね。</p>
<p>どこがおかしいかなということでチェックしていこう。</p>
<pre><code class="ruby">1 require 'time'
2
3 pomo = ARGV[0].to_i # 1 pomodoro durations
4 interval = ARGV[1].to_i # rest durations
5 long_rest = ARGV[2].to_i # long rest durations
6
7 one_set = pomo*4 + interval*3 + long_rest # min
8 puts one_set # min
9
10 tempotime_0 = Time.new
11 tempotime = Time.new
12 mission_finish_time = tempotime_0 + one_set*60 # sec
13 puts tempotime_0
14 puts mission_finish_time
15 minutes = (mission_finish_time - tempotime_0).to_i.div(60)
16 puts "#{minutes/60}:#{minutes%60}"
17 exit
</code></pre>
<pre><code class="ruby">60 while seconds < 60 do
61 t = Time.new
62
63 if (t - tempotime > 1)
</code></pre>
<p>のとこは</p>
<pre><code class="ruby">60 while seconds < 60 do
61 t = Time.new
62
63 if ((t - tempotime).to_i > 0)
</code></pre>
<p>こうしといて。</p>
<p>ここもおかしくなるので、</p>
<pre><code class="ruby">92 puts "remain: #{(((tempotime_0 + pomo*60)-t).to_i).div(60)} min #{(((tempotime_0 + pomo*60)-t).to_i).modulo(60)} sec"
</code></pre>
<p>これでいいんじゃない。</p>
<pre><code class="ruby">92 puts "remain: #{((tempotime_0 + pomo*60*pomodoro + resttimes*60*(pomodoro - 1)) - t).to_i.div(60)} min #{(((tempotime_0 + pomo*60*pomodoro + resttimes*60*(pomodoro - 1)) - t).to_i).modulo(60)} sec"
</code></pre>
<p>いちおう、ベースはできた。基本的にはこれで良さそう。<br />
Ruby<br />
<a target="_blank" rel="nofollow noopener" href="https://rentry.co/pvmdk">https://rentry.co/pvmdk</a></p>
<p>間違うところもよくわかったので、初めて Dart をどうやって書くのか読みながらヨチヨチと Ruby で書いたものと同じような感じにしてみる。<br />
Dart<br />
<a target="_blank" rel="nofollow noopener" href="https://rentry.co/369sd">https://rentry.co/369sd</a></p>
tomato