“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.
Holy shit. Ik heb Fiddler aan staan omdat ik HTTP-verkeer wil kunnen bekijken, en die URL zorgde gewoon voor zeventig (!) request.FreakyFries schreef op donderdag 08 december 2011 @ 09:46:
[...]
http://community.htc.com/...one/f/90/p/1459/4597.aspx
Lijkt niet moeilijk
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Check phonegap.com
Eenvoudig omzetten van HTML5 naar een app!
Professioneel Heftruck Syndroom
* in theorie,NeFoRcE schreef op donderdag 08 december 2011 @ 12:31:
Heren, mede devvers.
Check phonegap.com
Eenvoudig omzetten van HTML5 naar een app!
Firebug meld er maar "66 requests"CodeCaster schreef op donderdag 08 december 2011 @ 12:22:
[...]
Holy shit. Ik heb Fiddler aan staan omdat ik HTTP-verkeer wil kunnen bekijken, en die URL zorgde gewoon voor zeventig (!) request.
Bij een onclick wordt er vrolijk een javascriptje uitgevoerd welke "vergelijkbare" radiobuttons weer uitschakelt en de huidige inschakelt. Uiteraard wordt de OnClick gewoon via Response.Write gewoon in het element gegooid
Ow en uiteraard is dit stukje code (met dezelfde functienaam en exact dezelfde inhoud) geplaatst in meerdere js files, dat uiteraard om het overzichtelijk te houden. Waarbij sommige pagina's meerdere scripts includen waar de functie in zit.
Ik vraag me soms werkelijk af of zo'n developer zelf niet krankjorum wordt van zijn eigen code. Als mijn code zo'n gedrocht zou worden had ik het allang herschreven, je raakt zo toch de weg kwijt tussen je duizenden regels code...
Daarnaast is er voor zowat elke pagina een eigen JS file (naast uiteraard diverse scriptblocks in de pagina's zelf)
[/rage]
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
Mmmmm.... Daar zit wat in, maar toch denk ik dat er mooiere oplossingen zijn dan de gene die gebouwd is. Als je er dan omheen moet doe het goed en niet met brakke javascriptsAlex) schreef op donderdag 08 december 2011 @ 14:48:
Soms weten mensen niet beter.
En soms heb je geen keuze, omdat er een bug in het framework zit...
Neemt overigens niet weg dat het plaatsen van 20x dezelfde code ook een beetje overbodig is
[ Voor 10% gewijzigd door .Gertjan. op 08-12-2011 14:51 ]
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
Totdat ik weer wat Ruby on Rails overkill tegenkom met een ultra one-liner met map's, inject's, tap's, select's e.d.
Het lijkt soms wel een wedstrijd wie de meeste magic op 1 regel kan krijgen
[ Voor 51% gewijzigd door Gamebuster op 08-12-2011 15:45 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Verwijderd
Ik betrap mezelf er soms ook op dat ik allemaal chic en fancy wil doen (Dan wel met PHP), dus dan array_map, array_reduce, array_sum, closures en wat nog, en dan als het werkt vervang ik het door een simpele self-documenting for loop omdat het toch te ingewikkeld en onleesbaar is (En waarschijnlijk nog trager ook).Gamebuster schreef op donderdag 08 december 2011 @ 15:42:
Ben ik blij dat de code hier altijd zo mooi glimt dat ik een zonnebril draag achter m'n computer.
Totdat ik weer wat Ruby on Rails overkill tegenkom met een ultra one-liner met map's, inject's, tap's, select's e.d.
Het lijkt soms wel een wedstrijd wie de meeste magic op 1 regel kan krijgen
[ Voor 5% gewijzigd door Verwijderd op 08-12-2011 15:58 ]
Blijkt dat ze ipv de database vrijgegeven hebben voor mijn IP, iedereen anders geblokkeerd hebben
Ziet er wel cool uit
Psst .Gertjan.: er zit een basis customer & invoice starter kit bij
[ Voor 22% gewijzigd door Styxxy op 08-12-2011 21:40 ]
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.
{signature}
Ik zou niet weten wat daar mis aan is? Werkt tenminste lekker snel als je hem toch klaar hebt liggen.P-Storm schreef op donderdag 08 december 2011 @ 22:36:
hetzelfde is als een kettingzaag gebruiken voor een bonzai boompje.
Het gaat echt niet sneller als je de command line moet gebruiken om te compileren en uit te voeren ofzo, en er dan achter komt dat je eigenlijk toch een breakpoint had gewild.
Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten
Verwijderd
Wat een onzin natuurlijk ... ik sluit me aan bij bovenstaande heren
Aan de andere kant is het niet verkeerd om een klein beetje te begrijpen hoe het in zijn werk gaat. Door een keertje zelf de compiler aan te roepen weet je welke stappen er normaal gesproken nodig zijn om van code naar een applicatie te geraken. Voor beginnende informatica studenten is dat wel iets wat nuttig kan zijn. Daarnaast weet je zo ook dat je niet verplicht bent iedere keer je IDE te openen om bijvoorbeeld code te bekijken of te bewerken.pedorus schreef op donderdag 08 december 2011 @ 23:38:
Het gaat echt niet sneller als je de command line moet gebruiken om te compileren en uit te voeren ofzo, en er dan achter komt dat je eigenlijk toch een breakpoint had gewild.
Maar zoals boven gezegd, waarom zou je zelf moeilijk gaan doen met een handzaag als je met een kettingzaag zo klaar bent, zelfs bij een bonsai boompje is met een kettingzaag winst te behalen tov een handzaagje
Vandaag maar aan de slag om problemen op te lossen met de notatie van floatingpoint getallen. Gisteren een pareltje ontdekt welke er voor zorgt dat database communicatie omdondert op niet US systemen. Na veel zoeken eindelijk gevonden wat er gebeurt:
1. Ze halen een waarde op vanaf het scherm en parsen dit naar een decimal (niet eens tryparse, maar gewoon gaan)
2. Als de code nog niet gecrasht is wordt de decimal naar een object array gegooid.
3. Vervolgens wordt de object array aan een stukje code gegeven welke doormiddel van string concatenation een SQL statment opbouwt en op alle objecten in de array een .ToString() aanroept.
4. Op non US systemen levert de waarde 1.1 de volgende .ToString() 1,1
5. De 1,1 wordt opgenomen als set columnname = 1,1 , columnname2 = 2,2 waardoor SQL dus over de , struikelt

Ook de delete statements worden zo samengesteld... SQL Injection, kom er maar in

Wie ooit nog durft te beweren dat sql commands opbouwen middels string concatenation niet slecht is....
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.

Iets meer als 2 dagen werken te gaan dit jaar
Hier nog iets meer dan 2 weken...Hoogie2004 schreef op vrijdag 09 december 2011 @ 08:49:
Vrijdag![]()
Iets meer als dan 2 dagen werken te gaan dit jaar
String concatenation is niet per definitie slecht. Alleen de vraag is waarom je t zou gebruiken als je prepared statements tot je beschikking hebt..Gertjan. schreef op vrijdag 09 december 2011 @ 08:48:
[...]
Wie ooit nog durft te beweren dat sql commands opbouwen middels string concatenation niet slecht is....Aangezien dit redelijk frequent gebeurt in de code moet ik het waarschijnlijk in de kern oppakken. Voor deze release kunnen we nog geen grote slagen maken (eerst moet de code van de oude partij werkend worden gemaakt), maar als ik de tijd heb gaat dit hele hok eruit en wordt vervangen voor storedprocedures of parameterized queries. Er is nu zonder enkele reden "logica" gemaakt om zo dynamisch mogelijk de DB aan te roepen, welke gezien de omvang van het systeem best met wat storedprocedures of parameterized queries had gekunnen.
Groeperen van elementen door ze dezelfde naam te geven? Dat is volgens mij nog de grootste WTF..Gertjan. schreef op donderdag 08 december 2011 @ 14:28:
Waarom zou je gebruik maken van de standaard functionaliteiten in HTML zoals het groeperen van radiobuttons door ze dezelfde naam te geven? Het is natuurlijk makkelijker om het met buggy javascript op te lossen.
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Nope, dat hoort zo. Zo zorg je dat je maar 1 van de x elementen kan selecteren.farlane schreef op vrijdag 09 december 2011 @ 09:12:
[...]
Groeperen van elementen door ze dezelfde naam te geven? Dat is volgens mij nog de grootste WTF.
Ik snap het idee van een radiobutton, maar de manier waarop dat geregeld is is fail imho.Phoenix1337 schreef op vrijdag 09 december 2011 @ 09:13:
Nope, dat hoort zo. Zo zorg je dat je maar 1 van de x elementen kan selecteren.
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Een groep radiobuttons zou je even goed kunnen implementeren via een listbox of een combobox: het is een lijst met items waar slechts 1 item uit geselecteerd mag worden. In dat opzicht is het toch logisch dat die radiobuttons van dezelfde groep gewoon dezelfde naam hebben? Dat maakt het uitlezen ook makkelijker: je vraagt gewoon aan de lijst (groep radiobuttons, listbox, combobox) welk item geselecteerd is.farlane schreef op vrijdag 09 december 2011 @ 09:14:
[...]
Ik snap het idee van een radiobutton, maar de manier waarop dat geregeld is is fail imho.
Als je de verschillende radiobuttons in een groep een andere naam geeft, hoe lees je dat dan makkelijk uit?
Want? Bij een radio button groep kan slechts 1 value worden gekozen en dus ook maar 1tje worden teruggegeven. Wanneer meerdere componenten dezelfde naam hebben kan er dus slechts 1 worden teruggegeven bij het posten van het formulier (forms posten tenslotte op basis van name). Dit zal dus het geselecteerde item zijn.farlane schreef op vrijdag 09 december 2011 @ 09:14:
[...]
Ik snap het idee van een radiobutton, maar de manier waarop dat geregeld is is fail imho.
Zo heel onlogisch is het niet toch? Daarnaast zit dit gedrag er toch al behoorlijk lang in en is het algemeen bekend, waarom dan in vredesnaam javascript gebruiken daarvoor
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
1
2
3
4
5
6
7
8
9
10
11
12
| $border_img = imagecreate( $intBorderWidth, $intBorderWidth ); $background = imagecolorallocate( $border_img, $arrBorderColor[0], $arrBorderColor[1], $arrBorderColor[2] ); // send the image data $filename = $output ? 'data' : null; imagepng( $border_img, $filename ); imagedestroy($border_img); if ( $output ) { $imgbinary = fread(fopen($filename, "r"), filesize($filename)); return 'data:image/png' . ';base64,' . base64_encode($imgbinary); } |
Verwijderd
Het zelfde geld voor een layout coderen, liefst doe ik het met notepad++ 2 kolommen 1 voor html 1 voor css/js, werkt veel gemakkelijker dan steeds tabbladen moeten switchen
Zoiets ?alienfruit schreef op vrijdag 09 december 2011 @ 09:22:
Tjonguh, volgens mij doe ik iets echt omslachtig. Ik wil Base64 terug krijgen van een plaatje:
PHP:
1 2 3 4 5 6 7 8 9 10 $border_img = imagecreate( $intBorderWidth, $intBorderWidth ); $background = imagecolorallocate( $border_img, $arrBorderColor[0], $arrBorderColor[1], $arrBorderColor[2] ); // send the image data $filename = $output ? 'data' : null; ob_start(); imagepng( $border_img ); $img = ob_get_clean(); imagedestroy($border_img); return 'data:image/png' . ';base64,' . base64_encode($img);
http://stackoverflow.com/...e-an-image-without-saving
Ik vind het wel onlogisch, de waarde van een groep radiobuttons opvragen is toch niet het enige wat je kunt doen moet een radiobutton? Of wordt de naam altijd alleen maar gebruikt om de waarde van een element te benaderen? Ik had eerder een "ControlGroup" element verwacht oid, dat vind ik veel logischer..Gertjan. schreef op vrijdag 09 december 2011 @ 09:19:
Zo heel onlogisch is het niet toch? Daarnaast zit dit gedrag er toch al behoorlijk lang in en is het algemeen bekend, waarom dan in vredesnaam javascript gebruiken daarvoor
Neemt niet weg dat als het zo werkt je het ook beter op die manier gaat gebruiken natuurlijk.
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Daarom kun je de ID wel weer op iets anders zettenfarlane schreef op vrijdag 09 december 2011 @ 09:32:
[...]
Ik vind het wel onlogisch, de waarde van een groep radiobuttons opvragen is toch niet het enige wat je kunt doen moet een radiobutton? Of wordt de naam altijd alleen maar gebruikt om de waarde van een element te benaderen? Ik had eerder een "ControlGroup" element verwacht oid, dat vind ik veel logischer.
Neemt niet weg dat als het zo werkt je het ook beter op die manier gaat gebruiken natuurlijk.
Je kunt de losse elementen per ID benaderen of via de name en dan op basis van bijvoorbeeld attributen. De name tag is eigenlijk alleen relevant voor posten naar de server, verder negeer je die eigenlijk.
Binnen .NET kon je geloof ik wel een ControlGroup (of iets dergelijks) opgeven, maar de postcollection binnen HTML is zo "simpel" dat er enkel een name en value mee kan worden gegeven
Op een gegeven moment wordt iets vanzelf logisch als het lang van toepassing is
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
Een beetje fatsoenlijke IDE (zoals PHPStorm) kan gewoon twee bestanden naast elkaar weergeven. Hoef je ook niet steeds te switchen tussen tabbladen en heb je de voordelen van een IDE.Verwijderd schreef op vrijdag 09 december 2011 @ 09:27:
Het zelfde geld voor een layout coderen, liefst doe ik het met notepad++ 2 kolommen 1 voor html 1 voor css/js, werkt veel gemakkelijker dan steeds tabbladen moeten switchen
Verwijderd
Maar je hebt het nu over snel een kleine aanpassing maken, en niet een probleem oplossen waar de discussie over ging. Ik denk dat bijna iedereen wel een text editor gebruikt om een klein dingetje om te zetten, maar wanneer het groter is wordt een IDE wel heel veel makkelijker. Voor iets veranderen in een web.config-bestandje start ik ook niet heel Visual Studio op, het opstarten hiervan duurt bijna langer dan het doorvoeren van de wijziging.Verwijderd schreef op vrijdag 09 december 2011 @ 09:43:
Het idee van een IDE is wel goed, maar ik vind het gewoon gemakkelijker om een aanpassing of iets dergelijks snel in notepad te doen, dan dat ik zo'n IDE moet opstarten die vervolgens een aantal bestanden moet laden en een hele project management van oude projecten die hij weer van de NAS moet aftrekken, waardoor het in het geheel weer slomer gaat.
[ Voor 10% gewijzigd door DEiE op 09-12-2011 09:56 ]
Verwijderd
En, is het al geluktWoy schreef op dinsdag 15 november 2011 @ 10:25:
[...]
Ik moet nog tot eind december, en hoewel ik het hier zo goed mogelijk af probeer te ronden word dat niet altijd goed mogelijk gemaakt, dus ik begin ook steeds meer die instelling te krijgen.
Het positieve is dat ik met een beetje moeite hier nog op nr 1 van de all-time snack ranglijst kom, en dat de eerst volgende persoon die er nog werkt nog wel even nodig heeft om me daar vanaf te stoten
Juist
Kun je dat niet afdwingen met CSS voor het mediatype print? (ik denk vast te makkelijk)alienfruit schreef op vrijdag 09 december 2011 @ 10:15:
Aah, dit gaat een leuke dag worden. Klant wilt dat de achtergrondkleuren van de webpagina ook worden afgedrukt
Verwijderd
Oke... Sommige mensen moeten eens stoppen met zulke belachelijke dingen bedenkenalienfruit schreef op vrijdag 09 december 2011 @ 10:15:
Aah, dit gaat een leuke dag worden. Klant wilt dat de achtergrondkleuren van de webpagina ook worden afgedrukt
Een klant hier heeft een website bij ons besteld, vervolgens heeft hij hem laten re-coderen bij een ander bedrijf en nu wil hij dat wij bij die zelfde website een aantal foute dingen moeten oplossen omdat het andere bedrijf er een zooitje van heeft gemaakt. Daar gaat hij echt wel voor betalen..
1
| this.ShowDialog(new ConnectDialog()); |
werkte niet, nog nooit gezien, helemaal FUUU.. Zegt de docent heel droog "Je moet toch Show(Dialog) aanroepen vanaf jouw ConnectDialog? ARGH!
@Hoogie2004: Nou als ik de background-color op blauw zet dan verdwijnt het in de print preview van Firefox en Chrome...
En ik dacht dat ik het zwaar had met een klant die een volledige full-color header boven printjes van zijn website wilde hebben.alienfruit schreef op vrijdag 09 december 2011 @ 10:15:
Aah, dit gaat een leuke dag worden. Klant wilt dat de achtergrondkleuren van de webpagina ook worden afgedrukt
1. Voor een normale website. Als het een intern systeem betreft wat alleen de klant zelf print, whatevs.
[ Voor 19% gewijzigd door OkkE op 09-12-2011 10:27 ]
“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.
Zet je die kleur ook specifiek voor printing?alienfruit schreef op vrijdag 09 december 2011 @ 10:24:
Wat is re-coderen?
@Hoogie2004: Nou als ik de background-color op blauw zet dan verdwijnt het in de print preview van Firefox en Chrome...
Zoals hieronder... (toevallig van de week ergens gezien in onze eigen projecten, had er tot toen nog nooit van gehoord...
1
2
3
| @media print { body { background-color: black; } } |
Voor complexe achtergronden geen idee ...
[ Voor 4% gewijzigd door Hoogie2004 op 09-12-2011 10:27 ]
Nee, ik doet het niet voor de print medium stylesheet. Hmm.... Interessant!
Verder willen ze ook dat de tekst van (home-made) tooltips worden afgedrukt. Alleen wegens de z-index gezeur zitten de DIVs voor de tooltips helemaal onderaan (middels javascript) de pagina. Dus nu moet ik dus de content dubbel plaatsen. Eenmaal voor de tooltip en één keer voor het printen.
[ Voor 85% gewijzigd door alienfruit op 09-12-2011 10:29 ]
Zo ver ik weet werken background-color en background-image beide niet. En gelukkig maar!alienfruit schreef op vrijdag 09 december 2011 @ 10:26:
Eens kijken of achtergrondplaatjes wel werken
Is het niet een optie om op de plaats waar de tooltips moeten komen met <sup>1</sup> een verwijzing te zetten naar een <ol> die je alleen in de print CSS laat zien?Verder willen ze ook dat de tekst van (home-made) tooltips worden afgedrukt. Alleen wegens de z-index gezeur zitten de DIVs voor de tooltips helemaal onderaan (middels javascript) de pagina. Dus nu moet ik dus de content dubbel plaatsen. Eenmaal voor de tooltip en één keer voor het printen.
Als de tooltips niet essentieel zijn vind ik dat altijd wel een mooie oplossing en die code is als het goed is ook direct te gebruiken voor je normale tooltip script.
Ieder geval, zo ver ik weet, niet iets dat te forceren is door de website.Puc van S. schreef op vrijdag 09 december 2011 @ 10:35:
[...]
Het printen van Background-color en background-image is een browser/printer instelling in firefox zit het iig onder afdrukken => paginainstellingen
[ Voor 16% gewijzigd door OkkE op 09-12-2011 10:37 ]
“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.
Het printen van Background-color en background-image is een browser/printer instelling in firefox zit het iig onder afdrukken => paginainstellingenOkkE schreef op vrijdag 09 december 2011 @ 10:32:
[...]
Zo ver ik weet werken background-color en background-image beide niet. En gelukkig maar!
[...]
[ Voor 8% gewijzigd door Puc van S. op 09-12-2011 10:36 ]
En een img tag dan weer wel. Op zich wel onhandig, want vaak worden zaken op een site getoond met een icoontje dat via een background-image is geset en valt zo een deel van de nuttige info weg.OkkE schreef op vrijdag 09 december 2011 @ 10:32:
[...]
Zo ver ik weet werken background-color en background-image beide niet. En gelukkig maar!
Ik dacht overigens dat als je de background-color en image set in een stylesheet die media=print heeft deze wel weer mee kwamen. Maar moet zeggen dat is al heel lang geleden dat ik daar mee bezig ben geweest. Dus ik zou er zomaar naast kunnen zitten.
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
[ Voor 39% gewijzigd door alienfruit op 09-12-2011 11:13 ]
#verlangtnaarweekend.

1
2
3
4
5
6
7
8
| private def format(input: String, args: List[Any]) = { args.length match { case 1 => input.format(args(0)) case 2 => input.format(args(0), args(1)) case 3 => input.format(args(0), args(1), args(2)) case _ => input } } |
Je kunt toch gewoon een Object[] new-en en die vullen met een foreach over die list. Lijkt me?YopY schreef op vrijdag 09 december 2011 @ 15:16:
en nergens te vinden hoe je een Scala List omzet naar een propere array van Objects die java's MessageFormat verwacht,. Dan maar zo.
Zou kunnen... Maar idealiter doe ik het op de Scala 'ideomatische' manier, anders lijkt het zo lelijk en krijg ik mijn puristische collega op m'n nekPrisonerOfPain schreef op vrijdag 09 december 2011 @ 15:36:
[...]
Je kunt toch gewoon een Object[] new-en en die vullen met een foreach over die list. Lijkt me?
1
2
3
4
| private IEnumerable<string> getAllLines(string filepath) { return File.ReadAllLines(filepath); } |
versus
1
2
3
4
5
6
7
8
9
10
11
12
13
| private IEnumerable<string> getAllLines(string filepath) { List<string> list = new List<string>(); using (StreamReader reader = new StreamReader(filepath)) { string line; while ((line = reader.ReadLine()) != null) { list.Add(line); } } return list; } |
Eerste code was door mij geschreven, alle andere studenten hadden ongeveer de tweede code geschreven.
(Versimpeld voorbeeld!)
1
2
3
4
5
6
7
8
9
10
11
| private static IEnumerable<string> getAllLines(string filepath) { using (StreamReader reader = new StreamReader(filepath)) { string line; while ((line = reader.ReadLine()) != null) { yield return line; } } } |
Uitgaande van redelijke kleine bestanden, anders is een grotere buffer nuttig.
Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten
Maar als je de API kent, waarom zou je die dan wrappen?Styxxy schreef op vrijdag 09 december 2011 @ 16:58:
In het kader van "ken je API":
C#:
1 2 3 4 private IEnumerable<string> getAllLines(string filepath) { return File.ReadAllLines(filepath); }
Klinkt als een irritante gast, die collega van jeYopY schreef op vrijdag 09 december 2011 @ 15:43:
[...]
Zou kunnen... Maar idealiter doe ik het op de Scala 'ideomatische' manier, anders lijkt het zo lelijk en krijg ik mijn puristische collega op m'n nek.
Was als voorbeeld om een Database Function maken voor MSSQL. Vandaar dat het in een wrapper functie zit (ik heb de attributes weg gelaten van die MSSQL).Zeebonk schreef op vrijdag 09 december 2011 @ 17:27:
[...]
Maar als je de API kent, waarom zou je die dan wrappen?
Ik weet niet of dat mag voor een SQL Functionpedorus schreef op vrijdag 09 december 2011 @ 17:25:
In het kader van hoe het beter kan:
C#:
1 ... // yield
Uitgaande van redelijke kleine bestanden, anders is een grotere buffer nuttig.
[ Voor 32% gewijzigd door Styxxy op 09-12-2011 17:59 ]
Zo een hebben wij er ook zitten, alleen zijn "purisme" en code style guidelines komen uit een boek uit 1998:PrisonerOfPain schreef op vrijdag 09 december 2011 @ 17:37:
[...]
Klinkt als een irritante gast, die collega van je
-var mag niet, want is onduidelijk
-linq mag niet, want is onduidelijk (lees: hij snapt het niet)
Ik kan zo nog wel even doorgaan, maar het gevolg is in ieder geval dat niemand iets aan "zijn" code mag veranderen. Nou best hoor, ga je toch lekker met je project in je eentje op een eiland zitten!
[/pre-weekend rant]
Ennu: weekend!!

Geen probleem, zolang je bijv. geen nieuwe database-connectie achterlaat in dezelfde thread.
Overigens wordt normaliter Dispose aangeroepen voor de using(), maar kan verkeerde code dat achterwege laten als je handmatig de Iterator onvolledig doorloopt en niet disposed. Ook iets om rekening mee te houden.
Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten
Dan is het ook niet echt handiger hoorpedorus schreef op vrijdag 09 december 2011 @ 19:08:
[...]
Geen probleem, zolang je bijv. geen nieuwe database-connectie achterlaat in dezelfde thread.
Nou de var is wel een ding waar ik het nut ook niet van inzie. als je in je declaratie een return waarde uit een methode terug krijgt is het wel fijn om te zien wat je terug krijgt.
Wat is nou de moeite om ff de declaratie uit te schrijven ipv de shortcut var te gebruiken ?
Als ik in dat geval dit moet gaan typen:eBoR schreef op vrijdag 09 december 2011 @ 19:56:
[...]
Nou de var is wel een ding waar ik het nut ook niet van inzie. als je in je declaratie een return waarde uit een methode terug krijgt is het wel fijn om te zien wat je terug krijgt.
Wat is nou de moeite om ff de declaratie uit te schrijven ipv de shortcut var te gebruiken ?
1
| IEnumerable<IDictionary<Keyed<MyObject>, IList<ResultModel>>> result = service.GetSomething(); |
tegenover
1
| var result = service.GetSomething(); |
Dan ga ik voor var
Maargoed, lets not get into that discussion... _again_...
[ Voor 0% gewijzigd door D-Raven op 09-12-2011 20:27 . Reden: > teveel ]
Het is vooral handig als je bijvoorbeeld wilt switchen van int's naar double's (ik noem maar wat), door de type inference van 'var' hoef je dan namelijk niet meer het type van je variabele met de hand te veranderen. Tevens kan het wel handig zijn als je iets hebt als Dictionary<int, Dictionary<string, string>> bla = new Dictionary<int, Dictionary<string, string>>();.eBoR schreef op vrijdag 09 december 2011 @ 19:56:
[...]
Nou de var is wel een ding waar ik het nut ook niet van inzie. als je in je declaratie een return waarde uit een methode terug krijgt is het wel fijn om te zien wat je terug krijgt.
Wat is nou de moeite om ff de declaratie uit te schrijven ipv de shortcut var te gebruiken ?
Zie boven.
Nee! Met yield return wordt daadwerkelijk per rij gewerkt. Het werkt dus ook voor datasets die niet eens in het geheugen passen. Zie bijvoorbeeld hier.Styxxy schreef op vrijdag 09 december 2011 @ 19:51:
[...]
Dan is het ook niet echt handiger hoor. Je laadt nog steeds eerst heel de collectie in om die daarna te yield-returnen. Kan je evengoed de collectie zelf returnen.
Zie \[C#][discussie] Lekker veel var gebruiken?eBoR schreef op vrijdag 09 december 2011 @ 19:56:
Nou de var is wel een ding waar ik het nut ook niet van inzie. als je in je declaratie een return waarde uit een methode terug krijgt is het wel fijn om te zien wat je terug krijgt.
Wat is nou de moeite om ff de declaratie uit te schrijven ipv de shortcut var te gebruiken ?
[ Voor 30% gewijzigd door pedorus op 09-12-2011 21:47 . Reden: kon ik natuurlijk niet laten liggen ]
Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten
Thx voor de infopedorus schreef op vrijdag 09 december 2011 @ 21:43:
[...]
Nee! Met yield return wordt daadwerkelijk per rij gewerkt. Het werkt dus ook voor datasets die niet eens in het geheugen passen. Zie bijvoorbeeld hier.
Nice, maar ik vraag me af hoe die gast uiteindelijk nog overzicht houd met al die adres ranges....
eBoR schreef op vrijdag 09 december 2011 @ 19:56:
[...]
Nou de var is wel een ding waar ik het nut ook niet van inzie. als je in je declaratie een return waarde uit een methode terug krijgt is het wel fijn om te zien wat je terug krijgt.
Wat is nou de moeite om ff de declaratie uit te schrijven ipv de shortcut var te gebruiken ?
1
| MyTypeWithAVeryVeryLongNameSoThatItDoesNotFitOnMyScreen x = new MyTypeWithAVeryVeryLongNameSoThatItDoesNotFitOnMyScreen (someArgument); |
vs
1
| var x = new MyTypeWithAVeryVeryLongNameSoThatItDoesNotFitOnMyScreen (someArgument); |
var maakt in sommige gevallen uw code gewoon veel leesbaarder, omdat het overbodige informatie achterwege laat.
(Daarnaast heb je het ook nodig als je met anonymous types gaat werken)
In het geval van primitives ga ik eigenlijk var nooit gaan gebruiken, omdat het juist dan minder duidelijk wordt, vind ik.Het is vooral handig als je bijvoorbeeld wilt switchen van int's naar double's (ik noem maar wat), door de type inference van 'var' hoef je dan namelijk niet meer het type van je variabele met de hand te veranderen.
[ Voor 17% gewijzigd door whoami op 09-12-2011 22:33 ]
https://fgheysels.github.io/
Verwijderd
Mijn vaste pc heeft het begeven en ik heb maandag examen Netweken, mijn slechtste vak ... normaal gezien vraag ik dan om de haverklap uitleg via een klasgenoot op Skype, maar dat zit er nu dus niet echt meer in. Oefeningen maken enzo doe ik op mijn laptop via VM's die we van school kregen want er staat standaard Linux Mint op. Ik zet hier liefts zo weinig mogelijk software op dus besloot ik mijn oude PowerMac G4 van onder het stof te halen. Ik download Skype en installleer hem, maar ik krijg de foutmelding dat het bestand misschien corrupt is of iets dergelijks. Na het 5 keer opnieuw gedownload te hebben ga ik maar op zoek naar oudere versies.
Daar begint de miserie: versies die te nieuw zijn kan ik niet gebruiken omdat ik VERPLICHT wordt de nieuwe versie af te halen (die ik dan niet kan gebruiken). Versies die ouder zijn slagen er niet in mij succesvol in te loggen.
Van miserie dan toch maar tegen mijn principes Skype op mijn laptop aan het installeren ...
Er is maar één nuttig gebruik voor var's; Anonymous Typeswhoami schreef op vrijdag 09 december 2011 @ 22:31:
[...]
code:
1 MyTypeWithAVeryVeryLongNameSoThatItDoesNotFitOnMyScreen x = new MyTypeWithAVeryVeryLongNameSoThatItDoesNotFitOnMyScreen (someArgument);
vs
code:
1 var x = new MyTypeWithAVeryVeryLongNameSoThatItDoesNotFitOnMyScreen (someArgument);
var maakt in sommige gevallen uw code gewoon veel leesbaarder, omdat het overbodige informatie achterwege laat.
(Daarnaast heb je het ook nodig als je met anonymous types gaat werken)
[...]
In het geval van primitives ga ik eigenlijk var nooit gaan gebruiken, omdat het juist dan minder duidelijk wordt, vind ik.
1
2
3
4
| var jsonObject = new { test = "blaat", hallo = 1 } |
Vaak in MVC3 heb ik veel json objecten en om daar dan elke keer een struct voor te maken is een beetje gaar.
Als je dat geen moeite vindt dan heb je nog nooit code geschreven die veelvuldig gebruik maakt van generics. En ook in het geval van een new is het gewoon onnodig verbose.eBoR schreef op vrijdag 09 december 2011 @ 19:56:
Wat is nou de moeite om ff de declaratie uit te schrijven ipv de shortcut var te gebruiken ?
[ Voor 10% gewijzigd door .oisyn op 09-12-2011 23:30 ]
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.
Ik zie liever:
1
2
3
4
5
| var customer = new Customer(); var firstCustomer = Dal.Customers.OrderBy(cust => cust.CustomerNumber).First(); var customersDieHenkHeten = from cust in Dal.Customers where String.Equals(cust.FirstName, "Henk") select cust; |
Dan dit:
1
2
3
4
5
| Customer c = new Customer(); Customer fc = Dal.Customers.OrderBy(cust => cust.CustomerNumber).First(); IEnumerable<Customer> henkjes = from cust in Dal.Customers where String.Equals(cust.FirstName, "Henk") select cust; |
Dat valt me vaak op wanneer ik het tweede gebruikt zie worden, er worden dan ineens afkortingen verzonnen die helemaal nergens meer op slaan.
Maar dat is een kwestie van smaak.
We are shaping the future
ik gebruik veelvuldig generics. Maar het ligt ook wel een beetje aan wat de collega's doen ( en wat afgesproken is ) . En ik ben zelf wel fan van explicitiet declaren..oisyn schreef op vrijdag 09 december 2011 @ 23:29:
[...]
Als je dat geen moeite vindt dan heb je nog nooit code geschreven die veelvuldig gebruik maakt van generics. En ook in het geval van een new is het gewoon onnodig verbose.
Maar ik zal niet de var discussie opnieuw aanzwengelen

☻/
/▌
/ \ Analyseert | Modelleert | Valideert | Solliciteert | Generaliseert | Procrastineert | Epibreert |
Wat let je om er zelf verder in te duiken?Ghehe schreef op zaterdag 10 december 2011 @ 13:15:
Effe mijn taak aan het afmaken voor school (Python).Python is eigenlijk nog wel een leuke taal eens je aan de syntax gewend bent. Spijtig dat we alleen de basis zien, ik had wel wat meer Python in mijn opleiding willen zien.
Ander schoolwerk.DutchAddick schreef op zaterdag 10 december 2011 @ 16:19:
[...]
Wat let je om er zelf verder in te duiken?

Altijd leuk om je eigen bagger een paar jaar later terug te zien. Owja, niet rechtermuisknop gebruiken aub.
Let op: Mijn post bevat meningen, aannames of onwaarheden
[ Voor 3% gewijzigd door Gamebuster op 10-12-2011 22:26 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Denk een typherhaalder ofzo... De tijd verloopt ook heel langzaam, of hij kan heel snel en perfect typenGamebuster schreef op zaterdag 10 december 2011 @ 21:37:
[...]
Hoe is dit opgenomen? Ik neem aan dat hij niet zo consequent typt
Echt godsonmogelijk dat een mens zo direct, perfect en efficiënt kan programmeren, zelfs al zou het enkel 10x versneld zijn.
{signature}
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Tuurlijk zitten er ook stukken tussen waar je gewoon een uur bezig bent om met 10 regels code te eindigen, maar da's niet zo leuk om naar te kijken nietwaar?Voutloos schreef op zaterdag 10 december 2011 @ 22:41:
Het 'typen' in dat filmpje heeft echt geen drol met programmeren te maken. Het lijkt een scripted animatie welke op een leuke manier naar een eindresultaat toewerkt.
Echt godsonmogelijk dat een mens zo direct, perfect en efficiënt kan programmeren, zelfs al zou het enkel 10x versneld zijn.
Lekker op de bank
Verwijderd
Wat een prachtige 404-pagina ookGamebuster schreef op zaterdag 10 december 2011 @ 21:32:
http://groepsreizeneuropa.eu/
Altijd leuk om je eigen bagger een paar jaar later terug te zien. Owja, niet rechtermuisknop gebruiken aub.
Dat klopt. Alleen mis ik ook het leuke aspect van deze kwartier durende ADHD typecursus.ZaZ schreef op zondag 11 december 2011 @ 00:57:
[...]
Tuurlijk zitten er ook stukken tussen waar je gewoon een uur bezig bent om met 10 regels code te eindigen, maar da's niet zo leuk om naar te kijken nietwaar?
{signature}
Het is ook niet bedoelt om even leuk naar te kijken. Maar meer bedoelt om te laten zien hoe een emulator word gemaakt. Je word nergers geforceerd om er voor je plezier naar te kijken....Voutloos schreef op zondag 11 december 2011 @ 12:56:
[...]
Dat klopt. Alleen mis ik ook het leuke aspect van deze kwartier durende ADHD typecursus.
Nothing to see here!
Hmmm.... http://www.dedrait.com/Gamebuster schreef op zaterdag 10 december 2011 @ 21:32:
http://groepsreizeneuropa.eu/
Altijd leuk om je eigen bagger een paar jaar later terug te zien. Owja, niet rechtermuisknop gebruiken aub.
Dit topic is gesloten.
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep voor iedereen in de Devschuur® en niet als vraagbaak.