Tools and libraries which I prefer to use in .NET stack:
- Development Tools:
- Git / Jenkins CI / Redmine
- Visual Studio 2010 / ReSharper for .NET/C# coding
- Jet Brains PyCharm for Python coding
- Environment:
- .NET 4.0 / MySQL
- Amazon EC2 / Amazon RDS (works on top of MySQL)
- Infrastructure:
- .NET 4.0
- Unit test friendly
- Prefer convention over configuration
- IoC / Dependency Injection over Autofac
- NUnit for unit testing
- Moq for mocking
- NLog logs into console, text file, LAN, Redis, database
- Data access:
- MySQL / Amazon RDS
- Fluent NHibernate as ORM solution
- Redis as fast and simple NoSQL solution
- Redis also for caching
- Configuration storage:
- Single API on top of Caslte.DictionaryAdapter for several configuration backends
- Backend can be App.config, Apache ZooKeeper, Redis, database
- Messaging:
- Message oriented architecture
- Apache Qpid as transport (consider also Redis, RabbitMQ)
- .NET WCF or ServiceStack as abstraction layer
- Web interface:
- ASP.NET MVC 3
- ASP.NET session over Redis
- Razor view engine
- jQuery
- KnockoutJS for complex client-side UI
- Dynamic Linq
- MVC Mini Profiler
- Routine automation:
- CPython or IronPython for automatic build and deployment
- CPython / spynner / WebKit or just Selenium for QA automation
- Apache JMeter for load testing
- Usually prefer to avoid:
- Microsoft Tests, Entity Framework, WWF, TFS, NServiceBus, MSMQ.
- Not interested in using:
- WPF, Silverlight
Note this list was written on 2012-02-16 and could/should/must be changed in time.