[alg] Slechtste programmeervoorbeelden deel 4 Vorige deel Overzicht Laatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1 ... 35 ... 103 Laatste
Acties:
  • 993.658 views

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 04-10 16:37

Dido

heforshe

naam schreef op woensdag 15 september 2010 @ 21:20:
Zelf vanmiddag ook een mooie geschreven:
[..]
Kan vast veel efficiënter, maar dit is deels leraartje-pesten aangezien ik de opdracht niet boeiend vind :+
Als je je leraar wilt pesten maak je er een obscuur geheel van, ik denk bijvoorbeelde aan een recursieve functie die eerst per paar het gemiddelde berekent (dus HC delen door twee), en dat over de resultset blijft uitvoeren tot er maar 1 element over is.

Nu doe je wel moeilijker dan nodig is, maar bij lange na niet zo moeilijk als het zou kunnen :+

Wat betekent mijn avatar?


Verwijderd

als je je leraar wil pesten maak je het gehele avr practicum in assembler :+ snapt ie vast geen reet van O-)

/me raises hand

  • Vinnienerd
  • Registratie: Juli 2000
  • Laatst online: 10:07
Sebazzz schreef op woensdag 15 september 2010 @ 22:02:
[...]

Alleen als je dat doet, je van .NET methodes afblijft in het proces want die eten meestal alleen 32-bit of 64-bit integers dus dan raak je alsnog een hoop kwijt. De vraag is als geheugen zo belangrijk is, waarom je bepaalde componenten niet in een lagere taal zoals C++ implementeert.
Als ik het over unsigned ints heb, heb ik het natuurlijk niet alleen maar over C#. Het is nou niet echt de taal van het low-level optimaliseren.
Nooit opgelet bij vakken zoals hardware of computersystemen? :+ Nooit in ASM geprogrammeerd? :+
Ben 1e jaars HBOer ;) ASM krijg je volgens mij alleen als je voor embedded kiest 8)

Verwijderd

Dido schreef op woensdag 15 september 2010 @ 22:11:
[...]
Nu doe je wel moeilijker dan nodig is, maar bij lange na niet zo moeilijk als het zou kunnen :+
Of excel afschieten en daarmee aan de gang gaan :)

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 27-09 22:01
Men neme C++ code en Objective-C omgeving. Eventjes een bestandje openen hoor:

C++:
1
std::ifstream lvlPack([[[NSBundle mainBundle] pathForResource:@"ww1" ofType:@"lvls"] UTF8String], std::ios_base::binary|std::ios_base::in);


Heerlijk, een app in C++ schrijven voor de iPad/iPod/iPhone :P

Voor readability maar opgesplit in enkele regels:
C++:
1
2
3
4
NSString * filePath = [[NSBundle mainBundle] pathForResource:@"ww1"
                                                      ofType:@"lvls"];
std::ifstream lvlPack([filePath UTF8String],
                      std::ios_base::binary|std::ios_base::in);


Dat C++ en Objective-C mengen maakt het wel erg gezellig met al die kleurtjes :P

[ Voor 6% gewijzigd door Gamebuster op 15-09-2010 22:47 ]

Let op: Mijn post bevat meningen, aannames of onwaarheden


Verwijderd

Vinnienerd schreef op woensdag 15 september 2010 @ 22:21:
Ben 1e jaars HBOer ;) ASM krijg je volgens mij alleen als je voor embedded kiest 8)
tsja, gelukkig heb ik het hele jaar 5 havo verspild om DOS games naar de z80 te porten _O-

trouwens, technische informatica? dan krijg je precies 2 lessen (avr) asm, bij les 3 was iedereen overgegaan op avr-gcc.
da's ook leuk trouwens: een lcd'tje aansturen zonder fatsoenlijke documentatie in asm...

  • Vinnienerd
  • Registratie: Juli 2000
  • Laatst online: 10:07
Verwijderd schreef op woensdag 15 september 2010 @ 22:46:
[...]


tsja, gelukkig heb ik het hele jaar 5 havo verspild om DOS games naar de z80 te porten _O-

trouwens, technische informatica? dan krijg je precies 2 lessen (avr) asm, bij les 3 was iedereen overgegaan op avr-gcc.
da's ook leuk trouwens: een lcd'tje aansturen zonder fatsoenlijke documentatie in asm...
De hogeschool waar ik op zit maakt 't niet uit of je je voor IT of TI hebt ingeschreven, uiteindelijk is Technical Computing gewoon een stroming die je voor je afstudeerfase kiest. _O-

Al is ASM kennen voor microcontrollers wel retehandig, ik denk dat meteen met C beginnen niet zo'n ramp is, zolang je maar weet welke registers je bitwise moet "behandelen" :P

Verwijderd

dat weet niemand dus, ze komen altijd naar mij :+

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

Sebazzz schreef op woensdag 15 september 2010 @ 22:02:
[...]

Alleen als je dat doet, je van .NET methodes afblijft in het proces want die eten meestal alleen 32-bit of 64-bit integers dus dan raak je alsnog een hoop kwijt. De vraag is als geheugen zo belangrijk is, waarom je bepaalde componenten niet in een lagere taal zoals C++ implementeert.
Ik heb het niet over functieparameters, ik heb het over members in classes en structs. En het ging me tevens niet om geheugengebruik, maar om performance (door minder geheugen te gebruiken heb je ook minder cache misses). Waarom zou je per se C++ gaan gebruiken als je ook winst binnen je managed omgeving kunt boeken?

[ Voor 89% gewijzigd door .oisyn op 15-09-2010 23:28 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • dwilmer
  • Registratie: Oktober 2008
  • Laatst online: 25-01 09:50
Verwijderd schreef op woensdag 15 september 2010 @ 22:18:
als je je leraar wil pesten maak je het gehele avr practicum in assembler :+ snapt ie vast geen reet van O-)

