haXe(ヘックス)は静的型付け言語で、コンパイルするとJavaScript(とかいろいろな言語)ができるらしい。JSXをいじっていたら「コンパイルするとJavaScriptが出力される静的型付け言語にはhaXeもある」を教えてもらったのでこれも試してみよう。JSXでやった「型のことを全然考えてないjQueryを使ってクリックのハンドラを付けたり色を変えたりする」というのをゴールにする。 インストールする Download - Haxe インストーラをダウンロードして起動する。特に問題なくインストール完了。 ~$ haxe haXe Compiler 2.09 - (c)2005-2012 Motion-Twin Usage : haxe -main <class> [-swf|-js|-neko|-php|-cpp|-as3] <output> [options] Options : .
「Closure Compilerを使う!」は、Googleが提供しているコード圧縮・最適化ツールであるClosure Compilerの使い方を紹介するサイトです。 このサイトのコンテンツの大部分は公式サイトやチュートリアルの記述をベースに日本語で再構成したものですが、その内容はあくまで管理人の個人的な理解に基づくものです。ご利用は自己責任でお願いします。 Closure Compilerとは Closure CompilerはGoogleが無償で公開しているJavaScriptコードの圧縮・最適化・難読化ツールです。ライセンスはApache License 2.0です。 JavaScriptのコード圧縮・難読化ツールとしては他にpackerやYUI Compressorなどが有名ですが、Closure Compilerも基本的な機能としてそれらと同等のコード圧縮機能を有しています。以下
こんにちは! JavaScript Advent Calendar、12日目のid:Molokheiyaです! ちょっとターゲットが絞られてしまうのですが、私はiOSに搭載されているSafariのWebkitを使ってJavaScriptでiPhoneアプリを開発するHow-Toを書いてみたいと思います。 ちなみにAdvent Calenderとはプログラマ有志が12/1から12/25までの間、毎日ブログ記事を書いていくという企画で師走の風物詩みたいなものです! 今年の各言語のカレンダー一覧はこちらにまとめられているので要チェック! 本日12月1日より,プログラマ有志による技術系Advent Calendarが各所ではじまる:インフォメーション|gihyo.jp … 技術評論社 さて、まずiOSアプリの開発は何よりも敷居が高いのが特徴です。技術的な意味ではなく。 iOS SDKはMac OS
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
SQL.jsはSQLiteをEmscriptenを使ってJavaScript化したソフトウェアです。 SQL.jsはWebブラウザ上で使えるデータベースです。Emscriptenを使ってSQLiteをJavaScriptに変換した面白いソフトウェアです。 デモです。テキストエリアに書かれたSQLを実行できます。 実行した結果です。最終的な結果だけが出力されています。SELECTの結果はJSONデータとして取得されています。 もちろん普通にSQLが使えます。 日本語は出力時は化けてしまいましたがデータ上は問題ないと思われます。 SQL.jsはSQLiteがそのままJavaScriptになってしまったようなソフトウェアです。慣れた使い勝手でSQLを実行したり、データを取得できてしまうのは面白そうです。なお現状Google ChromeやFirefoxにしか最適化されていません。 SQL.jsは
(追記) Version 0.3をリリースしました。 先日のjava-ja温泉で「JavaScriptは独りでヒャッハーするのには良いけど、複数人で開発しだすと途端にカオスになって苦労する」という話になった。それに対する解の一つはClosure Compilerが採用したアノテーションによる型の定義と静的チェックだろう。それとは別のアプローチで何かできないかなと考えていたら、ECMAScript 6にObjectのプロパティアクセスをフックできる仕組み(Proxy.create)があったのを思い出した。Proxy APIを使ってみたら型チェックが効くC言語の構造体みたいな物が作れたのでライブラリ化した。 hagino3000/Struct.js https://github.com/hagino3000/Struct.js これを使うと何が良いかというと obj = {}; obj.hog
大規模UIをJavaScriptで実現するためのテクニック、サイボウズkintone開発の現場から。デブサミ2012 7万行規模のJavaScriptプログラムで構築されたユーザーインターフェイス。そのプログラミングで使われたテクニックとはどういうものか。 2月16日、17日の2日間、都内で開催されたイベント「デベロッパーズサミット2012」(デブサミ2012)で、サイボウズ株式会社 開発部 若原祥正氏、生駒浩隆氏が講演「kintoneの表と裏~大規模JavaScript開発と非構造データベース」を行いました。 講演では前半に大規模JavaScriptのテクニック、後半でスキーマレスデータベース構築の仕組みが解説されましたが、この記事では資料が公開された前半のJavaScriptのテクニックについて、ダイジェストで紹介します。 7万行のコード、フレームワークはClosure Library
UTF8/16 | URL Encode / Decode 文字列の URL エンコード、デコードもできる UTF8/16 変換ライブラリ IE4+, NN4.06+, Opera6 説明 JavaScript で何かしらのビット演算、文字列の符号化、復号化するとき 日本語等のマルチバイト文字をサクサク扱えるようにできるライブラリです。 拙作の Base64encode/decode、 blowfish、 arcfour等でも利用されています。 ついでに URL エンコード / デコード も行なえます。 機能 文字列を UTF8/16 の文字コードへ UTF8/16 の文字コードから文字列へ UTF16 <=> UTF8 (文字コードの変換) URL 文字列のエンコード、デコード DownLoad Download [utf.js] URL Encode/Decode Sample 変換し
HTML5 の Drag and Drop API を使うことで、ブラウザにドロップされたファイルの情報を扱うことが出来ます。そして File API を組み合わせることで、ファイルの中身まで扱うことが出来るようになります。 そして FormData オブジェクトと XHR を組み合わせることでアップロード処理までを実装することが出来ます。完成図はこんな感じです。 今回は JavaScript の処理が中心です。jQuery を使っているので追加してくださいね。 $(function () { var uploadFiles = function (files) { // FormData オブジェクトを用意 var fd = new FormData(); // ファイル情報を追加する for (var i = 0; i < files.length; i++) { fd.append(
java-ja.js #2 : ATND 自己紹介 文殊堂といいます。 BePROUDという会社のリーダーです ↑はロケタッチの話です(ロケタッチ知らない人は4SQでMayorになったみたいな話だと思っといてください)。 弊社では今(2010年12月現在)人材募集中らしいですよ。 今の仕事はUIがリッチな業務システムを作るとかそんな感じで、 そこでRequireJSを使っています。 RequireJSって何? 公式サイト RequireJS スライド jQueryRequireJS.pdf 日本語記事だとこの辺? http://zudolab.net/blog/?p=451 要はJavaScriptの依存性解決をしてくれるライブラリです。 以前RequireJS moduleについてって記事書きました。 あらためてRequireJS moduleについて まず最初に、一般的な言語と同じよう
はじめに 2010 年 9 月 15 日を持ちまして、サイボウズ・ラボを退職いたしたました。 報告も兼ねて、久しぶりにブログを書いてみたいと思います。 (写真はゆうすけべーさんです) この会社に入って、たくさんの学びと思い出がありました。 その一つ一つをまとめていければ、素晴らしい記事になるのかもしれませんが、僕は文章が苦手です。 ですので、うまく退職のエントリを書き上げることができません。 言葉にできない。そんな感じです。 なので、このエントリはサイボウズ・ラボやサイボウズ本社の仲間たちへのありがとうの気持ちをこめて、自分らしく最後まで JavaScript のことを書きたいと思います。 サイボウズでの最後の仕事 僕にとって、サイボウズでの最後の仕事は「JavaScript で新しいユーザーインタフェースを作ること」でした。 そして、その中で始めて複数人による大規模な JavaScrip
CoffeeScript JavaScript require.js nikki Tweet JS の読込み順を征する者は なんか色々征する! with CoffeeScript ガツガツした JavaScript 案件をこなしていると、必ず直面するのが JavaSscript の読み込み順問題。 再利用性への考慮だったり、不必要なコードを読まないようにとモジュールを細分化した場合、 どうしてもその分 HTTP リクエストの回数が増えてしまいます。 ブラウザは読める物から読んでいくので、jQuery に依存しているのに先に読まれて jQuery がないと怒られるだとか、そういった経験は皆さんも一度はあるのではないでしょうか。 特に IE6 や IE7 などで、しょっちゅうそういった自体に遭遇するかと。 そのあたりをいい感じに解決するのが今回紹介する require.js です。
jQueryは互換性を保ちつつも洗練されたAPIを取り入れているので、新しく書くときは新しいAPIを使った方が良い。 liveとかセレクタの:hoverとかはBad Partsだ。 jQuery.fn.on / jQuery.fn.off live/delegate/bind/click等は滅びた。全てonを使おう。 また、data引数を使う場合は必ずdataをオブジェクトかnullにする。dataが文字列の場合、関数の場合にセレクタ等と区別がつかないからだ。 $("body").on("click", function (event) { alert("Clicked!"); }, false); また、querySelector/querySelectorAllの登場によって、:hover等のjQuery固有のセレクタは滅びた。validなCSSセレクタと、jQueryのメソッドをch
Dartのインストールが簡単になっていたので試してみたところ、Perlよりも高速だった。 なにこれ悔しい。 Dart: void main() { final t = new Stopwatch(); t.start(); final a = new List<int>(); for(var i = 0; i < 1000000; ++i) { a.add(i); } for(var i = 0; i < a.length; ++i) { ++a[i]; } var sum = 0; for(var i = 0; i < a.length; ++i) { sum += a[i]; } print(sum); print(t.elapsedMilliseconds / 1000); } Perl: use 5.12.0; use Time::HiRes qw(gettimeofday tv_
The Search for a Trusted 메이저사이트: A World of Thrills, Security, and Immersive GamingdErsPOId - December 1, 2023In the dynamic world of online entertainment, the quest for finding a trustworthy 메이저사이트, or major site, is akin to navigating through a labyrinthine digital jungle. Much like the adventurers of old scouring for hidden treasures, modern-day netizens are on the lookout for that one platform
前回 に引き続き、Microsoft のコンサルタント兼トレーナー (であるらしい) で、本も出版している (らしい) Dino さんの記事 Functional vs. Object-Oriented JavaScript Development の後半を要約してみたいと思います。 今回は、jQuery の関数型プログラミング的な側面とオブジェクト指向プログラミング的な側面、そして JavaScript で OO プログラミングをする時の2つの手法 - クロージャーとプロトタイプについてです。 私の理解不足とヘタクソな翻訳を補うため、Dino さんの論点を先にまとめると、次の様になるかと思います。 jQuery は モナド のコンセプトを採用し、表に見えるところでは関数型のメリットを最大限生かしている。一方、拡張性を重視し、内部はオブジェクト指向で作られている。 JavaScript で
http://d.hatena.ne.jp/gfx/20120223/1329996834 (o.f=o.f)()はglobalになった これの解釈はどうすれば…。 こういうのは仕様書見ればだいたい解決する。 http://www.ecmascript.org/docs.php 今回は3rdを参照しましたが5thでも同じであろう。 メソッド呼び出しは11.2.3のFunction callsなので、それを見る。 => 最初に(o.f=o.f)を評価 => =を使っているので、11.13.1 Smple Assignmentのルールに従って処理される。 => LeftHandSideExpression = o.f, AssignmentExpression = o.f => この処理の返り値は、GetValue(AssignmentExpression)である。 => 8.7.1 GetV
ご無沙汰しています。id:rokujyouhitomaです。 さてはて、PythonのStringIOモジュールをJavaScriptで実装しました。外部仕様を一緒にしたのではなく、内部仕様(プログラミング仕様)まで一緒にしました。 動機は使う予定があったから。なくても別にコーディングできるけど、抽象化したかったんで。 元コードはPyPy(Python2.7)のStringIO。 コード 書いたコードはgithubにpushしました。 StringIO 前職のRTM以来ClosureCompilerにハマっているので、ClosureCompiler向けのコードを書いています。 引用すると下記の通り。(注記。私独自のutili関数に依存してるので、万が一使おうとする方はgithubのコードを引用してください。) /** * StringIO * @see Python <a href='ht
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く