Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I check out a java project to a folder. Someone told me that I shouldn't point the eclipse workspace to this directory.
Is there a best practice for this? Should you use the svn checkout dir or a dedicated one?
And why?
Thanks!
The reason why you shouldn't point your workspace to your existing files is because you want to keep the actual source files separated from your workspace settings.
The workspace that you're using has nothing to do with the code that you're writing so it's generally advised to keep them separated.
You shouldn't point the workspace directly to the directory of the checked out code. Say you have your workspace located at C:\workspace, then I would check out the project in C:\workspace\project.
On the other hand, it doesn't really make a difference of you would check out your code to another location, say C:\projects. Anyway, I don't see any bad practice with either way to do it.
I have seen, read and thought of different ways of using workspaces (per project, per application (multi-asseted or not), per program language, per target (web-development, plugins,..), and so on) and I am still doubting what the best approach is.
Can anyway give an elaborate, but not a page long insight into this?
This involves a lot of sub-questions, so to speak, and I don't know all the specific sub-questions I should ask, because I am not sure I don't know all the aspects of eclipse (and workspaces), but I'll try to give an example of what I am looking for:
What for?
What did eclipse development mean it to be used for?
What do other/most people think?
What do you think?
... ?
Why?
Are there configuration conflicts vs. sharing merits?
Any filespace reasons?
Performance?
... ?
Oh, and I am speaking of the minimum use case for a developer that uses different languages and protocols, and NOT necessarily all of them in one project (E.g. php, javascript and xml for some projects, C# for others, java and SQL for still others, etc..)
So you can choose any directory which you think is safe to keep your work. The main idea is to keep your all projects together.
Hope it will help you.
Or refer Create a new workspace in Eclipse
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
Just looking for a basic answer as to where to start my project. First off, I am fairly new to java and all other languages so I'm no pro. I am just looking for an answer from anyone more knowledged than myself as to a sort of template for new projects.
I try and make new projects by myself to test what I have learned so far but often find myself extremely overwhelmed at the start of a project because I don't know where to start! I have so many keywords in my mind that I should be using to accomplish the goal of my project but can never figure out where to start wring the code!
What I am looking for is someone to just help me understand where I should/ how I should start a project?
Thanks in advance!
Alex Gunther
Someone down rated this question so I felt obliged to answer as its not a dumb question. When your first learning a language its a good idea to start out with simple executable and try and test what you know about the language. With Javascript that's the console in your browser, with Java that's the Main Method. Your initial few projects will all just be one class with a Main method, as your code starts to grow it will force you to learn how to refactor and create good classes and modularity. I also recommending take a basic beginner course on a sight such as Udemy.com as it will teach about necessary libraries and frameworks to creating meaningful code.
A project should always be started in your head, then if your serious, on paper. thinking out everything you will need, planning classes and variables and coming up with some pseudo-code (writing out what you think the code you will need looks like) are always the first steps.
if you are looking for some sample projects there are plenty of tutorial sites, that will run you through making different stuff step by step. this is a good place to start.
if your just looking to test your skills with Java check out CodingBat
but if you want a good place to start coding altogether, Download Unity3d, it supports c# and JavaScript (not to be confused with Java)
the reason i recommend unity3d is they have fully documented code for almost everything on their site, and lots of good video tutorials as well.
This is actually a great question. I would upvote if I could. I've felt the same when I was just starting out.
I usually make a rough plan of what I need on paper. What classes are going to serve what purpose and how do I want to structure them?
I then start to create the packages I use to structure and then the main classes. (My main() always just contains a call to a different funtion/object because I don't like static) From there I just build forward. The logic, then the interface and so on. I usually also structure the logic into different aspects.
Also you might want to make a priority list.
Here is my latest GitHub repo. This is just a snapshot of what my structure looks like at the moment.
if you use ECLIPSE:
FILE >> PROJECT >> JAVA PROJECT and give name to project >> finish
if you use NETBEANS:
FILE >> NEW PROJECT >> JAVA >> JAVA APPLICATION and give name to project >> finish
If you want more go to:
http://help.eclipse.org/photon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2FgettingStarted%2Fqs-3.htm
https://netbeans.org/kb/docs/java/quickstart.html
https://www.youtube.com/watch?v=ubwRUfvXJpE
https://www.youtube.com/watch?v=K3twuFyPwkg
if you want some video tutorials completely free search on youtube "JAVA video tutorial"
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Dear people of stackoverflow,
I am learning to code Java and recently switched from programming in text editors and compiling in terminal windows to an actual IDE, NetBeans (I know, I'm a dinosaur. I inherited the habit from C++). The point is, I'm really lost.
I installed NetBeans because I saw some friends from school open the application and write about 50 lines of code in half the time it took me. I'm guessing they use some sort of templates or customized settings.
I would really appreciate it if you could shed some light in the subject, because I want to be as fast and efficient as possible when coding, especially when dealing with really long assignments.
This isn't something that can be quickly answered in this format.
The main advantages are:
Intellisense/Code completion (start typing code, press ctrl-space)
As-you-type error checking and reporting with automatic fixes in some places
Code generation (source->generate code)
Navigation (go to source, go to decleration, find references, etc).
Integrated debugging
Refactoring (renaming variables, methods and classes; introducing classes and methods; etc).
Try all of those things to get you started but there are many many more.
There's not going to be any one silver bullet; this is the accumulation of many small efficiencies, including keyboard shortcuts, advanced features, templates, etc.
You should take a closer look at what your friends do, and each time you see them doing something you don't, ask them about it. Better yet, each time you come across a task that intuitively seems like there should be a better way to do it (e.g. typing a similar pattern over and over), google around and see if there is a better way. There likely is!
For a more rigorous approach, of course, you can read the NetBeans manual end-to-end in order to get a comprehensive understanding of its features. I've never done that for my IDE of choice, though.
Ok, you have an IDE (that's good!). With it you can make a lot of shortcuts for developing. Here some tips:
You can create a project using a template by going File -> New Project -> <LANGUAGE> -> <TEMPLATE>. This template will autogenerate a basic source for what you want.
You can put breakpoints in any place only clicking in a line number.
You can debug by going to Debug -> Debug Project
You can auto-generate a double-clickable .jar by going to Build -> Clean and Build
You can run a console program directly in the IDE, by using Build -> Run Project
You can even install plugins for extending the IDE's functionality
There're lots of things I'm not telling you, cause it's a long list. You can see NetBeans Documentation for more info.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I'm starting a new web based enterprise application, and I'm thinking of using Wavemaker.
I'm a fairly experienced java-ee developer, but it seems to me that even in this case, WaveMaker still makes sense to develop the application fast and focus on the business logic.
My questions are :
1- Are their any drawbacks to this platform
2- Can I do all the normal things from the server side easily (like sending mail,building birt reports, adding jobs)
3- Can I freely manipulate javascript (for example for specific animations, using plugins....)
4- Can I integrate realtime processes, like websockets ?
Thank you
I've used Wavemaker in an Enterprise application with success. We used quite advanced features such as heavy use of backend logic based on JavaServices, an run-time SQL database selector made inhouse, JS plugins for the frontend, obfuscation etc
We later recruited a devteam to take support of this application and, although the community is small, the team learn quickly and was able to maintain the code base.
As I see it, Wavemaker is a excellent tool if you like to:
deploy a web-based CMS for your midsized SQL database
deploy a smaller web control page for your java back end system
To answer you questions:
1) Small community: Although the community is friendly and on their toes, it is too small to ensure the type of feeback you might be used to. You will have to spend quite some time banging your head to the wall when you try to go beyond the example applications.
2) Yes, you have all the freedom you would expect from a Java backend. Simply said; each REST api is assigned to a Java Method, its up to you to implement the logic. I have built wavemaker on SQL, mongoDB. With email interactions, data parsing, file upload/download etc You name it
3) Yes, you can add JS plugins and customize the scripts generated by Wavemaker. You might want to make sure that you don't edit the auto generated JS, since they will be overwritten. but as soon as you found the right entry point you are free to customize just the way you like it.
4) Yes, since you build you own back end in java you are free to open up any type of communication you like to have. And since you are able to customize the front end js you will be able to read this data. But as I said in question 1 - there will only be a small community helping you
So to sum it up:
I vote for Wavemaker, but make sure to only deploy it if you application will be similar to the templates/demo provided, if you build a unique system you might like to look into other solutions.
All choices have drawbacks. There is not a lot of WM expertise to be had. You'll need to deal with some issues in terms of the library at hand, dojo, spring etc instead.
you can,but it requires some java knowledge. You are operating in a spring MVC you can
you can, you are operating in a dojo client there
possible, probably. worth the effort, doubt it.
1- Drawbacks- It's enterprise focused platform, so will require own effort to learn it.
2- Yeah, you can do pretty much all normal things (at least from my experience, till now)
3- The tool has kind of open-source configuration so its easy to manipulate or customize your codes if needed
4- From my experience, WaveMaker has one of the best and most diverse integration options available.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
when every one of us program in java he would need a library (some jars) to complete his work .
so when this programmer find some libraries he need . how he can find the best of these libs ?
thanks.
I don't program in Java much but I do need to hunt down libraries for C++ and Python, which are my mainstays.
I think some criteria you can apply to stuff you find on Google or community sites like SO and java.net include the following:
How well documented is the project? Is it just API documentation? Does it have samples? Are they documented or just spat out? Are there tutorials?
When was the last stable/unstable/testing release? Do version control logs indicate activity in the project? (Google Code projects have a indicator on the right side of the page which shows project activity) Are their mailing lists active? Do a lot of people ask questions and questions get answered? Are developers talking on their mailing lists?
Is the API to your liking? This is both a matter of personal preference and objective measuring. As an example, for C++ GUIs, some people like the API of wxWidgets more, whereas some people like the API of Qt more, and there are people who are more productive in each, but there are also good reasons to believe objectively why one is better than the other API-wise.
Is the project "famous"? This is kind of iffy because it relies on groupthink, but there is some merit to considering projects based on how "famous" or "well-known" or "widely-used" they are. It helps because this is normally an indicator of reliability (emphasis on normally, i.e. not always). The communities will probably be more active and knowledgeable. You can tap onto existing programmers who are already probably familiar with these APIs and hire them or recruit them, etc. For example, I suppose that other than being generally quite good, a lot of people go for Lucene as their text search system because it is very widely used.
How mature is the project? Is it in alpha? Beta? Pre-release? Sometimes you find a library you really like but it's very raw. Depending on the nature of your project, you may want to reconsider using it.
All that said, generally good places to find good Java libraries are probably projects from Apache and those published by Google.
This is all I have for now. Take them with a pinch of salt. If I have anything else to add I will edit this post.
Hope this helps!
I rarely need additional "Generic" libraries. If that's what you are after you might keep an eye on the Apache stuff--there are a few groups like that that just do generally good work, but most of the stuff you could get in a general library like that you can write yourself just as quickly as you can learn to use their stuff.
Occasionally I need a specific library like an SNMP library or something to provide a specific service--these are actually NEEDed because rewriting them would be prohibitive. These are much more important to choose correctly, but generally there aren't so many to choose from and a co worker will almost certainly have some experience or opinions if you don't.
Researching stuff like this should be a scheduled part of every project--the need to do the research should be identified in the early phases of the project.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I was just reading a post from Justin Etheredge in which he wrote "... I get so jealous when I talk to the Java guys at work and see all of the freaking awesome tools that they have for free on their platform. Since I use the NUnit, NCover, NHibernate, NAnt stack when doing most .NET development, sometimes I feel like we are just a bunch of copycats".
What other cool frameworks exist that aren't on .NET and I may not know about? Can we leave out things which have a direct or pretty reasonable analogue, just the kewl shiznit!
PS we aren't so bad. I'm pretty sure NDepend started out on .NET and has moved to Java
PPS one answer per item please! It makes it a lot easier to discuss them!
http://ruby.sadi.st/Heckle.html
Think you write good tests? Not bloody
likely... Put it to the test with
heckle. It’ll put your code into
submission in seconds.
The premise is really really simple to
understand:
★ Your tests should pass. ★ Break your
code. ★ Now they should fail.
You could check this by hand, but why
bother? Use heckle and put it to the
test:
heckle -f ClassName
For each failure heckle points out,
you've got a test to write.
Chances are, your tests suck.
Maybe you should ask the Java folks (add some Java tag), .NET tag watchers may not know about Java frameworks .NET does not have :)
Liquibase - A library for tracking, managing and applying database changes.
A decent embedded webserver, such as Jetty
A build system equivalent to Maven
An embedded AD/LDAP server for development purposes, such as ApacheDS
http://www.terracotta.org/ A kind of distributed JVM which shares objects automatically across a farm. Or something. Reading http://willcode4beer.com/design.jsp?set=kill_your_db makes it sound pretty cool.
At work, we use the ATG e-commerce platform, JBoss to run our local builds and Maven to build everything. We also have components from the Struts framework.
Personally speaking, I prefer the Spring Framework. IOC is my new favourite pattern!