Scripting Contest

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Scripting Contest

Beitrag von inne » 25.08.2015 14:51:03

Stopp mal, jetzt funktionirt das aber nicht mehr!
In jeder Zeile fehlt das 1. Zeichen.

Benutzeravatar
Phineas
Beiträge: 354
Registriert: 20.06.2012 20:26:19

Re: Scripting Contest

Beitrag von Phineas » 25.08.2015 14:55:54

Ist schon korrigiert. Die Bash fängt bei 0 an zu zählen.

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Scripting Contest

Beitrag von heisenberg » 25.08.2015 19:29:12

Wir könnten ja was mit regexen machen :)

Hatte heute die schöne Aufgabe diese Check_MK-Datei(Python-Syntax als Konfigurationsdatei) zu parsen:

Code: Alles auswählen

wato_host_tags += \
[('agent',
  u'/Agent type',
  [('cmk-agent', u'Check_MK Agent (Server)', ['tcp']),
   ('snmp-only', u'SNMP (Networking device, Appliance)', ['snmp']),
   ('snmp-v1', u'Legacy SNMP device (using V1)', ['snmp']),
   ('snmp-tcp', u'Dual: Check_MK Agent + SNMP', ['snmp', 'tcp']),
   ('ping', u'Only PING this device', [])]),
 ('criticality',
  u'Criticality',
  [('Normal', u'Normales System mit geringer Wichtigkeit', []),
   ('Kritisch', u'Wichtiger Server(prio 3)', []),
   ('Kritisch2', u'Wichtiger Server(prio 2)', []),
   ('Kritisch1', u'Wichtiger Server(prio 1)', []),
   ('RZ-Kritisch', u'Essentiell fuer alle RZ-Dienste', []),
   ('Test', u'Testsystem', []),
   ('Offline', u'Do not monitor this host', [])]),
 ('networking',
  u'Networking Segment',
  [('lan', u'Local network (low latency)', []),
   ('wan', u'WAN (high latency)', []),
   ('dmz', u'DMZ (low latency, secure access)', [])]),
 ('WEBSERVER',
  u'Webserver',
  [('NOWEBSERVER', u'Kein Webserver', []),
   ('HTTP', u'http:// only', []),
   ('HTTPS', u'https:// only', []),
   ('HTTPSHTTP', u'http:// + https://', [])]),
 ('SMTPSERVER',
  u'SMTP-Server',
  [('NOSMTPSERVER', u'Kein SMTP-Server', []),
   ('SMTPSERVER', u'SMTP-Server', [])]),
 ('IMAPSERVER',
  u'IMAP-Server',
  [('NOIMAPSERVER', u'Kein IMAP-Server', []),
   ('IMAPSERVER', u'IMAP-Server', [])]),
 ('POP3SERVER',
  u'POP3-Server',
  [('NOPOP3SERVER', u'Kein POP3-Server', []),
   ('POP3SERVER', u'POP3-Server', [])]),
 ('SLA',
  u'Service Level Agreement',
  [('NOSERVICE', u'Kein Service', []),
   ('SERVICE_5x9',
    u'W\xe4hrend der normaler Gesch\xe4ftszeit Mo-Fr 9-18 Uhr',
    []),
   ('SERVICE_7x16', u'Erweiterte Gesch\xe4ftszeit Mo-So 6-22 Uhr', []),
   ('SERVICE_24x7', u'Rund um die Uhr', []),
   ('SERVICE_APP', u'Server- und Anwendungsbetreuung', [])]),
 ('NAMESERVER',
  u'DNS-Server',
  [('NODNS', u'Kein Nameserver', []), ('DNSSERVER', u'Nameserver', [])]),
 ('SSHSERVERTAG',
  u'SSH-Server',
  [('NOSSHSERVER', u'Kein SSH-Server', []), ('SSHSERVER', u'SSH-Server', [])]),
 ('SECUREPOINT',
  u'Secure Point FW',
  [('NOSP', u'Keine Securepoint', []),
   ('ISSP', u'Secure Point Firewall', [])]),
 ('APTACTIVE',
  u'APT-Checks einschalten',
  [('APTOFF', u'APT Checks aus', []), ('APTON', u'APT Checks ein', [])]),
 ('DELAYED_CRITICAL',
  u'Erst verzoegert kritisch',
  [('DEFAULT', u'Keine Verzoegerung', []),
   ('DELAYED', u'Mit 15 Min verzoegert kritisch setzen', []),
   ('HUGEDELAYED', u'Mit 30 Min verzoegert kritisch setzen', [])]),
 ('SSL_SMTP',
  u'SSL f\xfcr SMTP',
  [('SMTP_NOSSL', u'Kein SSL', []),
   ('SMTP_SSL_DIRECT', u'SSL direkt(465)', []),
   ('SMTP_SSL_ALL', u'SSL direkt und starttls(25,587,465)', [])]),
 ('SSL_POP3',
  u'SSL f\xfcr POP3',
  [('POP3_NOSSL', u'Kein SSL', []),
   ('POP3_SSLDIRECT', u'SSL direkt (995)', []),
   ('POP3_ALL_SSL_ALL', u'SSL direkt(995) und starttls(110)', [])]),
 ('SSL_IMAP',
  u'SSL f\xfcr IMAP',
  [('IMAP_NOSSL', u'Kein SSL', []),
   ('IMAP_SSL_DIRECT', u'SSL direkt(993)', []),
   ('IMAP_SSL_ALL', u'SSL direkt(993) + startssl(143)', [])]),
 ('FTPSERVICE',
  u'FTP',
  [('FTP_OFF', u'Kein FTP', []),
   ('FTP_ON', u'FTP', [])])]

