最近とあるプロジェクトで、JavaScriptを使い、お客さん先のホームページを読込、その内容に応じて広告をJavaScript内で生成する『レコメンドエンジン』の配信サービスを提供している。 その中で、JavaScriptが複雑化してきたので、JSのxUnitの書き方と、CIサーバJenkinsに載せるようにしました。 JavaScriptの単体テスト QUnitとJasmineを調べたが、ピュアなxUnitが好きなので、今回QUnitを選択した。QUnitのテスト表記は下記のようにシンプルなequal関数でサクサクかけました。 書きながらソースコードのリファクタリングも進みました。やはりテストコード書くとコードの悪い所が顕著に見えるのが心地いいです。 1,QUnit 元々は、jQueryのテストフレームワークとしてスタートした。現在はjQueryに依存していない 公式サイト:ht
Heads Up! You're viewing the docs for v0.8, an old version of Karma. v6.4 is the newest. Jenkins CI is one of the most popular continuous integration servers in the market today. At some point while developing your AngularJS project (hopefully early on), you might want to have automated tests run off your code versioning system. Jenkins will help you with this task. You can integrate Karma to your
そう。タイトル通りだ。筆者、江添亮はドワンゴに雇用された。一体、どのような経緯でドワンゴに入社するに至ったのか。また、どんな仕事をしているのか。それを説明するには、時系列を追って書いたほうがいいだろう。 2013年8月21日 ふとみると、以下のようなサブジェクトのメールが届いていた。 【ご相談】ドワンゴ主催の C++11, 14 に関する勉強会にスピーカーとしてご参加頂けないでしょうか C++11? C++14? なんと、日本にC++14などという単語を知っている企業があったのか。しかし・・・ドワンゴ? SPAMだろうか。いや、こんなにピンポイントなSPAMがあるわけがない。 それにしても解せないメールだ。ドワンゴといえば、もちろん、あの有名なニコニコ動画の企業だ。ニコニコ動画と言えばWebサイトだ。ニコニコ動画やその関連サービスの開発にC++を使っているのだろうか。いやまて、たしか子会社
AngularJSそのものから離れますが、製造作業を行うときのCIを取り扱います。 開発でCIを利用することがセオリーになりつつ有ります(もしかすると、もう一般的になってますか)。 その利点を簡単に上げるとすると、 テストコードを実装している事前提ですが)日々、結合テストを自動で行える 日々結合を行うことで問題発見を早期に行える。 つまり、テスター有りきのテストフェーズではなく、日々製造担当者間で問題点を把握できる 上記は、云うは易しですが、運用ノウハウを継続的に溜めていかなければ、結局、タダの無用な長物になります。しかし、慣れてしまえば強力なサポーターとして必要な存在になることは間違いありません。 具体的なCIについての詳しい説明は他の記事を参考にしてもらうことにして、 AngularJSで作成したプロダクトについても同様にCIで運用できるようになれるよう、個人的にはまだまだ経験的に浅い
The Progressive JavaScript Framework An approachable, performant and versatile framework for building web user interfaces. Why Vue Get Started Install Get Security Updates for Vue 2 Approachable Builds on top of standard HTML, CSS and JavaScript with intuitive API and world-class documentation. Performant Truly reactive, compiler-optimized rendering system that rarely requires manual optimization.
At my curent company we are using Angular.js for a new desktop application (yes, a desktop application, but I won’t get into that). Our app gets its data and events from a web service via a WebSocket connection. Angular comes bundled with some great tools to connect to REST servers, but it doesn’t come with anything to help you with real-time data (and it probably shouldn’t). Here is an example of
Works best with JavaScript enabled! Works best in modern browsers!
米国時間の2014年2月10日、Network Time Protocol(NTP)の脆弱性を悪用した大規模なDDoS攻撃が確認された。米国のセキュリティ企業、CloudFlareのCEOを務めるマシュー・プリンス氏のツイートによると、2013年3月に観測された“史上最大規模”のDDoS攻撃を上回り、トラフィックがほぼ400Gbpsに達する規模だったという。 NTPは、システムの内部時計を正しい時間に同期させるためのプロトコルで、インターネットを形作るネットワーク機器やサーバー、デスクトップマシンなどで幅広く使われている。 ntpdなどNTPの実装の一部には、NTPサーバーの動作モニタリングのために「monlist」機能を備えているものがある。この機能が「攻撃者にとって理想的なDDoSツール」(CloudFlareのブログ)になっているという(関連記事:増幅攻撃はDNSだけではない――NT
各位 JPCERT-AT-2014-0001 JPCERT/CC 2014-01-15 <<< JPCERT/CC Alert 2014-01-15 >>> ntpd の monlist 機能を使った DDoS 攻撃に関する注意喚起 https://www.jpcert.or.jp/at/2014/at140001.html I. 概要 NTP Project が提供する ntpd の一部のバージョンには、NTP サーバの状態 を確認する機能 (monlist) が実装されており、同機能は遠隔からサービス運 用妨害 (DDoS) 攻撃に使用される可能性があります。 NTP は、通常 UDP を使用して通信するため、容易に送信元 IP アドレスを 詐称することができます。また、monlist 機能は、サーバへのリクエストに対 して大きなサイズのデータを送信元 IP アドレスへ返送するため、攻
December 14, 2013Unit and End to End Testing in AngularJS Unit testing is a technique that helps developers validate isolated pieces of code. End to end testing (E2E) comes into play when you want to ascertain that a set of components, when integrated together, work as expected. AngularJS, being a modern JavaScript MVC framework, offers full support for unit tests and E2E tests. Writing tests whil
This post is long overdue; this isn’t a declaration of intent (any intent was long ago made real), just my reflection about my own path. I left the Python world a long time ago but I never took a chance to say goodbye. While I had moved on from Python years ago, I felt a certain attachment to it well past then, not quite admitting to myself that I wasn’t coming back. When my proposal for PyCon 201
4月2日 追記:はてな匿名ダイアリーの「ビッグ検索」機能を終了します 2024年4月1日にリリースした「ビッグ検索」機能の提供を終了します。 「ビッグ検索」は24時間の長きにわたり、ご利用の皆様のビッグな疑問に答えてまいりましたが、あまりにも巨大な検索フォームを維持・運用することが困難となってまいりました。空間効率の有効利用、また持続可能性の観点からサービス提供を終了させていただくことになりました。 ご利用の皆様には申し訳ありませんがご理解、ご了承のほどよろしくお願いいたします。 なお、「ビッグ検索」と同時に実装されました「はてな匿名ダイアリー全文検索機能」は引き続きご利用いただけます。 本文 本日2024年4月1日、はてな匿名ダイアリーに「ビッグ検索」機能をリリースしました。 はてな匿名ダイアリーは、2006年から「名前を隠して楽しく日記。」をモットーに運営してまいりました。匿名という敷
zshでのgitコマンドの入力補完を設定する方法はいくつかあるようですが、最近はgitのソースツリーにcontrib/completion/git-completion.zshというものが含まれているので、今回はそれを利用する手順を紹介します。 設定を行うと、以下のようにコマンドやリモートリポジトリ、ブランチ名の補完ができるようになります。 今回、動作を確認した環境は以下の通りです。 Mac OS X 10.8.3 zsh 5.0.2 git 1.8.2.3 zshとgitをHomebrewでインストールしている場合は、zshの設定を行うだけで作業完了です。git 1.8.2.2に含まれる補完定義ファイルとgit 1.8.2.3に含まれるそれとでは結構違いがあるようなので(コミットログ)、gitはできるだけ最新版にアップデートしておきましょう。 Homebrewを使っていない場合は、補完定
最近bashからzshに移行したが、 zshではデフォルトでリモート補完が有効になっているので、 git checkout でブランチ名補完を行おうとした際に、 リモートのブランチ名を探しに行ってしまう。 そのため補完が完了するまで入力を受け付けないという事が頻発するので、 無効にする方法を探してみた。 StackOverflowで見つけた記事によると、 .zshrcに compdef -d git checkout を追記するだけで補完を無効に出来る事はわかったが、 こうするとローカルブランチも補完が無効になってしまう。 誰しもが無効にしたくなると思ったんだが、なんでぱっと情報出てこないんだろうか。 参考: http://stackoverflow.com/questions/12175277/disable-auto-completion-of-remote-branches-in-z
今回は、前々回に引き続きSelenium WebDriverの機能を紹介します。テーマは、UIの自動テストをしたことのある方なら誰でも悩んだことがあるであろう「wait」についてです。 こんな方におすすめ Seleniumを使って自動テストを作成していると、「自動記録させたテストコードが速く動きすぎて実行時にアプリケーションが追いつかずエラーになる」ということが本当によく発生します。 特に、最近のWebアプリケーションはJavaScriptを使用した動的な要素の変更を伴うものがほとんどなので、実行時にきちんと対象要素が出てくる/消えるまで待機するという制御は必須と言っても良いでしょう。 この記事では、WebDriverで動的な要素を安定的にテストしたい人向けに待機処理の基本をご紹介します。 WebDriverのwait機能 WebDriverのwait機能は、大きく ・暗黙的な待機(Imp
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く