JavaScriptでスコープの一番外側であるグローバルオブジェクトの取得方法について。ブラウザではwindowオブジェクトのことだが、サーバーサイドでは名前が異なるので環境に依存しないやり方をまとめる。 globalスコープ上でthis
JavaScriptでスコープの一番外側であるグローバルオブジェクトの取得方法について。ブラウザではwindowオブジェクトのことだが、サーバーサイドでは名前が異なるので環境に依存しないやり方をまとめる。 globalスコープ上でthis
発端は自分が書いたブログ記事に対して、@hokacchaさんが今風の書き方ってことでReplyしてくれたのがきっかけです。 ベースというか、ほぼそれのコピペですが記事元ではやっていない処理が追加されていたり、実装していないものがあったりしたのでそれを追加・修正したものです。 'use strict'しても動きます。(翻訳記事元はarguments.callee使ってるので、strictモードで動きません) (function (win, doc, exports, undefined) { 'use strict'; var fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/; function Class() { /* noop. */ } Class.extend = function (props) { var Su
JavaScriptの「プロトタイプ入門」 JavaScriptはオブジェクト指向です。 クラスという概念はないため、 擬似的なクラスの表現を使ったパターンがあります。 ただ今回はそちらではなくプロトタイプベースの説明をします。 その前にコンストラクタについて知らない人はこちらへ。 JavaScriptのクラス?コンストラクタ? プロトタイプって? そもそもプロトタイプってなに? 実は、、プロトタイプとは「オブジェクト」のことなんです。 そして感覚としては親だと思って大丈夫です。 親の能力は子にも受け継がれている。。的なニュアンスですね。 (まぁ意味合いはちがいますがw) prototypeプロパティ ここで新規に関数を生成してみましょう。 そうするとprototypeプロパティが自動で作成されます。 このように関数を生成した時点で、 proto.prototypeプロパティが自動で生成さ
JavaScriptで配列を生成するにはコンストラクタ new Array() とリテラル [] の二つがあるので違いをまとめておく。 個人的には、簡潔で読みやすいので、なるべく [] を使うべきだと思っている。 機能面での違い どちらも配列オブジェクトを生成する。 ただし、整数を一つだけ渡した際の挙動が異なる。 new Array(3) はlengthが3の配列を生成する。中身は0から2まですべてundefinedになっている。 [3] は要素をひとつだけ含む配列を生成する。 console.log( new Array(1,2,3) ); //1,2,3 console.log( [1,2,3] ); //1,2,3 console.log( new Array(3) ); //undefined, undefined, undefined console.log( [3] ); //
Markdown記法のチートシートです。 記法はGitHub Flavored Markdownに準拠し、一部拡張しています。 Qiitaでシンタックスハイライト可能な言語一覧については、 シンタックスハイライト可能な言語 をご覧下さい。 Code - コードの挿入 Code blocks - コードブロック たとえば、「Ruby」で記述したコードをファイル名「qiita.rb」として投稿したいときは、 バッククオート(`) か チルダ(~) を使用して以下のように投稿するとシンタックスハイライトが適用されます。 コードブロック内でコードブロックを書きたい場合は異なる記号を使うことで書けます。
皆さん、Sass/Compass使ってますか? 僕はCSS Spriteが面倒だったので使い始めました。 で、Compassのドキュメントを見てたらこうゆう記述を発見しました。 Compass generates PNG files using a pure-ruby library called chunky_png. This library can be made faster by installing a simple C extension called oily_png. Add it to your Gemfile if you have one in your project: http://compass-style.org/help/tutorials/spriting/ ざっくり言うと、デフォルトでPNGファイル作成するときはRuby製の chunky_png 使う
はじめに Webアプリケーションを作る手段はLAMPだけではありません。 ちょっとしたものであればnode.js + express + SQLite3を使えば驚くほど簡単に作ることができます。 ここでは例として簡易版twitterのようなミニブログを作ります。 必要となる知識 コマンドラインツールの扱い方 HTML, JavaScript SQL このエントリを読んでできること node.jsを使って短時間でWebアプリケーションを作る このエントリを読んでもできないこと 小規模でないWebサービスを作って運用する WebSocketを使ってリアルタイムWebアプリケーションを作る アウトライン 1.node.jsをインストールする 2.アプリケーションを作って動かしてみる 3.フォームから受け取ったデータを表示する 4.SQLite3を使ってデータを永続化する 1.node.jsをイン
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 今日自分が体験したトラブル事例に、ユーザビリティ向上のための気づきがあったのでメモしておきます。 ※本文よりまず、このコメント、こっちに言いたいことが集約されてるのでまずはこっちを読むと早いです。 ※本文よりまず、このコメント、こっちに言いたいことが集約されてるのでまずはこっちを読むと早いです。 ※本文よりまず、このコメント、こっちに言いたいことが集約されてるのでまずはこっちを読むと早いです。 事例:登録時のパスワードでログイン出来ない!? 今日、とあるWEBサイトでユーザ登録を行った際に、登録時に入力したパスワードでログイン出来ないと
Tig の表示方法あれこれ このエントリーはGitアドベントカレンダーの十一日目です。十日目は kyanny さんの「Git における SSH オプション指定方法あれこれ」でした。タイトルは、パクr...リスペクトしました! Tigとは? Tig は ncurses ベースの Git のためのテキストユーザインタフェースです。 Gitリポジトリ内の変更内容を、Vimライクな操作で高速に閲覧することができます。 インストール Mac なら Homebrew か MacPorts でインストールできます。 あとはこちらで。 基本的な使い方 Git レポジトリ内で tig コマンドを打つと、カレントブランチの変更履歴が表示されます。 h でヘルプが見られるので、ビューの切り替え方法などの操作方法を調べることができます。 本題 tig コマンドに引数を渡す事で、開き方を変えることができます。 特定
「vim入門」系記事で解説されないためか、意外と使い方が知られていないvimgrep。 ファイルを開いては検索、開いては検索ってしてる? grepするためにvimから出てる? grep結果を見て改めてvimで開き直してる? それ、vimgrep使えば256倍早くなる(かも)よ。 簡単なまとめ vimgrepは… ファイルをまたいで検索できる grepやgit-grepよりは遅いので巨大プロジェクトでは検索対象を絞ったほうがいい ワイルドカード使うと簡単に絞り込める 繰り返し同じ対象から検索する場合はargument listを使うと捗る gitリポジトリではgit-ls-filesと組み合わせる 該当箇所に素早く移動&編集できる quickfix-windowと組み合わせると更に捗る この記事読むと分かること :vimgrepコマンドの使い方 :cwindowコマンドの使い方 :argsコ
この記事はVim Advent Calendar 2012 : ATND 79日目の記事になります。 78日目は@raa0121のLingrのBot「VimAdv」を作ったでした。 今回は、Vimの意外と知られていない正規表現\%を紹介したいと思います。 任意にマッチするアトム列 \%[] Vimの各コマンドは省略名をもっているので、これは必須の正規表現かなっと思います。 echo matchstr("fun", 'fu\%[nction]') " 'fun' " `\%[]`を使わないとこう書かなければいけない!! echo matchstr("fun", 'fu\(n\(c\(t\(i\(o\(n\?\)\?\)\?\)\?\)\?\)\?\)\?') " 'fun' 部分正規表現としてカウントされないグループ化 \%(\) これはmatchlist()には結構必須で、matchlis
なら、vit (タグって意味) ちなみに、カッコもふくめて選択したいときはaをつかう ちなみに、ちなみに、単語だけ選択したいときはiwをつかう(awだとスペースもふくむ) くわしくは、:h text-object 日本語ヘルプは:h text-object@ja Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
エディタで開いているファイルに含まれる半角スペースをタブに変換します。 範囲指定すれば変換対象を一部に限定することができます。 区切り文字にタブしか受け付けない太古の syslog.conf などを編集するときに重宝します。 Space → Tab Tab → Space
などとしても端末背景色を得ることができます。 Vim以外での使用例 この背景色取得シーケンスを実際に使用しているアプリケーションとしては、GNU EmacsやMinEdが挙げられます。 両者とも必ず出しているというわけではなく、端末特性応答などと絡めた複雑な条件でこの応答をつかうかどうかを決めています。 Xterm(ただしパッチレベル242以上279以下)上でのEmacs24.2や、mlterm(3.1.5以上)上でのMinEd2011.22、といった組み合わせでは、起動時にこの背景色の問い合わせ&応答のやりとりをばっちり観察することができます。 興味があればTrachetを利用して確認してみましょう。Trachetのチュートリアルはこちら。 backgroundオプションを動的に設定する さて、Vimにおいてはこの素敵なフィーチャーをどのように活かしていけばよいか。まず思いついたのは、b
こんにちは、7日の予定が2日ほど遅延しております、すいません。 さて、私は OS X で ruby 1.9.3 の環境を構築するネタで書きたいと思います。 今回使う物 homebrew readline libyaml (2.0.0なら不要) openssl (trunk をビルドする場合) autoconf rbenv ruby-build Command Line Tools (Xcode) 尚、環境は Xcode 4.5 + OS X Mountain Lion を想定しています。 準備 最近の Xcode, 4.3 からは Xcode.app のなかに Developers ディレクトリが入ったためターミナルから gcc とか叩いても 見つからないと言われます。なので Command Line Tool をインストールしましょう。 Command Line Tool, 入れる方法は
※ 執筆時点ではCanaryで利用できます ChromeのDevToolsに「Workspace」という機能が追加されました Workspaceを使うとDevToolsをエディタとして使うことができます ローカルフォルダの追加 DevToolsを開いて歯車アイコンからSettingsを開くと項目に"Workspace"があるので選択 Add folderでフォルダを選択 リソースへのアクセス許可を求められるので許可を選択 Sourcesパネルに選択したフォルダが追加される リソースの編集の自動反映を有効にする ブラウザのリロードなしに編集・保存したファイルが反映されるようになる(htmlはむり? 右クリックメニューから"Map to network resource"を選択 ダイアログでDevToolsの再起動を求められるので許可(Chromeの再起動ではない) 右側のエディタ部分でCSS
while(1);[['u',[['smsSentFlag','false'],['hideInvitations','false'],['remindOnRespondedEventsOnly','true'],['hideInvitations_remindOnRespondedEventsOnly','false_true'],['Calendar ID stripped for privacy','false'],['smsVerifiedFlag','true']]]] これ以外にもGoogleのサービスでは &&&START&&& とか while(1); &&&START&&& てのが先頭に入ってたりするんだけど、これは一体何? 解答 これはクロスサイト・リクエスト・フォージェリ対策。 例えばGoogleが gmail.com/json?action=inbox というURL
FINDJOB! 終了のお知らせ 2023年9月29日にFINDJOB!を終了いたしました。 これまでFINDJOB!をご利用いただいた企業様、求職者様、様々なご関係者様。 大変長らくFINDJOB!をご愛顧いただき、誠にありがとうございました。 IT/Web系の仕事や求人がまだ広く普及していない頃にFind Job!をリリースしてから 約26年間、多くの方々に支えていただき、運営を続けてまいりました。 転職成功のお声、採用成功のお声など、嬉しい言葉もたくさんいただきました。 またFINDJOB!経由で入社された方が人事担当になり、 FINDJOB!を通じて、新たな人材に出会うことができたなど、 たくさんのご縁をつくることができたのではないかと思っております。 2023年9月29日をもって、FINDJOB!はその歴史の幕を下ろすこととなりましたが、 今後も、IT/Web業界やクリエイティブ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く