/me raises hand
Als je je leraar echt wilt pesten, pak je een taal als brainfuck of iets nog ergers.
Kost wat moeite, maar dan komt je leraar er echt niet meer uit. Zeker als je het geheel in een verhaal verpakt >:)

Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 27-09 22:01
dwilmer schreef op vrijdag 17 september 2010 @ 20:41:
[...]


Als je je leraar echt wilt pesten, pak je een taal als brainfuck of iets nog ergers.
Kost wat moeite, maar dan komt je leraar er echt niet meer uit. Zeker als je het geheel in een verhaal verpakt >:)
Brainfuck is awesome :P

Heb ik ook eens mee gekloot :P

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-10 08:45
dwilmer schreef op vrijdag 17 september 2010 @ 20:41:
[...]


Als je je leraar echt wilt pesten, pak je een taal als brainfuck of iets nog ergers.
Kost wat moeite, maar dan komt je leraar er echt niet meer uit. Zeker als je het geheel in een verhaal verpakt >:)
LOLCODE, ook een leuke :P

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Vinnienerd schreef op woensdag 15 september 2010 @ 22:56:
[...]
Al is ASM kennen voor microcontrollers wel retehandig, ik denk dat meteen met C beginnen niet zo'n ramp is, zolang je maar weet welke registers je bitwise moet "behandelen" :P
Ook voor Microcontrollers heb je niet vaak ASM nodig, je moet sowieso goed nadenken over welke resources je tot je beschikking hebt, en hoe je die het best in kunt zetten. Maar met C kun je perfect uit de voeten. ASM heeft alleen zin om erg specifieke stukken code die erg veel aangeroepen worden te optimaliseren.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

zeker bij de kleinere processoren (atmel tiny's ) is ASM wel erg handig, komt toch een stuk kleinere code uit dan bv via C in codevision oid.

ok via C is het zelfde programma in 10% vd tijd geschreven als in ASM

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op zaterdag 18 september 2010 @ 12:18:
zeker bij de kleinere processoren (atmel tiny's ) is ASM wel erg handig, komt toch een stuk kleinere code uit dan bv via C in codevision oid.

ok via C is het zelfde programma in 10% vd tijd geschreven als in ASM
Dan is het gewoon een erg slechte compiler, of heb je de optimalisatie niet goed ingesteld. Ik zeg niet dat het altijd onmogelijk is om kleinere code te maken met ASM, maar je zult toch aardig je best moeten doen om te winnen van een goede compiler die ingesteld staat voor optimalisatie van size. Of je bent gewoon daadwerkelijk op een andere manier te werk gegaan.

Ik heb met WinAvr in ieder geval nog niet gemerkt dat er enorm grote binaries uit komen. Maar misschien dat je gewoon te veel libraries gebruikt, en dat het daarom een stuk groter word.

[ Voor 11% gewijzigd door Woy op 18-09-2010 12:32 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • PiepPiep
  • Registratie: Maart 2002
  • Laatst online: 18-01-2023
Als je echt een kleine executable wilt hebben moet je deze lezen :
http://www.muppetlabs.com...software/tiny/teensy.html

486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 02-10 16:55
:+ als ze dat nu eens met alle software deden...


...kwam er nooit meer wat af :D. Een 100 maal kleinere .exe klinkt goed, maar in dit geval is het wat triviaal.

Acties:
  • 0 Henk 'm!

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 04-10 12:10
Neemt niet weg dat er soms best eens wat geoptimaliseerd kan worden, Photoshop CS4 volledige geïnstalleerd is ook ongeveer 300MB, maar een 'portable' versie kan zelfs verkleind worden tot 45MB!

Nu ben ik wel van mening dat 300MB nog steeds niet excessief veel is voor een programma als Photoshop.

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 08:57

Matis

Rubber Rocket

alex3305 schreef op maandag 20 september 2010 @ 16:53:
Neemt niet weg dat er soms best eens wat geoptimaliseerd kan worden, Photoshop CS4 volledige geïnstalleerd is ook ongeveer 300MB, maar een 'portable' versie kan zelfs verkleind worden tot 45MB!

Nu ben ik wel van mening dat 300MB nog steeds niet excessief veel is voor een programma als Photoshop.
De installer van PS CS4 is al 800 MB :P

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Greyfox
  • Registratie: Januari 2001
  • Laatst online: 03-10 13:26

Greyfox

MSX rulez

Verwijderd schreef op woensdag 15 september 2010 @ 22:18:
als je je leraar wil pesten maak je het gehele avr practicum in assembler :+ snapt ie vast geen reet van O-)
Knap als je zelf een assembler schrijft!
Volgens mij bedoel je assembly :)

MSX 2 rulez more


Acties:
  • 0 Henk 'm!

  • joppybt
  • Registratie: December 2002
  • Laatst online: 04-10 14:17
Matis schreef op maandag 20 september 2010 @ 17:04:
[...]

De installer van PS CS4 is al 800 MB :P
Oracle voor Windows versie 10.2.0.3 is 760MB. Oké, het is een groot pakket.
Echter, versie 10.2.0.4 is alleen beschikbaar als patch van 10.2.0.3 --> 10.2.0.4. Deze update(!) is 986MB. De patch is dus groter dan het origineel maar je moet wel eerst het origineel installeren.

Acties:
  • 0 Henk 'm!

  • joppybt
  • Registratie: December 2002
  • Laatst online: 04-10 14:17
Greyfox schreef op maandag 20 september 2010 @ 17:12:
[...]
Knap als je zelf een assembler schrijft!
Been there, done that :)

Welbeschouwd is een assembler voor een relatief simpele processor als een Z80 niet zo heel moeilijk. Er zit een zeer grote regelmaat in de vertaling mnemonic-->bytes en met een aantal handige tabellen kom je een heel eind.

Acties:
  • 0 Henk 'm!

  • doskabouter
  • Registratie: Oktober 2004
  • Laatst online: 02-10 17:08
Ik heb in de goede oude dos-tijd ook behoorlijk wat zitten crunchen, oa een app die "beep" doet in 7 bytes...

Maar dat zijn m.i. eerder "Beste programmeervoorbeelden" dan "Slechtste"

