What's the best way of doing it from a code reusability standpoint?
What's the best way of doing it from a time to create instance standpoint?
What's the best way of doing it from memory footprint standpoint?
Of the ways I've seen and tried, John's method seems the easiest to use: http://ejohn.org/blog/simple-javascript-inheritance/
But I hate that it has to loop through every property every time you extend a prototype.
Most inheritance patterns I've seen need to have the original prototype cloned or instantiated in order extend a new prototype safely. Is there a way to do it that allows all instances at all levels of the inheritance chain to still share the same common methods in memory where they aren't overridden?
Thanks!
An example would be fetching the 10 most recent submissions by a specific user, sorted by "rating" number which is also associated with a piece of content, as well as all content which has been related to each returned piece of content.
IE Bob requests the 5 most popular data points he's published and all the associated images/links/etc.
I am currently using MongoDB, and have had no issues, but after doing some research, I'm considering switching to an amorphous Postgres implementation where there are only 2 tables, a data table and a relationships table, with Memcached keeping some of the higher level requests precached for quick fetching. This should keep my schema from the application's perspective highly flexible.
I know it's apples and oranges, but would anyone be willing to offer maybe some of their own experiences with similar setups that might help me determine if this is a good decision? My main reason for looking into migrating away from MongoDB is write speed and data volatility. I don't want to ever lose data if possible, and I understand that Mongo has table level locking when writing (is this true still?)
If anyone has any advice on the performance/reliability implications of either or both options, or if anyone thinks there's an even better 3rd option I haven't considered, I would be very interested to hear!
Thanks so much!
I have a very early beta up of a free service I'd like to offer (and maybe even open source). I feel the timing of it is right, and the service useful, but I have little time to work on it and so it could still use several weeks of hard polish and testing.
That said, I feel that given what is currently happening in the world of social services (app.net, twitter's api changes, etc), it is timely.
Do you feel it's better to take another week or two and add a bit of spit shine, or should I start getting feedback immediately?
I expect the answer most people will give is to just get it out there so I can find out if it's what people want, and if not, why. But there are definitely cases where that might be a mistake, and I would like to know what things someone might be cautious of when making this decision.
Thanks to all you great folks at HN!