タグ ジェネリクス
人気順 10 users 50 users 100 users 500 users 1000 usersTypeScriptの型を展開してホバー表示してくれるVSCode拡張「Prettify TypeScript」が便利
TypeScriptは強力な型システムが魅力です。 しかし、複雑な型定義は理解が難しいです。特にライブラリの型定義などはジェネリクスや交差型などがネストしていることも多く、すぐに把握するのが難しい場合があります。 Visual Studio Code(以下VSCode)でTypeScriptの開発をしている際、型にカーソルをホバーすると型情... 続きを読む
ジェネリクスを導入した「Go 1.18」が公開 ~「Go」言語の仕様変更としては過去最大級/ファジングの標準対応やApple M1/ARM64でのパフォーマンスアップにも注目
TypeScript: <T>の書く位置チートシート - Qiita
この投稿はTypeScriptのジェネリクスの型変数(type parameter)をどこに書くのかのチートシートです。 <T>の書く位置まとめ 関数宣言 関数式 アロー関数 メソッド宣言 関数型 コンストラクタ型 関数シグネチャ コンストラクタシグネチャ: 引数リスト()の直前 クラス宣言 インターフェース宣言 型エイリアス: 識別子の直後... 続きを読む
Go 1.17連載が始まります: コンパイラとgo mod | フューチャー技術ブログ
前回のフューチャー技術ブログで行ったGo 1.16連載に引き続き、今回もGo 1.17の集中連載を行います。 Go 1.17のリリースの足音が聞こえてきました。1.16のgo:embedのような「うぉっ」と声が出るような大きな新機能はなく、APIが変わらずに勝手に改善されるようなものと、小粒なAPIの追加が多い感じです。ジェネリクスは... 続きを読む
ジェネリクス引数の構文的曖昧性まとめ
ジェネリクスを持つ多くの言語では括弧の種類が足りなかったり、既存の文法との互換性を保つために <> をジェネリクス引数に使っている。この文字は比較演算子やシフト演算子にも使われるため、多くの場合は構文的曖昧性の問題がある。 // ジェネリクス引数 (convert<int, string>(number)) // 比較演算子 (score < MAX_... 続きを読む
Rust 1.51を早めに深掘り - OPTiM TECH BLOG
こんにちは、R&Dチームの齋藤(@aznhe21)です。書きたい記事がいっぱいあるのに時間が取れません。悲しい。 さて、本日、日本時間3/26(金)、Rust 1.51がリリースされました。 この記事ではRust 1.51での変更点を詳しく紹介します。 3/26は普通選挙法成立の日 ピックアップ ジェネリクスの引数として定数を使えるように... 続きを読む
Swift - プロトコルが型になるとき
@koher さんの記事、なぜSwiftのプロトコルはジェネリクスをサポートしないのかにおける議論は改めて記事にするだけの価値があるのでそうすることにします。 君の型は? まずは以下のコードをご覧ください。 import Foundation protocol Animal { var binomen:String { get } init() } struct Cat: Animal { let binomen ... 続きを読む
ジェネリクスと配列 - プログラマーの脳みそ
Javaのジェネリクスは一般に配列と混ぜてはいけないとされるが、混ぜて用いた場合に何が問題となるのか。 歴史的な問題 Javaが1995年に登場した当時、Javaに配列はあったがジェネリクスはなかった。 1990年代から2000年代にかけてJavaのバージョンアップの時期に並行して、ジェネリクスを含む型システムの理論的な整備が行われていた。これはJavaが産まれた当初時点1995年になぜより良いジ... 続きを読む
Javaのジェネリクスは「まがい物」ではない - kmizuの日記
2017 - 09 - 24 Javaのジェネリクスは「まがい物」ではない 先日、自分が書いた kmizu.hatenablog.com に対する反応として、「 Java のようなまがい物の ジェネリクス と比較するのは適切でない」「 Java の ジェネリクス と比較するのは適切でない」(おそらく C# 等の言語と比較して)といった コメントをいくつか見かけました( はてなブックマーク コメント... 続きを読む
Go が for ループをやめるために足りないもの - methaneのブログ
2017 - 09 - 24 Go が for ループをやめるために足りないもの golang ジェネリクス の話題になると常に出てくるのが、 for ループの代わりに関数型スタイルで書きたいという要望です。 for ループで書くのは、可読性が悪く、筋力がいるとまで言う人もいます。 しかし、 ジェネリクス が追加されても、このスタイルのプログラミングは実用的にはなりません。 ジェネリクス 以外にも... 続きを読む
Re: Re: Go にジェネリクスがなくても構わない人たちに対する批判について - methaneのブログ
2017 - 09 - 22 Re: Re: Go にジェネリクスがなくても構わない人たちに対する批判について golang kmizu.hatenablog.com Twitter である程度レスをしたのですが、やはり繰り返される話題なので残る形で書いておきたいと思います。 Goユーザーの中で、 ジェネリクス がなくても構わないと主張するユーザーへの批判はしたけど、Goユーザー全てがそうだと思っ... 続きを読む
Re: Go にジェネリクスがなくても構わない人たちに対する批判について - kmizuの日記
2017 - 09 - 21 Re: Go にジェネリクスがなくても構わない人たちに対する批判について 先日自分がGoについてつぶやいたものが、 id:methane さんに捕捉されていて、それに対する反論記事 methane.hatenablog.jp があがっていたので、それに対する所感を書いてみました。 前置き Goや言語批判に関するスタンスを誤解されると嬉しくないので、最初に書いておきます... 続きを読む
Go にジェネリクスがなくても構わない人たちに対する批判について - methaneのブログ
2017 - 09 - 19 Go にジェネリクスがなくても構わない人たちに対する批判について golang なんども繰り返される話でうんざりなんだけど、繰り返されるたびに反論するのもアレなので、URL貼れるように記事にしておく。 Goが頑なに ジェネリクス いらないというだけ他の言語勢から失笑買ってるというのは自覚して — {{alert()}} (@mizchi) 2017年9月19日 頑なに... 続きを読む
実践的なアプリケーションを書いてみよう! Rustの構造化プログラミング【第二言語としてのRust】 - エンジニアHub|若手Webエンジニアのキャリアを考える!
2017 - 07 - 19 実践的なアプリケーションを書いてみよう! Rustの構造化プログラミング【第二言語としてのRust】 Rustを使って、実際にアプリケーションを3つ書いてみましょう! その前に、プログラムの構造化に必要な手法、ジェネリクス、構造体、列挙型、それにトレイトといった概念についても説明します。 Rust 第二言語 プログラミング言語 Tweet 前回の記事 では、Rustの... 続きを読む
シグネチャに、T とか、K とか書いてあると API そっ閉じしちゃうジェネリクス フォビア向けに、Java の総称型を説明してみた - KUSAMAKURA
2017 - 01 - 10 シグネチャに、T とか、K とか書いてあると API そっ閉じしちゃうジェネリクス フォビア向けに、Java の総称型を説明してみた Java 総称型(ジェネリクス)とは 総称型の書き方 クラス メソッド コンストラクタ 総称型のネーミング ワイルドカード(非境界ワイルドカード) extends と super(境界ワイルドカード) <? extends T>(上限付... 続きを読む
Go と reflect と generate - Qiita
この記事は Go Advent Calendar 2015 5 日目の記事です。 はじめに Go にはジェネリクスがありませんが、任意の型に対して共通の処理を提供したいことがあります。 例えば ORM ライブラリで User テーブルと Blog テーブルを struct で表す場合を考えてみます。 type User struct { Id int64 Name string Email str... 続きを読む
Objective-Cより柔軟かつ安全なプログラミングを可能にするSwiftの「ジェネリクス」 (1/4):CodeZine
ジェネリクスは、静的型付きプログラミング言語で、セットやタプルといったオブジェクトの集合(コレクション)の基盤となる言語機能です。ジェネリクスにより、型の安全を維持しつつ、1つのコレクション定義で多様なオブジェクトの集合を扱うことが可能になっています。今回はSwiftにおけるジェネリクスについて解説します。 ジェネリクスとは さまざまなデータ型に共通のアルゴリズムや処理を型引数を用いてクラスや関数... 続きを読む
堅牢で使いやすいAPIクライアントをSwiftで実装したい
昨年末にはてなの@cockscombさんと@yashiganiさんがつくっていたSwiftでenumとジェネリクスを活用したかっこいいAPIクライアントを書くが 面白かったので、これを参考にしつつSwiftらしい堅牢で使いやすいAPIクライアントを考えてみました。 目標としたのは以下の3つの条件を満たすことです。 レスポンスはモデルオブジェクトとして受け取る (便利) 個々のリクエスト/レスポンス... 続きを読む
Mapの置換にみるジェネリクス表現 - プログラマーの脳みそ
Java, Generics | 23:47 | Javaのジェネリクスについて考察するのに丁度良いテーマを見つけたので忘れないうちに書いておく。Map を Mapに変換するメソッドを作るという話題。 public static Map swap1(Map origin) { // 略 } 単にMapからMapに変換するなら上記のようなメソッドシグネチャでよい。ここで、Mapの具象型を帰すようにし... 続きを読む
Swiftでenumとジェネリクスを活用したかっこいいAPIクライアントを書く - Hatena Developer Blog
2014-12-16 Swiftでenumとジェネリクスを活用したかっこいいAPIクライアントを書く はてなエンジニアアドベントカレンダー2014 この記事ははてなエンジニアアドベントカレンダー2014の16日目です。昨日はid:nobuokaによる「【Retrofit を読む】 利用者が定義したインターフェイスに実装を提供する Java ライブラリの作り方 【リフクレション】」でした。 こんにち... 続きを読む
TypeScript - ジェネリクスの使いどころを考えてみる - Qiita
この記事はTypeScript Advent Calendarの6日目の記事です。 この記事では、主にTypeScriptの型定義ファイルを作成する時、どのようにジェネリクスを使うと良いのかを、jQuery の型定義を元に考えてみます。 とは言ってもあまりTypeScriptの文法面に詳しいわけではないので、むしろ学習メモですが... 動機 TypeScriptでは DefinitelyTyped... 続きを読む
Swiftの事を隅々まで知ることができる技術書「詳細 Swift」発売へ
「詳解 Objective-C 2.0 第3版」で有名な荻原 剛志氏の新しい技術書「詳細 Swift」が発売されます。現在予約受付中で、発売日は2014年12月11日。価格は3,456円です。 内容紹介によると「詳細 Swift」の内容は、Swiftの基礎、関数、構造体、オプショナル、基本的なデータ型、パターン、演算子、クラスと演算子、メモリ管理、プロトコル、拡張、クロージャ、ジェネリクス、C/O... 続きを読む
待望の『Swift入門 (全24回)』をドットインストールに追加しました #dotinstall | IDEA*IDEA
待望の(ですかね?)「Swift入門」をドットインストールに追加しました。新しい言語ゆえに詳しい人に聞きながら作っていたら時間がかかってしまいました・・・。プレミアム専用ではありますが、がんばって作りましたので是非ご覧ください。 ↑ Playgroundを使って学習していきます。 ↑ ジェネリクスやOptionalなどにも言及しています。 なんだかんだ全24回と少し長めですが、Swiftの全容を知... 続きを読む
new T()したいケースへの対処法 - プログラマーの脳みそ
Java, Generics | 00:04 | Javaのジェネリクスの話題のひとつにnew T()したいができないので困る、というテーマがある。先日のセッションではこの対策についても簡単に述べたが今日はそのまとめ。まず第一に疑うべきは本当にnew T()する必然性があるか?というのが持論だが、ある種のフレームワークではその必然性がある。O/RマッピングのフレームワークでPOJOにデータを詰めて... 続きを読む
ジェネリクスの基礎と クラス設計への応用
ã¸ã§ããªã¯ã¹ã<sup>®</sup>åºç¤ã¨ ã¯ã©ã¹è¨è¨ã¸ã<sup>®</sup>å¿ç¨ Presentation Transcript ジェネリクスの基礎と クラス設計への応用 2013 年版 Twetter : @nagise はてな : Nagise 所属 java-ja 北陸エンジニアグループ 導入 Java ... 続きを読む