Chandler Dhall – Microsoft MVP INETA speaker
- problem solving/ algorithms
- worst case or Omega
- best case omega
- average case theta
- secure coding practices
- sanity checks
- validations (client side and server side)
- authentication
- authorization
- .asp top 10
- object oriented principles
- principles do not change
- get the right abstractions
- inheritence
- encapsulation
- aggregation
- composition
- solid principles
- there should never be more than one reason for a class to change
- classes should be open to extension but closed for modification
- make fine grained interfaces that are client specific
- abstractions should not depend upon abstractions
- REST
- 1 client-server
- clients aren’t concerned with data storage
- servers aren’t concerned with user interface
- Unit Test
- unit testing frameworks
- code coverage
- test first approach
- your tests should define your api
- tests should be in memory
- every test should be self-sufficient
- don’t test outside your code
- Source Control
- git
- tfs
- Continuous Integration
- team system
- cruise control
- jenkins
- team city
- go
- Design Patterns
- Learn more than 2 languages
- Team Dynamics
Javascript – James Johnson james@latringo.com twitter @tringo
each browser has its own js engine, today most behaviors the same
local variables
- defined within a function
global variables
- defined outside the functions
chaining improves performance since you don’t have to search the DOM again
using the $ in front of the object makes the object not just a string
.clone() – clone an object and add another object to the page – like a player
.wrap() –
.stop() jump to end
nathan totten @ntotten
windows azureconf.net
nov.14th
node.js js on the server
- not thread based
- efficient and highly scalable
- async model
- single-threaded event loop
operating system >V8 Javascript Engine > libuv
libuv
crossplatform IO lib
api is asyncronous
non-sync IO is managed by libuv
good for:
- realtime communication
- custom network services (proxy severs)
- JSON web services
- client-oriented web UI’s
- (anything you’d build with sinatra)
OK for
- forms over data
WRONG for
- CPU intensive processing -video transcoding, image rendering
IIS
- process management
- scalability on multi-core servers
- access to log over http
- side by side with other content types
- integrated management experience
- webSockets on Windows Server 2012
Windows Azure
- using node.js
- global footprint
- windows azure for node apps
microsoft BizSpark
—————-
start a node server
npm = install node module ” express”
debugging in node
- debug server.js
- also install node-inspector
debuggin in browser
- install node superviser.js (for dev environment) -like livereload
install node socket.io (realtime comm with browser)
they laughed at tfs
——
anand raja – solutions engineer
@anandraja777 araja@infragistics.com
knockout.js
MVM = separation of concerns
- view = UI Logic
- View Model = Pres Logic/ State
- Model = Data /Bus Logic
knockout.js the binding for the browser
knockout more on server, ember more on client, backbone in between those two
js best practices
- script tags at bottom of page before closing body tag
- mini faction and bundling
- fewer HTTP calls
- smaller files = faster download
- namespacing
window.ns = window.ns \\ {};
- closures are powerful
- revealing module patterns (controversial)
var Person = function() {
//private members
//public members
return {
speak: speak
}
- single var pattern
- Hoisting Coding tips
- Loop optimization
- curly braces – on the same line
- ‘eval’ is evil – don’t use it
- avoid implied type casting
- use js lint
You must log in to post a comment.