Viele Foren von Tutorials.de

tutorials.de gehört zu den populärsten Hilfe-Communities im deutschsprachigen Raum. Viele Anleitungen / Tutorials und Foren zu Internet, Programmierung & Design
Aktualisiert: vor 59 Minuten 38 Sekunden
Produktbild - Slider
Guten Tag!
Ich bin auf der Suche nach einer horizontalen Box, in welche verschiedene Produktbilder mit Preis übergeben werden können. Wenn mann mit der Maus nach links oder rechts geht, sollte dies dann weiterscrollen.
Sollte es keine kostenlosen Lösungen geben, wäre ich auch bereit einen Auftrag zu erteilen.
Ich bin auf der Suche nach einer horizontalen Box, in welche verschiedene Produktbilder mit Preis übergeben werden können. Wenn mann mit der Maus nach links oder rechts geht, sollte dies dann weiterscrollen.
Sollte es keine kostenlosen Lösungen geben, wäre ich auch bereit einen Auftrag zu erteilen.
Kategorien: Tutoials
Sandtextur flimmert beim animieren
Ich habe ein wüstenscene modelliert und auf die sandtextur im reliefkanal mit fusion 3 noise shader draufgelegt und beim animiren fängt der sand an zu flimmern.wäre schön wenn mir jemand helfen kann....
Kategorien: Tutoials
vCal auslesen: Zeit ":" wird als Trennungszeichen interpretiert
Hallo Leute,
folgendes Problem, wenn wir eine vCal auslesen:
Doppelpunkt wird laut Standard als Trennung zwischen Property Name und Value benutzt, was von uns aus so ausgelesen wird.
Nun haben wir Probleme beim Datemsauslesen, z.B. hier:
DTSTART;TZID="(GMT+01:00) Amsterdam, Berlin, Bern, Rom, Stockholm, Wien":20
100916T150000
Der Doppelpunkt in der Klammer wird eben auch auswertet als Trennungszeichen intrpretiert.
Hat jemand eine Idee, wie man solche Ausnahme einfach aber allgemein gültig umgehen kann?
Wie immer Danke im Voraus.
folgendes Problem, wenn wir eine vCal auslesen:
Doppelpunkt wird laut Standard als Trennung zwischen Property Name und Value benutzt, was von uns aus so ausgelesen wird.
Nun haben wir Probleme beim Datemsauslesen, z.B. hier:
DTSTART;TZID="(GMT+01:00) Amsterdam, Berlin, Bern, Rom, Stockholm, Wien":20
100916T150000
Der Doppelpunkt in der Klammer wird eben auch auswertet als Trennungszeichen intrpretiert.
Hat jemand eine Idee, wie man solche Ausnahme einfach aber allgemein gültig umgehen kann?
Wie immer Danke im Voraus.
Kategorien: Tutoials
Die Neue Reinigungskraft..
Seit kurzem is in der Firma ne neue Putze, und die is seeeehr gründlich.
Jeden Montag wenn man in die Arbeit kommt is der ganze Schreibtisch aufgeräumt.
Das Problem is nur ich hab Sortierte Zettelstapel auf meinem... und auch sonst alles sortiert auf meinem Schreibtsich ausgebreitet.
Also hab ich nen Zettel ausgedruckt und drauf geschrieben, "Bittte diesen Tisch nicht aufräumen.".
Die hat den Zettel einfahc mit aufgeräumt..
MfG
Mark Paspirgilis
Jeden Montag wenn man in die Arbeit kommt is der ganze Schreibtisch aufgeräumt.
Das Problem is nur ich hab Sortierte Zettelstapel auf meinem... und auch sonst alles sortiert auf meinem Schreibtsich ausgebreitet.
Also hab ich nen Zettel ausgedruckt und drauf geschrieben, "Bittte diesen Tisch nicht aufräumen.".
Die hat den Zettel einfahc mit aufgeräumt..
MfG
Mark Paspirgilis
Kategorien: Tutoials
JPanel als CellEditor in JXTreeTable
Hallo,
Ich habe eine JXTreeTable bei welcher ich einen CellEditor schreiben muss. Dieser CellEditor besteht aus einem JPanel, auf welchen sich mehrere Elemente befinden. Das Problem ist dass man von dem Panel nur exakt den Auschnitt sieht, wie groß die zu editierende Zelle ist. Jetzt möchte ich das das Panel wie eine Art Overlay (so wie der aufgeklapte Teil einer Combobox) über der Tabelle gezeichnet wird aber ich habe keine Ahnung wie ich dies bewerkstelligen soll.
Danke schon mal im Vorraus
Ich habe eine JXTreeTable bei welcher ich einen CellEditor schreiben muss. Dieser CellEditor besteht aus einem JPanel, auf welchen sich mehrere Elemente befinden. Das Problem ist dass man von dem Panel nur exakt den Auschnitt sieht, wie groß die zu editierende Zelle ist. Jetzt möchte ich das das Panel wie eine Art Overlay (so wie der aufgeklapte Teil einer Combobox) über der Tabelle gezeichnet wird aber ich habe keine Ahnung wie ich dies bewerkstelligen soll.
Danke schon mal im Vorraus
Kategorien: Tutoials
Java Entwickler (m/w) mit Schwerpunkt Ruby on Rails für Köln
Wenn Sie kreative und abwechslungsreiche Entwicklungsaufgaben mit Entscheidungsfreiräumen suchen, dann ist diese attraktive Inhouseposition die richtige Option für Sie!
In enger Kooperation mit unserem Kundenunternehmen, einem erfolgreichen Web-Unternehmen aus Köln, suchen wir motivierte und leidenschaftliche
Java Webentwickler (m/w) mit dem Schwerpunkt Ruby on Rails.
Spannende Aufgaben, vielfältige Entwicklungsmöglichkeiten und nette Kollegen warten auf Sie.
Ihre Aufgaben:
Sie lieben es, innovative Weblösungen für technologische Herausforderungen im Team zu entwickeln?
Von der Anforderungsanalyse über die Konzeption, Qualitätssicherung und Implementierung übernehmen Sie Aufgaben der ganzheitlichen Entwicklung von Webanwendungen.
Ihr Profil:
- abgeschlossenes Informatikstudium bzw. vergleichbare Ausbildungen
- mindestens zwei Jahre Berufserfahrung in objektorientierter Programmierung im Webumfeld
- gute Kenntnisse mit Ruby on Rails
- sicherer Umgang mit den Web 2.0- Technologien (u.a. Ajax,XHTML, JavaScript)
- sehr gute Deutsch- und gute Englischkenntnisse
- lernbereit, motiviert und zielorientiert
Das erwartet Sie:
- umfangreiche Gestaltungsmöglichkeiten
- Einsatz neuester Technologien in einer agilen Entwicklungsumgebung
- Innovative, motivierte und freundliche Kollegen
- Attraktives Gehalt von bis zu 55.000
Habe ich Ihr Interesse geweckt?
Dann bewerben Sie sich am Besten sofort auf diese Stelle bei Herrn Christian Rebbe Computer Futures Düsseldorf (Tel: 0211 8774 4000).
Die Bewerbung senden Sie bitte als Word Datei, incl. Ihrer aktuellen Projektliste.
Was ich Ihnen biete:
Ich stehe mit nahezu allen Führungskräften aus Top-Unternehmen im Raum Köln-Bonn - Aachen in Kontakt und habe so den kompletten Überblick über alle OpenSource-Festanstellungspositionen in dieser Region.
Für Sie als Kandidat sind meine Dienstleistungen kostenlos und unverbindlich.
Ich freue mich auf Ihre Bewerbung!
In enger Kooperation mit unserem Kundenunternehmen, einem erfolgreichen Web-Unternehmen aus Köln, suchen wir motivierte und leidenschaftliche
Java Webentwickler (m/w) mit dem Schwerpunkt Ruby on Rails.
Spannende Aufgaben, vielfältige Entwicklungsmöglichkeiten und nette Kollegen warten auf Sie.
Ihre Aufgaben:
Sie lieben es, innovative Weblösungen für technologische Herausforderungen im Team zu entwickeln?
Von der Anforderungsanalyse über die Konzeption, Qualitätssicherung und Implementierung übernehmen Sie Aufgaben der ganzheitlichen Entwicklung von Webanwendungen.
Ihr Profil:
- abgeschlossenes Informatikstudium bzw. vergleichbare Ausbildungen
- mindestens zwei Jahre Berufserfahrung in objektorientierter Programmierung im Webumfeld
- gute Kenntnisse mit Ruby on Rails
- sicherer Umgang mit den Web 2.0- Technologien (u.a. Ajax,XHTML, JavaScript)
- sehr gute Deutsch- und gute Englischkenntnisse
- lernbereit, motiviert und zielorientiert
Das erwartet Sie:
- umfangreiche Gestaltungsmöglichkeiten
- Einsatz neuester Technologien in einer agilen Entwicklungsumgebung
- Innovative, motivierte und freundliche Kollegen
- Attraktives Gehalt von bis zu 55.000
Habe ich Ihr Interesse geweckt?
Dann bewerben Sie sich am Besten sofort auf diese Stelle bei Herrn Christian Rebbe Computer Futures Düsseldorf (Tel: 0211 8774 4000).
Die Bewerbung senden Sie bitte als Word Datei, incl. Ihrer aktuellen Projektliste.
Was ich Ihnen biete:
Ich stehe mit nahezu allen Führungskräften aus Top-Unternehmen im Raum Köln-Bonn - Aachen in Kontakt und habe so den kompletten Überblick über alle OpenSource-Festanstellungspositionen in dieser Region.
Für Sie als Kandidat sind meine Dienstleistungen kostenlos und unverbindlich.
Ich freue mich auf Ihre Bewerbung!
Kategorien: Tutoials
Senior Web Developer (Quality Assurance) (w/m) Vollzeit nahe Frankfurt am Main
Wir suchen...
Senior Web Developer (Quality Assurance) (w/m) Vollzeit
Um extrem innovative Plattformen zu entwickeln und damit auf Dauer innovativ zu bleiben, ist es notwendig, dass der zu Grunde liegende Quellcode qualitativ sehr hochwertig und leicht erweiterbar ist.
Das Internet entwickelt sich rasant weiter, ständige Veränderungen sind hier also der Normalfall. Agilität, kurze Releasezyklen, automatisiertes Testing und kontinuierliches Refactoring sind somit wichtige Bausteine für den Erfolg. Hohe Qualität und ein eleganter Programmierstil sind es wert, kultiviert zu werden - und um diese Ideale zu leben, brauchen wir Verstärkung.
Hast du dich erkannt und möchtest eines der reichweitenstärksten Projekte Europas mitgestalten?
Dann wirst du gebraucht!
Dein Profil ...
Wir bieten ...
Dein Arbeitsfeld
Du nutzt deine gesammelten Erfahrungen, um auf ihrer Basis eine Entwicklungskultur zu prägen, für die Qualität und Agilität an erster Stelle steht. Dabei setzt du hochkomplexe Algorithmen und Systeme um, die auf elegantem, objektorientiertem Code fußen. Dabei wirst du mit deinem Team Dinge entwickeln, die man so noch nie im Internet gesehen hat...
Du möchtest mit uns die Zukunft gestalten? Dann bewirb dich und zwar sofort!
Bewerbung
Per E-Mail: (bevorzugt)
bewerbung [at] lotum.de
Postanschrift
LOTUM GmbH
z.Hd. Jens Abke
Kurstraße 2
61231 Bad Nauheim
Senior Web Developer (Quality Assurance) (w/m) Vollzeit
Um extrem innovative Plattformen zu entwickeln und damit auf Dauer innovativ zu bleiben, ist es notwendig, dass der zu Grunde liegende Quellcode qualitativ sehr hochwertig und leicht erweiterbar ist.
Das Internet entwickelt sich rasant weiter, ständige Veränderungen sind hier also der Normalfall. Agilität, kurze Releasezyklen, automatisiertes Testing und kontinuierliches Refactoring sind somit wichtige Bausteine für den Erfolg. Hohe Qualität und ein eleganter Programmierstil sind es wert, kultiviert zu werden - und um diese Ideale zu leben, brauchen wir Verstärkung.
Hast du dich erkannt und möchtest eines der reichweitenstärksten Projekte Europas mitgestalten?
Dann wirst du gebraucht!
Dein Profil ...
- PHP / OOP / JAVA. Du kannst wirklich gut objektorientiert mit php5 programmieren und hast auch bereits Erfahrungen in der Programmierung mit JAVA, C++, C# oder einer vergleichbaren objektorientierten Programmiersprache sammeln können.
- Design Patterns. Du weißt genau, wann und wieso man welches Design Pattern bei der Programmierung anwendet (und wann besser nicht).
- Unit Testing. Du hast Erfahrung mit phpunit und weißt, wie man gute Tests und damit verbunden guten Code schreibt.
- Refactoring. Du hast ein Gespür dafür, welchen Code man refaktorieren sollte und ganz allgemein, was eleganten und einfach wartbaren Code auszeichnet.
- Continuous Integration. Du hast bereits mit einer CI-Umgebung gearbeitet (Hudson, phpUnderControl, Bamboo o.ä.).
- SQL und (X)HTML. Du kannst problemlos komplexe SQL-Abfragen formulieren und weist Kenntnisse in (X)HTML vor.
- Erfahrung. Du besitzt mindestens vier Jahre Berufserfahrung in den Bereichen Quality Assurance und Web Development.
- Nice to have. Erfahrungen mit Scrum/agilen Entwicklungsmethoden und/oder mit Linux auf Konsolenebene.
Wir bieten ...
- Atmosphäre. In einem jungen und sympathischen Team mit einer kollegial-freundschaftlichen Atmosphäre, die ihresgleichen sucht.
- Herausforderung. Intelligente Algorithmen, performante Datenbankabfragen, hochskalierbare Serverstrukturen.
- Innovation. Agile Entwicklungsmethodik, Augmented Reality, Usability und ein ständiges Erweitern des eigenen Horizonts.
- Freiraum. Kreativität und Eigenverantwortlichkeit für deine persönliche wie berufliche Entwicklung.
- Relevanz. Du prägst die Produkte, die täglich millionenfach aufgerufen und genutzt werden. Das bedeutet Verantwortung tragen, aber auch die Gewissheit, dass die eigene Arbeit wahrgenommen wird.
- Perspektive. Wachse - in einem erfolgreichen und dynamischen Unternehmen, das Maßstäbe setzt.
Dein Arbeitsfeld
Du nutzt deine gesammelten Erfahrungen, um auf ihrer Basis eine Entwicklungskultur zu prägen, für die Qualität und Agilität an erster Stelle steht. Dabei setzt du hochkomplexe Algorithmen und Systeme um, die auf elegantem, objektorientiertem Code fußen. Dabei wirst du mit deinem Team Dinge entwickeln, die man so noch nie im Internet gesehen hat...
Du möchtest mit uns die Zukunft gestalten? Dann bewirb dich und zwar sofort!
Bewerbung
Per E-Mail: (bevorzugt)
bewerbung [at] lotum.de
Postanschrift
LOTUM GmbH
z.Hd. Jens Abke
Kurstraße 2
61231 Bad Nauheim
Kategorien: Tutoials
Backend Entwickler / Web Developer (Security) (w/m) Vollzeit nahe Frankfurt am Main
Wir suchen...
Web Developer (Security) (w/m) Vollzeit
Wir möchten nicht nur große, innovative und stark frequentierte Webprojekte aufbauen - sie sollen den Benutzern auch ein Höchstmaß an Sicherheit bieten. Genauso schnell, wie sich die Technologie im Internet entwickelt, wachsen die Möglichkeiten von Angreifern, um Userdaten auszuspähen, Phishing zu betreiben oder auf sonstige Weise den Benutzern zu schaden. Dies möchten wir vermeiden - und dabei benötigen wir Verstärkung.
Hast du dich erkannt und möchtest eines der reichweitenstärksten Projekte Europas mitgestalten?
Dann wirst du gebraucht!
Dein Profil ...
Wir bieten ...
Dein Arbeitsfeld
Du bist maßgeblich für die Entwicklung eleganter Sicherheitskonzepte der einzelnen Projekte verantwortlich. Neben der Analyse der Systeme auf etwaige Sicherheitsrisiken ist es deine Aufgabe ihre Quellen zu beseitigen: Du lässt andere Mitarbeiter an deinem Wissen teilhaben und sensibilisierst sie bzgl. möglicher Problemquellen innerhalb ihres Codes. Dabei bildest du dich ständig weiter und bleibst auf dem neusten Stand, um heute schon Antworten auf die Sicherheitsfragen von morgen bieten zu können.
Du möchtest mit uns eine sichere Zukunft gestalten? Dann bewirb dich – und zwar sofort!
Bewerbung
Per E-Mail: (bevorzugt)
bewerbung [at] lotum.de
Postanschrift
LOTUM GmbH
z.Hd. Jens Abke
Kurstraße 2
61231 Bad Nauheim
Web Developer (Security) (w/m) Vollzeit
Wir möchten nicht nur große, innovative und stark frequentierte Webprojekte aufbauen - sie sollen den Benutzern auch ein Höchstmaß an Sicherheit bieten. Genauso schnell, wie sich die Technologie im Internet entwickelt, wachsen die Möglichkeiten von Angreifern, um Userdaten auszuspähen, Phishing zu betreiben oder auf sonstige Weise den Benutzern zu schaden. Dies möchten wir vermeiden - und dabei benötigen wir Verstärkung.
Hast du dich erkannt und möchtest eines der reichweitenstärksten Projekte Europas mitgestalten?
Dann wirst du gebraucht!
Dein Profil ...
- PHP. Du besitzt gute Kenntnisse in php5 und objektorientierter Programmierung.
- SQL und (X)HTML. Du kannst problemlos komplexe SQL-Datenbank- abfragen formulieren.
- Linux. Linux auf Konsolenebene ist dein zweites Zuhause.
- (X)HTML. Du besitzt (X)HTML-Kenntnisse.
- Frontend-Programmierung. Javascript und Ajax sind keine Fremdworte für dich.
- Security. Du besitzt große Erfahrungen im Bereich Security und dir ist wirklich wichtig, den Benutzern Sicherheit zu garantieren.
- Erfahrung. Du besitzt mindestens zwei Jahre Berufserfahrung in den Bereichen Security und Web Development.
Wir bieten ...
- Atmosphäre. In einem jungen und sympathischen Team mit einer kollegial-freundschaftlichen Atmosphäre, die ihresgleichen sucht.
- Herausforderung. Intelligente Algorithmen, performante Datenbankabfragen, hochskalierbare Serverstrukturen.
- Innovation. Agile Entwicklungsmethodik, Augmented Reality, Usability und ein ständiges Erweitern des eigenen Horizonts.
- Freiraum. Kreativität und Eigenverantwortlichkeit für deine persönliche wie berufliche Entwicklung.
- Relevanz. Du prägst die Produkte, die täglich millionenfach aufgerufen und genutzt werden. Das bedeutet Verantwortung tragen, aber auch die Gewissheit, dass die eigene Arbeit wahrgenommen wird.
- Perspektive. Wachse - in einem erfolgreichen und dynamischen Unternehmen, das Maßstäbe setzt.
Dein Arbeitsfeld
Du bist maßgeblich für die Entwicklung eleganter Sicherheitskonzepte der einzelnen Projekte verantwortlich. Neben der Analyse der Systeme auf etwaige Sicherheitsrisiken ist es deine Aufgabe ihre Quellen zu beseitigen: Du lässt andere Mitarbeiter an deinem Wissen teilhaben und sensibilisierst sie bzgl. möglicher Problemquellen innerhalb ihres Codes. Dabei bildest du dich ständig weiter und bleibst auf dem neusten Stand, um heute schon Antworten auf die Sicherheitsfragen von morgen bieten zu können.
Du möchtest mit uns eine sichere Zukunft gestalten? Dann bewirb dich – und zwar sofort!
Bewerbung
Per E-Mail: (bevorzugt)
bewerbung [at] lotum.de
Postanschrift
LOTUM GmbH
z.Hd. Jens Abke
Kurstraße 2
61231 Bad Nauheim
Kategorien: Tutoials
Backend Entwickler / Web Developer (Server Administration / Performance) (w/m) Vollz.
Wir suchen...
Web Developer (Server Administration / Performance) (w/m) Vollzeit
Unsere Projekte sind überaus innovativ und werden täglich von hunderttausenden Usern besucht. Um ein effizientes System aufzubauen und weiterzuentwickeln, das diesen (täglich wachsenden) Besucherstrom bewältigen kann, muss man ständig am Ball bleiben. Hardware und Software müssen perfekt aufeinander abgestimmt sein und neue Konzepte entwickelt werden, um Skalierbarkeit, Ausfallsicherheit und Performanz zu gewährleisten. Dafür suchen wir Verstärkung.
Hast du dich erkannt und möchtest eines der reichweitenstärksten Projekte Europas mitgestalten?
Dann wirst du gebraucht!
Dein Profil ...
Wir bieten ...
Dein Arbeitsfeld
Du entwickelst brandneue Features für unsere Plattformen. Dabei wirst du deine gesamte Kreativität einsetzen, um innovative Konzepte sowohl auf Hard- als auch Softwareebene zu kreieren, welche die von dir betreuten Systeme hocheffizient werden lassen. Agile Entwicklungsmethoden und direktes Userfeedback tragen dazu bei, dass du jederzeit spürst, welchen Einfluss du auf den Erfolg der einzelnen Projekte hast.
Zudem ist es deine Aufgabe, Augen und Ohren offen zu halten, um am Puls der Zeit neueste Technologietrends zu verfolgen. Da viele dieser Trends in den Entwicklungsprozess einfließen, ist es unumgänglich, dass du täglich dazulernst und dich permanent weiter entwickelst.
Du möchtest mit uns die Zukunft gestalten? Dann bewirb dich – und zwar sofort!
Bewerbung
Per E-Mail: (bevorzugt)
bewerbung [at] lotum.de
Postanschrift
LOTUM GmbH
z.Hd. Jens Abke
Kurstraße 2
61231 Bad Nauheim
Web Developer (Server Administration / Performance) (w/m) Vollzeit
Unsere Projekte sind überaus innovativ und werden täglich von hunderttausenden Usern besucht. Um ein effizientes System aufzubauen und weiterzuentwickeln, das diesen (täglich wachsenden) Besucherstrom bewältigen kann, muss man ständig am Ball bleiben. Hardware und Software müssen perfekt aufeinander abgestimmt sein und neue Konzepte entwickelt werden, um Skalierbarkeit, Ausfallsicherheit und Performanz zu gewährleisten. Dafür suchen wir Verstärkung.
Hast du dich erkannt und möchtest eines der reichweitenstärksten Projekte Europas mitgestalten?
Dann wirst du gebraucht!
Dein Profil ...
- PHP. Du besitzt gute Kenntnisse in php5 und objektorientierter Programmierung.
- SQL und (X)HTML. Du kannst problemlos komplexe SQL-Datenbank- abfragen formulieren.
- Linux. Linux auf Konsolenebene ist dein zweites Zuhause.
- Server-Administration. Du hast einschlägige Erfahrungen im Umgang und der Konfiguration von Apache oder Lighttpd, MySQL, Monitoring-Software wie Nagios oder netMRG und allem, was dazugehört, ein großes Servercluster im Internetbereich zu betreiben.
- Performance-Optimierung. Du weißt, welche Möglichkeiten MySQL zur Performance-Optimierung bietet, kennst verschiedene Cachingverfahren und liebst es, unschaffbare Aufgaben zu meistern.
- Gefühl für Hardware. Du weißt, wie man einen dedizierten Server bestücken muss, um effizient das Beste aus ihm rauszuholen.
- (X)HTML. Du besitzt (X)HTML-Kenntnisse.
- Erfahrung. Du besitzt mindestens zwei Jahre Berufserfahrung in den Bereichen Server Administration, Performance-Optimierung und Web Development.
Wir bieten ...
- Atmosphäre. In einem jungen und sympathischen Team mit einer kollegial-freundschaftlichen Atmosphäre, die ihresgleichen sucht.
- Herausforderung. Intelligente Algorithmen, performante Datenbankabfragen, hochskalierbare Serverstrukturen.
- Innovation. Agile Entwicklungsmethodik, Augmented Reality, Usability und ein ständiges Erweitern des eigenen Horizonts.
- Freiraum. Kreativität und Eigenverantwortlichkeit für deine persönliche wie berufliche Entwicklung.
- Relevanz. Du prägst die Produkte, die täglich millionenfach aufgerufen und genutzt werden. Das bedeutet Verantwortung tragen, aber auch die Gewissheit, dass die eigene Arbeit wahrgenommen wird.
- Perspektive. Wachse - in einem erfolgreichen und dynamischen Unternehmen, das Maßstäbe setzt.
Dein Arbeitsfeld
Du entwickelst brandneue Features für unsere Plattformen. Dabei wirst du deine gesamte Kreativität einsetzen, um innovative Konzepte sowohl auf Hard- als auch Softwareebene zu kreieren, welche die von dir betreuten Systeme hocheffizient werden lassen. Agile Entwicklungsmethoden und direktes Userfeedback tragen dazu bei, dass du jederzeit spürst, welchen Einfluss du auf den Erfolg der einzelnen Projekte hast.
Zudem ist es deine Aufgabe, Augen und Ohren offen zu halten, um am Puls der Zeit neueste Technologietrends zu verfolgen. Da viele dieser Trends in den Entwicklungsprozess einfließen, ist es unumgänglich, dass du täglich dazulernst und dich permanent weiter entwickelst.
Du möchtest mit uns die Zukunft gestalten? Dann bewirb dich – und zwar sofort!
Bewerbung
Per E-Mail: (bevorzugt)
bewerbung [at] lotum.de
Postanschrift
LOTUM GmbH
z.Hd. Jens Abke
Kurstraße 2
61231 Bad Nauheim
Kategorien: Tutoials
Web Developer (w/m) Praktikum (Option: Diplomarbeits-Betreuung/ Festanstellung)
Web Developer (w/m) Praktikum (Option: Diplomarbeits-Betreuung/ Festanstellung)
Wir suchen ...
Wir bieten ...
Bewerbung
Per E-Mail: (bevorzugt)
bewerbung [at] lotum.de
Postanschrift
LOTUM GmbH
z.Hd. Jens Abke
Kurstraße 2
61231 Bad Nauheim
Wir suchen ...
- einen Praktikanten (w/m), der unser schlagkräftiges Projekt-Team für den Aufbau einer überaus innovativen E-Commerce-Plattform ergänzt und uns bei anspruchsvollen Tätigkeiten rund um die Backendentwicklung unterstützen kann.
- Fakten zum Praktikum
- Der Beginn des vergüteten Praktikums ist ab sofort möglich. Die Dauer des Praktikums sollte 6 Monate betragen. Im Anschluss an das Praktikum besteht bei Bedarf die Möglichkeit eine Diplom-/ Bachelor-/ Masterarbeit zu schreiben. Auch der Übergang in eine Festanstellung ist möglich.
- Dein Profil ...
- PHP5. Du hast gute Kenntnisse in objektorientierter Programmierung (PHP5).
- SQL. Du hast Erfahrungen in der Formulierung komplexer SQL-Datenbankabfragen.
- Linux. Du besitzt mindestens grundlegende Erfahrungen mit LINUX auf Konsolenebene.
- Intelligenz und Motivation. Du bist intelligent und bringst eine hohe Motivation und Bereitschaft mit, gemeinsam mit uns etwas zu bewegen.
- Verantwortungsbewusstsein. Du besitzt eine verantwortungsbewusste Arbeitsweise und verfügst über eine sehr gute Teamfähigkeit sowie Eigeninitiative.
Wir bieten ...
- Verantwortung. Du arbeitest eigenverantwortlich als vollwertiges Teammitglied.
Herausforderung. Intelligente Algorithmen, performante Datenbankabfragen, hochskalierbare Serverstrukturen. - Innovation. Agile Entwicklungsmethodik, Augmented Reality, Usability und ein ständiges Erweitern des eigenen Horizonts.
- Relevanz. Keine theoretischen Überlegungen und Ideen für den Papierkorb, sondern Mitarbeit an einem der ambitioniertesten Webprojekte Europas.
- Atmosphäre. In einem jungen und sympathischen Unternehmen mit einer kollegial-freundschaftlichen Atmosphäre, die ihresgleichen sucht.
Bewerbung
Per E-Mail: (bevorzugt)
bewerbung [at] lotum.de
Postanschrift
LOTUM GmbH
z.Hd. Jens Abke
Kurstraße 2
61231 Bad Nauheim
Kategorien: Tutoials
Web Developer Mobile Apps (w/m) Vollzeit nahe Frankfurt am Main
Web Developer Mobile Apps (w/m) Vollzeit
Für die Entwicklung mobiler Anwendungen muss man Spezialist sein. Ein Spezialist in vielen Bereichen. Eine saubere objektorientierte Architektur, die Euphorie für die rasanten Entwicklungen im Mobilesegment und den stetigen Fokus auf User Interface und Usability sind die wichtigsten Erfolgsfaktoren mobiler Anwendungen. Mittelmäßige Applikationen gibt es unserer Meinung nach genug. Wir möchten bewegen - und verändern.
Genau dafür suchen wir Verstärkung.
Hast du dich erkannt und möchtest eines der reichweitenstärksten Projekte Europas mitgestalten?
Dann wirst du gebraucht!
Dein Profil ...
Wir bieten ...
Dein Arbeitsfeld
Du konzipierst und entwickelst komplexe und innovative Mobile Plattformen für das iPhone, iPad oder Android. Du veränderst mit deiner Arbeit das Nutzungsverhalten im mobilen Internet. Du arbeitest interdisziplinär mit Unterstützung von sympathischen und hochqualifizierten Software-Entwicklern in einer agilen Entwicklungsumgebung.
Du möchtest mit uns die Zukunft gestalten? Dann bewirb dich und zwar sofort!
Bewerbung
Per E-Mail: (bevorzugt)
bewerbung@lotum.de
Postanschrift
LOTUM GmbH
z.Hd. Jens Abke
Kurstraße 2
61231 Bad Nauheim
Für die Entwicklung mobiler Anwendungen muss man Spezialist sein. Ein Spezialist in vielen Bereichen. Eine saubere objektorientierte Architektur, die Euphorie für die rasanten Entwicklungen im Mobilesegment und den stetigen Fokus auf User Interface und Usability sind die wichtigsten Erfolgsfaktoren mobiler Anwendungen. Mittelmäßige Applikationen gibt es unserer Meinung nach genug. Wir möchten bewegen - und verändern.
Genau dafür suchen wir Verstärkung.
Hast du dich erkannt und möchtest eines der reichweitenstärksten Projekte Europas mitgestalten?
Dann wirst du gebraucht!
Dein Profil ...
- Programmierung. Du hast gute Kenntnisse in OOP z.B. mit PHP, Java oder C++.
- iPhone-/ Android-Entwicklung. Du besitzt Erfahrungen im Umgang mit der iPhone SDK und der Programmiersprache Objective C und/oder Erfahrungen im Umgang mit der Android SDK und der Programmiersprache Java.
- User Interface Gestaltung. Du bist sicher in der Entwicklung von UI für das iPhone oder Android.
- Intelligenz & Engagement. Du bist intelligent und hochmotiviert.
- Referenzen. Ein erfolgreich abgeschlossenes Studium ist natürlich eine zusätzliche Referenz, bei entsprechender Qualifikation aber keine Voraussetzung.
- Verantwortungsbewusstsein. Du hast eine verantwortungsbewusste Arbeitsweise mit hoher Endnutzerorientierung.
- Teamgedanke. Du verfügst über eine sehr gute Teamfähigkeit sowie Eigeninitiative.
Wir bieten ...
- Relevanz. Du prägst die Produkte, die täglich millionenfach aufgerufen und genutzt werden. Das bedeutet Verantwortung tragen, aber auch die Gewissheit, dass die eigene Arbeit wahrgenommen wird.
- Innovation. Agile Entwicklungsmethodik, Augmented Reality, Usability und ein ständiges Erweitern des eigenen Horizonts.
- Atmosphäre. In einem jungen und sympathischen Unternehmen mit einer kollegial-freundschaftlichen Atmosphäre, die ihresgleichen sucht.
- Freiraum. Kreativität und Eigenverantwortlichkeit für deine persönliche wie berufliche Entwicklung.
- Herausforderung. Hochdynamische Produkte, Objektorientierte Programmierung, Accessibility für Jeden.
- Perspektive. Wachse in einem erfolgreichen und dynamischen Unternehmen, das Maßstäbe setzt.
Dein Arbeitsfeld
Du konzipierst und entwickelst komplexe und innovative Mobile Plattformen für das iPhone, iPad oder Android. Du veränderst mit deiner Arbeit das Nutzungsverhalten im mobilen Internet. Du arbeitest interdisziplinär mit Unterstützung von sympathischen und hochqualifizierten Software-Entwicklern in einer agilen Entwicklungsumgebung.
Du möchtest mit uns die Zukunft gestalten? Dann bewirb dich und zwar sofort!
Bewerbung
Per E-Mail: (bevorzugt)
bewerbung@lotum.de
Postanschrift
LOTUM GmbH
z.Hd. Jens Abke
Kurstraße 2
61231 Bad Nauheim
Kategorien: Tutoials
Akkuladezeit = im Verhältnis H.264 vs. FLASH
Wir haben bei der Arbeit eine Diskussion zum Thema was zieht mehr Strom!
Flash vs. nicht Flash ^^
Was meint ihr?
Flash vs. nicht Flash ^^
Was meint ihr?
Kategorien: Tutoials
Suchmaske mit X (Close)
Hallo, ich habe eine Suchefunktion programmiert und würde diese gern etwas auffrischen mit CSS. Habe auf einer Seite gesehen, dass bei Eingabe von Daten am rechten Ende der Suchbox ein kleines X angezeigt wird, mit der man die Suche löschen kann. Wie macht man sowas?
hier ist die Seite, wo ich dieses Feature gesehen habe: oben rechte Suchfunktion:
http://wiki.flux-cms.org/display/BLOG/LiveSearch
hier ist die Seite, wo ich dieses Feature gesehen habe: oben rechte Suchfunktion:
http://wiki.flux-cms.org/display/BLOG/LiveSearch
Kategorien: Tutoials
Ich suche eine gut lesbare englaufende Schrift.
Ich suche eine gut lesbare englaufende Schrift.
Das ganze soll für ein Plakat sein. Viel zu viel Text und viel zu wenig Platz.
lg Laello
Das ganze soll für ein Plakat sein. Viel zu viel Text und viel zu wenig Platz.
lg Laello
Kategorien: Tutoials
Screendesign / Frontend Engineer (w/m) Vollzeit, nahe Frankfurt am Main
Frontend Engineer (w/m) Vollzeit
Die Frontendprogrammierung und umsetzung nimmt bei uns einen wesentlichen Stellenwert im User-Centered Design Prozess ein. Das Ziel lautet: intuitive Bedienung, umfassende Browserkompatibilität, blitzschnelle Performance und eine sehr gute Wartbarkeit durch saubere Architektur. Browser hacken können viele den Browser verstehen können nur wenige.
Hast du dich erkannt und möchtest eines der reichweitenstärksten Projekte Europas mitgestalten?
Dann wirst du gebraucht!
Dein Profil ...
Wir bieten ...
Du bist in der Frontendprogrammierung und umsetzung von neuen Konzepten tätig oder optimierst und veränderst vorhanden Umsetzungen. Du erweckst ein User Interface zum Leben, das neue Maßstäbe in der Bedienbarkeit setzen soll. Du arbeitest mit Unterstützung von sympathischen und hochqualifizierten Software Entwicklern und User Interface Designern in einer agilen Entwicklungsumgebung.
Du möchtest mit uns die Zukunft gestalten? Dann bewirb dich und zwar sofort!
Bewerbung
Per E-Mail:(bevorzugt)
bewerbung [at] lotum.de
Postanschrift
LOTUM GmbH
z.Hd. Jens Abke
Kurstraße 2
61231 Bad Nauheim
Die Frontendprogrammierung und umsetzung nimmt bei uns einen wesentlichen Stellenwert im User-Centered Design Prozess ein. Das Ziel lautet: intuitive Bedienung, umfassende Browserkompatibilität, blitzschnelle Performance und eine sehr gute Wartbarkeit durch saubere Architektur. Browser hacken können viele den Browser verstehen können nur wenige.
Hast du dich erkannt und möchtest eines der reichweitenstärksten Projekte Europas mitgestalten?
Dann wirst du gebraucht!
Dein Profil ...
- Frontendumsetzung. Du hast sehr gute Kenntnisse in den State of the Art Frontendtechnologien: (X)HTML, CSS(3) als Basis und viele mehr.
- JavaScript. Du besitzt umfangreiche Erfahrungen mit JavaScript und der Nutzung von Frameworks wie MooTools, Prototype oder jQuery.
- Objektorientierung. Du hast fundamentale Kenntnisse in OOP.
- Performance. Du bist sicher im performanceorientierten Frontendaufbau und dessen Optimierung.
- Usability. Du hast grundlegende Erfahrungen in der Umsetzung von effizienten, intuitiven und user-freundlichen Websites.
- Intelligenz & Engagement. Du bist intelligent und hochmotiviert.
- Referenzen. Ein erfolgreich abgeschlossenes Studium ist natürlich eine zusätzliche Referenz, bei entsprechender Qualifikation aber keine Voraussetzung.
- Verantwortungsbewusstsein. Du hast eine verantwortungsbewusste Arbeitsweise und verfügst über eine sehr gute Teamfähigkeit sowie Eigeninitiative.
- Teamgedanke. Du verfügst über eine sehr gute Teamfähigkeit sowie Eigeninitiative.
Wir bieten ...
- Relevanz. Du prägst die Produkte, die täglich millionenfach aufgerufen und genutzt werden. Das bedeutet Verantwortung tragen, aber auch die Gewissheit, dass die eigene Arbeit wahrgenommen wird.
- Innovation. Agile Entwicklungsmethodik, Augmented Reality, Usability und ein ständiges Erweitern des eigenen Horizonts.
- Atmosphäre. In einem jungen und sympathischen Team mit einer kollegial-freundschaftlichen Atmosphäre, die ihresgleichen sucht.
- Freiraum. Kreativität und Eigenverantwortlichkeit für deine persönliche wie berufliche Entwicklung.
- Herausforderung. Hochdynamische Produkte, Objektorientierte Programmierung, Accessility für Jeden.
- Perspektive. Wachse - in einem erfolgreichen und dynamischen Unternehmen, das Maßstäbe setzt.
Du bist in der Frontendprogrammierung und umsetzung von neuen Konzepten tätig oder optimierst und veränderst vorhanden Umsetzungen. Du erweckst ein User Interface zum Leben, das neue Maßstäbe in der Bedienbarkeit setzen soll. Du arbeitest mit Unterstützung von sympathischen und hochqualifizierten Software Entwicklern und User Interface Designern in einer agilen Entwicklungsumgebung.
Du möchtest mit uns die Zukunft gestalten? Dann bewirb dich und zwar sofort!
Bewerbung
Per E-Mail:(bevorzugt)
bewerbung [at] lotum.de
Postanschrift
LOTUM GmbH
z.Hd. Jens Abke
Kurstraße 2
61231 Bad Nauheim
Kategorien: Tutoials
Screen Design für eine RCP Anwendung erstellen
Hallo Forum,
gibt es ein Tool (am besten opensource) mit welchem es möglich ist ein Screen Design für eine RCP Anwendung zu erstellen?
Das Screen Design soll sehr "realistisch" aussehen.
Die ganzen GUI Elemente sollten einfach passen.
Primäres Ziel des Tools sollte es sein das Screen Design zu erstellen. (Muss also nicht zwingend Code dazu erzeugen...)
Oder ist man besser dran, sich die GUI Elemente in Photoshop (Gimp) zu erstellen und die Anwendung dort zusammen zu schieben?
Also ich suche sowas wie den Visual Editor für ZK, nur eben für ne RCP Anwendung.
Danke für Tipps!
Grüße
shuthichi
gibt es ein Tool (am besten opensource) mit welchem es möglich ist ein Screen Design für eine RCP Anwendung zu erstellen?
Das Screen Design soll sehr "realistisch" aussehen.
Die ganzen GUI Elemente sollten einfach passen.
Primäres Ziel des Tools sollte es sein das Screen Design zu erstellen. (Muss also nicht zwingend Code dazu erzeugen...)
Oder ist man besser dran, sich die GUI Elemente in Photoshop (Gimp) zu erstellen und die Anwendung dort zusammen zu schieben?
Also ich suche sowas wie den Visual Editor für ZK, nur eben für ne RCP Anwendung.
Danke für Tipps!
Grüße
shuthichi
Kategorien: Tutoials
2 Handle Slider in Scriptaculous
Hi,
Ich versuche gerade einen 2 Handle-Slider mit Scriptaculous hinzubekommen. Leider gibt es hierzu im Netz recht wenig bis gar nichts.
Ich nutze quasi den Standard-Slider und möchte ihn auf 2 Buttons erweitern um eine art Bandbreite festzlegen. Sowas gibts bei jquery massenweise nur bei Scriptaculous fast gar nichts.
Bsp. wie es ungefähr sein sollte: http://jqueryui.com/demos/slider/range.html
HTML-Code: <div id="debug1">Keine Auswahl</div><div id="track1" style="width:265px; height:20px;">
<div id="track1-left"></div>
<div id="handle1" style="width:18px; height:17px;"><img src="img/slider-images-handle.png" alt="" style="float: left;" /></div>
</div>
<script type="text/javascript" language="javascript">
// <![CDATA[
// horizontal slider control
new Control.Slider('handle1', 'track1', {
range: $R(00, 10),
values: [00,01,02,03,04,05,06,07,08,09,10],
onSlide: function(v) { $('debug1').innerHTML = v + ' von 10 Punkten' },
onChange: function(v) { $('debug1').innerHTML = v + ' von 10 Punkten' }
});
// ]]>
</script> Dazu gehört noch das externe JS:
HTML-Code: // script.aculo.us slider.js v1.6.5, Wed Nov 08 14:17:49 CET 2006
// Copyright (c) 2005, 2006 Marty Haught, Thomas Fuchs
//
// script.aculo.us is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/
if(!Control) var Control = {};
Control.Slider = Class.create();
// options:
// axis: 'vertical', or 'horizontal' (default)
//
// callbacks:
// onChange(value)
// onSlide(value)
Control.Slider.prototype = {
initialize: function(handle, track, options) {
var slider = this;
if(handle instanceof Array) {
this.handles = handle.collect( function(e) { return $(e) });
} else {
this.handles = [$(handle)];
}
this.track = $(track);
this.options = options || {};
this.axis = this.options.axis || 'horizontal';
this.increment = this.options.increment || 1;
this.step = parseInt(this.options.step || '1');
this.range = this.options.range || $R(0,10);
this.value = 0; // assure backwards compat
this.values = this.handles.map( function() { return 0 });
this.spans = this.options.spans ? this.options.spans.map(function(s){ return $(s) }) : false;
this.options.startSpan = $(this.options.startSpan || null);
this.options.endSpan = $(this.options.endSpan || null);
this.restricted = this.options.restricted || false;
this.maximum = this.options.maximum || this.range.end;
this.minimum = this.options.minimum || this.range.start;
// Will be used to align the handle onto the track, if necessary
this.alignX = parseInt(this.options.alignX || '0');
this.alignY = parseInt(this.options.alignY || '0');
this.trackLength = this.maximumOffset() - this.minimumOffset();
this.handleLength = this.isVertical() ?
(this.handles[0].offsetHeight != 0 ?
this.handles[0].offsetHeight : this.handles[0].style.height.replace(/px$/,"")) :
(this.handles[0].offsetWidth != 0 ? this.handles[0].offsetWidth :
this.handles[0].style.width.replace(/px$/,""));
this.active = false;
this.dragging = false;
this.disabled = false;
if(this.options.disabled) this.setDisabled();
// Allowed values array
this.allowedValues = this.options.values ? this.options.values.sortBy(Prototype.K) : false;
if(this.allowedValues) {
this.minimum = this.allowedValues.min();
this.maximum = this.allowedValues.max();
}
this.eventMouseDown = this.startDrag.bindAsEventListener(this);
this.eventMouseUp = this.endDrag.bindAsEventListener(this);
this.eventMouseMove = this.update.bindAsEventListener(this);
// Initialize handles in reverse (make sure first handle is active)
this.handles.each( function(h,i) {
i = slider.handles.length-1-i;
slider.setValue(parseFloat(
(slider.options.sliderValue instanceof Array ?
slider.options.sliderValue[i] : slider.options.sliderValue) ||
slider.range.start), i);
Element.makePositioned(h); // fix IE
Event.observe(h, "mousedown", slider.eventMouseDown);
});
Event.observe(this.track, "mousedown", this.eventMouseDown);
Event.observe(document, "mouseup", this.eventMouseUp);
Event.observe(document, "mousemove", this.eventMouseMove);
this.initialized = true;
},
dispose: function() {
var slider = this;
Event.stopObserving(this.track, "mousedown", this.eventMouseDown);
Event.stopObserving(document, "mouseup", this.eventMouseUp);
Event.stopObserving(document, "mousemove", this.eventMouseMove);
this.handles.each( function(h) {
Event.stopObserving(h, "mousedown", slider.eventMouseDown);
});
},
setDisabled: function(){
this.disabled = true;
},
setEnabled: function(){
this.disabled = false;
},
getNearestValue: function(value){
if(this.allowedValues){
if(value >= this.allowedValues.max()) return(this.allowedValues.max());
if(value <= this.allowedValues.min()) return(this.allowedValues.min());
var offset = Math.abs(this.allowedValues[0] - value);
var newValue = this.allowedValues[0];
this.allowedValues.each( function(v) {
var currentOffset = Math.abs(v - value);
if(currentOffset <= offset){
newValue = v;
offset = currentOffset;
}
});
return newValue;
}
if(value > this.range.end) return this.range.end;
if(value < this.range.start) return this.range.start;
return value;
},
setValue: function(sliderValue, handleIdx){
if(!this.active) {
this.activeHandleIdx = handleIdx || 0;
this.activeHandle = this.handles[this.activeHandleIdx];
this.updateStyles();
}
handleIdx = handleIdx || this.activeHandleIdx || 0;
if(this.initialized && this.restricted) {
if((handleIdx>0) && (sliderValue<this.values[handleIdx-1]))
sliderValue = this.values[handleIdx-1];
if((handleIdx < (this.handles.length-1)) && (sliderValue>this.values[handleIdx+1]))
sliderValue = this.values[handleIdx+1];
}
sliderValue = this.getNearestValue(sliderValue);
this.values[handleIdx] = sliderValue;
this.value = this.values[0]; // assure backwards compat
this.handles[handleIdx].style[this.isVertical() ? 'top' : 'left'] =
this.translateToPx(sliderValue);
this.drawSpans();
if(!this.dragging || !this.event) this.updateFinished();
},
setValueBy: function(delta, handleIdx) {
this.setValue(this.values[handleIdx || this.activeHandleIdx || 0] + delta,
handleIdx || this.activeHandleIdx || 0);
},
translateToPx: function(value) {
return Math.round(
((this.trackLength-this.handleLength)/(this.range.end-this.range.start)) *
(value - this.range.start)) + "px";
},
translateToValue: function(offset) {
return ((offset/(this.trackLength-this.handleLength) *
(this.range.end-this.range.start)) + this.range.start);
},
getRange: function(range) {
var v = this.values.sortBy(Prototype.K);
range = range || 0;
return $R(v[range],v[range+1]);
},
minimumOffset: function(){
return(this.isVertical() ? this.alignY : this.alignX);
},
maximumOffset: function(){
return(this.isVertical() ?
(this.track.offsetHeight != 0 ? this.track.offsetHeight :
this.track.style.height.replace(/px$/,"")) - this.alignY :
(this.track.offsetWidth != 0 ? this.track.offsetWidth :
this.track.style.width.replace(/px$/,"")) - this.alignY);
},
isVertical: function(){
return (this.axis == 'vertical');
},
drawSpans: function() {
var slider = this;
if(this.spans)
$R(0, this.spans.length-1).each(function(r) { slider.setSpan(slider.spans[r], slider.getRange(r)) });
if(this.options.startSpan)
this.setSpan(this.options.startSpan,
$R(0, this.values.length>1 ? this.getRange(0).min() : this.value ));
if(this.options.endSpan)
this.setSpan(this.options.endSpan,
$R(this.values.length>1 ? this.getRange(this.spans.length-1).max() : this.value, this.maximum));
},
setSpan: function(span, range) {
if(this.isVertical()) {
span.style.top = this.translateToPx(range.start);
span.style.height = this.translateToPx(range.end - range.start + this.range.start);
} else {
span.style.left = this.translateToPx(range.start);
span.style.width = this.translateToPx(range.end - range.start + this.range.start);
}
},
updateStyles: function() {
this.handles.each( function(h){ Element.removeClassName(h, 'selected') });
Element.addClassName(this.activeHandle, 'selected');
},
startDrag: function(event) {
if(Event.isLeftClick(event)) {
if(!this.disabled){
this.active = true;
var handle = Event.element(event);
var pointer = [Event.pointerX(event), Event.pointerY(event)];
var track = handle;
if(track==this.track) {
var offsets = Position.cumulativeOffset(this.track);
this.event = event;
this.setValue(this.translateToValue(
(this.isVertical() ? pointer[1]-offsets[1] : pointer[0]-offsets[0])-(this.handleLength/2)
));
var offsets = Position.cumulativeOffset(this.activeHandle);
this.offsetX = (pointer[0] - offsets[0]);
this.offsetY = (pointer[1] - offsets[1]);
} else {
// find the handle (prevents issues with Safari)
while((this.handles.indexOf(handle) == -1) && handle.parentNode)
handle = handle.parentNode;
if(this.handles.indexOf(handle)!=-1) {
this.activeHandle = handle;
this.activeHandleIdx = this.handles.indexOf(this.activeHandle);
this.updateStyles();
var offsets = Position.cumulativeOffset(this.activeHandle);
this.offsetX = (pointer[0] - offsets[0]);
this.offsetY = (pointer[1] - offsets[1]);
}
}
}
Event.stop(event);
}
},
update: function(event) {
if(this.active) {
if(!this.dragging) this.dragging = true;
this.draw(event);
// fix AppleWebKit rendering
if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
Event.stop(event);
}
},
draw: function(event) {
var pointer = [Event.pointerX(event), Event.pointerY(event)];
var offsets = Position.cumulativeOffset(this.track);
pointer[0] -= this.offsetX + offsets[0];
pointer[1] -= this.offsetY + offsets[1];
this.event = event;
this.setValue(this.translateToValue( this.isVertical() ? pointer[1] : pointer[0] ));
if(this.initialized && this.options.onSlide)
this.options.onSlide(this.values.length>1 ? this.values : this.value, this);
},
endDrag: function(event) {
if(this.active && this.dragging) {
this.finishDrag(event, true);
Event.stop(event);
}
this.active = false;
this.dragging = false;
},
finishDrag: function(event, success) {
this.active = false;
this.dragging = false;
this.updateFinished();
},
updateFinished: function() {
if(this.initialized && this.options.onChange)
this.options.onChange(this.values.length>1 ? this.values : this.value, this);
this.event = null;
}
} Vielen Dank! :)
Ich versuche gerade einen 2 Handle-Slider mit Scriptaculous hinzubekommen. Leider gibt es hierzu im Netz recht wenig bis gar nichts.
Ich nutze quasi den Standard-Slider und möchte ihn auf 2 Buttons erweitern um eine art Bandbreite festzlegen. Sowas gibts bei jquery massenweise nur bei Scriptaculous fast gar nichts.
Bsp. wie es ungefähr sein sollte: http://jqueryui.com/demos/slider/range.html
HTML-Code: <div id="debug1">Keine Auswahl</div><div id="track1" style="width:265px; height:20px;">
<div id="track1-left"></div>
<div id="handle1" style="width:18px; height:17px;"><img src="img/slider-images-handle.png" alt="" style="float: left;" /></div>
</div>
<script type="text/javascript" language="javascript">
// <![CDATA[
// horizontal slider control
new Control.Slider('handle1', 'track1', {
range: $R(00, 10),
values: [00,01,02,03,04,05,06,07,08,09,10],
onSlide: function(v) { $('debug1').innerHTML = v + ' von 10 Punkten' },
onChange: function(v) { $('debug1').innerHTML = v + ' von 10 Punkten' }
});
// ]]>
</script> Dazu gehört noch das externe JS:
HTML-Code: // script.aculo.us slider.js v1.6.5, Wed Nov 08 14:17:49 CET 2006
// Copyright (c) 2005, 2006 Marty Haught, Thomas Fuchs
//
// script.aculo.us is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/
if(!Control) var Control = {};
Control.Slider = Class.create();
// options:
// axis: 'vertical', or 'horizontal' (default)
//
// callbacks:
// onChange(value)
// onSlide(value)
Control.Slider.prototype = {
initialize: function(handle, track, options) {
var slider = this;
if(handle instanceof Array) {
this.handles = handle.collect( function(e) { return $(e) });
} else {
this.handles = [$(handle)];
}
this.track = $(track);
this.options = options || {};
this.axis = this.options.axis || 'horizontal';
this.increment = this.options.increment || 1;
this.step = parseInt(this.options.step || '1');
this.range = this.options.range || $R(0,10);
this.value = 0; // assure backwards compat
this.values = this.handles.map( function() { return 0 });
this.spans = this.options.spans ? this.options.spans.map(function(s){ return $(s) }) : false;
this.options.startSpan = $(this.options.startSpan || null);
this.options.endSpan = $(this.options.endSpan || null);
this.restricted = this.options.restricted || false;
this.maximum = this.options.maximum || this.range.end;
this.minimum = this.options.minimum || this.range.start;
// Will be used to align the handle onto the track, if necessary
this.alignX = parseInt(this.options.alignX || '0');
this.alignY = parseInt(this.options.alignY || '0');
this.trackLength = this.maximumOffset() - this.minimumOffset();
this.handleLength = this.isVertical() ?
(this.handles[0].offsetHeight != 0 ?
this.handles[0].offsetHeight : this.handles[0].style.height.replace(/px$/,"")) :
(this.handles[0].offsetWidth != 0 ? this.handles[0].offsetWidth :
this.handles[0].style.width.replace(/px$/,""));
this.active = false;
this.dragging = false;
this.disabled = false;
if(this.options.disabled) this.setDisabled();
// Allowed values array
this.allowedValues = this.options.values ? this.options.values.sortBy(Prototype.K) : false;
if(this.allowedValues) {
this.minimum = this.allowedValues.min();
this.maximum = this.allowedValues.max();
}
this.eventMouseDown = this.startDrag.bindAsEventListener(this);
this.eventMouseUp = this.endDrag.bindAsEventListener(this);
this.eventMouseMove = this.update.bindAsEventListener(this);
// Initialize handles in reverse (make sure first handle is active)
this.handles.each( function(h,i) {
i = slider.handles.length-1-i;
slider.setValue(parseFloat(
(slider.options.sliderValue instanceof Array ?
slider.options.sliderValue[i] : slider.options.sliderValue) ||
slider.range.start), i);
Element.makePositioned(h); // fix IE
Event.observe(h, "mousedown", slider.eventMouseDown);
});
Event.observe(this.track, "mousedown", this.eventMouseDown);
Event.observe(document, "mouseup", this.eventMouseUp);
Event.observe(document, "mousemove", this.eventMouseMove);
this.initialized = true;
},
dispose: function() {
var slider = this;
Event.stopObserving(this.track, "mousedown", this.eventMouseDown);
Event.stopObserving(document, "mouseup", this.eventMouseUp);
Event.stopObserving(document, "mousemove", this.eventMouseMove);
this.handles.each( function(h) {
Event.stopObserving(h, "mousedown", slider.eventMouseDown);
});
},
setDisabled: function(){
this.disabled = true;
},
setEnabled: function(){
this.disabled = false;
},
getNearestValue: function(value){
if(this.allowedValues){
if(value >= this.allowedValues.max()) return(this.allowedValues.max());
if(value <= this.allowedValues.min()) return(this.allowedValues.min());
var offset = Math.abs(this.allowedValues[0] - value);
var newValue = this.allowedValues[0];
this.allowedValues.each( function(v) {
var currentOffset = Math.abs(v - value);
if(currentOffset <= offset){
newValue = v;
offset = currentOffset;
}
});
return newValue;
}
if(value > this.range.end) return this.range.end;
if(value < this.range.start) return this.range.start;
return value;
},
setValue: function(sliderValue, handleIdx){
if(!this.active) {
this.activeHandleIdx = handleIdx || 0;
this.activeHandle = this.handles[this.activeHandleIdx];
this.updateStyles();
}
handleIdx = handleIdx || this.activeHandleIdx || 0;
if(this.initialized && this.restricted) {
if((handleIdx>0) && (sliderValue<this.values[handleIdx-1]))
sliderValue = this.values[handleIdx-1];
if((handleIdx < (this.handles.length-1)) && (sliderValue>this.values[handleIdx+1]))
sliderValue = this.values[handleIdx+1];
}
sliderValue = this.getNearestValue(sliderValue);
this.values[handleIdx] = sliderValue;
this.value = this.values[0]; // assure backwards compat
this.handles[handleIdx].style[this.isVertical() ? 'top' : 'left'] =
this.translateToPx(sliderValue);
this.drawSpans();
if(!this.dragging || !this.event) this.updateFinished();
},
setValueBy: function(delta, handleIdx) {
this.setValue(this.values[handleIdx || this.activeHandleIdx || 0] + delta,
handleIdx || this.activeHandleIdx || 0);
},
translateToPx: function(value) {
return Math.round(
((this.trackLength-this.handleLength)/(this.range.end-this.range.start)) *
(value - this.range.start)) + "px";
},
translateToValue: function(offset) {
return ((offset/(this.trackLength-this.handleLength) *
(this.range.end-this.range.start)) + this.range.start);
},
getRange: function(range) {
var v = this.values.sortBy(Prototype.K);
range = range || 0;
return $R(v[range],v[range+1]);
},
minimumOffset: function(){
return(this.isVertical() ? this.alignY : this.alignX);
},
maximumOffset: function(){
return(this.isVertical() ?
(this.track.offsetHeight != 0 ? this.track.offsetHeight :
this.track.style.height.replace(/px$/,"")) - this.alignY :
(this.track.offsetWidth != 0 ? this.track.offsetWidth :
this.track.style.width.replace(/px$/,"")) - this.alignY);
},
isVertical: function(){
return (this.axis == 'vertical');
},
drawSpans: function() {
var slider = this;
if(this.spans)
$R(0, this.spans.length-1).each(function(r) { slider.setSpan(slider.spans[r], slider.getRange(r)) });
if(this.options.startSpan)
this.setSpan(this.options.startSpan,
$R(0, this.values.length>1 ? this.getRange(0).min() : this.value ));
if(this.options.endSpan)
this.setSpan(this.options.endSpan,
$R(this.values.length>1 ? this.getRange(this.spans.length-1).max() : this.value, this.maximum));
},
setSpan: function(span, range) {
if(this.isVertical()) {
span.style.top = this.translateToPx(range.start);
span.style.height = this.translateToPx(range.end - range.start + this.range.start);
} else {
span.style.left = this.translateToPx(range.start);
span.style.width = this.translateToPx(range.end - range.start + this.range.start);
}
},
updateStyles: function() {
this.handles.each( function(h){ Element.removeClassName(h, 'selected') });
Element.addClassName(this.activeHandle, 'selected');
},
startDrag: function(event) {
if(Event.isLeftClick(event)) {
if(!this.disabled){
this.active = true;
var handle = Event.element(event);
var pointer = [Event.pointerX(event), Event.pointerY(event)];
var track = handle;
if(track==this.track) {
var offsets = Position.cumulativeOffset(this.track);
this.event = event;
this.setValue(this.translateToValue(
(this.isVertical() ? pointer[1]-offsets[1] : pointer[0]-offsets[0])-(this.handleLength/2)
));
var offsets = Position.cumulativeOffset(this.activeHandle);
this.offsetX = (pointer[0] - offsets[0]);
this.offsetY = (pointer[1] - offsets[1]);
} else {
// find the handle (prevents issues with Safari)
while((this.handles.indexOf(handle) == -1) && handle.parentNode)
handle = handle.parentNode;
if(this.handles.indexOf(handle)!=-1) {
this.activeHandle = handle;
this.activeHandleIdx = this.handles.indexOf(this.activeHandle);
this.updateStyles();
var offsets = Position.cumulativeOffset(this.activeHandle);
this.offsetX = (pointer[0] - offsets[0]);
this.offsetY = (pointer[1] - offsets[1]);
}
}
}
Event.stop(event);
}
},
update: function(event) {
if(this.active) {
if(!this.dragging) this.dragging = true;
this.draw(event);
// fix AppleWebKit rendering
if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
Event.stop(event);
}
},
draw: function(event) {
var pointer = [Event.pointerX(event), Event.pointerY(event)];
var offsets = Position.cumulativeOffset(this.track);
pointer[0] -= this.offsetX + offsets[0];
pointer[1] -= this.offsetY + offsets[1];
this.event = event;
this.setValue(this.translateToValue( this.isVertical() ? pointer[1] : pointer[0] ));
if(this.initialized && this.options.onSlide)
this.options.onSlide(this.values.length>1 ? this.values : this.value, this);
},
endDrag: function(event) {
if(this.active && this.dragging) {
this.finishDrag(event, true);
Event.stop(event);
}
this.active = false;
this.dragging = false;
},
finishDrag: function(event, success) {
this.active = false;
this.dragging = false;
this.updateFinished();
},
updateFinished: function() {
if(this.initialized && this.options.onChange)
this.options.onChange(this.values.length>1 ? this.values : this.value, this);
this.event = null;
}
} Vielen Dank! :)
Kategorien: Tutoials
Subversion Revisions Nummer in JAVA Code einfügen.
Hallo,
ich verwende Subversion um meinen JAVA Code zu versionieren.
Nun möchte ich gerne dass meine Anwendungen zur Laufzeit wissen, zu welcher Revision sie gehören.
Gibt es eine Möglichkeit, das Subversion die aktuelle Revision in den Java Code einfügt.
Also dass ich bei meiner Klasser nachher z. B. folgendes ausführen kann.
Code : 1 2 3 4 5 private static final int REVISION = 204; public static int getRevision() { return REVISION; }
Ich würde mich über Vorschläge aber auch Alternativen sehr freuen.
Mfg
Tikonteroga
ich verwende Subversion um meinen JAVA Code zu versionieren.
Nun möchte ich gerne dass meine Anwendungen zur Laufzeit wissen, zu welcher Revision sie gehören.
Gibt es eine Möglichkeit, das Subversion die aktuelle Revision in den Java Code einfügt.
Also dass ich bei meiner Klasser nachher z. B. folgendes ausführen kann.
Code : 1 2 3 4 5 private static final int REVISION = 204; public static int getRevision() { return REVISION; }
Ich würde mich über Vorschläge aber auch Alternativen sehr freuen.
Mfg
Tikonteroga
Kategorien: Tutoials
Windows 7 64 bit Treiber für ältere Hardware - Canon Lide 20 und Lexmark Z52 gesucht
Hallo zusammen,
leider musste ich jetzt beim Umzug von XP auf Win 7 ferststellen, dass einige Anbieter keine Treiber mehr für ältere Hardware zur Verfügung stellen. Jedenfalls auf deren Webseiten finde ich nichts. Kann mir da jmd. helfen, der vielleicht auch eines der Geräte hat und unter Win 7 mit einem Treiber zum Laufen bekommen hat. Mir geht es nicht darum, dass ich einen 64 - Bit-Treiber bekomme, sondern Hauptsache das Gerät läuft unter Win 7. Nur als Anmerkung, ich habe ein Win 7 64-Bit in Betrieb.
Oft funktionieren die Vista-Treiber der Hardware, aber ich habe auch diese nicht gefunden.
Es geht um den
Scanner: Canon Lide 20 USB
und den Drucker
Lexmark Z52 USB
Wenn möglich eine Lösung ohne den XP-Mode.
Schade, dass es die Probleme gibt. Bei Win XP hat einfach alles funktioniert...
Danke für eure Hilfe.
VG
vom kaltenjava
leider musste ich jetzt beim Umzug von XP auf Win 7 ferststellen, dass einige Anbieter keine Treiber mehr für ältere Hardware zur Verfügung stellen. Jedenfalls auf deren Webseiten finde ich nichts. Kann mir da jmd. helfen, der vielleicht auch eines der Geräte hat und unter Win 7 mit einem Treiber zum Laufen bekommen hat. Mir geht es nicht darum, dass ich einen 64 - Bit-Treiber bekomme, sondern Hauptsache das Gerät läuft unter Win 7. Nur als Anmerkung, ich habe ein Win 7 64-Bit in Betrieb.
Oft funktionieren die Vista-Treiber der Hardware, aber ich habe auch diese nicht gefunden.
Es geht um den
Scanner: Canon Lide 20 USB
und den Drucker
Lexmark Z52 USB
Wenn möglich eine Lösung ohne den XP-Mode.
Schade, dass es die Probleme gibt. Bei Win XP hat einfach alles funktioniert...
Danke für eure Hilfe.
VG
vom kaltenjava
Kategorien: Tutoials
a hover CSS Menü
Ich habe ein CSS Menü mit a hover Funktion. Ich möchte gerne wenn ich auf Home bin das der Hintergrund in einer dritten Image hinterlegt ist, dass man weiss ah ich bin jetzt auf Home, kann mir wer helfen, danke.
MFG lol1983
HTML Code:
<div id="blackline">
<ul>
<li><a href="_Home_.htm">Home</a></li>
<li><a href="_IT_Bereich_.htm">IT Bereich</a></li>
<li><a href="_My_Book_.htm">Mein Buch</a></li>
<li><a href="_My_Works_.htm">Meine Werke</a></li>
<li><a href="_My_Gifs_.htm">Meine Gifs</a></li>
<li><a href="_Kochrezepte_.htm">Kochrezepte</a></li>
</ul>
</div>
CSS Code:
#blackline, #blackline ul, #blackline ul li, #blackline ul li a { margin: 0; }
#blackline, #blackline ul { padding: 0; }
#blackline ul li a , #blackline ul li { display: block; float: left; }
#blackline ul { list-style: none; background: url(images/button_image/menubg_h_navi.png) repeat-x 0 100%; overflow: hidden; border: 2px double #777777; }
#blackline ul li { padding: 0 0px 0 0; background: url(images/button_image/separator.png) no-repeat 100% 100%; }
#blackline ul li a { color: #BBBBBB; font-weight: bold; text-decoration: none; }
#blackline ul li a:link, #blackline ul li a:visited { width: 138px; padding: 0 0px; line-height: 2; float: left; text-align: center; }
#blackline ul li a:hover, #blackline ul li a:active { background: url(images/button_image/menubg_navi.png) repeat-x 0 100%; }
MFG lol1983
HTML Code:
<div id="blackline">
<ul>
<li><a href="_Home_.htm">Home</a></li>
<li><a href="_IT_Bereich_.htm">IT Bereich</a></li>
<li><a href="_My_Book_.htm">Mein Buch</a></li>
<li><a href="_My_Works_.htm">Meine Werke</a></li>
<li><a href="_My_Gifs_.htm">Meine Gifs</a></li>
<li><a href="_Kochrezepte_.htm">Kochrezepte</a></li>
</ul>
</div>
CSS Code:
#blackline, #blackline ul, #blackline ul li, #blackline ul li a { margin: 0; }
#blackline, #blackline ul { padding: 0; }
#blackline ul li a , #blackline ul li { display: block; float: left; }
#blackline ul { list-style: none; background: url(images/button_image/menubg_h_navi.png) repeat-x 0 100%; overflow: hidden; border: 2px double #777777; }
#blackline ul li { padding: 0 0px 0 0; background: url(images/button_image/separator.png) no-repeat 100% 100%; }
#blackline ul li a { color: #BBBBBB; font-weight: bold; text-decoration: none; }
#blackline ul li a:link, #blackline ul li a:visited { width: 138px; padding: 0 0px; line-height: 2; float: left; text-align: center; }
#blackline ul li a:hover, #blackline ul li a:active { background: url(images/button_image/menubg_navi.png) repeat-x 0 100%; }
Kategorien: Tutoials
