ASP.NET Development from Different cities at the Same time [closed] - asp.net

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
Sir I am a student, I want to develop ASP.NET website. There are 2 developers in the team. So, how can I develop the website at the same time from 2 different locations (1 developer is residing in one city and another one is in another city). Please guide me about that.

Use a source control system that will allow for distributed teams. Git/Github is one of the first ones that come to mind. There is a bit of a learning curve, but it should fit nicely for your needs.
https://github.com/

Microsoft offers free TFS hosting. It integrates with Visual Studio nicely and is much more intuitive for a new comer for simple uses than Git/Github. You can find info on the free plan here: http://tfs.visualstudio.com/en-us/pricing/information/

In essence, you need source control.
Git is a common choice for this, and it's very powerful, but it can be pretty heavy for a beginner. Mercurial is similar, and something like TortoiseHg makes it somewhat easier to use (there is a TortoiseGit as well, but the complexity of Git can have you back at the command line fairly frequently). Microsoft's solution is TFS, which integrates with Visual Studio and includes a load of very nice tools.
As for hosting, there's GitHub, but like Git, that can be a bit tricky to get into. For Mercurial (and Git as well), there's Bitbucket, which is easier to use. For TFS (and now supporting Git as well), Microsoft offers the Team Foundation Service, which is free for small teams.
It depends what you're after. Personally, for a small team of relatively inexperienced developers I'd recommend Bitbucket with TortoiseHg. If you're feeling adventurous, then use Git instead (but still with Bitbucket because I much prefer their UI) because Git is well worth learning. If you really want a high level of IDE integration then TFS is the way to go, although you can replicate parts of that funcitonality with various VS plugins.

You can use;
Git with GitHub or Git with Team Foundation Service for Source Control Management
Trello or Scrum that comes with Team Foundation for User Story

Related

Is node.js ready for production use? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
Starting a new project. It's basically a blogging/commenting system.
We're considering node.js as the back end server. Is node.js ready for this sort of thing or is it too early and experimental?
We need HTTPS and gzip compression - perhaps a front end nginx server could provide this?
What's missing from node.js that would make developing a web app difficult?
From a production ready perspective, we're wondering if it is stable enough for building a commercial app on top of.
Thanks
UPDATE:
Almost a year has passed and now I'd definitely use node.js for live systems.
It's not ready. It sure is an awesome piece of software but it's not suitable for production use yet.
The developer of node.js himself stated in a talk, that it's probably full of bugs and security issues.
This is the talk: http://www.yuiblog.com/blog/2010/05/20/video-dahl/
He recommends that IF it is to be used in a production environment, you should place it behind a stable http proxy like nginx but he discourages doing that at all.
I'll wait for a production release and until then, play with it on my local machine.
Node.js is really great. But it's complicated for a production use now. Actually, the API change several times in each version and can be change again a lot of time. So you need fix to a particular version. The migration can be painful.
I'm using it for a production site. It's been live for a few months and I've had no issues with the node runtime. Stick with the latest stable release (currently 0.2.6).
The 3rd party modules written by the community are where you may run into issues. Some modules are more stable than others. The node community has standardized on github, so it's pretty easy to fork and fix things you run into. But be prepared to roll up your sleeves and hack -- it's probable that you'll need to fix a few bugs in the modules you use.
Overall I've been happy using node.js
It's just another tool, with different pros and cons. If your project is planned carefully you shouldn't run into major problems. Node.js is a very active project and it shouldn't be long before it reaches stable. If your team finally decides to use node.js please contribute any findings / solutions / code or any kind of valuable information back to the community while you're at it. That would really help. The more people active, the faster node.js will progress.
It's still got some rough edges, but I'd say it's ready to use (I'm about to launch a production site based on it). Here's an article describing how 3 companies are using it in production.
You may still find yourself finding/fixing the occasional bug, but that's where the community really shines.
(Updated answer) On June 2013 (version 0.10.12):
Node.js is ready for production, it's stable and really fast.
I am using it on live servers with Redis, using a SmartOS VM with dtrace and flamegraph for profiling (on a dev server). It also replaced quite well my Apache/PHP stack for creating websites.
The best ways to find up-to-date modules are Nipster and npmjs.
As some modules are not mature enough, finding the right one is sometimes an iterative process.
--
(Old answer) On May 2012 (version 0.6.18):
Node.js and its API seems stable enough for production use.
However, its ecosystem isn't: most modules are not stable yet and a lot of them aren't maintained anymore (last commits from 8 to 18 months - you can check on the github pages of modules)
Currently, using a module often require an active participation: subscribing to its mailing list and patch it when needed.

