サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 17
qiita.com/rana_kualu
Hackスタイルでは全ての引数を明示する必要があります。 PHPもこちらを採用しています。 まあ単純にパイプライン演算子だけを見るならF#スタイルの方がメリットが多いわけですが、PHPの場合はパイプライン演算子を後付けで組み込んだので諸々問題が出かねないこと、これまでのスタイルと相容れない形式であることから後者の採用に至っています。 JavaScriptも、後者のHackスタイルを選択しました。 したのですが、その結果として関連スレッドが大いに盛り上がることになりました。 このあたりは詳しく解説してくれてる人がいるので、そちらを見てみるとよいでしょう。 https://www.kabuku.co.jp/developers/pipe-operator-debate https://zenn.dev/yuku/articles/b169ac62ac3271 ただ上記記事では書かれていないのが
PHP8.5でパイプライン演算子が導入されたときに「どうして毎回クロージャを書かないといけないんだ」的なことを言ったわけですが、あれは次世代への布石のためでした。 ということで部分適用のRFCが提出されています。 まだ途中ですが実装も存在しており、順調に進めばPHP8.6で導入されることになります。 コア開発者が多数参加していることもあり、導入が遅れることはあっても却下されることはまずないのではないかと思います。 部分適用が何かってざっくり書くとこんなの。 // 普通の関数 function substr5($str) { return substr($str, 0, 5); } echo substr5('abcdefg'); // abcde // 第一級callable $f = substr5(...); echo $f('abcdefg'); // abcde // 無名関数 $
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 現在、JavaScriptで位置情報APIを使用すると、周囲の環境や引数にもよりますがメートル単位で正確な値を取得することができます。 つまり、自宅や職場や通勤通学路やその他入り浸っている宗教病院風俗など全てを正確に把握されてしまうということです。 しかし天気予報など、そこまでの精度は必要なく数キロ数十キロ単位でだいたいの位置さえ分かれば十分なサービスも数多くあります。 そういったサービスに不必要に正確な個人情報を与えることなく、しかし有用な程度に位置情報を与える方法はないでしょうか。 ということで、現在の正確な位置情報よりは安全性の高
これは需要がある!…………のか? ということで複数の配列を同期して回転させるIterator.zipの紹介です。 Joint Iteration 複数のイテレータの進行を同期させる提案。 現在のステージは2.7です。 motivation 2つ以上のイテレータがあり、対応する値に応じてまとめて操作したい場合があります。 この問題に対する一般的な解決策はイテレータの結合であり、zipと呼ばれます。 presentations to committee ・2024/06のプレゼン資料 ・2024/01のプレゼン資料 ・2023/11のプレゼン資料 ・2023/09のプレゼン資料 proposal 2つのメソッドIterator.zip・Iterator.zipKeyedが追加されます。 zipは反復可能オブジェクトの反復可能オブジェクトを受け取り、渡された反復可能オブジェクトの位置に対応する位
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? マルウェアのURLを共有したいとして、普通にhttps://evil.example.com/xxx/yyyとか書いてしまうと、URLが自動リンクになってしまう可能性があります。 そこで、うっかりURLを踏んでしまったりしないように、脆弱性データベースなどではhttps://evil[.]example[.]com/xxx/yyyといった形式で表示してします。 しかし、この表現は特に決まっておらず各自が自由にやっていたのでサイトによって形が異なっており、互換に難がありました。 そこでこの表記を共通化しようというRFCが先日IETFに提出
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? PHPは、インタプリタです。 すなわち、リクエストがあるたびに毎回PHPのソースコードを読み取って、オペコードに変換して、ネイティブコードに変換して、実行して、そして実行が終わったら結果を全て捨てます。 そんな仕様なので、コンパイル言語に比べると、変更をコンパイルなしで即時反映できるといった多くのメリットと引き換えに、実行速度が遅いというハンデがあります。 開発者の努力によって相当な高速化がなされていることも事実ですが、それでも言語仕様の壁は乗り越えられません。 従ってPHPにもコンパイル言語のメリットを取り入れたいとう話は当然あがるわ
このgetComputedStyle().colorは、リンク先を訪れたことがあるか否かに関わらず、必ず『未訪問』の色になります。 色だけでなく、訪問済か否かを識別可能なあらゆる情報は取得不可能です。 実は2010年ごろまではリンク色を取得することが可能で、そのためトラッキングやターゲティング広告に悪用されていました。 これが問題視された結果、Firefoxを皮切りにChrome・Safariもリンク先が訪問済か否かをJavaScriptから取得できないように改修されました。 現在では、リンク先を訪問したかどうかを一般的な方法では調べることはできません。 とはいえこれらの対策は場当たり的なものであったため、先日根本的な解決策としてPartitioning :visited links historyという対応が行われました。 詳しくは先日解説を書いたのでそちらを見てください。 簡単にまとめ
は?なんだこれバグか? ということで、配列に対してできるだけ正確な足し算ができるメソッドMath.sumPreciseが提案されています。 現在の進捗状況は、ステージは3であり仕様は確定しています。 Firefoxは2025/04/01リリースのFirefox 137で対応済です。 Safariはドキュメントでは2025/03/31リリースの18.4で対応したって言ってるんだけどCan I useやMDNでは未対応ってなっていてよくわかりません。 なんにしろmergeはされているのでそのうち動くと思います。 Chromeは実装すらもまだです。 やっぱ金にならんことには遅いなChrome。 ということで以下は該当のProposal、Math.sumPreciseの紹介です。 Math.sumPrecise 複数の値を合計するメソッドを追加する提案。 Status このproposalはTC3
最近はソースコードのチェックをAIに行わせてGitHubにプルリクを出させる、といったフローがよく見られるようになりました。 これを自分のリポジトリに対して行うことはもちろん自由ですが、他人のリポジトリに対してプルリクするのはやめろ、という話です。 Daniel Stenbergという人がLinkedinで盛大にブチ切れています。 That's it. I've had it. I'm putting my foot down on this craziness. もう我慢の限界だ! このクソを断固として拒否する! #Hackeroneに#curlのセキュリティレポートを提出する全ての報告者は、以下に回答する義務がある。 「問題の発見もしくは解決にAIを使用したか?」 使用したと答えた場合、追加の質問がいくつか投げられるだろう。 AI slopだと判断した場合、即座にBANする。 事実上我
FrankenPHP moving under the PHP GitHub organization PHP Foundationは、今後FrankenPHPを直接サポートすることを決定しました。 そもそもFrankenPHPってなに? FrankenPHPは、簡単に言うとPHPの実行環境です。 いま普通にLinuxサーバでPHPを動かそうと思ったら、WebサーバとしてApacheかNginxをインストールして、そこにPHPを連携させて動かす、みたいなことをやる必要があってたいへん面倒です。 FrankenPHPはWebサーバ機能も持っているので、FrankenPHPをインストールすれば即Webサーバを立ち上げることができます。 Nodeだと でPHPのWebサーバが動くということです。 すごいですね。 まあ実のところはCaddyというWebサーバを同梱しているだけみたいですが。 さてこ
先日2025/03/11に、A 10x Faster TypeScriptという記事が公開されました。 TypeScriptの処理系をGoで書き直すことによって速度が10倍向上するとのことです。 ロードマップとしては、TypeScript5.x系は現状のJSベースであり、6.xは移行のために一部互換性のない変更が入り、そして7.0で完全移行の予定ということでした。 そして2025/05/22、その最初のプレビュー版が公開されました。 以下は公式ブログから該当記事、Announcing TypeScript Native Previewsの紹介です。 Announcing TypeScript Native Previews 今年3月、TypeScriptコンパイラとツールセットをネイティブコードに移植することを発表しました。 ネイティブ言語と並列処理、同時実行などの活用により、ほとんどのコ
$string = random_bytes(10); $string = str_repeat($string, 2); $string = str_replace($string, 'c', 'z'); $string = substr($string, 5); $len = strlen($string); ↑は適当に作っただけなので全く意味のない処理ですが、だいたいこんなかんじで値に対して順番に関数を適用していくかんじです。 まあこの後クラスやらClosureやらどんどん入ってきて、なんでもできるマルチパラダイム言語になりつつありますが。 さてこの書き方、1文にまとめようとするととたんにわかりにくくなります。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? とりあえずTemporalが何でないかについて語っておくと、Day.jsに取って代わるものでも、date-fnsに取って代わるものでも、Luxonに取って代わるものでもありません。 はっきり言うと、一般ユーザにとっては全く無関係な機能です。 なにしろ素のままでは2000-1-23 12:34:56をTemporalに変換することができず、2000/01/23 12:34:56と出力することすらもできません 今までライブラリ利用前提だった日時操作がこの標準前提になる日も近いかもしれませんなんて言ってる人も居ますが、そんな日は来ません。 で
まあPHP以外の言語でも普通に可能ですが。 ということで、帰り値の受け取りを強制するアトリビュート#[\NoDiscard]が提唱されました。 既に受理されており、PHP8.5から使用可能になります。 PHP RFC: Marking return values as important (#[\NoDiscard]) Introduction 現代のPHP APIで採用されるエラー処理メカニズムは例外です。 このメカニズムでは、失敗したときの処理を行わないかぎり非常に明白なエラーが発生します。 しかし、全てが成功もしくは失敗だけのどちらかだけではなく、部分的に成功というステータスを取りたい場合もあるでしょう。 この場合は返り値によって対応することができます。 しかしその場合、返り値をチェックしなければサイレントなエラーが起きてしまう可能性もあります。 APIによっては滅多にエラーが起きな
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Partitioning :visited links historyという提案があります。 2025年4月にリリースされるChrome135で有効になる機能です。 これ実はユーザにわりと影響のある変更なのですが、全く知られておらず話題にも上がっていないんですよね。 なにせ日本語記事が一切見当たらない。 ということで、ここで紹介しておきます。 具体的にどうなるの? まずGoogleとYahooJapanで同じ語句を検索します。 ここでは例としてPHP8.4がリリースされたので新機能全部やるを使います(宣伝)。 この記事を見たことがない場
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Cloudflareが先日Year in Review 2024という年次レビューを発表しました。 Cloudflareにホストされているデータ、DNSリゾルバ1.1.1.1、そしてそれ以外の様々な指標を元にインターネット全体での様々な情報を分析した調査報告ということです。 Year in Review 2024 Internet Traffic Growth 昨年比のインターネットトラフィックです。 昨年に比べて17.2%増加しました。 8月まで前年と同じくらいなのに、その後急激に増えてますね。 Internet Services 1
const Employee = { firstname: 'Maria', lastname: 'Sanchez', }; console.table(Employee); // {firstname: 'Maria', lastname: 'Sanchez' } delete Employee.firstname; // true console.table(Employee); // {lastname: 'Sanchez' }
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 現在のブラウザは、いちどカメラやPUSH通知の権限要求を拒否すると、その後要求プロンプトを出すことができません。 Webサイトができることは、『〇〇を許可してください』とウィンドウを出すことくらいです。 ↓人類史上最悪の許可要求ウィンドウの例 この後設定欄から各機能を有効化するためには、ユーザによる絶対的能動的な操作が必要となります。 また、プライバシーとセキュリティ設定から許可しない設定をしておくと、たったの一度すらもチャンスが与えられず、一生権限を要求することはできません。 結果としてPUSH通知の権限要求などは、9割以上のユーザが
Pythonにはコマンドライン引数をパースする標準モジュールがgetopt・optparse・argparseの3種類あります。 このうちoptparseは14年も前の2011/02/20にリリースされた3.2から非推奨になっています。 そしてgetoptは先日2024/10/07にリリースされた3.13で非推奨になりました。 従って、今後はargparseに一本化されます。 となるはずだったのですが、一本化されるどころか逆に3.14でoptparse・getoptの非推奨が外されました。 すなわち、argparse・optparse・getoptいずれも同列で使用してかまわない機能であるということになりました。 optparseなんか14年経ってから復活です。 どうしてこんなことが起きたのでしょう? ソフトな非推奨 Pythonの非推奨には通常のDeprecationとSoft Depr
ES2025 / ES2024 / ES2023 / ES2022 JavaScriptの仕様は、TC39というところで決められています。 ブラウザベンダや関係者が定期的に会合を行い、様々な新機能について話し合って今後のJavaScriptの方向性を決めていきます。 ここでは2024年にFinishedになった、すなわち仕様が確定して複数のブラウザで実装がなされたproposalについて紹介してみます。 主要ブラウザでは既にほとんどの機能を使用可能です。 ちなみに、2024年2月から2025年1月までにStage4になったproposalがES2025と呼ばれます。 ややこしいですね。 Finished Proposals Promise.try 同期かもしれないし非同期かもしれない、Promiseを返すかもしれないしそうでないかもしれない、そんな関数があります。 その関数を使う際に、いち
Twitterでは多くの質問が殺到しました。 「どうしてJavaScriptでC言語を書きたいんだ?」 これまで、JavaScriptからシステムライブラリを呼び出す方法は2種類がありました。 ・N-APIアドオンもしくはV8 C++ APIアドオンの利用。 ・emscriptenもしくはwasm-packでWASMにコンパイル。 What's wrong with N-API (napi)? どうしてN-APIではだめなのか。 N-APIはネイティブライブラリをJavaScriptから使えるようにする、ランタイムに依存しないC APIです。 BunとNode.jsはこれを実装しています。 N-API以前はV8 C++ APIを使っていましたが、Node.jsがV8を更新するたびに互換性の問題が発生する可能性がありました。 Compiling native addons breaks CI
MAINTAINERSからメールアドレスがxx.ruの開発者が合計11名削除されました。 もちろん一部界隈で大騒ぎになりました。 「コンプライアンスの諸事情って何よ。ドキュメントもっとはっきり書けや。」 「オープンソースの黎明と終焉がひとつのプロジェクトで見れるとはね。」 「冷戦の再来である。」 「邪悪なクレジットを消したのに邪悪なソースコードを消さないのはなんで?」 「恥を知れ」 「オープンソースの精神()」 「Linux Foundationは、中立的で信頼できる組織です()」 「おいまだ足りないぞ。中国とイランとシリアとイエメンとイラクとアルジェリアとアフガニスタンとパキスタンとヨルダンとエジプトとリベリアとキューバとベネズエラも排除しないと。」 一部開発者の暴走かと思いきや、残念ながらLinusもこのcommitに同意しています。 このcommitをrevertするパッチに対して、
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2024/09/10にIdle Detection APIというAPIが更新されていました。 ステータスはDraft Community Group Reportです。 これはコミュニティによる提案であり、W3Cによる正式な勧告ではありません。 個人や団体レベルでも、とりあえずRFCを作ってみたり検討したりできる段階ということです。 以下はこの提案を管理しているGitHubから、このRFCの意義を解説したReadmeの紹介です。 User Idle Detection API このAPIでは、開発者はユーザがアイドル状態になったとき(キ
アイドルマスター シンデレラガールズ スターライトステージ9周年おめでとうございます。 ところで日課の納税をするたびに気になっていたことがあるんですよね。 レアアイドルって本当にみんな均等に出現するんだろうか? デレステはガシャの出現率が全て表示されていまして、レアアイドルは全員0.825%で共通となっています。 ただ毎日引いていると、なんとなくそうではない気がしてくるんですよね。 西園寺琴歌やクラリスはわりとよく見かけるし、逆に楊菲菲や兵藤レナなどはあんまり見ない気がします。 これは単に記憶が偏っているだけなのでしょうか。 それとも本当に何らかの偏りが発生していたりするのでしょうかね。 調べてみたいですよね。 しかし調査するにしてもデータソースはどうしたら? 大丈夫。 なぜなら、私は2016/07/30以降、納税やガシャの結果を全て記録しているから。 これだけ記録を集めている人もそうそう
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? どういうわけか日本では一切話題に上がっていないのですが、Pythonの開発者コミュニティでなんか問題が起きているようです。 どうも話が様々なスレッドにとっ散らかっているうえに半分はDiscordや非公開のところで動いているみたいなので、読み取れていないところが色々あるかもしれません。 誰かが補足してくれるはず。 Proposed bylaws changes to improve our membership experience 最初のきっかけはこのスレッドです。 これは規約の一部を変更する提案であり、その中でも3番目の提案であるAd
次のページ
このページを最初にブックマークしてみませんか?
『@rana_kualuのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く