abonnementen ibood.com bol.com Gearbest
pi_20454193
packages lijkt me een prima idee. Misschien als "case-study" CGI?
  woensdag 7 juli 2004 @ 06:21:40 #152
693 ChOas
** Warning: Choking hazard **
pi_20456335
quote:
Op dinsdag 6 juli 2004 23:16 schreef TimberWolf het volgende:
En wie weet iets over het outputten van HTML? De 'print <<DINGES;" constructie? Het escapen van lastige codes? Wanneer wel en wanneer niet escapen enzo? Het verschil tussen "$string" en '$string'?

(Jah, allemaal dingen die ik inmiddels zelf ontdekt heb )
Die dingen pak ik er ook nog wel even bij

*noteert 'here docs', escapen codes, interpolatie*
"I contend that we are both atheists. I just believe in one fewer god than you do.
When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours."

[Stephen Roberts]
  donderdag 8 juli 2004 @ 17:36:29 #153
693 ChOas
** Warning: Choking hazard **
pi_20493522
Okay, even ingaan op de opmerkingen van TimberWolf:

Allereerst: Here documents

Stel nou dat ik wat HTML uit een Perl programma wil printen... dan kan dat zo:

---
#!/usr/bin/perl -w

use strict;

my $Name='ChOas';

print "<HTML>\n";
print " <H1> Hi there, my name is $Name </H1>\n";
print "</HTML>\n";

---

