Pattern-chaser wrote: ↑May 19th, 2021, 10:06 am
Neither did I. Not initially. But as I learned I realised that I needed more than I had. I started off learning different languages, but that didn't give me what I needed. It was only when I started to learn how to design software that I was finally able to proceed and grow. Learning about design patterns was a worthwhile step on that journey. [Sorry if I'm preaching. This is something I've been passionate about for many years.]
No, all of that makes sense.
On some level I am still trying to suss out whether the languages I'm using would be my preferred and beyond that which languages fit which use cases best.
As far as design patterns are concerned I feel like I'm picking that up well just that having learned in a trial-by-fire way my first order of business is 1) find a way of doing what I want to do that's reliable 2) if the way I learned it was the first and worst I keep cutting away pieces until I know what's doing what and keep the minimum working parts, then 3) as I learn to use something I may see an even more simplified version of the same thing I was doing that gives me everything I need with still less code and still fewer working parts.
In that sense the way I feel like I've been learning best is reverse-engineering what's available in other places. When I was first learning Angular (around 2017-2018) it was too new for there to be any worthwhile books or anything that would stay current so it was a constant rotation through StackOverflow, Medium articles, etc. and whenever I saw something done seven different ways and none of them quite did what I needed I'd keep trying to figure out which pieces were essential, what did what, try to then hone my search terms better for Google, know that I was getting closer to hitting pay-dirt when I could put a few specific terms in and get a bunch of StackOverflows or other forums with other people asking the same questions.
From there I've come up with a lot of things I didn't really see anywhere, like three or four lines of code in different places to handle jwt refresh tokens for securing .Net Core / Angular API's (refresh tokens set an expiration ceiling on access tokens and often get stored in SQL with the user account - once they time out the login expires and the user gets kicked out to log in again). It wasn't that running EntityFramework was that hard, just that .Net Core Identity is very particular and I'd have to say at least at this point (my first response had a bit of this as well) - my least favorite thing is incorporating black boxes into my code, I get rid of them where I can just that .Net Core Identity is one I feel like I need to go with - at least until I feel like upgrading to something like Identity Server 4.
Humbly watching Youtube in Universe 25. - Me