|
I agree with the points mentioned by fellow members. I just wanted to convey my thoughts on OOP/Software Structure Knowledge and how experience can or in some cases cannot bring that knowledge. If I am working on a product continuously, I am getting better at the same software I am working on, but not necessarily becoming better at OOP/Software Design because I would not know what's outside.
You are lucky if you get to work on a variety of projects that have different development stages or framework etc on a daily basis then the experience working with diverse software will be invaluable to OOP/Software Design. But if you get to work on the same software (such as maintaining and minor enhancement), you could look at completely different language/framework and start making side projects. I find this approach very useful because when I start to learn new language/framework then I have to set my mind at '0' and then I get the way that I have not been working with. For example, working with Android Development in Java made me better at background tasks and multithreading which I rarely use in my regular .Net work and I started to use the techniques I learn in Android/Java in my .Net/C# development.
|
|
|
|
|
Hi all,
I would like to build an algorithm that gets as an input a SQL database (for example SQL Server or mysql) and returns the most Important tables/views/fields in it .
Now, important is described as follows:
1. Large tables (whereas Large is not not an absolute value , but rather larger in comparison to other tables)
2. Tables with many linked tables attached (for example orderHeaders orderDetails etc.)
3. Fields with large variance (fields that all values within are null or 0 NOT important)
4. Frequently changed fields ( If users updated table records yesterday and a day before it is important)
5. Fields with Meaningful text inside
6. more properties I'm not thinking about right now....
Ideally , I would like to tweak the importance of each property above and get different results
How would you approach and design this kind of algorithm ? since it involves data modeling , analytics and AI all together...
Any known service or APIs I can use to shorten development time ?
Thank you all in advance
Michael
|
|
|
|
|
Michael Sterling wrote:
1. Large tables (whereas Large is not not an absolute value , but rather larger in comparison to other tables) Like the list of country-codes, with their names?
Michael Sterling wrote: 2. Tables with many linked tables attached (for example orderHeaders orderDetails etc.) Like the list of country-codes?
Michael Sterling wrote: 3. Fields with large variance (fields that all values within are null or 0 NOT important) Tables with lots of null values are badly designed.
Michael Sterling wrote: 4. Frequently changed fields ( If users updated table records yesterday and a day before it is important) Do you keep such information?
Michael Sterling wrote: 5. Fields with Meaningful text inside I would love that; often you see a dot (.) for a required field in the db.
Michael Sterling wrote: 6. more properties I'm not thinking about right now.... Then they should not be on the list. If I order a car, I quote what I need, without adding the text that there is more coming that I don't know yet. Focus on what you do know, and you can extend it later.
Michael Sterling wrote: How would you approach and design this kind of algorithm ? since it involves data modeling , analytics and AI all together... I'd not use an AI, just to be able to say there is AI in there. Start with finding a way to get the amount of daily traffic from a record, and work from there
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 thought it was a design & architecture forum ....
If you have nothing smart to say better not say at at all
|
|
|
|
|
Noted, and with pleasure
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.
|
|
|
|
|
The trouble here is that you are going to be querying the database architecture and that will change between each database type. I would also rank the importance of the tests to reduce the amount of work your system is going to have to do. Assuming SQL Server.
1. You can query the system to get the physical size and or the row count of each table using SMO
2. Query the system views to get the FK count (and possibly the links to the 1 tables)
3 As Eddy said 0 or null fields indicate a badly designed database. This is going to be costly to query against the large tables (if it is the small tables you REALLY have a problem)
4. Again Eddy has it right, do you store/audit the change information.
5. Sounds like 3 all over again - extend the definition of meaningful
6. In your dreams - if you can design something for forward requirements you are better than the rest of us.
What you are proposing is a rules engine and they are excellent while the rule count is small, once it grows too large the entire thing becomes unsupportable. There are MANY commercial rules engines out there.
I would approach this by demanding the business case for such a tool, what are the benefits and who is going to support, extend and pay for it. When that is not forthcoming I would shelve the entire thing.
I can't see how AI would help here (my AI knowledge is zero) but it would be a major exercise for each database you are going to support. I would also break it into 2 major projects, the database querying project that will need to be extended with each one you support and the analytical project that should be generic, accepting data from all the database types.
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
Thanks for your answer . I like your thought process
BTW, what commercial rules engines are you referring to ?
|
|
|
|
|
rules engines - Google Search[^]
There is not a single one I could recommend, including the ones I have written.
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
Just track the i/o.
Reads
Writes
Bytes transferred
By "application area", etc.
Tables with a "lot of reads" relative to other tables would seem more important.
Unless the systems are inefficient; then the numbers are still significant, but in the other direction.
So, any "recommendations" would "depend". Not much chance of something smart without a lot of custom (client) code.
The Master said, 'Am I indeed possessed of knowledge? I am not knowing. But if a mean person, who appears quite empty-like, ask anything of me, I set it forth from one end to the other, and exhaust it.'
― Confucian Analects
|
|
|
|
|
|
|
In HTML and XHTML, an image map is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). For example, a map of the world may have each country hyperlinked to further information about that country. The intention of an image map is to provide an easy way of linking various parts of an image without dividing the image into separate image files.
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.
|
|
|
|
|
Looking to figure out how to design a desktop and theme for an operating system based off of Linux. Can anyone point me in the right direction on how to do this? Anyone know of any books? Any tips? Any pointers? Any Forums? etc. The other parts are alot easier such as subject matter and basic architecture. But, for all I can find right now, everything that is out there teaches to design a server operating system Which would be nothing more than a terminal.
|
|
|
|
|
Please do not post the same message in multiple forums.
|
|
|
|
|
I did not realize that I did that. It was an accident. But, I am thinking that I am going to figure out how to put together a file system based around the graphics and apps that I want in it around C programming an x86 assembly to revolve around the linux repository that I am using. Which would start out as a basic C project with your regular basic functions. The boot part is what would be most confusing however. I cannot find anything about it anywhere.
|
|
|
|
|
Like I pointed out in the Linux forum there are many publications on all aspects of the OS. In fact you would be better going to one of the websites that are dedicated to Linux, such as Linux.org[^], as you will most likely meet more people who specialise in the subject.
|
|
|
|
|
justinsloan32 wrote: Looking to figure out how to design a desktop and theme for an operating system based off of Linux
You might want to start with thinking about why the OS matters. It will matter for the implementation but why would it matter for the look and behavior of the desktop?
|
|
|
|
|
|
Two books that you can download:
Linux From Scratch[^]
Beyond Linux From Scratch[^]
I started working through LFS when I was in high school but never finished it. It should get you through a lot of the basics (filesystem, booting, daemons, etc). After that I believe BLFS should help you get started on setting up graphics and a desktop environment, but like I said I never got that far. I opted to customise Gnome on an Arch Linux install instead.
|
|
|
|
|
My app has a feature for marking a purchase order as Sent. When clicked, a window with a PDF of a Purchase Order is dsplayed with a Send button on it. Clicking 'Send' will then open an email, pre-addressed to the recipient, with the PO attached.
The problem is this... how can I know for sure that the PO was actually emailed out?
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
If this is an in house project then you should know the mail client and there should be an API to actually send the email, eg outlook you can create and send the email without user interaction.
Otherwise you will probably need to use an SMTP server and not rely on the client machine and its mail client which may be anything.
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
I didnt ask how to send an email
I asked how I can know for sure that the email was sent
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Oh that's easy, look for it in the sent box.
Your question is unclear, what is the mechanism by which you send the email, server via SMTP or PC via email client or do you magic it across the wire?
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
They're using Outlook so watching the sent folder would probably work. I'd have to account for send failures.
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
I would always pop the email with the attachment and let the user send it, the excuse, surely you may want to add a personal note or check that what you are sending is correct.
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|