ブックマーク / qiita.com/rana_kualu (11)

  • TypeScript 10年の歩み - Qiita

    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に型を強制する試みは冗談か邪悪な陰謀のように見えたかもしれません。 しかし、その試みには、多くのメリットがありました。 型チェックのおかげで、ファイルを保存

    TypeScript 10年の歩み - Qiita
    mcddx30
    mcddx30 2022/12/21
  • 【PHP9】ついに未定義変数が使えなくなる - Qiita

    PHP9以降、致命的エラーになります。 以下は該当のRFC、Undefined Variable Error Promotionの紹介です。 投票期間は2022/03/14から2022/03/28です。 2022/03/21時点では賛成30反対6の賛成多数であり、ほぼ確実に可決されます。 Undefined Variable Error Promotion Introduction 未定義変数とは、使用する前に値がまだ初期化されていない変数のことです。 未定義変数にアクセスすると、現在はWarning: Undefined variable $varnameの警告E_WARNINGが表示され、その変数値はNULLであるかのように扱われますが、実行が中断されることはありません。 しかし、これは意図しない挙動である可能性が高いでしょう。 この挙動を変更して例外を出すためにカスタムエラーハンドラ

    【PHP9】ついに未定義変数が使えなくなる - Qiita
    mcddx30
    mcddx30 2022/03/23
  • Googleフォントを使うと犯罪になる - Qiita

    <link href="https://fonts.googleapis.com">って書くと罰金取られます。 以下はGerman Court Rules Websites Embedding Google Fonts Violates GDPRというニュースの紹介です。 German Court Rules Websites Embedding Google Fonts Violates GDPR ドイツのミュンヘン地方裁判所は、あるWebサイトの運営者が、ユーザの個人情報を人の同意なしにフォントライブラリを経由してGoogleに提供したとして、100ユーロの賠償を命じました。 Webサイトが原告のIPアドレスGoogleに無断で提供したことは、ユーザのプライバシー権の侵害に当たると判断しました。 さらに、Webサイトの運営者は収集した情報をその他のデータと突き合わせることで『IPア

    Googleフォントを使うと犯罪になる - Qiita
    mcddx30
    mcddx30 2022/02/09
  • 【PHP8.2】動的プロパティが禁止される - Qiita

    $dt = new DateTime(); $dt->hoge = 1; var_dump($dt->hoge); // 1 PHPでは未定義のプロパティに値を突っ込むと、特に何の抵抗もなくプロパティが生えます。 しかし、他の多くの言語ではこのような動作にならず、未定義プロパティを突っ込もうとするとエラーになります。 ということでこれを禁止しようというRFCが提出されました。 以下はDeprecate dynamic propertiesのRFCの紹介です。 PHP RFC: Deprecate dynamic properties Introduction 宣言されていないプロパティに書き込みを行うと、PHPでは何もエラーが出ずに動的にプロパティが作成されます。 現代のコードにおいて、これが意図的に行われることはほとんどありません。 このRFCでは、動的プロパティを非推奨とし、将来的に削

    【PHP8.2】動的プロパティが禁止される - Qiita
    mcddx30
    mcddx30 2021/09/05
  • 【PHP8.0】厳密なswitch文ことmatch式が使えるようになる - Qiita

    switch($x){ case 1: '$xは1だよ'; break; case "1": '$xは"1"だよ'; break; } case "1"に到達することは決してありません。 ということで厳密な比較を用いるswitchことmatch構文のRFCが提出されました。 以下はMatch expression v2の日語訳です。 PHP RFC: Match expression v2 Proposal このRFCは、switchに似ていますが、より安全なセマンティクスを持つmatch構文の提案です。 例として、Doctrineのクエリパーサを挙げます。 // Before switch ($this->lexer->lookahead['type']) { case Lexer::T_SELECT: $statement = $this->SelectStatement(); br

    【PHP8.0】厳密なswitch文ことmatch式が使えるようになる - Qiita
    mcddx30
    mcddx30 2021/08/20
  • 【PHP8.1】PHPで簡単に非同期処理を書けるようになる - Qiita

    PHPは長きにわたり同期的、すなわち、あらゆる処理を上から順に実行していくというスタイルを取ってきました。 しかしたとえば、複数のURLからデータを取ってきて結果をまとめたいといった場合、時間のかかるHTTPリクエストは同時に投げたいですよね。 この用途にはGuzzleというライブラリが存在し、これを使えば同時にリクエストを投げられます。 しかし、ではHTTPアクセスとDBアクセスを同時にやりたい場合は? 時間のかかる計算を裏でやりたい場合は? などと考え始めると、こういった個別のライブラリでは対処しきれません。 ということで汎用的な非同期処理をPHPで書けるようにするRFCが提出されました。 PHP RFC: Fibers Introduction 人類史上ほぼ全ての期間において、人々はPHPを同期的なコードとしてのみ書いてきました。 同期的に実行されるコードのみが存在し、そしてそれを同

    【PHP8.1】PHPで簡単に非同期処理を書けるようになる - Qiita
    mcddx30
    mcddx30 2021/03/18
  • 【PHP8.0】非厳密な比較演算子`==`の挙動が今さら変更になる - Qiita

    結果は順にtrue、true、falseです。 これがPHP7までの非厳密な比較(等価)演算子だったわけですが、まあおかしいよねってことで、この挙動がPHP8.0で変更になることになりました。 よもや今さら基中の基である比較演算子の動作を弄ってくるとは思わなかったぞ。 以下はSaner string to number comparisonsの日語訳です。 PHP RFC: Saner string to number comparisons Introduction ==やその他の非厳密な比較演算子を用いた文字列と数値の比較は、現在は、文字列を数値にキャストし、その後整数か浮動小数の比較を行っています。 この結果、多数の不可解な結果が得られますが、中でも注目すべきは0 == "foobar"がtrueになることです。 このRFCでは、文字列が実際に数値型文字列である場合にのみ数値型

    【PHP8.0】非厳密な比較演算子`==`の挙動が今さら変更になる - Qiita
    mcddx30
    mcddx30 2020/08/03
  • PHP8.0.0α1がリリースされたのでさっそくJITの威力を体感する(した) - Qiita

    当かよ????????? まずPHP7.4.7からPHP8にアップデートするだけで処理時間が1割削減されています。 ただでさえ新機能てんこ盛りだってのに、そのうえ速度も上がるとかどうなってるんだPHP8。 次いでopcacheを有効にすると処理時間が半分になります。 最後にJITを有効にしたら、処理時間がopcache有効状態の30%になりました。 30%縮まりました、ではありません。 なんだこれ。 ということで、JITを有効にするだけで、処理時間がPHP8デフォルト設定の13%になりました。 どういうことかというと、元々1分かかっていた処理が8秒で終わるようになります。 足枷を外したとかいうレベルじゃねーぞ。 これ当に計算してるのか? 計算結果が固定値だから結果だけどこかに保存してるとかじゃないよな? しかもこれ、opcacheやJITの設定はほぼ初期値で、とりあえず有効にしただけと

    PHP8.0.0α1がリリースされたのでさっそくJITの威力を体感する(した) - Qiita
    mcddx30
    mcddx30 2020/06/29
  • 【PHP7.4】PHP7.4がリリースされたので新機能全部やる - Qiita

    PHP8.1 / PHP8.0 / PHP7.4 2019/11/28にPHP7.4.0がリリースされました。 ということで、ここではドキュメント化されている新機能や変更点を片端から試してみます。 これら以外にもドキュメント化するほどでもない軽微な変更が多々入っているはずですし、単なるバグ修正も山ほどあるのですが、今回はそのあたりには触れません。 把握しきれていませんしね。 インストール 古いXAMPPが入っていたらディレクトリまるごと削除。 最新のXAMPPをインストール。 WindowsPHPからVC15 x64 Thread Safeをダウンロード。 解凍したディレクトリをpath\to\xampp\phpにまるごと上書きコピペ。 php.ini-developmentをphp.iniにコピー。 php.iniのextension_dirをエクステンションが入ってるディレクトリへの

    【PHP7.4】PHP7.4がリリースされたので新機能全部やる - Qiita
    mcddx30
    mcddx30 2019/12/03
  • GitHubのスターは金にならない - Qiita

    Sizzyというツールがあります。 様々なサイズの画面を同時に表示し、レスポンシブレイアウトがどうなるかを一気に確認できるという便利なツールです。 スマホ向けWebサイトを開発している人なら、持っていると非常に便利でしょう。 参考:レスポンシブの確認ツール、後発だけに便利!スマホ・タブレットの主要なデバイスでの表示確認が同時にできる -Sizzy / 『Sizzy』様々なデバイスでのサイト表示を確認出来る便利サイト さてこのSizzy、元々無償のChromeエクステンションだったのですが、先日2019年7月に単独のアプリとして有償化されました。 一人あたり月5ドル(団体割引あり)のサブスクリプション制です。 以下は作者のKizte( Twitter、Medium、Webサイト )がその理由や経緯を綴った記事、GitHub stars won't pay your rentの日語訳です。

    GitHubのスターは金にならない - Qiita
    mcddx30
    mcddx30 2019/10/17
  • getimagesize/finfoのMIMEタイプ判定はザルい - Qiita

    http://qiita.com/sakana_kirai/items/6e512f7aea2898a6e8f2 http://qiita.com/mpyw/items/939964377766a54d4682 アップロードされたファイルについて、getimagesize()やfinfo::file()でMIMEタイプを判定しています。 <?php // hoge.pngを判定 $imagesize = getimagesize('path/to/hoge.png'); $finfo = new finfo(FILEINFO_MIME_TYPE); $finfofile = $finfo->file('path/to/hoge.png'); var_dump($imagesize, $finfofile);

    getimagesize/finfoのMIMEタイプ判定はザルい - Qiita
    mcddx30
    mcddx30 2017/06/15
  • 1