[フレーム]
1 - 29 件 / 29件
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
ランキング参加中プログラミング はじめに この記事では、Immutable Data Modelと呼ばれる設計手法をもとに、リレーショナル・データベースにおける、テーブル設計の話を書いています。また、今回の実践で利用する、別の考え方の背景を理解するために、Out of the tar pitという小論文の内容にも言及します。 「状態とは何か?」というややこしい話がたくさん出てきますし、データベースのテーブル設計についての話であることから、たくさんのSQLが出てきます。なので、データモデリングとか状態管理とか、特にSQLとかに興味がない人には面白くないと思います。 そのあたりに興味ある方は、読んでみて欲しいです。 Immutable Data Modelを、実際のアプリケーションで使うデータベースに採用するにあたり、どういう考え方で、どのようにテーブルを構成したか、自分なりの経験を書いていま
[追記] 実行中のシェルスクリプトをchattr(1)を使ってimmutableにするというのはどうか - その手の平は尻もつかめるさ 調べてみたけどこれが良さそう <a href="https://stackoverflow.com/a/3399850/1921216" target="_blank" rel="noopener nofollow">https://stackoverflow.com/a/3399850/1921216</a>2022年01月02日 17:02 b.hatena.ne.jp このブックマークコメントで指摘されましたが、immutableにするまでもなくこのラッパースクリプトを噛ませると良さそう。 #!/bin/bash # usage: # sh-run.sh script-you-want-to-run.sh args... set -ue file="$
a = [1, 2, 3] b = a # コピー? c = a # コピー? b.append(4) # 追加 c.append(5) # 追加 print(b) # [1, 2, 3, 4, 5] # c に追加したはずの 5 が # b にも追加されていて、ビビる print(c) # [1, 2, 3, 4, 5] # b に追加したはずの 4 が # c にも追加されていて、ビビる const a = [1, 2, 3] const b = a // コピー? const c = a // コピー? b.push(4) // 追加 c.push(5) // 追加 console.log(b) /* [ 1, 2, 3, 4, 5 ] c に追加したはずの 5 が b にも追加されていて、ビビる */ console.log(c) /* [ 1, 2, 3, 4, 5 ] b に追
先日 (2025年08月26日) public preview になった GitHub の Immutable Releases を紹介します。 このセキュリティ的に極めて重要な機能が普及してほしいという気持ちで書くことにしました。 まだ public preview なので早いかもですが、 GitHub でソフトウェアをバージョニングして公開している方は是非全リポジトリで有効にしましょう。 Immutable Releases は GitHub Tag や Release, Release assets を後から変更できないようにする機能です。 tag や assets が改竄されることによるセキュリティインシデントを防ぐことができます。 最初に注意点を挙げておきます: draft release は mutable draft でない release には後から asset を uplo
昨今のフロントエンド開発では、データをイミュータブルなオブジェクトとして扱うのが主流です。すなはち、データが変わるときはオブジェクトを書き換えるのではなく、新しいデータを持った新しいオブジェクトを作ります。最近ではオブジェクトがデータとしてプログラムのあちこちで取り回されることが増えて、一度余所に渡されたデータの中身が後から変更されるのは混乱をきたし設計が困難になるというのが主な理由です。 データを変更するたびに新しいオブジェクトを作るのは、特にデータが複雑になったりネストしたりしていると面倒だしプログラムの見通しが悪くなります。そこで使われるのが、データをイミュータブルに扱うためのライブラリであるImmutable.jsとImmerです。 データをイミュータブルなものとして扱うという目的はどちらのライブラリでも達成することができますが、現在では Immer のほうが開発が活発であり、独自
ACS事業部亀崎です。 GitHub Universe'24 で紹介され、でもそこまで大きく取り上げられていない機能を1つご紹介します。 それが GitHub Immutable Actoinです。 https://gh.io/immutable-actions 現時点ではPublic Previewという状態です。 Immutable Actionsとは 公開されている情報も交えてご紹介しましょう。 github.com github.com みなさんご存知のように GitHub Actionは標準ではGitHub Repositoryを使って提供します。 しかし昨今のSoftware Supply Chain Securityの動向もあり、できる限り外部からなにか不正なものが紛れ込むリスクを減らしたい、そういうニーズが広がっていると思います。 そこで利用されるのがImmutable A
データ構造をimmutableにしたい、イベントは起きたことをそのまま記録したい、更には監査の観点から修正させたくない、という人類の夢と希望に対して、「だってそれじゃあ現場は回らないんだよ」という例外運用のバランスをどこで取っていくか?というのは昨日・今日出てきた話ではないんですよ— magnoliak🍧 (@magnolia_k_) 2021年11月28日 所謂、業務システムの設計の一番肝心なところって、「起きた事実をありのまま記録する」っていう要件と、実際の運用がそうなっていない現実との戦いなんじゃないかって みんなそうしたいんだよ、でもできないんだよっていう— magnoliak🍧 (@magnolia_k_) 2021年11月28日 「データを活用しよう」って言い出しても、「活用できるように維持していましたっけ?」みたいな話も同じなんだけど、とにかく例外との戦いなんですよ— m
WantedlyのDX (Developer Experience) Squadでエンジニアをしている原 将己 (qnighy) です。 Immutable.jsというライブラリを使っているJavaScriptコードをTypeScript化するにあたって、既存の型定義では不十分だった箇所を独自に修正しました。このときしたことがTypeScriptの知見として面白いと思ったので紹介します。 Immutable.js とはImmutable.js はFacebookが開発している永続データ構造 (純粋関数型データ構造、不変データ構造) のJavaScript実装です。配列 (List), Map, Set などが実装されていますが、データ構造に対する変更操作は全て「新しい状態を返す関数」の形で提供されています。 import { List } from "immutable"; const u
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
GitHubのImmutable Releasesがパブリックプレビューとなりました。ソフトウェアを公開している方は積極的にオンにすると良いでしょう。suzuki-shunsukeさんが早速zennを書かれているので、詳しい解説はそちらに譲ります。 Releases now support immutability in public preview - GitHub Changelog GitHub の Immutable Releases を有効にしてセキュリティインシデントを防ごう ここでは、Go製のソフトウェアで実行ファイルもリリースされている方の中には、tagprと goreleaserを組み合わせて使っている方がそれなりにいると思うので、その場合の設定についてお知らせします。 Draftリリースを作り、それを再利用する これだけです。具体的には以下です。 .tagpr に re
以下の記事でも触れている StateNotifier は状態値をimmutableで扱うことが実質必須ですが、そのimmutableプログラミングがあまり理解できていない様子が散見されたり質問を受けることが多いのでそれについて記事にしてみました。 immutableについての良い解説記事なども色々ありますが、Flutter/Dartにおいての実践的な扱い方に対して飛躍がある気がしていて、それを埋められることを意識して順を追って説明してきます。 以下で示したコードは https://github.com/mono0926/riverpod_example/blob/main/test/test.dart に大体含まれています。 mutableなクラスの挙動まず、mutableなクラスの挙動は以下のようになります。 class Mutable { Mutable(this.value); in
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
BlogRuby 3.2 introduces Data, a new core class for immutable value objects Ruby 3.2 introduces Data, a new core class for immutable value objects. Value objects are a powerful tool for improving the quality of code. They are easy to understand and use and can help improve the readability and maintainability of code by making it more concise, consistent, and easier to reason about. Value objects ar
これを読んでる君は、Immutable IDをきっと吹っ飛ばしたからやってきたのでしょう... という物語調はおいといて、OktaとMSの連携でしくじった時にしんどかった時の話(Immutable ID版)をします。 そもそもの話まず一つ愚痴です。OktaとMS Office365のアプリテンプレートはあるんですが、Azure ADのみの構成の場合、これ非常にわかりにくいというか、とても初見殺しです。 なぜかというと、Okta上のドキュメントではPowerShellとAPIを利用した方法の2パターンあります。 Oktaでは今おすすめしているのはAPIの方 なので、APIを利用してみるかってなるのですが、こっちの方法のドキュメントは用意されてないんですよね。なんで?おすすめじゃないの? ちなみにPowerShellは用意されてます。ただしAzure Active Directory Modu
Target SDK 31(Android 12)から PendingIntent のmutability(可変性)を指定する必要があります。 https://developer.android.com/about/versions/12/behavior-changes-12#pending-intent-mutability 指定するときに FLAG_IMMUTABLE か FLAG_MUTABLE のどちらかの値を使用することになります。 この2つのフラグの違いについて解説します。 コード例まずは動作確認用として、Activityから別のActivityにPendingIntentを渡して、そのPendingIntentを実行する例です。 まずはPendingIntentを作って、それを別のActivityに渡すコードです。 次に、起動されたActivity側でPendingInte
Austin Z. Henley Associate Teaching Professor Carnegie Mellon University Python strings are immutable, but only sometimes 2/15/2021 Update 2/16/2021: See the discussion of this post on Hacker News. The standard wisdom is that Python strings are immutable. You can't change a string's value, only the reference to the string. Like so: x = "hello" x = "goodbye" # New string! Which implies that each ti
【独占取材】イーサリアム「ガス代ゼロ」実現しNFTの世界をアップデート、Immutable Xの分散化への想い(Immutable創業者Robbie Ferguson) 全世界をイーサリアムで取引可能にすること 「全世界をイーサリアムで取引可能にすること」 オーストリアを拠点とするImmutable社は、このようなビジョンで創業した。 Immutableが開発するImmutable X(イミュータブル エックス)はブロックチェーン 基盤のNFTマーケットプレイスなどの取引手数料やスピードなどの課題を解決しようとするNFT取引に特化したレイヤー2ソリューションだ。 Immutable X 公式サイト 2019年にImmutableはNFTトレーディングカードゲーム「Gods Unchained」を立ち上げ、当時最高取引高210ETHを記録するなど話題を呼んだ。 GODS UNCHAINED
Swaathi Kakarla is a Ruby on Rails Developer specializing in building super-fast and secure web applications. Ruby 3.2 adds a new core class called Data to represent simple immutable value objects. The Data class helps define simple classes for value-alike objects that can be extended with custom methods. While the Data class is not meant to be used directly, it can be used as a base class for cre
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Photo by Ross Findon on UnsplashA native Dart list is mutable, meaning you can change its items: var list = [1, 2]; list.add(3);As you probably know, you can prevent mutability by using the List.unmodifiable constructor, but this will not remove the add method. It just fails at runtime: var list = List.unmodifiable([1, 2]); var list.add(3); // Throws an exceptionOnce you have a list you can’t chan
Table of contents 1. Introduction 2. What's immutability? 3. Immutable systems comparison 3. 1. NixOS / Guix 3. 2. Endless OS 3. 3. Fedora Silverblue 3. 4. OpenSUSE MicroOS / Aeon 3. 5. Vanilla OS 3. 6. Alpine Linux (with LBU) 4. Pros, Cons and Facts 4. 1. Pros 4. 2. Cons 4. 3. Facts 5. Conclusion 6. Going further 1. Introduction § If you reach this page, you may be interested into this new catego
「楽しく楽にcoolにsmartに」を理想とするprogrammer/philosopher/liberalist/realist。 好きな言語はClojure, Haskell, Elixir, English, français, русский。 読書、プログラミング、語学、法学、数学が大好き! イルカと海も大好き🐬
This post is based on a talk I presented at Web Directions Summit, 2024. Let's start by addressing the elephant in the room. Why the heck am I talking about making mazes? Normally, I try to be practical when I'm writing or speaking. I want to give people tools they can use to make their coding lives better. So, I try to discuss things like creating DOM elements and processing JSON data. Because th
Flutterで作ったアプリの構成をProvider + ChangeNotifierからriverpod + state_notifier + flutter_hooks + freezedのに書き換えたいと思っています。 4つのライブラリの内いくつかを使ったコードを読んだり手元で書いてみたりしていて、記事を書く前にそれぞれのライブラリについて日本語で扱った記事を自分も書いておきたいと思いました。今回はfreezedです。 今のところ採用する残りのライブラリについても一つずつ個別に記事を書く予定でいますが、riverpodとstate_notifierはまとめて良い気もしているので記事構成はまだ検討中です。 移行を考えたのは、以下の記事を読んでからです。しばらく変更していなかった個人用のFlutter製はてなフィルタに手を入れることにしました。Flutterでの状態管理手法のこれまでの経
Three years, two states, and one pandemic ago, I wrote about a very weird idea: what if the type system could track which data existed before a pure call, to eliminate its memory safety overhead? 0 And a couple months later, another weird idea struck: what if we use generational indices as the foundation for an entire language? These ideas evolved in weird ways. The first one evolved into a full r
index.js Т � �,�� const arrA = [1, 2, 3, 4, 5]; const arrB = [6, 7, 8, 9, 10]; const arrDuplicated = [1, 2, 3, 3, 2, 2, 5]; const dataList = [ {id: 1, name: "Sapporo"}, {id: 2, name: "Tokyo"}, {id: 3, name: "Osaka"} ]; // ルール // もとの配列は非破壊であること { // 要素を末端に追加 const element = 0; // 追加したい要素 const arrNext = [...arrA, element]; console.log(arrNext); } { // 要素を先頭に追加 const element = 0; // 追加したい要素 const ar
JSer.info #547 - TypeScript 4.4 betaがリリースされました。 Announcing TypeScript 4.4 Beta | TypeScript Control Flow Analysisの改善され、Type Gurdeの結果を変数に入れてから扱うようなAliasのケースも正しく推論されるようになっています。 また、Index SignaturesにSymbolやTemplate Stringを利用できるようになっています。 Catch節のデフォルトをunknown型にするuseUnknownInCatchVariablesオプションの追加と optionalとundefined値の区別をするexactOptionalPropertyTypesオプションの追加されています。 その他には、declarationの生成やstrictモードでのビルドパフォー
$IMX is the native utility and governance token of the Immutable protocols. To review information related to the $IMX Token, you will leave the Immutable Pty Ltd website and join a website made available by the Digital Worlds Foundation, which is independent from and unaffiliated with Immutable Pty Ltd. Immutable Pty Ltd is not responsible for any action taken or content held on the third part
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く