Cool. I'm also thinking of a hybrid idea. I've done this before.
The hint that the new data is available happens through "Push".
But the decision to fetch or not & the actual data-pull happens separately.
The notification mechanism will not be required if it's a consistently high-speed requirement like Sharemarket.
If the solution involves stopping data production intermittently, then a Push-notification mechanism to trigger start/stop could be useful.
The hint that the new data is available happens through "Push".
I'm happily querying a webserver for a file by requesting its header along with the last datetime of my file. If my file is from the same date, it will only send a header back with a 403 (Not modified) (from cache).
If the clients need to be useable during the download, I'd go for the BITS-service that Windows uses to download its own updates. If the fetching of the data is more important than the clients responsibility, I'd search CodeProject for a download-manager and open 10 connections to the server from the client and have each download 1/10th of the file.
If speed is paramount then I'd recommend QNX, not Windows.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
I have an app that has 3 sets of features. The Agent, Dispatcher, and Admin.
Each's ones use the same Domain Models but the context of use is different.
And now, the Admin gets the Ticket Object that has data in it used by the Agent and the Dispatcher.
The app has a backend in Java and frontend in Angular. The communicate overt HTTP + JSON.
Should I separate them by domain, and create 3 separate microservices?
Would that be an overkill, as the app is not big?
Or should I keep the app as a monolith, and just reorganize the code in packages Admin Package, Dispatcher Package, etc... ?
I remember this from when I was a student, I'm sure my lecturer called it something like "state shadowing" (permutations of that name covered by the "shadow state" and "variable shadowing") - basically what I'm remembering is related to hardware programming where there's a time cost associated with querying the state of a connected hardware peripheral, so when setting the hardware state you also set a variable in-memory - that way whenever you need to know the hardware state you can just reference the variable.
Does anyone know what this kind of pattern would be called?
I'm looking for some inspiration on how to design something, so I'm just looking for any kind of related literature, but it's a bit hard to find anything when you don't know the name.
I would call it a cached result, but maybe some other term is in common usage among embedded system developers who work close to the hardware. Objects sometimes do the same thing to avoid calculating a result that clients frequently use.
We are starting a new project and are discussing about which architecture to use in our project.
We want to decide between Monolithic and Microservices architecture.
Just to give a overview of our project,
We have four functional modules, each with a specific functionality.
Each of these module is part of a process flow of the project.
After completion of each stage of the flow, that data will be used by the next module for further processing.
This will be a web application which can be used by anyone by registering.
Number of hits to this application may not be as much as with other applications, as it will be used only by people with specific expertise.
May be by around one million people.
Please suggest your thoughts on how to go about this project.
My thinking is that microservice architecture brings a lot of operational complexity and inter-service communication (i.e. you should handle failures during communication gracefully, manage contract changes between services, etc). So you should consider them carefully not just use them as a new default.
I also feel that there are not enough details in your questions. But I think you should use microservices:
- if some of processing stage is more resource-consuming and you need to deploy multiple instances of it.
- if your processing stages belong to different bounded contexts or business domains.
If the goal is just to reduce code complexity then SOLID and vertical slices are your friends.
I guess the most sensible approach is to start with a monolith and extract microservices once needed.
I am working on a browser-based document scanning application for IE it is fine as we can do scanning through ActiveX or Add-ons etc but when it comes to modern browsers like latest chrome, firefox and edge it is very hard to call any .exe or other is related functions from client-side .. What is the option to invoke scanner from modern browsers and do necessary file I/o on client end... Please don't mention proprietary software I prefer to work with open-source solutions.. regard
It's possible to do but you cannot do it using only javscript in the browser. Code running in the browser has no access to anything on the client. No access to the file system, display, scanners, ... nothing. All it can do external to the browser is talk to web servers. But, there is no restriction on where that web server has to be running.
You have to write a service application to be installed on the client. This service has two sides to it, the first being an interface to the scanner, doing all of the work of controlling the scanner and managing the resulting files on the client machine.
Working on .Net Core MVC web application hosted in Azure App Service with WAF (Web Application Firewall) enabled. WAF rules are blocking the File upload functionality. When the rules are turned OFF, application works fine. Does anyone know how this can be fixed?
It depends entirely on the rule set that you're using. It's possible that you've got a content-type on the upload that ModSec doesn't like, or that you're using something other than POST to send a file and it doesn't like that, or even that it's tuned to completely disallow uploads.
The logs ModSec is generating will tell you which rule is getting triggers, and should help you figure out how to resolve the issue.
"Never attribute to malice that which can be explained by stupidity."
- Hanlon's Razor
I'm working on an embedded communication protocol where bytes will be transmitted. In my packets, I can only allocate 7 bits for integrity check. If I just sum up the bytes module 256 and then throw out the MSb, then I suspect errors in the first bit in each byte would not be detected. Can someone please recommend a computationally inexpensive method that is a little more robust? It needs to be computationally inexpensive because it could potentially run on small, slow microcontrollers.
Last Visit: 24-Oct-20 8:06 Last Update: 24-Oct-20 8:06