Het grote voordeel van windows is dat je meer dos-boxen kan openen


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

Maar in DOS kon dat, een .com file is puur en alleen code, het heeft geen enkele signature en headers zoals een exe of een elf

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

debug hello.com
a
mov ah,9
mov dx,108
int 21
ret
db 'hello, world$'

rcx
15
w
q

Dat waren nog eens tijden. Jammer dat het niet meer in Win7 zit, ontdek ik net.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

't Zat sowieso al niet meer in de 64 bit versies van oudere Windowsen. Of schrijf je dat met een z? Dus draai je de 32 bits versie?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Phyxion
  • Registratie: April 2004
  • Niet online

Phyxion

_/-\o_

"How many executables have you created lately that you can say that about?"
0, en dat hou ik graag zo :) Overigens bijna het hele artikel doorgelezen, wel interessant :)

@.oisyn, het is 1 Windows, 2 Windows' volgens de Nederlandse spelling :)

[ Voor 8% gewijzigd door Phyxion op 20-09-2010 23:25 ]

'You like a gay cowboy and you look like a gay terrorist.' - James May


Acties:
  • 0 Henk 'm!

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Ik heb 64bit zie ik, vandaar.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Acties:
  • 0 Henk 'm!

  • Vinnienerd
  • Registratie: Juli 2000
  • Laatst online: 10:07
.oisyn schreef op maandag 20 september 2010 @ 23:07:
Maar in DOS kon dat, een .com file is puur en alleen code, het heeft geen enkele signature en headers zoals een exe of een elf
Dus als je geen DOS interrupts aanroept in die code, en er zelf een ELF header omheen knutselt, zou je in principe een Linux executable hebben? Of denk ik dan te makkelijk?

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ja. COM executables zijn namelijk 16 bit ;)
(En x84-64 ondersteunt in 64 bits long-mode geen virtual 8086 mode, vandaar dat 64 bits versies van Windows het niet (kunnen) ondersteunen)

[ Voor 62% gewijzigd door .oisyn op 21-09-2010 02:32 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Heerlijk. Een database waar ik nu tegenaan moet programmeren is op zich redelijk abstract opgezet. Je hebt zo bijvoorbeeld een tabel 'Levende Wezens', die verschillende eigenschappen bevat die alle levende wezens delen.

Per specifieke afwijking is vaak een koppeltabel opgesteld, zoals bijvoorbeeld de tabel 'Dieren', waarbij elk dier gekoppeld is middels een LevendWezenID. Toch jammer dat er dan weer kolommen in de tabel 'Dieren' staan die Longen en Kiewen heten. Bij het ene dier zijn die kolommen gevuld met 'J' respectievelijk NULL, bij een ander is het weer andersom. Dat programmeert wat vervelend. In de Stored Procedure InsertDier moet ik daar dan omheen gaan programmeren.

Ik zou dan liever een kolom 'Ademhaling' hebben, en die vullen met 'L' danwel 'K'. Maar op zich is dat nog te doen. Totdat je in dezelfde tabel de kolommen Poot1 tot en met Poot1000 tegenkomt... je weet immers nooit 8)7

[ Voor 8% gewijzigd door CodeCaster op 21-09-2010 11:24 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
CodeCaster schreef op dinsdag 21 september 2010 @ 11:20:
Heerlijk. Een database waar ik nu tegenaan moet programmeren is op zich redelijk abstract opgezet. Je hebt zo bijvoorbeeld een tabel 'Levende Wezens', die verschillende eigenschappen bevat die alle levende wezens delen.

Per specifieke afwijking is vaak een koppeltabel opgesteld, zoals bijvoorbeeld de tabel 'Dieren', waarbij elk dier gekoppeld is middels een LevendWezenID. Toch jammer dat er dan weer kolommen in de tabel 'Dieren' staan die Longen en Kiewen heten. Bij het ene dier zijn die kolommen gevuld met 'J' respectievelijk NULL, bij een ander is het weer andersom. Dat programmeert wat vervelend. In de Stored Procedure InsertDier moet ik daar dan omheen gaan programmeren.

Ik zou dan liever een kolom 'Ademhaling' hebben, en die vullen met 'L' danwel 'K'. Maar op zich is dat nog te doen. Totdat je in dezelfde tabel de kolommen Poot1 tot en met Poot1000 tegenkomt... je weet immers nooit 8)7
Waarom maak je dan geen tabellen met amfibieën, reptielen, etc? :D

Wat dat betreft is het dierenrijk zo onderverdeeld in soort, geslacht, familie, etc.. dat je dat zo in tabellen kunt gieten. :)

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Het was een vereenvoudiging, uiteraard niet de letterlijke situatie.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024

CMG

CodeCaster schreef op dinsdag 21 september 2010 @ 11:20:
Heerlijk. Een database waar ik nu tegenaan moet programmeren is op zich redelijk abstract opgezet. Je hebt zo bijvoorbeeld een tabel 'Levende Wezens', die verschillende eigenschappen bevat die alle levende wezens delen.

Per specifieke afwijking is vaak een koppeltabel opgesteld, zoals bijvoorbeeld de tabel 'Dieren', waarbij elk dier gekoppeld is middels een LevendWezenID. Toch jammer dat er dan weer kolommen in de tabel 'Dieren' staan die Longen en Kiewen heten. Bij het ene dier zijn die kolommen gevuld met 'J' respectievelijk NULL, bij een ander is het weer andersom. Dat programmeert wat vervelend. In de Stored Procedure InsertDier moet ik daar dan omheen gaan programmeren.

Ik zou dan liever een kolom 'Ademhaling' hebben, en die vullen met 'L' danwel 'K'. Maar op zich is dat nog te doen. Totdat je in dezelfde tabel de kolommen Poot1 tot en met Poot1000 tegenkomt... je weet immers nooit 8)7
Waarom J = true, NULL = false als je gewoon met een bitje kan werken? Beetje jammer van de ruimte...

