Όχι και τόσο free, θέλει login/sign uprose wrote:Μπορείτε να κατεβάσετε απο εδώ http://www.theserverside.com/tt/books/w ... /index.tss
το βιβλίο Mastering Enterprise JavaBeans 3.0 που το προσφέρει δωρεάν το http://www.theserverside.com/
java & open source projects
- tsilochr
- Wow! Terabyte level
- Posts: 3246
- Joined: Tue Mar 16, 2004 2:47 pm
- Academic status: PhD
- Gender: ♂
- Location: mm.aueb.gr
- Contact:
Re: java & open source projects
Re: java & open source projects
Ελα ρε το πολύ να παίρνεις κανένα αρθρο για server side java.tsilochr wrote:Όχι και τόσο free, θέλει login/sign uprose wrote:Μπορείτε να κατεβάσετε απο εδώ http://www.theserverside.com/tt/books/w ... /index.tss
το βιβλίο Mastering Enterprise JavaBeans 3.0 που το προσφέρει δωρεάν το http://www.theserverside.com/
το theserverside θεωρείται ένα από τα πιο σεβαστά java forum.
που θα πάει θα το δουμε...
Re: java & open source projects
http://www.pdfbox.org/
Χρήσιμο για επεξεργασία pdf εγγράφων
Χρήσιμο για επεξεργασία pdf εγγράφων
Re: java & open source projects
Dependency Injection using GUICE.http://code.google.com/p/google-guice/
add guice-1.0.jar to your classpath
...Basic domain model object,FOO
...Then create the interface for the FooManager
...Then create an implementation of the FooManager
...some business...
....our Guice configuration
..test it!
Πηγή : http://paulbarry.com/articles/2007/03/1 ... ello-world
add guice-1.0.jar to your classpath
...Basic domain model object,FOO
Code: Select all
public class Foo {
private Long id;
private String name;
//Generate and getters/setters in your IDE
}
Code: Select all
public interface FooManager {
public Foo get(Long id);
public void save(Foo foo);
}
Code: Select all
public class FooManagerImpl implements FooManager {
private static Long fooSequence = 1l;
private static final Map<Long, Foo> foos = new HashMap<Long, Foo>();
public Foo get(Long id) {
return foos.get(id);
}
public void save(Foo foo) {
if(foo == null) return;
if(foo.getId() == null) {
foo.setId(fooSequence);
fooSequence++;
}
foos.put(foo.getId(), foo);
}
}
...some business...
Code: Select all
public class FooController {
private FooManager fooManager;
//----- Controller Actions -------------------------------------------------
public Foo create(String name) {
Foo foo = new Foo();
foo.setName(name);
fooManager.save(foo);
return foo;
}
public Foo retrieve(Long id) {
return fooManager.get(id);
}
//----- Getters/Setters ----------------------------------------------------
public FooManager getFooManager() {
return fooManager;
}
@Inject
public void setFooManager(FooManager fooManager) {
this.fooManager = fooManager;
}
}
Code: Select all
public class FooModule extends AbstractModule {
protected void configure() {
bind(FooManager.class)
.to(FooManagerImpl.class)
.in(Scopes.SINGLETON);
}
}
..test it!
Code: Select all
public class FooDispatcher {
public static void main(String[] args) {
FooController controller = new FooController();
Injector injector = Guice.createInjector(new FooModule());
injector.injectMembers(controller);
//Our action is now injected with a FooManager, so let's use it
Foo foo = controller.create("Bar");
Foo bar = controller.retrieve(foo.getId());
System.out.println("bar.name => "+bar.getName());
}
}
που θα πάει θα το δουμε...
- tsilochr
- Wow! Terabyte level
- Posts: 3246
- Joined: Tue Mar 16, 2004 2:47 pm
- Academic status: PhD
- Gender: ♂
- Location: mm.aueb.gr
- Contact:
Re: java & open source projects
για ποιο λόγο να κάνω switch από Spring σε αυτό?
Re: java & open source projects
tsilochr wrote:για ποιο λόγο να κάνω switch από Spring σε αυτό?
http://code.google.com/p/google-guice/w ... Comparison
http://www.theserverside.com/news/threa ... d_id=44593
Τα συμπεράσματα δικά σου.
που θα πάει θα το δουμε...
- tsilochr
- Wow! Terabyte level
- Posts: 3246
- Joined: Tue Mar 16, 2004 2:47 pm
- Academic status: PhD
- Gender: ♂
- Location: mm.aueb.gr
- Contact:
Re: java & open source projects
το κοιτάζω, μέχρι στιγμής δεν μου αρέσει το θέμα με τα annotations. Έχω βολευτεί με το spring γιατί δεν χρειάζεται πουθενά να γράψω spring-aware κώδικα, δλδ να κάνω import κλάσσεις του spring. Τα περνάω όλα σε xml στο web app και ο κώδικας μου είναι πεντακάθαρος από dependencies. Βέβαια το web app εξαρτάται από το spring αλλά o δικός μου κώδικας δεν το απαιτεί.
Re: java & open source projects
Βασικά νομίζω οτι το spring είναι αρκετά βαρύ για plain java που απλά θέλεις dependency injection
που θα πάει θα το δουμε...
- cyberpython
- Mbyte level
- Posts: 654
- Joined: Wed Nov 21, 2007 8:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Αθηνα
- Contact:
Re: java & open source projects
http://www.javazoom.net/javalayer/javalayer.html
Για όσους θέλουν να προσθέσουν mp3 playback στις εφαρμογές τους
Για όσους θέλουν να προσθέσουν mp3 playback στις εφαρμογές τους
- cyberpython
- Mbyte level
- Posts: 654
- Joined: Wed Nov 21, 2007 8:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Αθηνα
- Contact:
Re: java & open source projects
Για όσους θέλουν να κατασκευάσουν εφαρμογές AJAX αλλά προτιμούν να γράφουν σε Java :
http://code.google.com/webtoolkit/
http://code.google.com/webtoolkit/
Re: java & open source projects
cyberpython wrote:Για όσους θέλουν να κατασκευάσουν εφαρμογές AJAX αλλά προτιμούν να γράφουν σε Java :
http://code.google.com/webtoolkit/
Δες και αυτό: http://echo.nextapp.com/site/.
Και μια συζήτηση που αξίζει να διαβαστεί, για τα δυο αυτα υπέροχα frameworks.
http://www.theserverside.com/news/threa ... d_id=40804
που θα πάει θα το δουμε...
Re: java & open source projects
.CSVObjects is a free and open source Java based framework for transparently parsing and unmarshalling Comma Separated Value (CSV) files and records into Plain Old Java Objects without the need to code the parsing logic manually
Πολύ απλό και χρήσιμο.
http://www.csvobjects.org/
που θα πάει θα το δουμε...
Re: java & open source projects
Δεν είμαι σίγουρος ότι ανήκει εδώ, αλλά πρόσφατα όταν έψαχνα κάτι σχετικά με DOS έπεσε σε αυτό το οποίο είναι:
Υπάρχει τόσο για DOS όσο και για linux και υπάρχει demo που τρέχει στον Broswer. Στο DOS έχουν και κάποια παιχνίδια όπως το KEEN και κάποιο pacmanhttp://www-jpc.physics.ox.ac.uk/ wrote:What is JPC?
JPC is an x86 PC emulator written entirely in Java. Read more about what JPC is, and the underlying technology behind it.
http://foss.aueb.gr the penguin strikes back <(' ) | channel #foss-aueb @ irc.freenode.net
Play and help!
Play and help!
- Zifnab
- Venus Former Team Member
- Posts: 7581
- Joined: Tue Nov 15, 2005 2:42 am
- Academic status: MSc
- Gender: ♂
- Location: Connecticut
- Contact:
Re: java & open source projects
Δυστυχώς αν το JPC τρέχει κάτω από browser δεν νομίζω να τα καταφέρνει πάρα πολύ καλά με παλιότερα παιχνίδια που το simulation είναι ακόμα πιο βαρύ. Χωρίς να το έχω δει και κρίνοντας από το Dosbox που δυσκολεύεται σε ένα Pentium 4 να τρέξει παιχνίδια πρίν το 1992...
Re: java & open source projects
xmltool
http://code.google.com/p/xmltool/
http://code.google.com/p/xmltool/wiki/Manual
Εχει χωθεί για τα καλά η google σε java frameworks....
With XML Tool you will be able to quickly:
Create new XML documents from external sources or new document from scrash
Manage namespaces
Manipulating nodes (add, remove, rename)
Manipulating data (add, remove text or CDATA)
Navigate into the document with shortcuts and XPath (note: XPath supports namespaces)
Tranform an XMlDoc instance to a String or a Document
Validate your document against schemas
http://code.google.com/p/xmltool/
http://code.google.com/p/xmltool/wiki/Manual
Εχει χωθεί για τα καλά η google σε java frameworks....
που θα πάει θα το δουμε...
- tsilochr
- Wow! Terabyte level
- Posts: 3246
- Joined: Tue Mar 16, 2004 2:47 pm
- Academic status: PhD
- Gender: ♂
- Location: mm.aueb.gr
- Contact:
Re: java & open source projects
Μιας και έβαλες για XML, JAXB και τέρμα το XML handling, μόνο POJOS
Re: java & open source projects
Σωστός, δές και αυτό προσωπικά έχω μείνει απόλυτα ικανοποιημένος.
http://commons.apache.org/digester/
http://www.onjava.com/pub/a/onjava/2002 ... ester.html
Many projects read XML configuration files to provide initialization of various Java objects within the system. There are several ways of doing this, and the Digester component was designed to provide a common implementation that can be used in many different projects.
http://commons.apache.org/digester/
http://www.onjava.com/pub/a/onjava/2002 ... ester.html
που θα πάει θα το δουμε...
Re: java & open source projects
http://commons.apache.org/email/Commons Email aims to provide a API for sending email. It is built on top of the Java Mail API, which it aims to simplify.
Some of the mail classes that are provided are as follows:
SimpleEmail - This class is used to send basic text based emails.
MultiPartEmail - This class is used to send multipart messages. This allows a text message with attachments either inline or attached.
HtmlEmail - This class is used to send HTML formatted emails. It has all of the capabilities as MultiPartEmail allowing attachments to be easily added. It also supports embedded images.
EmailAttachment - This is a simple container class to allow for easy handling of attachments. It is for use with instances of MultiPartEmail and HtmlEmail.
που θα πάει θα το δουμε...
- cyberpython
- Mbyte level
- Posts: 654
- Joined: Wed Nov 21, 2007 8:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Αθηνα
- Contact:
Re: java & open source projects
IconLocator
Native εικονίδια σε περιβάλλοντα που ακολουθούν το icon theme specification του Freedesktop.org (Gnome/KDE/XFCE) χωρίς τη χρήση του JNI!
Native εικονίδια σε περιβάλλοντα που ακολουθούν το icon theme specification του Freedesktop.org (Gnome/KDE/XFCE) χωρίς τη χρήση του JNI!
Re: java & open source projects
Πές μας κάτι παραπάνω για αυτό...τι ειναι το icon theme specification;cyberpython wrote:IconLocator
Native εικονίδια σε περιβάλλοντα που ακολουθούν το icon theme specification του Freedesktop.org (Gnome/KDE/XFCE) χωρίς τη χρήση του JNI!
που θα πάει θα το δουμε...
- cyberpython
- Mbyte level
- Posts: 654
- Joined: Wed Nov 21, 2007 8:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Αθηνα
- Contact:
Re: java & open source projects
Τα open-source περιβάλλοντα εργασίας (Gnome/KDE/XFCE κλπ.) μέχρι πριν λίγο καιρό ήταν εντελώς ασύμβατα μεταξύ τους. Για να γεφυρωθεί αυτό το χάσμα δημιουργήθηκε το Freedesktop.org που είναι ένας οργανισμός που προτείνει γενικά πρότυπα έτσι ώστε αυτές οι διαφορές να μην είναι ορατές στον τελικό χρήστη (είτε αυτός είναι άνθρωπος είτε εφαρμογή).rose wrote: Πές μας κάτι παραπάνω για αυτό...τι ειναι το icon theme specification;
Όσον αφορά τα εικονίδια υπάρχει το Icon Theme Specification, το οποίο ακολουθούν και τα μεγαλύτερα desktop environments (Gnome/KDE/XFCE), σύμφωνα με το οποίο υπάρχουν συγκεκριμένα formats στα οποία μπορούν να αποθηκευθούν τα εικονίδια (PNG, SVG -> και XPM αλλά μόνο για συμβατότητα) αλλά και τοποθεσίες στις οποίες πρέπει να αναζήτήσει μία εφαρμογή ένα εικονίδιο (επίσης καθορίζεται και η σειρά με την οποία πρέπει να γίνει η αναζήτηση κάθε τοποθεσίας). Επίσης προτείνεται και ένας αλγόριθμος για την αναζήτηση δεδομένου του ονόματος του ζητούμενου εικονιδίου και του ονόματος του icon-theme που θέλουμε να χρησιμοποιήσουμε.
Τη βιβλιοθήκη την έγραψα επειδή έψαχνα έναν τρόπο για να έχω native εικονίδια σε Linux και το μόνο που βρήκα είναι το IconService του JDIC, αλλά δε με βόλευε καθώς κάνει χρήση του JNI και επομένως θα έπρεπε μαζί με το JAR της εφαρμογής να εγκαθίστανται και εξωτερικά αρχεία .so (ή .dll σε Windows - ένα μεγάλο συν όμως του IconService είναι οτι επιτρέπει τη χρήση native εικονιδίων σε Windows κάτι που δε μπορεί να γίνει με το IconLocator).
Αν κάποιος τη χρησιμοποιήσει το μόνο που πρέπει να κάνει (πέρα από το να συμπεριλάβει το JAR στο Classpath ) είναι να δημιουργήσει ένα αντικείμενο IconManager και να καλέσει τη μέθοδο getIcon(<όνομα_εικονιδίου>, <μέγεθος>).
Η βασική λειτουργικότητα εμπεριέχεται στην τάξη FreedesktopIconLocator (χρησιμοποιείται από την IconManager αυτόματα αν είμαστε σε συστήμα Linux) που κάνει την αναζήτηση για ένα εικονίδιο (για δεδομένο όνομα - μέγεθος) και επιστρέφει ένα java.io.File από το οποίο η τάξη IconManager κατασκευάζει ένα ImageIcon (αν δεν υπάρχει ακριβώς το εικονίδιο που ζητήσαμε αλλά σε άλλη διάσταση τότε γίνεται σμίκρυνση ή κεντράρισμα).
Αν δε βρεθεί το ζητούμενο εικονίδιο τότε χρησιμοποιείται ένα αντικείμενο μίας τάξης που υλοποιεί τη διεπαφή FallbackIconLocator (πρέπει να το περάσουμε ως παράμετρο στον κατασκευαστή του IconManager) ή αν δεν έχουμε δώσει τέτοιο αντικείμενο τότε η αναζήτηση επιστρέφει null.
Αν δεν είμαστε σε Linux, τότε χρησιμοποιείται ένα αντικείμενο της τάξης DefaultIconLocator που επιστρέφει πάντα το αποτέλεσμα του FallbackIconLoader (ή null αν δεν υπάρχει διαθέσιμος FallbackIconLoader).
Προσωπικά, πρώτα κατασκευάζω το GUI στο NetBeans, ορίζω τα εικονίδια που θέλω και στη συνέχεια με την κατασκευή του Frame της εφαρμογής κάνω την αναζήτηση για native εικονίδια - αν βρεθούν τότε αντικαθιστώ αυτά που έχω ορίσει κατά το σχεδιασμό του GUI, αλλιώς τα αφήνω όπως είναι (έτσι έχω τα στανταρ εικονίδια π.χ. σε Windows και αλλάζουν σε Linux ανάλογα με το icon-theme που χρησιμοποιείται).
Για να βρούμε το όνομα ενός standard εικονιδίου που θέλουμε να χρησιμοποιήσουμε μπορούμε να ανατρέξουμε στο Freedesktop Icon Naming Specification.
Ένα πρόβλημα είναι οτι η "αναγνώριση" του desktop environment στο οποίο βρισκόμαστε γίνεται μέσα από την εξέταση των τρεχουσών διεργασιών (οπότε αν μία διεργασία αλλάξει όνομα σε κάποια στιγμή στο μέλλον θα πρέπει να ενημερωθεί ο κώδικας κατάλληλα).