javascript

Kanasan.JS JavaScript第5版読書会#6に行ってきた

日曜日にKanasan.JSのJavaScript第5版読書会に行ってきました。 朝食を抜いていったせいもあって午前中は何をやっていたかあまりよく覚えてませんが、 昼休憩時に飲んだビールのおかげもあって午後はいい感じに集中できました。 内容的にもDOM操作やCSSと読…

横向きピラミッド

LL Futureでのgolfにもあったらしい「横向きピラミッド」を社内でやってみた。 golfといっても短い打数を競い合うわけではないので、 ワンライナーとかにはせずインデント、わかりやすい変数名をつけるなど、 実用的なコードを目指すのが前提。 なので単にコ…

JavaScriptでポイントフリースタイル

積ん読してあった「ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門」を読んだんだけど、 その中にポイントフリースタイルというのが書いてあったので、 同じような事がJavaScriptでもできないか試してみる。 本書によると、ポイン…

Kanasan.JS JavaScript第5版読書会#5に行ってきた

前々日、朝の6時まで呑み。1時間寝てそのままOSCへ。 前日、OSC後そのまま朝の4:30まで呑み。 当然、勉強するようなコンディションではなく、終始眠いままだった。 加えて、読書の範囲がクライアントJavaScriptの導入部で、 概念的な話やセキュリティのさわ…

Kanasan.JS prototype.js CodeReading#5に参加してきました。

Kanasan.JS prototype.js CodeReading#5 今回の参加者はいつもより少し減って11名。 LTもあり楽しめました。 37toさんのQueryNoteは是非使ってみたいですね。 勉強会の内容についてはあとでまとめるかも。 nanto_viさんがバグを発見した時は 「今この瞬間の…

Kanasan.js CodeReading#4に行ってきた

随分日にちが経ってしまいましたが、先週末Kanasan.jsのCodeReading#4に行ってきました。 今回はやや参加人数が減少し合計11人でした。 年度末とあって、社会人は仕事が忙しかったり、学生は卒業論文・研究などに忙しいのでしょうか。 今回は前回から引き続…

JavaScriptで内包表記、Newバージョン

昨日作ったJavascriptの内包表記のインターフェースを一新しました。 listC関数の引数に要素を渡すスタイルをやめて、配列の要素に式を直接書くスタイルに変更。 (内包表記的にみて)より見た目が直観的になったと思います。 まぁそれでも言語仕様の制限上…

JavaScriptでリスト内包表記を作ってみた

追記 ※仕様を変更しました。 JavaScriptで内包表記、Newバージョン haskellやErlangにあるようなリスト内包表記を理解する為にも、 また便利っぽいのでJavaScriptでも使えるよう実装してみる事にした。 実装前に検索をかけてみると既にそういう事やってる人…

JavaScriptでデカルト積

JavaScriptでリスト内包表記のような事をやってみたい。 その為にまずデカルト積をとる為の処理を作成してみる。 デカルト積って? デカルト積とは直積とも呼ばれ英語ではproduct Cartesian product というようだ。 例えば[1,2,3]という集合と [4,5,6] とい…

Kanasan.JS JavaScript第5版読書会#3 報告

気になったとこだけメモしておきます。 P.112 - 7.5配列〜 toStringとvalueOfとjoinの関係 ここは意外な発見があった。 通常は配列に var ary = [1,2,3,4,5]; ary.join(); ary.toString(); ary.valueOf(); とすると全て同じ結果が返ってくる。 カンマ区切り…

再帰を使ったソートアルゴリズム

javascriptでのソートアルゴリズムの実装を 友人がやっていてちょっと面白そうなので自分もやってみた。 // マージソート (function marge_sort(ary) { function marge(x , y) { if(!x.length) return y; if(!y.length) return x; return (x[0] < y[0]) ? [x…

JavaScriptでコマンドフィルタっぽい事をやってみた

パイプで繋ぐUnix系のコマンドラインフィルタや、 smartyのフィルタのように次々にコマンドの戻り値を 次のコマンド(関数)に渡していくような制御を javascript でやってみる。 インターフェース(コマンドの指定方法について) 見た目の直感性が大事なの…

Kanasan.JS JavaScript第5版読書会#2に参加してきました

今回は45人という非常に大きな規模のイベントになってて驚きました。 やっぱりid:amachang効果でしょうか。 ゲストに会えたりするのも醍醐味の一つですよね。 午前の部 今回も相変わらずレベルは高かったです。 特に午前中のLightning TalkではJavaScript…

javascriptでprivate変数へのアクセサをクラスに定義する関数

関数本体 Object.attr_accessor = function(obj, name, initval) { obj[name] = (function() { var value; return function() { return arguments.length ? value = arguments[0] : value; }; })(); if (initval) obj[name](initval); return obj; }; Object…

Kanasan.js#2に参加しました。

12/8(土)、Kanasan.jsに参加してきました。 随分遅れての報告です。 今回は朝9時から21時までの長丁場に関わらず 総勢24人の参加者という盛況っぷり。 私は友人の結婚披露パーティがあったので、 夕方には撤収しましたけどね。 主催のKanasanが言っておら…

数値のカンマ区切り

javascriptで数値をカンマ区切り文字列に変換する関数メモ 最近、正規表現を改めて勉強しなおしてるので、 別の方法で書き直してみた。 Numberを拡張する方法でやってみる。 Number.prototype.to_comma=function() { return this.toString().replace(/((^[+-…

Kanasan.js

昨日Kanasan.jsに参加しました。 関西初のJavaScriptコミュニティだそうです。 JavaScriptファンとしては今後の発展が楽しみ。 初回だったので、参加者のレベルを把握する目的もあってか、 JavaScriptで一番有名なライブラリ「Prototype.js」のコードを 20…