NKCSS - Projects - YouTube


Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Mijn belachelijkste code ooit wanneer ik een manier zocht om zelf niet-positionele parameters te maken:

code:
1
2
3
4
5
6
7
$inputParameter = $([system.string]::Join(" ",$args)).ToLower()
$arrParameter = [regex]::split($inputParameter,"\s") 
If ($arrParameter -Contains "/c"){$userProvidedCredential = $true}
If ($arrParameter -Contains "/l"){$userProvidedLogFile    = $true; $userProvidedLogFileName   = $arrParameter[$(([array]::IndexOf($arrParameter, '/l'))+1)]}
If ($arrParameter -Contains "/h"){$userProvidedHost       = $true; $userProvidedHostName      = $arrParameter[$(([array]::IndexOf($arrParameter, '/h'))+1)]}
If ($arrParameter -Contains "/f"){$userProvidedInputFile  = $true; $userProvidedInputFileName = $arrParameter[$(([array]::IndexOf($arrParameter, '/f'))+1)]}
If ($arrParameter -Contains "/?"){$startHelpFile          = $true}


Wat uiteraard veel gemakkelijker kon als:

code:
1
2
3
4
5
If ($args -Contains "/c"){$userProvidedCredential = $true}
If ($args -Contains "/l"){$userProvidedLogFile    = $true; $userProvidedLogFileName   = $args[$(([array]::IndexOf($args, '/l'))+1)]}
If ($args -Contains "/h"){$userProvidedHost       = $true; $userProvidedHostName      = $args[$(([array]::IndexOf($args, '/h'))+1)]}
If ($args -Contains "/f"){$userProvidedInputFile  = $true; $userProvidedInputFileName = $args[$(([array]::IndexOf($args, '/f'))+1)]}
If ($args -Contains "/?"){$startHelpFile          = $true}


Een array omzetten naar string om er dan weer een array van te maken… 8)7 Tijd om te stoppen - vermoeidheid slaat toe.

Edit: oh fuck, door dit te posten zie ik dat ik case insensitive over het hoofd gezien heb.

[ Voor 3% gewijzigd door YellowOnline op 21-09-2010 22:44 ]


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
We hebben er weer eentje:

PHP:
1
2
3
4
5
6
7
8
9
10
11
function previousYears()
{
    $date = date("Y");

    for ($d == 1; $d < 8; $d++)
    {
        $previousYears[] = date("Y", strtotime("$date -$d year"));
    }

    return $previousYears;
}

Noushka's Magnificent Dream | Unity


  • Noxious
  • Registratie: Juli 2002
  • Laatst online: 01-10 23:03
YellowOnline schreef op dinsdag 21 september 2010 @ 22:44:
Mijn belachelijkste code ooit wanneer ik een manier zocht om zelf niet-positionele parameters te maken:
[...]
Mijn methode is vast niet netjes maar ik los dat altijd op met een explode op spaties, een for loopje door die array en een switch/case blok.
Als er dan nog een optionele parameter is (bijv /foo bar.txt oid) dan doe ik in de switch ook de volgende parameter uitlezen en de loop counter ++ zodat ie bij de volgende ronde in de for overgeslagen wordt.

Het werkt :P

Edit: in die switch case kun je gebruik maken van meerdere labels in C# dus ook:

C#:
1
2
3
4
5
6
7
case "/?":
case "/help":
case "/h":
case "/H":
case "?":
    foo();
    break;

[ Voor 13% gewijzigd door Noxious op 22-09-2010 10:49 ]


  • Cartman!
  • Registratie: April 2000
  • Niet online
Michali schreef op woensdag 22 september 2010 @ 10:41:
We hebben er weer eentje:

PHP:
1
2
3
4
5
6
7
8
9
10
11
function previousYears()
{
    $date = date("Y");

    for ($d == 1; $d < 8; $d++)
    {
        $previousYears[] = date("Y", strtotime("$date -$d year"));
    }

    return $previousYears;
}
Dat is wel echt een pareltje :+

Ik zit ook in een oud project te werken waarin alle waarden worden opgeslagen als VARCHAR(255) in MySQL. Ook ints, floats (waarmee gerekend moet worden) en van een SET/ENUM had onze stagair nooit gehoord. Beetje jammer dat z'n beleider dat niet heeft opgemerkt.

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

@jaartelling: je weet maar nooit. Wie weet besluit men in de toekomst het hele jaar 2011 niet te tellen, dan kom je er niet met een simpel for-loopje!

[ Voor 5% gewijzigd door CodeCaster op 22-09-2010 11:28 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
Cartman! schreef op woensdag 22 september 2010 @ 11:15:
[...]

Dat is wel echt een pareltje :+

Ik zit ook in een oud project te werken waarin alle waarden worden opgeslagen als VARCHAR(255) in MySQL. Ook ints, floats (waarmee gerekend moet worden) en van een SET/ENUM had onze stagair nooit gehoord. Beetje jammer dat z'n beleider dat niet heeft opgemerkt.
Och, ik had een keer een project waarbij een boolean soms opgeslagen werd als een string en dan was het de ene keer "J", de andere keer "JA" etc. Hetzelfde bij "N" en "NEE" en varianten. Heerlijk was dat.

Verwijderd

Michali schreef op woensdag 22 september 2010 @ 10:41:
We hebben er weer eentje:

PHP:
1
2
3
4
5
6
7
8
9
10
11
function previousYears()
{
    $date = date("Y");

    for ($d == 1; $d < 8; $d++)
    {
        $previousYears[] = date("Y", strtotime("$date -$d year"));
    }

    return $previousYears;
}
Wtf.. Dat is wel heel slecht... :/ Veel erger ga je het niet tegen komen... :+ Het werk van een stagair mag ik hopen, of minstens iemand die er al uit geschopt is? Als je zulke bagger produceert moet je toch echt een carriereswitch overwegen. 8)7

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Een mooi detail is ook die $d == 1. :P

Noushka's Magnificent Dream | Unity


  • Pathogen
  • Registratie: April 2004
  • Laatst online: 04-10 08:08

