I have a 3 minute questionnaire which I would love to have filled out, or if you'd like to contact me my email is on my profile page.
thanks, Harry
https://docs.google.com/spreadsheet/viewform?formkey=dEhGWjl...
846 karma · joined May 15, 2010
I have a 3 minute questionnaire which I would love to have filled out, or if you'd like to contact me my email is on my profile page.
thanks, Harry
https://docs.google.com/spreadsheet/viewform?formkey=dEhGWjl...
And double the screen resolution.
Also, you haven't said if the existing code is WebForms or MVC (and the fact that you haven't makes it seem like you may struggle to finish the server side code using ASP.NET).
Which platform were you thinking you would develop the REST API on if not ASP.NET?
a library for mapping http requests to domain objects (see 'naked objects' pattern), with convention based runtime form generation. no more writing controllers, most views are generated, full feature REST API out of the box. A bit like Django admin template, but more powerful.
an in memory 'db', persisted using an event log of user inputs to the domain model (see 'prevalence' pattern). no more worrying about network latency, no more mapping objects to database columns, no more writing update scripts (or at least not much)
I don't think either of these approaches have much love in the mainstream, but I think they make me way more productive than the standard MVC/(SQL/NOSQL) approaches.
At some point we are going to move to self-describing APIs, documented at source. Check out the http://restfulobjects.org/ spec for ideas on how this will work.
I have had success numerous times introducing an internal blog as a team knowledge repository, blogging anything interesting to it. With a search function, and making anyone an editor, it has many of the same features with a number of benefits:
- people can comment and ask questions
- signing up the development mailing list as an email subscriber ensures everyone sees new info as it is posted
- people blog about code issues, and tips and trick, not just 'how complicated feature X works'
Honestly, it works a treat. Blogging is the mechanism by which we share programming knowledge on the internet, why shouldn't it be the method we use inside our workplaces?
I'm switching to the first one to implement webhooks for file updates.
var rules =
AppDomain.CurrentDomain.GetAssemblies
.SelectMany(a => a.GetTypes())
.Where(t => typeof(ISecurityRule).IsAssignableFrom(t))
.Select(t => Activator.CreateInstance() as ISecurityRule)
.OrderBy(r => r.Priority);
You can then run a chain of responsibility by writing var allowed = rules.First(r => r.Check(someObject) != null);
//Check returns null when a rule isn't relevant to the object being checked
it's pretty sweet for metaprogramming when you can run queries against your codebaseGives me a warm fuzzy feeling to see c# running everywhere.