Fig Leaf Software recently delivered a hybrid ColdFusion – Node.js solution to one of our customers.
We decided to use a hybrid architecture for the following reasons:
- The customer expressed a preference for using ColdFusion to drive their CMS-based website.
- The website has several embedded, small AJAX applications that leverage data from an XML-based API that sits behind the customer’s firewall.
- Java-based app servers (ColdFusion) are particularly well-suited for dynamically assembling and serving web pages.
- Node.js servers are particularly good at implementing REST APIs and handling large volume, asynchronous data requests for non-cacheable dynamic data.
- The website/web apps do not require user authentication, therefore session sharing between different app server technologies was not an issue.
- Sharing the workload between CF and Node gives us more flexibility for scaling up the infrastructure in a more cost-effective manner with options for potentially off-loading the Node service to cloud platforms such as Heroku.
Fast Track to ColdFusion 10/11 provides experienced web developers with the knowledge and hands-on practice they need to start building and maintaining dynamic and interactive Web applications using the ColdFusion application server. With over 25 hands-on exercises, this coursebook covers everything that you need to know in order to start building secure, scalable, dynamic, data-driven web sites as well as implement REST APIs to support mobile apps.
Fast Track to Sass and Compass
More books coming soon!
Table of Contents:
- Introducing the Course
- Introducing Ext JS 5
- Implementing the 3-tier architecture
- Reviewing features and capabilities
- Reviewing the Ext JS examples
- Introducing MVC and MVVM
- Introducing the Class System
- Generating App Scaffolding with Sencha Cmd
- Using the API Docs
- Debugging and troubleshooting your app
- Getting Help from the Sencha Network
- Defining Views
- Deep-Diving into the Class System
- Working with DOM Elements vs. Ext Components
- Using the Component Hierarchy
- Instantiating a Viewport
- Using the Border Layout
- Defining Panels
- Defining Toolbars, Buttons, and Menus
- Handling User Events with ViewControllers
- Working with Tab Panels
- Supporting the “back” button with Routes
- Working with Windows
- Implementing a Dashboard
- Reading Complex Data from an App Server
- Understanding AJAX and REST
- Implementing View Models and Data Binding
- Implementing Roles-Based Security
- Defining a Data Model
- Defining a Proxy
- Reading Multiple Records into a Data Store
- Using Chained Stores
- Visualizing Tabular Data in Grids
- Defining a Grid
- Using Grid Widgets
- Implementing Data Pagination
- Defining Grouped Grids
- Enhancing Grouped Grids
- Editing Data in Grids
- Generating Markup from Data
- Working with XTemplates
- Looping Through Data
- Implementing Conditional Processing
- Performing Basic Calculations in an XTemplate
- Binding a Template to a Component
- Using the DataView
- Visualizing Hierarchical Data in Trees
- Introducing the TreeStore
- Understanding the NodeInterface Class
- Implementing a Tree Panel
- Implementing a Tree Grid
- Working with Heterogeneous Node Types
- Using Trees as an Input Mechanism
- Visualizing Data in Charts
- Instantiating a Chart
- Configuring Chart Axes
- Configuring Chart Labels
- Configuring Chart Legends
- Using Chart Interactions
- Working with Bar Charts
- Working with Line Charts
- Working with Gauges
- Maintaining State
- Configuring the State Provider
- Saving the State of Components
- Adding State Management to Non-Stateful Components
- Creating Data Entry Forms
- Creating Data Entry Forms
- Defining a Form
- Configuring Form Fields
- Using the Combo Box Field
- Sizing Fields with the Anchor Layout
- Sizing Fields with the Form Layout
- Assigning Default Configuration Values
- Grouping Fields
- Validating Input Data
- Formatting the Data Validation Error Messages
- Submitting Data to the Server for Processing
- Binding Grids to Forms
- Theming your App
- Going into Production
- Documenting your App with JSDuck
- Unit Testing with Jasmine and Siesta
- Generating Testing and Production Builds
- Appendix A: Configuring your Development Environment
- Appendix B: Congressional Earmarks Lab
- Appendix C: Proposal Manager Lab
Buy it today from Amazon.com at:
Fig Leaf Software seeks to expand its team by hiring a Senior UX Developer / Evangelist.
Successful candidate will have at least one year of experience developing amazing front-end application GUI’s using at least two of the following:
jQuery, jQuery Mobile, Sencha Touch, Sencha Ext JS, Angular JS, Appcelerator Titanium, Cordova 3.5, Native iOS development, Native Android development
Experience with .NET, ColdFusion, PHP, Node.JS and public speaking/technical blogging a plus.
You will work directly with Fig Leaf’s founder/president, Steve Drucker, to help us expand and scale this growing practice area.
Send resume and sample screenshots to firstname.lastname@example.org
My company, Fig Leaf Software, has several open positions. Join a great team and engineer awesome solutions!
Other benefits include, but are not limited to:
- Generous paid vacation
- BC/BS PPO Health insurance
- Optional dental / vision coverage
- Medical Flex spending account
- 401K with a % of company matching
- Tuition reimbursement
- Access to certified training and continuing education
- Parking / Metrocheck allowance
We’re looking for:
- Google Sales Engineer / Search Specialist
Do you like working closely with sales and technical teams to drive business? If so, and you have experience with Google Enterprise products (Search, Maps, Apps), we invite you to learn more about our Google SE position.
Would you like to know more?
- Sencha Developer / Evangelist
Work directly with the company’s founder, Steve Drucker, to help us grow and service our expanding Sencha Ext JS and Sencha Touch consulting practice! Build awesome web apps for desktop and mobile!
- Drupal Developer
Create awesome content-managed websites for large public/private orgs with Drupal. Develop custom Drupal modules. Amaze your friends!
- Proposal Manager
Work directly with Fig Leaf’s management team to prepare competitive proposals in compliance with client requirements and technical specifications. Spec out the next generation of web solutions that use the latest technologies!
Other open positions include:
- Technical Project Manager
- Tech Support Manager
- Account Manager-Sales Rep
- Content Manager
- Middleware developers (PHP, ColdFusion, Java, .NET)
These positions are local to the Washington DC-Metro area.
So what are you waiting for? Send your resume to email@example.com!
I’ve had several friends ask me for my Chocolate Chip Maple Pecan Pie recipe…so here it is (to the best of my recollection!)
I got started making pecan pies from a recipe by Mary Fillmore that you can find here:
But, as Emeril would say, I wanted to ‘kick it up a few notches’
The trick with Pecan Pie is that you really don’t want to make it overwhelmingly sweet. Substituting corn syrup with maple syrup helps in this regard. I also like my pie to be a little more gooey, so I dropped one of the eggs from Mary’s recipe. I also added Bourbon because someone gave me bourbon once as a Christmas present and, lets face it, Bourbon only tastes good when combined with…pie.
Now I just need to make one hundred more pies to finally kill that bottle.
- 2/3 cup dark brown sugar
- 2/3 cup light corn syrup
- 1/3 cup maple syrup
- 1/4 cup melted butter + 1tbsp
- 1 tbsp bourbon
- 3 eggs, beaten
- 1.5 tsp. vanilla
- 1/2 tsp. salt
- 1-1/2 cups pecan halves
- 1/2 cup semisweet chocolate chips (I used Ghiradelli)
- 1 store bought frozen pie crust (because, at the end of the day, I want my pie…FAST!)
- Preheat oven to 350
- Brush pecans with 1tbsp melted butter and lightly toast in toaster oven
- Let pecans cool
- Combine all ingredients, except for pecans and chocolate chips in a large bowl, stir well
- Add the pecans and chocolate chips to the bowl. Stir.
- Dump the mixture into the frozen pie shell
- Bake until done (approx 1 hr, or until pie is set)
- Let sit for one hour
- Eat warm, with vanilla ice cream
- Wait 30 minutes, run on treadmill for three hours, minimum.
CREATE PROCEDURE [dbo].[getItems]
SELECT lat, long, ( 3959 * acos( cos( radians(@lat) ) * cos( radians( lat ) ) * cos( radians( long ) – radians(@lng) ) + sin( radians(@lat) ) * sin( radians( lat ) ) ) ) AS distance
where ( 3959 * acos( cos( radians(@lat) ) * cos( radians( lat ) ) * cos( radians( long ) – radians(@lng) ) + sin( radians(@lat) ) * sin( radians( lat ) ) ) ) < @radius
order by distance