Pathogen

Shoop Da Whoop

Davio schreef op woensdag 22 september 2010 @ 13:15:
[...]

Och, ik had een keer een project waarbij een boolean soms opgeslagen werd als een string en dan was het de ene keer "J", de andere keer "JA" etc. Hetzelfde bij "N" en "NEE" en varianten. Heerlijk was dat.
Oh die ken ik ook, dan krijg je constructies als "MATCHES [YyJj1]"...

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 11:49

Haan

dotnetter

ik heb bij PHP altijd moeite te zien wat er precies gebeurt. Kan iemand misschien toelichten wat er aan de hand is? O-)

Kater? Eerst water, de rest komt later


Verwijderd

Michali schreef op woensdag 22 september 2010 @ 13:32:
Een mooi detail is ook die $d == 1. :P
Inderdaad, denk dat diegene gewoon het verschil tussen '=' en '==' niet kent ofzo. :+ Maar ja, dat is niet zo heel gek als je zo'n vage constructie nodig hebt voor zoiets. :9

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

date("Y") geeft het huidige jaartal, dus 2010.
strtotime("<datum> -1 year") geeft <datum> minus 1 jaar terug. Die datum wordt vervolgens geformat als Y, ofwel, louter het jaartal. In de array staat dus uiteindelijk: { 1970, 2009, 2008, 2007, 2006, ... }

Die 1970 komt omdat $d niet wordt geinitialiseerd, en strtotime() de string "2010 - year" niet helemaal snapt..
Davio schreef op woensdag 22 september 2010 @ 13:15:
[...]

Och, ik had een keer een project waarbij een boolean soms opgeslagen werd als een string en dan was het de ene keer "J", de andere keer "JA" etc. Hetzelfde bij "N" en "NEE" en varianten. Heerlijk was dat.
Doe dan een nullable VARCHAR(0), dan is het iig efficient :P ("" voor true, en NULL voor false)

[ Voor 53% gewijzigd door .oisyn op 22-09-2010 13:52 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Wordt met die regel 7 een element toegevoegd aan een array? Ik ben niet zo bekend met PHP-syntax.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ja

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • JohnStaakke
  • Registratie: Oktober 2007
  • Laatst online: 01-10 10:56
Hij retourneert op een hele omslachtige manier een array gevuld met de laatste 7 jaren, plus 1970.
Daarnaast gooit hij een zooi undefined variable warnings.

Dit is het resultaat:

code:
1
Array ( [0] => 1970 [1] => 2009 [2] => 2008 [3] => 2007 [4] => 2006 [5] => 2005 [6] => 2004 [7] => 2003 )


Edit;

Spuit elf :(

[ Voor 3% gewijzigd door JohnStaakke op 22-09-2010 13:47 ]


Verwijderd

Het kan dus ook gewoon zo: :9
PHP:
1
$array = range(date('Y') - 1, date('Y') - 8);


Maar dat maakt het een heel stuk minder interessante code. :N

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Of natuurlijk zo:
PHP:
1
2
eval(base64decode(JGFycmF5ID0gYXJyYXkoMjAwOSwgMjAwOCwgMjAwNywgMjAwNiwgMjAwNSwgMjAwNCwgMjAwMywg
MjAwMik7));

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Verwijderd

CodeCaster schreef op woensdag 22 september 2010 @ 14:16:
Of natuurlijk zo:
PHP:
1
2
eval(base64decode(JGFycmF5ID0gYXJyYXkoMjAwOSwgMjAwOCwgMjAwNywgMjAwNiwgMjAwNSwgMjAwNCwgMjAwMywg
MjAwMik7));
Ohja, want hardcoded is the way to go! :+

  • Tiemez
  • Registratie: December 2003
  • Laatst online: 24-10-2022
Verwijderd schreef op woensdag 22 september 2010 @ 14:08:
Het kan dus ook gewoon zo: :9
PHP:
1
$array = range(date('Y') - 1, date('Y') - 8);


Maar dat maakt het een heel stuk minder interessante code. :N
De output is wel anders. Geen 1970. :+

  • Serpie
  • Registratie: Maart 2005
  • Laatst online: 01-07-2023
Kom deze net tegen :?

Visual Basic .NET:
1
2
3
4
5
    Public ReadOnly Property [Me]() As Object
      Get
        Return Me
      End Get
    End Property

  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
Serpie schreef op woensdag 22 september 2010 @ 14:43:
Kom deze net tegen :?

Visual Basic .NET:
1
2
3
4
5
    Public ReadOnly Property [Me]() As Object
      Get
        Return Me
      End Get
    End Property
Haha, die is goed, heel praktisch ook. :D

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

Fantastisch codevoorbeeld van Woy daarnet in een ander topic
Woy schreef op woensdag 22 september 2010 @ 11:11:
C#:
1
2
3
4
using(StreamReader reader = new StreamReader(myFilePath))
{
    reader.WriteLine("BLAAT");
}
Wie ziet 'm? :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

StreamReader.WriteLine(). Hij had een StreamWriter moeten hebben.

[ Voor 36% gewijzigd door AtleX op 22-09-2010 16:28 ]

Sole survivor of the Chicxulub asteroid impact.


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 04-10 19:48

mulder

ik spuug op het trottoir

Volgens mij kun je beter een File.Open doen oid.

Edit: owja... ;)

[ Voor 17% gewijzigd door mulder op 22-09-2010 16:29 ]

oogjes open, snaveltjes dicht


  • Koppensneller
  • Registratie: April 2002
  • Laatst online: 07:21

Koppensneller

winterrrrrr

.oisyn schreef op woensdag 22 september 2010 @ 16:26:
Fantastisch codevoorbeeld van Woy daarnet in een ander topic

[...]

Wie ziet 'm? :P
Een reader die write? :P

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Cartman! schreef op woensdag 22 september 2010 @ 11:15:
[...]

Dat is wel echt een pareltje :+

Ik zit ook in een oud project te werken waarin alle waarden worden opgeslagen als VARCHAR(255) in MySQL. Ook ints, floats (waarmee gerekend moet worden) en van een SET/ENUM had onze stagair nooit gehoord. Beetje jammer dat z'n beleider dat niet heeft opgemerkt.
Och, dat schijnt in grote ERP pakketten* ook wel voor te komen, is niks nieuws. ;)

