Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

マイクロソフト、「TypeScript 2.3」をリリース。コメント付きJavaScriptをTypeScriptで型チェック可能に マイクロソフトは「TypeScript 2.3」のリリースを発表しました。 TypeScript 2.3では、JavaScriptファイルにコメントを記述することでTypeScriptによる型チェックなどを行える機能が追加されました。これにより、明示的にTypeScriptのファイルを記述しなくともTypeScriptの利点をすぐに得られるようになったとマイクロソフトは説明しています。 具体的には、JavaScriptの先頭にコメントとして「@ts-check」と記入し、TypeScriptによるチェックを受け入れる旨を宣言。さらにJSDocの形式のコメントを記述することで型を宣言します。 // @ts-check /** * @param {string}
F8でもReact Fiberについての発表もあったので、気になっている人も多いReact Fiberの現状について簡単に書きたいと思います。 Reactの完全な書き換えということで、使い方も変わってしまうと思っている人もいると思いますが、内部実装の書き換えであり、利用者から見える部分ではほとんど変更はありません。 もちろん、react-fiberというパッケージをインストールするというわけでもありません。 むしろ、v16の時点では現在の実装と互換性を保たれているので、v16がリリースされた時に、v15.5を使っていればほとんどそのままv16に更新できると思います。 そして、言われなければ内部実装が変わっていることに気づかないのではないかと思います。 とりあえずどうなるのか知りたい人向けのまとめ v16では、基本的にはv15の時と同じように動作します。逆に言うとパフォーマンスもそんなに変わ
autoscale: true JavaScript情報ってなんだっけ? JSer.info 5周年記念イベント アジェンダ 情報の定義 JavaScript情報は欲しい、でも溢れてる 選択肢が多すぎる問題を切り分けする話 ライブラリコミュニティの読み方 ^ アジェンダとしては以下のような感じになっています。 JavaScriptの場合よっぽどエッジな事じゃない限り、基本的に何らかは検索すると出てくると思います。逆にここで出てくる情報が多すぎてノイズが多いとも言われます。 そういう時に何を基準に情報を分けていくのかという話をします。 最初に書いておくが答えはない ^ このスライドで何か新しい情報を得られたりはしないと思うので、若干退屈な内容になっていると思います。なので期待せずに聞きましょう 「情報」って何? ^「情報」「情報」と連呼しているので、最初にここでの「情報」の定義についてお話し
今日こんなスライドを見かけた。 djcordhose.github.io これはtypescriptとflowtypeの違いがよく分かるすごく良いスライド。 このスライドの5ページ目に以下の1文がある。 FLOW SOUNDNESS, NO RUNTIME EXCEPTIONS AS GOAL スライドに刺激を受けたのと、最近flowtypeを触っていたのもあって、これが何を指しているか書きたくなった。 実行環境 flow: 0.26.0 typescript: 1.18.10 Flowtypeのきほん 以下のjavasciptのプログラムをflowにかけてみる。 function foo(x) { return x * 10; } foo('Hello, world!'); $ flow flow.js:5 5: foo('Hello, world!'); ^^^^^^^^^^^^^^^
'use strict'; // nightmare const Nightmare = require('nightmare'); const path = require('path'); const TEST_HTML_PATH = "file://" + path.join(__dirname, "test.html"); // create global.browser = null; let startBrowser = function * (){ global.browser = Nightmare({ show: false, nodeIntegration: true }); yield browser .goto(TEST_HTML_PATH) .wait('body') .evaluate(() => { require("babel-register"); //
最近JSを利用するときは、依存モジュールはnpmを利用し、ES6やTypeScriptの仕様を開発には使った上で、ブラウザ用にコンパイルして配信するようになってきている。また同時にネットワークの負荷を下げるためにminifyを行う場合もある。 minifyはライセンスが絡むと少し難しい。例えばコメントを全て削除してしまうとライセンスコメントまで消えてしまう。この問題にはみんながそれぞれの手法で対処しているみたい。1年ほど前の記事でクライアントサイドJavaScriptのライセンス管理 | エンジニアブログ | GREE Engineering というものがあり、いろんなJSのコンパイルのためのライブラリが独自でライセンスの形式を決めていて、それにマッチしないものは消えてしまう、みたいな辛いことが起きてそうだった。 そこで今回は自分の勉強も兼ねて、npmのモジュールを含めてブラウザ用にコンパ
はじめに どうもみなさんnpm xmas!(気が早い) みなさんnpmライブラリのバージョンのアップデートどうしてますか? 方法としてはnpm-check-updatesなどが有名なのではないかと思うのですが、逐一手動でアップデートするのは面倒ですよね? そこで、自動でアップデートしてプルリク投げてくれるというgreenkeeperというのを使ってみたら非常に便利だったので紹介したいと思います! 公式サイト・リポジトリ 公式サイト: http://greenkeeper.io Github: https://github.com/greenkeeperio/greenkeeper お値段 publicリポジトリなら無制限、privateリポジトリなら1リポジトリまで無料で、それ以上は料金がかかります。 また、このの3つ以外にも$5/月のsupporterプランがあります 使い方 使い方は非
いつの間にかnpm-shrinkwrap.jsonが壊れてて、真っ更な状態から環境構築しようとするとエラーが出るようになった。 実際に出るエラーは npm ERR! install trying to install 0.9.11 to /Users/amagitakayosi/XXX/node_modules/babel-runtime/node_modules/core-js npm ERR! install but already installed versions [ '1.2.1' ] といった感じ。 このエラーは、複数のパッケージのpeerDependencyでcore-jsが指定されていて、かつバージョンがバラバラの時に起きる。 明示的に npm i -D core-js とすると直る。 あるいは、 npm i -g core-js としても直るらしい? ただ、今回はこのエ
というネタ的な Web ページを作ってみた。 iPhone 6s (Plus) の Force Touch (3D Touch) 機能を使ったネタ的なサンプル。 ⇒ Force Touch (3D Touch) sample (音が鳴るので注意) iPhone 6s (Plus) + Safari でページを表示して、空の画像を強く押しこんでから離すと、 画面が割れたような画像が表示されてガシャーンて音が鳴るだけ。 Force Touch とは何か Force Touch は Apple の開発した感圧タッチパネル技術のこと。 3月10日のアップル Spring Forward スペシャルイベントで発表された Apple Watch と新MacBook はまるで別ジャンルの製品ですが、新技術「感圧タッチ (Force Touch)」を採用した共通点があります。 アップル、次期 iPhone
アジャイル開発チーム向けのコーチングや、技術顧問、Scrum Alliance認定スクラムマスター研修などのトレーニングを提供しています。お気軽にご相談ください(初回相談無料) 全国5000人のエンジニアをやめて寿司職人になろうと思っているみなさんこんばんは。 前回までスライド共有用のアプリケーションを趣味(リハビリ)で作っていたのですが、折角なのでデスクトップクライアントも作ってみました。 構築にはElectronを使ったのですが、結構簡単にできたので記録としてまとめておきます。 Electronって何?GitHubが開発するクロスプラットフォームで動作するアプリケーションを開発するためのフレームワーク。コードの記述はHTML5とNode.js。その範囲であれば既存のWeb開発技術が使いまわせる。例えばjQueryとかAngularなんかを使うのも可能Chromeブラウザのオープンソース
(注記:7/15、いただいた翻訳フィードバックを元に記事を修正いたしました。) 子供の頃、私の興味は互いに関係性のない様々な分野に及んでいました。数学も歴史も大好きでした。 ルネッサンスマン 、つまり 博学者 と言う、複数の分野に秀でた人になりたいと思っていました。これはとても難しい課題で、私は突如として、器用貧乏な人になってしまう危機に直面したのです。 私は特定の分野に特化しなくては、と考え始めました。そうすればたとえルネッサンスマンにはなれなくても、少なくとも、器用貧乏にならなくても済むと思ったのです。どうしたらソフトウェア開発をするのに必要な広い知識を保ちながら、1つの分野で専門性を高めることができるのでしょうか。 この記事では、過去5年間、私が良いJavaScript開発者になるために使ったテクニックとリソースの概要をお伝えしようと思います。 最近の多くのWeb開発者は、ある共通の
Help us understand the problem. What is going on with this article? こんにちは、@armorik83です。私のAngularJS歴は2年弱で、これまでAngularJSに関する記事はQiitaにたくさん書いてきました。例えば次のような記事です。 AngularJSアンチパターン集 2014.9 ここらでDirective Scopeの@=&をまとめておきたいと思う 2014.9 TypeScriptで書くAngularJSのMVC 2014.2 AngularJS Directiveの処理順を網羅してみた 2014.12 他にもニッチなものやイマイチだったものも含めてけっこうな数となってきました。また、こういった記事の縁で勉強会でも登壇させて頂きました。 モダンAngularJS 2014.12 GDG中国 TypeScr
こんにちは、Misoca開発チームのmzpです。ゴールデン・ウィークは北海道で過していました。 最近、JavaScript関連の技術がどんどんでてきてますね。 それはそれとして、数年前から続いているコードベースだと、グローバル変数を利用していたりjQueryを直接利用していたりといった箇所がいくつか残っています。 Misocaでも2〜3年前に書かれたJavaScriptが不用意にグローバル変数を利用していて、メンテナンスが難しい状態になっていました。 少し前にそういったJavaScriptをからグローバル変数を除去し、メンテナンス性を向上させたので、今回はそのときの話を紹介したいと思います。 手法の選定 グローバル変数を抽出するには主に2通りの方法が考えられます。 実際にJavaScriptを実行しその前後でwindowオブジェクトに増えたプロパティを調べる。 minify等でコードが変形
Mithril 0.2が本日リリースされました。ちょっとURLが変わったり( http://mithril.js.org/ )、API名が一部(m.moduleがm.mount)変わっていたり、コンポーネント機能がコーディング規約レベルから、専用のサポートAPIが追加されたりしていますが、0.1系と大した差はなさそうです。 某node.js会長とはいろいろ社内で話をしたりしたのですが、各種ベンチマークでもトップクラス、平均的には最速のクライアントサイドMVCフレームワークという称号を持ちながら、国内ではまだまだ知られていないMithril。レンダリング速度は仮想DOMの代名詞となったReact.jsの5倍以上(ベンチマークによります)です。 ↓ホームページから転載 ちなみにこちらのベンチマークで計測すると、MithrilはReact.jsの10倍以上速い結果になるのですが、これはちょっと計
【追記150805】さらに憔悴しないための有用な記事『アカベコマイリ | gulp なしの Web フロントエンド開発』が掲載されましたので、こちらもお勧めします。 こんにちは、@armorik83です。皆さん、Grunt / gulp使ってますか。おなじみなので、ここでは説明はしません。 この記事の要点 なぜGrunt / gulpは憔悴に至るのか、経緯と問題点 npm run-scriptの仕組みについて package.jsonにscriptを羅列することに対する是非 シンプルなgulpfileについての提言 経緯 さて、先日このような記事が界隈で広まっていました。 Grunt/Gulpで憔悴したおっさんの話 この記事については同意できるところと、そうでもないところと、両方有りました。ただ、Grunt / gulpを使っていて色々歯がゆさを感じている方は昨今増えているだろうと感じます
TypeScriptリファレンスお買い上げありがとうございます! Amazon 達人出版会 TypeScript in Definitelylandもよろしくオナシャス! TypeScript 1.4.1が出ました! 今回のアップデートはかなり多くの更新を含む、大規模なアップデートであると言えます。 公式のBlogにも書かれているのは以下の通り。 型システムの改善 Union Types Type Aliases Const Enums And more... (Type GuardsとGenericsの改善) ES6構文のサポートの開始 --target es6 の追加 Let/Const Template Strings Looking Ahead (async/awaitやってるらしい) Roadmap上ではExport Language Service public APIと書かれ
古き良きインターネットアプリケーションであるマウスストーカー*1をリアクティブプログラミングの技術を活用して実装してみるという取り組みをしましたのでご紹介します。リアクティブプログラミングというと主語が大きめですが、ここではbacon.jsを使ってるくらいの意味です。 できたもの まずは完成したマウスストーカーを紹介します。チェーンのように連なった星がマウスカーソルの軌跡を辿ってついてきます。工夫してうごかすとなかなか綺麗です。下のボタンを押すと実際にこの画面でマウスストーカーを有効にすることができます(requestAnimationFrameに対応したPCブラウザのみ)。いろいろ動かして遊んでみてください。 このページでマウスストーカーを有効にする 実装 このマウスストーカーがどのように実装されているか紹介します。ソースコードはGitHubに公開していますので、適宜ご参照ください。手元
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く