|
Mark Parity wrote: to discuss things of interest to the community
Mark Parity wrote: meeting and discussion area for those wishing to discuss the life of a Software developer.
Where exactly does this subject fit in either of the above?
|
|
|
|
|
Well, by the length of the thread, it's clearly of interest to a fair portion of the community.
And I'm guessing that the OP is both a software developer and has a life (given that most people here are software developers and it would be kind of spooky if he were talking to us from beyond the grave).
Whenever you find yourself on the side of the majority, it is time to pause and reflect. - Mark Twain
|
|
|
|
|
Richard MacCutchan wrote: I think you need to find a different forum. or a better medication
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
|
Nand32 wrote: Immature stuff. for sure... part of my soul is like peter pan, the eternal child. And I am happy to have it.
Nand32 wrote: I just need to talk to your parents to ensure you don't get under the wheels. Good luck with that...
1) They would probably be even more sarcastic than me
2) They surely will say, that 98% of guilt in case your kids do something it is still your fault as parent.
Yes, for sure you can't control them 100% of the time, and of course you shouldn't do it. But it is your responsibility to show them what common sense is, from the very beginning.
I myself broke a tooth and did several serious cuts (a couple of stitches needed several times), doing silly things.The biggest difference is... I did them knowing what I was doing, and trying to explore my limits consciously, or doing chemical experiments just for fun. And in that time there was no internet, youtube or whatever. I went to the library and searched for that chemistry "games" myself.
If a child wants to make silly things... he/she will do it. No matter what.
Still is your paper, to teach your kids to not believe everything they see in the TV or in the internet. You should teach them to use their brains because, although they are young and might not think as an adult, they are not dumb at all.
Prohibiting things, the only you achieve is to make them more interested in that. Showing them how silly it is and make them aware of the risks / dangers is much more effective. Still... the best teacher for the long term is the own experience.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Nelek wrote: I myself broke a tooth and did several serious cuts (a couple of stitches needed several times), doing silly things
But when you get under a car, no stitch can put things back. :`)
Anyway, appreciate your time!
|
|
|
|
|
Done... I clicked Like, Subscribe and Share!
|
|
|
|
|
21. Write letters for a while (5)
|
|
|
|
|
while
(I just followed the instructions, and got the answer)
|
|
|
|
|
I was in Firefox deleting some old saved passwords. Just hit DEL on one. The wireless keyboard lost the keyup (it sometimes does thatttttttttttttttttttttttttttttttt) so they ALL got erased before I could jump on it.
Panic? Nah!
Close FF, hop across to Nautilus, navigate to my profile folder, right click on logins.json , "Revert to Previous Version".
A few seconds later, I get a list of saved versions to select from. Click on yesterday's. Done.
Cheers,
Peter
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
OK, your backup works, so what is your point?
All I see is spam advertising.
Message Signature
(Click to edit ->)
|
|
|
|
|
I struggle to see how expressing my appreciation of free and open source software counts as spam.
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
|
Yes, that's how I got all your passwords, too
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Here's one in case you missed it:
{"id":42,"hostname":"http://www.codeproject.com","httpRealm":null,"formSubmitURL":"http://www.codeproject.com","usernameField":"ctl00$MC$txtDirectoryName","passwordField":"ctl00$MC$txtPassword","encryptedUsername":"MDoEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECMxJR8+/GBWRBBByKyrHJ5vjtKUqFxQYgTO9","encryptedPassword":"MDoEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECC0xhVJSozB6BBB0DxXBvD/1jh2WbG0TqbWt","guid":"{abdefef0-27ec-415b-846f-e6124326b4eb}","encType":1,"timeCreated":1337650127549,"timeLastUsed":1531382404937,"timePasswordChanged":1337650127549,"timesUsed":5},
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
My wired keyboard has been doing that recently too, how odd.
|
|
|
|
|
on approximately half the keys? (given your nick)
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
Peter_in_2780 wrote: hop across to Nautilus
What's nautilus ? Google says mollusc, but I fail to see how this is related to your passwords.
|
|
|
|
|
The Ubuntu (Linux) equivalent of Windoze Explorer. aka Files.
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
While Explorer has an equivalent (right-click on a file, Properties, Previous Versions) - I've never seen it report anything but "there are no previous versions available".
I've always wondered if this was related to Storage Spaces (which I've never used, so that would explain why I've never seen it offer a list of previous versions), but AFAIK Storage Spaces is a Win10 feature only, and that Previous Versions tab is there in 7 also (I just checked - it might also be there for even older versions for all I know).
If it's a System Restore thing, then it guess it's as useless as System Restore has ever been to me - meaning, I've never seen a single instance where it's ever did anything useful.
|
|
|
|
|
Hey all. I put this in the lounge section because I don’t think it’s a question that can just be solved. I want to see what you Think about micro services versus monolith architecture for a your own personal projects.
Obviously, there are the generic answers : micro services are great for big expanding websites with a lot of manpower. But, if your entire code base is in one place, it’s easier to deploy, test, and (arguably) manage for a single person.
The reason I’m asking this is because I’m a pretty new programmer. I have a hard time organizing my code when it gets larger. So if I was to use a micro service architecture, I would have built-in organization of services.
Hypothetically, if this application actually becomes something I can make money off of, it would be a lot easier to expand if I can get one guy to work on the users service and so on.
Plus - this would allow put different back-end languages together in a single project.
On the other hand, since it’s just me, that seems daunting to have 7+ different small apps running at once for a personal 1-person-made project.
It might even effect the cost to run it.
The additional complexity for simple tasks turns it into kind of a nightmare. Right now I’m looking at security - some services have both public and private endpoints, so I will have to find a way to either send the authorization across services or to tell the gateway service about all my endpoints, thus defeating the purpose.
So. What do you all think?
|
|
|
|
|
Go with what is easier to develop and maintain.
Ease of maintenance is always a winner in the long term!
In fact it also win in the short term, easy to maintain code see its bugs be fixed faster!
|
|
|
|
|
Interesting question!
At a bare minimum, I would put your services into separate DLL's and write interfaces for your "exposed" classes, and use those interfaces everywhere else. Mark your classes internal so you don't accidentally use the concrete class instead of the interface. Use factory methods for singletons and some other static public method for creating instances if needed. If you want to go more microservice later on, this is a big step in the right direction.
A slightly more sophisticated step is to do the same thing but use a simple dynamic loader where you describe the services, as modules, that your main app wants. The only assembly that needs to be shared is the assembly that defines the interfaces. I usually take this approach as I can customize the app for what services (dll's) I need and easily replace a service (dll) with something else, say a stub, if it's not implemented. The core process to the implementation I use is described here[^]. See parts II and III for additional bells and whistles.
BTW, the disadvantage with the above is that you have to implement a post-build copy to copy the DLL's to your app's bin/debug (and release) folder unless you implement a more sophisticated assembly resolver. I cheat by simply referencing the service DLL's in my application, which pulls them in.
Alternatively, you could look at one of the dependency injection frameworks. I personally dislike DI (though .NET Core does a nice job of it) mainly because some of the DI frameworks I've worked with a long time ago add a ton of krufty garbage that makes debugging a nightmare.
If you really want to go nutso, implement each service on a $35 rPi and have them talk to each other over HTTP.
If you want to be really far out (as if the rPi idea isn't) I propose that microservices is going to be a dead idea at some point. Microservices are based on a "call this service to have it do something" concept. Consider instead an agent-based implementation. Agents are lightweight just like microservices, but instead they sit around waiting for something to work on. This means implementing some kind of a "data bus" where you publish your data and any agent interested in that data does whatever it does and publishes the result back onto the bus. Highly asynchronous, highly extensible, highly distributable, and very autonomous. That, in my warped opinion, is what will eventually replace microservices. Because you see, while microservices solve the monolithic architecture issue, they don't solve the monolithic workflow issue. Agents do.
So that's my 2c wisdom.
[edit]
Member 14138886 wrote: so I will have to find a way to either send the authorization across services or to tell the gateway service about all my endpoints, thus defeating the purpose.
This may or may not make any sense, but your gateway should authenticate whatever needs to be authenticated. Everything else should be hidden from the public Internet -- any communication between the gateway and the services, or between the services themselves, should be private and assumed to be vetted by the gateway.
You don't have to tell your gateway about all your endpoints, or even your routes. Sounds like you just need a generic gateway that does authorization/authentication and if auth'd, passes the request on to your internal services. You might need some sort of routing table, but I'd flip that around -- have each service, say running in it's own IP/port, Docker container, separate machine, whatever, tell the gateway "hey, these are the routes I'm interested in, these are public, these require auth'ing" -- the gateway then builds the routing table programmatically. Particularly useful if some piece of hardware dies and you need to replace the service it handles, for example.
Though this is beginning to sound a lot like a reverse proxy.
[/edit]
Latest Article - Slack-Chatting with you rPi
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
modified 3-Feb-19 18:42pm.
|
|
|
|
|
Marc Clifton wrote: If you want to be really far out (as if the rPi idea isn't) I propose that microservices is going to be a dead idea at some point. Microservices are based on a "call this service to have it do something" concept. Consider instead an agent-based implementation. Agents are lightweight just like microservices, but instead they sit around waiting for something to work on. This means implementing some kind of a "data bus" where you publish your data and any agent interested in that data does whatever it does and publishes the result back onto the bus. Highly asynchronous, highly extensible, highly distributable, and very autonomous. That, in my warped opinion, is what will eventually replace microservices. Because you see, while microservices solve the monolithic architecture issue, they don't solve the monolithic workflow issue. Agents do.
I would look at doing something like this [if I understood it correctly], using some sort of messaging queues [see RabbitMQ and similar] where work that needs doing can be dropped on the queues and processed by one or more instances of an an agent. It does mean that individual services can be taken offline, updated and redeployed, or replaced without losing any work requests.
|
|
|
|
|
|