タグ

ブックマーク / qiita.com/suin (9)

  • エディタで等幅日本語フォントを最適に表示させるには、フォントサイズを2か3か5の倍数にするといいよ! - Qiita

    フォントサイズによって、幅が噛み合わないことがあった Fira Codeはフォントサイズが5の倍数のときに幅が整う。 FiraCodeでも同様の現象が。FiraCodeは半角5:全角3の比率なので、フォントサイズを5の倍数にするときれいに整う。 pic.twitter.com/E0d1tZgQoU — suin❄️PHPでオブジェクト指向 (@suin) 2018年12月7日 Source Han Code JPはフォントサイズが3の倍数のときに幅が整う。 一方、Source Han Code JPは、全角3:半角2の比率なので、フォントサイズは3の倍数にするときれいに整うことがわかった。 pic.twitter.com/g8DFJ39FHI — suin❄️PHPでオブジェクト指向 (@suin) 2018年12月7日 Ricty Diminishedはフォントサイズが2の倍数のときに幅

    エディタで等幅日本語フォントを最適に表示させるには、フォントサイズを2か3か5の倍数にするといいよ! - Qiita
    takets
    takets 2024/04/24
  • 急なTypeScript案件🔥最初の30日間に使い倒したい「コードリーディング支援ツール」 - Qiita

    この投稿では、「TypeScriptの文法や用語がよく分からない」という問題を解消してくれそうなツールを紹介します。 勉強しながらの見切り発車 最近はTypeScript未経験でも、TypeScript案件にアサインされることが増えてきているように思います。 運がいいと着手前にTypeScriptをじっくり学習する時間を与えられることがあります。しかし、多くのケースでは、見切り発車で開発に参加するのではないでしょうか。 コードリーディングから始まる TypeScript案件は、理解すべき既存のTypeScript/JavaScriptコードがあるケースが多いです。 そのため、 読んで理解すべき既存のTypeScriptコードがある しかし、TypeScriptの知識が乏しい状態でスタート といった事態がよく起きます。 新規プロジェクトでは既存コードがありませんが、ググって出てきたサンプルコ

    急なTypeScript案件🔥最初の30日間に使い倒したい「コードリーディング支援ツール」 - Qiita
    takets
    takets 2022/01/12
  • awaitできるsetTimeoutを1行で書く方法 - Qiita

    await new Promise(resolve => setTimeout(resolve, 3000)) // 3秒待つ // ... 3秒後の処理 ... // よくある長めの実装 const sleep = () => new Promise(resolve => { setTimeout(() => { resolve() }, 3000) }) await sleep() // ステップ1: () => { resolve() } は resolve に短縮する const sleep = () => new Promise(resolve => { setTimeout(resolve, 3000) }) await sleep() // ステップ2: resolve => {} は resolve => に短縮する const sleep = () => new Prom

    awaitできるsetTimeoutを1行で書く方法 - Qiita
  • PHP: 静的メソッドは何のためにあるか? - Qiita

    稿ではPHPの静的メソッドが何のためにあるかを考えるものである。 クラスとインスタンスの概念的な関係性 静的メソッドを理解するには、クラスとインスタンスの関係性を理解していなければならない。 クラスとインスタンスの関係は何だろうか? 一言で言えば、クラスは、複数のインスタンスの集合である。概念的な集合であって、インスタンスの配列という意味ではない。例えば、$user1のオブジェクトと$user2のオブジェクトを総じて、Userと呼べるのは、Userが$user1と$user2の集合だからだ。 以上の集合論的な観点を踏まえると、静的メソッドは何のためにあるかといえば、集合に含まれるすべてのオブジェクトに共通した処理(公理ともいう)を記述するためにあると言える。 逆を言えば、集合の一要素にすぎない$user1にのみ関係する処理は静的メソッドにはならない。Userクラス(ここまで読んだみなさん

    PHP: 静的メソッドは何のためにあるか? - Qiita
    takets
    takets 2019/03/12
  • Php Inspections EA Extended 3.0.11/Ultimate 2.0.13の新機能 - Qiita

    Php Inspections (EA Extended)とPhp Inspections (EA Ultimate)はPhpStormのInspection(コード検査)機能をさらに強力なものに拡張してくれるPHPerなら絶対に入れておきたいプラグインです。無償で使えるのがEA Extendedで、それに更に検査ルールを加えたハイエンドの有償版がEA Ultimateです。 稿では、そのEA Extended 3.0.11(2019/2/23リリース)、EA Ultimate 2.0.13(2019/2/25リリース)に追加された新たなチェックツールを紹介します。 EA Extended/EA Ultimate共通の新機能 PHPUnitのバグとベストプラクティス 検査名: PhpUnit: bugs and best practices PhpUnit関連のコードを分析してバグを報告

    Php Inspections EA Extended 3.0.11/Ultimate 2.0.13の新機能 - Qiita
    takets
    takets 2019/03/01
  • PHP: Builderパターンの実装手順 #1【基礎実装】 - Qiita

    Builderパターンとは、生成過程を抽象化したり、コンストラクタの引数が多かったり、コンストラクタの引数を作るのが複雑なときに使うデザインパターンのひとつだ。稿では、引数が多すぎるコンストラクタの解消法のひとつとしてPHPでのBuilderパターンの実装方法を紹介する。 なお、稿で実装したコードの完全版はGitHubで公開している。 お題のモデル Builderパターンを実装するに当たってのお題として、Eメールを扱う。Eメールは、To, CC, From, Subject, Bodyの5つの情報を持っていることにする。これを素直にモデルにするとこうなる: コンストラクタには5つ引数がある。この実装では、Emailクラスを利用したいクライアントコードは次のようになる: new Email( ['alice@example.com'], ['bob@example.com'], [],

    PHP: Builderパターンの実装手順 #1【基礎実装】 - Qiita
    takets
    takets 2019/02/14
  • PHP: 振る舞いを持つEnumの作り方 - Qiita

    稿ではPHPで振る舞いを持つEnumの実装方法を順を追って説明していく。 Enumを定数で実装する方法も考えられるが、稿ではクラスを使う。クラスでEnumを実装すると、それぞれの値に振る舞い(メソッド)を持たせられる利点がある。加えて、クラスで表現されたEnumはそれを利用するコードでクラス名を型宣言に使えるので、型安全なコードを書ける長所もある。 稿では「支払い状況」を例にEnumを作っていく。まず、支払い状況は4つの状態があるものと考えよう。 保留(pending) 承認済み(approved) 却下(rejected) 支払い済み(paid) これらを実装していく過程を見ていこう。 なお、稿で実装したコードはGitHubで公開しているので、完成版はそちらをご覧いただきたい。 まず、「支払い状況」のEnumクラスを作る。このクラスは継承する必要がないためfinalクラスにする。

    PHP: 振る舞いを持つEnumの作り方 - Qiita
    takets
    takets 2019/01/09
  • PHP5.6からPHP7.2へアップデート時の互換性チェックツール、ハマった体験談へのリンク - Qiita

    php7cc: PHP 7 Compatibility Checker php7ccは、PHP 5.3-5.6からPHP 7への移行を容易にするためのコマンドラインツール。 既存のコードで問題の可能性がある文を検索し、ファイル名、行番号、および短い問題の説明を含むレポートを生成する。 このツールは、すでにサポートが終了している phan/phanやphpstan/phpstanを代用することが推奨されている。 新しいPHPバージョンで動作するようにコードを自動的に修正するものではない。 「メソッドが削除されたので置き換える必要がある」はチェックされるが、「メソッドの挙動が微妙に変わったため、特定のパターンで正常に動作しなくなっていた」はチェックされない。 PHP7の互換性チェック - Qiita php7ccを利用したPHP5.6⇒PHP7へのコンバージョンチェック - Qiita php

    PHP5.6からPHP7.2へアップデート時の互換性チェックツール、ハマった体験談へのリンク - Qiita
    takets
    takets 2018/12/07
    php5.xからphp7へ移行するときに便利な検証ツールいろいろ
  • 俺史上最強のiptablesをさらす - Qiita

    #!/bin/bash ########################################################### # このスクリプトの特徴 # # 受信・通過については基的に破棄し、ホワイトリストで許可するものを指定する。 # 送信については基的に許可する。ただし、サーバが踏み台になり外部のサーバに迷惑をかける可能性があるので、 # 心配な場合は、送信も受信同様に基破棄・ホワイトリストで許可するように書き換えると良い。 ########################################################### ########################################################### # 用語の統一 # わかりやすさのためルールとコメントの用語を以下に統一する # ACCEPT :

    俺史上最強のiptablesをさらす - Qiita
    takets
    takets 2014/06/19
  • 1