This screencast examines low and high fidelity testing strategies for Angular JS, and demonstrates examples of how to write tests with these strategies using Protractor, Testem, and Jasmine.
Your new post is loading...
Your new post is loading...
This screencast examines low and high fidelity testing strategies for Angular JS, and demonstrates examples of how to write tests with these strategies using Protractor, Testem, and Jasmine. No comment yet.
Sign up to comment
AngularJS directive scoping confuses a lot of people. I thought I would take a moment and attempt to defuse some of the confusion. First I encourage you to visit the AngularJS developer guide on directives: http://docs.angularjs.org/guide/directive. To simplify you should know that there are only three types of scoping with directives: ... A Guide to JavaScript's Quirks and Flaws. JavaScript Garden is a growing collection of documentation about the most quirky parts of the JavaScript programming language. It gives advice to avoid common mistakes and subtle bugs, as well as performance issues and bad practices, that non-expert JavaScript programmers may encounter on their endeavours into the depths of the language. JavaScript Garden does not aim to teach you JavaScript. Former knowledge of the language is strongly recommended in order to understand the topics covered in this guide. In order to learn the basics of the language, please head over to the excellent guide on the Mozilla Developer Network. JavaScript is the easiest event driven programming language I know and every library out there knows this too! We've been building a fairly big, interaction-heavy JavaScript app for Propeller. We started with Backbone as the base for most of our code, but we started to feel some pain at the view layer as our app grew larger. Then, just as we started to looking for new solutions, React appeared. What is React? In effect, React is a replacement for Backbone.View. It's not a huge application-level framework like Angular or Ember, and it can peacefully coexist with existing components likeBackbone.Model. Why did we replace Backbone.View? The biggest headache with vanilla Backbone is once you start nesting Backbone.View objects, you're basically on your own with regards to managing the lifecycle of the view hierarchy. Really the basics of programming in JavaScript in easy to learn video series.
From
github
Whiskey is a powerful test runner for Node.js applications and a process orchestration framework which makes running integration tests with a lot of service / process dependencies easier. I decided to do a 20 minute screencast on the subject to show people how to use it for both unit and integration testing. I also show how to run your QUnit tests with the karma test runner (with some help from the ember-karma-preprocessor plugin to precompile any handlebars templates) Enter Ember.js: the beautiful bastard child of Cocoa and Rails conventions, an emerging Javascript MVC framework with some funk in its step. Situation: viewModel is rendered on the client using knockout.js; part of the model is a collection of resizable and draggable divs. The problem: once the div is dragged/resised how to update the model with new coordinates? The solution is to use custom binding and handle the event of end of resize and end of drag. See jqDraggableResizablein the following example:... ASP.NET MVC has a really nice capability of generating client-side validation code based on the data annotations on your model. It can either generate a JavaScript code with the rules or generate data attributes on the input elements (unobtrusive). By using the second approach jQuery can read these data attributes (by the unobtrusive validation plugin) and automatically wire the validation logic up on the client. Create an Ember.js application in 5 minutes using Yeoman and its associated tools. This Ember tutorial gets you up and running fast. |
This is part 2 in a series on scoping directives with AngularJS. In this post I am going to cover how the three different scoping techniques affect each other when multiple directives are applied to one element. To begin lets review the three directive scoping techniques available through AngularJS: ... The core philosophy behind Web Components is to make markup meaningful again. They want to give you the ability to build your own HTML elements. For the most obvious example of this, fire up Google Chrome and add an <input type="date"> tag:...
From
github
Useful fiddles and gists collected from AngularJS forum discussions. A quick and dirty demo to show off a very simple example of what you can do with some knockoutjs code and an AJAX call. I use the google books API to provide a simple search form. I also use the underscore library to work with the observableArray but that is not really a requirement. I just like it. But then one day I got lucky. I had decided to sit in one more Node presentation (mainly because I knew the presenter well) and during his presentation the speaker demonstrated Express. A light bulb went off. Here was the Node framework I was waiting for! Yes, in theory, you’re still building your own web server, but that aspect is minimized and instead you can focus on your site logic and content. Even better, I saw how integrating templating engines allowed for an almost ColdFusion (or PHP) type experience. In this article I’ll show you how to install Express and how to get started building web applications using the framework. JavaScript Performance MythBusters™ (via jsPerf) SXSW 2012 (Some common JS myths busted - don't let anyone tell you the scope chain is slow (-enough to worry about) An initial look at using the AngularFire library to link up Firebase and AngularJS by creating a simple client-side search app. This past week I been taking a closer look at Firebase. In particular I have been looking at using AngularJS in combination with it in order to create web apps which don’t require any significant back-end code. This has been made a bit easier with the recent(ish) release of AngularFire which is probably the easiest way to connect the two technologies up. Couple days ago I tried to parse something from one web site. But, guess what, it’s written with bunch of java scripts and tools like wget or curl which I usually use for this not worked at all. That is because those tools will just grab non-processed html. Then I found out PhantomJS. Really powerful tool, actually it’s headless web browser which you can use in shell. Even better you can run it on EC2 instance or any other Linux machine. I thought, if this tool can load whole web page like a real web browser, why not to use it for performance testing. There are a lot of tools for this purpose, but on newer webpages which are full of pictures and java scripts those are really useless. Let’t get started with simple setup on Linux machine:... In 2011, Ext JS 3 was rewritten from the ground up, giving birth to Ext JS 4. With the changes, Ext JS 3's Ext.data.Record is replaced by Ext JS 4's Ext.data.Model class. This class introduces a host of new capabilities that generally revolve around the data contained in the Models, which are fully customizable based on user or business preferences. While each user may have a different need for utilizing Models, there are a few tasks that are universal when it comes to this new class: * Creating Models With PhoneGap, you can re-use your existing web developer skills and use the PhoneGap API to gain access to native features that aren’t accessible in mobile browsers. We’re excited to announce the following major new features in PhoneGap 3.0: * New plugin architecture - Our plugin architecture keeps your app small and fast. You only include the APIs you need and plugins can be automatically installed and removed. A scriptable web browser for web testing, web scrapping, network monitoring... SlimerJS is similar to PhantomJs, except that it runsGecko, the browser engine of Mozilla Firefox, instead ofWebkit.
Jan Hesse's insight:
corresponding blogpost: http://ljouanneau.com/blog/post/2013/07/15/Tada-Here-is-SlimerJS Node v0.11.2 was released recently, and with it support for v8 generators. Generators can be hard to grasp, but essentially they’re decorated functions that you can execute multiple times and resume execution at different points inside the function. What this means in practice is that we can get rid of the callback hell that has plauged node applications, and write code in a synchronous style, while it’s executed asynchronously behind the scenes. |
Your new post is loading...