New answers tagged

0

I suggest looking at event data aggregators like Segment which can send data to both your backend and several analytics services at the same time. This would provide a solve for both your purposes without duplication of event logging in your code.


1

I usually hit three major concerns when building analytics systems. How lossy can the analytics event set be? For example ad blockers tend to block most third party in-browser analytics. Depending on your audience that can be more than 20% of your site visitors. On the other hand more reliable events can impose real performance costs on your systems. How ...


4

Do not think about logging as "I want to log this data" think of it as "I have an event that may be interesting to somebody." The fact that 99% of the time the interested party is an object that takes logging events and then writes to a disk-based log is irrelevant to that mindset. Logging is essentially a producer-consumer event framework What you should ...


0

With the second approach there is potentially a performance benefit, because you can update directly the DB without checking if the post is already liked / disliked. (Only an update, versus a SELECT and then an UPDATE) Probably you already know if the post is to be liked or to be disliked, because this action come from a GUI which show only the relevant ...


1

Semantically it is a create or update scenario, which is what PUT (which is also idempotent) means. so make a HTTP PUT request to a single endpoint with the value for like. {like: true} for liking and {like: false} for disliking.


1

With your first scheme, your endpoint is not idempotent (i.e. if you execute it twice it doesn't do the same thing as executing it once). With the latter scheme, you can easily implement it to be idempotent (and potentially use a PUT method). In this case, if the "user" likes something they've liked before, it should just succeed and do nothing. This ...


1

Roles are generally used to group users together. For example, we have several moderators on Programmers. Rather than creating a role for each user, we likely have one "moderator" role assigned to multiple users. This makes it easy to see who belongs to what group and to modify permissions for multiple users at once. It sounds like you have a classic case ...


4

As is often the case, it depends With a pure JS framework you push a lot of processing to the clients. That means your webserver for the client application will only be serving static files that can be cached. your clients have to be able to handle that processing and need some amount of computing power your clients need to fully support all JS-features ...


0

I would say that this depends on what your app does, and what are its strong suites. Lets say for the sake of simplicity that your app does one of the 3 things: Combines standard/non-ground-breaking code chunks/practices into a cool new way of organizing or viewing data for users (like, "Twitter for pets!") Reveals some awesome new technology that you have ...


1

If the dataset was expected to stay small, it would probably be faster to filter client-side. But because of this: Initially the data set will be low. But with time it will grow quite big and I want it to be scalable to it can be used for a long time and not break or slow down as data increases. I would recommend server-side filtering. Otherwise, ...


5

Node is a javascript execution environment. Node can act as a server (by executing a script that performs server functions). Heroku is an operating system (sitting in the cloud) that supports (among others) Node scripts. You can think of it like your desktop sitting on the internet, running a Node environment. When you run a server type of script in ...


1

Generically the answer is to use Powershell and Powershell remoting to perform at least some of these tasks. As Powershell is a general purpose scripting language for Windows it will enable you to do the majority of things you need - although you'd want to do so by other means than opening a remote console and using that to transfer files. In terms of ...


1

I'd start with a reverse proxy running Nginx or HAProxy with virtual hosts on a bigger Google Cloud VM. Each of your customers' personal site domains would be directed to the reverse proxy and its virtual hosts would proxy back to the appropriate AppEngine instances. This way you can serve distinct sites with TLS using SNI. Other alternatives include ...



Top 50 recent answers are included