wato_aux_tags += \
[('snmp', u'monitor via SNMP'), ('tcp', u'monitor via Check_MK Agent')]

Mein aus einzelnen, kleineren Einzelelementen als Variabeln zusammengesetzter Regex sieht dann so aus.

Code: Alles auswählen

wato_host_tags \+=[\n\s\\]{3}\[(((\('([^']{1,40})',?\s{0,10}u'([^']{1,200})',?\s{0,15}\[((\s{0,15}\('([^']{1,40})',?\s{0,10}u'([^']{1,200})',?\s{0,10}\[((('([^']{1,40})'),? ?){0,15})\]\),?\s{0,10})+)\]\))[,\s]{0,9}){0,40})
Das Debugging war sehr hässlich. Zwischendrin hatte ich es dann geschafft eine Regex-Endlos-Backtracking-Schleife zu bauen. Hmm. Eigentlich unwartbar...

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: Scripting Contest

Beitrag von catdog2 » 25.08.2015 19:53:18

Warum nimmst dann dann nicht einfach python um das zu parsen?
Unix is user-friendly; it's just picky about who its friends are.

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Scripting Contest

Beitrag von heisenberg » 25.08.2015 21:37:35

Warum nimmst dann dann nicht einfach python um das zu parsen?
Das Gute liegt näher als man denkt.... :hail:

Benutzeravatar
ohnex
Beiträge: 393
Registriert: 31.01.2010 22:35:36

Re: Scripting Contest

Beitrag von ohnex » 01.09.2015 12:00:10

Hi

Ihr seid alle Gewinner :THX: :D

Wer möchte eine neue Aufgabe eröffnen :?:

Ciao

inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Scripting Contest

Beitrag von inne » 01.09.2015 20:26:07

Ich hätte gern was mit Vektorberechnung, alleine weil ich die Formel dazu mal in Code gegossen sehen will.

Mir hat man das mal gezeigt, aber das schon etwas her... Heute würde ich das glaube nicht so einfach wieder zusammen bekommen.
Btw: Das ist die Art von Formel/Berechung, womit in Ego-Shootern geschaut wird ob man getroffen hat.

MoonKid
Beiträge: 513
Registriert: 12.03.2012 22:36:43

Re: Scripting Contest

Beitrag von MoonKid » 22.11.2015 16:12:45

Bin durch Umwege auf den Scripting Contest aufmerksam gemacht worden.

Hätte eine intelligentes "Leeren" des Papierkorbs im Sinn. Hatte hierzu schon mal einen Thread, wo die Idee verrissen wurde. Sicher ist das Konzept un-debianisch bzw. un-unixoid. Aber es gibt genug DAUs und Ex-Windowser die einen Sinn darin sehen.

Es steht auf meiner ToDo-Liste, bisher fehlt mir aber die Zeit. Ich melde mich ggf. wenn ich hier was anfange, falls nicht schon vorher einer was lostritt.

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Scripting Contest

Beitrag von heisenberg » 22.11.2015 18:28:41

Hi MoonKid,

danke für den Tip auf Dein Papierkorb-Thema. Find' Ich persönlich interessant. Ich antworte dann mal dort darauf.

Für eine Aufgabe des Scripting-Contests halte ich das nicht unbeding für geeignet. Das Thema Papierkorb hängt da
u. a. zusammen mit den grafischen Oberflächen. D. h. das kann schnell ausufern. Wenn Du Dir mal Gedanken machst
und eine präzise und klare Aufgabenstellung formulierst, die vom Aufwand her überschaubar ist, dann
wäre das eine Möglichkeit.

Grüße,
h.

MoonKid
Beiträge: 513
Registriert: 12.03.2012 22:36:43

Re: Scripting Contest

Beitrag von MoonKid » 23.11.2015 17:52:13

heisenberg hat geschrieben:Für eine Aufgabe des Scripting-Contests halte ich das nicht unbeding für geeignet. Das Thema Papierkorb hängt da
u. a. zusammen mit den grafischen Oberflächen. D. h. das kann schnell ausufern. Wenn Du Dir mal Gedanken machst
und eine präzise und klare Aufgabenstellung formulierst, die vom Aufwand her überschaubar ist, dann
wäre das eine Möglichkeit.
Ich sehe da keine Verbindung mit den grafischen Oberflächen. Die bleiben Außen vor. Kurz: Das Script wird per (ana)cron regelmäßig aufgerufen und überprüft den Papierkorb nach den gegenbenen Parametern und räumt ggf. auf.

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Scripting Contest

Beitrag von Meillo » 24.11.2015 11:47:49

Hab die Diskussion ueber das Loeschscript in den dazu passenden Thread geschoben. Ab hier: viewtopic.php?f=28&t=158026&start=30#p1067688
Use ed once in a while!

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: Scripting Contest

Beitrag von r4pt0r » 04.12.2015 16:31:46

Gibt es wieder/noch eine offene Aufgabenstellung?

Würde sonst mal "Türme von Hanoi" oder implementierung eines Dezimal -> Binär Umrechners nur über Rechenoperationen (also keine "toBinary" funktionen o.ä.) in den Raum werfen...
Hab mich beidem vor kurzem in mehreren Sprachen angenommen und war doch erstaunt wie elegant oder häßlich das je nach Sprache und Lösungsweg sein kann.

Benutzeravatar
ohnex
Beiträge: 393
Registriert: 31.01.2010 22:35:36

Re: Scripting Contest

Beitrag von ohnex » 04.12.2015 20:34:03

Hi

Das Forum wartet bestimmt schon auf eine neue Aufgabenstellung :D also leg los ...

Ciao

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: Scripting Contest

Beitrag von r4pt0r » 04.12.2015 22:18:22

Na dann würde ich fürn Anfang mal den Dezimal/Binär-Umwandler vorschlagen.

Gesucht ist also ein Programm/Script, das eine beliebige natürliche Zahl in Binärform darstellt.

Für die eigentliche Umwandlung/"Umrechnung" dürfen keine fertigen Funktionen der Sprache oder einer Bibliothek/Paket/Modul... benutzt werden - Ansonsten darf man sich sämtlichen Arithmetischen- oder Bitoperationen bedienen oder gerne auch ganz andere Wege gehen. Es gibt viele - auch ziemlich absurde - Varianten für diese Umwandlung. Bin gespannt was so alles kommt.

Punkte gibts für Eleganz und/oder Einfallsreichtum :wink:

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Scripting Contest

Beitrag von Meillo » 05.12.2015 08:17:15

r4pt0r hat geschrieben:Na dann würde ich fürn Anfang mal den Dezimal/Binär-Umwandler vorschlagen.
Wunderbar! Dann mal los!

Wir machen es wieder so, dass es eine stille Bearbeitungszeit gibt, waehrend der keine Loesungen gepostet werden sollen, man darf lediglich mitteilen, dass man eine Loesung entwickelt hat und in welcher Sprache oder in welchen Charakter die hat, um die anderen Teilnehmer und die Noch-nicht-Teilnehmer anzustacheln. ;-) Anschliessend sollen die Loesungen eingereicht und gerne diskutiert werden.

Eine Bearbeitungsphase bis Sonntag abend scheint mit etwas zu knapp zu sein, da manche ueber das Wochenende vielleicht offline sind. Ich koennte mir Mittwoch abend (5 Tage Zeit) oder Freitag abend (7 Tage Zeit) vorstellen. Was meint ihr?
Gesucht ist also ein Programm/Script, das eine beliebige natürliche Zahl in Binärform darstellt.
Na, sagen wir lieber mal: Eine natuerliche Zahl kleiner 2^15. ;-) (Das erlaubt naemlich auch Implementierungen mit 16-bit signed int ... fuer die Kleinlichen.)
Punkte gibts für Eleganz und/oder Einfallsreichtum :wink:
Was gefaellt, ist gut!

Ebenso wird jede Einreichung begruesst, bei der ihr Autor oder ein Mitleser etwas lernt!


Los geht's!
Use ed once in a while!

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: Scripting Contest

Beitrag von r4pt0r » 05.12.2015 13:41:35

Meillo hat geschrieben:
Gesucht ist also ein Programm/Script, das eine beliebige natürliche Zahl in Binärform darstellt.
Na, sagen wir lieber mal: Eine natuerliche Zahl kleiner 2^15. ;-) (Das erlaubt naemlich auch Implementierungen mit 16-bit signed int ... fuer die Kleinlichen.)
Wer das ganze auf nem 8bit AVR lösen will darf natürlich auch auf kleinere Zahlen gehen ;)
Also einfach: signed int der verwendeten Architektur.

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Scripting Contest

Beitrag von heisenberg » 06.12.2015 16:53:40

Zu einer Aufgabe wäre noch gut auch ein Abgabezeit zu haben.

Also:
  1. Klare Aufgabenbeschreibung
  2. Ggf. Testdaten
  3. Zeitpunkt der Auflösung/Veröffentlichung
----

Ich habe es mal mit Haskell versucht. Das habe ich leider nicht hinbekommen. Deswegen habe ich's dann nochmal mit PHP funktional+rekursiv umgesetzt.

Code: Alles auswählen

<?PHP 
        # Berechnung
        function d2b($x) {return(($x<2)?"$x":d2b(floor($x/2)).($x%2));}  

        # Ausgabe
        print((count($argv)>1)?d2b($argv[1]):"Kein Parameter angegeben!");
?>
So, jetzt noch mal etwas entzerrt:

Code: Alles auswählen

<?PHP
        # Berechnung
        function d2b($x) {
            return (
                        ($x<2)                                     
                             ?"$x"                          # dez 0 -> bin 0; dez 1 -> bin 1 
                             : d2b(floor($x/2)) . ($x%2));  # Alles ws grösser ist: Modulo 2 ergibt die aktuelle
                                                            # Stelle, Rest wird nach vorne hin aufgefüllt
         } 

        # Ausgabe der Binärzahl oder Fehlermeldung wenn kein Parameter angegeben wurde.
        print((count($argv)>1)?d2b($argv[1]):"Kein Parameter angegeben!");
?>
Zuletzt geändert von heisenberg am 06.12.2015 22:22:32, insgesamt 3-mal geändert.

MoonKid
Beiträge: 513
Registriert: 12.03.2012 22:36:43

Re: Scripting Contest

Beitrag von MoonKid » 06.12.2015 20:42:59

Aufgabe:
  • Häufigkeit aller vorkommenden Wörter in einem Text zählen
  • auszuschließende Wörter festlegbar (z.B. 'und', 'and', 'for')
  • absteigend sortiert darstellen
  • für Menschen lesbarer und wartbarer und somit für mäßig technikaffiene Menschen überprüfbarer Code
  • Effizienz ist hier definitiv kein Kriterium und ist Benutzbarkeit und Überprüfbarkeit untergeordnet
Besonders letzter Punkt bedeutet, das RegEx, sed und ähnlich kryptische Lösungen nicht zählen. Ja ich bin hier im Debian-Forum und erwarte schon den shitstorm.
Denkt euch folgendes Szenario: obiger Code ist Bestandteil eines Selektionsverfahrens in einer wissenschaftlichen Studie. Der Prozess muss daher für viele verschiedenen Leute (andere Wissenschaftler, Geldgeber, Nutzer, Reviewer) mit sehr unterschiedlichen IT-fachlichen Niveaus überprüfbar bleiben. Das bedeutet nicht, dass jeder dieser Menschen den Code lesen können muss. Aber er soll nicht in den Keller seiens Instituts steigen müssen, um einen Nerd/Admin (der wiederum keinen Bezug zur Studie und ihren Anforderungen hat) zu finden, der den Code versteht.

Mit Python3 ist das schnelle machbar.
Aber mein Gedanke ist eigentlich, dass es sowas doch schon geben muss.

Bisherige Lösungen, die ich finden konnte, zielen aber auf Word oder die Bash-Komponenten und bieten auf die Schnelle (Code-Verständnis!) keine Möglichkeit der Erweiterung (z.B. Punkt 2 oben).
Zuletzt geändert von MoonKid am 07.12.2015 17:24:16, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: Scripting Contest

Beitrag von DeletedUserReAsG » 06.12.2015 21:53:07

Besonders letzter Punkt bedeutet, das RegEx, sed und ähnlich kryptische Lösungen nicht zählen. Ja ich bin hier im Debian-Forum und erwarte schon den shitstorm.
Naja, nicht direkt Shitstorm, aber: genannte Sachen sind nicht automatisch kryptisch, andere sind nicht automatisch DAU-lesbar. Und Effizienz kann durchaus auch ein positives Kriterium sein (wo Python dann naturgemäß verlieren würde). Nein, das scheint mir alles nicht recht durchdacht.

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Scripting Contest

Beitrag von heisenberg » 06.12.2015 22:05:03

Ich würde jetzt auch Mal sagen, dass vor allem Wissenschaftler sich üblicherweise zumindest ein Basislevel an Scripting aneignen, da wissenschaftliche Arbeiten vermehrt auch mit Testreihen und deren Auswertung also Zahlen und Statistiken zu tun haben. Dafür sind Scripting und Textanalysetools(Perl, sed, awk, Regex,....) sehr hilfreich.

Aber ich bin schon gespannt auf Deine Python3-Lösung und ob ich da als alter Kellernerd noch etwas lernen kann.

eggy
Beiträge: 3334
Registriert: 10.05.2008 11:23:50

Re: Scripting Contest

Beitrag von eggy » 07.12.2015 07:06:17

Mit sed/tr Wortweise zerlegen, sortieren und zählen mit uniq -c und rauswerfen was man nicht haben will mit

Code: Alles auswählen

 grep -v -w  "and\|or\|for" 
Gibt nen hübschen kleinen Einzeiler, ich seh beim besten Willen nicht, was daran unwartbar sein soll
(ausser Konkurenz gepostet, sonst hätt ich dafür ja extra bis zum Wochenende warten müssen ;))

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Scripting Contest

Beitrag von Meillo » 07.12.2015 09:59:37

Haben wir hier denn nun Regeln oder nicht?

Entweder wir spielen diesen Scripting-Contest nach einem gemeinsam vereinbarten Schema oder jeder macht was er will. Ich kann mit beidem leben, ich wuerde nur gerne wissen welcher Art wir vorgehen, damit ich mich nicht umsonst bemuehen muss.
Use ed once in a while!

eggy
Beiträge: 3334
Registriert: 10.05.2008 11:23:50

Re: Scripting Contest

Beitrag von eggy » 07.12.2015 13:38:41

@Meilo: Die Frage ist doch viel eher ne ganz normale Frage fürs Forum als was für "hier". Wenn man sagt, "löst es für mich, aber benutzt blos nicht all die coolen Dinge" hat das doch nichts mehr mit dem eigentlichen Grund des Scriptingcontestes zu tun.

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: Scripting Contest

Beitrag von r4pt0r » 07.12.2015 14:24:07

Huch, gehts schon weiter? Ich dachte Mittwoch wäre die Deadline gewesen...

Hier noch meine beiden Lösungen - "leider" ebenfalls beide funktional/rekursiv, jeweils als komplettes ausführbares script.
Assembler erschien mir dann doch irgendwie sinnfrei - ins Register schieben und dann bitweise/binär wieder auslesen :roll:

Scala:

Code: Alles auswählen

#!/usr/bin/env/ scala

def binary(n: Int): String = { if ( n <= 1 ) n.toString else binary((n/2).toInt).toString + (n%2).toString }
println(binary(args(0).toInt))
entzerrt:

Code: Alles auswählen

def binary(n: Int): String = { 
  if ( n <= 1 ) { n.toString }
  else { binary((n/2).toInt).toString + (n%2).toString }
}

Perl:

Code: Alles auswählen

#!/usr/bin/perl -w

use strict;
use warnings;
use 5.020;

sub binary {
  my ($n) = @_; 
  $n <= 1 ? return $n
          : return binary(int($n/2)).($n%2);
}
say binary(@ARGV);
Ich muss dazu sagen, dass mir trotz identischem Algorithmus der Perl-code besser gefällt und IMHO lesbarer ist als Scala, das ja eigentlich so viel klarer sein soll... Klar lässt sich der Scala-Code noch weiter auf mehrere Zeilen entzerren - das Java-Typisch grausige, endlose aneinanderreihen von Funktionen mit Punkten bleibt trotzdem, ebenso wie die notwendigen Typumwandlungen (toInt, toString) die Perl automatisch erledigt...
Ist mir aber die letzten ~10 Tage seit ich mich mit Scala befasse öfter aufgefallen: Vieles was da als revolutionär, neu und "hip" verkauft wird ist in Perl zumindest ähnlich und/oder oft in besserem (=besser lesbarem) Code machbar und ein alter Hut... Beispiel: anonyme Funktionen. Das den Java-Umsteigern als DIE Weltneuheit schlechthin Verkauft :roll:


@MoonKid: Das klingt irgenwie nach einer Auftragsarbeit!? Zudem: Wordcount/-sort ist eigentlich das "hello world" jeder Sprache die sich irgendwie mit "data science" verbunden fühlt bzw in jedem quickstart-manual für frameworks wie Apache Spark... Wenn dann auch noch alternative Lösungen (regex) ausgeschlossen werden bleiben nur noch langweilige/offensichtliche Lösungen z.B. in Scala das für alle Kriterien fertige Funktionen hat (map/flatMap, reduceByKey, count, sort). IMHO nicht wirklich eine Aufgabe für diesen Thread.
eggy hat geschrieben:@Meilo: Die Frage ist doch viel eher ne ganz normale Frage fürs Forum als was für "hier". Wenn man sagt, "löst es für mich, aber benutzt blos nicht all die coolen Dinge" hat das doch nichts mehr mit dem eigentlichen Grund des Scriptingcontestes zu tun.
So sehe ich das auch...

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Scripting Contest

Beitrag von Meillo » 07.12.2015 15:01:13

r4pt0r hat geschrieben:Huch, gehts schon weiter? Ich dachte Mittwoch wäre die Deadline gewesen...

Hier noch meine beiden Lösungen [...]
Seht ihr, genau das meinte ich! Es ist ein einziges Chaos. :-(
Use ed once in a while!

Antworten