タグ

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

  • TypeScriptでNominal Typingを実現する4つの方法 - Qiita

    JavaPHPの型システムはNominal Typing(公称型)と呼ばれ、クラス名の一致で型の互換性を識別する。一方のTypeScriptはStructural Typing(構造型)と呼ばれ、構造さえ同じなら互換性ありと識別する。 例えば、次のUserクラスとProductクラスは共通してname属性を持っており、同じ構造になっている。つまり、相互に互換性がある。従ってTypeScriptではコンパイルエラーにならない。 class User { name: string } class Product { name: string } let user: User = new Product() // コンパイルエラーにならない let product: Product = new User() // コンパイルエラーにならない TypeScriptでNominal Typingを

    TypeScriptでNominal Typingを実現する4つの方法 - Qiita
  • 5分で作るclaspを使ったGoogle Apps Scriptの開発環境 - Qiita

    ❄️Google Apps ScriptはGoogleが提供するスクリプトエディタでコーディングできるが、好きなエディタを使えない、Gitで管理できない等の問題がある。そこで便利なのが、ローカルで開発できるようにしてくれるGoogle製のツール「clasp」だ。稿ではこれを使った5分程度でできるGoogle Apps Scriptの開発環境構築法を説明する。 稿ではできるだけ環境構築の手間を省くため、gas-clasp-startarを使用する。そのため稿で構築する開発環境は次の技術基盤を採用したものになる。 TypeScript Webpack TSLint, Jest, Prettier claspをインストールする yarnコマンドでインストールする。

    5分で作るclaspを使ったGoogle Apps Scriptの開発環境 - Qiita
  • Vueコンポーネントの強く推奨される名付け方 - Qiita

    Vueの公式ドキュメントが強く推奨するVueコンポーネントのファイル名の命名規則。 単一ファイルコンポーネント 単一ファイルコンポーネントのファイル名はPascalCaseかkebab-case。 mycomponent.vue、myComponent.vue MyComponent.vue、my-component.vue ベースコンポーネント 頻繁に使われるベースコンポーネント(ステートを持たないDumpコンポーネントやPureコンポーネントと呼ばれるもの)は、Base、AppまたはVで始めないとならない。 MyComponent.vue VueTable.vue Icon.vue BaseButton.vue AppTable.vue VIcon.vue シングルインスタンスコンポーネント シングルインスタンスコンポーネント(1ページにつき1個しか使われないコンポーネント)は、The

    Vueコンポーネントの強く推奨される名付け方 - Qiita
  • React Routerで認証を制御する方法 - Qiita

    React Routerで認証を制御する方法です。試行錯誤して良さそうな実装方法を発見したのでご紹介します。 アプリに認証があると、画面ごとに、 認証済みユーザのみアクセスを許可したいページ アカウント設定など 認証していないユーザのみアクセスを許可したいページ ログイン・新規登録など 認証に関係なくアクセスを許可したいページ Qiita投稿のようなパブリックなコンテンツなど の設定が必要になる場合があります。 React Routerのサンプルをいくつか見たところ幾つか認証を制御する方法が示されていました。 onEnterを使う方法 AuthenticatedComponent onEnterを使う方法 家のサンプルで例示された実装です。現在βのreact-router 1.0.0が必要になります。 function requireAuth(nextState, transition)

    React Routerで認証を制御する方法 - Qiita
  • tigでgitをもっと便利に! addやcommitも - Qiita

    皆さん、tigコマンドを活用していますか? tigは、コンソール上で使えるgitブラウザです。実はずっと、ただのきれいなgit logだと思っていたのですが、当はそんなことはありません。かなり使えるやつなのです。 インストール ソースコード: https://github.com/jonas/tig インストール方法: https://github.com/jonas/tig/blob/master/INSTALL.adoc この辺りを参考にしてみてください。詳細は割愛します。 基の使い方 この状態の差分を扱っていきます。いつものこれだとこんな感じ。 git logが素敵にビジュアライズされてます。この画面をmain viewといいます。 ここでエンターを押すと、下半分に差分の詳細(diff view)が表示されます。 下矢印で、Unstaged changesの差分を見てみるとこんな

    tigでgitをもっと便利に! addやcommitも - Qiita
  • Go言語:自分のライブラリをGitHubで公開する方法+drone.ioで継続的インテグレーション - Qiita

    この記事の目的 Go言語でライブラリを作る 作ったライブラリをリモートリポジトリパッケージとしてGitHubで公開する drone.ioで継続的インテグレーション(continuous integration 以下 CI)する Go言語のパッケージ管理 Go言語はパッケージ管理ツールが標準化されていて、依存するパッケージをGitHub上などから簡単にダウンロードすることができる。

    Go言語:自分のライブラリをGitHubで公開する方法+drone.ioで継続的インテグレーション - Qiita
  • 1