タグ

時間とprogrammingに関するraimon49のブックマーク (30)

  • Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita

    この記事ですることを3行で Pythonの標準ライブラリでできる並列実行を、あらためて総当たりで速度比較しよう ウォーターフォールチャートで、それぞれの並列処理の処理時間の特徴を可視化しよう boto3の実行をモデルケースにして、どの並列処理が一番早いのかを調べよう この記事の結論を先に Python 3.12から格的に使えるようになったサブインタープリターは、CPUで実行する処理について言えば、従来のサブプロセスよりも高速 boto3の実行は、サブインタープリターよりも署名付きURLの非同期実行のほうが速い → S3からの10ファイルの取得であれば、実行時間を90%削減できます → Bedrockの3回実行であれば、実行時間を60%削減できます 今回使ったソースコードはこちらに置いています。 お手持ちの環境で再実行できるようにしていますので、気になる方はぜひ。 どうしてこの記事を書くの

    Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita
  • 9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか - エムスリーテックブログ

    私は日付時刻の処理が大好きです。 タイムゾーンの問題でデータ抽出が9時間分漏れていたとか、朝9時の始業前のログが昨日付けになってしまっていたなんていう問題が起こると喜んじゃうタイプ。 そんな私にとって、各プログラミング言語が標準で持っている日付時刻型クラスにはそれぞれ思うところがあり、今日はちょっとその品評会をしてみたいと思います。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar 2023の2日目です。 至高の日付時刻型を持つ言語、BigQuery SQL 不足はないが蛇足、Java 8 日付時刻で画竜点睛を欠いたC# C#よりややまし、Python 型は良い構成、なのに命名と処理関数で損しているPostgreSQL まとめ We ar

    9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか - エムスリーテックブログ
  • ホームページ- EY-Office

    小ネタです、JavaScript日の日付をYYYY-MM-DD形式で得るコードは案外面倒です。 2023年4月17日なら 2023-04-17 という文字列を得るコードはRubyならTime.now.strftime("%Y-%m-%d")、Pythonならdatetime.today().strftime("%Y-%m-%d")(importは省略しました)と簡単に書けますが、JavaScriptでは案外面倒なのです。 追記: いくつかの間違いのご指摘がありましたので修正しました(2023-04-19)。 DeepAIが生成した画像です いっけん正しいようで間違ったコード new Date().toISOString().slice(0,10) new Date()で日の日時を取得します toISOString()メソッドは日時データをISO形式の文字列に変換します、例えば 2

    ホームページ- EY-Office
    raimon49
    raimon49 2023/04/18
    ChatGPTが提案して来ないコードって意味で面白い小ネタだと思った。ちゃんと調べた内容も色々リンクされてるし。
  • 有効期限を過ぎても消えないインメモリキャッシュの謎 - 私が歌川です

    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() } // トー

    有効期限を過ぎても消えないインメモリキャッシュの謎 - 私が歌川です
  • setTimeout を完璧に理解する

    setTimeout は、指定された時間以降に指定されたコードを実行する JavaScriptAPI です。ブラウザでも Node.js でも広く使われているのですが、実装はまちまちで、色々と特殊な条件も多く、挙動を完璧に理解している人は少ないと思います。この記事では、そんな setTimeout を可能な限り深堀りしてみようと思います。 先に書いておきますが、ものすごくニッチで細かい話ばかり並びます。突然私が、ただ純粋に setTimeout について調べたくなったので、その結果をまとめただけのものです。普通に開発している人には必要のない情報が多くなるでしょう。この記事は基礎から setTimeout を学ぼう、という方には全然向かないと思います。 また、JavaScript のイベントループについてある程度理解していることを前提とします。その詳しい理解には、@PADAone さん

  • フルタイムOSSコミッタを始めて2か月経った - k0kubun's blog

    Shopifyに入社してRubyのJITコンパイラを書く仕事を始めてから2か月経った。 前職の退職エントリ では今後やりたいことを書いたりしたが、実際OSS開発を仕事にしてみてどうだったかみたいなことを書いておく。 シリコンバレーでのリモート生活 3年前にアメリカ移住し、今年永住権も取得した。 Shopifyは社はカナダにあるし2020年5月からフルリモート企業なのだが、 前職の社があったシリコンバレーのあたりからそのまま引っ越さずに暮らしている。 なぜシリコンバレーに住み続けるのか フルリモートである以上はカナダ移住のためのビザのサポートを会社がする動機もないため、 現職においても住む国の選択肢は基的に日アメリカになると思っている。 飯が安くて美味いのを主な理由としても僕も住むならアメリカより日の方が好きなのだが、 住む地域ベースで多くの企業が給料に傾斜をかけてくるこ

    フルタイムOSSコミッタを始めて2か月経った - k0kubun's blog
  • Rustのビルドを高速化する方法 | POSTD

    Rustコードのコンパイルが遅いことは誰でも知っています。しかし筆者は、世の中のほとんどのRustコードはコンパイルをもっと速くできると強く感じています。 例えば、つい最近の記事にこのように書かれていました。 一方、Rustでは、プロジェクトやCIサーバーの性能にもよりますが、 CIパイプラインの実行に15~45分かかります。 これは筆者には理解できません。GitHub Actions上にあるrust-analyzerのCIの所要時間は8分です。しかも、これは100万行の依存関係に加え、20万行の独自コードが記述されたとても大規模で複雑なプロジェクトでの話です。 確かに、Rustは根的な部分で非常にコンパイルが遅いのは間違いありません。Rustはジェネリクスのジレンマにおいて「遅いコンパイラ」を選び、全体的な設計思想としてコンパイル時間よりもランタイムを優先しています(この点に関する優れ

    Rustのビルドを高速化する方法 | POSTD
  • 情報ではなく経験をアウトプットすること - 余白

    調べれば大抵の情報は誰でも手に入る今日このごろ。特に技術的な情報はオープンソースで一次情報へのアクセスは容易になった。 それと同時に繰り返し言われるアウトプットの重要性。 しかし、ブログやLTなどでアウトプットしても、「もっと質のいい情報があるのに自分がアウトプットする必要があるのか」「逆にノイズになるだけじゃないか」というような考えになってしまう人もいるのではないか。 そんな架空の声にお応えして、それでもなおあえて、一次情報ではない「あなたのアウトプット」の重要性を伝えてみようと思う。 実際にやる人は多くない 定量的なデータがあるわけではないが、直感的に共感してもらえるだろう。 ある技術や手法が話題になったとして、それを情報として知っている人はこの時代いくらでもいる。 だが、それを実際にその手でやったことがあるというだけでかなり群衆からは抜きん出た経験を持つことになる。 ましてやそれをや

    情報ではなく経験をアウトプットすること - 余白
    raimon49
    raimon49 2021/03/08
    自分も定量的でなく定性的に感じている事だけど「実際にやる人は多くない」これは本当にそう思う。
  • モブプログラミングに向いてない私の話 - 誰かの役に立てばいいブログ

    新型コロナウィルスの影響も長引いてますが、皆さま無事お過ごしでしょうか。私は幸い無事です。 日ごろチームでソフトウェア開発をしているのですが、近年社内ではペアプログラミングやモブプログラミングが流行しています。 私のいるチームでもここ二年ほどモブプログラミング(ないし類似のプラクティス)に取り組んできました。 モブプログラミングについて正確にどのようなものかは以下の記事などをご参照いただければと思います。 簡単にまとめると、要求分析やコーディング等幅広い開発作業を、同じ場所に集まったチームの共同作業でこなしていくというものです。 このご時世ですので、最近はオンラインのミーティングルームに集合する形式でしたけど。 www.agilealliance.org ここから先は、非常にパーソナルな、私に限定された体験になります。 どの人・チームにも適用できる話ではありません。ではありますが、どの人・

    モブプログラミングに向いてない私の話 - 誰かの役に立てばいいブログ
    raimon49
    raimon49 2020/11/09
    品質についての妥協が生じるケースがあるのはわかる。圧倒的に経験値を持ってる人に何を期待するかという組織の方針に依るのだと思う。
  • コンピュータシステムのサマータイム対応を巡る二つの楽観論 - アンカテ

    いきなり来年から日でサマータイムを導入するという話が出てきて、私には到底実現できない話としか思えなかったが、自民党の少なくとも一部の方々は気で考えているようだ。そもそも、私にはメリットがどこにあるのかわからないがそれは置いておいて、コンピュータシステム側の対応が非常に困難であるということを、なるべく一般の方にわかるように説明してみたいと思う。 5chとツィッターを眺めて見ると、同業者の人は私と同じ意見が多数であるように見えるが、一部楽観的に見ている方もいるのに驚いた。何事にもいろいろな見方があるので、賛否両論の意見があって議論していけばいいことではあるが、その楽観論を見ていると、全く違う立場の二種類の楽観論がある。何がなんでも自分の立場が正しいと主張する気はないが、この二種類の楽観論が絶対両立しないことは確かで、ここだけはハッキリしておかなければならないと強く言いたい。 最悪のケースは

    コンピュータシステムのサマータイム対応を巡る二つの楽観論 - アンカテ
    raimon49
    raimon49 2018/08/08
    5ちゃんねるのサーバと5ちゃんねるブラウザ(フロントエンド)の例え。
  • 12 月 2 日になると iOS 11.0/11.1 が突然再起動を繰り返すようになった原因 - 家計簿アプリ Zaim

    何が起きていたのか? 既報の通り、12 月 2 日未明より一部の iOS デバイスが数十秒に一回再起動のような動作を繰り返し、操作不能になる OS の不具合が全世界で発生しています。Zaim もこの影響を受け原因調査と対策を実施しましたので、技術的に判明したことをこのエントリーで開発者向けに共有します。 なお、iOS 11.2 では解決していますので、まだアップデートしていない方は早急にアップデートをお願いします。 iPhone が再起動を繰り返す不具合 12 月 2 日に発生 「iOS 11.2」リリース、高速無線充電対応など iPhoneの連続再起動の不具合も修正 実際には OS が再起動していたわけではなく、SpringBoard と呼ばれるホーム画面などを管理している内部のアプリケーションがクラッシュを繰り返していました。 (時計アプリにも不具合があったようですが、こちらの現象は

    12 月 2 日になると iOS 11.0/11.1 が突然再起動を繰り返すようになった原因 - 家計簿アプリ Zaim
    raimon49
    raimon49 2017/12/04
    nextTriggerDate()の中はブラックボックスなのでこれ以上は分からない訳か。
  • 数字や営業が苦手なプログラマだから辿り着いた「エクストリーム経営」 | Social Change!

    「心はプログラマ、仕事は経営者」プログラマである自分が働きたいと思える会社を作りたいと思って経営をしてきた。結果として、セルフマネジメントでフラットで自己組織化された組織、最近だとホラクラシーと呼ばれるような経営をしている。 いい会社だと言ってもらえることもあって誇らしく思うのだが、果たして当に良い会社かどうかはわからない。価値観に合致するプログラマにとっては良いかもしれないけれど、合わない人や他の職種の人にとっては全然ダメな会社かもしれない。 よく取材などでも聞かれるが、今の経営スタイルは、たいそう立派な理念や理想があって実現した訳ではなく、プログラマである自分自身が苦手なことをせずに済むように、逆に出来ることと得意なことは徹底的に活かそうとしてきたに過ぎない。 思い返せば、徹底的に極端にしてきたことが功を奏したことから、この経営スタイルは、もし名付けるなら「エクストリーム経営」と呼べ

    数字や営業が苦手なプログラマだから辿り着いた「エクストリーム経営」 | Social Change!
    raimon49
    raimon49 2017/06/28
    三大美徳の一つ「怠惰」を上手く経営に採り入れている(どこでも上手く行くとは限らない)。
  • コアドメインではないところは作り込みたくなってもほどほどにするのが大事な気がする - hitode909の日記

    ふだんコードを書いていて,新機能などを作っていて,こうするほうがきれいに書けそう,と思っても,いま書いているところがアプリケーションのコアドメインでないなら,ほどほどにして,たとえば,既存のライブラリで十分ならそれを入れて終わりにしたり,もうちょっと凝って美しい世界にできそうになっても,現実的にはこれくらいで十分に動くので,これに留めておこう,と決めるのが大事な気がしている. せめて新しく書くところくらい凝って美しく書きたくなるのは分かるけど,すべての場所を完全に美しく作ることは不可能で,それをする時間があるなら,すでにある変なコアドメインを美しく研ぎ澄まされたものにするほうがメリットがある. 最終的には人間は物理的に死んでしまうので,死ぬまでにやるべきことを選ぶべきで,その選ぶときには,今手持ちのタスクだけでなく,全体のバランスを見て選ぶべき. 品質を無視して,ひどいコードでもいい,と言

    コアドメインではないところは作り込みたくなってもほどほどにするのが大事な気がする - hitode909の日記
  • 20. A child sleeps at sunset. | CodeLunch.fm

    Technical topics that software engineers talk about at lunch.

    20. A child sleeps at sunset. | CodeLunch.fm
  • ほぼ日刊イトイ新聞 - 適切な大きさの問題さえ生まれれば。

    そうですね。 糸井さんと梅田さんが 会ったことがないというので、 一度会っておいたほうがいいんじゃないですかと。 まぁ、それだけのことなんですよね。

    raimon49
    raimon49 2015/12/30
    今読むと、岩田さんの人助けにかける情熱みたいなものが見える。
  • Androidソースコードレビューで指摘する事が多い項目まとめ2 - こやまカニ大好き

    去年Androidソースコードレビューで指摘する事が多い項目まとめという記事を書いた時はアプリ全体を一度に見るような機会が多かったため、内容も大きめのものばかり書いていましたが、最近はプルリクエスト単位でレビューする機会が増えたので細かい項目についてまとめてみようと思います。 ミリ秒で時間を指定する時に自前で計算している 1000L * 60L * 60L * 24Lのようなコード。 TimeUnitを使いましょう。 24時間の場合は以下のように書けます。 TimeUnit.DAYS.toMillis(1L) ある文字列がhttp/httpsで始まるかチェック URLUtil.isNetworkUrl()を使いましょう。 ただしequalsIgnoreCaseで判定してます。 ベースURLにパラメータを付与していってURLを生成したい StringBuilder#append("&key=

    Androidソースコードレビューで指摘する事が多い項目まとめ2 - こやまカニ大好き
  • 日付が変わったときの処理 - Toyship.org

    カレンダーなどのアプリで、画面に今日の日付などを表示している場合、真夜中に日付が変わった瞬間にUI表示を変えたりなどの処理をしたいことがありますよね。 そのためだけにNSTimerなどを使ってタイマー処理をするのも面倒くさいので、たいていはスルーしていると思うんですが。 実はそんな時に使える便利な機能があります。 UIApplicationDelegateで、applicationSignificantTimeChangeをオーバーライドしておけば、日付が変わった瞬間にこの関数が呼ばれて、UI変更の処理をすることができます。 - (void)applicationSignificantTimeChange:(UIApplication *)application{ NSLog(@"日付の表示を変えてください。"); } こんな時によばれるので、日時を扱うアプリでは、実装しておくのがお勧めで

    日付が変わったときの処理 - Toyship.org
    raimon49
    raimon49 2015/03/16
    applicationSignificantTimeChange:をオーバーライドしておくと、日付が変わった時やユーザーが端末設定で時刻を変更した時にコールバックされる。
  • 日付フォーマット yyyy と YYYY の違い - 強火で進め

    結論 まず最初に急いでる人向けに結論を先に書いておきます。2つの違いは以下の様に成っています。 yyyy 年(西暦)を出力 YYYY ある年における「最初の木曜日を含む週が、その年の第1週である」というルールで年(西暦)を出力。 例えば 2015/1/1 は木曜日なのでその週の日は日曜日〜土曜日まで全て2015年の第1週という解釈になります。この場合には2014年で有る、 2014/12/28(日曜)〜2014/12/31(水曜) の時でも YYYY では 2015 を返します。 きっかけ Podcast で Rebuild の第73回を聴いていたら日付フォーマットで yyyy ではなく、YYYY を使った為に TwitterAndroid クライアントで不具合が出たという話が出てきました。 ※根的な原因はこのルールでサーバ側が実装されていた為、 Android クライアントで正し

    日付フォーマット yyyy と YYYY の違い - 強火で進め
    raimon49
    raimon49 2015/01/04
    NSDateFormatterでもYYYYでなくyyyyを指定。
  • 和田卓人さん出題のテスト駆動開発問題『現在時刻とロケールに依存するテスト』をPHPを使ってオブジェクト指向で解答してみました #php #object_oriented|CodeIQ MAGAZINE

    テスト駆動開発の巨匠・和田卓人さんからの『現在時刻とロケールに依存するテスト』問題をPHPメンターズの後藤秀宣さんが解答してくださいました! この記事は、その後藤さんによる解答コードの公開と解説記事になります!! by CodeIQ運営事務局 PHPメンターズの後藤です。 和田卓人さん出題の『現在時刻とロケールに依存するテスト』問題をPHPを使ってオブジェクト指向のアプローチで解答してみました。 ※問題文については、和田卓人さんの解説記事を参照にしてください。 https://codeiq.jp/magazine/2013/11/1475/ 解答例は次の環境で作成しています。 PHP 5.5.4 PHPUnit 3.7 Composer サンプルコードのリポジトリをGitHubにて公開しています。コミットログなど合わせてご参照ください。(解説中にも各コミットへのリンクを貼ってあります) g

    和田卓人さん出題のテスト駆動開発問題『現在時刻とロケールに依存するテスト』をPHPを使ってオブジェクト指向で解答してみました #php #object_oriented|CodeIQ MAGAZINE
    raimon49
    raimon49 2014/01/05
    コンストラクタインジェクションで分離・改善して行く流れの解説。
  • メモログ

    💡 Personal notes about somthing I'm interested in Date.parse(‘1999-07-07’)を実行すると、値は931305600000とUTCのタイムゾーンで解釈されるのに対して、Date.parse(‘1999/07/07’)を実行すると、値は931273200000とJSTのタイムゾーンで解釈される。あ、ローカルの時間がJSTの場合。現時点(Firefox 24、Chrome 31) Date.parseでは引数に与えられた文字列をパースして、ミリ秒の値を値を返してくれます。タイムゾーンの指定がない場合はローカルのタイムゾーンとして解釈される。ECMA-262では、以下のように説明されています(太字は私がつけた)。 15.9.4.2 Date.parse (string) The parse function applies t

    raimon49
    raimon49 2013/10/09
    ISO8601書式で指定するならばタイムゾーンも明示すべしという話