サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
猫
qiita.com/rana_kualu
よく見たら不自然なんだけどこれまで普通に許されていた、この引数デフォルト値がついに禁止されます。 何がおかしいって型がintなのに引数を渡さないことができてしまうので、矛盾してしまうわけですね。 これはPHPが昔からの仕様を残しておいたためであり、いわゆる歴史的経緯というやつです。 以下は該当のRFC、Deprecate implicitly nullable parameter typesの日本語訳です。 PHP RFC: Deprecate implicitly nullable parameter types Introduction PHP7.1で?T構文、さらにPHP8.0でUnion型がサポートされたことにより、PHPはnull許容値型を正しく書くことができます。 歴史的にはPHP5.0でオブジェクト型、PHP5.1でarray、PHP5.4でcallable、PHP7.0でス
はいどうも、Qiita参加者の中で最も田舎出身の @rana_kualu です。 これはもう間違いなく断言できますよ。 どのくらい田舎かって、たとえば小学校の同級生が私ともうひとりの2人だよ。 まあ今は1人だったり0人だったりするので、当時はまだマシだったんだけどな。 あと駄菓子に全く馴染みがないよ。 だがしかしは面白おかしく読んだけど、実際に食べたことのある駄菓子はほとんどなかったよ。 これは別にネグレクトだったとかではなく、単に近所に店がなかったからです。 最も近いコンビニ・スーパーは10km先だけど、山越え谷越えるから歩いて行きたくないしバスは一日一往復だったから外界に出る手段もないしで、そもそも接点が生まれないんだよね。 ちなみに今はバスが一日0.3往復みたい。 おそらく小学校は10年以内になくなるし、故郷自体も30年後にはなくなっていると思うよ。 そんなエンジニアとしてはそこそこ
いまさらjQuery? ここの人たちは見たくもない現実かもしれませんが、世界の9割はjQueryでできていいます。 ということで世界70億人が待望していたjQyery4のベータバージョンが2024/02/06に公開されたので以下で紹介します。 ちなみにjQuery1が2006/08/26、2が2013/04/18、3が2016/06/09のリリースであり、メジャーバージョンアップとしては8年ぶりとなります。 しかし開発が止まっていたとかというとそういうわけもはなく、流石に2010年代前半ごろの更新ラッシュは落ち着いてきたとはいえ、着実にメジャーバージョンが3のまま3.7.1まで更新され続けています。 jQuery 4.0.0 BETA! jQuery 4.0.0の開発を長いこと続けてきましたが、ついにベータ版リリースの準備が整いました。 やらなければならないことはたくさんあり、開発チームは
4. ジェネリクス PHP 8.2 では、ジェネリクスのサポートが導入されました。 ジェネリクスを使用すると、コードの再利用性が向上し、型安全性も確保されます。 interface Collection<T> { public function add(T $item): void; public function get(int $index): T; } class StringCollection implements Collection<string> { // ... } $stringCollection = new StringCollection(); $stringCollection->add("Hello"); $stringCollection->add(123); // エラー:string 型が期待されています この注釈、詳細ページには一切記述されていないため
2023 / 2022 / 2021 / 2020 JavaScriptライブラリのトレンドを紹介しているbestofjs.orgが、2023年に最もホットであったJavaScriptライブラリのランキングを発表しました。 選考基準は累計スター数ではなく、『2023年の一年間で増えたスターの数』です。 過去流行っていたけど落ち目となった技術は出てこないので、最近注目されている技術がわかります。 ちなみに総合ランキング1位は2016年~2019年にVue.jsが4連覇、2020年はDeno、2021年はzx、2022年はBunでした。 以下は2023年のランキング、2023 JavaScript Rising Starsの日本語訳です JavaScript ライジングスター 2023 8回目のJavaScript ライジングスターにようこそ! ここでは、2023年のJavaScriptエコシ
ES2024 / ES2023 / ES2022 / ES2021 JavaScriptの仕様は、TC39というところで決められています。 ブラウザベンダや関係者が定期的に会合を行い、様々な新機能について話し合ってどのようにするかを決めています。 ちなみに2023年9月のミーティングは東京で行われました。 ここでは2023年にFinishedになった、すなわち仕様が確定して複数のブラウザで実装がなされたproposalについて紹介してみます。 つまり、主要ブラウザでは既に使用可能です。 なお、2023年2月から2024年1月までにFinishedになったproposalがES2024と呼ばれるみたいです。 ずれているせいでややこしいですね。 年と一致させてくれ。 Finished Proposals Promise.withResolvers Promiseを外からresolve/reje
なんとなくRFCを見ていたらMultibyte for trim function mb_trim, mb_ltrim and mb_rtrimというRFCが投票に入っていました。 というわけで、以下はこのRFCの紹介です。 PHP RFC: Multibyte for trim function mb_trim, mb_ltrim and mb_rtrim Introduction PHPには、マルチバイトのtrim関数がありません。 preg_replace("/^\s+|\s+$/u", '', $string)で概ね想定した挙動になりますが、関数を予め用意しておくことでコードの可読性とわかりやすさを向上させることができるでしょう。 また、トリッキーになりがちなこの処理を標準化することができます。 この機能は多くのPHP開発者にとって有用であり、mbstringモジュールはこれで完成
CSSの大きな問題点のひとつとして、スタイルが影響する範囲を指定することができませんでした。 そのため一か所だけ書き替えたと思ったら全然関係ないところが崩れたりして、その欠陥をどうにかすべくBEMやらScoped CSSやらStyled Componentsやら解決策が乱立してどうにもならなくなりました。 とりあえずStyled Componentsとかの乱数スタイルシートはユーザスタイルシート適用が困難なのでさっさと滅びろ。 さて先日リリースされたGoogle Chrome 118でCSSが@scopeに対応しました。 なんと、素のCSSで適用範囲を制限できるようになります。 <div class="out"> <span>ここはfooの外</span> <div class="foo"> <span>ここはfooの中、barの外</span> <div class="bar"> <sp
アメリカ合衆国サイバーセキュリティ・社会基盤安全保障庁が、先日2023/08/04に2022 Top Routinely Exploited Vulnerabilitiesというレポートを公開していました。 2022年に最も悪用された脆弱性トップ12がリストアップされているようです。 以下では該当の脆弱性をそれぞれ紹介してみます。 理論上危険とか原理上危険とかではなく、実際に使われた脆弱性ということなので、対策する必要性は極めて高いといえるでしょう。 心当たりのある人はすぐに対処しましょう。 2022 Top Routinely Exploited Vulnerabilities CVE-2018-13379 Fortinet社のVPN機器FortiGateに存在する脆弱性で、VPNのログイン情報を抜かれます。 VPNでなりすまし放題ということなわけで、極めて重大な脆弱性と言えるでしょう。
Romeは、混沌の極みであるフロントエンドツールをひとつに纏め上げようという気宇壮大なプロジェクトです。 当初はOSSとして始まり、その後は資金提供を受けて会社を設立し、メンバーは給料をもらってフルタイム開発に従事していました。 さらに元々JavaScriptで書かれていて低速だったのをRustに切り替え、2022年11月には無事Stableまで辿り着くなどなど順風満帆であるように見えました。 しかし、その裏では大きな問題が発生していたようです。 開発は2023年1月あたりで停滞し、さらに一部の主要開発者が相次いで脱退してしまいました。 どうやら資金が尽きて給料を支払えなくなったようです。 このあたりの経緯は、ちょうど同時期に加入したnissy_devさんのRome の core contributor になったに詳しく記載されています。 その後2023/09/03にはRome公式サイトの
【W3Techs】2023年8月にWebで最も使われている技術はjQuery・Bootstrap・PHP・WordPressPHPJavaScriptランキングW3TechsQ-Success コンサル会社Q-Successは、World Wide Web Technology Surveysという分析サービスを提供しています。 なんかいかにもW3Cとかと関係ありそうな名前ですが、特に関係はないみたいです。 W3Techsでは、Webサイトを収集し、それらがどのような技術で作られているかといった調査結果を無料で分析・公開してくれています。 こんなに公開していて生計はどうやって立てているのかというと、過去の履歴や細かいレポートなどを有料で売っているみたいです。 6450ページのPDFとか細かすぎて逆に使いこなせそうにもなさそうですが、興味のある方は手を出してみてはどうでしょうか。 データを覗
PHP8.3 / PHP8.2 / PHP8.1 / PHP8.0 2023/11/23にリリースされました。 2023/07/18、PHP8.3がフィーチャーフリーズしました。 言語機能に関わるような機能の追加・変更が締め切られたということです。 今後はデバッグを繰り返しながら完成度を高めていき、2023/11/23にPHP8.3.0がリリースされる予定です。 というわけでPHP8.3で実装されるRFCを見てみましょう。 RFC Marking overridden methods (#[\Override]) 賛成22反対1で受理。 Overrideアトリビュートです。 class C1 { protected function foo(): void {} } class C2 extends C1 { #[\Override] public function foo(): void
CPUにハードウェア的な欠陥が存在することがあります。 特に有名なのはMeltdown・Falloutあたりですが、これは投機的実行という高速化機構に潜んでいたバグです。 そして2023/08/08、CPUに潜んでいた新たなバグ、Downfallが発表されました。 CVE-IDはCVE-2022-40982です。 日本語紹介記事:Intel製CPUに情報漏えいの恐れがある脆弱性「Downfall」が発見される、データやパスワードなどの機密情報が抜き取られる危険性 / インテルのチップから機密情報が流出する? 新たな脆弱性「Downfall」の脅威 / Intel、第11世代までのCPUに影響する脆弱性などに対処 影響するCPUは2015年のSkylakeから2020年のTiger Lakeまでと、かなりの長期間にわたります。 ということで以下は公式?の紹介サイト、Downfall Atta
2018/04/06 97.5kg…… とても絶望的な数値が並んでいます。 ちなみに身長は175cmです。 2018/04 正直なところファッションとか外見とかに全く興味がありません。 靴下は全く同じ無地のものをまとめ買いしています。 履くときは適当に2本取ればいいので、片割れを探す手間だとか片方なくなったとかの面倒がなくなり圧倒的に楽です。 シャツも5着5千円とかで売ってる同じやつです。 洗濯も乾かすのが面倒だったから金の力で解決して、ハンガーラックの右から干して左から着る生活をしています。 どれを着ても同じだから、着合わせとかを考える必要もなくて楽ですね。 とまあこのように、興味のないところはなるべく省力化をしています。 省力化というか、どうでもいいので何も考えずに処理できるようにしているわけです。 なお流石に、毎日風呂に入って歯磨きする程度の最低限度の常識は持っています。 たぶん。
2023/06/22にSvelte 4がリリースされました。 Svelteはざっくり言うとフロントエンドフレームワークですが、ReactやVueといった他のフレームワークとは大きな思想の違いがあります。 他のフレームワークはブラウザで表示されたときにはまずライブラリを読み込んでから実行するため、初期動作にどうしても時間がかかります。 Svelteはコンパイル時に素のJavaScriptまで変換してしまうので、ブラウザで表示すると単純にただのJavaScriptが動くだけなので早い、というわけです。 初出からしばらくは全然話題にもならなかったのですが、最近やっと人気が上昇しつつあるようです。 やっぱ安定してきたのとSvelteKitのおかげかな。 以下は公式ブログからSvelte 4リリースのお知らせ、Announcing Svelte 4の紹介です。 Announcing Svelte 4
昨年2022/11/09に行われたGitHub Universe 2022において様々な発表が行われましたが、その新しい試みのひとつがGitHub Acceleratorです。 将来有望そうなメンテナやチームに対してGitHubが支援を行い、フルタイムでOSSにコミットできるようにするというプロジェクトです。 まあ要するに、GitHubがスポンサーのGitHub Sponsorsですね。 で、これの第一期対象の発表が2023/04/12にありました。 1000以上の応募から、20プロジェクト32名が選出されました。 彼らは最初の10週間で2万ドルを受け取り、その資源で財政的に持続可能な開発を目指します。 今後の展開次第ではさらに継続して支援を受けたりもできるようです。 そうしてフルタイムでOSSにコミットできる人材を増やすことが、GitHub Acceleratorの最終的な狙いのようです
Bun.build({ entrypoints: ['./src/index.tsx'], outdir: './build', minify: true, // その他設定があれば }); Reducing complexity in JavaScript フォームフィールドの自動入力から始まったJavaScriptは、今ではロケットを宇宙に打ち上げる機器に活躍するところまできています。 当然の成り行きですが、JavaScriptエコシステムの複雑さは爆発しました。 TypeScriptのファイルはどうやって実行する? 本番用コードはどうビルドする? そのパッケージはESMで動作する? ローカル設定を反映するにはどうすればいい? バージョン互換性をどう解決すればいい? ソースマップはどうやって作れば? 複雑であるということは、すなわち時間がかかるということです。 npmパッケージのインス
<div class="foo"> ここは青くしたい <div class="bar"> ここは赤くしたい </div> </div> その.foo .barどうにかならない? これはまだ2段階だから見ただけでわかりますが、ちょっと複雑なことをやるとすぐ地獄みたいなセレクタ塊になることは全CSS書きがよく知っています。 それを解決するために様々な解決策が現れましたが、いずれも外部ライブラリが必須だったり不自然な命名を強要されたり解決策同士の互換がないせいで乗り換えが大変だったりと非常につらい状況です。 ということで先日2023/04/05にリリースされたChrome112で、ようやくCSS Nestingがサポートされました。 ゴミみたいなことばっかり率先してやるくせに、全CSS書きが待ち望んでいる機能の実装には時間がかかるのはどうしてなんですかね。 ブラウザの対応状況 Chrome /
Original article:https://blog.cassidoo.co/post/producivity-apps-2023/ 以下はCassidy Williams ( dev.to / Twitter / GitHub / Webサイト ) による投稿、The Productivity apps I use in 2023の日本語訳です。 技術者には珍しくWebサイトがファンシー。 The Productivity apps I use in 2023 お気に入りのツールや、それをどう使って仕事を進めるのかについてよく聞かれます。 その質問に答えるため、そして次に同じことを聞かれたときにリンクを投げつけるために、この記事を書いています。 効率的ですね! 昨年にも同じ記事を書きましたが、全てを書ききれていなかったのと、さらに書き足したいことがあったことに気が付きました。 なお
function foo(){ static $i = 1; echo $i++; } foo(); // 1 foo(); // 2 foo(); // 3 static $i=1;は最初に呼ばれたときに一回だけ初期化され、その後は関数を抜けても値が保持され続けます。 メモ化や再帰処理などに便利な機能です。 ただし、static変数の宣言には定数式しか使えず、関数や変数などは使えません。 function foo($param){ static $i = $param; // Fatal error: Constant expression contains invalid operations static $j = bar(); // Fatal error: Constant expression contains invalid operations } これは別に技術的理由では
mermaid.jsのGitHubを見てみたらREADME.mdとREADME.zh-CN.mdは存在するのにREADME.ja-JP.mdがなかったので作ったという話です。 Mermaid マークダウンっぽいテキストからダイアグラムを作ることができるよ。 🏆 JS Open Source Awards 2019の、"最もエキサイティングな技術の使い方"部門をMermaidが受賞しました!!! 関係者、コミッター、回答者の皆さまに感謝します! 🙏 これはなに? MermaidはJavaScript製のダイアグラム・チャート作成ツールです。 Markdownに着想を得たテキスト定義から、複雑なダイアグラムを生成・編集することが可能です。 Doc-Rot is a Catch-22 that Mermaid helps to solve. ダイアグラムやドキュメントは開発者の貴重な時間を奪
Get cookies.txtというChromeアドオンがあります。 名前のとおりCookieをテキストに出力してくれる便利な拡張機能であり、Googleおすすめマークも付いています。 さて、この拡張機能に問題が見つかりました。 ⚠️⚠️【注意喚起】⚠️⚠️ 今 Chrome に Get cookies.txt という拡張機能を入れている方、”””今すぐ”””アンインストールしてください!! ページ遷移すると Cookie からアクセスした URL から何からすべて外部サーバーに送られる凶悪スパイウェアになってます 怖過ぎる…😇😱 🔽https://t.co/BjqyruuU3u pic.twitter.com/rVZJpGKwhc — Torishima (@izutorishima) February 28, 2023 結論から言うと、この変更は作者が意図して行ったものであり、ス
dev.toでは、新人や投稿を増やすために運営が様々な施策を行っています。 ここではそれら施策の一端を紹介してみます。 私が気付いたものだけなので、きっと他にもやっていることは色々あるに違いありません。 新人さんようこそ! 毎週木曜日に、Welcome Threadという記事が投稿されます。 毎回よくわからない画像や動画とともに、自己紹介を促しています。 DEVにようこそ! 自己紹介をしていってね! ここに来た理由、今学習していること、あるいは最近あった楽しいことでもなんでもいいよ。 他のコメントへの返信も、挨拶でも質問でも自由にしていってね👋 コミュニティで会えるのを楽しみにしています。 コメントは毎回100件以上ついており、大盛況のスレッドとなっています。 だいたいみんな名前と、自分の持ってるもしくやりたい技術を記載して自己紹介し、そしてそれらの投稿にようこそ!という返信が多々ついて
2023/02/18追記 Adblock Plusをアンインストールしたあとインストールしなおしたらなおりました。 詳しくはコメントで。 BingのAI検索を試そうと思ったんですが、順番待ちになったんですよ。 半日過ぎても使える気配がありません。 調べてみたところ、どうやら『セット Microsoft の既定値 お使いの PC で』をすれば順番を飛ばせるらしい。 やったね。 フィッシング詐欺ですら最近はもっと上等な日本語を使うぞ。 なんだよこれは。 さて、この規定値とやらが何かというとMicrosoft Bing Search エンジンというChromeプラグインのようです。 これをインストールするとよいらしい。 インストールしたら検索エンジンが強制的にBingに変えられてしまいました。 なお、その状態でGoogleに行こうとしたらGoogleとBingの戦争が始まりました。 まあ検索エン
ES2023その2 / ES2023 / ES2022 / ES2021 先日ES2023では新機能が2個しかなかったという話をしましたが、どういうわけか2023/01/30になってからES2023が2個追加されました。 よくわかりませんが、どうやら1月までは前年のESになるみたいです。 なんで。 これらは2023/01/30に行われたTC39ミーティングで決定したようです。 他にIntl.NumberFormat V3もStage4への議題に上がったみたいですが、こちらは却下されたみたいです。 なんでそんなふわふわな言及なのかってまだアジェンダしかないから詳しいことがわからねえんだよ。 Finished Proposals Change Array by copy 配列を破壊せずに操作するメソッドを追加します。 既存の配列操作メソッドは、変更後の値を返すと同時に元の値も変更してしまいます
2022 / 2021 / 2020 JavaScriptライブラリのトレンドを紹介しているbestofjs.orgが、2022年に最もホットであったJavaScriptライブラリのランキングを発表しました。 選考基準は累計スター数ではなく、『2022年の一年間で増えたスターの数』です。 過去流行っていたけど落ち目となった技術は出てこないので、最近注目されている技術がわかります。 ちなみに2016年~2019年の総合ランキング1位はVue.jsが4連覇、2020年の1位はDeno、2021年の1位はzxです。 以下は2022年のランキング、2022 JavaScript Rising Starsの日本語訳です JavaScript ライジングスター 2022 7回目のJavaScript ライジングスターにようこそ! 毎年恒例、2022年の12か月におけるJavaScriptエコシステムの
ES2023その2 / ES2023 / ES2022 / ES2021 2023年一発目ということで、ES2023にFinished Proposalsとして取り入れられた機能を見てみましょう。 ちなみにFinished Proposalは「複数の実装が既に存在する」が前提なので、2023という名前にもかかわらず既に一部のブラウザで使用可能です。 というかES2023の新機能は全てのモダンブラウザで既に使用可能です。 ES2023 Array find from last 末尾からの検索です。 const array1 = [5, 12, 8, 130, 4]; console.log(array1.find(element => element > 10)); // 12 console.log(array1.findLast(element => element > 10)); //
TypeScriptは、2022/10/01に10周年を迎えました。 ということで、それを記念してMicrosoftの中の人が振り返りのエントリーを書いていました。 以下は該当の記事、Ten Years of TypeScriptの紹介です。 Ten Years of TypeScript 2022年10月1日は、TypeScript10歳の誕生日です。 10年前の今日、2012年10月1日に、TypeScriptは初めて公にされました。 The Early Days 初めてTypeScriptが表に現れたとき、それももっともなことでしたが、多くの否定的な意見がありました。 一部のJavaScriptユーザにとって、JavaScriptに型を強制する試みは冗談か邪悪な陰謀のように見えたかもしれません。 しかし、その試みには、多くのメリットがありました。 型チェックのおかげで、ファイルを保存
PHP8.3 / PHP8.2 / PHP8.1 / PHP8.0 2022/12/08にPHP8.2.0がリリースされました。 大きな新機能については、PHP8.0以降公開されるようになったランディングページで見ることができます。 ここでは、概要だけではなくUPGRADINGに載っている変更点を全部見て回ることにします。 Backward Incompatible Changes 下位互換性のない変更点。 Date DateTime::createFromImmutable() now has a tentative return type of static DateTime::createFromImmutable()の返り値の型がstatic型になりました。 以前はDateTime型でした。 これはphpstanのバグへの対応です。 class CustomDateTimeImmu
次のページ
このページを最初にブックマークしてみませんか?
『@rana_kualuのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く