Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Che Guevara


 Thema: Gehirnsalat ( wir unter uns )
« erste « vorherige 1 ... 6359 6360 6361 6362 [6363] 6364 6365 6366 6367 ... 6582 nächste » letzte »
erste ungelesene Seite | letzter Beitrag 
Daddi89

AUP Daddi89 28.05.2020
verschmitzt lachen
Pff, nichtmal nen Operator überladen
23.09.2013 23:53:57  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Admiral Bohm

tf2_spy.png
traurig gucken
Ja, und außerdem gehört doWork eigentlich in ein Lambda.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Admiral Bohm am 23.09.2013 23:56]
23.09.2013 23:55:32  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
rABBI

Arctic
verschmitzt lachen
pfff, freaks. ( == unlesbar.)
23.09.2013 23:56:09  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Daddi89

AUP Daddi89 28.05.2020
Nutz halt PHP Breites Grinsen
http://www.phpgangsta.de/richtige-threads-in-php-einfach-erstellen-mit-pthreads
24.09.2013 0:00:37  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Noch_ein_Kamel

Guerilla
Aber das ist ja garnicht multicore....
24.09.2013 1:24:41  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Daddi89

AUP Daddi89 28.05.2020
Die Sache ist die: Ich glaube wenn rABBI einfach mal losgelegt hätte mit ner nicht-Multicore Lösung wäre das Problem schon durch Breites Grinsen
24.09.2013 2:07:56  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
cms

AUP cms 14.11.2012
Man könnte ja ein Absurdeste-Lösung-Codegolf daraus machen. Breites Grinsen
24.09.2013 3:11:51  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
rABBI

Arctic
 
Zitat von Daddi89

Die Sache ist die: Ich glaube wenn rABBI einfach mal losgelegt hätte mit ner nicht-Multicore Lösung wäre das Problem schon durch Breites Grinsen


richtig. das muss aber irgendwann live performen auf echtzeitdaten.

 
Zitat von cms

Man könnte ja ein Absurdeste-Lösung-Codegolf daraus machen. Breites Grinsen


witzige idee. mag jemand was in brainfuck vorstellen?
24.09.2013 8:06:59  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gore

Gori
Crosspost
http://forum.mods.de/bb/thread.php?TID=211257&PID=1244944242#reply_1244944242

Hmmm,

ich habe zwei Formular-Klassen, einmal für Create und davon abgeleitet eine Update. Update hat die gleichen Felder + 2 weitere.

Nun will ich für ein bestimmtes Projekt noch bei beiden die extakt gleiche Anzahl von Zusatzfeldern hinzufügen.

Ich kann das ja schlecht über Vererbung lösen, dann müsste ich die Zusatzfelder doppelt einpflegen.

Gibts da ein passendes Pattern? Decorator könnte eventuell passen?
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Gore am 24.09.2013 10:15]
24.09.2013 10:15:28  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
Die Gabecube kommt. /o\
24.09.2013 10:18:04  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GH@NDI

ghandi2
Das ist das Ende von Microsoft! Breites Grinsen
24.09.2013 10:33:24  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GarlandGreene

Mod GIGN
oder besser, das könnte der Anfang von Linux sein.
24.09.2013 10:54:53  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Noch_ein_Kamel

Guerilla
Oder aber Nobody gives a shit
24.09.2013 11:08:10  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
/e:
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SirSiggi am 24.09.2013 12:04]
24.09.2013 11:20:58  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Daddi89

AUP Daddi89 28.05.2020
 
Zitat von Gore

http://forum.mods.de/bb/thread.php?TID=211257&PID=1244944242#reply_1244944242

Hmmm,

ich habe zwei Formular-Klassen, einmal für Create und davon abgeleitet eine Update. Update hat die gleichen Felder + 2 weitere.

Nun will ich für ein bestimmtes Projekt noch bei beiden die extakt gleiche Anzahl von Zusatzfeldern hinzufügen.

Ich kann das ja schlecht über Vererbung lösen, dann müsste ich die Zusatzfelder doppelt einpflegen.

Gibts da ein passendes Pattern? Decorator könnte eventuell passen?



Ein Framework das ich lange Zeit benutzt hat, hat die von Hand hinzugefügt. Wobei für die Ausgabe aber jeweils die gleiche View genutzt wurde, d.h. in der Controller Klasse wurden pro Feld nur ein paar Zeilen ergänzt.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Daddi89 am 24.09.2013 12:19]
24.09.2013 12:14:45  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gore

Gori
Bedeutet ja trotzdem das ich denselben Code doppelt habe, jweils für Create und einmal für Update. Das will ich vermeiden.
24.09.2013 12:25:46  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Daddi89

AUP Daddi89 28.05.2020
Wie ist das denn aktuell mit den Felder in der Updateklasse? Da musst du doch eh die Formulardaten von allen Feldern wieder abfragen, oder hast du da ne generische Lösung gebastelt?

