# enums

Published articles for enums.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Mercure Broadcasting in Laravel 13.32

DevFeed: [Mercure Broadcasting in Laravel 13.32](<https://devfeed.tech/articles/mercure-broadcasting-in-laravel-13-32-31558.md>)

Original publisher: [Read original article](<https://laravel-news.com/laravel-13-32-0>)

Author: Paul Redmond

Published: 2026-09-16T02:44:52Z

Content type: release

Language: en

Sources: [Laravel](<https://devfeed.tech/sources/laravel.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [enum](<https://devfeed.tech/topics/enum.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>)

Tags: [enums](<https://devfeed.tech/tags/enums.md>), [features](<https://devfeed.tech/tags/features.md>), [github](<https://devfeed.tech/tags/github.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [laravel-releases](<https://devfeed.tech/tags/laravel-releases.md>), [news](<https://devfeed.tech/tags/news.md>), [queue](<https://devfeed.tech/tags/queue.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [storage](<https://devfeed.tech/tags/storage.md>), [update](<https://devfeed.tech/tags/update.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

Laravel 13.32 adds a Mercure broadcast driver, filesystem methods for copying and moving files between disks, and enum support for queue pause and resume methods. The release also includes additional fixes and updates.

### Source excerpt

Laravel 13.32 adds a Mercure broadcast driver, Storage::copyToDisk() and moveToDisk(), enum support in queue pause/resume, and more. The post Mercure Broadcasting in Laravel 13.32 appeared first on Laravel News. Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.

## Nice and Naughty Cases of Pattern Matching

DevFeed: [Nice and Naughty Cases of Pattern Matching](<https://devfeed.tech/articles/nice-and-naughty-cases-of-pattern-matching-23025.md>)

Original publisher: [Read original article](<https://www.javaadvent.com/2025/12/nice-and-naughty-cases-of-pattern-matching.html>)

Author: Cay Horstmann

Published: 2025-12-08T02:02:26Z

Content type: article

Language: en

Sources: [Java Advent Calendar](<https://devfeed.tech/sources/java-advent-calendar.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [article](<https://devfeed.tech/tags/article.md>), [enums](<https://devfeed.tech/tags/enums.md>), [exhaustive](<https://devfeed.tech/tags/exhaustive.md>), [expression](<https://devfeed.tech/tags/expression.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [java](<https://devfeed.tech/tags/java.md>), [java-language](<https://devfeed.tech/tags/java-language.md>), [pattern-matching](<https://devfeed.tech/tags/pattern-matching.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [programming](<https://devfeed.tech/tags/programming.md>), [sealed](<https://devfeed.tech/tags/sealed.md>), [statement](<https://devfeed.tech/tags/statement.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

This article examines Java pattern matching in switch and instanceof, explaining when it fits data-oriented programming, when it becomes an antipattern, and how it interacts with legacy behavior. It uses sealed interfaces, records, enums, and JSON values to illustrate exhaustive pattern matching.

### Source excerpt

Since Java 14, the Java switch and instanceof statements have been enhanced, in multiple phases, to support pattern matching and a "data-oriented" programming style. In this article, I explore when this programming style is beneficial, and why. I look at the sweet spot of perfect pattern usage, absolute antipatterns where it should not be used, [...] The post Nice and Naughty Cases of Pattern Matching appeared first on JVM Advent.

## Firebase Data Connect Adds Full-Text Search, Enums, SDK Downloads, and MCP Support

DevFeed: [Firebase Data Connect Adds Full-Text Search, Enums, SDK Downloads, and MCP Support](<https://devfeed.tech/articles/data-connect-full-text-search-enums-and-more-16613.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2025/07/dataconnect-fts-enums>)

Author: Andrea Wu

Published: 2025-07-23T00:00:00Z

Content type: release

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [data](<https://devfeed.tech/topics/data.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [MCP](<https://devfeed.tech/topics/mcp.md>), [SDK](<https://devfeed.tech/topics/sdk.md>)

Tags: [enums](<https://devfeed.tech/tags/enums.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [full-text-search](<https://devfeed.tech/tags/full-text-search.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [news](<https://devfeed.tech/tags/news.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [sql-connect](<https://devfeed.tech/tags/sql-connect.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

Firebase announces new Data Connect features including Postgres-powered full-text search, enum support, SDK downloads from the console, and Firebase MCP server support. The article also describes search filters, language choices, query formats, and relevance thresholds.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## Transitioning from C and C++ to Rust: A Beginner's Guide

DevFeed: [Transitioning from C and C++ to Rust: A Beginner's Guide](<https://devfeed.tech/articles/transitioning-from-c-and-c-to-rust-a-beginner-s-guide-22268.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2024/10/transitioning-from-c-and-c++-to-rust.html>)

Published: 2024-10-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [C](<https://devfeed.tech/topics/c.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [beginner](<https://devfeed.tech/tags/beginner.md>), [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [c-plus-plus-to-rust](<https://devfeed.tech/tags/c-plus-plus-to-rust.md>), [c-to-rust](<https://devfeed.tech/tags/c-to-rust.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [enums](<https://devfeed.tech/tags/enums.md>), [generics](<https://devfeed.tech/tags/generics.md>), [guide](<https://devfeed.tech/tags/guide.md>), [memory-management](<https://devfeed.tech/tags/memory-management.md>), [memory-safety](<https://devfeed.tech/tags/memory-safety.md>), [migrating-from-c-plus-plus-to-rust](<https://devfeed.tech/tags/migrating-from-c-plus-plus-to-rust.md>), [pattern-matching](<https://devfeed.tech/tags/pattern-matching.md>), [pointers](<https://devfeed.tech/tags/pointers.md>), [runtime-errors](<https://devfeed.tech/tags/runtime-errors.md>), [rust](<https://devfeed.tech/tags/rust.md>), [rust-for-c-developers](<https://devfeed.tech/tags/rust-for-c-developers.md>), [rust-for-c-plus-plus-programmers](<https://devfeed.tech/tags/rust-for-c-plus-plus-programmers.md>), [rust-programming](<https://devfeed.tech/tags/rust-programming.md>), [transitioning-from-c-and-c-plus-plus-to-rust-guide](<https://devfeed.tech/tags/transitioning-from-c-and-c-plus-plus-to-rust-guide.md>), [transitioning-from-c-and-c-plus-plus-to-rust-tutorial](<https://devfeed.tech/tags/transitioning-from-c-and-c-plus-plus-to-rust-tutorial.md>), [transitioning-to-rust](<https://devfeed.tech/tags/transitioning-to-rust.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

A beginner's guide to transitioning from C and C++ to Rust, focusing on Rust's ownership and borrowing model, compile-time memory-safety checks, and type-system features such as enums, pattern matching, and generics.

### Source excerpt

Introduction: As you embark on the journey from C or C++ to Rust, you'll discover a world of exciting possibilities. Rust's emphasis on safety, concurrency, and performance can significantly enhance your programming toolkit. This beginner's guide on transitioning from C and C++ to Rust will provide a structured approach to making that transition, addressing essential concepts and practical applications. Let's dive in! Step 1: Understanding Rust's Ownership Model Concept Overview: Rust's ownership model is its most distinctive feature. Unlike C and C++, where you have pointers and manual memory management, Rust uses a system of ownership with rules that the compiler checks at compile time.

## The Boolean Trap

DevFeed: [The Boolean Trap](<https://devfeed.tech/articles/the-boolean-trap-39098.md>)

Original publisher: [Read original article](<https://read.engineerscodex.com/p/the-boolean-trap>)

Author: Engineer's Codex

Published: 2024-09-05T02:06:52Z

Content type: opinion

Language: en

Sources: [Engineer's Codex](<https://devfeed.tech/sources/engineer-s-codex.md>)

Topics: [enum](<https://devfeed.tech/topics/enum.md>), [enums](<https://devfeed.tech/topics/enums.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [enum](<https://devfeed.tech/tags/enum.md>), [enums](<https://devfeed.tech/tags/enums.md>), [function](<https://devfeed.tech/tags/function.md>)

### AI overview

This article explains the boolean trap: boolean parameters in functions and APIs can make code unclear and difficult to extend. It recommends using enums instead, even for binary choices, because enums improve readability, typing, maintainability, and extensibility.

### Source excerpt

Use enums instead

## Comparing Objects in Swift Using the Equatable Protocol

DevFeed: [Comparing Objects in Swift Using the Equatable Protocol](<https://devfeed.tech/articles/comparing-objects-in-swift-using-the-equatable-protocol-25519.md>)

Original publisher: [Read original article](<https://patrykkosieradzki.com/comparing-objects-in-swift-using-the-equatable-protocol>)

Published: 2024-04-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [Patryk Kosieradzki](<https://devfeed.tech/sources/patryk-kosieradzki.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [enums](<https://devfeed.tech/tags/enums.md>), [examples](<https://devfeed.tech/tags/examples.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [ios](<https://devfeed.tech/tags/ios.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [object](<https://devfeed.tech/tags/object.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>), [swift](<https://devfeed.tech/tags/swift.md>), [types](<https://devfeed.tech/tags/types.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This tutorial explains how to compare objects in Swift with the Equatable protocol. It covers compiler-synthesized conformance, requirements for stored properties and enum values, extensions for external types, and custom comparison logic.

### Source excerpt

How to improve object comparison in Swift using the Equatable protocol? See it in concrete examples.

## Touchlab Open Source Updates - Sep 2023 - Touchlab Engineering

DevFeed: [Touchlab Open Source Updates - Sep 2023 - Touchlab Engineering](<https://devfeed.tech/articles/touchlab-open-source-updates-sep-2023-touchlab-engineering-38335.md>)

Original publisher: [Read original article](<https://touchlab.co/touchlab-open-source-updates-sep-2023>)

Published: 2023-09-19T23:33:27Z

Content type: news

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [Crashlytics](<https://devfeed.tech/topics/crashlytics.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [class](<https://devfeed.tech/tags/class.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [crashlytics](<https://devfeed.tech/tags/crashlytics.md>), [default-parameters](<https://devfeed.tech/tags/default-parameters.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [enums](<https://devfeed.tech/tags/enums.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [logging](<https://devfeed.tech/tags/logging.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [sealed](<https://devfeed.tech/tags/sealed.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

Touchlab reports open-source updates for Kotlin Multiplatform, including SKIE improvements for Kotlin-to-iOS interfaces, the Kermit 2.0 release, CrashKiOS updates, and Stately 2.0 concurrency features.

### Source excerpt

Touchlab has pushed some major open source updates over the past few weeks that will have an impact on how teams use KMP, and on KMP adoption overall. Here are the highlights.

## Enum classes in Kotlin

DevFeed: [Enum classes in Kotlin](<https://devfeed.tech/articles/enum-classes-in-kotlin-39330.md>)

Original publisher: [Read original article](<https://kt.academy/article/kfde-enum>)

Published: 2023-02-01T00:01:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [enum class](<https://devfeed.tech/topics/enum-class.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [abstract-class](<https://devfeed.tech/tags/abstract-class.md>), [class](<https://devfeed.tech/tags/class.md>), [constructor](<https://devfeed.tech/tags/constructor.md>), [enum](<https://devfeed.tech/tags/enum.md>), [enum-class](<https://devfeed.tech/tags/enum-class.md>), [enums](<https://devfeed.tech/tags/enums.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [property](<https://devfeed.tech/tags/property.md>), [superclass](<https://devfeed.tech/tags/superclass.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

This Kotlin tutorial explains how to define and use enum classes to represent finite sets of values. It covers enum values and their order, companion object utilities, exhaustive when conditions, stored state, and custom methods.

### Source excerpt

What are enum classes in Kotlin and how do we use them.

## Understanding the GraphQL Type System

DevFeed: [Understanding the GraphQL Type System](<https://devfeed.tech/articles/understanding-the-graphql-type-system-37592.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/graphql-type-system/>)

Author: hello@taniarascia.com

Published: 2023-01-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [API](<https://devfeed.tech/topics/api.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [enum](<https://devfeed.tech/tags/enum.md>), [enums](<https://devfeed.tech/tags/enums.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [type-system](<https://devfeed.tech/tags/type-system.md>), [union-types](<https://devfeed.tech/tags/union-types.md>)

### AI overview

This tutorial explains the GraphQL type system and how its types are used to build a GraphQL schema. It covers scalar types, Enums, List and Non-Null wrapping types, Object types, Interfaces, and Unions, with examples.

### Source excerpt

GraphQL is a modern solution for facilitating the communication between a front end and a data source. All of the details and capabilities...

## Apollo Federation 2 is now generally available

DevFeed: [Apollo Federation 2 is now generally available](<https://devfeed.tech/articles/apollo-federation-2-is-now-generally-available-23183.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/apollo-federation-2-is-now-generally-available>)

Author: Phil Prasek

Published: 2022-04-13T09:30:00Z

Content type: release

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [interfaces](<https://devfeed.tech/topics/interfaces.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [gateway](<https://devfeed.tech/topics/gateway.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [apollo-federation](<https://devfeed.tech/tags/apollo-federation.md>), [availability](<https://devfeed.tech/tags/availability.md>), [cli](<https://devfeed.tech/tags/cli.md>), [enums](<https://devfeed.tech/tags/enums.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>)

### AI overview

Apollo announces the general availability of Apollo Federation 2, a modular GraphQL architecture with improvements to Gateway 2.0, the Rover CLI, and Apollo Studio. The release adds a shared ownership model, enhanced type merging, cleaner syntax, support for shared interfaces and enums, and backward-compatible incremental adoption.

### Source excerpt

The momentum continues to build around Apollo Federation with over 1M weekly downloads and 18K+ projects now using Apollo Federation, up 50% in the last 5 months since Federation 2 was first announced. We'd like to extend a big thank you to our community! Because of your contributions, Federation developers can compose subgraphs written in over 18 languages and frameworks!

## An Approach for Migrating From Objective-C to Swift

DevFeed: [An Approach for Migrating From Objective-C to Swift](<https://devfeed.tech/articles/an-approach-for-migrating-from-objective-c-to-swift-25811.md>)

Original publisher: [Read original article](<https://www.steveonstuff.com/2022/01/13/migrating-from-objc-to-swift>)

Author: Steve Barnegren

Published: 2022-01-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Steve Barnegren](<https://devfeed.tech/sources/steve-barnegren.md>)

Topics: [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [tvOS](<https://devfeed.tech/topics/tvos.md>), [generics](<https://devfeed.tech/topics/generics.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [enums](<https://devfeed.tech/tags/enums.md>), [generics](<https://devfeed.tech/tags/generics.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [ios](<https://devfeed.tech/tags/ios.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [optional](<https://devfeed.tech/tags/optional.md>), [swift](<https://devfeed.tech/tags/swift.md>), [types](<https://devfeed.tech/tags/types.md>), [with](<https://devfeed.tech/tags/with.md>)

### AI overview

This article shares lessons from transitioning a large iOS and tvOS application from Objective-C to Swift. It explains why simply adding new Swift code produced limited progress and caused Swift code to be constrained by Objective-C interoperability.

### Source excerpt

It feels like Swift is pretty ubiquitous across the Apple ecosystem now, but there's a lot of Objective-C out there. The larger and older the app, the more likely that there's still a bunch of Objective-C powering various bits behind the scenes.

## PhpStorm 2021.2: дженерики, перечисления, array shapes, новые инспекции и рефакторинги

DevFeed: [PhpStorm 2021.2: дженерики, перечисления, array shapes, новые инспекции и рефакторинги](<https://devfeed.tech/articles/phpstorm-2021-2-array-shapes-23928.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/571962/>)

Author: pronskiy (JetBrains)

Published: 2021-08-09T12:07:54Z

Content type: release

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [phpstorm](<https://devfeed.tech/topics/phpstorm.md>), [PHP](<https://devfeed.tech/topics/php.md>), [generics](<https://devfeed.tech/topics/generics.md>), [ide](<https://devfeed.tech/topics/ide.md>)

Tags: [enums](<https://devfeed.tech/tags/enums.md>), [generics](<https://devfeed.tech/tags/generics.md>), [ide](<https://devfeed.tech/tags/ide.md>), [php](<https://devfeed.tech/tags/php.md>), [php-8-1](<https://devfeed.tech/tags/php-8-1.md>), [phpdoc](<https://devfeed.tech/tags/phpdoc.md>), [phpstorm](<https://devfeed.tech/tags/phpstorm.md>), [tag-831b63de9433](<https://devfeed.tech/tags/tag-831b63de9433.md>), [tag-e605ecb2bfdd](<https://devfeed.tech/tags/tag-e605ecb2bfdd.md>), [toolbox-app](<https://devfeed.tech/tags/toolbox-app.md>)

### AI overview

JetBrains details the PhpStorm 2021.2 release, including new PHP IDE actions, version-control improvements, and support for several generic-programming scenarios through PHPDoc annotations. The article also covers collections, factory patterns, and planned future enhancements.

### Source excerpt

Вышел второй мажорный релиз PhpStorm в этом году. Под катом подробный разбор всех изменений и новых возможностей с кучей гифок.

## Learning Zig - Day 3

DevFeed: [Learning Zig - Day 3](<https://devfeed.tech/articles/learning-zig-day-3-38542.md>)

Original publisher: [Read original article](<https://msfjarvis.dev/posts/learning-zig--day-3/>)

Author: Harsh Shandilya

Published: 2021-05-16T06:30:00Z

Content type: tutorial

Language: en

Sources: [Posts on Harsh Shandilya](<https://devfeed.tech/sources/posts-on-harsh-shandilya.md>)

Topics: [Zig](<https://devfeed.tech/topics/zig.md>), [Learning](<https://devfeed.tech/topics/learning.md>), [syntax](<https://devfeed.tech/topics/syntax.md>), [type coercion](<https://devfeed.tech/topics/type-coercion.md>), [Code](<https://devfeed.tech/topics/code.md>), [Rust](<https://devfeed.tech/topics/rust.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [enums](<https://devfeed.tech/tags/enums.md>), [learn](<https://devfeed.tech/tags/learn.md>), [learning](<https://devfeed.tech/tags/learning.md>), [pointers](<https://devfeed.tech/tags/pointers.md>), [sealed-classes](<https://devfeed.tech/tags/sealed-classes.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [type-coercion](<https://devfeed.tech/tags/type-coercion.md>), [zig](<https://devfeed.tech/tags/zig.md>)

### AI overview

A personal learning log covering the remaining basics of ZigLearn chapter 1. The author discusses Zig pointers, enums, structs, unions, type coercion, floats, and optionals, often comparing Zig's syntax and behavior with Rust and Kotlin.

### Source excerpt

Finishing up the basics

## Idiomatic Alternatives to Enums in TypeScript

DevFeed: [Idiomatic Alternatives to Enums in TypeScript](<https://devfeed.tech/articles/idiomatic-alternatives-to-enums-in-typescript-19120.md>)

Original publisher: [Read original article](<https://medium.com/rbi-tech/idiomatic-alternatives-to-enums-in-typescript-fa8e6518d113?source=rss----904782439303---4>)

Author: Andy Weiss

Published: 2021-01-31T19:19:11Z

Content type: tutorial

Language: en

Sources: [RBI Tech](<https://devfeed.tech/sources/rbi-tech.md>)

Topics: [TypeScript](<https://devfeed.tech/topics/typescript.md>), [enum](<https://devfeed.tech/topics/enum.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [compilation](<https://devfeed.tech/tags/compilation.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [enum](<https://devfeed.tech/tags/enum.md>), [enums](<https://devfeed.tech/tags/enums.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [programming](<https://devfeed.tech/tags/programming.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

This article examines TypeScript enums in relation to TypeScript's design goals and JavaScript output. It explains that enums are not merely type-level extensions, are compiled into JavaScript code, and may produce output the author considers less clean or idiomatic than expected.

### Source excerpt

If you're making a list, type check it once? TypeScript is often referred to as a syntactical superset of JavaScript. In practice, this means its compiler can understand standard JS, as well as the type declarations and annotations that enable its error-detecting superpowers. For the most part, the additional syntax provided by TypeScript is stripped away during trans-compilation to JS. Indeed, its ability to gracefully disappear and produce JavaScript output that closely resembles the original code as authored is a major part of its appeal and is enshrined in the project's design goals (emphasis mine): Statically identify constructs that are likely to be errors. Provide a structuring mechanism for larger pieces of code. Impose no runtime overhead on emitted programs. Emit clean, idiomatic, recognizable JavaScript code. Produce a language that is composable and easy to reason about. Align with current and future ECMAScript proposals. Preserve runtime behavior of all JavaScript code. Avoid adding expression-level syntax. Use a consistent, fully erasable, structural type system. Be a cross-platform development tool. Do not cause substantial breaking changes from TypeScript 1.0. What, then, to make of TypeScript enums? 🤔 The idea of an enumerated type -- that a programmer can constrain the values a piece of data can hold to a pre-defined list, and be alerted when their actions diverge from their intentions -- has a rich tradition in programming going all the way back to C. Enums are native to TypeScript, but don't exist in JavaScript. But while enums are supported in TypeScript, there is no corresponding implementation in JavaScript. Worse yet, rather than disappear from the emitted JS output, they are trans-compiled into code that would be hard to refer to as clean or idiomatic. https://bit.ly/362UoxF While the function declaration and invocation above are nearly identical in TS and JS, the enum declaration trans-compiles to an IIFE with nested assignments to an object

## Exhaustive Collections Of Structs

DevFeed: [Exhaustive Collections Of Structs](<https://devfeed.tech/articles/exhaustive-collections-of-structs-25809.md>)

Original publisher: [Read original article](<https://www.steveonstuff.com/2019/03/14/exhaustive-collections-of-sructs>)

Author: Steve Barnegren

Published: 2019-03-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Steve Barnegren](<https://devfeed.tech/sources/steve-barnegren.md>)

Topics: [enum](<https://devfeed.tech/topics/enum.md>), [dataset](<https://devfeed.tech/topics/dataset.md>), [data](<https://devfeed.tech/topics/data.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [collections](<https://devfeed.tech/tags/collections.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [data](<https://devfeed.tech/tags/data.md>), [dataset](<https://devfeed.tech/tags/dataset.md>), [enum](<https://devfeed.tech/tags/enum.md>), [enums](<https://devfeed.tech/tags/enums.md>)

### AI overview

The article examines modeling a heterogeneous dataset, such as a social networking feed, with enums and associated values. It explains that this approach can become difficult to scale and organize, then introduces collections of structs as a more flexible alternative.

### Source excerpt

It's not uncommon that we need to model a dataset composed of a finite number of discrete data types, where each data type has it's own unique data model. This is often the case for table view data sources - they're often comprised of a few different cell types, with each cell type having a different set of properties that it needs to be configured with.

## Kotlin sealed classes and their differences from enums

DevFeed: [Kotlin sealed classes and their differences from enums](<https://devfeed.tech/articles/sealed-classes-in-kotlin-enums-with-super-powers-kad-28-27225.md>)

Original publisher: [Read original article](<https://antonioleiva.com/sealed-classes-kotlin>)

Published: 2017-06-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Antonio Leiva](<https://devfeed.tech/sources/antonio-leiva.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [enum](<https://devfeed.tech/topics/enum.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [enum](<https://devfeed.tech/tags/enum.md>), [enums](<https://devfeed.tech/tags/enums.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [sealed-classes](<https://devfeed.tech/tags/sealed-classes.md>)

### AI overview

A Kotlin tutorial explaining sealed classes as constrained class hierarchies. It compares them with enums, shows how subclasses can hold state, and explains compiler checking of branches when handling all possible types.

### Source excerpt

Everything Android, Kotlin and other random topics

## Advanced Swift Workshop in Washington, DC

DevFeed: [Advanced Swift Workshop in Washington, DC](<https://devfeed.tech/articles/advanced-swift-workshop-in-washington-dc-30615.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/advanced-swift-workshop-in-washington-dc.html>)

Author: Mike Ash

Published: 2016-11-12T21:27:00Z

Content type: news

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [advanced](<https://devfeed.tech/tags/advanced.md>), [enums](<https://devfeed.tech/tags/enums.md>), [event](<https://devfeed.tech/tags/event.md>), [generics](<https://devfeed.tech/tags/generics.md>), [memory-management](<https://devfeed.tech/tags/memory-management.md>), [swift](<https://devfeed.tech/tags/swift.md>), [workshop](<https://devfeed.tech/tags/workshop.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

The author announces a one-day advanced Swift programming workshop in the Washington, DC area on December 12th. Topics include ARC and memory management, reference cycles, enums, generics, pointer APIs, and C APIs, with lectures, exercises, discussions, and Xcode playgrounds.

### Source excerpt

I will be holding a one-day workshop on advanced Swift programming in the Washington, DC area on December 12th. If you enjoy my articles and want to sharpen your Swift skills, check it out. (Read More)

## Creating easy, readable attributes with ActiveRecord enums

DevFeed: [Creating easy, readable attributes with ActiveRecord enums](<https://devfeed.tech/articles/creating-easy-readable-attributes-with-activerecord-enums-26267.md>)

Original publisher: [Read original article](<https://www.justinweiss.com/articles/creating-easy-readable-attributes-with-activerecord-enums/>)

Author: Justin Weiss

Published: 2015-06-30T07:39:15Z

Content type: tutorial

Language: en

Sources: [Justin Weiss](<https://devfeed.tech/sources/justin-weiss.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [enum](<https://devfeed.tech/topics/enum.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [Code](<https://devfeed.tech/topics/code.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [activerecord](<https://devfeed.tech/tags/activerecord.md>), [code](<https://devfeed.tech/tags/code.md>), [database](<https://devfeed.tech/tags/database.md>), [enum](<https://devfeed.tech/tags/enum.md>), [enums](<https://devfeed.tech/tags/enums.md>), [rails](<https://devfeed.tech/tags/rails.md>), [ruby](<https://devfeed.tech/tags/ruby.md>)

### AI overview

A tutorial on Rails ActiveRecord enums for attributes with a small, mostly fixed set of values. It explains how enums map readable values to database integers, provide query and predicate methods, and introduce maintenance concerns such as ordering and sharing mappings outside Rails.

### Source excerpt

Imagine a question that can be either "pending", "approved", or "flagged". Or a phone number that's a "home", "office", "mobile", or "fax" (if it's 1982). Some models call for this kind of data. An attribute that can have only one of a few different values. And that set of values almost never changes. It's a situation where, if it were plain Ruby, you'd just use a symbol. You could create a PhoneNumberType or QuestionStatus model and a belongs_to relationship to hold these values, but that doesn't seem worth it. You could stuff them in a yaml file, but now you have to look in a totally different place to figure out what your object can do. In 4.1, Rails took a stab at solving this problem with ActiveRecord enums. A few values, in the model ActiveRecord enums are pretty easy. You give your model an integer column: bin/rails g model phone number:string phone_number_type:integer List the values that attribute can take: app/models/phone.rbclass Phone < ActiveRecord::Base enum phone_number_type: [:home, :office, :mobile, :fax] end And now you can deal with strings instead of numbers. Instead of this: irb(main):001:0> Phone.first.phone_number_type => 3 You'll see this: irb(main):002:0> Phone.first.phone_number_type => "fax" You can change that attribute using either strings or ints: irb(main):003:0> phone.phone_number_type = 1; phone.phone_number_type => "office" irb(main):004:0> phone.phone_number_type = "mobile"; phone.phone_number_type => "mobile" Or even using a bang method: irb(main):005:0> phone.office! => true irb(main):006:0> phone.phone_number_type => "office" You get methods for asking if your attribute has some specific value: irb(main):007:0> phone.office? => true And you can find all objects with the value you're looking for: irb(main):008:0> Phone.office Phone Load (0.3ms) SELECT "phones".* FROM "phones" WHERE "phones"."phone_number_type" = ? [["phone_number_type", 1]] If you want to see all the different values you can use, along with the numbers they're as

## Better Parameterized Tests with Burst

DevFeed: [Better Parameterized Tests with Burst](<https://devfeed.tech/articles/better-parameterized-tests-with-burst-15545.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/better-parameterized-tests-with-burst>)

Author: Square Engineering

Published: 2014-10-21T16:08:00Z

Content type: tutorial

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>), [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [automated](<https://devfeed.tech/tags/automated.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [business-logic](<https://devfeed.tech/tags/business-logic.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [enum](<https://devfeed.tech/tags/enum.md>), [enums](<https://devfeed.tech/tags/enums.md>), [framework](<https://devfeed.tech/tags/framework.md>), [generate](<https://devfeed.tech/tags/generate.md>), [object](<https://devfeed.tech/tags/object.md>), [parameter](<https://devfeed.tech/tags/parameter.md>), [repeat](<https://devfeed.tech/tags/repeat.md>), [running](<https://devfeed.tech/tags/running.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [unit-test](<https://devfeed.tech/tags/unit-test.md>)

### AI overview

This article introduces Burst, an alternate data variation mechanism for JUnit tests. It explains how enum parameters can generate combinations of class-level and method-level tests, including support for JUnit 3 and Android's testing framework.

### Source excerpt

An alternate data variation mechanism for JUnit tests.