(*Die van die sponsordeal met een bepaalde voetbalclub, niet gecheckt zelf btw, van horen zeggen.)

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • MBV
  • Registratie: Februari 2002
  • Laatst online: 03-10 10:15
Dat is eerder regel dan uitzondering :X Of bedragen in floats... :X

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 04-10 12:10
Waar ik dagelijks echt gek van kan worden is dat CMS Made Simple (PHP) geen auto increment gebruikt op hun primairy keys maar hier een aparte tabel voor heeft in de database. :( Waarom kan dit uberhaupt nuttig zijn? MySQL, PostgreSQL en MSSQL ondersteunen dit geloof ik allemaal perfect.

  • lauwsa
  • Registratie: Juli 2010
  • Laatst online: 10-09 20:43
Hmm,

Zag net op internet iemand die int gebruikt ipv een long om geheugen te besparen... Als je nu eens sizeof(int) of size(long) doet en eens na de output kijkt xD hahahaha bijden zijn echt 4 hoor.

Verwijderd

lauwsa schreef op donderdag 23 september 2010 @ 08:03:
Hmm,

Zag net op internet iemand die int gebruikt ipv een long om geheugen te besparen... Als je nu eens sizeof(int) of size(long) doet en eens na de output kijkt xD hahahaha bijden zijn echt 4 hoor.
De definitie zegt dat long ten minste 32 bits lang is. Ik geloof niet dat ergens staat dat int 32 bits is en een long altijd 32 bits moet zijn. Aannames zijn dus redelijk fataal. Vandaar dat je overal sizeof moet gebruiken, zelfs als je de lengte van een type uit je hoofd weet ;)

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
.oisyn schreef op woensdag 22 september 2010 @ 16:26:
Fantastisch codevoorbeeld van Woy daarnet in een ander topic

[...]

Wie ziet 'm? :P
Heb je de Topic Waarschuwing niet gelezen :(

Maar met die code weet je in ieder geval zeker dat je geen resources lekt, en dat was de strekking van het voorbeeld :+

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024

CMG

Verwijderd schreef op donderdag 23 september 2010 @ 08:21:
[...]

De definitie zegt dat long ten minste 32 bits lang is. Ik geloof niet dat ergens staat dat int 32 bits is en een long altijd 32 bits moet zijn. Aannames zijn dus redelijk fataal. Vandaar dat je overal sizeof moet gebruiken, zelfs als je de lengte van een type uit je hoofd weet ;)
Hangt ook maar van de taal af; in VB6 = int 16 bits en long 32; in de .NET talen is int 32 en long 64 bits.

NKCSS - Projects - YouTube


  • PiepPiep
  • Registratie: Maart 2002
  • Laatst online: 18-01-2023
Als je de array uit dat php voorbeeld met previousYears als 1-based gebruikt gaat hij wel goed toch?
Hij moet niet eens met 2010 beginnen omdat die nog geen previous year is.

486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

lauwsa schreef op donderdag 23 september 2010 @ 08:03:
Hmm,

Zag net op internet iemand die int gebruikt ipv een long om geheugen te besparen... Als je nu eens sizeof(int) of size(long) doet en eens na de output kijkt xD hahahaha bijden zijn echt 4 hoor.
En doe dat nog eens op linux-64
CMG schreef op donderdag 23 september 2010 @ 09:31:
[...]

Hangt ook maar van de taal af; in VB6 = int 16 bits en long 32; in de .NET talen is int 32 en long 64 bits.
Het gaat hier duidelijk om C of C++ ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • lauwsa
  • Registratie: Juli 2010
  • Laatst online: 10-09 20:43
Gaat om c++ en het is op windows ;)

  • yade
  • Registratie: Mei 2002
  • Laatst online: 16-07 13:47
lauwsa schreef op donderdag 23 september 2010 @ 08:03:
Hmm,

Zag net op internet iemand die int gebruikt ipv een long om geheugen te besparen... Als je nu eens sizeof(int) of size(long) doet en eens na de output kijkt xD hahahaha bijden zijn echt 4 hoor.
Het hangt feitelijk af van het data model dat je compiler gebruikt.

Zie: Wikipedia: 64-bit

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 28-09 18:33
Als je gebruik gaat maken van het aantal bytes, kun moet je toch gewoon de specifieke variant gebruiken; ulong64 ipv ulong, etc?!

[ Voor 7% gewijzigd door Bolukan op 23-09-2010 13:27 . Reden: Bericht hieronder ]


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Dat is het punt niet. Het punt is de aanname dat een long altijd 32 bits is.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
CMG schreef op donderdag 23 september 2010 @ 09:31:
[...]

Hangt ook maar van de taal af; in VB6 = int 16 bits en long 32; in de .NET talen is int 32 en long 64 bits.
Waarom kiezen ze er niet voor om het allemaal int te maken en afhankelijk van de grootte anders op te slaan?

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 04-10 18:21
Davio schreef op donderdag 23 september 2010 @ 14:14:
[...]

Waarom kiezen ze er niet voor om het allemaal int te maken en afhankelijk van de grootte anders op te slaan?
Uh, als jij een structure hebt die 2 Int16's bevat:

code:
1
00120009


En je wilt je eerste int16 dan een int32 maken, dat je dan je 2e variabele overschrijft?

  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Verwijderd schreef op dinsdag 14 september 2010 @ 16:29:
Edit: nog ééntje. Datumvelden als varchar..... :X
Wat is daar mis mee? Als je de epoch waarde opslaat?

If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • Noxious
  • Registratie: Juli 2002
  • Laatst online: 01-10 23:03
Guillome schreef op donderdag 23 september 2010 @ 15:10:
[...]

