ok, danke. Dann werd ich mal saugen.
Beiträge von maciek
-
-
danke für den Tip. Allerdings hätte ich eine Frage: Was hat es da mit "Eval" im Torrentnamen auf sich?
-
könntest Du das genauer ausführen? Hast Du das Bild in der Tabelle in einem BLOB gespeichert? Wenn dem so ist, so kannst Du einfach ein UPDATE Query machen:
UPDATE tabelleXY SET
bild_new = bild_old
WHERE idtabelleXY = z -
Zitat von Wings-of-Glory
versuch mal FeedCreator
http://www.bitfolge.de/rsscreator-en.html
cool. :verycool: Danke für den schnellen Tip. Werd ich demnächst ausprobieren. -
Hallo Zusammen!
Ich hab mir überlegt für meine Vereinsseite einen RSS-Feed anzubieten. Ich verwende PHP (PEAR ist auch installiert) und MySQL. Von PEAR gibt es einen Parser für RSS, allerdings sehe ich (auf den ersten Blick) keine fertige Funktionalität, wie man RSS-Dokumente zur Verfügung stellt.
Hat jemand Erfahrung auf dem Gebiet?
Thanx 4 help.
-
Zitat von Ordovicium
Ich weiß jetzt zwar nicht wie dein Code aussieht aber eigentlich sollte das laut docu ned so auftauchen:
eben ... sollte nicht, tut es aber. Ich hab das Problem jetzt auf jeden Fall gelöst, dass ich vor dem Parsen alle Umlaute maskiere und dann in der CDATA-Funktion die Maskierung wieder umdrehe.Zitat von OrdoviciumObwohl ich zugeben muss, dass ich XML noch immer mit PHP parse:
schaut auch interessant aus. Werd ich beim nächsten Mal ausprobieren. -
Zitat von Becherer
Hallo, soweit ich das auf der opensuse Homepage richtig verstehe, gibt es keine DVD Version von opensuse aka. SUSE Linux OSS
Nur Novell SuSe 10 hat eine DVD Version. Die musst aber kaufen bzw es gibt eine Eval Version zum runterladen.
hmmm ... schade. Für Linux wird ja ein Programmchen mitgeliefert, wie man die CD.iso in ein DVD.iso umwandeln kann. Kennt Ihr sowas vielleicht für Windows? Ich mein ... wer brennt denn noch CDs? -
Hi Zusammen!
Eine Frage: Weiss jemand, wo man das DVD.iso von der opensuse 10er Version runterladen kann? Ich seh überall nur die 5 CD.iso Dateien ...
Thanx.
-
Hi Zusammen!
Ich hab ein Problem mit Zeilenumbrüchen und Umlauten in XML-Dateien. Und zwar bekomme ich in einem CDATA immer beim ersten Umlaut einen Zeilenumbruch, obwohl da keiner ist.
Beispiel: <kommentar>möglicherweise falsch</kommentar>
wird zu:
-> opening tag: kommentar
[cdata]: 'm'
[cdata]: 'öglicherweise falsch'
<- closing tag: kommentarJetzt kann ich natürlich hergehen und jeden ersten Umlaut in einem cdata finden, nur ist das nicht die feine englische Art. Hat jemand von Euch so ein Problem schon mal gehabt bzw. habt Ihr eine Ahnung woran das liegen könnte?
Mir ist das nämlich ziemlich rätselhaft ...
-
also ich würde Dir prinzipiell empfehlen PEAR::DB zu verwenden. Da ist es eigentlich wurscht, welche Datenbank Du verwendest (MySQL, pgSQL, MsSQL, usw.) - bis auf einige kleine Unterschiede in der SQL-Syntax. Die DB-Klasse erkennt die Art der Verbindung und verwaltet für Dich die Verbindung.
D.h. im Prinzip, dass Du Dich getrennt um die Probleme von PHP und MsSQL kümmern kannst.
-
Zitat von kubuntu
Ich verwende Visual Paradigm for UML. Bis dato das beste Programm was ich gefunden habe. ArgoUML und Poseidon sind ein Stueck zu kompliziert und zu langsam ("laggy"). Irgendein Eclipse UML Plugin hab ich auch mal ausprobiert nur hatte das ein paar Bugs und darum verschwands gleich wieder.
Visual Paradigm ist aber leider kommerziell, Community Edition umsonst. Es gibt aber die VU Objektorientierte Analyse und Entwurf. Auf deren HP findest du einen Key fuer die Standard-Edition (Internetverbindung beim Start wird benoetigt).
cool. Danke für den Tip. Werde ich mal über's Wochenende ausprobieren. Für alle, die es auch interessiert: Den Key gibt es hier (5.0) bzw. hier (5.1) und das Programm hier. -
wenn wir schon bei guten Erweiterungen sind ... welche kennt Ihr für JBuilder? Muss sich nicht unbedingt nur auf UML beschränken.
Thanx.
EDIT: Auf der tigris.org gibt es einige interessante Sachen (ganz "allgemeiner" Natur). Und: Kennt das jemand: http://www.visual-paradigm.com/ ?
-
Hi Zusammen!
Durch das Chaos in meiner Firma (siehe Thread "servlet informationen") hab ich angefangen zu überlegen, ob es eigentlich nicht sinnvoll wäre, einen totalen Neu-Anfang des Projekts vorzuschlagen. Dafür wäre wahrscheinlich gleich eine Entwicklung basierend auf einem sinnvollen Development-Framework sinnvoll.
Nach ein bissi googlen, habe ich folgende Kandidaten gefunden:
- Turbine: Entwicklungsprozess dürfte ins stocken geraten sein
- Struts
- JSF: Da ist angeblich der ehemalige Chefentwickler von Turbine verantwortlich
- Spring
- ... usw.
Einige dieser Namen hab ich schon mal gehört, aber wirklich Erfahrung auf dem Gebiet hab ich nicht. Kennt sich jemand von Euch damit aus? Vorteile/Nachteile? Muss wie gesagt nicht unbedingt Open Source sein, da es eh nicht für "private Zwecke" sein wird.
Würde mir gerne ein Bild von einer sinnvollen Java Entwicklungsumgebung machen. Vielleicht kann man die positiven Ideen dann auch in der Firma an den Mann bringen.
Thanx.
EDIT: P.S.: Als DB-System ist Oracle in Einsatz.
-
Zitat von Usher
Wenn jetzt also während eines Requests (d.h. UserA fordert eine Seite an, und bekommt sie geliefert) ein anderer Request ebenfalls eintrifft (zeitgleich fordert UserB eine Seite an), kann folgendes passieren:
1) UserA speichert Session-Daten (oder Request-Daten, was auch immer) in statischer Variable
2) UserB speichert Session-Daten in derselben statischen Variable (Wert wird überschrieben)
3) noch während des Requests von UserA wird der Wert der stat. Var. irgendwo im Programm ausgelesen (d.h. UserA sieht die Session von UserB)
4) UserB sieht ebenfalls UserB's Session
Punkt 3 = fatal.
ich hab versucht mich in den letzten paar Tagen noch weiter mit dem Problem, dass sich die Servlet-Threads gegenseitig die Informationen überschreiben, auseinander zu setzen.Auf der Suche nach einem eindeutigen key für jeden Servlet-Request, bin ich auf die Idee gekommen, dass ja jedes Servlet in einem eigenen Thread abgearbeitet wird. Eigener Thread = Name (ID) des Threads.
Und so funktioniert's:
-) Servlet ruft den SessionHandler auf[INDENT]-) key wird anhand der ID (Name) des Threads generiert, der das Servlet ausführt[/INDENT]
-) Servlet setzt request für seinen key
-) die Postparameter werden verarbeitet
[INDENT]-) ein beliebiges Objekt erstellt neuen SessionHandler
[INDENT]-) key ist gleich, da Objekt im gleichen Thread läuft wie das Servlet[/INDENT]
-) das Objekt holt sich request (Session)[/INDENT]
-) nach der Abarbeitung der Postparameter löscht das Servlet seinen gespeicherten Request
[INDENT]-) der Request wird ja nicht mehr gebraucht
-) damit ist eine Art garbage collection gegeben[/INDENT]Aufpassen muss man natürlich, dass die Objekte, die diese Funktionalität nutzen direkt im Servlet-Thread laufen.
Was haltet Ihr davon? Anbei ist der Code des SessionHandlers:
Java
Alles anzeigenimport java.util.*; import java.lang.*; import javax.servlet.http.*; public class SessionHandler { private static HashMap sessions = new HashMap(); private String key; public SessionHandler() { /* * get the Name of the currently executing thread */ try { Thread thisThread = Thread.currentThread(); key = thisThread.getName(); } catch (Exception e) { e.printStackTrace(); } } /** * store the request for the client * @param request HttpServletRequest */ public void setRequest(HttpServletRequest request) { /* * check whether the key already exists */ if (sessions.containsKey(key)) { printDebug("renewing", "request"); System.out.println("[sessionHandler] ERROR: can not overwrite key: "+ key); } else { printDebug("adding", "request"); } sessions.put(key, request); } /** * removes the thread which calls this method from the session vars */ public void removeRequest() { printDebug("removing", "request"); sessions.remove(key); } /** * returns the IP address of the client of the current user * @return String */ public String getClientAddress() { String ipAddress = ""; if (sessions.containsKey(key)) { HttpServletRequest request = (HttpServletRequest) sessions.get(key); ipAddress = request.getRemoteAddr(); printDebug("returning", "ipAddress: "+ipAddress); } else { System.out.println("[sessionHandler] ERROR: key "+ key + " not found to return ipAddress."); } return ipAddress; } /** * return the active session for the current user * @return HttpSession */ public HttpSession getSession() { if (sessions.containsKey(key)) { printDebug("returning", "session"); HttpServletRequest request = (HttpServletRequest) sessions.get(key); return request.getSession(true); } else { System.out.println("[sessionHandler] ERROR: key "+ key + " not found to return session."); } return null; } private void printDebug(String action, String what) { System.out.println("[sessionHandler] " + action + " " + what + " for key: "+ key); } }
-
Zitat von KeinWunder
is eher allgemein gehalten, also nix spezielles für Servlet-basierte Anwendungen, aber ich denke es wird dir trotzdem weiter helfen
E-Book hab ich gefunden:
http://files.nixp.ru/books/programm…ting%20Code.pdf
danke. Ich werd morgen mal genauer reinschauen. -
Zitat von KeinWunder
kennst du das Buch Refactoring von Martin Fowler?
http://www.amazon.de/exec/obidos/AS…3373574-9602464
darin gibt es einen Katalog wie man das Design verbessern kann
immer in kleinsten Schritten, bis man zum gewünschten Ergebnis kommt
diesen Ansatz find ich ziemlich gut
hmmm ... nope, kenn ich nicht. Hört sich aber ganz interessant an. Sind da auch ansätze für servletbasierte Architekturen drinnen? Ich werd mal schauen, ob das in der Firma vielleicht in der Bibliothek verfügbar ist. Ansonst können wir das vielleicht bestellen ... das Buch kriegt man nicht zufällig auch als Onlineausgabe? -
-
Zitat von laborg
Was genau willst du eigentlich machen? Bis jetzt kennen wir ja nicht das Problem sondern nur deinen ersten Versuch der Problemlösung...
in der "Architektur", die vor mir liegt, gib es ein Servlet und ca. 50 Klassen, die in einem wirren Netzwerk vom Servlet aufgerufen werden um die Seiten aufzubauen. Dabei gibt es eine "interne Session" ("Blackboard"). Das Blackboard-Objekt wird immer weiter gegeben, damit auch das ObjektXY in der Tiefe 2-z auf die im Blackboard gespeicherten Informationen (Session, Requestparameter, usw.) zugreifen kann.Jetzt soll ich mit diesem Wirrwar, das mir wie gesagt von meinem Vorgänger überlassen wurde, weiterarbeiten. Ich hab mit Java-Webapplikationen nicht die größte Erfahrung, aber ich würde wohl sagen, dass ich mich mit PHP-Webapplikationen doch sehr gut auskenne. Ich sehe, dass diese Struktur nicht gut sein kann, und ich würde einige Ideen haben, wie man das ändern könnte, nur weiss ich nicht, wie man das in Java umsetzen kann.
Am besten würde ich dieses Blackboard an sich wegschmeissen und durch eine schlauere Sessionverwaltung ersetzen. Allerdings will ich meine "Sessionverwaltung" nicht in der gleichen Weise immer weitergeben ...
Hat diese Erklärung geholfen?
-
Zitat von Usher
tja, das ist eine Frage des Designs, wie jemand schon zuvor richtig geschrieben hat.
Da gibt's dieses "berühmte" Buch mit den 20 oder 25 wichtigsten Design-Patterns...ist sicher ein passendes dabei.
Man müsste aber wie's aussieht, das ganze refactoren.
ich hab mich ein bissi auf die Suche gemacht und folgenden Artikel gefunden. Das ist die Rede von einem "Request Accessor". Allerdings scheint der auch nicht die optimale Lösung zu sein ... -
Zitat von KeinWunder
dann kann dein Servlet nur einen Request auf einmal abarbeiten
ich glaub nicht, dass das eine gute Lösung für eine Webapplikation ist
wahrscheinlich ist das wirklich nicht die beste. Allerdings kann ich mir nicht vorstellen, dass a) ich der erste bin, der so ein Problem hat und b) es nicht irgendwie eine sinnvolle Lösung für dieses Problem gibt.Und wir sind uns glaub ich einig, dass weder die Lösung mit der ständigen Weitergabe des ServletRequest noch die andere mit der static-Variable optimale Lösungen sind, oder?