この記事では、Haskellの型クラスの互換性にまつわる問題と、それに対する緩和策を考える。 ネタとしては11月に行われた Haskell Day 2019 のLTで筆者が話したものである。その時使ったスライドは https://drive.google.com/file/d/1YGKjl8S-LlfuB8yrHnKSK5G5MGsP9xd3/view?usp=sharing で読める。 問題 Haskell標準の型クラス階層には時折、破壊的変更が加えられてきた。代表的なものをいくつか挙げる: Applicative-Monad Proposal: ApplicativeクラスをMonadのスーパークラスにする Semigroup-Monoid Proposal: SemigroupクラスをMonoidクラスのスーパークラスにする MonadFail Proposal: Monadクラスの
Mozillaは2020年12月16日(米国時間)、世界のWebデザイナーと開発者の年次ニーズ調査の結果をまとめたレポート「MDN Web Developer Needs Assessment(DNA)2020」を公開した。Web DNA調査は今回が2回目。世界137カ国の6645人のWebデザイナーと開発者が回答した。 Mozillaは調査結果について大きく3点を紹介している。(1)2019年の初回調査結果を踏まえて2020年に達成された成果、(2)2020年調査のハイライト、(3)2020年調査を受けた次のステップだ。 GoogleやMicrosoftが2019年の調査結果を役立てた 2019年の調査では、回答者の4分の3以上がWebプラットフォームに「非常に満足している」または「満足している」と答えた。 回答者が挙げた不満点の上位4つは、「特定のWebブラウザ(Internet Ex
対象 spring-security-config 5.2.0.RELEASE 何が非互換性か WebSecurityConfigurerAdapter の configure(WebSecurity) メソッドの定義から、 throws Exception が削除されています。 コミット差分はこちら。WebSecurityConfigurerAdapter 以外にも、同様の変更がされたクラスがいっぱいありますね。 これにより、5.1.xから5.2.0.RELEASEにライブラリをアップグレードすると、WebSecurityConfigurerAdapter のサブクラスでコンパイルエラーが発生します。オーバーライド元に throws Exception が無いからです。
MySQL のアップグレードを検討する場合、新しいバージョンを現在の本番バージョンとべつにインストールすることが賢明です。 これによって、本番サーバーからデータベースとデータベースオブジェクト定義をダンプし、新しいサーバーにロードして、それらが正しく処理されることを確認できます。 (これはダウングレードのテストの場合にも役立ちます。) 本番サーバーで: shell> mysqldump --all-databases --no-data --routines --events > dump-defs.sql アップグレードされたサーバーで: shell> mysql < dump-defs.sql ダンプファイルにはテーブルデータが含まれないため、すばやく処理できます。 これにより、長いデータロード操作を待つことなく、可能性のある非互換性を見分けることができます。 ダンプファイルの処理中の
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く