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

この記事のオリジナルは voxxed に投稿されたものです。 JavaScript関連の問題を抱えるチームをサポートする仕事を通じて、いくつか共通の問題点があることに気づきました。もしあなたもJavaScriptに対するイライラを感じているのであれば、この記事は何らかの助けになるかもしれません。おことわり:私がお教えするヒントはすでにご存知のものもあるとは思いますが、うまくいけば、多少なりとも有用な情報があるかもしれません。特にエンタープライズアプリケーションやCMSソリューションを構築する際に有効なヒントです。チームの誰もが話したがらないCMSのコードについてお話しします。いずれも必要に応じて採用できるものです。 debuggerステートメント 大半のブラウザでサポートされているにもかかわらず、JavaScriptを書く際に最も活用しきれていない機能の1つです。debuggerステートメ
もうなんかこの際マジで言わせていただくんですけど、知ってるか知らないか分かりませんが世の中にはすごい頻度で呼ばれうるDOMイベントって言うのがいくつかあるわけですよ 例えば scroll mousemove, touchmove devicemotion 辺りですよ。 で、高頻度で呼ばれるって言うことは必然的に処理量が増えるって分かりますよね?????while(1) {}じゃないとはいえUIスレッドに十分影響を与えうる頻度で呼ばれる訳です。分かりますよね???????? そうなると当然そのイベント内で重い処理を行えば人間が認識できるレベルでのレスポンス遅延が起きるっていうのはご理解できますよね? 重い処理っていうのはまぁ想像出来るとは思うんですが例えばよくあるのが DOMのレイアウトプロパティへのアクセス offsetTop、offsetLeft、offsetWidth、offsetHe
javascriptでちょっと賢いロガーっぽいのを作ったとしても、最終的にはconsole.logを使ったりすると、ログの表示箇所が全て同じファイル、行になるのでいまいち不便。 そこで、V8エンジンのブラウザだけだけど、スタックトレースを取得してログメソッドが実行された行数、ファイル名などを一緒に出力する方法を調べた。 を使えばいける。例えばこんな感じ。 Error.prepareStackTrace = function( e, st ) { return { functionName: st[0].getFunctionName(), lineNumber: st[0].getLineNumber(), //いろいろお好きに }; }; function log( msg ) { var obj = {}; Error.captureStackTrace( obj, log ); co
7月19日に行った「覚醒!JavaScript」勉強会で使用したスライドです。 http://connpass.com/event/7082/
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 結論: Javascriptの乱用をやめるのが一番。 はじめに書いておきますがしょうもない話です。 結論、開発者としてはどのような方向性でやるべきか、を書いています。 JS多い時代でのフレームワークの根本的な問題云々のことは書いてません。 さて、現状、モバイルにおいて、Javascriptでまともに動くものを作ることは難しいです。 Twitterから引き抜いた超優秀なWebエンジニアを多数抱えるMediumですら、未だにモバイルで多数のバグを抱えています。 超優秀なエンジニアを世界一抱えているであろうGoogleのGmailですら、モバ
2013-08-24 200行で作る、enchant.jsを使った簡単ぷよぷよプログラミング やり方 はじめに この前enchant.jsでぷよぷよ by おっ立ち野郎を作って公開しました。 enchant.jsで作ったHTML5+JavaScriptな「ぷよぷよ」を公開しました これを知り合いR君に紹介したところ、嬉しい事に「僕もぷよぷよ作りたい!」といってもらえました。それでぷよぷよの解説サイトをネットで見つけて紹介しようと思いました。 しかし、テトリスの解説サイトは山ほどあるのに、ぷよぷよプログラミングの解説サイトが全然ありませんでした。特に完成まで解説しているサイトは見つけられませんでした。テトリスはあるのに。 ということで、今回ぷよぷよプログラミングの完成までの解説を書いてみました。これはenchant.jsの基礎をひと通り勉強された方におすすめです。クマをちょこちょこ動かすだけ
EclipseはオープンソースによるJavaベースの統合開発環境として知られていますが、そのEclipseで新プロジェクト「Orion」が発表されました。 Orion is not a set of Java plug-ins which run in the existing Java IDE. It is browser-based open tool integration platform which is entirely focused on developing for the web, in the web. Tools are written in JavaScript and run in the browser. Orionは、既存のJava IDEに対応したJavaプラグインのセットではありません。ブラウザベースのオープンなツールの統合プラットフォームであり、Web
Follow NowというTwitterのリアルタイムフォロワー推薦ツールを公開しました。 このツール、サーバーサイド処理はこちらでは一切作っていません。HTML+JavaScript+CSSにWebAPIを組み合わせただけなのです。 Follow Nowの仕組み WebAPIとJavaScriptだけでどうやってレコメンドシステムを作っているか、というと、鍵となるのはJSONPでの出力に対応したWebAPIです。 JSONを使ってクロスドメイン通信をするJSONPでの出力に対応したWebAPIは今質量共にものすごい数に上っていて、中にはTwitterや、Yahooのキーフレーズ解析なども含まれています。これらを使うことで、かなりのことがWebAPIとJavaScriptだけでできます。 流れとしては次のようになります。 1.アカウント名をもとに、Twitterからユーザーの投稿を取得 2
HTML+JavaScriptでiPhone/Androidアプリを作れるTitanium Mobileとは:Web技術でネイティブアプリを作れるTitanium(1)(1/3 ページ) iPad/iPhone VS Androidに戸惑っているWebデザイナ/開発者のために、Web技術でネイティブアプリを作れるオープンソースの開発ツールを紹介し、その利点や使い方を連載で解説します iPad/iPhone VS Androidに戸惑っていませんか? 2010年1月5日、グーグルがAndroid 2.1を搭載した「Nexus One」を発表しました(参考:Google、Android 2.1搭載の“スーパーフォン”「Nexus One」を発表)。高精細なディスプレイや高速なプロセッサによる快適な動作など、iPhoneのライバルとしての存在感が話題になりました。また1月21日には、NTTドコモ
JavaScriptでヒアドキュメントを使うライブラリを作りました。 heredoc.js http://www.teria.com/~koseki/memo/jsheredoc/heredoc.js テスト http://www.teria.com/~koseki/memo/jsheredoc/test.html 外部ファイルサンプル http://www.teria.com/~koseki/memo/jsheredoc/tests.txt 使い方 scriptタグ内に直接書き込む使い方(インラインモード)と、外部ファイルを読み込んでコールバックを実行する使い方があります。 インラインモード <script src="heredoc.js"> # ここはscriptとして解釈されません。 str1 =<<EOT 複数行の文字列です。 下の行でおわりです。str1はグローバルになります。
Web Performance Best Practices 下記、ウェブページのパフォーマンスを最適化するポイントをまとめたものです。 キャッシュの最適化 往復遅延時間を減らす HTTPリクエストを減らす ロードサイズを減らす レンダリングの最適化 関連書籍 1. Optimize caching キャッシュの最適化 ブラウザのキャッシュを活用 JavaScriptやCSSファイルや画像などのスタティックなリソースは、HTTPヘッダを使用してキャッシュをロードするようにします。 アドバイス スタティックなリソースは全て、積極的にキャッシュにセットします。 時々更新するリソースのキャッシュには、ファイルパスにフィンガープリントを埋め込みます。 IEでも確実にキャッシュされるように、Varyヘッダは削除します。 URLを自動生成している場合は、Fxのディスクキャッシュで使用している8文字のラ
JSRuby は Javascript で実装された Ruby インタプリタです。 動作イメージ&サンプルは記事「Javascript で実装した Ruby インタプリタ JSRuby 0.1 リリースしました。」を参照していただくとして、ここでは JSRuby の Javascript 連携まわりを解説します。 JSRuby は Javascript と自然な連携ができるよう、以下の機能を持っています。 JSRuby-Javascript 間での任意の Javascript オブジェクトの受け渡し Ruby で定義されたメソッドの Javascript 側からの呼び出し JSRuby 内での Javascript メソッド実行&関数オブジェクトの呼び出し、インスタンス化 このあたりの機能を整理して使いやすくしたものを JSRuby 0.1.1 としてリリースしました。最新版の取得などは
« MyMiniCity 日本語化 | メイン | JSRuby から jQuery を使う ( Javascript 連携 ) » Javascript で実装した Ruby インタプリタ JSRuby 0.1 リリースしました。 あけましておめでとうございます。 1月からサイボウズ・ラボのオフィスが引っ越しました。新年から気分も新しくぶりぶり仕事します。よろしくです。 というわけでちょっとずつ作っていました Javascript で実装した Ruby インタプリタの "JSRuby" を一区切り付けるべくバージョン番号を付けてリリースしました。 JSRuby Project Page (CodeRepos) http://coderepos.org/share/wiki/JSRuby JSRuby Test Page https://labs.cybozu.co.jp/blog/nak
Javascript で diff というのはいくつか試された例はあるようですが、まだこれといった決定打は出ていない様子です。 実は diff は見た目ほど軽い処理ではないので、Javascript にやらせるのはこれが結構大変…… diff の計算量は、おおざっぱに言うと比較対象の要素数の二乗に比例し(実際にはそれより小さくすることができるのですが、まあ話のイメージとして)、かつメモリを大量に消費するので、バッチ的な処理に最適化されていない Javascript にはどうしても荷が重いものとなってしまいます。 比較対象の要素数を減らせば当然計算量は減りますが、行単位で比較してもあまり嬉しくない(わざわざ Javascript で処理するということは自然文が対象と思って良いでしょう)。最小の文字単位だとギブアップ。 ということは形態素解析で分かち書きして、単語単位で diff するのが J
Javascript(JScript)からSFC mini経由でWin32APIを簡単に利用できるようにするwin32api.jsを作ったので公開します。win32api.jsをインポートするとWin32APIで定義されている定数6315個、構造体クラス412個、API関数2007個がグローバル変数として展開されます。これでCなどで書かれたWin32APIなコードを比較的簡単にHTAなどのJavascriptアプリに流用できそうです。 ■経緯 JavascriptやVBScriptからWin32APIを使用できるActiveX(COM)にSFC miniというものがあります。最近ウェブ上のWin32APIを使ったサンプルコードをこのSFC miniで試していました。はじめはHTAアプリでも普通のWin32なプログラムと同じことができるということにかなり感動していたんですが、数時間でCやらV
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。 サービス統括部に所属しております、堀 邦明と申します。 普段はYahoo! JAPANトップページのフロントエンドエンジニアとして、JavaScriptやPHP,Perlといった言語を利用して開発しています。 この度、デベロッパーズサミット2009というイベントにおいてエンジニアの勉強法というテーマでJavaScriptの勉強法についてお話をさせていただきました。 今回は、そのときのお話について発表しきれなかった部分も含めてご紹介できればと思います。 勉強の分類 勉強には大きく分類して2つのステップがあると思います。 1. 情報収集 1つは情報収集です。 技術書やウェブサイト、ブログを読んだり、勉強会やセミナーに参加
ローカルアプリケーションのシェアがWebアプリケーションによって大幅に侵食されている。大抵のWebアプリケーションは無償で提供され、インターネットの特性を活かして簡単に共有できる。 ドロー系ソフトウェアの牙城もまた、崩れ去るのだろうか。脅かすのはオープンソースだ。 今回紹介するオープンソース・ソフトウェアはOpen-jACOB Draw2D、JavaScriptでVisioライクなドローを実現するJavaScriptライブラリだ。 サンプルが数多く登録されているので、ぜひ試してみて欲しい。現時点では簡易的な機能のみだが、高い可能性を感じさせられる事請け合いだ。 四角や丸といったオブジェクトの描画や、その大きさ/色の変更ができる。各オブジェクトを線でつなげば、オブジェクトを移動しても連結したままだ。また、コンテクストメニュー(右クリックメニュー)を変更する事もできる。 他にもタイマーでオブジ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く