QuoteAndererseits bin ich mir sicher, dass byte-orientierten Datenstrukturen die Zukunft gehört
1
2
3
4
5
6
Benchmark: timing 1000000000 iterations of ByteSemantic, CharSemantic...
ByteSemantic: 5 wallclock secs ( 4.06 usr + -0.02 sys = 4.05 CPU) @ 247157686.60/s (n=1000000000)
CharSemantic: 10 wallclock secs (11.11 usr + 0.00 sys = 11.11 CPU) @ 90017103.25/s (n=1000000000)
Rate CharSemantic ByteSemantic
CharSemantic 90017103/s -- -64%
ByteSemantic 247157687/s 175% --
Quotewenn binary, dann kann man sich evtl. auf Sereal::Encoder bzw. Sereal::Decoder freuen
QuoteLanguage Agnosticism
We want the format to be usable by other languages, especially dynamic languages. In aim of making this easier we have structured our repository so that implementations from other languages can be easily added, and we would welcome any contributions along these lines.
2012-12-03T08:13:54 MuffiIch seh nicht wirklich Tendenzen hin nach Binär.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
package PayPalNVP; # Name Value Pair API use strict; use warnings; use LWP::UserAgent; use HTTP::Request::Common qw(POST); use CGI; use Data::Dumper; sub new{ my $class = shift; my %in = ( USER => 'sdk-three_api1.sdk.com', PWD => 'QFZCWN5HZM8VBG7Q', VERSION => '2.3', SIGNATURE => 'A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU', URL => 'https://api-3t.sandbox.paypal.com/nvp', @_ ); my $self = bless{}, $class; return eval{ $self->{BASE} = \%in; $self->{UA} = LWP::UserAgent->new; $self; }; } sub test{ my $self = shift; my $req = POST $self->{BASE}{URL}, Content => [ USER => $self->{BASE}{USER}, PWD => $self->{BASE}{PWD}, VERSION => $self->{BASE}{VERSION}, SIGNATURE => $self->{BASE}{SIGNATURE}, METHOD => 'SetExpressCheckout', AMT => '10.00', CURRENCYCODE => 'EUR', RETURNURL => 'http://example.com', CANCELURL => 'http://example.com', ]; my $res = $self->{UA}->request($req); # res = Response my $query = CGI->new($res->content); # parse name value pairs my %h = map{ $_ => $query->param($_) }$query->param; print Dumper \%h; } 1;################################################################################################## package main; use strict; use warnings; my $ppa = PayPalNVP->new or die $@; $ppa->test;
1
2
3
4
5
6
7
8
$VAR1 = {
'BUILD' => '4181146',
'CORRELATIONID' => '15b93bef44c34',
'ACK' => 'Success',
'TOKEN' => 'EC-1TF74060KX538702V',
'VERSION' => '2.3',
'TIMESTAMP' => '2012-12-03T18:37:50Z'
};
2012-12-03T18:43:03 rostiAchja, PS: Die Beispielcodes für Java, ColdFusion, PHP und ASP habe ich mir NICHT angeguckt. Aus Protest, weil in der pdf-Datei Perl nicht mit einem Wort erwähnt ist!!!
2012-12-03T20:19:08 GUIfreund2012-12-03T18:43:03 rostiAchja, PS: Die Beispielcodes für Java, ColdFusion, PHP und ASP habe ich mir NICHT angeguckt. Aus Protest, weil in der pdf-Datei Perl nicht mit einem Wort erwähnt ist!!!
Bloß merkt niemand was von diesem Protest. Also was soll's?
2012-12-03T20:46:43 rostiDie ganze API ist so beschrieben, als würde die nur mit Java, CF, PHP und c# zu bedienen sein, das ist eine Beleidigung der Perl-Community ;)
2012-12-04T11:06:37 GUIfreundHast du mich falsch verstanden? Meine Antwort bezog sich nicht auf die Sache selbst. Ich bezweifle den Sinn eines Protests, den niemand bemerkt.
2012-12-03T20:46:43 rostiDie ganze API ist so beschrieben, als würde die nur mit Java, CF, PHP und c# zu bedienen sein, das ist eine Beleidigung der Perl-Community ;)
Vielleicht liegt's ja nur daran, dass der Autor Perl nicht kennt. So Leute soll's geben.
2012-12-04T15:56:40 GwenDragonNett, nur der Content-Type der ausgelieferten Ware ist extrem falsch ;)
QuoteDas Konzept (Anm.: SOAP) verfolgt das Ziel eines leichtgewichtigen Protokolls, aufgrund des flexiblen Einsatzbereiches führt die zu übertragende Datei jedoch eine Reihe von Metadaten mit sich, die bei der Konstruktion des XML-Dokuments hinzugefügt werden. So führt beispielsweise das einfache Versenden von „Wahr“ oder „Falsch“ zu einem Datenvolumen von mehreren hundert Bytes, obwohl in einem stark gekoppelten System theoretisch ein Bit reichen würde.