Nou, dat ziet er makkelijk uit (had ook op 1regel kunnen staan, maar dit vind ik netter...

Output:

ChOas-Computer:~/fok choas$ ./les18
<HTML>
<H1> Hi there, my name is ChOas </H1>
</HTML>


Dat het werkt hadden we wel kunnen raden, maar de HTML code is niet echt duidelijk te zien
tussen de code dus dat sucked... een oplossing daarvoor zijn zogenaamde 'here documents'
Bij een here document geef je door een markering bij de print aan tot waar je wil printen, wanneer Perl dan de markering die je hebt opgegeven tegenkomt stopt het printen...

Als voorbeeldmarkering gebruik ik hier: EINDHTML

---
print <<ENDHTML;
<HTML>
<H1> Hi there, my name is $Name </H1>
</HTML>
ENDHTML

---

En je zal zien dat de output gelijk is aan het vorige voorbeeld... Je HTML code is zo veel beter te zien, en te onderhouden. Dit zijn dus here documents in het kort...

Nu iets over interpolatie.

We hebben gezien dat we de meeste waarden van dingen (behalve getallen) meestal tussen dubbele quotes zetten, dubbele quotes betekent dat Perl variabelen in die string interpoleert, en ze vervangt door de waarde van die variabelen. Wanneer we echter het zooitje tussen enkele quotes gooien dan wordt dit niet gedaan. Zie dit voorbeeld:

---
#!/usr/bin/perl -w

use strict;

my $Name='ChOas';

print "My name is $Name\n";
print 'My name is $Name\n';

---

Output:

ChOas-Computer:~/fok choas$ ./les19
My name is ChOas
My name is $Name\nChOas-Computer:~/fok choas$


Je ziet dus uit het voorgaande voorbeeld dat zelfs de \n niet naar een enter wordt geinterpoleerd, maar echt als \ n gezien wordt.

Nog een voorbeeldje:

---
#!/usr/bin/perl -w

use strict;

my @Colour=('Red','Black','Grey','Green');

print "Colour-double_quote: @Colour";
print "\n";
print 'Colour-single_quote: @Colour';
print "\n";
print 'Colour-no_quote: ';
print @Colour;
print "\n";

---

Ik heb de losse enters er even tussen gezet om het wat duidelijker te maken.

Output:

ChOas-Computer:~/fok choas$ ./les19
Colour-double_quote: Red Black Grey Green
Colour-single_quote: @Colour
Colour-no_quote: RedBlackGreyGreen
ChOas-Computer:~/fok choas$


Hier zie je dus dat Perl een array met dubbele quotes interpoleert door een spatie tussen de elementen te zetten, met gebruik van een enkele quote wordt er niets geinterpoleerd, en zonder quotes worden de waarden uit de array zonder spatie afgedrukt.

Nou, dat was alvast 2 vragen

En dan nu... hoe ga ik in godsnaam uitleggen wat je wel en niet moet escapen ???

Eeerm mijn tip: Probeer eerst zonder iets te escapen, en werkt dat niet, doe het dan wel

Sorry, maar er zijn ZO VEEL verschillende gevallen... ik kan je alleen maar vertellen dat je er gevoel voor moet krijgen. Op een gegeven moment weet je precies wat je waar moet gebruiken.

Als ik wat goeds kan verzinnen over escapen laat ik het weten... maar vooralsnog gaan we hierna eerst het begrip 'scope' behandelen... dingen weten over scope is handig voor wanneer we straks *diepe zucht* packages en OO-Perl gaan behandelen...

"I contend that we are both atheists. I just believe in one fewer god than you do.
When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours."

[Stephen Roberts]
pi_20493907
nog even over die "here documents":

let er op dat je het einde aan het begin van de regel zet:

goed:
-----
  print <<END;
  <html>
  <h1>tekstje</h1>
  </html>
END
-----

goed fout:
-----
  print <<END;
  <html>
  <h1>tekstje</h1>
  </html>
  END
-----

Dat "END", of wat je dan ook hebt gekozen als delimiter, moet dus aan het begin van de regel staan
Trotse poster van het 37000000ste bericht ^O^
pi_20496091
Even pietleut mode aan: de "<<" input redirector operator komt oorspronkelijk uit de borne-shell (en zit in veel moderne shells zoals bash of tcsh). Net als enkele en dubbele quotes. Voor meer informatie hierover kun je dus ook zoeken in de manual van sh (onder linux is dat meestal de borne-again-shell).
pi_20500822
Het is ook goed op te merken dan 'print << END;' niet hetzelfde is als 'print <<END;'. De eerste variant werkt niet, de 2e wel.
  woensdag 14 juli 2004 @ 17:38:57 #157
693 ChOas
** Warning: Choking hazard **
pi_20623179
Ik heb hier heel erg tegenop gezien omdat het concept voor een hoop mensen moeilijk te begrijpen is...

Maarrrrrr... ik proberen vanavond het eerste gedeelte van object georienteerd programeren in Perl te posten...

GrtZ!
"I contend that we are both atheists. I just believe in one fewer god than you do.
When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours."

[Stephen Roberts]
pi_20625263
Yay! Ik ben erg benieuwd!

*gespannen afwacht*
  woensdag 14 juli 2004 @ 21:11:51 #159
693 ChOas
** Warning: Choking hazard **
pi_20626970
Okay... hier gaan we dan, ik ben meer gewend dit uit te leggen op een bord enzo, met tekeningetjes, dus dit gaat lastig worden... ik ga jullie een aantal dingen vertellen en jullie moeten me maar gewoon geloven dat het waar is. bij vragen zal ik dieper ingaan op begrippen zoals namespace enzo.

"Trust in me... said the devil" [ChOas]

We kunnen het hierna veel ingewikkelder maken, maar eerst een korte uitleg wat OO programeren eigenlijk is.

Wat is een object ? ... nou, kijk om je heen, alles bestaat uit objecten, objecten hebben eigenschappen die verbonden zijn aan een object (e.g. een blikje bier (*grin*, ja ik ben om me heen aan het kijken) kan je weggooien, crushen, leegdrinken. Een tv kan je ook weggooien, maar crushen wordt al wat lastiger, en leegdrinken raad ik echt niet aan. Wat het echter wel allebei zijn is gebruiksvoorwerpen.

Dus als we object georienteerd gaan denken hebben we een classe van 'gebruiksvoorwerpen' waar 'blikjes' en 'tvs' deel van uitmaken. blikjes hebben de eigenschap dat ze leeggedronken kunnen worden, en tvs hebben de eigenschap dat ze aan en uit gezet kunnen worden.

Volgen we het nog ?

Mooi, ga ik ff een biertje halen.

... Zo...

Voor de rest van deze uitleg ga ik gebruikmaken van Randal Schwartz's perlboot (OO programeren voor beginners) het zal geen rechtstreekse vertaling zijn, maar ik ga zijn voorbeelden gebruiken, want het tekent hier zo lastig op een bord .

Op de boerderij!

We gaan een aantal subroutines maken om het geluid van verschillende dieren aan te geven, dat doen we als volgt... eerste gedeelte van de naam is de naam van het dier, dan :: en dan het woord geluid (waarom we het zo doen kom ik nog op). Al in de war ? ... Misschien maakt dit het duidelijk:

---
#!/usr/bin/perl -w

use strict;

sub Schaap::geluid
{
print "Een schaap maakt dit geluid: Beeeeeeh\n";
};

sub Koe::geluid
{
print "Een koe maakt dit geluid: Boeoeoeoe\n";
};

sub Kip::geluid
{
print "Een kip maakt dit geluid: Tok Tok Tok\n";
};


Schaap::geluid
Koe::geluid
Kip::geluid

---

BRILJANT!!!... ik kan niet anders zeggen!!!... En de output:

---
ChOas-Computer:~/fok choas$ ./oo1
Een schaap maakt dit geluid: Beeeeeeh
Een koe maakt dit geluid: Boeoeoeoe
Een kip maakt dit geluid: Tok Tok Tok
ChOas-Computer:~/fok choas$
---

Tot zover niets aan de hand...

Dus laten we wat nieuws proberen...

---
#!/usr/bin/perl -w

use strict;
#no strict 'refs';

sub Schaap::geluid
{
print "Een schaap maakt dit geluid: Beeeeeeh\n";
};

sub Koe::geluid
{
print "Een koe maakt dit geluid: Boeoeoeoe\n";
};

sub Kip::geluid
{
print "Een kip maakt dit geluid: Tok Tok Tok\n";
};

for my $Dier ('Koe','Schaap','Koe','Schaap','Kip')
{
&{$Dier . "::geluid"};
};

---

Wat je moet weten is dit... we hebben het al gehad over de-refereren toch ? ... no, zoals je een scalar mer ${} de-refereert, een array met @{}, en een hash met %{} de-refereer je een subroutine met &{}.

Dus in het loopje wat je ziet zal elke keer een nieuw dier voor $_ worden ingevuld, en de functie die daar bij hoort worden uitgevoerd.

...

NOT! Jullie die deze code hebben geprobeert zullen zien dat Perl zo'n soort klacht geeft wanneer we dit proberen: Can't use string ("Koe::geluid") as a subroutine ref while "strict refs" in use at ./oo1 line 22.

Om dit voorbeeld toch te laten werken voegen spelen we even vals, en voegen we "no strict 'refs'" toe onder 'use strict' ... tis valsspelen, en de mensen die geinteresseerd zijn waarom we dit moeten doen moeten het maar vragen...

Maar.. we zien dat de code werkt.

Latgen we het netter doen... Jullie hebben namelijk net jullie eerste 3 objecten gemaakt...

IS DAT ZO CHOAS ????

Ja klas, dat is zo

Door de dubbele punt in de functienaam geef je eigenlijk aan: object :: eigenschap ...
Dat is cool!.. en het leuke is dat je ook direct van eigenschappen gebruik kan maken zonder dat omslachtige de-refereren (waar use strict zo over ging zeiken)

Een eigenschap van een object gebruiken doen we zo object->eigenschap.

Even laten zien:

---
#!/usr/bin/perl -w

use strict;

sub Schaap::geluid
{
print "Een schaap maakt dit geluid: Beeeeeeh\n";
};

sub Koe::geluid
{
print "Een koe maakt dit geluid: Boeoeoeoe\n";
};

sub Kip::geluid
{
print "Een kip maakt dit geluid: Tok Tok Tok\n";
};

for my $Dier ('Koe','Schaap','Koe','Schaap','Kip')
{
$Dier->geluid;
};

---

Output:

---
ChOas-Computer:~/fok choas$ ./oo1
Een koe maakt dit geluid: Boeoeoeoe
Een schaap maakt dit geluid: Beeeeeeh
Een koe maakt dit geluid: Boeoeoeoe
Een schaap maakt dit geluid: Beeeeeeh
Een kip maakt dit geluid: Tok Tok Tok
ChOas-Computer:~/fok choas$
---

Nou, dat was het allereerste gedeeltje object georienteerd programeren... deze voorbeelden waren nog totaal nutteloos, maar ik zal later laten zien hoe we door een nieuw object 'Dier' te maken we hier de code kunnen vereenvoudigen, en nog veel meer leuke dingen kunnen doen.

Nu eerst mijn biertje opdrinken, en misschien zo nog een deel
"I contend that we are both atheists. I just believe in one fewer god than you do.
When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours."

[Stephen Roberts]
  woensdag 14 juli 2004 @ 22:01:09 #160
693 ChOas
** Warning: Choking hazard **
pi_20628318
ChOas, ChOas!!!

Jaaaaa ??

Wanneer we de eigenschap van een object aanroepen, staat er dan net zoals bij een functie wat in
@_ ???? ...

Nou... laten we eens kijken:

---
[i]#!/usr/bin/perl -w

use strict;

sub Schaap::geluid
{
print "\@_ is: @_\n";
print "Een schaap maakt dit geluid: Beeeeeeh\n";
};

sub Koe::geluid
{
print "\@_ is: @_\n";
print "Een koe maakt dit geluid: Boeoeoeoe\n";
};

sub Kip::geluid
{
print "\@_ is: @_\n";
print "Een kip maakt dit geluid: Tok Tok Tok\n";
};

for my $Dier ('Koe','Schaap','Kip')
{
$Dier->geluid;
};

---

En de output:

---
ChOas-Computer:~/fok choas$ ./oo2
@_ is: Koe
Een koe maakt dit geluid: Boeoeoeoe
@_ is: Schaap
Een schaap maakt dit geluid: Beeeeeeh
@_ is: Kip
Een kip maakt dit geluid: Tok Tok Tok
ChOas-Computer:~/fok choas$
---

Hmmmmmmm is dat eens interessant, het eerste elemennt van @_ is het type object wat we aanroepen...

Laten we de code eens zo herschrijven:

---

#!/usr/bin/perl -w

use strict;

sub Schaap::geluid
{
my $DitDier=shift;
print "Een $DitDier maakt dit geluid: Beeeeeeh\n";
};

sub Koe::geluid
{
my $DitDier=shift;
print "Een $DitDier maakt dit geluid: Boeoeoeoe\n";
};

sub Kip::geluid
{
my $DitDier=shift;
print "Een $DitDier maakt dit geluid: Tok Tok Tok\n";
};

for my $Dier ('Koe','Schaap','Kip')
{
$Dier->geluid;
};

---

Met de output:

---
ChOas-Computer:~/fok choas$ ./oo2
Een Koe maakt dit geluid: Boeoeoeoe
Een Schaap maakt dit geluid: Beeeeeeh
Een Kip maakt dit geluid: Tok Tok Tok
ChOas-Computer:~/fok choas$
---

Hmmmmmm... ziet er goed uit... de functies van de dieren gaan meer en meer op elkaar lijken...

Nog een stapje verder, we maken voor elk dier een subroutine 'lawaai' welke alleen maar het lawaai van het dier teruggeeft... maarja, elke subroutine 'lawaai' moet iets specifieks voor een bepaald dier terug geven. en hoe weet Perl nou welk 'lawaai' bij welk dier hoort ?

Antwoord: packages...

Ik ga even niet in op de details (vragen staat vrij), maar een package is een specifieke namespace voor een object waarbinnen alle variabelen en functies alleen maar toepassing hebben op dat specifieke object (heb je 'm nog?) ... is zo heel moeilijk uitleggen dit, maar neem dit van me aan:

We zeggen eigenlijk dat een package een object is... dus een Koe omschrijven we zo:

{
package Schaap;
sub Lawaai { return 'Beeeeeeh' };
sub Geluid
{
my $DitDier=shift;
print "Een $DitDier maakt dit geluid: ", $DitDier->Lawaai, "!\n";
}
};


Dus het object Schaap heeft 2 aan zich verbonden eigenschappen: Lawaai en Geluid.

Weer even de totale code zoals we hem dan nu hebben:

---
#!/usr/bin/perl -w

use strict;

{
package Schaap;
sub Lawaai { return 'Beeeeeeh' };
sub Geluid
{
my $DitDier=shift;
print "Een $DitDier maakt dit geluid: ", $DitDier->Lawaai, "!\n";
}
};

{
package Koe;
sub Lawaai{ return 'Boeoeoeoe' };
sub Geluid
{
my $DitDier=shift;
print "Een $DitDier maakt dit geluid: ", $DitDier->Lawaai, "!\n";
}
};

{
package Kip;
sub Lawaai{ return 'Tok Tok Tok' };
sub Geluid
{
my $DitDier=shift;
print "Een $DitDier maakt dit geluid: ", $DitDier->Lawaai, "!\n";
}
};

for my $Dier ('Koe','Schaap','Kip')
{
$Dier->Geluid;
};


---

Het lijkt wel of we alleen maar meer en meer code schrijven he ? ... klopt ... maar wat valt er nou op aan de code die we nu hebben ?

Nou... dat Geluid universeel is... stel je voor dat we een varken toevoegen, verandert Lawaai wel, maar Geluid is ook weer voor een varken precies hetzelfde... Sterker nog... Geluid zou voor elk dier hetzelfde zijn, het is alleen maar het Lawaai wat varieert...

Wacht eens even... ELK DIER produceert geluid, dus geluid is eigenlijk een hogere functie welke dieren met elkaar delen!!!

DAAR GAAN WE GEBRUIK VAN MAKEN!!!

@ISA

Dit moet je lezen als IS A (Is een) ... We gaan een package 'Dier' maken met als eigenschap 'Geluid', en dan hoeven wel alleen maar tegen de kip, koe, en het schaap te zeggen dat ze een dier zijn!!!

Dus we gaan zeggen een Koe IS EEN Dier...

Verward ?

De code:

---
#!/usr/bin/perl -w

use strict;

{
package Dier;
sub Geluid
{
my $DitDier=shift;
print "Een $DitDier maakt dit geluid: ", $DitDier->Lawaai, "!\n";
}
};

{
package Schaap;
@Schaap::ISA='Dier';
sub Lawaai { return 'Beeeeeeh' };
};

{
package Koe;
@Koe::ISA='Dier';
sub Lawaai{ return 'Boeoeoeoe' };
};

{
package Kip;
@Kip::ISA='Dier';
sub Lawaai{ return 'Tok Tok Tok' };
};

for my $Dier ('Koe','Schaap','Kip')
{
$Dier->Geluid;
};

---

Dit heet erven, sinds een Koe een dier is, erft een Koe de eigenschap 'Geluid' van Dier...

Tot nu toe heb je hier nog helemaal niets aan, maar binnenkort (waarschijnlijk zaterdag ochtend) zal ik het volgende deel schrijven en dan gaan we nog wat leuke en interessante dingetjes bekijken bij objecten...

Ik weet dat deze laatste 2 dingen vrij lastig te volgen waren, maar geloof me, het gaat echt logischer worden...

Komende dagen heb ik hopelijk wel tijd om vragen te beantwoorden, dus mocht er iets zijn: Vraag het
"I contend that we are both atheists. I just believe in one fewer god than you do.
When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours."

[Stephen Roberts]
  donderdag 15 juli 2004 @ 07:43:27 #161
693 ChOas
** Warning: Choking hazard **
pi_20634896
Dat enthousiasme!

Ik ga werken, kijk vanavond wel of er vragen zijn, en MISSCHIEN (afhankelijk van alcohol gebruik nog een 3e deel OO programeren...
"I contend that we are both atheists. I just believe in one fewer god than you do.
When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours."

[Stephen Roberts]
pi_20635023
quote:
Op woensdag 14 juli 2004 21:11 schreef ChOas het volgende:
Wat je moet weten is dit... we hebben het al gehad over de-refereren toch ? ... no, zoals je een scalar mer ${} de-refereert, een array met @{}, en een hash met %{} de-refereer je een subroutine met &{}.
Hebben we het over de-refereren gehad?

Verder denk ik gewoon duidelijk. Is alleen in deze context wel lastig om te zien wat daar een praktische toepassing van zou zijn. De laatste keer dat ik snel moest uitzoeken wat voor geluid een boerderijdier maakte was ik ongeveer 3 Niets ten nadele overigens, de uitleg is prima. Misschien is het handig om bij dit soort onderwerpen aan te geven waarvoor het gebruikt kan worden? (Template engines bijvoorbeeld)
pi_20635027
Eindelijk OO

Ben blij dat ik het concept van OO al begrijp
Als ik vanmiddag terug kom van mn werk ga ik het meteen ff een beetje uitproberen!

thanks Ch0as!
Trotse poster van het 37000000ste bericht ^O^
pi_20635052
Voor de mensen die nog steeds nix snappen van het hele OO concept heb ik hier hoofdstuk 1 uit een C++ tutorial: http://www.briceg.com/ticpp/one/Chapter01.html

Hierin wordt heel gedetailleerd het wat, hoe en waarom uitgelegd. Da's waar ik het zelf ook uit heb geleerd
Trotse poster van het 37000000ste bericht ^O^
  donderdag 15 juli 2004 @ 22:33:04 #165
693 ChOas
** Warning: Choking hazard **
pi_20652670
quote:
Op donderdag 15 juli 2004 08:11 schreef TimberWolf het volgende:

[..]

Hebben we het over de-refereren gehad?
Ja :
quote:
Antwoord: de-refereren

Voor een array als volgt: @{$ArrayRef};
Voor een hash: %{$HashRef};
Uit: Leer hier Perl (8 Juni)
"I contend that we are both atheists. I just believe in one fewer god than you do.
When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours."

[Stephen Roberts]
  donderdag 15 juli 2004 @ 22:43:28 #166
693 ChOas
** Warning: Choking hazard **
pi_20652911
Ben trouwens niet coherent genoeg voor deel 3 van OO programeren, dus dat volgt Zaterdag ochtend...
"I contend that we are both atheists. I just believe in one fewer god than you do.
When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours."

[Stephen Roberts]
pi_20653425
Mensen die ongeduldig zijn kunnen overigens ook man perlboot doen.
pi_20655545
quote:
Op donderdag 15 juli 2004 22:33 schreef ChOas het volgende:

[..]

Ja :
[..]

Uit: Leer hier Perl (8 Juni)
Ho, pardon Was niet blijven hangen

Hele OO gebeuren fascineert me mateloos. Hergebruiken van code, en het hele object gebeuren, super!

Los vraagje: Gaan we het op een gegeven moment ook nog over sockets hebben? Lijkt me namelijk ook wel stoer
  vrijdag 16 juli 2004 @ 06:29:29 #169
693 ChOas
** Warning: Choking hazard **
pi_20658040
quote:
Op vrijdag 16 juli 2004 00:25 schreef TimberWolf het volgende:

[..]

Ho, pardon Was niet blijven hangen

Hele OO gebeuren fascineert me mateloos. Hergebruiken van code, en het hele object gebeuren, super!

Los vraagje: Gaan we het op een gegeven moment ook nog over sockets hebben? Lijkt me namelijk ook wel stoer
Ja, we gaan het over sockets hebben ... Komt hierna

Bij het hoofdstuk 'gebruik van modules' ... Sockets, CGI, etc, etc, etc... Ik zit er over te denken om (lijkt me leuk samen met mensen die het leuk lijken) een IRC-bot te bouwen ofzo... dus dat jullie features aandragen en ideeeen om ze te implementeren en dan kijken hoe dat het beste te doen, inclusief webstats bijhouden enzo...

Lijkt jullie dat wat ?
"I contend that we are both atheists. I just believe in one fewer god than you do.
When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours."

[Stephen Roberts]
pi_20658444
quote:
Op vrijdag 16 juli 2004 06:29 schreef ChOas het volgende:

[..]

Ja, we gaan het over sockets hebben ... Komt hierna

Bij het hoofdstuk 'gebruik van modules' ... Sockets, CGI, etc, etc, etc... Ik zit er over te denken om (lijkt me leuk samen met mensen die het leuk lijken) een IRC-bot te bouwen ofzo... dus dat jullie features aandragen en ideeeen om ze te implementeren en dan kijken hoe dat het beste te doen, inclusief webstats bijhouden enzo...

Lijkt jullie dat wat ?
Heb ik helaas al gedaan
In low-level sockets nog wel Eentje die tegerlijk ook nog allemaal ftpconnecties open had enzo. Met nonblocking sockets, waarbij hij ze allemaal 1 voor 1 steeds langs ging om te kijken of er nog iets nieuws was
Trotse poster van het 37000000ste bericht ^O^
  vrijdag 16 juli 2004 @ 08:51:30 #171
693 ChOas
** Warning: Choking hazard **
pi_20658560
quote:
Op vrijdag 16 juli 2004 08:34 schreef daReaper het volgende:

[..]

Heb ik helaas al gedaan
In low-level sockets nog wel Eentje die tegerlijk ook nog allemaal ftpconnecties open had enzo. Met nonblocking sockets, waarbij hij ze allemaal 1 voor 1 steeds langs ging om te kijken of er nog iets nieuws was


Okay, wat wil JIJ dan doen ?

Ik probeer ook maar wat te verzinnen, input is welkom hoor...

Hou je er wel rekening mee dat er een aantal mensen zijn die dit topic volgen tot 1.5 maand
geleden dachten dat iemand het over een brillenzaak had wanneer je 'Perl' zei ?
"I contend that we are both atheists. I just believe in one fewer god than you do.
When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours."

[Stephen Roberts]
pi_20658583
quote:
Op vrijdag 16 juli 2004 08:51 schreef ChOas het volgende:

[..]



Okay, wat wil JIJ dan doen ?

Ik probeer ook maar wat te verzinnen, input is welkom hoor...

Hou je er wel rekening mee dat er een aantal mensen zijn die dit topic volgen tot 1.5 maand
geleden dachten dat iemand het over een brillenzaak had wanneer je 'Perl' zei ?
Nee sockets zijn goed hoor Ik geef alleen te kennen dat ik ze al ken Mij hoor je verder niet klagen Je doet het zeer goed. Iedereen wil altijd maar PHP leren, omdat het makkeliker is, terwijl Perl gewoon beter is. Goeie zaak
Trotse poster van het 37000000ste bericht ^O^
  vrijdag 16 juli 2004 @ 11:11:54 #173
50936 The_Hives
Is nu tripple oom Hives O+ !!!
pi_20660352
tvp
AFC AJAX Kampioen 2012-2013
Fok! Federatie
1918,1919,1931,1932,1934,1937,1939,1947,1957,1960,1966,1967,1968,1970,1972,1973,1977,1979,1980 1982,1983,1985,1990,1994,1995,1996,1998,2002,2004,2011,2012,2013
pi_20660819
quote:
Op vrijdag 16 juli 2004 08:34 schreef daReaper het volgende:
nonblocking sockets, waarbij hij ze allemaal 1 voor 1 steeds langs ging om te kijken of er nog iets nieuws was
Als er geen select-achtige (ala select(2)) functie in perl zit, is het imho geen geschikte taal voor sockets en die is er gelukkig wel, scheelt een hoop werk

Voor het vervolg van de cursus zou gedacht kunnen worden aan bv
  • verder gaan met OO, ik weet niet of dat te hoog gegrepen is
  • sockets, is imho niet zo interresant onderwerp. Stream-sockets zijn als ze geopened zijn net filedescriptors. Wordt interresant als je er een applicatie omheen hangt, zoals bv een chat-servertje, maar dan wordt het weer te lang.
  • databases, misschien leuk, misschien niet. Vraagt alleen wel van de student dat hij bv mysql heeft geinstalleerd.
  • cgi, kan ook leuk zijn, maar erg praktisch gericht.

    Iemand nog meer ideeen?
  •   vrijdag 16 juli 2004 @ 16:12:00 #175
    693 ChOas
    ** Warning: Choking hazard **
    pi_20666329
    Voor de IRCers:

    irc.fok.nl / #leerhierperl



    Ben een beetje aan het experimenteren daar
    "I contend that we are both atheists. I just believe in one fewer god than you do.
    When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours."

    [Stephen Roberts]
    abonnementen ibood.com bol.com Gearbest
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')