並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 464件

新着順 人気順

setterの検索結果81 - 120 件 / 464件

  • Object.assign({}, obj) と { ...obj } の違い - Qiita

    オブジェクトリテラル内のスプレッド構文は、ES2018で追加されたたいへん便利な構文です。特に、{ ...obj }という形のコードでオブジェクトをコピーするのはJavaScriptプログラミングでは極めて頻出です。 スプレッド構文が無かった時代はObject.assign({}, obj)として同様のことを達成していた方も多いと思われます。Object.assignはES2015から使用可能でした。 では、この2種類の方法は同じでしょうか。タイトルにもある通り、もちろん違います。今回は、この違いに触れている日本語資料がMDN日本語版で一瞬触れているくらいしか無かったので記事にまとめました。 結論 最初に結論を述べると、Object.prototypeが汚染されていた場合にのみ違いが発生します。特に、Object.prototypeにsetterを持つプロパティ名が存在し、そのプロパティ名

      Object.assign({}, obj) と { ...obj } の違い - Qiita
    • Vue 2.7 is Now in Beta | The Vue Point

      We are happy to announce that Vue 2.7 is now in beta. Despite Vue 3 now being the default version, we understand that there are still many users who have to stay on Vue 2 due to dependency compatibility, browser support requirements, or simply not enough bandwidth to upgrade. In Vue 2.7, we have backported some of the most important features from Vue 3 so that Vue 2 users can benefit from them as

        Vue 2.7 is Now in Beta | The Vue Point
      • Understanding all of Python, through its builtins

        Python as a language is comparatively simple. And I believe, that you can learn quite a lot about Python and its features, just by learning what all of its builtins are, and what they do. And to back up that claim, I'll be doing just that. Just to be clear, this is not going to be a tutorial post. Covering such a vast amount of material in a single blog post, while starting from the beginning is p

          Understanding all of Python, through its builtins
        • Announcing TypeScript 4.7 - TypeScript

          Today we’re excited to announce the availability of TypeScript 4.7! If you’re not yet familiar with TypeScript, it’s a language that builds on JavaScript and adds syntax for types. Types help describe what kinds of values you’re working with and what kinds of functions you’re calling. TypeScript can use this information to help you avoid about mistakes like typos, missing arguments, or forgetting

            Announcing TypeScript 4.7 - TypeScript
          • HERP における Web フロントエンド開発概観 (2022年春編)

            はじめに# この記事は,HERP における Web フロントエンド開発の概観を,世間の開発者に——特に潜在的・顕在的な候補者の方に——知ってもらうことを目的として書かれた.HERP では現在 Web フロントエンドエンジニアを積極的に募集しているが,仮に入社したとしてどのような仕事をすることになるかのイメージが付いた方が,検討の候補に入れてもらいやすいのではないかという目論見による.また,採用している技術スタックにも珍しいものがあるため,単純に読み物として楽しめるかもしれない.なお,開発の実情について知ってもらうのが目的であり,実装の良し悪しについて議論することは目的としていない. HERP でのアプリケーション開発# B2B SaaS として,主に IT スタートアップ企業向けの,採用管理システムおよびタレントプールシステムを開発・提供している. そもそもプロダクトを通じて何を実現したい

            • 軽量DDDではじめるゲーム開発 ドメイン駆動設計の基本と実践を解説

              2019年10月23日、『神姫PROJECT』などソーシャルゲームの企画・開発を手がける株式会社テクロスが主催するイベント「TECH x GAME COLLEGE」が開催されました。第28回となる今回のテーマは「形から入ったドメイン駆動設計によるゲーム開発の光と闇」。株式会社Nextat取締役・中榮健二氏が、ドメイン駆動設計(DDD)をゲーム開発に取り入れた事例を語りました。登壇資料はこちら ドメイン駆動設計によるゲーム開発の光と闇 中榮健二氏(以下、中榮):最初にいきなりなんですが、お詫びと訂正から。 サブタイトルに「DDDは果たしてゲーム開発に向いているのか!?」と書いていただいたんですけど、本日はDDDの核心部分の話はしません。この煽り文の答えが出ないことをお詫びして訂正いたします。すみませんでした。 (会場笑) 自己紹介です。株式会社Nextatの取締役の中榮と申します。取締役と書

                軽量DDDではじめるゲーム開発 ドメイン駆動設計の基本と実践を解説
              • SpringのRCE脆弱性(CVE-2022-22965)について

                はじめに Log4jやStruts2など、Java製ソフトウェアにおいてリモートからの任意のコード実行(RCE)の脆弱性が目立つ時代になってしまっていますが、これにさらにSpringも加わってきました。この記事では特にCVE-2022-22965に焦点を当て、技術的な視点からの解説を行ってみます。 なぜJavaアプリでRCEとなるのか? Javaの(特にウェブアプリケーションで)RCEとなるパターンはいくつか知られており、以前こちらの記事にまとめました。今回のCVE-2022-22965はこの記事の「3. クラスローダを操作できてしまうパターン」のパターンになります。 なぜクラスローダを操作できるのか? そもそも「クラスローダの操作」とは何を意味しているのでしょうか。この文脈では、Javaのプロセス内のクラスローダ系のクラスのインスタンスの、getterやsetterのメソッドを攻撃者が実

                  SpringのRCE脆弱性(CVE-2022-22965)について
                • Announcing TypeScript 4.7 Beta - TypeScript

                  Today we are excited to announce the beta release of TypeScript 4.7! To get started using the beta, you can use npm with the following command: npm install typescript@beta You can also get editor support by Downloading for Visual Studio 2022/2019 Following directions for Visual Studio Code and Sublime Text 3. Here’s a quick list of what’s new in TypeScript 4.7! ECMAScript Module Support in Node.js

                    Announcing TypeScript 4.7 Beta - TypeScript
                  • Patterns for Reactivity with Modern Vanilla JavaScript

                    Patterns for Reactivity with Modern Vanilla JavaScript August 21, 2023 “Reactivity” is how systems react to changes in data. There are many types of reactivity, but for this article, reactivity is when data changes, you do things. Reactivity Patterns are Core to Web Development We handle a lot with JavaScript in websites and web apps since the browser is an entirely asynchronous environment. We mu

                      Patterns for Reactivity with Modern Vanilla JavaScript
                    • before_actionとのつらくならない付き合い方 #kaigionrails / how to using "before_action" with happy in Rails

                      Kaigi on Rails 2021 Day2 で発表する内容です。 【資料内参考したものリンク】 パーフェクトRuby on Rails【増補改訂版】 https://gihyo.jp/book/2020/978-4-297-11462-6 「関心の分離」をするメリットを料理レシピを通して考える - コード日進月歩 https://shinkufencer.hateblo.jp/entry/2021/09/18/233033 Slide | BEAR.Sunday https://bearsunday.github.io/slide.html Rails の before_action :set_* って必要? - ネットの海の片隅で https://osa.hatenablog.com/entry/good-bye-before-action-setter Controllerのbe

                        before_actionとのつらくならない付き合い方 #kaigionrails / how to using "before_action" with happy in Rails
                      • そのuseState、もっと減らせるかも?コンポーネントの事例と一緒に示します

                        概要 ReactにおいてuseStateを使ってステートを管理するのは常套手段ですが、一方で、不必要な場面なのに使ってしまうケースもありえます。 無駄なuseStateは減らすべきだとわかっていても、具体的にどういう場面で無駄に使ってしまうのかわからない方も多いかもしれません。そこで、先日実装した簡単なコンポーネントをもとに、無駄なフックを使っているソースコードと、その解決策、解決後のソースコードを示します。 対象読者 React初級者〜中級者 各種フックをサクサク使える 無駄なフックを減らそう、という話題を見て、心当たりがある 私について Reactのソースレビューを通して、useEffect撲滅委員会、useStateを減らそう委員会、TypeScriptのasを撲滅する委員会に所属しております。 サンプルコンポーネント 日付の範囲指定ができるコンポーネントです。動作イメージは動画を再

                          そのuseState、もっと減らせるかも?コンポーネントの事例と一緒に示します
                        • IntelliJ IDEA で日々のリファクタリングを快適に | The IntelliJ IDEA Blog

                          IDEs AppCode CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me Quality Assurance JetBrains Platform Scala Toolbox App Writerside JetBrains AI Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frameworks Kotlin Ktor MPS Amper Edu

                            IntelliJ IDEA で日々のリファクタリングを快適に | The IntelliJ IDEA Blog
                          • Vue 2.7 "Naruto" Released | The Vue Point

                            Today we are happy to announce that Vue 2.7 "Naruto" has been released! Despite Vue 3 now being the default version, we understand that there are still many users who have to stay on Vue 2 due to dependency compatibility, browser support requirements, or simply not enough bandwidth to upgrade. In Vue 2.7, we have backported some of the most important features from Vue 3 so that Vue 2 users can ben

                              Vue 2.7 "Naruto" Released | The Vue Point
                            • ランダル・レイ「現代貨幣理論への“カンザス・シティ”アプローチ:成立史から辿るMMT入門」(2020年7月)

                              現代貨幣理論(MMT)は、異端派経済学内の流派の一部を統合したものである。主権通貨を発行する国家において、金融・財政の運営を記述することに焦点が当てられている。…本論文では、ミズーリ大学カンザスシティ校(UMKC)とバード大学レヴィ経済研究所におけるMMTへの取り組み、「カンザス・シティ」アプローチの発展について焦点を合わせてみたい。 The “Kansas City” Approach to Modern Money Theory by L. Randall Wray Levy Economics Institute of Bard College Working Paper No. 961 July 2020 目次 表券主義ー貨幣国定説 信用貨幣:貨幣サーキットと内生的貨幣 貨幣の性質 バランスシートの統合および整合: あるいは、政府支出の実態 部門別収支 金融不安定性 機能的財政、需

                                ランダル・レイ「現代貨幣理論への“カンザス・シティ”アプローチ:成立史から辿るMMT入門」(2020年7月)
                              • 『データ指向プログラミング』読んだ / OOP以前とDOPとの対比と差分などについて - Lambdaカクテル

                                先々月あたりに邦訳が出た『データ指向プログラミング』を読んだ。めちゃくちゃざっくり言うとオブジェクト指向における「データと振舞いの一体化」というドグマを手放させるもので、めちゃくちゃざっくり見るとC言語的な構造化プログラミングの世界に回帰するようにも見えることから、世間的には色々な評価があるらしい。 イミュータビリティが良い、みたいな話は重々承知なので適宜飛ばしながら読んだ。また、lodashまわりの話は単なるライブラリ紹介であり、特筆することがないので飛ばした。 こういう感じで言及されている zenn.dev slides.com 自分なりに読んで思ったことをまとめる。面白い本だったし、自分の思想にも近しいものがある。僕は普段ScalaやTSを書いているので、その観点からの感想が多いです。OOPの歴史に詳しいわけではないので、不足があったらすみません。 OOP以前の世界との差異 イミュー

                                  『データ指向プログラミング』読んだ / OOP以前とDOPとの対比と差分などについて - Lambdaカクテル
                                • Announcing TypeScript 4.3 - TypeScript

                                  Today we’re excited to announce the availability of TypeScript 4.3! If you’re not yet familiar with TypeScript, it’s a language that builds on JavaScript by adding syntax for static types. Tools like the TypeScript compiler can just erase TypeScript syntax, leaving you with clean readable JavaScript that works anywhere. So what’s that syntax adding if it just gets erased away? Well, when you add t

                                    Announcing TypeScript 4.3 - TypeScript
                                  • Announcing TypeScript 4.3 Beta - TypeScript

                                    Today we’re excited to announce our Beta of TypeScript 4.3! To get started using the beta, you can get it through NuGet, or use npm with the following command: You can also get editor support by Downloading for Visual Studio 2019/2017 Following directions for Visual Studio Code and Sublime Text. Let’s dive in to what TypeScript 4.3 brings! Separate Write Types on Properties In JavaScript, it’s pre

                                      Announcing TypeScript 4.3 Beta - TypeScript
                                    • 2020-05-18のJS: TypeScript 3.9、Deno 1.0、Playwright 1.0

                                      JSer.info #488 - TypeScript 3.9がリリースされました。 Announcing TypeScript 3.9 | TypeScript Promise.allの型推論がされています。 また3.9 β時点では導入される予定だったawaitedは問題が見つかったため、3.9時点では導入されないことになりました。 その他にはビルドパフォーマンスの改善、Type Errorとなることを期待する// @ts-expect-errorコメントの追加などが行われています。 JSへとコード変換における非互換な変更として、クラスのGetter/Setterをenumerable: trueに変換するのではなく、enumerable: falseに変換する変更が含まれています。 これは、ECMAScriptの仕様で定義されているのと同じ挙動で、Babelも同様の挙動です。 Type

                                        2020-05-18のJS: TypeScript 3.9、Deno 1.0、Playwright 1.0
                                      • フィル・アームストロング&ウォーレン・モズラー「現代貨幣理論(MMT)のレンズでみたワイマール共和国のハイパーインフレ」(2020年11月11日)

                                        Webb 1986: 776-77 より引用。 注: 変化率は、月末から翌月末までの連続複利(対数)変化率である。卸売物価指数については、月末値は、対数線形的に補完を行っている」(Webb 1986: 777) 参考文献 Armstrong, P.  (2015), ‘Heterodox Views of Money and Modern Monetary Theory’, https://moslereconomics.com/wp-content/uploads/2007/12/Money-and-MMT.pdf. Armstrong, P. (2020), Can Heterodox Economics Make a Difference?: Conversations with Key Thinkers, Cheltenham: Edward Elgar. Armstrong, P

                                          フィル・アームストロング&ウォーレン・モズラー「現代貨幣理論(MMT)のレンズでみたワイマール共和国のハイパーインフレ」(2020年11月11日)
                                        • WebKit Features in Safari 17.0

                                          Sep 18, 2023 by Jen Simmons and the Safari / WebKit Team Today’s the day for Safari 17.0. It’s now available for iOS 17 and iPadOS 17. [Update September 26th] And now, Safari 17.0 is available for macOS Ventura, and macOS Monterey, and macOS Sonoma. Safari 17.0 is also available in the vision OS Simulator, where you can test your website by downloading the latest beta of Xcode 15, which supports t

                                            WebKit Features in Safari 17.0
                                          • Recoilで始めるお手軽フロントエンドDDD

                                            はじめに React でコードを書いているとき、ある程度の規模のプロジェクトになると class を使いたくなりませんか? 僕はバックエンドで DDD を用いている場合は、同じように Entity を宣言して使いたい場面が多々ありました。 しかし、React のプロジェクトで getter/setter を用いて値を変更しても残念ながら再描画はされません。 Redux の処理内や hooks 内で中途半端に class を用いても結局 DDD の設計思想をうまくコードに落とし込むのは難しいです...(どなたがご享受ください!) 今回は僕が Recoil を使ってフロントエンド DDD を手軽に実装する方法を共有したいと思います。 また、まだあまり技術記事で紹介されていないTypescriptでのサンプルコードやatomFamily, selectorFamilyの紹介も多く含んでいるので参

                                              Recoilで始めるお手軽フロントエンドDDD
                                            • Builder pattern in Rust

                                              As you know, Rust does not support optional function arguments nor keyword arguments, nor function overloading. To overcome this limitation rust developers frequently apply builder pattern. It requires some extra coding, but from the API ergonomics perspective, gives a similar effect as keyword arguments and optional arguments. Introduction to problem Consider the following rust structure: struct

                                              • Writable Computed を活用して読みやすいVueコードを書くためのTips - ANDPAD Tech Blog

                                                こんにちは、ANDPADフロントエンドエンジニアの小泉(@ykoizumi0903)です。 ANDPADでは入社当初からずっとVueでの開発を行っており、特に直近2年はComposition APIで開発しています。 今回は、Vueでの開発を続けている中で、個人的に最近気に入って積極的に使っている、Writable Computedの話をしたいと思います。 このWritable Computed、一応ドキュメントには必ず書いてあるのですがどうにも影が薄く、バージョン3に合わせて刷新された英語版ドキュメントでは「書き込み可能なcomputedが必要なのはレアケース」と書かれているくらいなので、経験の長いVueエンジニアであっても、ほとんど使ったことがないという方も多いのではないでしょうか。 私自身も、このsetter関数について、存在は以前から知っていたものの、どういう使い道があるのかよくわ

                                                  Writable Computed を活用して読みやすいVueコードを書くためのTips - ANDPAD Tech Blog
                                                • 大奥 | Netflix (ネットフリックス) 公式サイト

                                                  '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                    大奥 | Netflix (ネットフリックス) 公式サイト
                                                  • メドピア開発合宿でVue.jsテストライブラリ「vue-function-tester」を作った話 - メドピア開発者ブログ

                                                    涙の数だけ強くなるフロントエンドエンジニア村上(@pipopotamasu)です。 先週の水木金とメドピア恒例の開発合宿 in 熱海に行ってきたので、そこで作ったVue.jsのテストライブラリ「vue-function-tester」を紹介したいと思います。 github.com atami vue-function-testerとは vue-function-testerは、Vue.jsの「メソッドの単体テストライブラリ」として作りました。 もっと具体的に言うと、Vue.jsのmethods, lifecycle hooks, computed, watchをテストするためのライブラリです。 ※ちなみに「vue-method-tester」にしなかったのはmethodsプロパティと被ってややこしくなるのでやめました Get started 長々と解説するよりは実際のコードをみて行きましょ

                                                      メドピア開発合宿でVue.jsテストライブラリ「vue-function-tester」を作った話 - メドピア開発者ブログ
                                                    • All JavaScript and TypeScript Features of the last 3 years

                                                      TypeScript as envisioned by Stable DiffusionThis article goes through almost all of the changes of the last 3 years (and some from earlier) in JavaScript / ECMAScript and TypeScript . Not all of the following features will be relevant to you or even practical, but they should instead serve to show what’s possible and to deepen your understanding of these languages. There are a lot of TypeScript fe

                                                        All JavaScript and TypeScript Features of the last 3 years
                                                      • 株式会社インフィニットループは今年も The PHP Foundation に寄付をしました|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                                                        株式会社インフィニットループは今年も The PHP Foundation に寄付をしました こんにちは、仙台支社のいがらしです。インフィニットループは前回、前々回に引き続き、今年も会社として、The PHP Foundation に寄付をしました。 TL;DR この記事では以下について述べています。 The PHP Foundation は PHP そのものの開発を支援する団体で、多くの成果をあげてきました 言語の継続性と更なる発展には私たちに限らず、多くの企業からの支援が必要です PHP の存続と発展のため、みなさんの会社でもぜひ寄付を検討してみてください 勝率を上げる賭け方がある 現代人はとても忙しく、世にはありとあらゆる種類の情報があふれており、限られた時間の中で読める文章の量は限られています。 今、冒頭の 3 行まとめを乗り越えてこの記事を読み進めているあなたは、きっと PHP

                                                          株式会社インフィニットループは今年も The PHP Foundation に寄付をしました|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                                                        • Null 合体演算子 (??) - JavaScript | MDN

                                                          JavaScript チュートリアル 初級編 JavaScript の基礎 JavaScript の第一歩 JavaScript の構成要素 JavaScript オブジェクト入門 JavaScript ガイド 入門編 文法とデータ型 制御フローとエラー処理 ループとイテレーター 関数 式と演算子 数と日付 テキスト処理 正規表現 インデックス付きコレクション キー付きコレクション オブジェクトを利用する Using classes プロミスの使用 JavaScript 型付き配列 イテレーターとジェネレーター メタプログラミング JavaScript モジュール 中級編 クライアントサイド JavaScript フレームワーク クライアントサイド Web API Language overview JavaScript のデータ構造 等値比較と同一性 プロパティの列挙可能性と所有権 クロ

                                                            Null 合体演算子 (??) - JavaScript | MDN
                                                          • Recoil Syncでさらに快適フロントエンド開発 #ヌーラボ真夏のブログリレー | 株式会社ヌーラボ(Nulab inc.)

                                                            React界隈で大注目のRecoilについて、先日紹介記事を書いた藤田です。 Recoilで快適フロントエンド開発 Recoilに新しいパッケージRecoil Syncが加わったので、簡単にご紹介します。 軽くおさらい:コンポーネントの状態を管理する最もシンプルな方法=useState React hooksで最も基本的なuseStateは、コンポーネント中に閉じた状態を手軽に定義する方法でした。 const MyComponent: React.FC<{defaultName:string}> = ({defaultName}) => { const [name, setName] = React.useState(defaultName) : : このようなコードで、コンポーネント中で変更できる値”name”が使えて、初期値はコンポーネント引数のdefaultNameとなります。 Re

                                                              Recoil Syncでさらに快適フロントエンド開発 #ヌーラボ真夏のブログリレー | 株式会社ヌーラボ(Nulab inc.)
                                                            • Xilem: an architecture for UI in Rust

                                                              Rust is an appealing language for building user interfaces for a variety of reasons, especially the promise of delivering both performance and safety. However, finding a good architecture is challenging. Architectures that work well in other languages generally don’t adapt well to Rust, mostly because they rely on shared mutable state and that is not idiomatic Rust, to put it mildly. It is sometim

                                                              • Exploiting JNDI Injections in Java | Veracode

                                                                Java Naming and Directory Interface (JNDI) is a Java API that allows clients to discover and look up data and objects via a name. These objects can be stored in different naming or directory services, such as Remote Method Invocation (RMI), Common Object Request Broker Architecture (CORBA), Lightweight Directory Access Protocol (LDAP), or Domain Name Service (DNS). In other words, JNDI is a simple

                                                                  Exploiting JNDI Injections in Java | Veracode
                                                                • イミュータブルでゆこうに参加してきた - 天の月

                                                                  modeling-how-to-learn.connpass.com 今日はこちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。 会で話されていたこと イベント資料 イミュータブルデータモデルの極意~川島義隆さん~ 川島さんの問題意識~Division into cases~ Dataの場合分け EventとResourceの関係性 EventとResourceのサブタイプ Resource同士の関連付けをする際のコツ 記録として残すEvent, 残さないEvent ドメイン駆動設計とイミュータブルデータモデルの素敵な関係~増田亨さん~ イミュータブルについての厳格性 必ずイミュータブルにする際の設計パターン 増田さんがイミュータブルに拘る理由 ドメインイベントの観点から再考するソフトウェア設計~かとじゅんさん~ ドメインイベントとは ドメインイベントはなぜ有用か

                                                                    イミュータブルでゆこうに参加してきた - 天の月
                                                                  • なぜrubyでget_xxxというメソッド名をあまり使わないか - komagataのブログ

                                                                    これまたフィヨルドブートキャンプで何度も説明しているのでまとめておきます。 getterとsetter 一般的なGetterとSetterについてはこちら: 3.5 GetterとSetter : Javaのオブジェクト指向入門 titleというメンバ変数があった場合、getter, setterを実現するためにget_title set_titleというメソッドを作らなきゃいけないのは冗長。 rubyではアクセサというが、メンバ変数と同名のメソッドができる機能がある。 attr_accessor :title c#やswiftなどでもプロパティという仕組みで同様のことができる。 public string Title { get; set;} クラス名、メンバ変数名、メソッド名の原則 クラス名:名詞 メンバ変数名:名詞 メソッド名:動詞 変数の動詞化 見方を変えると、titleにget_

                                                                    • Netflix (ネットフリックス) 日本 - 大好きな映画やドラマを楽しもう!

                                                                      '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                                        Netflix (ネットフリックス) 日本 - 大好きな映画やドラマを楽しもう!
                                                                      • 180件のPRを遡って、良いレビューコメントをLintのルールに組み込んだ - BASEプロダクトチームブログ

                                                                        はじめに こんにちは。シニアエンジニアのプログラミングをするパンダ(@Panda_Program)です。本記事は BASE アドベントカレンダー 2023 の11日目の記事です。 BASE のバックエンド開発では巨大なモノリスからモジュラーモノリスへの移行が進んでいます。この記事では、モジュラーモノリスの中で自分のチームが担当しているモジュールに導入した PHPStan のカスタムルールの導入とその効果について紹介します。 PHPStan は BASE のモジュラーモノリスなバックエンドシステムに既に導入されていました。モジュラーモノリスの中で PHPStan のカスタムルールは2種類あります。各モジュールが守るべき共通のルールと、それぞれのモジュール内で特有のルールです。 PHP のコード品質を担保する PHPStan は多くの開発現場で採用されていますが、具体的なカスタムルールの事例は

                                                                          180件のPRを遡って、良いレビューコメントをLintのルールに組み込んだ - BASEプロダクトチームブログ
                                                                        • 【C# 機能別】知らん書き方が出てきたらこれを見ろ!C# 10 までの進化を1ページで - OITA: Oika's Information Technological Activities

                                                                          祝 .NET 6 GA アドベントカレンダー、23日の記事になります。 .NET 6 のリリースに伴い、C# の言語バージョンがついに 10.0 となりました。 C# の進化は早く、ちょっと気を抜いている隙に、見たことのない書き方のコードがどんどん出現します。 その一方で、業務の現場では、5年前10年前に書かれたソースコードを保守することも決して珍しくありません。 新しいコードでも古いコードでも、「なんだっけこれ?」という書き方がでてきたときに、同じことを従来の書き方/現在の書き方でどうやるかのリファレンスにできるよう、主要な機能・構文ごとに縦断的に整理してみました。 以下お品書きです。 プロパティ 値の参照渡し クラス・構造体・レコード コレクションと LINQ タプル 変数の文字列化 null の扱い 型推論 メンバ名の参照 非同期処理・並列処理 IDisposable と using

                                                                            【C# 機能別】知らん書き方が出てきたらこれを見ろ!C# 10 までの進化を1ページで - OITA: Oika's Information Technological Activities
                                                                          • Recoilで快適フロントエンド開発 | 株式会社ヌーラボ(Nulab inc.)

                                                                            最近社内向けのツールを新規で開発していて、React + Next.js と合わせてRecoilとRelayを使うことにしたら大変素晴らしかったので、(すでに世の中に紹介記事がたくさんありますが)ご紹介します。 Recoilだけで結構な量になってしまったので、Relayについてはまた後日別の記事を書きます。 (追記:書きましたがRelay使わなくなったという記事になっちゃいました:GraphQLライブラリをApollo→Relay→Urqlにハシゴした話) Reactの提供元であるFacebook改めMetaが開発中の新しい状態管理ライブラリです。 アプリケーション内に複数のデータストアを持てる 非同期対応 React hooks前提 が特徴です。個人的に、Redux + middleware周りの全てをまるっと置き換えてくれると期待しています。 ※ 2021年11月現在、recoilはま

                                                                              Recoilで快適フロントエンド開発 | 株式会社ヌーラボ(Nulab inc.)
                                                                            • DDDを実践するための手引き(リポジトリパターン編)

                                                                              以前DDDの入門記事を書いたのですが、ここではリポジトリパターンについて深掘って取り上げます。続編ぽいタイトルですが、そんなにつながりはないのでコレ単体で読めます。 はじめに リポジトリパターンは、DDDで有名になった、ドメインモデルの永続化のためのデザインパターンです。 今やいろいろなところで「Repository」という名前を冠するクラスを目にするようになりましたが、誤解されたり誤用されることも多くあります。 ここではリポジトリパターンの意図や本質を理解することを目指します。リポジトリパターンには役立つ考え方が詰まっているので、このパターンを採用しなくても知っておくときっと役に立つと思います。 なお実装例はKotlinで書きますが、オブジェクト指向の言語であればだいたい同じ感じです。 リポジトリ(Repository)とは? 日本語訳は「保管庫」です。オブジェクトを保管しておき、必要な

                                                                                DDDを実践するための手引き(リポジトリパターン編)
                                                                              • Announcing TypeScript 4.7 RC - TypeScript

                                                                                Today we’re excited to announce our Release Candidate (RC) of TypeScript 4.7! Between now and the stable release of TypeScript 4.7, we expect no further changes apart from critical bug fixes. To get started using the RC, you can get it through NuGet, or use npm with the following command: npm install typescript@rc You can also get editor support by Downloading for Visual Studio 2022/2019 Following

                                                                                  Announcing TypeScript 4.7 RC - TypeScript
                                                                                • BeanValidationを用いるフォームクラスをテストする - MicroAd Developers Blog

                                                                                  アプリケーションエンジニア1年目の宮田です。 今回は以下のようなBeanValidationを用いるフォームクラスのテストについて、用いる道具と実際のテストにおけるTipsの2点からまとめます。 import lombok.Getter; import lombok.Setter; import org.hibernate.validator.constraints.URL; import javax.validation.Valid; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; @Getter @Setter public class MyForm { @NotNu

                                                                                    BeanValidationを用いるフォームクラスをテストする - MicroAd Developers Blog