|
I don't see an incompatibility between OOP and Microservices. I code my Microservice interfaces as a collection of repositories, and they play perfectly nicely in an event-driven OOP system.
I do exactly the same thing on the other side: I write a microservice as I would a DAL repository, generally with a Model-Projection flavor, which is pretty fundamental OOP.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
Nathan Minier wrote: I don't see an incompatibility between OOP and Microservices.
Exactly. And really everything you said is exactly what the author of The Tao of Microservices is saying.
That's why I found it interesting. OOP has led to microservices which is maybe just a pattern built on OOP principles. I think the progression of software design in this is very interesting.
|
|
|
|
|
Well, to be fair, a well-formed microservice is just a data source, and should be able to play nicely with any sort of design paradigm (though Functional would be the other logical approach).
I prefer to think of it as de-duplication of effort through an abstraction layer. The lovely thing about abstraction layers is that you can take an asymmetrical approach on either side of one.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
I would be interested in how cobbling together microservices as components within an application accounts for:
1 - the additional time required for external calls to a microsoervice versus calls to in-process components/libraries.
2 - interruption in network communication (network goes down, some IT guy changes firewall and router ports, loss of Internet access, etc.) when trying to connect to microservices versus no network connections when using in-process components/libraries.
It seems to me that performance and reliability are issues that can be negatively affected by microservices that do not come into play when using traditional local libraries that get linked in.
I would think someone saw this early on and those concerns are already addressed.
Thanks
|
|
|
|
|
Those are great questions and are actually addressed in book.
One of the things the challenges/problems that implementing microservices creates is the proliferation of numerous running processes in production and the challenge managing it.
That can be seen as a problem.
However, the author explains that what it does is forces the issue of creating a system / process for managing production processes since a person (or persons) cannot actually manage the great many processes manually.
This is all about trade-offs. The network / latency issues are solved quite well with systems used in microservices such as akka.net.
|
|
|
|
|
10,000 hours ...
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
As to the original question, my suspicion has long been; mostly students desperately searching for subjects for their masters' thesis and/or PhD dissertation. All too often, they then get so focused on it, it becomes the universal tool in their mind.
What's interesting is looking at a piece of software that was developed over a long period of time and you can often identify when parts were written by what fads the software followed (or the devs had to follow because of third party software.)
|
|
|
|
|
Joe Woodbury wrote: looking at a piece of software that was developed over a long period of time and you can often identify when parts were written by what fads the software followed (or the devs had to follow because of third party software.)
Very good point.
I'm almost completed the 2nd chapter of The Tao of Microservices and the author is saying the same thing.
This book is absolutely amazing because the author is actually attacking a lot of recent absolutes like Agile, (mindless) Unit Testing, strong-typing (which sounds weird but makes sense when you consider that if you change a type that two services depend upon then you cause a real problem).
The book is so cool, because the author is talking about all these problems that have attempted to be solved by methodologies and trends but which haven't really been solved.
His main point is "move toward simplicity". That move toward simplicity will cause you to have to manage somethings using specialized tools but that is good because that is what the specialized tools are for and the move to simplicity will make people not mind actually looking at your code.
I can't wait for others to read this book and discuss it.
|
|
|
|
|
Warning to MVC web devs using bootstrap v3:
Starting sometime this weekend (it didn't happen on Thursday), it looks like bootstrap 4 will be installed if you run update-package in the NuGet console. If you're knee-deep in a site that uses v3, and you don't want to deal with the accompanying refactoring that will be required, add the following attribute to your bootstrap line in packages.config:
allowedVersions="[3,4)"
The bootstrap4 installer froze when it was trying to install something called popper, and an admittedly halfhearted google search resulted in no resolution. Fortunately, the site I was working on is fairly small (but deeply vested in bootstrap v3), so just restarting from scratch wasn't a too-terrible solution.
I felt this was significant enough to post this in the lounge because it will have a severe impact on your code.
I now return you to your regularly scheduled anarchy.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Ugh. One of the several reasons I don't use NuGet and a) compile the source myself or b) just grab the files for the version that I'll be using.
(Step b sometimes requires setting up a dummy project with NuGet and then copying the DLL's over to my real project.)
Latest Article - Code Review - What You Can Learn From a Single Line of Code
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|
|
New Info:
I discovered that if you want to upgrade to Bootstrap4, you must first install popper separately. At that point, the upgrade to BS4 will proceed normally. The same warnings regarding major refactoring (because the MVC5 templates are BS3-specific) is still in effect. For instance, the NavBar does not show up when you start a new MVC5 app and update the packages.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
I love how the new versions of really good frameworks are getting progressively worse by adding all this bloat.
I don't think that required sarcasm tags, should have been obvious from the source.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
Well, it looks like BS4 might actually be better than BS3, but without an accompanying template MVC change, it's pointless to upgrade to BS4 in any MVC5 app because all of the templates generate BS3 code. Of course, you could create your own upgraded MVC5 templates, but what a pain.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
I'll take a look at it, as I generally use a SPA with microservices rather than the MS-baked MVC framework, but the tendency of these things to just keep growing in terms of tool-chain and libraries is highly off-putting. This is exactly the reason I moved away from Angular; well that and the threat of a new version every 6 months.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
I was thinkin on it some, and I think that MS's templates should already include the necessary attributes to restrict updates to major revisions, just in case a major change occurs in a package that might break a web site.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
What do you use to backup your Chuwi ? I don't think AOMEI backupper works with these drive types
We can’t stop here, this is bat country - Hunter S Thompson RIP
|
|
|
|
|
Nothing. Which I hate.
So I don't keep anything important on it: Github, NAS, and thumb drives rule here.
Anything nasty happens, I'm prepared to hard reset and wipe - it's not difficult to do, just time consuming.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Ok only asked
We can’t stop here, this is bat country - Hunter S Thompson RIP
|
|
|
|
|
Not even knowing what Chuwi is, I googled it, and clicked on this link (tip: don't click it): Chuwi Tablet PC Official - Windows Tablet , Laptop[^] ... suddenly I am assaulted by bl***y music blaring out my speakers!
FFS - haven't website owners got the message yet that NOBODY LIKES OR WANTS THIS?
(Yes, I know I didn't have to have my speakers on and loud but I forgot they were...)
|
|
|
|
|
I have no idea whether it will work, but have you tried the free version of Macrium's Reflect?
Get me coffee and no one gets hurt!
|
|
|
|
|
Is there any possibility to make it without Javascript?
Given the law nature if the user has JS disabled... are you in risk?
What are your thoughts and recommendations?
Thank you all!
|
|
|
|
|
It has nothing to do with JS...
Even if you set cookies from the server side, you must notify the end user and ask their permission...
To be honest it is much easier to try and get along without cookies (cookies that use to manage login sessions are exceptions and need no permission to use them)...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
Even google analytics are considered cookies...
I'm not using anything else...
I'll have to search for a good solution without js.
|
|
|
|
|
[^]
Read this 'EU legislation on cookies'
Quote: Cookies clearly exempt from consent...
...
authentication cookies, to identify the user once he has logged in, for the duration of a session
...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
That doesn't, unless I am mistaken, exempt Google Analytics cookies.
|
|
|
|