タイムゾーン の検索結果 - エムスリーテックブログ

エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

タイムゾーン の検索結果:

distrolessコンテナイメージ使おうとして依存が足りないときはどうすればいいですか?あ、OCamlなんですけど。

…差は CA 証明書、タイムゾーンデータ、/etc/passwd などのファイル群です。static link されたバイナリでも、HTTPS の通信、タイムゾーンの処理、ユーザー情報の参照といった基本的なことをするなら distroless/static が必要になります。 scratch を目指してみて OCaml でも glibc static で scratch に載せられることはわかりました。やはり依存のモグラ叩きは発生しますし、lightgbm-ocamlで見たよう…

distrolessコンテナイメージの中を覗いて「なんか軽くてセキュアらしい」より理解を深める

…zone": // タイムゾーン利用 loc, err := time.LoadLocation("Asia/Tokyo") // ... } } // hello/main.go — fmt.Println だけ func main() { fmt.Println("Hello from Go on scratch!") } scratch で動かしてみる では動かしてみます。 # Dockerfile FROM golang:1.26 AS builder COPY . …

今年もエムスリーアドベントカレンダー開幕します!

…が選ぶ歴代名作品集 タイムゾーン記事 RubyのC拡張作ってみた Slackの絵文字サジェストを再現してみた SREの歴史記事 おわりに 応援よろしくお願いします We are Hiring! エンジニア採用ページはこちら エンジニア新卒採用サイト カジュアル面談はこちら エムスリーとアドベントカレンダー エムスリーでは2015年から10年間、毎年アドベントカレンダーというカルチャーの中でテックブログを書いてきています。 今年も、皆様にワクワクと刺激を届けられれば嬉しいなとい…

テーブルとテーブルをざっくりと比較する

…した)。これだけでもタイムゾーンの変換ミスや、結合条件の不備など実装ミスでテーブル全体に影響するような典型的なデータ差分を検知できました。 この辺りは型に応じて取得する統計値を変えたり、比較処理をチューニングすることで機械的に対応できる範囲を広げる余地がまだまだあると感じています。 ステップ3: データのサンプリング突合 最後にデータの一部を実際に比較します。サンプリングと書いてしまいましたがランダムに抽出するのではなく、経験則に基づき、突合可能な形でデータの一部を恣意的に抽…

BigQuery から高速にデータを持ってきてシームレスに Kotlin data class で使いたい

…MP型はUTCなのでタイムゾーンの問題はありませんが、DATETIME型はローカルタイムゾーンであり、そのデータの値だけを見て正しく扱うことが難しいです。 1サービスの中でなら統一できますが、BigQueryには他のサービスのデータもあり、ローカル時刻のローカルが指すものは絶対的ではありません。*3 クエリ対象データにDATETIME型があったとしても、データ取得クエリを書くときに、クエリを書く人が対象データのタイムゾーンについて知っているはずなので、適切にTIMESTAMP…

スマートフォンアプリのA/Bテスト実装例

…ラミング言語はいかにタイムゾーンと向き合っているか」でした。 こんにちは、エムスリーエンジニアリンググループ・マルチデバイスチームの藤原です。 マルチデバイスチームでは複数のスマートフォンアプリを開発しており、新機能の追加やレイアウト変更をする際はA/Bテストをすることもしばしばです。 今回は弊チームで採用しているA/Bテストの実装方法を2通り紹介します。 スマートフォンアプリのA/Bテスト Remote Configを用いた実装例 GraphQLを用いた実装例 GraphQ…

9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか

…処理が大好きです。 タイムゾーンの問題でデータ抽出が9時間分漏れていたとか、朝9時の始業前のログが昨日付けになってしまっていたなんていう問題が起こると喜んじゃうタイプ。 そんな私にとって、各プログラミング言語が標準で持っている日付時刻型クラスにはそれぞれ思うところがあり、今日はちょっとその品評会をしてみたいと思います。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします…

Chaos-Monkey ならぬ Cosmos-Monkey で AWS 費用に秩序をもたらした話

…出てくるんですけど、タイムゾーンが考慮されていなかったり、EC2 にしか対応していなかったりと、痒いところに手が届かない例が多かったため、自前で開発しました。 また、Cosmos-Monkey では最重要コンセプトとして「対応リソースを追加しやすく」ということを掲げていて*3、オブジェクト指向のインタフェースや値オブジェクト、ファーストクラスコレクションなど、DDD のエッセンスを (Go で実装していた初期から) 多用しています。 例えば、リソースごとに ResourceM…

Goで時刻のゼロ値が変になった話

Go

…sia/Tokyoのタイムゾーンを適用すると、LMTのオフセットが適用されることになるわけですね。 tz, _ := time.LoadLocation("Asia/Tokyo") fmt.Printf("%+v", time.Time{}.In(tz)) The Go Playground > 001-01-01 09:18:59 +0918 LMT なぜIsZero判定できなくなったか? Asia/Tokyoのタイムゾーンでゼロ値のオフセットがLMTになるのはわかったとし…

日付にまつわるテストで考えること

QA

…Bを書き換える際にはタイムゾーンも確認しておいたほうが良いです。終了条件を整えたはずなのに終了しなかったのでバグかと思ったら、UTCで考える必要があったところをJSTで書いていて実際には終了条件が整ってなかった、ということがよく起こります。 システム側の日付を書き換える 日付の判断がバックエンドで動いているシステムの日付のみで行われている場合に使えます。試験実施時に開発エンジニアに依頼して変えてもらうなどの対応が必要になるかと思いますが、私のチームでは、QAエンジニアが試験実…

運用中サービスのクラウド移行で得た知見(見積もり・テスト・本番移行)

AWS

…日本語を使い、日本のタイムゾーンに従っているかと思います。 そして多くの場合、サーバの初期設定は日本用にはなっていません。 * アプリで `new DateTime()` している部分、DBで `current_timestamp()` している部分が想定と同じかの確認 * 日本語文字の入力、出力が正しくできているかの確認 * 既存DBからデータを移行し、その日本語が正しく出力されるかの確認 * ログ出力がJSTでみやすくなっているかの確認 これらのテストを行うことで、loc…

18分59秒をめぐって日本標準時の歴史をひもとくことに

…れているのにおかしなタイムゾーンオフセットが付いています。 PC環境のデフォルトタイムゾーンはAsia/Tokyoなのに+09:18:59とは一体どこの都市のものでしょう、いや、こんな半端なタイムゾーンオフセット値などあるものでしょうか。どんなに細かくても15分単位だったのでは? 国際子午線会議以前の地方時 +09:18:59という重要なキーワードを手に入れたのでここからウェブ検索が捗り、知らなかったタイムゾーンの歴史に触れていくことになります。 +09:18:59というオフ…

タイムゾーンを考慮した日時の扱いのベストプラクティス

…Saiya)です。 タイムゾーンや日時の扱いについての話題がホットな昨今ですが、 そういった日時の扱いについて例えば以下のようなお話を受けることが少なからずありました: とりあえず日時は UTC からの時差情報付きで扱えばいいんでしょ? DB に保存するときもタイムゾーン情報付きで入れておけばいいんでしょ? こういったお話を振られた際に、思うところを一言でサッと説明できずもやもやする事もあり、 また web サービスにおいて日時・タイムゾーン・オフセットをどう扱うべきか?納得…