What is the easiest set of tools to get started with Source Control, TDD, and CI for Microsoft.Net 2008/2010 [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I work on a team with three other developers and one business analyst writing internal business applications. We're primarily building apps in ASP.Net, and do so in a very 2003-ish way. It's like going back in a time machine. Although two of the other developers are amenable to learning new things, one of the developers is not. He's the type who thinks he's the strongest developer in town, and that if he doesn't understand a new tool within 5 minutes then he just needs to build his own. He also doesn't recognize agile development, TDD, or basically any non-Microsoft-blessed tool or method. He even considers source control from anything other than SourceSafe to be dangerous. To his credit, he's a brilliant programmer, just not someone interested in software development.
So the only way I can get consensus is if a tool is really easy to use. Once we hit a single snag, he'll lose faith in a "I told you so" sort of way.
So what set of tools should I use to get us into a modern source control system, TDD, and CI? The obvious choice in my situation seems like it would be Microsoft's TFS, but I doubt I could get our thrifty and apathetic management team to spend the extra money (they already think MSDN Pro is too much).
Basically, what is the easiest set of tools to get going with Source Control, TDD, and CI for a .Net 2008/2010 environment?
I wouldn't recommend dumping all these tools and methodologies on your team at once, take baby steps. Introduce one at a time. Some will come naturally.
There are many good choices, but I can personally recommend these:
Source control: Subversion with TortoiseSVN and Ankh or VisualSVN
Continuous Integration: CruiseControl.NET
TDD tools: NUnit + your mocking framework of choice (I use NMock, though it's a bit old-school). I agree with commenter Eric that TestDriven.NET is a must-have, particularly if you want to make this easy!
These are easy to get started with because they're all good products, reasonably to very well-documented, and widely-used (so it's easy to get help).
It's always going to be difficult to introduce new tools if you can't build a consensus. Focus on building the consensus, rather than on the tools.
SVN is very good (with Ankh and TSVN), but it can be a bit surprising to people used to SourceSafe.
TDD is a technique, rather than a toolset, so you need books, blogs, etc. For tools to support it, NUnit or MSTest. Continuous Integration is a must-have. CruiseControl.Net is pretty good (though a bit difficult to configure initially). Consider also TeamCity.
Do you have a bug-tracking system?
Oh, and if your management team is that apathetic, consider quitting.
Update: you've said that they're not so much "apathetic" as "hands-off". Question: are they really hands-off, and will they let you move things along? Or are they "status quo" -- "it ain't broke, so don't fix it, and don't rock the boat"?
I think you can make a really really good case that within the last two years Agile has become completely and totally embraced by Microsoft. I know for a fact that the Codeplex, MEF, and ASP.NET MVC teams are quite steeped in it. I also think that visual studio and parts of the windows 7 team are Agile. Also consider that Visual Studio 2010 includes out-of-the-box refactorings that don't really make much sense outside the context of TDD and that Agile is the default project management template for TFS and a picture of a corporate culture that is quite different from the one of years past starts to emerge.
As for specific tools. TFS is OK for source control but I find it very heavyweight and finicky. Others have mentioned Subversion but if you're worried about MS blessings you might have better luck jumping straight to Mercurial. Its a more advanced SCM but it is now supported natively by Codeplex and has excellent windows integration. I've never used it but I am in deep tool-love with it's cousin git.
Test driven development: Start with MSTest, its not as slick as anyone would like but its not the worst thing in the world. I would also recommend MbUnit which has all of NUnit's features along with some good support for the integration tests that you will probably be writing by accident as you are starting out with testing. Oh, and if you have customization freak I would urge him to look at XUnit.Net.
Mocking: The choice is basically Rhino Mocks or MoQ. Here's a quick intro I wrote for Rhino Mocks that goes over all the basics. That being said, the trade off seems to be more documentation for RM versus a very mildly less error prone syntax for MoQ.
Test Runners: If you start out with MSTest you'll notice that you can get a significant speed boost in your test runs by using TestDriven.Net, resharper or coderush rather than the built in test runner. That being said, don't underestimate the standalone test-runners. They can be quite good every once in a while. I heavily recommend Gallio Icarus runner which comes with MbUnit.
I want to echo what George Mauer has said and suggest starting with MSTest for your unit testing. It's right there in the box to begin with Visual Studio, this will help in your cause as it's "MS blessed".
I would start with unit testing and take it from there, after a few months of "look how easier our life is now we have these tests automated" I'd take it up a notch. Consider adding something like Selenium or WatiN to the mix. Once you're rolling with that, get your CI server up. "Wouldn't it be great if we didn't have to start off all these tests manually?..."
I guess a decent SCM might be a sticking point. SourceSafe is better than nothing. Perhaps start using Mercurial or Git yourself? Show those open to the change the benefits, eventually your stubborn dev will come around when others around him are wanting to switch. Hopefully, he'll find it harder to shout if he's in the minority.
Check out http://www.viget.com/extend/effectively-using-git-with-subversion/ for ideas with mixing up different SCMs.
I also want to +1 mxmissile for saying to take things slowly. I think you'll find it very difficult to introduce all these changes in one go. It's a lot to take in at first if you're not used to it. Try to pick the part you're weakest on, or will add the most value and build up from there.
Good luck!
One tool that got me hocked on TDD is TestDriven.Net which puts the test results in the Output window. I mapped this to the F8 key and the productivity gain is superb; write a test, press F8 and see this results in the output window.
One suggestion I also have to differentiate between having Unit Tests and doing TDD. I have found that TDD can be hard to push on to a team, while; unit, integration or functional tests are an easier sell. Having a bunch of tests that saves an hour going through a manual test day after day is a big win.
After a while people will start to appreciate some new ideas if it is helping them in their daily life. Then you'll be able to introduce a build server, and move away from SourceSafe.
In .NET environments, Microsoft Visual SourceSafe is most frequently used. (but it costs). Next to that you can opt for SVN or GIT. Git is more recent (and gaining popularity). It's easier to work with than SVN once you get it.
http://git.wiki.kernel.org/index.php/GitSvnComparison might help with your decision.

Premium ASP.NET hosting [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I know there are a million ASP.NET hosting options, but what are the premium options if you have some money to spend and want maximum performance and uptime? We currently use MaximumASP and they are generally great. I know another good option is Rackspace. Does anyone have any other suggestions? This is one of those things that is hard to Google, because everyone calls their hosting option premium or professional.
I'd say Rackspace is a good choice, but I use discountasp.net because I needed .NET 3.5 SP1 hosting with SQL 2008 and they delivered.
If you want something between shared hosting and Rackspace dedicated, check out their newly acquired cloud offering. I've been using it for a few months with a lot of success.
http://www.rackspacecloud.com/
The obvious choice would be to get a dedicated server, other than that I love: DiscountAsp.net as they always have the most up-to-date frameworks on their servers. Useful if your trying a new technology such as when MVC was in beta
I have used SoftSysHosting for a multitude of clients, and they have never let me down...plus, their Customer Support is excellent, accompanied with a Knowledge Base of FAQs.
I use ORCS Web for one of my sites. I've never had any problems with them in over 2 years. They asked me to fill in a survey a few months back asking what I thought of their support and I had to admit that I'd never really had to use them beyond the initial setup.
You should consider AppHarbor. AppHarbor provides sophisticated scaling and load balancing and a catalog of great add-ons. We also provide tools to make it easier for developers to move their code onto the platform using their favourite revision control tool (Git is supported and the platform is integrated with Github, Bitbucket and Codeplex). Here's a good overview of How AppHarbor Works.
(Disclaimer, I'm co-founder of AppHarbor)
Terremark.com
http://www.terremark.com
Managed Hosting and Enterprise Cloud options.

NAnt Alternatives [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I've been using NAnt for a while but it seems to be overly complex for what I need. I was wondering if there are any alternatives around for building C# projects?
I would say once you get started in NAnt it is not THAT complex. I was missing a little bit a good "let's get me started" tutorial and everything I read felt pretty dated. A good thing is that you can use MSBuild for building the application (that is what I am using) and doing the rest with NAnt.
At least I think it is not harder than MSBuild - and for things MSBuild is easier you are free to use MSBuild for that.
This is what I am using:
<exec program="msbuild.exe"
basedir="C:\windows\microsoft.net\Framework\v3.5\"
commandline="Project.csproj /p:OutDir=..\Outdir\; configuration=Release" />
There are some great alternatives now to NAnt and MSBuild.
nRake (or just Rake)
http://jamescrisp.org/2010/03/20/nrake-rake-builds-for-net/
psake -- build automation tool written in PowerShell
http://jameskovacs.com/2008/06/27/introducing-psake/
I've personally used NAnt and MSBuild and am anxiously awaiting our upcoming switch to one of these (we haven't decided yet which). NAnt and MSBuild are not that hard to start off with, but once build scripts start getting bigger and more complicated and you need to actually debug them, they become a huge burden to deal with. It really depends on how much you're automating.
You might try FinalBuilder - it's very easy to use, although I prefer to stick with NAnt. And you always have MSBuild...
There's MSBuild, but it's no simpler than Nant.
Both are fine once you get used to the syntax.
A simpler option is to use Batch files.
Another is to use CIFactory, which provides a quick way to get a build and continuous integration server up and running.
We are looking into Cake - the biggest advantage is that it's basically C#.
With the complex process we have today it's quite difficult to maintain our NAnt scripts used to build, package and label code as well as runnig unit tests, code coverage, static analysis etc..
See also Why should you use a general purpose scripting language for your build scripts?
Since most of our code is C# we rather use C#...
Phantom is a very neat alternative for C#. I wish it was in python (more portable) and more used because the syntax is very neat and powerful.
Maven is a great build tool, it was developed mainly for the Java community but there is now a .NET plugin for building C# projects. There are fairly big conceptual differences between Maven (see wikipedia for a brief overview) and NAnt so you may want to read up on that first if you want to try it.
2 interesting features:
Mature collection of plugins for doing common tasks such as testing, doc generation, deploying etc.
Can automatically get project dependencies for you from a central repository

Beginners guide to learn how to use Subversion with Visual Studio [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
What's the best way for me to learn how to use Subversion as a source code control for my Asp.Net Web Projects?
I haven't had much contact with source control before; however I have a very basic understanding of its features, so I'm looking for a way to learn the best practices.
Any tip will be very appreciated.
Once you've setup SVN you'll need to setup your repository structure. A common setup is to have a Branch, Tag, Trunk setup however there are others that may suit your needs.
Once you've setup your server you'll need a client. The most common one is TortoiseSVN. It doesn't integrate with Visual Studio, however it's extremely powerful.
Once you install tortoise, you'll want to setup your exclusion list to make sure you only commit files that are relevant to your project.
Then for a better understanding of how to use source control in general check out Eric Sinks Source Control HOWTO
TortoiseSVN?
Pretty easy to use...
It's integrated into the windows shell so basically it works from Windows Explorer.. I'm not sure if its integrated into VisualStudio 2008, but it's so easy to use anyway that I dont think you'd need it.. :)
EDIT: Plus, it's free.. :) And it's got a bunch of tools like Diff/Merge.. :) Although for that I think WinMerge is better.. But that's beside the point.. :)
I really recommend VisualSVN. It is a great product for integrating Subversion with Visual Studio.
http://www.visualsvn.com/
I would recommend ankhsvn for integrating with visual studio. I works nicely and looks similar to TFS. I also use tortoise svn for windows shell integration. Both complement each other nicely.
Not strictly related to Subversion, but Eric Sink has an excellent source control primer if you need to review the basics. Don't forget that the Subversion book is free, and it's probably the most complete (and yet still quite practical) resource on Subversion.
Like Web and Jerry, I generally like AnkhSvn for Visual Studio integration, and also make use of TortoiseSvn as a complementary tool. (For example, Tortoise's log viewer is still a bit more advanced, so sometimes I'll go in with that.)
That said, I'm not totally sure I would suggest using AnkhSvn for ASP.NET Web Site Projects. (I use it for ASP.NET Web Application Projects, Class Library Projects, and Console Applications.) There are some quirks that you might find frustrating. See this message in particular and this thread in general, from the AnkhSvn mailing list:
http://ankhsvn.open.collab.net/ds/viewMessage.do?dsForumId=582&dsMessageId=132185
You could probably live with the quirks, and maybe the AnkhSvn will eventually eliminate them all, but in my case I chose to move to Web Application Projects (instead of Web Site Projects) partly because they work better with AnkhSvn.
Also, if you do go with AnkhSvn, I suggest running one of the nightly builds, rather than the latest stable release; the nightly builds seem to have many fewer bugs and to be more useful.
I didnt get any answers when i was getting my first svn set-up for php development... so i would like to help you but i dont know any visual studio integration.
I used tortoise(btw is great and is for windows, i could help you im sure) and theres a couple of tutorials on how to set up a small repo in your own pc
Get familiar with source control terms and concepts first. Eric Sink has written a great guide for getting up to speed.
I know someone has already said "AnkhSVN", but I'd like to second that nomination. I use AnkhSVN for my department, and I love it. It integrates completely with VS2008, and gives me almost no trouble.
I also use TortiseSVN for its "Repo Browser" functionality... but I rarely ever have to go into that anymore.
Both are EXCELLENT solutions, and used jointly, should be all you need. And both are free.

Resources