Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
はじめに Go近辺を徘徊していて見つけたブログポスト。 Ten Useful Techniques in Go Goな方々には常識なのかも知れないけど、Go初心者の私にとっては面白かったのでちょっとまとめてみる。 紹介されているのは以下の10個の項目。 Use a single GOPATH Wrap for-select idiom to a function Use tagged literals for struct initializations Split struct initializations into multiple lines Add String() method for integers const values Start iota with a +1 increment Return function calls Convert slices,maps,et
前置き:何となく成り行きで何か書かないと心苦しいので、殴り書きレベル & 文才がなくてつまらない & 関数型言語の授業等を受けたことがある方にはものすごく当たり前の教科書的内容ですみませんが、取り急ぎ自分が容易に書けることを書きます。(この記事に直接の関係がある)質問があれば、(すぐに反応できない場合もあると思いますが)なるべく答えます。誤植などの指摘も助かります。 さて、プログラマならば誰しも一度は「オレオレ・オリジナル・プログラミング言語を作りたい」という欲求を抱きますよね。(抱きますよね?) そのとき、文字列レベルの文法(具象構文(concrete syntax)と言います)はわりと誰でも(?)考えられますが、それが木構造レベルでどういう風に表されて(抽象構文(abstract syntax)と言います)、どう動作するのか(操作的意味論(operational semantics)と
これですね。これ何か呼び方あるの? なにこれ グローバル変数にならないようにする仕組み。 スコープ問題 JavaScriptではスコープ(変数の有効範囲)は関数単位(function(){~})になるのが基本。 そして一番外側、どの関数の中でもないものは「グローバルスコープ」に所属する「グローバル変数」となり、どこからでも利用できる変数になる。そうなるとどこかで変数の名前がかぶった際、勝手に値が変わったりして大変恐ろしい事になってしまう。 そこで、ファイル全体を関数で括る事でスコープを生成して、グローバルではない変数にしておこう、というもの。ただしvar宣言なしに変数を使い始めると、結局グローバル変数になってしまうので注意。 次世代JavaScriptだとletとかあるけど触れません、関係ないし。 関数の前後にくっついてる括弧は 関数は作成するだけでは何もならないので、即時実行してやります
はじめに 佐々木です。開発経験も無くJavaScriptを触ったこともない僕ですが、どうしてもAWS lambdaを触ってみたかったので、四苦八苦しながらやってみました。 すでにバリバリ活用しているブログ記事がたくさん出ていますが、本記事は本当に何もわからない僕がよちよち歩きしている内容ですので、深いところは期待しないでください。そして識者のツッコミをお待ちしております。 AWS lambdaの基本的な使い方は以下の記事をご参照ください。 AWS Lambdaを始めてみる(1).ユーザーアプリケーションからのイベントを扱う AWS Lambdaを始めてみる(2).Amazon S3イベントを扱う やってみる MBAにnode.jsをインストールする とりあえず簡単な構文チェックだけでも手元でやりたいので、MBAにbrewを使ってnode.jsをインストールします。 $ brew insta
キャメルケースの表記で、よく揺れるケースとその対策についてまとめてみました。プロジェクト内で表記を統一したい場合などに参考にしてみてください。No.3以降は、単語の区切りについてなので、snake_caseにも当てはまりますよ。 1. XMLParser – XmlParser これはよく揺れますね。XMLのようにそれぞれの頭文字 (Extensible Markup Language) を並べて作られた単語を頭字語と言います。頭字語は、それが頭字語だと言う事をわかりやすくするために、英文のルールではすべてを大文字にします。このルールとキャメルケースの表記法とが衝突しているので、人それぞれで書き方がバラツキます。 Rule ルールを作る場合は、英文ルールに従い頭字語はすべて大文字にするか、キャメルケースに従うか・どちらか一方にしなければならないのですが、単語によってしっくりくる書き方が違っ
AgularJS に対する気持ち 所感といいつつ、主に自分がつらさとして感じていることを書く。所感シリーズとしては jQueryについての所感 も併せて読みたい。 この学習曲線の中でいうと、たぶん今の自分は Very Cool! の頂点から降りている最中くらいだと思う。そして、マサカリをふりかぶった諸兄にひとつだけ言いたいのは、共感脳を養った方がモテるということだ。 チキンハート的弁解: 以下はAngularJSに関するつらさを述べることに専念するために、美点を挙げていないだけであってAngularJSを全方位的に貶めたり、何かと比べて明確にクソだというような意図はない。 画像は AngularJS: The Best Parts · Anand Mani Sankar からの引用。X軸にある www.bennadel.com は AngularJS 大好きさん。 辛1. $scope が
jQueryでaリンクにイベントを設定するモダンな書き方を教えてください リンクにクリックイベントを設定するとき 最初 <a href="#" onClick="jump(1);">ページ1</a> <a href="#" onClick="jump(2);">ページ2</a> function jump(page) { location.href = 'http://hoge' + page; } としてましたが、なんとなくjQueryでロード時にイベントを設定する方が良いのかなと思って、以下のように直しました $(function(){ $("#one").click(function(){ location.href = 'http://hoge' + 1; }); $("#two").click(function(){ location.href = 'http://hoge' +
きっかけは、prototype と constructor と __proto__ の関係を再確認していたときでした。JavaScriptはこうだけど、これって、AltJSな言語の継承はどうなってるんだろうと思って試したくなりました。 ちょっと気持ち的に、なんだか宗教に入ったみたいに俺は JavaScript がわかったって声高に言う人、だいたいみんな、プロトタイプチェーンによる移譲がクラスベースの継承に束縛されていた思考のブレイクスルーなんだぜ、みたいに言うんだけど、いったいそれがどれほど素晴らしいものなんだろうと考えてしまい... もしプロトタイプチェーンがそんなに素晴らしいんなら、npm にあるほとんどのライブラリがチェーンを活かして作られてない理由が説明できない。もしかしたら、仕組みがいくら面白くても、実際のメンタルモデルにフィットせず、実は使い物にならないんじゃないか ----
setTimeout() vs ハッカー、仁義なき戦いによると function isNativeFunction(func, name) { for (var o in func) { if (o === "toString") return false; } var match = func.toString().match(/^function (\S+)\(\)\s*{\s*\[native code\]\s*}$/); return (match && match[1] === name); } setInterval = function(){}; isNativeFunction(setInterval, 'setInterval'); // false でsetIntervalが偽装されているか調べられると書いてあるが、そんなことはない。 自分が普段使っているブラウザはSa
概要 ES2015を象徴する機能である、アロー関数構文の実装がついにV8で始まった。 無名関数を短く書ける [3.28.31] アロー関数は無名関数の省略記法である。 今までこう書いていたのが、 var fn = function (a, b) { } こうスッキリ書ける。 var fn = (a, b) => { } 「=>」が矢のように見えることから「アロー」関数と言う。 更に短くできる これが、 [1, 2, 3].map( function (v) { return v * v } ) // [1, 4, 9] アロー関数だとこうなるが、 [1, 2, 3].map( (v) => { return v * v } ) // [1, 4, 9] 引数が一つの時には「()」を省略できるので、こう書ける。 [1, 2, 3].map( v => { return v * v } )
これまで Ajax で二重ポストをしないようにするには、 DOM を操作して disable にして押せなくしたり、できないものは HTTP リクエストする前に変数に状態を持たせてレスポンスがきたらその状態をクリアしたりするといったものがありましたが、リクエストを出す処理ごとに二重ポストを防止するコードを入れなければいけないことが多く面倒でした。 もう少しスマートなやり方ないかな、と調べていたところ丁度使用している AngularJS でよい感じに解決しているブログを見つけましたので紹介します。 http://blog.codebrag.com/post/57412530001/preventing-duplicated-requests-in-angularjs AngularJS は HTTP リクエスト後に結果が返ってきてないものを $http.pendingRequests に登録
概要 かつてはfor文初期化句で宣言された変数は、for文の直前で宣言されたように振舞っていたが、各ループでスコープを引きづらないように仕様が変更され、V8も追従した。 例 for (let i = 0; i < 5; i++) { ~~~ } これは今までは次のコードと等価だった。 { let i = 0 for (; i < 5; i++) { ~~~ } } つまりfor文中で関数を定義するとこうなっていた。 let funs = [] for (let i = 0; i < 5; i++) { funs.push(function () { return i }) } funs.map(function (fun) { return fun() }) // [5,5,5,5,5] この結果が[0,1,2,3,4]になるのが今回の変更である。 つまり一番最初のコードはこれと等価になる
2014/05/25追記 こういう書き方も出来ると紹介してもらいました。 @okazuki $scopeのメソッドの型をFunctionにしたくない場合 URL こーゆー感じで書くとコピペで済む+型チェックの恩恵が受けられるのでよいと思います。 2014-05-25 02:06:40 via twicli to @okazuki ためしたところばっちり動いたので、次からはこう書こうと思いました。 はじめに JavaScriptでSPA作るのにはAngularJSがいいらしいということで、とりあえずシンプルな例として、勉強がてら以下のページのしょっぱなにあるTodoアプリをTypeScriptで書いてみました。 AngularJS 1.2 日本語リファレンス | js STUDIO プロジェクトの作成 TypeScriptHTMLApp1という名前(名前つけるのさぼった)でプロジェクトを作成
テーブルにマウスでホバーすると、そのセルがハイライトしたり、列や行がハイライトするのはスタイルシートで実装できますが、rowspan, colspanがあるテーブルではうまくいきません。 テーブルのrowspan, colspanのハイライトを実現するjQueryのプラグインを紹介します。 右:rowspan有り、colspan有り Whollyの使い方 Step 1: 外部ファイル jquery.jsと当スクリプトをhead内に外部ファイルとして記述します。 <head> ... <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <script src="js/jquery.wholly.js"></script> </head> Step 2: HTML テーブルは通常通りの実装で構いません。 特定のテーブルの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く