[追記] Node.js 14 から警告なしに拡張子 .mjs は export / import できるようになります。 背景Ecma 262 + JScript でユニットテストを書いて から 10 年以上が経ち、途中 Rails 3 + CoffeeScript いいじゃないか、Underscore.js いいじゃないか期を経て現在は ES2015 が標準で当たり前ですよね、な時代になった。 ES2015 自体はなんでもかんでも式になってくれないと CoffeeScript の代わりにはならないよ、return 書くの面倒くさいよという気持ち以外はまぁそんなもんかなという程度の理解だったんだけど、Mithril を試した時 のように無理やり Browserfiy で CoffeeScript を挟んだりせずにそろそろ 素直に ES2015 をフルに使って書きつつ、それ以外に本当に必要
Node.jsをせっかく使ってるなら、面倒な作業はもっとラクにしちゃいましょう。Gitリポジトリの初期化のステップを省力化するアプリを例に、コマンドラインアプリの作り方を紹介。 本記事は、Dan Princeが査読を担当しています。最高のコンテンツに仕上げるために尽力してくれたSitePointの査読担当者のみなさんに感謝します。 Node.jsは「伝統的な」Webアプリケーションでものすごい威力を発揮しますが、その潜在的利用価値はずっと広範におよびます。マイクロサービス(Microservices)、REST API、ツール、IoT、さらにはデスクトップアプリケーションでの作業においてさえ、強い味方になってくれます。 Node.jsが大いに活躍する別の分野は、コマンドラインアプリケーションの構築です。記事ではこの点を紹介します。はじめにコマンドラインでの作業に役立つように設計されたサード
時代はECMAScript 2015(ES6)とはいえ、実はまだES5も追いかけられていない、使いこなせていない…という開発者も意外と多いのでは? ES5のArrayメソッドを使ってメンテナンスしやすいコードを書く実例を紹介。 JavaScriptのメリットは多様なプログラミングスタイルを選べることです。オブジェクト指向、命令型、関数型のプログラミングもできます。さらに、必要性、好み、チームの意向に応じて、スタイルの切り替えもできます。 JavaScriptは関数型の書き方をサポートしてはいるものの、HaskellやScalaといった言語のように純粋な関数型プログラミングには最適化されていません。JavaScriptのプログラムを100%関数型にはできませんが、関数型プログラミングのコンセプトを使うと、コードがきれいになるだけでなく、簡単に再利用でき、テストしやすくバグを減らしやすいコー
* はじめに!! お疲れ様です!JavaScript大好き、ぴーすけです! みなさんはJavaScriptのイベントについて、詳しく説明ができますか? 正直、私はいまいちわからずにコーディングしていたのですが、これじゃあいかん!と思い色々調べていたところ、「イベントバブリング」という単語に行き着きました。 イベントの伝播を理解するには必要な知識だと思うので、私のわかる範囲でまとめてみたいと思います。 * そもそもイベントってなんなんだよ!! まずはこれが気になりました。イベントってなんなのよ。 以下の考え方はあくまで私の見解です。間違っていたら指摘をしていただけると嬉しいです。詳しい人がいたら教えてください!! イベントとは JavaScriptでよく「イベントを設定する」とか言うけど、なんかおかしいなーとおもっていたんですよね。だってイベント自体は自分で定義していないですよね? イベント
こんにちは、虎塚です。 2017年3月1日(水)のBlack Beltオンラインセミナーを受講したので、レポートします。今回のテーマは、Amazon Athenaです。 講師は、アマゾンウェブサービスジャパン株式会社のソリューションアーキテクト、志村誠さんでした。 Amazon Athena概要 Amazon Athenaは、一言でいうと、S3上のデータに標準SQLでインタラクティブなクエリを投げて、データ分析ができるサービス。 2016年11月に開催されたre:Invent 2016で発表された。現時点では、バージニア北部、オレゴン、オハイオリージョンで利用できる。 Amazon Athena – Amazon S3上のデータに対話的にSQLクエリを | Amazon Web Services ブログ 内部では、分散クエリエンジンのPrestoと、Hive Metastore互換のデータ
ども、大瀧です。 CloudFrontのログをAthenaで効率良く見たいと思い、Parquet形式に変換する手段としてOSSのバルクローダ EmbulkをEC2上のDockerで実行してみました。その様子をレポートします。 Apache Drillで変換する様子は石川のエントリーを参照ください。 Amazon Athena: カラムナフォーマット『Parquet』でクエリを試してみた #reinvent | Developers.IO Dockerイメージの設計、作成 Dockerイメージの作成はそれぞれのDockerfileをGitHubリポジトリにアップロードし、Docker Hub Automated Buildを利用しました。 作成されたDockerイメージは公開されているので、試したい方は記事後半の動作確認の手順に従い、イメージをダウンロードしてご利用ください。 Embulk実
Visual Studio Code + TypeScript + ApexでAWS Lambdaファンクションを開発する Visual Studio CodeにはIntelliSenseという強力なコードアシスタントの機能が備わっています。AWS Lambdaファンクションの開発でもこのIntelliSenseの恩恵をフルに受けたいと考え、TypescriptでAWS Lambdaファンクションを開発する環境を整えてみました。 やること TypeScript → JavaScriptへのコンパイル〜Lambdaファンクションのデプロイまでをシングルコマンドで行える環境を整えます。 Lambdaファンクションのデプロイについては、Lambdaファンクション本体と依存パッケージ一式をバンドルする方法として以下の2通りの方法をご紹介します。 zipで固めてデプロイ webpackで1ファイルに
JavaScriptがやっぱりよく分からない 使ってるうちに分かって来るだろう・・・と思いながら使ってきた。だけどやっぱりなんだかモヤモヤしてて分からない部分がある。混乱したら、ググって解説を読む。しばらくしたらまた忘れてまた調べる。その繰り返し。 しかもどうやら記事によっては不完全だったり間違っていたりして、むしろさらに混乱を深めるのに役立っているような気がする。 つまり、ハマってしまったってこと。 こういう時は体系だてて、ゼロから積み上げて学習するのが一番の近道だったりする。 混乱したら仕様を読むべし まず、参考にする情報は「JavaScript language specifications (言語仕様)」をメインとする。 ECMAScript Language Specification - ECMA-262 Edition 5.1 なんといっても、いろんな「JavaScriptの
The Web MIDI API allows web applications to access MIDI devices for real-time music control. It was developed by the Chromium Projects starting in 2013, with implementations in Chrome since 2014. While available on several platforms and versions, it continues to be improved with better device detection, updated specifications, and future support for new JavaScript features and use cases.
Data Science in Python, Volume 2: Data I/O, Jupyter Notebook, GUI, Deployment, Numeric Programming, High Performance Python (English Edition)posted with カエレバAlexander Stepanov 2016-04-25 Amazonで探す楽天市場で探すYahooショッピングで探す 目次 目次 はじめに Python JITコンパイラライブラリ Numba Numbaのインストール Numbaの速度比較 引数の指定 GPUの利用 最後に 参考資料 MyEnigma Supporters はじめに Pythonは言語的にも、 エコシステム的にも大好きなのですが、 いかんせん、複雑で大規模なシステムを作ると、 速度が遅いのが気になる時があります
class createStore: """ほんとはシングルトンにしないといけないけどわかりづらくなるのでやめた 関数にした場合は、Pythonだと "JavaScriptでは全然考えられてないローカルスコープ" で大変そうなのでクラスにした""" def __init__(self, reducer): self._state = None self._listeners = [] self._reducer = reducer def subscribe(self, listener): self._listeners.append(listener) def unsubscribe(listener): self._listeners.remove(listener) return lambda: unsubscribe(listener) def dispatch(self, ac
こんにちは、研究開発部の山田(@y_am_a_da)です。 去る2月16日、「Cookpad Tech Kitchen #5 クックパッドにおける最近の機械学習について」と題して、機械学習に関わっている方々向けの技術交流イベントを行いました。 https://cookpad.connpass.com/event/49324/ 定員が70名のイベントでしたが、告知してから30分ほどで応募者数が定員超えの100人近く集まり、最終的には400人を超す方々にお申込みいただきました。これまでに開催したTech Kitchenの中でも過去最高の申込数であり、機械学習への関心の高さを感じました。 昨年7月に発足したばかりの研究開発部では、現在クックパッドに投稿されている250万品以上のレシピを始めとするさまざまなデータに対して、機械学習を活用したサービス開発を行っています。このイベントでは、研究開発部の
JavaScriptにおいて、XMLHttpRequest(XHR)に代わるAPIとして、Fetch APIというものが提供されるようになりました。XHRと同等の機能を提供しますが、Fetch APIはよりシンプルで強力です。使い方を学んでみましょう。 基本的な使い方 Fetch APIはPromiseベースの簡単なAPIです。リクエストするにはfetch(url)を呼び出すだけです。 fetch('file.txt') fetch()メソッドはPromiseを返します。PromiseはResponseオブジェクトとして解決されます。返ってきたPromiseを実際に処理してみましょう。 fetch('file.txt') .then((response) => response.text()) .then((text) => console.log(text)) .catch((error
新しいニューラルネットワークのアーキテクチャがその時々で誕生するため、それら全部を把握することは困難です。全ての略語を覚えようとすると、最初はその数の多さに圧倒されてしまうでしょう(DCIGNやBiLSTM、DCGANを知っている人はいますか?)。 そんなわけで、これらのアーキテクチャの多くを盛り込んだチートシートを作ることにしました。そのほとんどはニューラルネットワークです。しかし、中には全く異なるアーキテクチャも潜んでいます。どれも独特で目新しいアーキテクチャばかりですが、ノードの構造を描くことで基本的な関係が分かりやすくなってきます。 これらをノードマップとして描くことの問題点は、これらがどのように使われるかを明確に示していないという点です。例えば、変分オートエンコーダ(VAE)はオートエンコーダ(AE)と同じように見えますが、実際は訓練過程が全く異なりますし、訓練したネットワークの
(当日はesaのプレゼンテーションモードで発表しました) (文字起こししてもらえました ちゃんと復旧できる、GitLabのバックアップ運用方法 – GitLab meetup #01レポート - pixiv inside) 自己紹介 各種SNSをcatatsuyでやっている かたついと呼ばれることが多い 会社のアドベントカレンダーで GitLabの運用方法をドーンと公開!! - pixiv inside http://inside.pixiv.net/entry/2016/12/17/100000 を書きました ピクシブ株式会社で開発基盤チームと広告チームの兼任 pixivの改善が主な業務 単著『pixivエンジニアが教えるプログラミング入門(星海社新書) ピクシブ社内の非エンジニア向けのプログラミング研修の書籍化 pixiv社内ISUCONやISUCON6本選の問題作成 GitLabとは
いろんなアイデンティティ管理系製品やサービスの実験の記録をしていきます。 後は、関連するニュースなどを徒然と。 こんにちは、富士榮です。 明治大学の情報セキュリティ研究室が公開している「OAuthの仕組み丸分かり体験サイト」が話題になっているので、少し内容を見ていこうと思います。 ※決してディスっている訳ではありません。敬遠されがちなOAuthなどの仕組みを簡易に解説しようとする取り組みは非常に大切だと思いますし、私も常に悩むポイントの一つです。 OAuthの仕組み丸分かり体験サイト https://www.saitolab.org/oauth/ 尚、最初の公開後、かなり修正が入っていて誤解を招く部分はかなり減っており、投稿するのをやめようかと思ったのですが、逆に課題認識の部分がぼやけてしまったところもあるので、あえて投稿してみます。 中身ですが、元々は所謂OAuth認証問題です。一番残念
Intro textarea などに入力された文字数を、 JS で数えたい場合がある。 ここで .length を数えるだけではダメな理由は、文字コードや JS の内部表現の話を理解する必要がある。 多言語や絵文字対応なども踏まえた上で、どう処理するべきなのか。 それ自体は枯れた話題ではあるが、近年 ECMAScript に追加された機能などを交えて解説する。 なお、文字コードの仕組みを詳解すること自体が目的では無いため、 BOM, UCS-2, Endian, 歴史的経緯など、この手の話題につき物な話の一部は省くこととする。 1 文字とは何か Unicode は全ての文字に ID を振ることを目的としている。 例えば 😭 (loudly crying face) なら 0x1F62D だ。 1 つの文字に 1 つの ID が割り当てられているのだから、文字の数を数える場合は、この ID
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く