java – Proper architecture or idea to maintain documents in ERP software

I am thinking about proper way to maintain documents in my university ERP software.

In my system document is representation of some file, there is a lot of different types in document in my system additionaly every each type of document can have some additional traits like “this is a currency document” every additional trait is different – it means that one of them can provide 3 additional fields to class, second can provide one and third can be like only some kind of signature. For example If we could somehow represent this additional trait as a one interface we could create a list of these interfaces in classes.. but as I said these traits are different. I am not native english speaker so If it is not understandable I will try to refactor somehow.. So my question is how can I maintain documents like that?

windows 7 – Am I supposed to maintain the latest .NET version in production clients from a maintenance standpoint?

tldr: My applications and COTS don’t use .NET, and my Windows 7 clients have up to .NET 3.5 installed by default. Is it a security vulnerability to not install and maintain the latest .NET 4.x version?

As an engineer maintaining users’ machines in operations & support, part of my job scope is to ensure they always have the latest patches installed. My clients are installed with Windows 7 which has .NET 3.5 by default, so I need to keep them patched with the latest .NET 3.5 security updates, even though none of the deployed applications nor installed COTS have any .NET dependency. However, .NET 4 is always brought up in every monthly scan of the clients for missing patches.

From what I can find online, it’s said that you should install the .NET versions you need, but that’s from the development standpoint. What about from the standpoint of maintenance in the production environment? As an analogy, it is recommended to always deploy the latest compatible Python version as it contains the latest security and bug fixes (e.g. if the application was developed in Python 3.6, you are recommended to patch to Python 3.9 in production if the application doesn’t break). Does this principle also apply to .NET?

design patterns – Should i overwrap functions to maintain Single Responsibility for code organisation?

So thanks to the link by Doc Brown, I am going to summarise what i have learnt:
I would like to use two factors to decide

  1. Scalability
  2. Dependency

Scalability

If your codebase is something that is supposed to be maintained for a long period or if it is a throwaway program would decide if you should use a strict Single Responsibility way of organising. In the case of it having to be maintained, it is recommended to wrap all the functions to customise to your code’s objective and needs. This is because a third-party library is not customised to your needs all the way to the finest details. In the future, if you want to improve on the code, you can easily replace the libraries with better libraries or write your own optimised code. Also, it is easier for people to read as they do not need to look up those library APIs and simply need to refer to your code directly to understand what is going on.

Dependency

If your code is highly dependent on those functionalities from the library you are using (in class C), you should always organise your code with each class performing a certain group of functionalities, even if it may seem to slow you down because it is easy to trace a problem when your code base gets too large. Also, it gets messy/untidy to read when a lot of those functionalities are incorporated. I would say this point can be subjective and when in doubt, just adopt a clear, organised way to think about the program, especially when coding with others.

c++ – Should i overwrap functions to maintain an OOP design?

So thanks to the link by Doc Brown, I am going to summarise what i have learnt:
I would like to use two factors to decide

  1. Scalability
  2. Dependency

Scalability

If your codebase is something that is supposed to be maintained for a long period or if it is a throwaway program would decide if you should use a strict OOP design. In the case of it having to be maintained, it is recommended to wrap all the functions to customise to your code’s objective and needs. This is because a third-party library is not customised to your needs all the way to the finest details. In the future, if you want to improve on the code, you can easily replace the libraries with better libraries or write your own optimised code. Also, it is easier for people to read as they do not need to look up those library APIs and simply need to refer to your code directly to understand what is going on.

Dependency

If your code is highly dependent on those functionalities from the library you are using (in class C), you should always stick to a strict OOP design even if it may seem to slow you down because it is easy to trace a problem when your code base gets too large. Also, it gets messy/untidy to read when a lot of those functionalities are incorporated. I would say this point can be subjective and when in doubt, just adopt a strict OOP design, especially when coding with others.

document library – Office 365 SharePoint, Copy folders and maintain direct access permissions?

Title says most of it, I created a folder and a bunch of subfolders then gave people direct access to each of them.

