Tuesday, October 29, 2013
Cloud Stuff
Free hosting
http://www.windowsazure.com/en-us/develop/net/aspnet/?WT.mc_id=A5A71FF5F
AWS Services
EC2
S3
RDS
SNS
SQS
Monday, October 28, 2013
ASP.NET MVC
Best Practice
- Put validation logic to "view model" instead of your business model - Link
- Automapper improve productivity but slow, use with care
- Entity Framework Patterns - Link1 Link2
Security tips for security (ref link )
- Anti-Forgery-Token (attribute) on the login page
- Slow all authentication attempts down by at least a second (makes brute force impractical)
- Implement an account lock out procedure on n amounts of invalid logons
- Always use a generic error message on your failed logins to prevent hackers knowing which part of a login is wrong
- Always encrypt your passwords in the db with a salt, the salt should be per user to prevent a rainbow attack on a stolen database
- Always make sure that any data displayed or retrieved is valid for that user
- Always use parameterised sql
- Try and obfuscate the ids passed around in your urls and views to prevent modification or an attempt at a direct reference attack
- Elmah
- Glimpse
- Ninject (https://github.com/ninject/ninject/wiki/_pages)
- WebMatrix - SimpleMembershipProvider
- WebActivator
- OAuth
- EntityFramework
- Javascript Libs
- JQuery UI
- Kendo UI
- http://www.nuget.org/packages/Google.DiffMatchPatch.Js/
- Knockout
- Backbone
- Bundle
- Routing
- ViewModel
- Validation
- Model Binder
- Bundle
- Partial View
- Child Action
- Filter
- View Engine
- Controller Factory
Questions and Answers
Labels:
ASP.NET,
Best Practice,
MVC
Thursday, October 24, 2013
Saturday, October 19, 2013
Job Interviews
Questions
All Technical Interviews
http://www.indiabix.com/technical/interview-questions-and-answers/
http://www.pcds.co.in/
Generic Programming Skills
- Client side performance improvement
- OOP and OOAD
- CSS inline width and hight
- ER diagram
- UML diagram
- Design API
- Patterns
Project Related
- Git - difference between pull and rebase
Generic Front-end
- Mobile 300ms delay - Solution
- HTTP Status Code
- HTTP Methods
ASP.NET MVC
- MVC globalization, and differences with traditional ASP.NET
Javascript OO Features
- Backbone.js
- Angular.js
- Knockout.js
Database
- SQL interview Q&A http://blog.sqlauthority.com/sql-server-interview-questions-and-answers/
- SQL server performance tuning (http://www.mssqltips.com/sqlservertip/1429/sql-server-dba-performance-tuning-interview-questions/ )
Non-Technical Questions:
- Talk about yourself.
- What are things you don't like to be a front-end developer.
- What's your weakness?
- Why do you leave your company?
Job Sites and Resources
- SEEK
- CareerOne
DBA - MS SQL Server
Become The DBA
http://www.johnsansom.com/how-to-become-a-sql-server-dba/
http://www.idevelopment.info/
Database Documents
MySQL - http://dev.mysql.com/doc/index-topic.html
SQL Server - http://www.microsoft.com/en-us/sqlserver/default.aspx
Oracle Database - http://www.oracle.com/us/products/database/overview/index.html
DBA
http://www.mssqltips.com/sql-server-tip-category/53/dba-best-practices/
[SQL Job] http://www.mssqltips.com/sqlservertip/2561/querying-sql-server-agent-job-information/
Tutorials
http://www.studytonight.com/dbms/er-diagram.php
Locking - Pessimistic and Optimistic locking in .NET
http://www.codeproject.com/Articles/114262/ways-of-doing-locking-in-NET-Pessimistic-and-opt
Sites
http://sqlfool.com
e.g. http://sqlfool.com/2011/06/index-defrag-script-v4-1/
All samples (sample database, project, etc..)
http://sqlserversamples.codeplex.com/
CLR and Aggregate function
Syntax
Union and Union All - Union All allows duplicates, but Union will remove duplicated rows.
Cluster and Non-Cluster Index
http://stackoverflow.com/questions/91688/what-are-the-differences-between-a-clustered-and-a-non-clustered-index
Clustered indexes are stored physically on the table. This means they are the fastest and you can only have one clustered index per table.
Non-clustered indexes are stored separately, and you can have as many as you want.
The best option is to set your clustered index on the most used unique column, usually the PK.
A clustered index is a special type of index that reorders the way records in the table are physically stored. Therefore, the table can have only one clustered index. The leaf nodes of a clustered index contain the data pages.
A non-clustered index is a special type of index in which the logical order of the index does not match the physical stored order of the rows on disk. The leaf node of a non-clustered index does not consist of the data pages. Instead, the leaf nodes contain index rows. (Read more here)
SQL Server Optimization
http://technet.microsoft.com/en-us/library/aa964133%28v=sql.90%29.aspx
SQL Server Optimization
http://technet.microsoft.com/en-us/library/aa964133%28v=sql.90%29.aspx
Labels:
SQL Server
Thursday, October 17, 2013
Site Performance and Scalability
REDIS
http://highscalability.com/blog/2014/9/8/how-twitter-uses-redis-to-scale-105tb-ram-39mm-qps-10000-ins.html
Still good to read:
Scale up and Scale out
http://www.codinghorror.com/blog/2009/06/scaling-up-vs-scaling-out-hidden-costs.html
Performance - Good Start:
http://stackoverflow.com/questions/2246251/how-to-improve-asp-net-mvc-application-performance
Integration Test
For web applications, the most common approach to integration testing is UI automation. This term
refers to simulating or automating a web browser to exercise the application’s entire technology stack by
reproducing the actions that a user would perform, such as clicking buttons, following links, and
submitting forms.
The following are the two best-known open source browser automation options for .NET
developers:
• Selenium RC (http://seleniumhq.org/), which consists of a Java “server”
application that can send automation commands to Internet Explorer, Firefox,
Safari, or Opera, plus clients for .NET, Python, Ruby, and multiple others so that
you can write test scripts in the language of your choice. Selenium is powerful and
mature; its only drawback is that you have to run its Java server.
• WatiN (http://watin.sourceforge.net/), a .NET library that can send automation
commands to Internet Explorer or Firefox. Its API isn’t as powerful as Selenium,
but it comfortably handles most common scenarios and is easy to set up (you
need to reference only a single dynamic-link library).
View
In the view, you can access WebPageRenderingBase directly, e.g. get user name - @User.Identity.Name
Server Debugging Tools
- Dumpchk - check dump
- winDbg - hang or crash
- vmMap - memory leaking
- Fuslogvm - assembly binding (Link)
Labels:
Performance,
Scalability
Wednesday, October 16, 2013
Visual Studio - The Best IDE for .NET
Plugin
- Resharper
- Flow
- JSLint
- AWS
- Azure
- PHP (https://visualstudiogallery.msdn.microsoft.com/8292e47d-8ed2-48cb-9ebd-064e0b7891cf)
Analyze
- Profiling
- Load Testing
Template
Team Foundation
MSBuild
Increase VS Memory:
http://old.stevenharman.net/blog/archive/2008/04/29/hacking-visual-studio-to-use-more-than-2gigabytes-of-memory.aspx
Labels:
IDE,
Template,
Visual Studio
Tuesday, October 15, 2013
Learn Javascript
Resources
https://developer.mozilla.org/en-US/docs/Web/JavaScript
JQuery
http://jqfundamentals.com/
OOP
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript
AngularJS Tutorial
Documentation http://docs.angularjs.org/guide/concepts
http://www.thinkster.io/pick/eHPCs7s87O/angularjs-tutorial-learn-to-rapidly-build-real-time-web-apps-with-firebase
Breeze
http://www.breezejs.com/samples/todo
Javascript Libraries
Labels:
Javascript,
Learning
Nice ideas and sites
Mail Chimp - http://mailchimp.com/about/
Campaign Monitor - http://www.campaignmonitor.com/
10 Web Sites http://www.sitepoint.com/10-websites-creative-moving-elements/
Great Web Designer Works
http://www.denisechandler.com/portfolio.html
http://www.designcrowd.com.au/
Kids
http://www.sillypoems.info/
Business
http://www.rbc.com.au/
http://www.imobileaccessories.com.au/index.php [looks comfortable]
http://www.snorgtees.com/t-shirts [T-Shirts]
Stores
http://www.luhsetea.com/
http://www.49thparallelroasters.com/
http://cupcakesandcola.com.au/
中国长城汽车 Sydney Great Wall Car SUV
http://www.greatwallmotors.com.au
中国奇瑞瑞虎汽车 Sydney Chery J11 SUV
http://www.cherymotors.com.au
Labels:
Case Studies,
Ideas
Just Architecture
Soft skills
- Communication
- Presentation
- Prezi - http://prezi.com/
- Leadership
- PM - Agile, Scrum
- Hanselminutes http://hanselminutes.com/
- DotNetRocks
- InfoQ
Tech skills
- Design
- Methodology - TDD, DDD (Domain Driven Development)
- Prototyping
- Online UML and WireFrame Tool - https://www.draw.io/
- Create Form Tool - Wufoo - Blog
- Documentation
- Kendo UI - http://demos.kendoui.com/
- Stripe - https://stripe.com/docs/stripe.js
- Data
- NoSql
- NewSql - NuoDB (http://www.nuodb.com)
- API
- Queue (queue system comparison)
- Network
- Language: .NET, JAVA, Python, Ruby, PHP, Javascript
- Components: SignalR
- UI Suite - Kendo UI, Sencha
- Reporting: https://www.jaspersoft.com/
- Continuous Integration (CI)
- NuGet - Create Package
Tools
UltraEdit
Server Debugging
- Dumpchk - check dump
- winDbg - hang or crash
- vmMap - memory leaking
- Fuslogvm - assembly binding (Link)
CSS
LESS
http://www.lesscss.org/
Bootstrap
http://getbootstrap.com/getting-started/
Foundation
http://foundation.zurb.com/
Labels:
CSS,
UI Development
Design a system
You need a plan.
You need some patterns.
Patterns
Web Hooks
http://apidocs.mailchimp.com/webhooks/
http://code.msdn.microsoft.com/site/search?f[0].Type=User&f[0].Value=Srigopal%20Chitrapu
CQRS - Command and Query Responsibility Segregation
http://msdn.microsoft.com/en-us/library/jj591573.aspx
Design Patterns in .NET Framework
http://msdn.microsoft.com/en-us/magazine/cc188707.aspx
Javascript Libs
Here are the things you need to know and learn.
Also have a look - http://en.wikipedia.org/wiki/List_of_JavaScript_libraries
Framework
- JQuery
- JQuery Mobile
- Node.js
- Ember.js
Pattern
- Knockout.js
- Backbone.js
- Underscore.js
- Angular.js
- Socket.IO
Unit Test
- QUnit.js
- Jasmine.js and Jasmin-jquery.js
Debug
- JHint.js
Function
- Require.js - javascript file loader
- Moment.js - nice date formating lib
- Modernizr.js - device feature detection
- Prettifier - http://code.google.com/p/google-code-prettify/
Labels:
Javascript,
UI Tech
Monday, October 14, 2013
UI Test
TDD -
Jasmine.js is good choice for javascript unit test as there is a Teamcity plugin
Jasmine-jquery adds more features, e.g. load fixture, etc..
http://pivotal.github.io/jasmine/
http://net.tutsplus.com/tutorials/javascript-ajax/testing-your-javascript-with-jasmine/
Nettuts+ Blogs
http://net.tutsplus.com/tutorials/maintainable-automated-ui-tests/
http://net.tutsplus.com/tutorials/tools-and-tips/tips-to-avoid-brittle-ui-tests/
Labels:
Jasmine,
Javascript Test,
UI Test,
Unit Test
Continuous Integration (CI)
Continuous Integration (CI)
Teamcity Plugins
http://confluence.jetbrains.com/display/TW/TeamCity+Plugins
Octopus
http://octopusdeploy.com/
Nuget
http://docs.nuget.org/
Some blogs for Nuget
http://blog.davidebbo.com/2011/04/easy-way-to-publish-nuget-packages-with.html
http://blog.davidebbo.com/2011/01/nuget-versioning-part-2-core-algorithm.html
Team Foundation Server
Sunday, October 13, 2013
Dev Links and Tools
Dump stuff here and edit them later.
Network
IoMeter
Shortcut
http://www.shortcutworld.com/en/win/Eclipse.html
Storage
Baidu Cloud (2T free) - pan.baidu.com
Editor
Note++
UltraEdit
Vi and Vim
IDE
Visual Studio
RubyMine
PHPStorm
InteliJ - For JAVA and Android
Eclipse - For JAVA and Android
Quick Dev Tools:
LINQPad
Windows Tools:
WireShark
LockHunter
Slickrun
Presentation
Prezi - http://prezi.com/
Books
Free ebooks (>1000 books) https://github.com/vhf/free-programming-books
Tutorials
W3School - http://www.w3schools.com/
Create PDF for free - Bullzip (do not check "Print to file")
Subscribe to:
Posts (Atom)


