2022.05.21 Scrum Fest Niigata 2022 Main Hall 10:00-10:45 Proposal https://confengine.com/conferences/scrum-fest-niigata-2022/proposal/16425
「タイムゾーン呪いの書」は、もともと 2018年に Qiita に投稿した記事でしたが、大幅な改訂を 2021年におこない、同時にこちらの Zenn に引っ越すことにしました。 この改訂では Software Design 誌の 2018年 12月号に特集の一章として寄稿した内容も取り込みつつ、夏時間をめぐって各地で起きつつある変化について 2021年 6月現在の状況なども追加しました。そんな追記もしていたら記事全体が長大になってしまったため、この「知識編」と、「実装編」・「Java 編」に記事を分けました。「知識編」は、導入にあたる第一部です。 Qiita のほうは、引っ越した旨とこの引っ越し先へのリンクだけ追記して、しばらくそのまま残すつもりです。 はじめに タイムゾーンという概念のことは、ほとんどの人が聞いたことがあると思います。ソフトウェア・エンジニアでも多くの方が、時刻やタイムゾ
タイトルに惹かれて「限りある時間の使い方」を読んだ.僕は日常的に "忙しく時間がないなぁ..." と感じることが多い(忙しいフリをしているだけの可能性もある).やりたいことは多いけど全然処理しきれず,常に何かしらを犠牲にしているというモヤモヤもあって,本書を読んでみることにした. 僕自身は "意識高い" 自己啓発本が大好きではあるけど,本書はそういった「ライフハック本」ではなく,○○をしろ!○○はするな!という内容ではなかった.もっと哲学的な内容が多く,根本的な "何か" を気付かせてくれる感じで,人生や時間について考えながら読み進めることができた.また本書で繰り返し出てくる「生産性オタク」や「完璧主義者」はまさに僕自身のことを揶揄しているようにも感じられて,時間をコントロールしているはずなのに常に何かに追われているという点は非常に刺さった.他にも刺さった箇所は「読書メモ」に箇条書きにして
2023年、私はneccoでCTO兼フロントエンドエンジニアをしながら、専門学校の外部講師をつとめ、さらに本を一冊書き上げました。そのかたわら、STUDIOのユーザーフォーラムにTips記事を投稿したり、個人開発アプリをメンテナンスしたりもしていました。そして主婦として、毎日、自炊や洗濯などをこなし、老猫の介護も行っていました。私よりも忙しそうな人はたくさんいるものだとは思うものの、1日が24時間しかない中で、これらの膨大なタスクをこなすのは私にとって大変なことでした。 そんな私の支えになっていたのが「時間記録」でした。その内容はシンプルで、やるべきことをリストアップしたら、そのタスクごとにかかった時間を計測、記録していくというものです。 身体が「食べたもの」で作られるとしたら、人生は「やったこと」で作られると思っています。時間を記録していくことで、毎日の自分の行動を可視化できるようになり
閏年(うるうどし)の話題。 Twitterで見かけた話題で「西暦1年は閏年かどうかぱっとわからん人おる?」という些か煽り気味のツイートを見かけたのだけども、反射的に「閏年じゃないに決まってるじゃん」とぱっと答えてしまわないだろうか。本当にそうだろうか? そう単純な話なのだろうか? プログラミングを学んでカレンダーを扱うことを学ぶ際に置閏法についても簡単に触れられることがある。置閏法というのは閏年や閏月(太陰暦では1年が13ヵ月になるケースがあり追加の月を閏月と呼ぶ)をどのようなルールで挿入するかという話で、まさにアルゴリズムであるからプログラミングの話題と相性がいい。 置閏法 現代の西暦の置閏法(ちじゅんほう)は 西暦を 400 で割り切れる年は閏年 上記以外で西暦を 100 で割り切れる年は平年 上記以外で西暦を 4 で割り切れる年は閏年 上記以外は平年 といった手続きで閏年(つまり2月
原子時計を地球の自転に合わせるために半世紀にわたって用いられてきた「うるう秒」が段階的に廃止される。こうした調整の技術的リスクを懸念するテクノロジー大手にとっては、うれしい話だ。 時間の管理に携わる世界各国の当局が現地時間11月18日、国際度量衡局(BIPM)の会議で、うるう秒の利用停止を投票で決めた。 BIPMは、うるう秒廃止の理由について、「うるう秒の採用によって生じる不連続が、衛星ナビゲーションシステムや通信、エネルギー伝送など重要なデジタルインフラに深刻な誤動作をもたらすリスクがある」と述べている。 変更は2035年までに実施される予定だ。新たな方針は、今後100年以上使えるように策定されている。 これほど正確な時間管理は、難解な科学の領域のように思えるかもしれないが、コンピューターがタスクを常時追跡し、適切な順番で動作するようにしなければならないデジタル時代には、極めて重要なこと
いつも時間に追われている、仕事漬けなのに成果が伴わない、プライベートを楽しむ暇がない……こんな悩みを抱えている人も多いのではないでしょうか。『結果を出してサクッと帰る 神速時短』の発売を記念して開催された本イベントでは、著者であり国際エグゼクティブコーチ/企業研修講師のヴィランティ牧野祝子氏が登壇。本記事では、世界10ヶ国で20年以上会社員をしてきた牧野氏が、グローバルリーダーが実践している「神速時短サイクル」について解説します。 前回の記事はこちら 仕事漬けなのに生産性が低い日本 ヴィランティ牧野祝子氏:海外の方を見ていると、みんながみんなじゃないですが、平均的に仕事に必要以上に時間を使っていない。でも、生産性が高く幸せ。ここで言っているのは、個人の生産性というよりも、チーム、会社、国、全体を見た時の生産性になります。 日本(のビジネスパーソン)は仕事漬けで、生産性が国として全体的に低く
ぱらしゅー @parasyuu 二時間目と三時間目の間の休み時間は「20分休み」って呼ばれてた。それを30分に延ばした教師がいたけど、代わりに屋内遊び図書館を禁止にされたから、外に出て居場所がなくぽつんとしてたな… twitter.com/cule4_fcb/stat… SE_YA🌟ベイ垢 Next 4/12.14.27 @SE_YA_BAY_AKA 2時間目と3時間目の間にある30分くらいの中休みでドッチボールして、給食食べたあとの15分ある昼休みでドッチボールしてたの懐かしい、、 んで毎週月曜日かな?にあった掃除の時間も昼休みになるロング昼休みでドッチボールしてたの懐かしい、、 6年生の最後の方は校内鬼ごしてたなぁ🤣 twitter.com/cule4_fcb/stat…
Windows 10の時刻同期の設定方法として紹介されているものは、すべて間違っている。正しい方法であれば数ミリ秒レベルの誤差に収まるのに、それとは程遠い方法しか紹介されていない。 Windowsには比較的まともなNTPクライアントが実装されている。NTPクライアントに普通に仕事をさせるだけで、最悪でも数ミリ秒の精度は出せる。 最初にするのは、NTPクライアントが動き続けるようにする設定である。何も設定しないと、一回の時刻合わせのためにときどき動くだけで、NTP本来の継続的な時刻調整が行われない。 管理者として起動したコマンドプロンプトで以下のように入力すると、IPアドレスが付与されている間はNTPクライアントが動き続ける。 sc triggerinfo w32time start/networkon stop/networkoff この設定で「サービス」の「Windows Time」が「
(CNN) 米上院は15日、全米で夏時間を恒久化する法案を、全会一致で可決した。 法案が成立するには今後さらに下院を通過し、バイデン大統領の署名を得る必要がある。 夏時間は毎年3月~11月の間だけ時計の針を1時間早める制度。恒久化法案は民主、共和両党の議員らが共同で提出し、超党派の支持を得た。 提案者のルビオ議員(共和党)は議場で「私たちはつい先週末も、時計を前後に動かす年2回の混乱を経験したばかりだ」「法案を成立させることができれば、この愚行を繰り返す必要がなくなる」と語った。 ルビオ氏はまた、交通機関からスケジュール調整の準備期間が必要との声があったことを受けて、施行の時期は来年11月に設定したと説明。 下院での審議は確約されていないとしたうえで、恒久化に踏み切る時は来ているとの見方を示した。
とあるプロジェクトでナノ秒からミリ秒への変換で四捨五入してきた人がいて、時刻を扱うときは保存精度未満は切り捨てるべきというのが常識になっていないなーと思ったので。 2023-10-01 を、何年か表示する時に、2024年に丸める人はいないだろう。 13:45 が何時か表示する時も、13時と表示するだろう。(口頭で何時?と聞かれたら14時と答えるかもしれないけれど) つまり、ある精度で表した時刻は、実際には次のような半開区間を示しているのである。 2023-01-01 00:00:00 <= 2023年 < 2024-01-01 00:00:00 13:45:00.000 <= 13:45 < 13:46:00.000 そして、そう決めたからには一貫して同じように、指定精度未満は切り捨てというルールを維持しなければならない。秒以下は四捨五入で、とかやってはいけないのだ。 一貫しないと何が問題
ここ数年、組織の拡大に伴い、過去にはやらなかった取り組みを始める機会が増えた。特に大きな変化の一つが、デザイナーやエンジニア、ライターといったクリエイターたちの作業時間や作業項目を細かく記録する「工数管理ツール」を全社導入したことである。 工数管理のメインツールとしては、freeeさんが提供している「freee工数管理」を使用している。 UIに優れた便利なツールで、Googleカレンダーと連動させることでかなりの入力を自動化できるが、プロジェクト単位や人単位の集計など、標準機能では提供されていないレポートもあったので、このツールで出力されるデータを元にプロジェクト別/人別に表示できるツールも自作した。 なお、このツールを、freeeさん協力の下、外部にも販売することになった。ご興味がある方は、文末にも掲載しているLPからお問い合わせください。 導入の経緯 業界によっては、「なんでこんな当た
JavaScript での時刻操作に Moment.js ではなく Day.js を利用し続けている理由2020/09/21 昨日、拙作の Nuxt.js プラグインである @nuxtjs/dayjs の v1.2.0 をリリースしました。 このプラグイン自体は2019年3月に開発をはじめて、おおよそ一年半ほど管理してるのですが、それ以前から JavaScript での時刻操作では Day.js を使ってきました。 Moment.js のプロジェクト終了が告知され、時刻操作ライブラリに注目が集まっていることなので、今一度 Day.js の採用理由についてまとめてみます。 Day.js について iamkun によって開発されている時刻操作のライブラリです。Moment や date-fns などは Organization によって管理されていますが、時刻操作ライブラリとしては珍しく個人に
moment.js や day.js と似たインターフェースを実装した高速・軽量の JavaScript ライブラリ『cdate』をリリースしました。→ https://www.npmjs.com/package/cdate cdate の主な特徴: moment.js や day.js、Luxon よりも高速 moment.js と同じ .format("YYYY-MM-DD HH:mm:ss") 出力フォーマットに対応 strftime と同じ .text("%Y-%m-%d %H:%M:%S") 出力フォーマットに対応 moment.js と同様に .add(1, "month").startOf("week").endOf("day") のような計算に対応 .tz("Asia/Tokyo") あるいは .utcOffset("+09:00") のようなタイムゾーン(時間帯)指定に対
このコーナーでは、2014年から先端テクノロジーの研究を論文単位で記事にしているWebメディア「Seamless」(シームレス)を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 X: @shiropen2 イタリアのフィレンツェ大学などに所属する研究者らが発表した論文「Magnetic clock for a harmonic oscillator」は、時間が量子もつれから生じるという理論モデルを提唱した研究報告である。研究チームの計算結果は、時間が物理的現実の基本的な要素ではなく、量子もつれの結果として生成されたものである可能性を示唆している。 (関連記事:「なぜ時間は過去→未来にしか進まない?」を“量子もつれ”で説明か 未解決問題「時間の矢」に切り込む) 一般相対性理論では、時間は宇宙の構造に組み込まれており、この物理的現実は時空に設定されている。こ
そもそも腕時計自体つけてる人がほとんどだったし、家族も、友人も、学校の先生にも、「5分進めてる」みたいな人はいっぱいいた。なんなら「15分進めてる」みたいな人もいた。なんなら最長で「30分進めてる(ドヤァ)」も会ったことある。 いまだに5分進めておくHACKでできる社会人!みたいなこと言ってるコンサルもいるっぽいけど、まあ死んだ文化。とどめ刺したのは日差の少ないクオーツ時計やら電波時計やらではなく携帯の普及でしょうね。 22歳の新人に話したら「なんでそんなことするんですか…?自分で5分進めてそのこと知ってるんですよね…?何が変わるんですか…?」と心から困惑された。それはそう。 自動巻きで毎日数分も時計がずれるような時代はともかく、平成の、そこそこ正確な腕時計が普及してたあの頃にもあんなに「5分進めてる」人がいたこと、自分も不思議に思ってる。
Sections What is time Representing time Where do we usually find time on Unix System time, hardware time, internal timers Syncing time with external sources What depends on time Human perception of time What is time Time is relative Measuring time and standards Coordinating time Time zones DST Time, a word that is entangled in everything in our lives, something we’re intimately familiar with. Keep
ウクライナのゼレンスキー大統領は、アメリカの雑誌「タイム」に対して「最も恐ろしいことは戦争に対する慣れだ」と述べ、大統領の側近は、欧米側から必要な軍事支援を受けられていないとして大統領は裏切られたと感じていると明らかにしました。 アメリカの雑誌「タイム」が10月30日付けで報じたところによりますと、ゼレンスキー大統領はことし9月、アメリカを訪問したあとに応じた取材の中で「最も恐ろしいことは戦争に対する慣れだ。戦争疲れの波が押し寄せアメリカやヨーロッパでも見られる」と述べたということです。 また、大統領の側近は「タイム」に対して「欧米側は戦争に勝つ手段を与えずただ生き延びるだけの手段しか提供していない。大統領は欧米側に裏切られたと感じている」と述べました。 また、別の側近は、これまで作戦会議で雑談をしたり冗談を言ったりしていたゼレンスキー大統領について「いまでは、最新の情報を聞いて指示を出し
tl;dr キーワードは「monotonic clock」です。 あらすじ Goで以下のようなコードを書いていた*1*2。あるAPIを叩くクライアントで、APIコールに必要なアクセストークンを4時間キャッシュしている。c.getToken() で得られたトークンを使ってAPIコールを行えばよい。 type Client struct { mu sync.RWMutex expiresAt time.Time token string } // トークンのキャッシュがあればキャッシュから返し、なければ更新してから返す func (c *Client) getToken() string { if cachedToken, ok := c.getTokenFromCache(); ok { return cachedToken } return c.refreshToken() } // トー
Published 2023/11/03 18:39 (JST) Updated 2023/11/03 18:49 (JST) 【キーウ共同】ウクライナのゼレンスキー大統領が対ロシア戦勝利に固執し、新たな戦略や方向性を打ち出すのが難しくなっているとの匿名の政権高官発言を米誌タイムが報じ、波紋を広げている。侵攻が長期化し、国際社会の支援継続が不透明さを増す中、政権内部の不和を示唆する内容。側近は火消しや発言者捜しに躍起になっている。 記事は10月30日に公開された「ゼレンスキーの孤独な戦い」。ロシアやウクライナでの取材経験が豊富な記者によるゼレンスキー氏本人や複数の政権関係者へのインタビューを基にしている。 ゼレンスキー氏は「私ほど勝利を信じている人間は誰もいない」と訴えたが、側近の一人は「大統領の頑固さが、戦略や方向性を示そうとする政権の努力に水を差している」と指摘。全土奪還にこだわるゼレ
https://github.com/Songmu/flextime flextimeはテストコードの中で現在時刻を切り替えるためのライブラリです。Sleep時に実際に時間を止めずに時間が経過したように見せかける機能もあります。 つまり、PerlのTest::MockTimeやRubyのtimecop的なことをしたいわけですが、Goだとグローバルに関数の挙動を切り替えるといったことはできないため、利用にあたってはtimeパッケージで使っている関数を、flextimeパッケージに切り替える必要があります。 具体的には、flextimeはtimeパッケージと同様のインターフェースを備える以下の9つの関数を提供しています。 now := flextime.Now() flextime.Sleep() d := flextime.Until(date) d := flextime.Since(da
44歳で米マイクロソフトに転職し、4年前からアメリカでAzure Functionsというクラウドサービスのエンジニアとして働いている牛尾剛さん。「世界一流のエンジニア」と仕事をする中で気が付いたのは、彼らも全員が天才というわけではなく、「思考法(マインドセット)」が高い生産性を形作っているということだった。 実は30代でADHDだと診断された牛尾さんは、不器用さやぐったり疲れる感覚に悩んでいた。だからこそ不得意な仕事でも生産性を上げることを研究してきたという。できるプログラマとできないプログラマの差は25倍あると言われるソフトウェアの世界の中で、牛尾さんが見出したマインドセットを綴った『世界一流エンジニアの思考法』より、一部を抜粋して紹介する。 生産性を上げたければ定時上がり 皆さんも、長時間労働はかえって効率が悪いという話は聞いたことがあるだろう。長年、私もそのぐらいの認識はあって、昔
Go言語でstrftime・strptime相当の関数を提供するライブラリを実装しました。 t, _ := timefmt.Parse("2020/07/24 09:07:29", "%Y/%m/%d %H:%M:%S") fmt.Println(t) // 2020-07-24 09:07:29 +0000 UTC str := timefmt.Format(t, "%Y/%m/%d %H:%M:%S") fmt.Println(str) // 2020/07/24 09:07:29 str = timefmt.Format(t, "%a, %d %b %Y %T %z") fmt.Println(str) // Fri, 24 Jul 2020 09:07:29 +0000 なぜ作ったか Go言語の標準ライブラリには日時と文字列を変換する関数がありますが、2006年1月2日の15:04
はじめに こんにちは。newmoでソフトウェアエンジニアをやっている@tenntennです。 newmoには2024年8月に入社しました。この記事を書いているのは2024年9月なので、入社してだいたい1ヶ月ちょっとが経過したところです。 なお、筆者が入社した経緯などは次の記事を読んでください。 note.com 入社した当初、newmoのバックエンドコードのコードを眺めていると、次のように宣言された関数を見つけました。 func Now(_ context.Context) time.Time { return time.Now().In(time.UTC) } 単にtime.Now関数を呼び出して、LocationをUTCに設定しているだけです。 しかも、引数はブランク識別子になっているので使用していません。 しかし、筆者はこれを見て、これは後々のことを考えているなと感心しました。 ちな
はじめに time.Now関数を用いたコードをテストする場合、テスト対象のコードに次のような変更を加える必要があります。 引数に現在時刻を渡す パッケージ変数やフィールドなどに現在時刻を返す関数やインタフェースを設定する context.WithValue関数でコンテキストに現在時刻を設ける どの方法を用いてもプロジェクトの初期から考慮する必要があります。途中で変更するとなると修正が箇所を漏れなく探し出す必要があります。また、パッケージ変数に現在時刻を返す関数を設定した場合、テストを並列に実行することを諦める必要が出てくるでしょう。 このような課題を解決するために、testtimeというライブラリを作成しました。 テストの並列実行と時刻の固定 次のようにパッケージ変数を使ってtime.Now関数のラッパーの挙動を変えてテストする手法があります。 var nowFunc func() tim
こんにちは、バックエンドエンジニアの藤井脩紀です。 今回の記事では日付計算に潜む罠についてお話しさせていただきます。 なお今回はGoでの事例をご紹介しますが、原理的には他の言語やライブラリでも同様の事象が発生する可能性があります点にご注意ください。 time.Time.AddDateの注意点 突然ですがここでクイズです。 来月が何月か知りたいので以下のようなコードを書きました。 このコードを実行したのは10月だとします。 結果は何になるでしょう? // AddDateの引数は順に年、月、日でそれらの値を加算したtime.Timeを返してくれます fmt.Printf("%d月\n", time.Now().AddDate(0, 1, 0).Month()) 「え、11月でしょ?」と思う方もいらっしゃるかもしれませんが正確には異なります。 焦らさずに書きますが答えは「11月か12月のどちらか
アメリカの雑誌「タイム」は、さまざまな分野で世界をリードすると期待される「次世代の100人」を発表し、日本からは人気漫画「鬼滅の刃」の作者、吾峠呼世晴さんが選ばれました。 タイム誌は、2019年から、社会的な活動を行っている人や芸術家など、若い世代を中心にさまざまな分野で活躍が期待される人を「次世代の100人」として独自に選出して発表しています。 17日に発表された「次世代の100人」には、日本から、累計発行部数が1億部を超え社会現象にもなった人気漫画、「鬼滅の刃」の作者、吾峠呼世晴さんが選ばれました。 吾峠さんについてタイム誌は、この漫画が原作のアニメーション映画の興行収入が日本国内で上映された映画の歴代1位を記録したと指摘し「夢のようなことを成し遂げた」と称賛しました。 さらに吾峠さんの人柄について「主人公の少年のようにまじめで、正直で、責任感が強い」という編集者のことばを紹介していま
14年ぶりに日本の新たな宇宙飛行士候補が選ばれ、宇宙への関心が高まっています。日本人で初めて宇宙へ飛び立った元TBS記者の秋山豊寛さんは、80歳になったいま、三重県大台町の山中で農業を営んでいます。人生100年時代、再び宇宙に行きたくないですかと聞くと、「行きたくなんかないよ」。その理由とは――。【川瀬慎一朗】 ――新しい宇宙飛行士候補が発表され、世界銀行職員の諏訪理さん(46)と外科医の米田あゆさん(28)が選ばれました。 ◆(年の差から)34年前の(TBSが選考した)俺(当時47歳)と菊地涼子さん(当時25歳)のようで不思議な気がしたよ。宇宙ではいろいろな仕事があるから、2人のバックグラウンドを生かせる仕事をしてほしいね。 諏訪さんは知識や経験をある程度積んでいるから、数年したら日本の有人宇宙飛行体制の中心になれると思うね。 世界銀行に勤めていて、語学能力、調整能力が高くて評価されたん
概要 zsh に限らず各シェルはカスタマイズが可能ですが、カスタマイズの仕方によってはシェルの起動が遅くなることがあります。シェルは毎日起動するため、起動時間の劣化に気付きにくいですが、劣化したときに知らずに浪費してしまう時間は大きくなりがちです。 そのため、シェルの起動時間を定点観測することは日々の時間の浪費を防ぐために効果があります。 今回は GitHub Actions でこれを行う方法を紹介します。 zsh の起動時間の計測 zsh の起動速度はの計測方法は適当にググれば出てくる通り、次のコマンドを実行することで行なえます。 今回はパースのしやすさを考えて、--format オプションが使える GNU の time コマンドを使用しました。macOS において GNU の time コマンドは brew で gnu-time をインストールすれば gtime コマンドとして使用する
ネットショッピングがこれまで右肩上がりで発展してきた理由は、主にその「便利さ」にあった。検索をすれば欲しいものがあり、購入したものを家まで届けてくれる。一定額以上を買えば配送無料というのも当然のようになっている。 しかし、最近の消費者は、便利であることに慣れてしまっている。もちろん、便利なのは絶対条件ではあるものの、それはもはや空気のように当たり前の存在で、他社と差別化できるポイントにはなっていない。「便利さ」は、もはや価値ではなくなっているのだ。 では、今の消費者が便利さにも増して求めているものは何か? 答えは「時間」である。拙著『2025年、人は「買い物」をしなくなる』でも詳しく述べているが、少しでもストレスのかかる時間を減らして、快適な時間、楽しい時間をもっと増やしたい。SNSなどの投稿を見ても、今はそれを生活の優先順位としている人が非常に増えている。 若い世代は「ググらない」 30
実験内容 今回は、電池で駆動するPico W上にWebサーバーを立てて、RP2040のCPU温度と現在時刻をJSONで返すURLを作り、それを別の機材から毎秒GETでアクセスをして、アクセスができなくなるまでの時間を測りました。スクリプトは、前回のレポート記事で紹介したものからBME280を取り除いたようなイメージです。 Pico Wが起動したときの時刻が2021/01/01 00:00:00なので、GETできなくなった直前のJSONに含まれている時刻=電池で動かせた時間として見ることができそうです。 電池は、IKEAのニッケル水素充電池「LADDA」1.2V・2450mAhを2本使用しました。前回のレポートでは、ネットワーク通信時は5Vで0.06A==60mAくらいと計測できていたため、2.4Vでは60mA * 5V / 2.4V == 125mAとして、2450mAh/125mA==1
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く