タグ

2023年12月12日のブックマーク (4件)

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

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

    Enumとてもつらい、でも負けない - エムスリーテックブログ
    YaSuYuKi
    YaSuYuKi 2023/12/12
    Switch式が使えるということは14以上、サポートを考えると現実的には17以上だろうから、Sealed class/interfaceを使えば良いのでは。switchでもパターンマッチングで書けば通らないパターンがあるとコンパイルエラーになる
  • 日米ハーフの自分が思う「自己肯定感」のクソさ

    生まれてから高校までアメリカで過ごし、それ以降は日で住み就職もしている。今20代前半。 最近X(Twitter)でこんな動画が賛否両論を生んでいた。 https://x.com/sgwhn8727/status/1627815915457839104?s=20 「子どもたちの自己肯定感を上げるため、わたしのクラスでは毎朝affirmationを言います。I am loved, I am brave, I am smart, I am kind, I am a problem solverと言い合って、ポジティブな気持ちで1日過ごせるようにします。これを毎日繰り返すことでポジティブな自分になることが狙いです。」 これを見て、自分が今まで生きてきて感じたことを色々と思い出したので少し書く。 便宜上、「アメリカ」「日」と大きな主語を使うが、もちろん家庭や土地によって差はあると思う。 アメリカ

    日米ハーフの自分が思う「自己肯定感」のクソさ
    YaSuYuKi
    YaSuYuKi 2023/12/12
    教育学において重要な研究テーマになっているはずで、現状の知見でも深刻な誤りは回避できるだろう。どういうキーワードで論文を探せばいいのかな
  • WebGLからWebGPUにステップアップしよう! - Qiita

    はじめに この記事はHIKKYアドベントカレンダー2023の10日目の記事です。 こんにちは、 @emadurandal と申します。HIKKYのエンジン開発部でメタバースエンジンの開発に従事しています。 今回は、WebGLからWebGPUへのステップアップについての記事を書いてみようと思います。 なぜWebGPUが登場したのか WebGLはOpenGL ESのAPI体系をブラウザに移植したものです。 そのOpenGLですが、歴史的経緯により、GPUCPUの性能を完全に引き出しきれないレガシーな部分を引きずっていました。 詳しくはこちらの記事をご覧ください。 そのため、WebGL2の次はWebGL3というわけにはいかなかったようです。 よりGPUの性能を引き出せる、よりモダンなAPI体系が必要でした。ネイティブにはVulkan APIがありますが、それをそのままブラウザに持ってくるには、

    WebGLからWebGPUにステップアップしよう! - Qiita
  • あらゆるプログラミング言語の最先端を行くScala 3のマクロ - 貳佰伍拾陸夜日記

    この記事はScala Advent Calendar 2023の11日目です. 最近, 趣味Scala 3のコードをだいぶ書いていて, マクロの使い心地のよさに感心しました. 理論的な背景も含めて, 産業界で多く使われているプログラミング言語の中では筆者の知る限りぶっちぎりに優れたマクロを備えています. 他の言語にも見習ってほしいですね. たぶん見習おうとすると処理系を作り直す羽目になりますが. この記事ではScala 3のマクロのすごいところを例を使って紹介します. マクロの実践的な例 準備 実践的な例: NamedArray – 名前でアクセスできる配列 NamedArrayのマクロ実装 記述が明瞭 メタレベルのプログラムの扱い クォートとスプライスがある パターンマッチもある 生成コードに型がつく 多段階計算に基づいている クォートとスプライスの当の意味 ネストしたスプライス ネ

    あらゆるプログラミング言語の最先端を行くScala 3のマクロ - 貳佰伍拾陸夜日記