Beiträge von Torty
-
-
[Blockierte Grafik: http://www.oreilly.de/catalog/covers/collintellger.s.gif]
Bildverlinkung geniest die freundliche Genehmigung des O'Reilly-Verlages.- Authoren: Toby Segaran
- Übersetzer: Thomas Demmig
- Verlag: O'Reilly
- Ausgabe: 1.Auflage 2008
- Sprache: deutsch
- Umfang: 367 Seiten
- ISBN: 9783897217805
Zitat
„Kollektive Intelligenz
analysieren, programmieren & nutzen“rezensiert von
T.HinzeVorwort
Begriff "Kollektive Intelligenz":
"Kollektive Intelligenz ist ein emergentes Phänomen. ... So versteht eine soziologische Interpretation unter kollektiver Intelligenz gemeinsame, konsensbasierte Entscheidungsfindung; ... Das Internet vereinfacht wie nie, dezentral verstreutes Wissen der Menschen zu koordinieren und so deren kollektive Intelligenz nutzbar zu machen."Gerade das Nutzbarmachen von Informationen aus verschiedenen Datenquellen, wie sie das Internet zu Hauf bietet, ist Kernthema dieses Buches. Auf dem Buch-Cover heißt es dann auch:
"User-Daten und UGC für Ihre Web 2.0-Apps nutzen: Dieses Buch erläutert anschaulich, wie aus User Generated Content mit den richtigen Algorithmen "kollektive Intelligenz" destilliert werden kann ..."
Das Thema selbst kann ein sehr komplexes sein und hat bisher eine Unmenge an verschiedenen Algorithmen hervorgebracht. Der Autor setzt sich in diesem Buch mit diesen auseinander bzw. setzt diese ein, um Erkentnisse aus den zugrunde liegenden Daten zu gewinnen.Eins vorweg: es ist eine sehr spannende Reise in die Welt der Datenanalyse.
zum Inhalt
Das Buch behandelt eingehend auf beeindruckend wenig Seiten die komplexesten Methoden und Analysen des sogenannten "Data-Mining".
Es unterteilt sich in die nachfolgend gezeigten Kapitel, wobei jedes einen für sich stehenden Ansatz beschreibt:
1) Einführung in die kollektive Intelligenz
2) Empfehlungen geben
3) Gruppen bilden
4) Suchen und Bewerten
5) Optimierung
6) Dokumente filtern
7) Modellieren mit Entscheidungsbäumen
Aufbauen von Preismodellen
9) Komplexe Klassifikation: Kernel-Methoden und SVMs
10) Unabhängige Merkmale finden
11) Entwickeln von Intelligenz
12) Zusammenfassung der Algorithmen
13) Fremdbibliotheken
14) Mathematische FormelnDas Cover wirbt mit dem Satz: "Die Faszination der Algorithmen entdecken" und hat damit absolut Recht. Zudem vermittelt es neben dem reinen Programmcode sehr anschaulich die Ideen, die dann in Code gegossen werden. So dreht sich eine komplexe Beispielaufgabe um die Findung einer optimalen Lösung für die Flugticketbuchung, bei der verschiedene Anforderungen, wie geringe Wartezeiten, geringe Kosten, etc., mit der Fülle an Flugroutendaten abgeglichen werden muss. Bei der einleitenden Betrachtung merkt man schnell, dass der Vorgang per Hand ebenfalls nicht trivial ist und der Autor zeigt vorab verschiedene Herangehensweisen auf, ehe er Code präsentiert.
Gerade durch die Vorbetrachtungen zu den Einzelthemen gewinnt man die notwendigen Aha-Effekte und lernt wie man mit verteilten Daten/API's usw. Umgehen muss bzw. kann.Dem geneigten Leser offeriert T. Segaran das Tor zur Welt der Datenanalyse auf glaobaler (Internet-) Ebene. Alle Beispiele sind in Python verfasst. Dies hat einen unschlagbaren Vorteil: die Codes sind klein und sehr gut lesbar. Der Lernende muss sich somit nicht mit Barrieren der Programmiersprache herumplagen, sondern kann direkt das Wissen für sich extrahieren.
Die Themenbreite des Buches ist trotz seiner relativ geringen Seitenzahl erstaunlich hoch. Für Programmierer, die auf dem Gebiet des Data-Mining bzw. der Analyse von kollektiven Daten tätig werden wollen, bietet das Buch sehr viel "Input" und sensibilisiert für das "Wo und Wie".
Fazit
Die Komplexität der Themen steigt mit zunehmender Seitenzahl und viele spätere Lösungen greifen auf frühere Beispiele und deren Umsetzung zurück. Als wirklich einfach zu lesen, würde ich das Buch nicht bezeichnen, da es recht kompakt die Probleme abhandelt. Als Leser muss man sich intensiv mit den aufgezeigten Lösungen befassen, um sie später in noch komplexeren Aufgaben anwenden zu können.Trotzdem bietet das Buch einen waren Schatz an Möglichkeiten, Analyse-/ Aufbereitungsalgorithmen sowie intelligenten Lösungsansätzen, die man sonst nur weit verstreut im Netz findet. Dieses Buch bietet all dies auf sehr kompakten Raum und wird ein treuer Begleiter in Projekten, die genau diese "kollektive Intelligenz" nutzen wollen.
Für mich ein sehr gelungenes Werk, welches meinen Horizont für verteilte Daten im Netz deutlich erweitert hat. Für eine klare Kaufempfehlung.
Torty
-
Hilft dir das vielleicht weiter:
http://www.zope.org/Documentation/…n/AppendixC.stx
Abschnitt "TALES Overview" -
Hinweis am Rande:
Du kannst auch sowas definieren myCSS.css.py. Das kann die Möglichkeiten erhöhen ... -
Anmerkung:
Zitatheight: xx em; // Höhe der bilder
Ich denke hier wären px besser, da das Bild bei font-size Erhöhungen ja nicht mitskaliert. Wenn das Bild halt 150 Pixel hoch ist, sollte er dort auch 150px eintragen.Sonst gefällt mir die CSS-Idee auch sehr gut
Torty
-
Im Moment kann man die Plone-Version noch vernachlässigen, aber du solltest trotzdem schreiben womit du arbeitest.
Prinzipiell würde ich es so machen:
1.) das main_template in den eigenen Skin oder /custom klonen
2.) zwischen dem DIV #content und dem DIV #region-content fügt man ein eigenes (TAL/METAL-)Script ein (z.B. findPortraits) Dieses Script ist dann am besten eine Methode einer BrowserView. Als Ergebnis würde ein eigenes DIV #person_portrait mit dem Bild eingefügt.
3.) findPortrait sucht dann im aktuellen Ordner nach einem ATImage mit der ID 'person_portrait'. Findet es dies nicht, so sucht es 1 Ebene höher usw. bis es beim Plonesite Root angekommen ist
4.) jenachdem ob ein Bild gefunden wurde, wird dies nun in einer der Skalierungen (z.B. mini) ausgegeben. Anderenfalls gibt das Script nichts aus.So würde ich es prinzipiell angehen. Daraus ergeben sich dann einige Möglichkeiten, so dass du 1 Bild je Personenordner haben kannst, aber du kannst auch bestimmen, dass bei bestimmten Ordnern innerhalb deines Personenordners ein anderes Bild erscheinen soll, denn du kannst in diesem tieferliegendem Ordner ja wieder ein neues person_portrait einfügen.
Torty
-
Kannst du dazu mal ne keline Skizze anhängen, dass man sich dies besser vorstellen kann?
-
Versuch mal diese Styles als letzte gültige bei dir einzubauen. Notfalls mit !important
Code
Alles anzeigen#portal-searchbox { position: absolute; left: 0; } body #portal-searchbox .LSBox * { float: left; } body #LSResult { position: relative; margin-top: 2.0em; margin-left: 33.0em; }
* getestet nur im FF2.x -
Ich kenne natürlich ein paar kleinere Büchlein, die sich dem Thema annehmen, aber die sind a) schon älter und b) nicht so unterhaltsam/einprägsam. Ich kann natürlich nicht ausschließen, dass es auch andere sehr gute Bücher gibt. Mit diesem Buch liegst du aber für den Einstieg in die Thematik sicher richtig.
Torty
-
[Blockierte Grafik: http://www.oreilly.de/catalog/covers/hfobjectsger.s.gif]
Bildverlinkung geniest die freundliche Genehmigung des O'Reilly-Verlages.- Authoren: Brett D. McLaughlin, Gary Pollice, David West
- Übersetzung: Lars Schulten
- Verlag: O'Reilly
- Ausgabe: 1. Auflage 2007
- Sprache: deutsch
- Umfang: 600 Seiten
- ISBN: 978-3-89721-495-8
Zitat
„ Objektorientierte
Analyse und Design
von Kopf bis Fuß “rezensiert von
Torsten HinzeVorwort
In der modernen Programmierpraxis kommt man um das Thema "Objektorientierung" schon seit Jahren nicht mehr herum. Die Konzepte hinter diesem Ansatz sind so überzeugend und beweisen in der Praxis stets auf's Neue, dass sie wirksam und effizient sind. Oder sollte man sagen: ... sein könnten?Denn ein reales Problem in ein Computermodel zu übertragen, ist eine nicht-triviale Aufgabe. Insbesondere wenn das abzubildenede System an Komplexität gewinnt. Ein schlechter Ansatz im Entwurf rächt sich sicher im Laufe des Live-Cycle und führt zu schwer zu pflegendem Code.
Dieses Buch tritt an, um die Grundlagen für gute Entwürfe und Konzepte zu legen bzw. Zu vermitteln. Aus gutem Grund umfasst dieses Buch 600 Seiten, denn es geht den Authoren darum, den Einstieg in diesem Thema zu erleichtern.
zum Inhalt
Der Inhalt des Buches deckt folgende Bereiche ab:
1) Hier fängt gute Software an: Sauber entworfene Anwendungen bringen es
2) Gebt ihnen, was sie wollen: Anforderungen sammeln
3) Ich liebe dich, du bist perfekt ... jetzt ändere dich: Anforderungen ändern sich
4) Ihre Software ins richtige Leben führen: Analyse
5) Teil 1: Nichts bleibt jemals gleich: Gutes Design Intermezzo: OO-KATASTROPHE!
6) Geben Sie Ihrer Software ein 30-Minuten-Workout: Flexible Software
7) "Mein Name ist Art Vandelay": Die richtig großen Probleme lösen
Ordnung ins Chaos bringen: Architektur
9) Originalität wird überschätzt: Design-Prinzipien
10) Die Software ist immer noch für den Kunden: Iteration und Tests
11) Alles zusammenfügen: Der OOA&D-Lebenszyklus
12) Anhang I: Was übrig bleibt
13) Anhang II: Anleitung für ObjekthausenDem Einsteiger wird mit lockerer Sprache, praktischen Beispielen und einigen kleinen Stories, versucht all diese Details näher zu bringen. Das gewählte Konzept aus klaren Erklärungstexten, aussagekräftigen Skizzen, hilfreichen Randnotizen, interessanten Interviews mit Kollege "Browser", Quiz etc. bringt das Wissen in leichter Weise "an den Mann". Das Lesen macht richtig Spaß und man verschlingt eine Seite nach der anderen.
Mit zunehmender Seitenzahl sinkt dann die Lesegeschwindigkeit und man muss mehr und mehr nachdenken und mitmachen. Zudem werden die Zusammenhänge komplexer und die wiederholungen häufiger.Zur Unterstützung des Geschriebenen gibt es jede Menge (teils lustiger) Bilder, Skizzen und der Gleichen. Ganz allgemein unterscheidet sich der verwendete Stil sehr deutlich von "normalen" Einsteigerbüchern. Es werden alle Register gezogen um Stoff zu vermitteln, zu wiederholen und auch abzufragen. Besonders die Abfragen in form von Ankreuzbögen, Quiz und Lösungen zu vorgegebenen Aufgaben dürfte den Lernerfolg deutlich steigern, denn der Leser wird somit zum aktiven Teil des Buches. Nur lesen hilft bekanntlich nicht den Stoff zu behalten. Erst wenn man selbst aktiv wird und mit dem Gelesenen praktisch/geistig arbeitet, setzt es sich fest. Dies schafft das Buch ganz hervorragend.
Jedoch ist vom Lesenden/Lernenden eine gewissen Ausdauer von Nöten, da man das Thema nicht "mal so eben" erfasst. Deshalb wiederholen die Autoren einige Passagen und auch Abfragen sehr oft, wodurch das zu vermittelnde Wissen direkt in Form einer Anwendung verinnerlicht werden soll.
Durch das gesamte Buch ziehen sich 2-3 Beispielanwendungen, die in einfacher Form starten und zunehmend komplexer werden. Daran lassen sich zwei Sachen quasi nebenbei gut veranschaulichen. Zum Einen unterliegt jede Anwendung einer stetigen Änderung und zum Anderen ist erkennbar, dass objektorientierte Programmierung hier die Nase vorn hat.
Die Beispiele sind allesamt in Java verfasst, welches auch Leute (wie ich) verstehen, die nur Java-Grundkenntnisse besitzen. Einige nicht offentlichte Besonderheiten der Sprache Java werden an den nötigen Stellen auch nochmals kurz erklärt. Deshalb sind die Code-Beispiele auch für Nicht-Java-Jünger gut lesbar.
Fazit
Dies ist wieder ein tolles Buch aus der "von Kopf bis Fuß"-Reihe. Ich bin sehr positiv überrascht wie gut man ein Einsteigerbuch schreiben bzw. konzeptionieren kann. Der systematische Aufbau des Buches schlängelt sich entlang der Entwicklung einiger fiktiver und lustiger Projekte. Diese unterliegen der ständigen Veränderung und zeigen dadurch weitere Prinzipien und Vorgehensweisen bei der objecktorientierten Programmierung auf.Besonders dieser Wandel zeigt dem Leser wofür das Gelernte gut ist und dass mit den Methoden des objektorientierten Designs einige schwere Schiffbrüche umgangen werden können.
Die Inhalte werden wunderbar verständlich vermittelt und der Lerneffekt ist mehr als garantiert. Jedoch ist ein wenig Durchhaltevermögen gefragt, da der Stoff selbst an einigen Stellen trocken wird und man sich durchbeissen muss.Ich bin davon überzeugt, dass Einsteiger mit Hilfe dieses Buches besser in das Thema finden und den Lernstoff leichter anwenden können, als das klassische Bücher vermögen. Es ist einfach sehr gut zu lesen und vermittelt alles Wichtige in lockerer Art und Weise.
Wieder ein wirklich gutes Buch.
Torty
-
PS: Sorry für den Doppelpost, jedoch sind die 2 Themen Zope und HTML/CSS in 2 seperaten Sub-Boards sortiert, so dass nicht beide Zielgruppen gleichermaßen angesprochen werden können.
--------------------------------------------------------------
Projekt-Angebot
-----------------
Wir als wachsende Marketing-Agentur suchen nach Verstärkung für unser
Programmier-Team. Wir entwickeln noch hauptsächlich auf Zope2.9/Plone2.5 und
möchten neue Projekte nur noch ab Plone3 realisieren.Anfrage 1:
Für zwei anstehende Projekte suchen wir deshalb engagierte und kompetente
Entwickler aus dem Bereich Zope/Plone3. Ein späteres Anstellungsverhältnis
ist nicht ausgeschlossen.Anfrage 2:
Des Weiteren suchen wir Entwickler/Designer die fundierte Kenntnisse in HTML und
CSS besitzen und uns in unseren Projekten unterstützen wollen.Eine regionale Bindung ist uns sehr wichtig. Aus diesem Grund setzen wir die
Bereitschaft auf wöchentliche Meetings (Nähe Bad Münstereifel [53902]) voraus.
In diesen Meetings lassen sich Absprachen effektiver umsetzen und das persönliche
Kennenlernen wird deutlich erleichtert.
Denkbar ist für uns ein Arbeitsverhältnis auf Freelancer-Basis oder eine Teilzeitanstellung.Kurze Bewerbung und Lebenslauf bitte per Mail an: info_at_positiv-multimedia.com
Bei Rückfragen: 02695-93 12 93 0Über eine kurzfristige Kontaktaufnahme wären wir sehr erfreut.
positive Grüße aus der Eifel
-
Projekt-Angebot
-----------------
Wir als wachsende Marketing-Agentur suchen nach Verstärkung für unser
Programmier-Team. Wir entwickeln noch hauptsächlich auf Zope2.9/Plone2.5 und
möchten neue Projekte nur noch ab Plone3 realisieren.Anfrage 1:
Für zwei anstehende Projekte suchen wir deshalb engagierte und kompetente
Entwickler aus dem Bereich Zope/Plone3. Ein späteres Anstellungsverhältnis
ist nicht ausgeschlossen.Anfrage 2:
Des Weiteren suchen wir Entwickler/Designer die fundierte Kenntnisse in HTML und
CSS besitzen und uns in unseren Projekten unterstützen wollen.Eine regionale Bindung ist uns sehr wichtig. Aus diesem Grund setzen wir die
Bereitschaft auf wöchentliche Meetings (Nähe Bad Münstereifel [53902]) voraus.
In diesen Meetings lassen sich Absprachen effektiver umsetzen und das persönliche
Kennenlernen wird deutlich erleichtert.
Denkbar ist für uns ein Arbeitsverhältnis auf Freelancer-Basis oder eine Teilzeitanstellung.Kurze Bewerbung und Lebenslauf bitte per Mail an: info_at_positiv-multimedia.com
Bei Rückfragen: 02695-93 12 93 0Über eine kurzfristige Kontaktaufnahme wären wir sehr erfreut.
positive Grüße aus der Eifel
-
Gut - Danke - ich werde es testen ...
-
Hmmm...hast du mal geschaut, ob es dazu ein passendes Plone-Produkt gibt?
-
Der normale Weg wäre den Skin (Zip) zu entpacken. Das Verzeichnis in diesem Zip enthält dann alle Einstellungen, Styles, etc. für den Skin. Im Normalfall sollte es reichen, wenn du diesen Skin-Ordner in dein /products schiebst und Zope neu startest.
Torty
-
Zitat
Vielleicht kann mir jemand weiterhelfen
Sicher, aber nicht mit soooo wenig Infos.
Man müsste wissen:
* Link zum Skin
* wo hast du es hinkopiert
* wie versucht einzubinden
* evtl. FehlermeldungenTorty
-
Sollte das so gehen, wäre es tatsächlich der schnellere Weg.
Entwicklungen in AT erfordern eine gründliche Einarbeitung in die Materie und sind meiner Meinung nach mit Plone3 / Zope2.10.x noch etwas komplexer (böse Zungen würden sagen: komplizierter) geworden.Torty
-
Ok - ArgoUML generiert die Interfaces selbsttätig. Somit solved!
Weitere Frage:
Wie erreiche ich es, dass das Produkt nicht in Zope2-Products-Manier sondern als Package erzeugt wird? Ich habe die Klassen zwar in ein Packet gelegt, aber Imports innerhalb des Produktes erfolgen in alter schreibweise Products.meinProdukt. ...Nächste Frage:
Ich kann als tagged_values I18N-IDs vergeben. Kann ich diese in ArgoUML auch direkt übersetzen?Torty
-
Gut, die ersten Schritte sind gemacht. Einige meiner Fehler habe ich gefunden. Nun stellt sich mir eine neue Frage:
Wie kann ich in Plone3-Weise das Interface einer Klasse definieren?Ich habe eine Klasse "MyTool" und will dazu die Interface-Klasse "IMyTool" erzeugen. Diese Interface-Klasse muss ja von Interface abgeleitet werden. Nur wie sag ich das dem ArgoUML?
Torty
-
Zitat
Ich stelle mir vor, dass wenn ein Benutzer auf den Reiter "Hinzufügen" klickt und die Auswahl Bild, Datei, Kollektion usw. erscheint, da noch meine Vorlage drin auftaucht.
hier sprichst du von Inhaltstypen. Ein Inhaltstyp ist z.B. "seite" (intern ATDocument). Dieser Typ wird per ArcheTypes definiert und stellt einen so genannten CT (ContentType) dar. Den kannst du aber nicht in /custom erzeugen.
Um zu sehen was ich meine, geh mal auf deinem Rechner im Filesystem auf Plone2.5.5/ATContentTypes/content/document.py. Mach die Datei auf und du kannst sehen wie das Schema (aus deiner Sicht die Eingabemaske in Plone) für dieser CT definiert wurde.Leider kannst du auch erkennen, dass du dies nicht mal eben so machen kannst. Eine andere Lösung wäre es auf http://plone.org/products nach fertigen CT's zu fanden, die deinem Wunsch nahe kommen. Z.B. könntest du die ATMediaPage nehmen um die Bilder automatisch ausgeben zu lassen und die Tabelle mit dem Text erzeugst du dann im Textfeld der MediaPage.
Schau dich mal um und du wirst sehen was es gibt und ob du davon etwas nutzen kannst.
Torty