Code Archive Skip to content Google About Google Privacy Terms
なんかPerlのblessっぽい。 JavaScriptのnewって本当にいらない子?(http://d.hatena.ne.jp/jdg/20090706/1246840565) というよりperlのnewっぽい。なぜか。 classでクラスを定義してnewでインスタンスを生成する言語を「一般的オブジェクト指向言語」とすると、 一般的オブジェクト指向言語とjavascriptの似ていないところはclassがないところ。一般的オブジェクト指向言語とperlの似ていないところはnewがないところ。つまり、javascriptでnewを(直接)使わず、class(のようなもの)を作ればperlっぽくなる。 そもそもnewって何するの?オブジェクトを作る。オブジェクトを作るには3つの動作が必要である。 領域を作るクラスと結びつける初期化する通常は言語仕様でこれらを行う"new"という命令が用意さ
先日、「JavaScriptのオブジェクトについて考察してみた - あと味」を書いてから、chikuraさんからコメントいただいたり、id:dankogaiさんから「404 Blog Not Found:javascript - にはクラスはない」という記事で言及いただいたり、JavaScript: The Good Partsを読み返したりした結果、newについて調べたいという衝動にかられましたので、その調べた結果を書いてみたいと思います。 newを調べようと思ったキッカケを整理 まずは、そのキッカケから整理します。 chikuraさんのコメントより 押さえるべきポイントは、new演算子の際に何が行われるか?だと思うので、こちらのページもぜひ読んでみてください。 JavaScript の new 演算子の意味: Days on the Moon http://nanto.asablo.j
はじめに JavaScriptのswitch文は、CやJavaと異なりcaseのところに任意の式が書けるため、実行時にcaseの式も評価されるので基本的にはif-else文の並びと類似のものになります。つまり、caseの数に応じてパフォーマンスも低下すると予想されます。本当にそうなのか確認してみました。 測定した各ブラウザのバージョンは以下の通りです。 Firefox Chrome Safari Opera IE 3.5.6 4.0.249.30 4.0.4 (531.21.10) 10.10 8.0.6001 caseが数値リテラルの場合 パフォーマンスを測定するテストコードは下記のような簡単なものです。caseが1000個あるswitch文を10万回繰り返して実行したときの時間を測定しました。perf_test()関数の引数vに与える値に応じてcaseの条件で一致する場所が変わります。
カスタムコントロールの追加 課題 自作のアプリケーション向けにカスタムクロームを作りたい。ユーザーがアプリケーションのクローズと最小化をできるようにしたい。 対策 最小化ボタン、クローズボタンの機能を組み込むには、Adobe AIRのネイティブウィンドウAPIを使ってください。 考察 Adobe AIRでは、開発者がアプリケーションのウィンドウクロームを全面的に定義しカスタマイズできます。とはいえ、通常起こりうる様々なウィンドウイベントは、アプリケーションに管理が任されているという点を念頭に置いてください。つまり、各種のビジュアル要素をそれぞれのシステムイベントと結びつけるということです。 アプリケーションのメインウィンドウにあたるNativeWindowインスタンスは、メインのHTML DOM内からは直接アクセルできません。AIR APIを使えば、HTMLコントロールから抜け出し、ス
古いエントリーなのですが、まだ時折検索エンジン経由?でいらっしゃる方がいるみたいなので追記 Titanium Desktopは今はTideSDKと変わってオープンソースプロジェクトになっています。 いいたい事を先に。 Ruby,Python,PHP,JavaScriptやってる人でデスクトップアプリ作成に興味ある人は Appcelerator Titanium Desktop さわってみるといいと思います。OS X, Windows,Linuxとマルチプラットフォームなデスクトップアプリをhtml,JavaScript,Ruby,Python等の慣れ親しんだ技術で簡単に作成、公開することができます。 予想以上にブクマされてるみたいなので、Titanium Desktopの特徴を箇条書きですが追加しておきます。 一言で言えばJavaScriptで記述するAdobe AIRのようなRIAフレー
前回に引き続き、Wikipediaから緯度経度を取得しGoogle Maps上にプロットするアプリケーションを作っていきます。 今回は透過的なキャッシュの仕組みを入れるのと、geolocation APIを用いて、データのロードが終わり次第自分の近くのマーカーを表示させてみたいと思います。 完成コードは以下のようになります。 今回作成するサンプル(完成品) 透過的なキャッシュ キャッシュのための領域として、localStorageというものを使います。これはFirefoxやSafariなどで実装済みの、簡単にいってしまえば大容量のCookieみたいなものです。 localStorageは同期的に値を取得やセットをできますが、キャッシュするデータはXMLHttpRequestで取得される非同期なデータです。この二つの条件分けを最小限にして実装するために、JSDeferredを間に挟むことにし
要素セットに対してフィルタリングしたり、親子・兄弟関係にある要素を取得したりするメソッドについてまとめた、すぐに役立つ13本を一挙公開。 連載目次 このシリーズでは、jQueryの基本機能を目的別リファレンスの形式でまとめています。リファレンスという性質上、本稿では入門レベルからの解説は行っていません。jQueryの基本、また、Visual StudioでjQueryを利用する方法などについては、拙稿「ASP.NETプログラマーのためのjQuery入門」も併せて参照してください。 さて、第3回となる今回は、トラバーシング(Traversing)編。「Traverse」とは英語で「行き来する」という意味で、jQueryの場合、$()関数で取得した要素セットに対してさらに絞り込みをかけたり、相対的な親子/兄弟関係にある要素を取得したりすることをいいます(要は、要素間を行き来する、というわけです
切符の問題 切符の裏に印刷してある4桁の数字を4つの数字と考えて、足し算と引き算だけで10を作るゲームの解き方。 例えば、1,2,3,4の場合は1+2+3+4=10。 プログラム的には、 prob([1,2,3,4]); // [{plus: [1,2,3,4], minus: []}] こんな感じに返ってくるようにしたい。 まず、2,4,5,7から10を作る場合。2+4+5+7=18であるので、上記の式のいくつかの符号を-にすればいいことが分かる。一つの数字を引くと、18を出す時に最初に足した分と、今引こうとしている分の2つ引かなければならないから、逆算して、(18-10)/2=4を引けばいいと分かる。 この場合、合計が4になる組合せは、4そのものしかないから、2-4+5+7=10、が答えと分かる。 (合計-10)/2が引く数の合計で、それ以外が足す数である。2で割っているので、全部の数
週末料理をしていて足を切ってしまいました。agoです。 以前Perlは書いていたんですが、その頃以下の記事を読んで非常に感銘を受けました。 Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー 当時あまりコミュニティとのつきあいがなかったので、「自分のスキルの絶対位置」、「次のレベルへ行くために必要なもの」を知ることで非常に安心感を感じた記憶があります。 いま確認したところ、「JavaScriptプログラマのレベル10」はないようなので書いてみました。 Perlプログラマ Schemeプログラマ Rubyプログラマ (本家に直接リンクできるURLが無かったため、参照ページへリンクしています) haskellプログラマ 堕落したCプログラマ HTML知識レベル プログラマレベル 企業法務 JavaScriptの業務スキルレベル 判別表 (5
私が作ったわけではなく海外の記事です。自分も学習してみました。 phpスポーツ啓発日誌や、コカトリスさんや、アイスクレアームパラダイスさんのような、品質の良い訳は私にはできませんので見出しは意訳もしくは誤訳、文章は無視して訳してません。かつ、私がいろいろコードや文章つけたしてます。内容的にはほとんどズレてはないと思いますが、適当なのでおかしいところがあるかもしれません。 うっとうしい場合は原文をどうぞ。 24 JavaScript Best Practices for Beginners 1. 等価演算子で==使うなよボケ===だろナスチン野郎 ひぃぃぃ。 ==|!= だとねー、型は自動に変換されるんすよねー。ねー。 s = '1'; i = 1; alert(s == i); // true alert(s === i); //false えーと、==は「わし、数値も文字列も中身が一緒だ
もっと便利に!jQueryでラクラクサイト制作(実践サンプル付き) 第10回今すぐできる!ユーザビリティを向上させるフォーム操作実践(2):プラグインを使わずにバリデーションを実装 バリデーションをプラグインを使わずに実装する フォームは主にコンバージョンに直結する場合が多いと思いますので、ユーザビリティを向上させる、つまりユーザーに最後まで入力してもらえるようなフォーム作りはとても重要です。 どのような機能を持って使いやすくするのか、にはそのサイト自体のターゲットユーザー層を認識した上で盛り込む必要がありますが、どんな方法で使いやすくできるのかは知っておいて損はありません。 前回は、ラベル要素を利用して、直感的に分かりやすくする方法を紹介しましたが、今回・次回にかけては少し突っ込んでJavaScriptで行うバリデーション(※1)を実装してみたいと思います。 入力された文字列をチェックす
pha 様の以下のページが超人気っぽいです。bot を作りたいと思ってる人って結構いるのかしら? プログラミングができなくても作れるTwitter botの作り方 こちらで紹介されてる内容は、レンタルサーバで PHP 動かしてって感じで「bot とかよく分からんけどとりあえず試しに動かしてみたいような気がちょっとした感じ」ぐらいに思ってる人にはちょっと敷居が高そうだったので、グリモンで動く bot もどきを作ってみました。 bot もどきのもどきとは、グリモン(ブラウザ)を立ち上げてるときだけ動く bot という意味です。 ブラウザを立ち上げとかないと bot が動かないので作ってから完全に放置できる訳ではありませんが、サーバにインストールするタイプの bot よりもかなり簡単に動作させることができます。それ以外の部分では普通の bot と大きく変わりませんので、とりあえず bot してみ
【おさらい】「jQuery」って何だっけ? jQueryとは、John Resig氏を中心として開発されている、オープンソースのJavaScriptライブラリです。DOM操作を中心としたプログラミングに向いており、エンジニアはもちろんのことマークアップエンジニアやデザイナの間で広く普及しています。 jQueryについての詳細は、下記記事をご参照ください。 jQuery、プラグイン、jQuery UI、Web経由のCDNとは CSSの書き方も分かるjQueryプラグイン実践活用法(1) 基本/おさらいとしてプラグインやjQuery UIについて簡単に触れ、Web経由でjQueryを使うCDNについて解説 デザインハック < リッチクライアント 2009/12/8
どうもはじめまして、株式会社はてなのid:cho45です。これから数回に渡り、拙作のJavaScriptのライブラリであるJSDeferredの紹介と、それに関係するJavaScriptにおける非同期の技術に関して解説させていただきます。 JavaSciptにおける非同期処理 非同期処理とは まずは確認程度に、非同期処理がどういうものかを解説しておきます。先に乱暴にまとめてしまうと、以下の事柄が大切なところです。 非同期とは「あとで」という意味 同期処理はコードの見た目順に実行される/非同期ではそうならない JavaScript の非同期処理は絶対に同期処理にすることができない JavaScriptにおける非同期処理をいくつか例に出すと、以下のようなものが挙げられます。 リスト1 // XMLHttpRequest の例 var req = new XMLHttpRequest(); re
今回よりフォーム関連の実践 前回はタブパネルをプラグインとして利用することについての説明をしました。プラグインとして作ることで、様々なサイトで使いたい部分で使えるようにできるという点でも、とても便利です。今後もプラグインとして利用できるような作り方の説明も入れていきますので、みなさんもぜひ挑戦してみてください。 さて、今回より数回にかけて、フォーム(Form)関連の実践例についてご紹介していきます。フォームでは、ユーザーが使いやすいよう(入力しやすいように)に工夫することで様々な点において、利便性を向上させることができます。 今回はフォームの入力部分に入力例などを入れておき、フォーカスしたときにその入力例を消す仕組みを作ってみることにします。 入力例を入れておきフォーカス時に消す フォームの入力部分で、入力例を入れておくことで、その部分にどのような入力をしたらいいのか明示しておくことができ
現場主導のデジタル変革 ビジネス変革のための“ITの民主化” そして 変わるIT部門の役割 コーマス広告の大変動 プライバシー保護とパーソナライズの狭間で マーケティングの効果を最大化するためには 注目急上昇中のDaaS最新情報 コロナ禍を背景に利用者と機能を拡大中 Azure Virtual Desktop最新情報 年間5,000件の問い合わせに対応 疑問を解消したいユーザーも答える情シスも みんな幸せになるヘルプデスクの最適解 ID管理の基礎知識 新しい働き方におけるITガバナンスの 向上にむけて Kubernetes活用の最適解とは? 今、注目のコンテナを活用した柔軟なIT基盤 運用、管理の課題を解決しメリットを最大化 勝つためのクラウド活用術 New Value on Azure ビジネスを次のステージへ! 電話営業・インサイドセールの革新 AIによる自動文字起こし・会話分析が 音
JavaScriptでJPEGをエンコードするというクレイジーな発想が実現されました。 使い方も非常に簡単で、次のようにオブジェクト指向になっています。 // インスタンス作成 var myEncoder = new JPEGEncoder([quality]); // エンコード実行 var JPEGImage = myEncoder.encode(CanvasPixelArray,[quality]) また、このベンチマーク結果がおもしろいです。Safari・Chrome速いです。 以下のページを参照してください。 A JPEG Encoder for JavaScript [bytestrm]
CSSにデータを埋め込む方法を考えてみた(CSS2KB) - latest log の続き CSS2KB とは CSS にちょっとした情報を埋め込むトリックの1つ。 list-style: url(1dot.gif?key=val) から key=val を取り出せるというもの。 CSS2KB の難点は、ダミーファイル(1dot.gif) が実際に必要だった点 ダミーファイルのロード ⇒ 通信が余計に発生するよね ダミーファイルが 404 だと? ⇒ key=val が取り出せない ⇒ それってまずいよね ダミーファイルが邪魔なので、もうちょっと考えてみた 試しに、URL を list-style: url(?key=val) だけにしてみたら ダミーファイル(1dot.gif)が不要に CSS のファイルパスが補完された形で取得できる ⇒ 補完された CSS のURLがついでに取れてくる
Blog » WordPress » How and where to learn WordPress plugin development (FYI, we build plugins) How and where to learn WordPress plugin development (FYI, we build plugins) It can be overwhelming when you first try to get into WordPress plugin development. Honestly, one of the best ways to learn is just to dive right in and start coding. However, this is something that doesn’t just happen overnight.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く