サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
qiita.com/hden@github
こんにちは、トレタ Advent Calendar 2017の8日目記事です。 トレタでは膨大なデータを分析する際に Google BigQuery を使ってますが、今年はデータサイエンティストチームも立ち上がってより大規模な分析が可能になりました。 さてさて、お硬い話は置いといて。クリスマス前なので、ここでは何か面白おかしい SQL 芸でもしましょう。BigQuery は JavaScript ベースのユーザー定義の関数(UDF)をサポートしています、つまり必要であれば好き勝手に UDF で BigQuery の関数を拡張することができます。この際 UDF を使って別の言語を実装して BigQuery のなかで呼び出しましょう!! イメージ イメージとしては SQL でこんな呼び出しをできたら面白いと思います。 select mal('(fn* [a b c] (reduce + 0 [
CoffeeScript Issue #1165によるとObject.definePropertyは当分実装されない模様。少々強引ですが面白やり方を見つけましたのでここに記入します。 ぶっちゃけObjectice-Cの@propertyみたいに@synthesis出来たらいいなって思ってます。 Function::property = (prop, desc) -> Object.defineProperty @prototype, prop, desc class Fuga constructor: (@_foo='bar') -> @property 'foo', get: -> @_foo set: (foo) -> @_foo = foo f = new Fuga 'Nyaa' console.log p.foo f.foo = 'Nyo' console.log p.foo Re
ALLCAPS = 'this is a constant, please don't mess with it' const宣告 Firefox、Chrome/node.js(V8)に実装され、ECMAScript Harmonyにも提案されてる仕様です。 const は Mozilla 特有の拡張であり、IE ではサポートされていませんが、Opera ではバージョン 9.0 からサポートされました。-MDN 注:coffee-scriptでconstはリザーブされでます。
仕事で grunt を使っていましたが、日日肥大化する Gruntfile を生理的に受け付けなく、自分でビルドツールを作ってみました。 じゃあどんなのが欲しいのか ビジュアル的に分かりやすいワークフロー ファイルの読み書きは最初と最後だけ シンプルなプラグイン Cakefileや他のCLIとの互換性 Prunt Githubリポジトリ: hden/prunt インストールはnpm install prunt A prunt is a small blob of glass fused to another piece of glass to help provide a firm grip in the absence of a handle. -- modified from Wikipedia. この記事を読んで分かること pruntを作ったきっかけ 基本的な使い方 ビジュアル的に分
駆動開発にて一行書き換えた度にブラウザをリロードする人いらっしゃいませんか? 複数のブラウザやモバイルなどもまとめてCIしたい方は? 今回はCLIでブラウザテストをするためのテストランナーtestemを紹介します。 testemのお勧めポイント 複数のブラウザ、phantomjsでテスト可能 CIモードではブラウザの起動まで全自動化 mochaやjasmineなど人気があるフレームワークに対応済み coffee-script、LESS、Browserifyなどの前処理も自動にやってくれます testem ciコマンドでブラウザまで起動してくれます インストール
webアプリにてHTMLビューの作成はサーバーサイドとクライアントサイド、どちらでも可能です。迷って色々調べた所面白いフレームワークが見つかったので紹介します。 サーバーサイド?クライアントサイド? サーバーサイドレンダリングのサーバーはRESTful APIに専念して、極力HTMLビューの作成をさけ、クライアント側に任せるアーキテクチャーで、2010年時のツイッターがそうです。 クライアントレンダリングの問題点として、よく取り上げられるのが リクエストはクライアント側からサーバ側に、一往復して帰ってくる、ネット状態によっては往復する分時間がかかる。 curl、又はJavaScriptが制限されたブラウザではアクセス不能。 同様、サーチエンジンと相性が悪い、SEOに不便。 で、ツイッターは2012年からレンダリングを大半サーバーサイドに戻した、とブログに書かれてます。 それに対してLink
コードを読みやすく、package.json、又はCakefileにテストコマンドを書いておく。 ソースコードもコンパイルせずにテスト、例えば./index.coffeeのテスト、ここではChaiのassertを使います。 {assert} = require('chai') target = require '../src/index' describe 'Constant', -> it 'should work', -> assert.ok target? 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 themeWha
CoffeeScript > 1.6。literateモードネタです。 literateモードとは? If you name your file with a .litcoffee extension, you can write it as a Markdown document. - coffeescript.org つまりmarkdown文中のコードブロックをそのまま実行、またはコンパイルしてくれる事です。従来のコメント部分を返って重視し、コードを文書の様に書く事で、読みやすさの上昇を狙っています。サンプル。 Jeremy本人のブログエンジンもliterateモードで書かれています。 Gistでブログ Gistに投稿したgistをそのままブログの文書にする。D3.jsでおなじみのMike Bostockが使っている方法です。D3.jsのオフィシャルサンプルやMike本人のブログがそう
jsdomやphantomjs(headless webkit)ではなくリアルブラウザでのテストが出来ます。結果的にはこの様なバッジが出来て、githubにpushする度更新されるので便利。 jasmineでテスト環境を整えてる方もいらっしゃると思いますが、公式アダプター/ハーネスが無くてtestling-ciとの相性が良く無い。 ですので書いてみまして、testling-ci用のハーネス。 環境を整える まずはwebhook 次にjasmineを入手。testling-ciではrequireされたスクリプトは全てbrowserifyされますのでjasmine本体に少し工夫が必要。加工済みバージョンはココ。 以下このの様な環境を想定します。 |-package.json |-jasmine-harness.coffee |-lib | |---jasmine | |---jasmine-r
{ "testling": { "browsers": { "ie": [ 6, 7, 8, 9, 10 ], "ff": [ 12, 13, 14, 15, 16, 17 ], "chrome": [ 20, 21, 22, 23 ], "opera": [ 10, 11, 12 ], "safari": [ 5.1 ] }, "harness" : "mocha", "files": "test/*.coffee" }, "devDependencies": { "chai": "*", "mocha": "*", "coffee-script": "*" } } githubのプロジェクトページでwebhookを設定 プロジェクトページ > settingボタンをクリック > サイドバーからservice hooks > WebHook URLに http://git.testlin
このページを最初にブックマークしてみませんか?
『qiita.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く