![]() |
|
SageTV Studio Discussion related to the SageTV Studio application produced by SageTV. Questions, issues, problems, suggestions, etc. relating to the Studio software application should be posted here. |
![]() |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
Any experience in Sun online classes?
I have a want to learn more of java than I have taught myself and learned from all you guys. I am strictly wanting to learn as a hobby and thirst for knowledge
![]() ![]() |
#2
|
||||
|
||||
Plucky, I think the java certification courses are really aimed to be a resume booster (much like MS certification cources, etc). While they will teach you some things, their free online tutorials are probably a better learning model.
This isn't what you asked for, but... there are some core things to remember when writing code (in my own personal oppinion)... 1. Try not to re-invent the wheel (if possible), so rely on commonly used libraries where possible. For example, every java developer gets tired of writing Code:
if (string!=null && string.trim().length()>0) { // do some work on non empty string... } 2. Understand objects and OOP. Java forces your to write everything as a "class", but many people don't start out thinking about "classes" and "objects". So, when you embark on a project, sketch out the ideas on paper, and make a note of the types of "things" that you'll be dealing with. Doing this will help you break your code into more meaninful classes. 3. Break up your code into re-usable chunks. As a metric, a class method should only ever be a few lines long. If you have very large methods, then you can probably look at breaking up that method into several methods. if you find that your are "copying and pasting" code sections, then that's a clear sign that you need to create a method. Breaking up your code into smaller chunks will make it easier to debug and maintain. it will also help you better unit test your code. 4. Use an IDE. I "grew up" in the era where "real men used vi and programmed only in c", and I spent a large part of my programming life in that mindset ![]() ![]() 5. Model your code. I tend to model my code using interfaces. Interfaces are great a modelling, since it does 2 things... 1. it allows you to write code (which feels productive), and 2. It enables you to quickly see, without spending too much effort, how your code will be consumed. Most people hate interfaces, because you have "implement" them at some point, so it seems redundant. But, if you are using an IDE, then implementing an interface is usually just an extra "click" when you create the implemenation class. ie, in eclipse, when i tell it to implement an interface, it will create the stubbed out methods for you, so it doesn't really take that much time time to model using interfaces. 6. Google "Design Patterns". Design patterns will help you write better code, if you understand the patterns ![]() Keep in mind, these are my personal thoughts. I think that if you really want to know more about programming in java, you should look at more of the online tutuorials, and especially look at the apache commons libraries for your projects. If you hadn't looked at java at all... then i'd consider taking a community college night course.. but given that you've actually build java classes, you've probably are already further ahead of what you'll learn in night classes. Good luck.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#3
|
||||
|
||||
I haven't taken any of Sun's online courses. Most of my learning has been on-the-job (Google searches and smart people sitting around me), from reading books, and a few instructor-led courses at work. Here are a few ideas in addition to Sun's courses:
![]()
__________________
Server: Intel Core i5 760 Quad, Gigabyte GA-H57M-USB3, 4GB RAM, Gigabyte GeForce 210, 120GB SSD (OS), 1TB SATA, HD HomeRun. Extender: STP-HD300, Harmony 550 Remote, Netgear MCA1001 Ethernet over Coax. SageTV: SageTV Server 7.1.8 on Ubuntu Linux 11.04, SageTV Placeshifter for Mac 6.6.2, SageTV Client 7.0.15 for Windows, Linux Placeshifter 7.1.8 on Server and Client, Java 1.6. Plugins: Jetty, Nielm's Web Server, Mobile Web Interface. |
#4
|
|||
|
|||
Sean and jreichen,
Thanks for the advice. I do have some good understanding of coding as I use to do it 15 years ago in c++ but remembering it has become difficult at times ![]() ![]() ![]() Thanks for the advice here and at other times guys really appreciate it. |
#5
|
||||
|
||||
btw... i just googled for "free java pdf books" and come up with quite a few hits. Here's one site that includes some online books for java programming.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#6
|
||||
|
||||
I've spent the day reading online courses and start to switch off half way down the first page when they start talking about Abstraction, Encapsulation, Inheritance, Polymorphism..... its all a bit heavy when you haven't even got to the Hello World application...
It's gona be a long few weeks/months....... |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Multiple monitors: anything new under the sun? | elaw | Hardware Support | 4 | 05-03-2007 07:03 AM |
Calling custom java classes from studio | davin | SageTV Studio | 9 | 11-09-2005 11:50 AM |
Sun JAVA 1.5.0 vs. 1.4.09 | RAlfieri | SageTV Beta Test Software | 8 | 10-13-2005 12:39 PM |
Hmm ... Kodak vs. Sun over Java | mightyt | General Discussion | 1 | 10-06-2004 10:15 AM |