Ich kenne ja deinen Code-Aufbau nich, aber vielleicht kannst du was mit Traits machen? (ab PHP 5.4)
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Daddi89 am 24.09.2013 12:29]
24.09.2013 12:28:27  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gore

Gori
Die Formulardaten füllen über eine Art Mapping-Objekt (Zend\Stdlib\Hydrator) meine Entität (Benutzer) und schiebt es in einen data mapper.
Die View iteriert nur über die Elemente, ist also auch dynamisch.

Hab extra ohne PHP-Bezug gefragt, da ich eher allgemeine Herangehensweisen nutzen möchte und ich Traits bisher nicht genutzt habe.

Wie ich das aber grade lese kann man die eh nicht dynamisch setzen?
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Gore am 24.09.2013 12:36]
24.09.2013 12:33:15  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Daddi89

AUP Daddi89 28.05.2020
Was heisst denn dynamisch? Du kannst halt ein Trait definieren und mehreren Klassen zuordnen.

Kannst du mir kurz was zu diesem Hydrator schreiben? Klingt interessant und die Stdlib gibts auch per Composer wie ich sehe (https://packagist.org/packages/zendframework/zend-stdlib)

Btw. für die PHP-Hater, jetzt gibts auch den oft erwarteten Package-Manager dafür Breites Grinsen
24.09.2013 12:45:40  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gore

Gori
Hab die normale Create und Update halt für einige Bereiche und in anderen Bereichen die gepimpte Version.
In den pimped Bereichen müsste ich halt dynamisch das Trait hinzufügen, das scheint ja nicht zu gehen oder ich war blind.

Zum Hydrator:
 
Code:
namespace Zend\Stdlib\Hydrator;

interface HydratorInterface
{
    /**
     * Extract values from an object
     *
     * @param  object $object
     * @return array
     */
    public function extract($object);

    /**
     * Hydrate $object with the provided $data.
     *
     * @param  array $data
     * @param  object $object
     * @return object
     */
    public function hydrate(array $data, $object);
}



Sitzt z.B. im ZF2 zwischen (Form und Entität) und (Db und Entität). Mappt quasi überall dort wo das Objekt nicht mit den Formulardaten oder Spalten der DB überein stimmt.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Gore am 24.09.2013 12:50]
24.09.2013 12:50:15  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Daddi89

AUP Daddi89 28.05.2020
Heisst, du schmeisst ihm dein Objekt rein und $_POST und er befüllt die Daten damit automatisiert oder versteh ich hier was ganz falsch?
24.09.2013 13:03:54  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gore

Gori
Nop, genau das heißt es.

Der Db-Adapter haut dir dann auch direkt deine gefüllten Klassen raus und keine generische row-Klasse.
24.09.2013 13:11:34  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Daddi89

AUP Daddi89 28.05.2020
 
Zitat von Gore

Nop, genau das heißt es.

Der Db-Adapter haut dir dann auch direkt deine gefüllten Klassen raus und keine generische row-Klasse.



Hätte ich das mal vorher gekannt Breites Grinsen
Nette Sache, werde ich in Zukunft sicher mal benutzen
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Daddi89 am 24.09.2013 13:14]
24.09.2013 13:13:45  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Achsel-des-Bösen

AUP Achsel-des-Bösen 06.10.2009
 
Zitat von rABBI

aaaaaah, hass.

ruby ist nicht mehrprozessorfähig, wenn man es im ersten jahr betreibt. der scheduler von go ist räudig an guten tagen und meistens schlimmer. python ist noch übrig und tut nicht, was die doku sagt, dass es tun würde.

ich habe 25-35GB textdaten. alles json, dass ich gern per regex parsen und danach weiterverarbeiten würde. regex, weil json noch langsamer ist. jede datei == 1/2 bis 1mb groß == ein zu parsendes datenpaket. zur verfügung steht ein 5 jahre alter xeon, also schon nicht das aller schlechteste. ich hab sogar schon überlegt, ob ich das in shellscript baue, aber das ist schon garnicht multicorefähig. noch irgendjemand ideen für eine sprache/ein framework, bei dem man nicht das datei einlesen neu erfinden muss und das trotzdem multicore kann und performt? c/c++ ist mir definitiv zu low level. c# heißt wine und das will ich nicht auf einem headless server. noch irgendwas, das ich übersehen habe?

für die leute, die mir vielleicht einfach sagen können, warum das mit den futures nicht parallelisiert, hier mal das skript:
 
Code:
#!/usr/bin/env python
import time
import sys
import os
import concurrent.futures

################################################################################
def analyze(file):
	contents = open(fi).read()
	# somthing will happen here
	return "" #return list of all ids in this file
################################################################################
def workthelist(filelist):
	#iterate over list and analyze
	print("analyzing", len(filelist), "files")
	for f in filelist:
		analyze(os.path.join(folder, f))
	return "" #later this year return the list of all ids in this filelist