Wat is daar mis mee? Als je de epoch waarde opslaat?
Ik gebruik altijd unsigned ints voor epoch, die kunnen nog wel even mee :P

  • Freeaqingme
  • Registratie: April 2006
  • Laatst online: 04-10 21:59
Als je nou 't native type voor datums van je rdmbs gebruikt, kan je rdmbs daar ook fijn en makkelijk mee rekenen. Lijkt me niet teveel gevraagd? ;)

No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.


  • Tiemez
  • Registratie: December 2003
  • Laatst online: 24-10-2022
Guillome schreef op donderdag 23 september 2010 @ 15:10:
[...]

Wat is daar mis mee? Als je de epoch waarde opslaat?
lijkt me een int handiger

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 01-10 15:02

NielsNL

DigiCow

alex3305 schreef op woensdag 22 september 2010 @ 18:31:
Waar ik dagelijks echt gek van kan worden is dat CMS Made Simple (PHP) geen auto increment gebruikt op hun primairy keys maar hier een aparte tabel voor heeft in de database. :( Waarom kan dit uberhaupt nuttig zijn? MySQL, PostgreSQL en MSSQL ondersteunen dit geloof ik allemaal perfect.
Als je het aantal berichten van iets wil zien zonder COUNT() te gebruiken, het is dus iets sneller om uit de db te halen.
Wat gebruikt T.net om het aantal berichten in de HK te laten zien?

M'n Oma is een site aan het haken.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

A: Het hoogste id zegt niets over het aantal records, er kunnen records verwijderd zijn
B: Als je toch stelt dat dat wel hetzelfde is, dan kun je ook gewoon de volgende id opvragen bij een auto_increment veld (dus net zo snel als de aparte tabel)
C: Het gaat om id's. Het is dus hoogstens bruikbaar om het totaal aantal berichten op te halen, niet de berichten uit een specifiek forum. T.net slaat idd een postcount op bij een forum, maar dat heeft weer weinig met de distributie van id's te maken.

[ Voor 19% gewijzigd door .oisyn op 23-09-2010 16:01 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 04-10 18:21
NielsNL schreef op donderdag 23 september 2010 @ 15:53:
[...]

Als je het aantal berichten van iets wil zien zonder COUNT() te gebruiken, het is dus iets sneller om uit de db te halen.
Wat gebruikt T.net om het aantal berichten in de HK te laten zien?
Denormaliseren is key hier.

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 01-10 15:02

NielsNL

DigiCow

.oisyn schreef op donderdag 23 september 2010 @ 15:59:
A: Het hoogste id zegt niets over het aantal records, er kunnen records verwijderd zijn
B: Als je toch stelt dat dat wel hetzelfde is, dan kun je ook gewoon de volgende id opvragen bij een auto_increment veld (dus net zo snel als de aparte tabel)
C: Het gaat om id's. Het is dus hoogstens bruikbaar om het totaal aantal berichten op te halen, niet de berichten uit een specifiek forum. T.net slaat idd een postcount op bij een forum, maar dat heeft weer weinig met de distributie van id's te maken.
F*ck ik heb niet rustig genoeg gelezen. :F

M'n Oma is een site aan het haken.


  • Noxious
  • Registratie: Juli 2002
  • Laatst online: 01-10 23:03
Freeaqingme schreef op donderdag 23 september 2010 @ 15:23:
Als je nou 't native type voor datums van je rdmbs gebruikt, kan je rdmbs daar ook fijn en makkelijk mee rekenen. Lijkt me niet teveel gevraagd? ;)
In MySQL kan ik prima rekenen met epoch hoor :)

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 04-10 12:10
NielsNL schreef op donderdag 23 september 2010 @ 15:53:
[...]

Als je het aantal berichten van iets wil zien zonder COUNT() te gebruiken, het is dus iets sneller om uit de db te halen.
Wat gebruikt T.net om het aantal berichten in de HK te laten zien?
Als er echter berichten tussenin verwijderd worden dan blijft de laatste waarde in de andere tabel toch intact. Dan lijkt mij de toegevoegde waarde dus nihil...?

  • Cartman!
  • Registratie: April 2000
  • Niet online
Noxious schreef op donderdag 23 september 2010 @ 16:46:
[...]

In MySQL kan ik prima rekenen met epoch hoor :)
Hoe gebruik je dat dan? Gewoon lekker DATETIME of consorten gebruiken voor datum/tijd meuk, het is ervoor gemaakt.

  • Freeaqingme
  • Registratie: April 2006
  • Laatst online: 04-10 21:59
Noxious schreef op donderdag 23 september 2010 @ 16:46:
[...]

In MySQL kan ik prima rekenen met epoch hoor :)
Ben ik wel benieuwd waarom ie 't achter de schermen eerst omzet naar een datetime field voordat ie er mee gaat rekenen? Je zou toch denken dat daar een reden voor is :D

No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.


  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024

CMG

alex3305 schreef op donderdag 23 september 2010 @ 18:26:
[...]

Als er echter berichten tussenin verwijderd worden dan blijft de laatste waarde in de andere tabel toch intact. Dan lijkt mij de toegevoegde waarde dus nihil...?
Ja, maar om die actueel te houden moet je al triggers gaan maken om je tabel bij te werken... Soms kun je echt te ver doorslaan in iets. een db product is niet iets wat men een keer een vrijdag avond in elkaar heeft gedraaid; over dit soort zaken is echt wel goed nagedacht. Als het wel of niet lekker lopen moet afhangen van je eigen optimalisaties m.b.t het tellen van records heb je echt een ander probleem...

NKCSS - Projects - YouTube


Verwijderd

Freeaqingme schreef op donderdag 23 september 2010 @ 22:43:
[...]


Ben ik wel benieuwd waarom ie 't achter de schermen eerst omzet naar een datetime field voordat ie er mee gaat rekenen? Je zou toch denken dat daar een reden voor is :D
Is dat zo? Heb je daar een bron van?

