BigQueryからSnowflakeへ移管して作る最強のデータ基盤 〜Data Ingestion編〜 / The Ultimate Data Platform Migration from BigQuery to Snowflake: Data Ingestion Edition
皆さんこんにちは。adingoにてFluctという広告配信システムの管理画面を中心にクライアントサイドの開発を行っております、大関です。 今回は、表題の通り、実際にプロダクトとして動いている既存のコードベースを、ES5ベースからTypeScriptに段階的に移行させた話について書こうと思います。 移行前のコードベース及び直面した課題 今年の1月頃から、アプリケーションのクライアント側の一部を、以下の構成で実際に開発しています。 言語 ECMAScript 5 主要な依存ライブラリ UI開発にReactおよびFacebook JSX syntax 統合イベントシステムとしてのRxJS テストコードのアサーションにpower-assert ビルドチェーン モジュール連結にbrowserify 環境変数に基づくビルドフラグ用途でenvify コードの解析とLintにESLint 未使用変数や未定
Updated 7/24 with some spec changes TODO: Add language about string indexers on props types turning off surplus attribute errors Up-front Requirements To use JSX expressions in a TypeScript file, you must use the tsx extension. Additionally, during compilation, you must specify a --jsx <value>. Supported values are preserve, which emits the JSX as-is (modulo TypeScript desugaring inside JSX Expres
JSX + TypeScript の悪魔合体 ギョーム的に気持ちになったので JSX + TypeScript をはじめました。 導入にあたってチーム内への説明を兼ねたブログ。AltJSに対して ES でいいじゃん派ですが、自分の型需要に対して 現状の Flowtype が辛みしかないのでやむをえず。 動機 紆余曲折あって結局 React を使うことにした React Component には JSX with Babel を使いたい(手書きは無理だ) UI 以外のロジックを持ったモジュールは型の恩恵に預かりたい Flowtype つらい TypeScript かー UI 周りは JSX で、その他の堅いロジックは TypeScript で書けばいいのでは? 共存だ!! メリットがあるのかも不明瞭ですが、分からないからこそ試してみようという感じです。JSX と TypeScript の境界
JSX-TypeScript JSX-TypeScript (GitHub: fdecampredon/jsx-typescript, License: Apache 2.0, npm: jsx-typescript) by François de Campredon is a fork of TypeScript that allows you to use React’s JSX syntax. There’s a port of the TodoMVC that uses JSX-TypeScript that shows how it works. The app.ts file, for example, has fragments of JSX in a render method, just like a typical React application. Because
前回の訂正 前回の続きでHaxe、JSX、TypeScriptの言語機能についてまとめていきたいと思いますが、その前に前回の記事の内容に訂正があります。 JSXのコンパイラはJavaScriptで書かれている。 JSXとTypeScriptの型推論に関して、関数の型が明示されていれば関数の引数と戻り値の型は省略可能。 前回の記事も訂正してあります。 では、気を取り直して前回の続きに入りたいと思います。 型パラメータ HaxeとJSXはクラスに型パラメータを持つことができます。JavaやC#のジェネリクスに相当するものです。JSXは常に非変ですが、Haxeは条件によっては共変や反変になります。TypeScriptは正式リリースまでに実装される予定があるようです。 以下、前回作ったFruitインターフェース、Appleクラス、Fujiクラスを使ったサンプルです。 Haxe class Bag<
JavaScriptを利用したWebアプリケーション開発 JavaScriptはWebアプリケーション開発において非常に重要なポジションを占める言語です。クライアントサイドにおいては、XMLHttpRequestを利用した非同期通信によるステートフルなクライアントUI作成手法がAjaxという名前で広まったことが、JavaScriptの存在を多くの開発者に見直されるきっかけとなり、以前に増して広く利用されるようになりました。サーバーサイドにおいてもnode.jsの登場により一躍注目を浴びる存在となっています。 しかし、JavaScriptは開発効率や保守性の点で問題を抱えていることがよく指摘されています。その理由は、カプセル化の難しさや、名前空間がないことによるグローバル変数の汚染、動的な型付けによる型のあいまいさなど様々です。それらは型の問題を除いて、ほとんどがJavaScriptの無名関
6. 出てくる言語 JSX・ DeNA 社製。生の JS よりも遅くならな ・ ・ いらしい (要出典1 )。JS の皮をかぶった Java Haxe・・ ・この中では最古参。JS だけでなく、 PHP や Flash、Java に C#など、様々な言語に 変換可能。手続型言語の皮をかぶった関数型 言語 TypeScript・ ・・この中では最後発。C#作った 人が設計。JS との親和性を重視している、JS の皮をかぶった C# 静的型付けの言語オンリー 1 ベンチマークが少ないので評価保留中 7. 注意そのに! これら 3 つの言語は設計思想が全く異なる JSX は最適化に重点を置いて、ばしばしインラ イン化を行う。ベストプラクティスという名の バッドノウハウを気にせずにコードが書ける TypeScript は JS との親和性を重視し、素直な JS を出力する Haxe は柔軟性があり
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く