Tag Info

New answers tagged

3

I think you are taking on unwarranted personal risk here. It's clear from your question you already realize a larger development team is necessary, that you cannot continue to do the work of multiple people without making untenable compromises to the quality of your work, the quality of your life or both. As a software engineer, it will be up to you to ...


-1

Well, I am a newbie to industry but so far what I have known is versions are always helpful in terms of development and our internal management. User may not be interested in what and how you are working on your version controlling system or whether you are launching alpha, beta versions. But at the same time when we do update a version we want to convey the ...


0

Absolutely use versions for customers. Google and Facebook do this as major versions. Check your facts on that one. Of course there are internal versions but the outward ones should be stable in terms of the contracts/signatures and responses. Upgrades then don't break customers and newer versions can do away with cruft as needed. You can also announce a ...


1

I would go back to the real purpose of version numbers: to uniquely identify a particular body of code. This is important in a lot of places, but there are several cases where I could see forgoing showing them to clients: They are used by clients who need to update (which you explicitly said you weren't dealing with). This also includes clients who would ...


5

There are two possible consumers of version numbers. Your internal processes and people using your service. With internal processes, version numbers help you identify when something was fixed and what has changed since them. By saying "we fixed this in version 1.2.3" you know where that was done and if you are now experiencing the same bug, you've got a ...


2

User facing code does not need version numbers. But if you are writing code that is consumed by external developers, then you absolutely should offer version numbers, and ALSO maintain multiple versions on your site. With a clear deprecation policy. Doing that will give you the freedom to make potentially backwards incompatible changes to your API, and ...


9

You might want to have internal version numbers of your application to better manage your internal development processes. However, these numbers are of little use for the user. The usual purpose of version numbers is to tell the user if their application is up-to-date or not. When this is not within their control, it can at least be useful for support ...


1

There are a couple of ways to approach this, depending on your requirements and scale. First of all though, I don't believe a CDN is appropriate in this case. A CDN is used for caching of static documents to provide faster delivery of those assets to end users. It's not relevant for centralised storage or management of files. At the larger end of solutions ...


1

Use Optimistic Concurrency Control. Add a versionNumber or versionTimestamp column to the table in question (integer is safest). User 1 reads record: {id:1, status:unimportant, version:5} User 2 reads record: {id:1, status:unimportant, version:5} User 1 saves record, this increments the version: save {id:1, status:important, version:5} new value ...


2

We have a cluster-environment too. We use Hazelcast for such jobs. With Hazelcast you could embed the codeblock for updating within a "Hazelcast-Lock-Section". It is not my favourite solution, but this is how it is done in our application (and maybe suits hazelcast your needs). I opt for a smaller and easier solution: I would write a small (buzzword-alarm: ...


1

Using a messaging broker seems like the best tool to inform other applications that they should update rather than polling (which is fine really too). http://www.rabbitmq.com/ Locking the database table for writing is what you want to prevent race conditions.


0

Some Object Relational Mapping (ORM) systems will detect which fields of an object have changed since being loaded from the database, and will construct the SQL update statement to only set those values. ActiveRecord for Ruby on Rails is one such ORM. The net affect is that fields the user didn't change are not included in the UPDATE command sent to the ...


2

You need to "read your writes", which means before you write down a change, you need to read the record again and check if any changes where made to it since you last read it. You can do this field-by-field (fine-grained) or based on a timestamp (coarse-grained). While you do this check you need an exclusive lock on the record. If no changes were made, you ...


5

I have seen 2 main ways: Add the timestamp of the last update of the page the use is editing in a hidden input. When committing the timestamp is checked against the current one and if they don't match it has been updated by someone else and return an error. pro: multiple users can edit different parts of the page. The error page can lead to a diff page ...



Top 50 recent answers are included