ブックマーク / www.m3tech.blog (4)

  • Enumとてもつらい、でも負けない - エムスリーテックブログ

    列挙型、JavaでいうならEnum型、使っていますか。使わないわけにいきませんよね。 でも、Enumを使っていたせいで辛い目にあったことありませんか。ないですか。それならきっともうすぐに辛い目にあうと思います。 Enumはすべてのプログラマに等しく辛みを与えてくれるからです。そんな辛みについて、ちょっと一緒に直視してみましょう。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar 2023の6日目です。 アプリケーションプログラミング上の辛み 1. 既存のif文が偶発的に意図しない方に倒れる 2. switch文に至っては「どちらでもない」で処理不発に アプリケーションプログラミング上の対策 1. 分岐条件をEnumに持たせる 2. swi

    Enumとてもつらい、でも負けない - エムスリーテックブログ
    xlc
    xlc 2023/12/06
    Pascalで育ちAdaの仕事もしたので元々は型にうるさい考え方だったけど、PerlやJavaScriptと長く付き合ううちに列挙型はクソと思うようになりました。拡張性がないよね。DOMのイベントにも列挙型は使われないでしょ。
  • 俺が考える最強の「麻雀点数申告練習アプリケーション」を作ってみる ~ Pythonによる麻雀点数計算問題の自動生成と音声による点数申告 ~ - エムスリーテックブログ

    こちらはエムスリー Advent Calendar 2023 1日目の記事です。 Overview エムスリーエンジニアリンググループ AI機械学習チームでソフトウェアエンジニアをしている中村(po3rin) です。趣味麻雀でフリー雀荘で毎年200半荘以上打ちます。好きな麻雀プロは園田賢さんです。 麻雀を始めるときに一番の障壁になるのは点数計算ではないでしょうか? 特に符計算が初心者の関門のようです。一方私のような初中級者でも突然のレアな点数申告にまごつくことがあります。 そこで、今回はその人に合った麻雀の点数計算問題(主に符計算が焦点となる問題)を生成して、自分で点数計算&点数申告の練習をする方法を探求したのでその紹介をします。麻雀用語が少しだけ登場するので、対象読者は麻雀を少しでもかじったことのあるエンジニアの方です。 Overview 麻雀の点数計算の難しさ 現状の点数計算の練習

    俺が考える最強の「麻雀点数申告練習アプリケーション」を作ってみる ~ Pythonによる麻雀点数計算問題の自動生成と音声による点数申告 ~ - エムスリーテックブログ
    xlc
    xlc 2023/12/04
    すでにコメントされてるが、実際の麻雀では点数を意識しながら手を進めるので出発力は本来必要ではない。瞬発力が必要と感じるのはそれまでの打ち方が悪いのよ。
  • TypeScriptの型で麻雀の点数計算をしたい - エムスリーテックブログ

    こんにちは。プロダクト支援チームでエンジニアをしている堀田です。 最近はデジスマ診療をメインで開発しています。 個人的に、一時期 type-challengesにハマっていました。 mediumの後半くらいまで完了していて、いつか全部クリアしたいなと思っています。 type-challengesをやっている間に、まだ誰も作ったことが無い型を作りたいと思うようになりました。 麻雀の役判定を型でやっている素晴らしい記事はありましたが、点数計算までやっている例は無かったので、それをやろうと思いました。 完璧では無いですが、麻雀の点数計算型、通称 麻雀君 ができました。 今日はこれのかなりミニマムバージョン (ミニ雀君) を紹介したいなと思っています。 www.youtube.com (社内勉強会でも発表しました) 想定読者 TypeScriptを書いたことある方 麻雀のルールを知っている方 (麻

    TypeScriptの型で麻雀の点数計算をしたい - エムスリーテックブログ
    xlc
    xlc 2022/05/31
    型にこだわると麻雀アプリは無闇に複雑になる(型としたくなるものが多すぎるため)。このぐらいシンプルにしないと実用プログラムとして完成できないと思うよ(例題レベルならいいけど)。https://github.com/kobalab/majiang-core/wiki
  • タイムゾーンを考慮した日時の扱いのベストプラクティス - エムスリーテックブログ

    こんにちは、server-side kotlinterraform を書くことが多い、エンジニアリングGの矢崎(id:Saiya)です。 タイムゾーンや日時の扱いについての話題がホットな昨今ですが、 そういった日時の扱いについて例えば以下のようなお話を受けることが少なからずありました: とりあえず日時は UTC からの時差情報付きで扱えばいいんでしょ? DB に保存するときもタイムゾーン情報付きで入れておけばいいんでしょ? こういったお話を振られた際に、思うところを一言でサッと説明できずもやもやする事もあり、 また web サービスにおいて日時・タイムゾーン・オフセットをどう扱うべきか?納得の行く説明をあまり見つけられなかったため、 筆者なりに考えをまとめてみました。 国家的祭典のために急にサマータイムが導入されるといった話に限らず、 クラウドサービスが UTC+0 の日時になってい

    タイムゾーンを考慮した日時の扱いのベストプラクティス - エムスリーテックブログ
    xlc
    xlc 2018/08/14
    表示だけなら概ね問題ないのでは?問題は「一日後」の意味の変化(24時間後?明日の同時刻?)と一日が短い日のバッチスケジュールなのではないかな。
  • 1