Saturday, October 27, 2018

Software development - sources of help

So you do software development or you want to.  

What do you do when you forget something, haven't done something in a while, need to do something a bit different from what you normally do or just plain need to do something brand new to you?

Software development is a lifetime learning process and things change daily. You will never know it all or remember it all. With that in mind,there are lots of good sources of information on many of the of the technologies.

Here are some that I like - there are many more at your fingertips.

I am mostly using Java 8 right now but peek at Java 9+ every so often.  At the moment, Java 11 is the most current but for some reason I wasn't able to replace "8" with "11" in the link below like normal when looking for recent version specific API stuff.    


  • https://docs.oracle.com/javase/8/docs/api/overview-summary.html


Every so often I'll take a look at the Java language or VM specs. Good information but don't need it everyday.


  • https://docs.oracle.com/javase/specs/
And of course, there are all the standards for the multitude of Java technology items.  This is a good place to find upcoming Java related changes too.  
  • https://jcp.org/en/home/index 
I'm thinking I may end up spending more time at the openjdk site going forward.  I'm still trying to figure out what companies are going to do regarding Java development with the current licensing/upgrade model that Oracle is using. Pay the piper (Oracle) or stick with the open source openjdk or find/follow some other road.
  • https://openjdk.java.net
Note that there is a lot of innovation going on at the openjdk site too.  Value types are one that might help some performance/memory critical applications - it is still early yet see if the benefit is real (in my opinion).
  • https://openjdk.java.net/projects/valhalla/


If the above Java docs don't give you what you want or you have an issue with other programming languages/technology; Stackoverflow is probably the next most common one. This tends to come up in my general Java based searches the most.


  • https://stackoverflow.com/


If I want to see what new and innovative stuff is out there or look for guides on using something; I'll often look for stuff at DZone.


  • https://dzone.com/
In fact, as I was checking things I found an article on "being a better java developer" which included some Eclipse shortcuts.  I should print it out - I'll never remember these otherwise. 


I've been finding more search results to this site which is pretty good; I've learned a lot of new stuff from here (typically SpringBoot related but more than that is covered).
  • https://www.baeldung.com/

If you are looking for Spring related info; it never hurts to look at the source.. (ha, I think that is sort of pun'ish .. my kids would surely repeat the often said "ohh Dad"). The number of different Spring projects continues to increase.
  • https://spring.io/projects

If you are looking for Hibernate/JPA stuff; the main source is:

  • http://hibernate.org/orm/


For Oracle database stuff, I have a few sites I tend to find/visit when searching for that missing nugget of memory. Just do a google search and try links from these.

  • http://www.dba-oracle.com/
  • https://asktom.oracle.com
  • https://docs.oracle.com/en/database/
  • https://docs.oracle.com/database/121/SQLRF/statements_10002.htm#SQLRF01702
When googling for Oracle DB stuff, you have to be careful and confirm that the documentation is for the "correct" Oracle database type (and version).  Oracle has a handful or so of different database types along with the "regular" Oracle DB and sometimes you end up finding documentation for one of those others which likely isn't what you wanted - causing moments of confusion. 

At one of my jobs, I lived in the SQL reference (syntax) documentation since I worked on parsing SQL statements and such for a DB tool.  That was a long time ago though. The syntax diagrams and documentation are still very helpful in my opinion though. The 4th link in the list above is related to the syntax description. 

I'm not doing much with MongoDB but have been the "remote hands of the debugger" for a team outside of the US a few times which uses MongoDB. I need to continue to familiarize myself with MongoDB.

  • https://docs.mongodb.com/manual/

And who could forget the apache site itself. The number of different technologies represented is amazing. The only sad aspect to Apache is the times I go out to lookup something and find items I used, researched or thought might be worthwhile are now in "the attic" like Apache ACE, DirectMemory and Shale.
  • http://apache.org/
It is neat to just go out there sometimes and just see what new projects are starting up.  There is always something new and interesting.

Are you doing cloud stuff;  For Amazon Web Services (AWS) you can always start here:
  • https://aws.amazon.com/
They are constantly adding new services or features.  
Or maybe you are looking for more of a Paas (Platform as a service) like Cloud Foundry.
  • https://docs.cloudfoundry.org/
I really like Cloud Foundry; it is very easy to deploy a lot of services.  I know I am not using even close to all of the available functionality but I am still able to do quite a bit pretty quickly.  The only downside in my mind is you probably need a pretty decent crew of people to manage Cloud Foundry itself.  There are lots of features to turn on/off depending on your needs. There are lots of Spring things that integrate nicely in with Cloud Foundry (mostly from a Java perspective).  

I'm a creature of habit in some ways so I'll 99.99% of the time gravitate to Eclipse as my Java IDE. You can find a lot of stuff at the Eclipse site - they have a huge number of projects (outside of the IDE) too that cover a wide range of domains and a number of programming languages.  
  • http://www.eclipse.org/ 
I think IntelliJ is a top-tier IDE as well but I just don't see a reason to change most of the time.  Just in case you are looking for more info though..
  • https://www.jetbrains.com/idea/

There are so many other languages, technologies and related sites that it would be impossible to really scratch the surface. 

Maybe I will append some links later - certainly links for caching software and general sites with comparisons of competing technology are useful.  

Thanks for reading.
Scott


Proverbs 1:7 New American Standard Bible (NASB)

The fear of the Lord is the beginning of knowledge;
Fools despise wisdom and instruction.



No comments:

Post a Comment