Volgens mij gebruikt MySQL gewoon een standaard POSIX datetime lib als onderliggende rekenstructuur en daarin wordt gerekend met epoch?

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Freeaqingme schreef op donderdag 23 september 2010 @ 15:23:
Als je nou 't native type voor datums van je rdmbs gebruikt, kan je rdmbs daar ook fijn en makkelijk mee rekenen. Lijkt me niet teveel gevraagd? ;)
Jawel, want dan gebruikt MySQL de lokale tijdzone... Voor mij dus ook gewoon ints.

Verwijderd

Olaf van der Spek schreef op donderdag 23 september 2010 @ 23:11:
[...]

Jawel, want dan gebruikt MySQL de lokale tijdzone... Voor mij dus ook gewoon ints.
Maar... /me kijkt naar topic-naam... Nuff said. :F

Acties:
  • 0 Henk 'm!

  • PiepPiep
  • Registratie: Maart 2002
  • Laatst online: 18-01-2023
Guillome schreef op donderdag 23 september 2010 @ 15:10:
[...]

Wat is daar mis mee? Als je de epoch waarde opslaat?
Als je iets van een bepaalde maand wil hebben uit de db kan je natuurlijk begin van de maand omrekenen naar je epoch waarde en vervolgens het einde van de maand omrekenen en een select maken, maar als je kan selecteren op jaar zoveel en maand zoveel ben je al klaar. Lijkt mij dus veel fijner werken.

486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

Daarnaast zijn ze ook voornamelijk bruikbaar voor timestamps, niet voor geboortedatums oid.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 11:45
Wat is het dan lekker als ik in .Net een datetime object gewoon kan saven...

Acties:
  • 0 Henk 'm!

  • ValHallASW
  • Registratie: Februari 2003
  • Niet online
Deze oneliner van mezelf:
Python:
1
headers = dict([(header, ' '.join([text.decode(encoding if encoding else 'ascii') for (text, encoding) in decode_header(e[header])])) for header in e.keys()]


Gevalletje 'aargh, die library doet niet wat ik wil. Ik weet het, ik fix het met een oneliner, want meer ruimte in mijn code is dit niet waard'.

Jammer alleen dat de A if B else C-syntax pas sinds python 2.5 bestaat, en mijn nieuwe hoster nog 2.4 draait. Nu dus maar vervangen door:

Python:
1
headers = dict([(header, ' '.join([text.decode(encoding or 'ascii') for (text, encoding) in decode_header(e[header])])) for header in e.keys()]


Functioneel equivalent, maar nog even ranzig :Y)

Iets verder uitgeschreven wordt het dit:
Python:
1
2
3
4
5
6
7
8
9
headers = {}
for header in e.keys():
  textparts = []
  for part, encoding in decode_header(e[header]):
    if encoding:
      textparts.append(part.decode(encoding))
    else:
      textparts.append(part.decode('ascii'))
  header[header] = ' '.join(textparts)

[ Voor 19% gewijzigd door ValHallASW op 24-09-2010 14:02 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Mensen klagen wel vaker over PHP's eigenzinnigheid, maar Python kan er ook wat van. A if B else C? Wat is er mis met de standaard ternary operator zoals we die kennen?

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

Wat is er eigenzinnig aan? Het ís gewoon een ternaire operator. Alleen is de syntax anders (if ipv ?, en else ipv :). Python is geen C-like taal. Goed, ze hadden de "if" wellicht beter "then" kunnen noemen.

[ Voor 30% gewijzigd door .oisyn op 24-09-2010 14:42 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • elTigro
  • Registratie: November 2000
  • Laatst online: 04-05 13:01

elTigro

Es un Gringo!

hehe, niet zozeer een slecht programmeer voorbeeld, Maar wel een een slecht geplaatste ) :p

Lazlo's Chinese Relativity Axiom:No matter how great your triumphs or how tragic your defeats --approximately one billion Chinese couldn't care less.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

Slecht programmeervoorbeeld van de forumsoftware. Snapt niet eens wat ik bedoel :/

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • sub0kelvin
  • Registratie: September 2002
  • Laatst online: 10-08-2023
.oisyn schreef op vrijdag 24 september 2010 @ 14:29:
Wat is er eigenzinnig aan? Het ís gewoon een ternaire operator. Alleen is de syntax anders (if ipv ?, en else ipv :). Python is geen C-like taal. Goed, ze hadden de "if" wellicht beter "then" kunnen noemen.
Als ik Google mag geloven is het wel degelijk anders dan de ?:-syntax, en wordt het als "if" gezien en niet als "then":
The syntax will be

A if C else B

This first evaluates C; if it is true, A is evaluated to give the
result, otherwise, B is evaluated to give the result.
[edit]
Zie ook Wikipedia: Ternary operation

Ik moet zeggen dat het wel wat heeft:
default > check > uitzondering

waarbij de nadruk ligt op de default-waarde in plaats van op de check/conditie.

[ Voor 16% gewijzigd door sub0kelvin op 24-09-2010 15:23 ]


Acties:
  • 0 Henk 'm!

Verwijderd

.oisyn schreef op vrijdag 24 september 2010 @ 14:43:
Slecht programmeervoorbeeld van de forumsoftware. Snapt niet eens wat ik bedoel :/
Wij maken daar al jaren grapjes over op het werk als het gaat om programmeren. Je moet een programmeertaal hebben die gewoon snapt wat je wil zeggen. De syntax zou dan zoiets zijn:

Doe gewoon ff een loopje en dan iets met die variabele, je weet wel.

Zou toch wel mooi zijn als we in de toekomst computersystemen hebben die snappen wat we bedoelen zonder rare beperkingen in de overdracht tussen concept en realisatie.
Pagina: 1 ... 35 ... 103 Laatste

Dit topic is gesloten.

Let op:
Uiteraard is het in dit topic niet de bedoeling dat andere users en/of topics aangehaald worden om ze voor gek te zetten. Lachen om je eigen code, of over dingen die je "wel eens tegengekomen bent" is prima, maar hou het onderling netjes. :)