################################################################################


# start stopwatch
timeStart = time.perf_counter()

# read folder from commandline
if len(sys.argv)<2:
	print("specify path please.")
	exit(1)
folder = sys.argv[1]

# count number of files
filelist = os.listdir(folder)
print("number of files, predicted: ", len(filelist))

halfcount = round(len(filelist)/2)
firsthalf = filelist[:halfcount]
secondhalf = filelist[halfcount:]

# sum size
sumsize = 0
filecount = 0
for f in filelist:
	filecount += 1
	fi = os.path.join(folder, f)
	fileinfo = os.stat(fi)
	sumsize += fileinfo.st_size
#	analyze(fi)
print("number of files, counted: ", filecount)
print("size summarized: ", round(sumsize/1024/1024), "M")
print("mean size per file: ", round(sumsize/1024/filecount), "K")

# parse each file via regex
# use parallel shit and stuff
executor = concurrent.futures.ProcessPoolExecutor(max_workers=2)
a = executor.submit(workthelist(firsthalf))
b = executor.submit(workthelist(secondhalf))

# save list of matches to new file
# ahhh, not yet
# stop stopwatch
timeEnd = time.perf_counter()
print("Execution time: ", timeEnd-timeStart, "seconds")



Hier ist eine einfach parallelisierte Variante in Scala:
 
Code:
import java.io.File
import scala.io.Source

object Main {
  
  def analyze(file: File): String = {
    val lines = Source.fromFile(file).getLines
    // do something with the lines
    "DUMMY"
  }
  
  def main(args: Array[String]) = {
    if(args.length < 1) {
      println("specify path please")
      exit(1)
    }
    
    val folder = new File(args(0))
    val files = folder.listFiles.filter(_.isFile)
    
    println(s"number of files, predicted: ${files.length}")
    
    val ids = files.par.map(analyze)
    
    println(ids)
  }
}

Wenn du aus der analyze Methode mehr als eine Sachen zurückgeben willst, änderst du einfach den Rückgabetype zu
Seq[String]
und ersetzt das
.par.map
durch
.par.flatMap
24.09.2013 13:27:44  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Noch_ein_Kamel

Guerilla
Da wollt ich eben das Licht in meinem Schlafzimmer ausmachen... Dabei war nur der Rolladen oben :-(
24.09.2013 15:54:49  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
Man nennt es Sonne. Scheint täglich.
24.09.2013 16:34:34  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Danzelot

AUP Danzelot 28.02.2014
"Die gelbe Sau", wie man hier sagt.
24.09.2013 16:56:29  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Smoking

AUP Smoking 09.09.2023
Dir aus dem Arsch vielleicht. :/
24.09.2013 16:56:43  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Zensiert

AUP Zensiert 28.11.2007
So, das wars fuer die Woche fuer mich. Ich werde einfach zu alt /o\

Freitag und Samstag Hannover, Montag und heute Wiesn. Aber ich bleib beim Alkohol! :x
24.09.2013 17:58:38  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gore

Gori
Prost, ich bin schon dabei
24.09.2013 18:02:22  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: Gehirnsalat ( wir unter uns )
« erste « vorherige 1 ... 6359 6360 6361 6362 [6363] 6364 6365 6366 6367 ... 6582 nächste » letzte »

mods.de - Forum » Webdesign & Coding » 

Hop to:  

Thread-Tags:
Mod-Aktionen:
23.08.2018 12:40:15 TriggerTG hat den Thread-Titel geändert (davor: "Wiederbelebungssalat")
09.03.2017 08:55:19 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
21.05.2014 16:08:26 Redh3ad hat den Thread-Titel geändert (davor: "Hochzeitssalat")
10.05.2014 09:43:28 Redh3ad hat den Thread-Titel geändert (davor: "Gehirnsalat")
19.10.2013 21:43:03 [DK]Peacemaker hat diesen Thread repariert.
04.10.2013 20:11:45 TriggerTG hat den Thread-Titel geändert (davor: "Damiferkel-Salat")
29.08.2013 19:59:27 [DK]Peacemaker hat den Thread-Titel geändert (davor: "HerpDerpSalat")
19.08.2013 10:04:19 TriggerTG hat den Thread-Titel geändert (davor: "SirSiggiSalat")
13.08.2013 18:43:13 TriggerTG hat den Thread-Titel geändert (davor: "Kamelwochensalat")
05.08.2013 09:47:37 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
24.06.2013 16:30:39 TriggerTG hat den Thread-Titel geändert (davor: "cmssalat")
20.06.2013 12:58:35 TriggerTG hat den Thread-Titel geändert (davor: "Krissalat")
13.06.2013 10:59:25 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
08.06.2013 11:28:06 TriggerTG hat den Thread-Titel geändert (davor: "rABBIntensalat")
03.06.2013 09:56:52 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")

| tech | impressum