並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 59件

新着順 人気順

enumの検索結果1 - 40 件 / 59件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

enumに関するエントリは59件あります。 railsprogrammingプログラミング などが関連タグです。 人気エントリには 『プログラミングの原則:enumの比較はすべてバグ - Uzabase for Engineers』などがあります。
  • プログラミングの原則:enumの比較はすべてバグ - Uzabase for Engineers

    こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 この記事は NewsPicks アドベントカレンダー 2023 の3日目の記事です。 昨日は@J_Nakagawa(隼佑 中川)さんによる『LambdaレスポンスストリーミングとAWS-SDKを使ってSlackに進捗バーを表示させる』でした! 世の中には再現が難しく一見してバグがありそうに思えないコードもありますが、一方でプロダクションコードの中にはひと目見てバグが有りそうなコードもまた多いものです。いくつかの特定のパターンをとる文字列(環境名など)やenum(以下どちらもenumと表現します)に関する条件分岐もその一つです。プルリクを見てこのようなパターンがあれば、バグの疑いが強くなります。周囲を見渡すと、大抵すでにバグっているか潜在バグを含むコードが見つかります。すべてバグというのは言い過ぎにせよ、わかりやすさと変

      プログラミングの原則:enumの比較はすべてバグ - Uzabase for Engineers
    • TypeScriptのenumを使わないほうがいい理由を、Tree-shakingの観点で紹介します

      LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog こんにちは。LINE Growth Technology UITチームの慶島(@pittanko_pta)です。 この記事では、TypeScriptのenumを使わないほうがいい理由を、Tree-shakingの観点で紹介します。 検証環境 TypeScriptからJavaScriptへのトランスパイルは https://www.typescriptlang.org/play (TypeScript 3.9.2 / targetはESNext) で行いました。 Tree-shaking の挙動については https://rollupjs.org/repl/ にトランスパイルしたJavaScriptコードを貼り付けて検証しました

        TypeScriptのenumを使わないほうがいい理由を、Tree-shakingの観点で紹介します
      • Enumとてもつらい、でも負けない - エムスリーテックブログ

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

          Enumとてもつらい、でも負けない - エムスリーテックブログ
        • さようなら、TypeScript enum - 株式会社カブク

          フロントエンドエンジニアの今村です。TypeScriptではenumを使わずunion型を使いましょう、という話を書きます。 モチベーション 何を今さら、と思う方もいるかもしれません。 TypeScriptのunion型はenum的なものを表現可能であり、基本的にenumよりもunion型を使うべき、という意識を持っているTypeScriptプログラマーはすでに少なからずいるのではないかと思います。しかし、ではenumの使用はいかなる場合も避けるべきなのか、そうでないとしたらどのような基準でenumとunion型を使い分けるべきなのか、といった点について、広く合意の取れたガイドラインはなさそうです(少なくとも私は知りません)。この結果、コードレビューなどで少しやりづらさを感じることがあったので、白黒つけてしまいたいという気持ちからこのブログを書いています。 結論としては、enumは全面的に

            さようなら、TypeScript enum - 株式会社カブク
          • C++のenumという型の使い方がよくわかりません。 enumを定義した後、その中にある定数はどのように扱うのでしょうか?

            回答 (9件中の1件目) > C++のenumという型の使い方がよくわかりません。 C++に限りませんが、Enumは基本的にはカテゴリ変数を表すために使用します。例えば曜日には月曜日から日曜日の7通りまでしかなく、曜日を表す変数を整数(0-6)や文字列(mon, tue, …, sun)で扱おうとすると関数の引数で与えられたときにその範囲外の値が入ってきたかどうかをいちいちチェックしないといけません。しかし、事前にEnumでMonからSunまでの7つの値しかないDayOfWeekという型を定義しておくと、一度DayOfWeekに変換しておけば以降はもうチェックをする必要が無いことが型レ...

              C++のenumという型の使い方がよくわかりません。 enumを定義した後、その中にある定数はどのように扱うのでしょうか?
            • Java の enum を使いこなせるあなたに sealed interface

              はじめに Java の enum は大変便利で非常多くのシーンで活用されています。例えば区分を表すようなオブジェクトを表現したい際にもよく使われていますね。 Java 14 で正式機能となった switch式にて網羅性検査が行えるようになり、それまで以前ではどうしても抽象メソッド等を活用する必要があった処理についても、switch式を利用する事で簡潔に表現することができるようになりました。 また、Java 17 で正式機能となった sealed classes/interfaces と Java 21 で正式機能になった Record Patterns によって、これまで必要だった区分値のような enum を必ずしも定義しなくて良い場合も出てきました。 この記事では、今まで enum を使っていたコードがこれらの機能によってどのように変わるのかを紹介し、盲目的に enum を定義するのでは

                Java の enum を使いこなせるあなたに sealed interface
              • FastEnum - 世界最速の enum ライブラリ - xin9le.net

                というのを、この数日をかけて勢いで作りました。ずーーっと昔から「enum は遅い」と言われ続けていたので何か手を入れたいと思っていたのですが、突然やる気になりました。久々にプライベートのコーディング意欲が爆上げしたー。勢いが強過ぎて毎日寝不足のまま明け方までのコーディングを繰り返し、しかも家庭を顧みませんでした...(超ヨクナイ どのくらい速いかというと、.NET Core 3.0 よりも何倍も速いです。もう狂ったくらい速い。全てのメソッドがゼロ・アロケーションです。プログラミングする上で enum はかなり使うので、多少なり性能改善に寄与できるのではないかと思います。ぜひ使ってみた感想をいただければなーと思います :) 簡単に使い方解説 .NET 標準の System.Enum に近い使い方ができるように API を設計しています。以下のような感じで、とてもシンプル! //--- Fas

                  FastEnum - 世界最速の enum ライブラリ - xin9le.net
                • enumはクローズド直和、traitはオープン直和

                  本稿では直和による多態性を実現する2つの機能、enumとtraitを拡張性の観点から比較します。 → Expression problem ※enumとtraitを使い分けるにあたってはパフォーマンス要件など他の条件も考慮するべきですが、本記事は多態性の観点のみ説明します。 数式 — enumによる例 本稿では数式をあらわすデータ型を例として扱います。enumではこのように定義されます。 #[derive(Debug)] pub enum Expr { Var(String), Add(Box<Expr>, Box<Expr>), Sub(Box<Expr>, Box<Expr>), Mul(Box<Expr>, Box<Expr>), Div(Box<Expr>, Box<Expr>), } impl Expr { pub fn eval(&self, vars: &HashMap<St

                    enumはクローズド直和、traitはオープン直和
                  • Rails7.1からcolumn,enum名に使えない名前が増える可能性が高いので注意 - カレーの恩返し

                    3行まとめ Rails 7.1 から dup, freeze, hash, object_id, class, clone, frozen は column 名や enum の種類として使えなくなる可能性が高い 該当 column を持つ Model の initialize で ActiveRecord::DangerousAttributeError が発生する 各位そういった名前を使わない、rename するなど身構えておきましょう 起きていた問題 会社の Rails アプリケーションに対して rails/rails の main branch を使ってテストを走らせていたら以下のようなエラーを数多く見かけるようになった。 ActiveRecord::DangerousAttributeError: object_id is defined by Active Record. Che

                      Rails7.1からcolumn,enum名に使えない名前が増える可能性が高いので注意 - カレーの恩返し
                    • enumの使い方のおさらいと高機能enumとしてのSealedクラス - きしだのHatena

                      Javaでは複数の定数をまとめて扱う型としてenum(列挙型)が用意されています。 これはこれで便利なのですが物足りないところもあって、それがSealedクラスなどを使うことで解決できるようになるので、解説します。 enum型 enumは状態やデータ区分を表すのによく使われます。 構文は次のようになります。 enum 型名 { 列挙1, 列挙2, ... } 例えば次のような状態を表すとします。 この状態を表すenumは次のようになります。それぞれの値は大文字で書くようにします。 enum State { READY, RUNNING, SUSPENDED, TERMINATED } enumではそれぞれの値ごとに処理を行うということがよくあります。そこでswitchと相性がいいです。 State s = State.READY; switch (s) { case READY -> Sy

                        enumの使い方のおさらいと高機能enumとしてのSealedクラス - きしだのHatena
                      • Pythonの列挙型 (enum) - け日記

                        これまで定数クラスを作ってやり過ごすことが多かったのですが、enumが比較的使いやすかったので、 enum enumはPython 3.4から標準ライブラリに追加されたモジュールで、列挙型をサポートするものです。 docs.python.org 実装 最初にenumをインポートしておきます。Python 3.7.4を使っています。 import enum BTreeなどの木構造のノードを考えてみます。各ノードは根ノード (ROOT) 、中間ノード (INTERNAL) 、葉ノード (LEAF) の3種類のいずれかに分類されるものとします。 それをTreeNodeTypeという列挙型で表現すると、以下のようになります。Enumクラスを継承することで実装します。 列挙子 (ROOTなどの識別子) はnameとvalueとプロパティを持ってます 列挙子同士は比較可能ですが、列挙子と同じEnumオ

                          Pythonの列挙型 (enum) - け日記
                        • Rails: aasm gemは今すぐRailsの新しいenumに置き換えよう(翻訳)|TechRacho by BPS株式会社

                          概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Replace aasm with Rails Enum today | Arkency Blog 原文公開日: 2024/03/29 原著者: Szymon Fiedler 日本語タイトルは内容に即したものにしました。 参考: ステート・マシン - IBM Documentation Railsアプリには、いわゆるステートマシン実装を提供するgemが含まれていることがよくあります。それがaasmというgem(旧名acts_as_state_machine)である可能性はさらに高いでしょう(ところでacts_as_hasselhoffというジョークgemがあったのを覚えている人っていますか?)。 それはともかく、このaasm gemをActiveRecordモデルにincludeすると、かなりいろいろなことができるようになります

                            Rails: aasm gemは今すぐRailsの新しいenumに置き換えよう(翻訳)|TechRacho by BPS株式会社
                          • Rust で新しく struct や enum を定義するときに実装を検討する trait まとめ - Qiita

                            メモっとかないとよく忘れるんですよ…… (おい) 基本 Clone, Copy Default Debug, Display 比較 PartialEq, Eq PartialOrd, Ord 変換 Deref, DerefMut AsRef, AsMut Borrow, BorrowMut From, TryFrom FromStr ToOwned 出力 Binary Octal LowerHex, UpperHex LowerExp, UpperExp Pointer 特定用途向け エラー用 Error ハッシュテーブルの要素用 Hash コンテナー用 Extend FromIterator IntoIterator 演算子 Sum, Product Add, AddAssign, Sub, SubAssign, Mul, MulAssign, Div, DivAssign, Rem,

                              Rust で新しく struct や enum を定義するときに実装を検討する trait まとめ - Qiita
                            • PHP8.1が出たのでmyclabs/php-enumから列挙型(Enum)に置き換えが出来るか試してみた

                              環境 PHP 8.1.0 myclabs/php-enum 1.8.3 myclabs/php-enumを使って作った下記のサンプルコードを列挙型(Enum)に置き換えれるか試してみたいと思います。 declare(strict_types=1); use MyCLabs\Enum\Enum; class Cardsuit extends Enum { public const CLUBS = 1; public const DIAMONDS = 2; public const HEARTS = 3; public const SPADES = 4; public function label(): string { return match($this->value) { self::CLUBS => 'クラブ', self::DIAMONDS => 'ダイヤモンド', self::HE

                                PHP8.1が出たのでmyclabs/php-enumから列挙型(Enum)に置き換えが出来るか試してみた
                              • A class-based enum pattern for JavaScript

                                In this blog post, we examine a pattern for implementing enums in JavaScript that is based on classes. We’ll also take a look at Enumify, a library that helps with the enum pattern. Implementing enums: first attempts  # An enum is a type that consists of a set of values. For example, TypeScript has built-in enums and with them, we can define our own boolean type: enum MyBoolean { false, true, } Or

                                • Rails5 から enum 使う時は_prefix(接頭辞)_suffix(接尾辞)を使おう - Qiita

                                  enum :status, { active: 0, archived: 10 }, prefix: true enum :comments_status, { active: 10, inactive: 20 }, suffix: true 余計なアンダースコアなども抜け落ちてスッキリし、Afterの方が印象は良いですね。 この記事で伝えたいこと Rails5 からActiveRecord::Enum を定義する際は_prefix、_suffixという武器がある事を知っていただきたい。 核心部分だけ見たい方は、ショートカット 2019.09.12 文章の 「です・ます」調を統一。 2019.06.01 例として使用するテーブルの説明を追記 Rails のバージョン

                                    Rails5 から enum 使う時は_prefix(接頭辞)_suffix(接尾辞)を使おう - Qiita
                                  • 入門Javaのenum - Qiita

                                    この記事のサンプルコードは、enumの説明に特化しています。それゆえ、一般的には良くないとされるコードも含まれています(金額の計算で BigDecimal ではなく int や double を使っているなど)。 分類などをどう表すか 例えば、架空のECサイトのシステムを考えます。このECサイトの会員にはブロンズ会員・シルバー会員・ゴールド会員の3つのランクがあり、ランクによって割引率などが異なります。これをどうやって表しましょうか? まずは良くない例です。 public class Rank { public static final int BRONZE = 1; public static final int SILVER = 2; public static final int GOLD = 3; }

                                      入門Javaのenum - Qiita
                                    • enum 超まとめ python3.11 - Qiita

                                      追記 本記事は当初python3.6 のenumについて書きました。 python3.7 からの機能は以下の通りです、大して変わってないです。 https://qiita.com/ksato9700/items/35a0bdc04693b3b09757#enum 3.8, 3.9, 3.10 が出ましたが、enumについては変更ないです。 3.11 は色々更新がありました。str型と比較できるStrEnumの追加や、制約を検証できるverify()デコレータの追加が大きいです。 前置き enum の機能自体は3.4からありますが3.6になってから追加機能が加えられています。 そこで改めてpython のenum全体をざらっとまとめる記事を書いてみたいと思いました。 参考: 公式ドキュメント https://docs.python.jp/3/library/enum.html 目次 enum

                                        enum 超まとめ python3.11 - Qiita
                                      • Kotlinのsealed型を使って高機能なenum型を実装する - ドワンゴ教育サービス開発者ブログ

                                        はじめに シンプルな実装例 sealed型による実装のメリット enumに階層関係を持たせることができる 個々の値を型として扱える sealed型による実装のデメリット 言語仕様が提供する便利機能を利用できない まとめ We are hiring! はじめに blog.nnn.dev Kotlinのsealed型の使い方を考える記事の第2弾です。 前回の記事では、sealed型を使って論理和型を実装しましたが、今回は通常の enum class よりも機能を拡張したenum型を実装したいと思います。 シンプルな実装例 通常、Kotlinでenum型を使いたい場合は、enum class を使って、次のように実装します。 /** * 学校で教える教科 (抜粋) */ enum class SchoolSubjectEnum { /** 日本史 */ JAPANESE_HISTORY, /**

                                          Kotlinのsealed型を使って高機能なenum型を実装する - ドワンゴ教育サービス開発者ブログ
                                        • 【Rails 7.1】ActiveRecord#Enumでメソッドの自動生成を制御する

                                          この記事は GMOアドマーケティング Advent Calendar 2023 4日目の記事です。 はじめに こんにちは。 GMOアドマーケティングの石丸です。 昨年のアドベントカレンダーでは Rails 7 で追加された ComparisonValidator について紹介しました。 GMOアドパートナーズ TECH BLOG byGMORails 7 で追加されたComparisonValidatorで日付のバリデーションを実装するこの記事は GMOアドマーケティング Advent Calendar 2022 3日目の記事です。はじめにこんにちは。GMOアドマーケティングの石丸(@thomi40)です。前回の記事では Rails 7 から実装された query_log_tags について紹介しました。今回の記事では同じく Rails 7 から追加された ComparisonValida

                                            【Rails 7.1】ActiveRecord#Enumでメソッドの自動生成を制御する
                                          • [Typescript] 「なぜ enum の利用が推奨されないのか?」をまとめてみた - Qiita

                                            はじめに Typescript にも他の言語と同様にenumが記法として実装されているのですが、次の記事ではenumではなく、Union typeを利用しようという内容が記載してありました。 さようなら、TypeScript enum: Kabuku Developers Blog 色々関連する記事を読んだ結論として、特にこだわりがなければ「Union type」を利用する方が良いと僕も思います。 その根拠 / 背景を以降まとめたいと思います。 なお、本記事のコードの検証には、Typescript Playground を利用しています。 Typescriptのenumについて enumはある型についてとりえる値を列挙します。(他の言語と同様) Typescriptでは文字列、または数値を値としてマッピングできます。 デフォルトでは、上から0,1,2...というように数値を自動で値として設

                                              [Typescript] 「なぜ enum の利用が推奨されないのか?」をまとめてみた - Qiita
                                            • SQLアンチパターン:ENUMは使わない方がいいよ | Shiro's secret base

                                              どうも、シローです。 今回は、特定の文字列に限定した列を定義する方法について、アンチパターン「サーティワンフレーバー」も一緒に紹介します。 特定の値を持ちうる列とは 例えばユーザ(Users)の権限(管理者かメンバーか)を表したい場合、Usersテーブルにメンバーの権限を表すuser_roleという列を定義するとします。 このuser_roleには管理者の場合はadmin、メンバーの場合はmemberという値を持ちそれ以外の値は格納しない(できない)ようにするにはどうすれば良いのか アンチパターン「サーティワンフレーバー」について 先にアンチパターンについて紹介します。 サーティワンフレーバーと呼ばれる設計方法では特定の値を入れるために 列にCHECK制約を入れる(MySQL8.0以降) 列をENUM型にする という手法を取りうることです。 僕の環境はMySQL5.7なのでENUM型のカラ

                                                SQLアンチパターン:ENUMは使わない方がいいよ | Shiro's secret base
                                              • GoとEnumについて

                                                これはGo Advent Calendar 2022の21日目の記事です。 たびたび「Enumイディオム」がGoに欲しいという要望が話題になるのでその話をまとめてみる。 議論の中心はここが詳しい。 「Enumイディオム」が解決する課題 文字列表現がつく 反復処理ができる 偽の列挙値を導入することを防ぐ 名前空間を分離する などがあるらしい。上にあげた課題がGo標準では解決しにくいという理由がよく上がるのですが、Enumイディオムの追加方法は何パターンかあります。 Enum型プリミティブを言語仕様に加える ライブラリとしてEnumオブジェクト実装を提供する 現状の推奨「iotaによる手法+go-generate」による方法 「Enum型プリミティブを言語仕様に加える」について 言語実装のアップデートが必要 reflectパッケージのアップデートが必要 後方互換のためiota式とEnum式の2

                                                  GoとEnumについて
                                                • 週刊Railsウォッチ(20200720前編)10月開催「Kaigi on Rails」CFP募集中、enumにデフォルト値設定機能、RailsでBitemporal Data Modelほか|TechRacho by BPS株式会社

                                                  2020.07.20 週刊Railsウォッチ(20200720前編)10月開催「Kaigi on Rails」CFP募集中、enumにデフォルト値設定機能、RailsでBitemporal Data Modelほか こんにちは、hachi8833です。情報処理技術者試験の秋の募集が始まりました。 元記事: IPA 独立行政法人 情報処理推進機構:試験実施案内:令和2年度10月試験について つっつきボイス:「そうそう、春のは中止でしたね」「受験する方はどぞよろしく〜」 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 ⚓臨時ニュース: Kaigi on RailsのCFPを7月末まで募集中 サイト: Kaigi on Rails 10/

                                                    週刊Railsウォッチ(20200720前編)10月開催「Kaigi on Rails」CFP募集中、enumにデフォルト値設定機能、RailsでBitemporal Data Modelほか|TechRacho by BPS株式会社
                                                  • 列挙型(enum)の問題点と代替手段 | TypeScript入門『サバイバルTypeScript』

                                                    TypeScriptの列挙型(enum)にはいくつか問題点が指摘されていてます。ここでは、その問題点と代替手段を説明します。 列挙型の問題点​列挙型はTypeScript独自すぎる​TypeScriptは、JavaScriptを拡張した言語です。拡張といっても、むやみに機能を足すのではなく、追加するのは型の世界に限ってです。こういった思想がTypeScriptにはあるため、型に関する部分を除けば、JavaScriptの文法から離れすぎない言語になっています。 JavaScriptの文法からドラスティックに離れたAltJSもあります。その中で、TypeScriptが多くの開発者に支持されているのは、JavaScriptから離れすぎないところに魅力があるからというのもひとつの要因です。 TypeScriptの列挙型に目を向けると、構文もJavaScriptに無いものであるだけでなく、コンパイル

                                                      列挙型(enum)の問題点と代替手段 | TypeScript入門『サバイバルTypeScript』
                                                    • TypescriptのEnum型の代わりにUnion型を使用する

                                                      この投稿は、弊社が提供するWESEEK TECH通信の一環です。 WESEEK TECH通信とは、WESEEKのエンジニアがキャッチアップした技術に関する情報を、techブログを通じて定期的に発信していくものです。 はじめに こんにちは、システムエンジニアの かおり です。この記事では、TypeScriptで用いられる Enum型 とUnion型の基本的な使い方から、Enumを避けるべきと言われている理由、Union型を用いてEnumのように書く方法などを説明しています。 Enum (列挙型) とは? そもそも Enum とは何か、なんのために使うものなのでしょうか。 ここで説明している Enum とは総称であり、列挙型とも呼ばれます。以下の例は TypeScript のコードですが、他の言語でも存在する概念・実装であり、複数の定数を一つにまとめて定義したり管理したりすることができます。

                                                        TypescriptのEnum型の代わりにUnion型を使用する
                                                      • 【Rails】Enumってどんな子?使えるの? - Qiita

                                                        はじめに RubyやRailsで、どのようにEnumが使えるか色々試してみました。 結果を忘れないうちに整理するための振り返りメモです。 間違っている点などあれば、ご指摘・指南頂ければ幸いです!!! Enumとは? 「Enum」は「列挙型」のこと。 この列挙型を扱う機能としてRuby on Rails4.1からActiveRecord :: Enumと言うモジュールが追加となりました。 この機能は、モデルの数値カラムに対して文字列による名前定義をマップすることができます。また、データ操作用の便利なメソッドも提供してくれます。 上手く説明できないですが、列挙型を扱うのに何か便利そうな機能です(0ω0)← 【参考】Ruby on Rails 4.1 リリースノート 【参考】Ruby on Rails 5.2.3 ActiveRecord::Enum ※ほぼコレを見るれば事足りる感が否めない笑

                                                          【Rails】Enumってどんな子?使えるの? - Qiita
                                                        • 「PHP 8.1」正式リリース。PHP 8.0からさらに高速化、Enum型、非同期コードを簡単に記述など新機能

                                                          「PHP 8.1」正式リリース。PHP 8.0からさらに高速化、Enum型、非同期コードを簡単に記述など新機能 Webアプリケーションの開発言語として知られるPHP言語の開発チームは、PHP 8.1の正式リリースを発表しました。 PHP's website has a nice overview of the new features too:https://t.co/pU0bPeiyjd — php.net (@official_php) November 25, 2021 PHP 8.1ではSymfonyのデモアプリケーションで23%の高速化、Wordpressで3.5%の高性能化を実現したと説明されています。 言語仕様としては、Enum型の追加、Readonly Propertiesの追加、変数の初期化でNewキーワードの利用が可能に、返値を返さない関数を記述するNeverキーワード

                                                            「PHP 8.1」正式リリース。PHP 8.0からさらに高速化、Enum型、非同期コードを簡単に記述など新機能
                                                          • ActiveRecord::EnumのI18n

                                                            ActiveRecordのenumにI18n用の機能を提供するgemをつくった。 https://github.com/r7kamura/activerecord-enum_translation どういうものか Userがenumを利用したstatusというカラムを持っているとすると、I18n用の辞書としてこういう風なデータを用意しておけば… ja: activerecord: attributes: user: name: 名前 status: active: 利用中 inactive: 停止中 次のようにメソッドを呼び出すことで、翻訳された辞書が利用できるようになる、というやつ。 user.human_enum_name_for(:status) #=> "利用中" 技術的な難題の解決とかは全く狙っていなくて、どちらかと言うと、この手の仕組みにルールが無くてアプリ内のいろんなところに

                                                              ActiveRecord::EnumのI18n
                                                            • Rails 7のenumに新しい構文が導入(翻訳)|TechRacho by BPS株式会社

                                                              概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rails introduces new syntax for enum | Saeloun Blog 原文公開日: 2021-02-26 著者: Deepak Mahakale サイト: Saeloun Blog | Ruby on Rails Consulting Company based in San Francisco and Boston Rails 7の最新の変更で、enum定義に新しい構文が導入されました(#41328)。 変更前 従来の構文では、以下のように「enumの名前」「enumの値」「enumのオプション」を渡せます。 class Post < ActiveRecord::Base enum status: [ :draft, :published, :archived ], _prefix: true,

                                                                Rails 7のenumに新しい構文が導入(翻訳)|TechRacho by BPS株式会社
                                                              • Enum の代わりに使う union 型 | CYOKODOG

                                                                Enum の代わりに union 型を使おうという風潮があるらしい TypeScript v3.4 から使えるconst assertionを用いると、使い勝手を損なわず Enum の代わりに union 型が使えるらしい Enum とは 列挙型とも呼ばれる TS にはあって JS には無いもの、他の言語(C、C#、Java とか)にもある 定数をひとまとめに定義できる enum Card { Clubs, // 0 Diamonds, // 1 Hearts, // 2 Spades, // 3 } const card: Card = Card.Hearts; console.log(card); // 2 上記のように値には連番が振られる 意味のある分かりやすい値をもたせたい場合は、文字列や任意の数値を設定することもできる enum Card { Clubs = "clubs", D

                                                                • RailsのSTIやenumで想定外の値が入らないようにする方法 - Qiita

                                                                  まとめ STIやenumに入りうる値をテーブルで持ち、外部キー制約を追加しましょう。 サンプルリポジトリ やり方 idの型とSTIのカラムやenumのカラムの型を一致させる。 外部キー制約をはる。 class CreatePosts < ActiveRecord::Migration[6.0] def change create_table :posts do |t| t.string :type t.integer :state t.string :title t.text :body t.timestamps end create_table :post_states do |t| t.string :name t.timestamps end add_foreign_key :posts, :post_states, column: :state create_table :post

                                                                    RailsのSTIやenumで想定外の値が入らないようにする方法 - Qiita
                                                                  • Railsでgem無しに手軽にenumをi18nに対応させる - Qiita

                                                                    ActiveRecordのenumをi18n対応させたり、formのselectでの表示に対応するためにgemが幾つかありますが、そこまで複雑なことがやりたかったわけでは無いので、手軽に自分で実装してみます。 ja.yml モデルのattributeのi18nは通常、'activerecord.attributes.#{model_name}.#{attribute}'に定義します。例えば、Userモデルのnameに適用する場合には、

                                                                      Railsでgem無しに手軽にenumをi18nに対応させる - Qiita
                                                                    • 週刊Railsウォッチ(20210315前編)Active Recordのenum関連改修、Active SupportのEnumerableでpluckが使えるほか|TechRacho by BPS株式会社

                                                                      週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙇 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 以下のコミットリストのChangelogを中心に見繕いました。 コミットリスト: Comparin

                                                                        週刊Railsウォッチ(20210315前編)Active Recordのenum関連改修、Active SupportのEnumerableでpluckが使えるほか|TechRacho by BPS株式会社
                                                                      • goのenumは文字列でいいのではないかという話 - Qiita

                                                                        type Zodiac int const ( Rat Zodiac = iota // 子 Ox // 丑 Tiger // 寅 : ) ですね とはいえ数値でJSON化されたり、ログ出されたり、DBに書き込まれたりされても、 理解が一歩遅れるので、文字列化は欲しくなるわけです。 enumを文字列化するために、String() 設けたりします。 func (z Zodiac) String() string { switch z { case Rat: return "Rat" case Ox: return "Ox" case Tiger: return "Tiger" : } return "" } type Zodiac string const ( Rat = Zodiac("Rat") Ox = Zodiac("Ox") Tiger = Zodiac("Tiger") Rabb

                                                                          goのenumは文字列でいいのではないかという話 - Qiita
                                                                        • TypeScript の Enum がどのように JavaScript で表現されているか調べてみた。 - Qiita

                                                                          TypeScript の Enum がどのように JavaScript で表現されているか調べてみた。JavaScriptTypeScriptenum即時関数 TypeScript で列挙型として利用できる Enum ですが、JavaScript にトランスパイルされたコードを見て「どうなってんの?」と思ったので調べてみました。 平易な言葉を心がけて書いてます 😉 ちなむと、 TreeShaking の観点から Enum より Union Types のほうがいいよね、という意見があります。 私個人としても Union Types 推しなので、この投稿はあくまでも参考程度に読んでもらえればありがたいです。 参考記事: TypeScriptのenumを使わないほうがいい理由を、Tree-shakingの観点で紹介します - LINE Engineering トランスパイルされたコードを確認

                                                                            TypeScript の Enum がどのように JavaScript で表現されているか調べてみた。 - Qiita
                                                                          • なぜPHPにはEnumがないのか

                                                                            レガシーなアプリケーションにこそTypeScriptを採用するべきではないかと思ったのでちょっとまとめてみたよっていう話をするスライドです / Legacy code needs TypeScript

                                                                              なぜPHPにはEnumがないのか
                                                                            • laravel-enumを使ってみたら快適だった | RE:ENGINES

                                                                              はじめに こんにちは。Laravelでenumを使いたい時、PHPやLaravel本体ではサポートされていないのでComposer経由でパッケージを入れることになります。 今は bensampo/laravel-enum を使っており、とりあえず不自由ない感じなので、紹介しようと思います。 enumについて 列挙型 – Wikipedia railsで初めてenumを知ったのですが、C言語の時点で既にあったのですね。 私は「限られた値しか持てないデータ型」と認識してます。 例えば注文情報テーブルに支払方法を保存する時、データベースの orders テーブルに payment_type カラムを持たせるとします。 card, transfer, cash など支払方法名だけが orders.payment_type に入るようにしつつ、表示時は「クレジットカード」や「銀行振込」といった文字列

                                                                                laravel-enumを使ってみたら快適だった | RE:ENGINES
                                                                              • State Machines II: an enum-based design

                                                                                State Machines II: an enum-based design — 2022-08-23 the case for state machines representing state machines in rust in the future ergonomics: overview ergonomics: merging self-types ergonomics: merging return types tying it together conclusion In the past I've written about state machines in Rust. And more recently I've also written about anonymous enums 1 in Rust. I've been wondering what would

                                                                                  State Machines II: an enum-based design
                                                                                • そのif文、Enumにしてみませんか。 - mizzsugar’s blog

                                                                                  これは、Python Advent Calendar 17日目の記事です。 Python Advent Calendar 2019 - Qiita この記事では、私が好きな標準モジュールのうちの一つenumモジュールの基本的な使い方と enumモジュールを使ってリファクタリングする例を紹介します。 enumモジュールとは 列挙型クラスをサポートします。 列挙型とは Pythonのドキュメントにはこう書かれています。 列挙型は、一意の定数値に束縛された識別名 (メンバー) の集合です。列挙型の中でメンバーの同一性を比較でき、列挙型自身でイテレートが可能です。 https://docs.python.org/ja/3.8/library/enum.html enum.Enumを使用した例 例えば、血液型を表すクラスがあるとします。 血液型はA, B, O, ABの4種類から成り立っています。

                                                                                    そのif文、Enumにしてみませんか。 - mizzsugar’s blog

                                                                                  新着記事