It’s basically a template that I want to copy/paste and modify the name.

“Copy To” doesn’t maintain direct access permissions, how do I effectively copy/paste a retain them properly?

What Is The Most Useful Software To Maintain Business Tasks?

 

python – How to maintain RabbitMQ durable queues in SOA

I am researching for message bus for our SOA so we can propagate the data changes to different services, I would like the queues to be durable so that messages will stay in the queue if the subscriber temporarily down. This is working fine, but my question is, what if the subscriber service gets deprecated? I presume the queue will stay there and continue to collect messages? This is a big problem if the subscriber service gets deployed to a lot of places then gets deprecated later on.

My question:

  1. Is it possible to set the expiration of the queue to delete itself if no connectivity for a period of time?
  2. What is the best strategy to maintain queues like this?

Session maintain in the Google App Script

I need to maintain session in Google App Script for login user for atleast one hour, i have done login screen in the below attached link. When i refresh the page the user is automatically logged out,i need to maintain his session for one hour. I have researched in many websites but I did’t get problem code.Please help me out.

https://docs.google.com/spreadsheets/d/16Z2GLfO2GFYIBWXiz4yIs7hfF63WLKm-RhdUMssF0D8/edit?usp=sharing

python 3.x – Does hashing a dataframe in pandas maintain the hash when comparing a new row in another dataframe?

Everyday, I am Extracting and transforming, 10rows of data from 2 api endpoints, iterating through 5 ids. This data is in a pandas dataframe.

I have a table (10k+rows) in a db, that I want to read into pandas dataframe and compare the 10rows i get everyday to the rows in the db.

To do this i have come across this link, and discovered hashing. I would hash the rows in both dataframes and compare. If the hashes in any of the 10rows match the hashes from the larger dataframe then do not append to the final table in our db.

My question is within the link its unclear if I keep appending and reading the table from my db into dataframes everyday, would the hash values change over time or would the integrity of the hash values maintain?

I plan to use this utility: from pandas.util import hash_pandas_object

design – How to maintain well structured code and latency optimized code together?

I’m working on a c++ data analysis project. My workflow goes like this

  1. Analyze the data and build models
  2. Optimize the code for latency, to deploy for production
  3. goto 1

Step 1 has lots of machine learning parameters, using which I test very minor variations of algorithms. In step 2, I clean up the unused parts of the code (non optimal parameters), optimize code for latency (changing maps to arrays for example), and deploy the code. These modifications are done directly on the step 1’s code. No separate branch in maintained.

When new data is obtained and step 1 is required to be repeated, I would have lost the ability to test minor variations of an algorithm. One way to solve this is to maintain two branches. One will be an experimental branch, which has all the parameters for the minor variations of the algorithm. Another branch will be latency optimized code. But, the problem here is any small change in experimental branch will need to be repeated in the latency optimized branch, because there two branches cannot be merged. There are huge differences (even new files appearing) between experimental branch and latency optimized branch, which hinder direct merging.

Is there any other way to solve this?

EDIT1: Another example of step 2

For the sake of illustration, lets say step 1 leads me to a predictor y = f(x) = floor(x^3 + 3x^2 + 5x), where floor(z) = (value of integer closest but <= z). x in (0, 100).
The basic way to make prediction (in deployment) is to evaluate f(x).
But, observe that the whole function is discrete in output and increasing. So, another way to predict is to store ranges of x, which map to y = 1, 2, …, and do binary search on it.
This will lead to maintaining a vector with entries,
{(lbx_1, y_1), (lbx_2, y_2), …}, where y_i = i, lbx_i gives the least value of x such that f(x) >= y_i.
In this case, for any input, a simple binary search will fetch the prediction much faster.
(In practice, f(x) is much more complicated than the above mentioned function).
The latency optimized branch will have this map for prediction.
The experimental branch will evaluate the function.
But I also need the general evaluator for experimentation, in case my predictor turns out to say y = f(x) = (x – 1)^2.