May 11, 2024 @ TSKaigi
May 11, 2024 @ TSKaigi
2024/05/11に行われたTSKaigiで発表したLTの資料です! ◎概要 TypeScriptはJavaScriptのスーパーセットとして、静的型付けと高度な型システムを提供し、大規模なプロジェクトの開発を助けています。しかし、これらの利点を最大限に活用するためには、コンパイルパフォーマンスの最適化が不可欠です。コンパイル速度を上げることでビルド時間やテスト実行時間の削減を行うことができます。今回の発表では、TypeScriptのコンパイルパフォーマンスを改善するための具体的な手法とその背後にある理論をいくつか紹介します。 ◎内容 1. TypeScriptのパフォーマンスとは何か、そしてなぜそれが重要なのか 2. コンパイル速度を改善するための具体的な手法とその背後にある理論 本資料で紹介している内容については以下の記事で詳しく記載していますので合わせて参照していただければと思いま
とある休日 娘「ねぇ、パパ!」 娘「switchやろ〜!」 ワイ「おお、ええで!娘ちゃん!」 ワイ「Switchやろう!」 ワイ「ほな、テレビをつけて・・・」 娘「テレビ?」 娘「何を言っているの、パパ?」 娘「TypeScriptのswitch文のことだよ?」 ワイ「ファッ!?」 switch文で何をしたいのか 娘「今ね、ショッピングサイトを構築してるところなの」 ワイ「ほうほう」 娘「それでね、手広く儲けようと思って」 ワイ「おお、ええやんか」 娘「個人ユーザーだけじゃなく、法人ユーザーも登録できるようにしようと思うの」 ワイ「なるほどな」 娘「言語はTypeScriptを使っているんだけど」 娘「ちょっと聞きたいことがあるの」 ワイ「おう、なんでも聞いてや」 あいさつ関数を作っている 娘「ショッピングサイトにログインしたときに・・・」 個人の場合 → 「無職 やめ太郎さん、こんにちは
// コンパイルエラー const numbers: NonEmptyArray<number> = []; // これはコンパイルが通る const numbers: NonEmptyArray<number> = [1]; const needNonEmpty = (arr: NonEmptyArray<number>) => arr.length const a: number[] = [1,2,3]; const b: NonEmptyArray<number> = [1,2,3]; const isNonEmptyArray = <T>(arr: T[]): arr is NonEmptyArray<T> => arr.length > 0; // コンパイルエラー needNonEmpty(a); // これはコンパイルが通る needNonEmpty(b); // これはコン
はじめに あくまで一個人の意見なので絶対的な解ではないというのと、どっちをデフォルトに選んでも普通にアプリケーション開発してて困ることはほぼほぼないと思うので、そこまで気を揉むことでもない、ということだけ最初に述べておいて意見をしたためます。 TL;DR アプリケーション開発では基本的に type でおk Declaration merging したい時だけ interface ライブラリ開発のような使う側で拡張したい(Declaration merging したい)時は interface とりあえずチームでどっちをデフォルトにするかは統一しといた方が気持ちいい type と interface の違い 機能的にはそんなに大きな違いはなく、個人的に判断に関わるのは次の3つかなと思います。 interface では Declaration merging がされる。type ではされない
キーワード: 型レベル整数, 幽霊型 前回の記事の予告通り, TypeScript 4.0 で次元つきの物理量の計算を安全に行うためのライブラリを作ってみました. ただし現状では PoC で, 実用に足るかまでは考慮していません. github.com 物理量についての計算を行う場合, その次元や単位系には特に注意を払う必要があります. 次元の違う値同士 (例えば質量と長さ) の足し算には意味がありませんし, 単位系の違う値同士の計算は誤った結果を導いてしまいます (火星探査機の事故が有名ですね). こういった次元や単位系の取り違えを型システムを使って静的に検出する手法については, Haskell のような型システムが比較的高機能な言語においていくつか先行事例があります (例: dimensional, units). 今回作ったものは, 同様のことを TypeScript でも実現できな
ちなみに、現在TypeScriptの最新バージョンは0.9.1となっています。 IDEの選定 候補としては、WebStorm(PHPStorm,Intellij IDEA)、Eclipse、VisualStudio、FlashDevelop、SublimeText等があります。 WindowsではVisualStudioが本家だけあって環境としては良さそうな気がしますが、自分の場合はMac環境ですので、今迄使っていたStormを使用しています。 Stormの不足点 使っている感想としては、完全にサポート出来ていない部分と、細かい設定が出来ない等不十分な部分は多々ありますが、今後解消されるのではないでしょうか。 一応不自由な部分をまとめてみました。 tscコマンドではエラーにならないが、IDE上ではエラーとして表示されるものがある 関数をfunctionとして定義した際のthisに関するエラ
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Source. ~
このテキストは JavaScript のコールバック地獄に疲れたひとのためのコールバック駆逐術指南書です。対象読者は JavaScript道初段くらいの人です。このテキストを読むと、以下のそれぞれの手段における非同期処理制御の仕組み、利点および欠点がわかるようになるかもしれません。 コールバック地獄 jQuery.Deferred async.js Concurrent.Thread generators co fibers Web Workers (※なぜか『進撃の巨人』の一部ネタバレが含まれるので注意してください) それは『何故人はコールバックするのか』という話でしょうか? 非同期処理って面倒ですよね。JavaScriptではいわゆる コールバック地獄 というやつにしばしば陥りがちです。たとえば、Ajax でふたつのファイル hoge.txt と piyo.txt を持ってきて、それら
Welcome to PWA for Beginners! Join Beth Pan and her team in this spunky 4-chapter, 17-video tutorial that walks you through building your own Progressive Web Apps that can run cross platforms and combine the best of web and native features! The DevOps Lab has been reimagined for FY22! April Edwards will continue to bring you the latest and greatest in DevOps and engage the viewers and the communit
現在、仕事でTypeScriptを使っていますが、 APIドキュメントが欲しくなってきて、 JavaDocとか、RDocとか、ScalaDocとか、みたいに 自動生成させたいなぁと思い、いろいろ試してみました。 試したツール jsdoc (npm) JsDoc Toolkit jsduck (gem) yuidocjs (npm) 試した結果 jsdoc : module以下のクラスのdocが生成できなかった JsDoc Toolkit : jsdocと同じ jsduck : docに定義されているタグが足りないとエラーになる yuidocjs : module以下のクラスもdoc生成できた と、いう訳で、yuidocjsを使ってドキュメント生成することにしました。 以下、環境構築手順と使い方についてメモしたいと思います。 環境 MacOSX 10.8.3 npm 1.2.14 types
2. 俺の名前を言ってみろ わかめ まさひろ @v vakame GoogleAppEngine Android alterJS Saturday, January 26, 13 3. アンケート • JavaScriptバリバリです • Java+Servletバリバリです • Java+Androidバリバリです • C言語ならまかせろー! • ハードウェアなら任せろー! Saturday, January 26, 13 4. 今日の約束 • 話の途中でも質問して良い • 挙手はする • JavaScriptの質問でもまぁよし • Twitterをちょっと盛る • #tsjpstudy Saturday, January 26, 13 5. Webアプリの時代 • Webアプリがどんどんリッチに • Google Maps • GoogleApps • Facebook • 大規模開発
アンダース氏が設計した新言語による次世代JavaScript開発とは?:特集:TypeScript(プレビュー版)概説(前編)(1/3 ページ) 「Turbo Pascal」「Delphi」「C#」と聞けば、ある、すご腕の開発言語設計者が最初に思い浮かぶ。その人物の名は「アンダース・ヘルスバーグ(Anders Hejlsberg)」、1996年にボーランド社からマイクロソフトに移籍し、現在はC#やVB(Visual Basic)などの言語設計に携わる有名な開発言語アーキテクトだ。 アンダース氏が作る開発言語の特徴は、言語仕様がオブジェクト指向ベースで明確なので「チームによる大規模開発」にも対応しやすいだけでなく、開発ツールによる支援機能も考慮されているので「開発生産性」にも非常に優れていることだ(と筆者は考える)。またアンダース氏は、最先端のプログラミング言語をよく研究しており、各種言語の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く