De Devschuur Coffee Corner Overzicht Volgende deel Laatste deel

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

Pagina: 1 ... 42 ... 201 Laatste
Acties:
  • 852.088 views

Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
Loop een beetje met PHP en CURL te kloten. Doe ik een post request. via curl_exec(). Mijn functie returned netjes (dacht ik) het resultaat, maar er staat telkens een 1 achter.

Uiteindelijk kom ik er achter dat curl_exec() default gewoon het resultaat echo'd. Dat daardoor mijn variabele waar in ik het resultaat wilde vangen true werd ipv het resultaat, en dat het echte resultaat meteen ge-echo'd werd. Hierna echo'de ik mooi het resultaat van de hele functie (TRUE) wat afgedrukt wordt als '1'.

Nee lekker logisch weer PHP!!

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
roy-t schreef op donderdag 15 april 2010 @ 10:53:
Uiteindelijk kom ik er achter dat curl_exec() default gewoon het resultaat echo'd. Dat daardoor mijn variabele waar in ik het resultaat wilde vangen true werd ipv het resultaat, en dat het echte resultaat meteen ge-echo'd werd. Hierna echo'de ik mooi het resultaat van de hele functie (TRUE) wat afgedrukt wordt als '1'.
Return Values

Returns TRUE on success or FALSE on failure. However, if the CURLOPT_RETURNTRANSFER option is set, it will return the result on success, FALSE on failure.
O-)

Dat ie automatisch output stuurt richting de browser en dat zoiets niet gedocumenteerd is, is dat wel weer vreemd. Het komt alleen ter sprake in de comments van het voorbeeld...

PS. Het is wel de reden dat ik zo ontzettend framework-afhankelijk ben geworden.
PHP:
1
2
3
4
5
6
$client = new HttpClient($url);
$response = $client->request();

if ($response->isSuccessful()) {
  echo $response->getBody();
}
e.d.

[ Voor 11% gewijzigd door mithras op 15-04-2010 11:01 ]


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
Documentatie, I know, grappige is, dat ik dit stukje 3x overgelezen heb. Ik had zelfs returntransfer al ingesteld, alleen ipv TRUE had ik er $url ingezet (stom stom stom), maar geen foutmelding, natuurlijk :/.

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 26-09 19:17

Matis

Rubber Rocket

Ik ben denk ik ook een beetje verziekt/verwend met Zend Framework :$

Vooral de error-codes extracten uit je response werkt echt heel relaxt en de opbouw van je queries wordt ook *te* eenvoudig gemaakt :)

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


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 27-09 15:57

Haan

dotnetter

Hoe minder tijd je kwijt bent aan triviale dingen, hoe meer tijd je overhoudt om de echte problemen op te lossen.
* Haan O+ frameworks
offtopic:
zolang ze maar doen wat ik wil ;)

[ Voor 13% gewijzigd door Haan op 15-04-2010 11:05 ]

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Matis schreef op donderdag 15 april 2010 @ 11:03:
[...] en de opbouw van je queries wordt ook *te* eenvoudig gemaakt :)
Database bedoel je? *pling* Doctrine maakt het nu nóg gemakkelijker!
User:
  columns:
    id: integer(4)
    name: varchar(255)
    group_id: integer(4)

Group:
  columns:
    id: integer(4)
    name: varchar(255)

$ ./doctrine generate-models-yaml && ./doctrine create-tables

PHP:
1
2
3
4
5
6
7
8
$group = new Group;
$group->name = 'Group1';
$group->save();

$user = new User;
$user->name = 'Matis';
$user->Group = $group;
$user->save();
Heel datamodel, 2 seconden werk. Je hoeft het alleen nog maar uit te denken, de rest gaat écht automatisch. En dan is Doctrine2 een nog leuker feestje :9

* mithras ♥ code generators. Zend_Tool en de Doctrine_Cli zijn geweldig om mee te werken :)

Acties:
  • 0 Henk 'm!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 20:59

RayNbow

Kirika <3

mithras schreef op donderdag 15 april 2010 @ 11:11:
$ ./doctrine generate-models-yaml && ./doctrine create-tables
Genereert dat complete code?

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
RayNbow schreef op donderdag 15 april 2010 @ 11:14:
[...]

Genereert dat complete code?
De YAML file is redelijk versimpelt, maar hier komt het wel op neer ja.

Eigenlijk kan je vanuit een YAML bestand je gehele applicatie modelleren én onderhouden. De YAML beschrijf je modellen met properties (wat in weze neer komt op beschrijven van database tabellen). Ook kan je hieraan behaviours koppelen: extra features zoals timestampable (record krijgt create & update timestamp), i18n (bepaalde velden kan je elk in aparte taal invullen), versionable (elke versie wordt apart opgeslagen, altijd versies terug kunnen kijken).

Met de generator en bepaalde opties creeer ik een klasse met gegeven prefix, in Zend wordt bijv. de User een Application_Model_User class. Deze inherit van Application_Model_Base_User welke de doctrine code bevat. Zo kan ik zelf eigen methods in mijn model zetten, terwijl het gehele active record gedeelte uit de abstract base class komt.

Met de cli kan je ook tabellen aanmaken, dummy data ("fixtures") laden, database droppen en (vooral handig) migrations uitvoeren. Op basis van het verschil tussen YAML en php model, of verschil tussen php model en database tabellen berekent Doctrine de verschillen. Die worden opgeslagen in een Doctrine migrations php class, zodat je altijd op en neer kunt migreren :9

* mithras is dan nog niet eens over Zend_Tool begonnen :X

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Leuk dingetje wat ik weleens tegenkom in onze code:

Cascading Stylesheet:
1
2
3
.hibbem {
    display:none;
}


Voor de lollige medewerkers onder ons die tevaak Jiskefet hebben gekeken (http://www.youtube.com/watch?v=NR9f00ju1sQ) :D

Acties:
  • 0 Henk 'm!

  • _Erikje_
  • Registratie: Januari 2005
  • Laatst online: 27-09 12:05

_Erikje_

Tweaker in Spanje

* _Erikje_ moet lachen om de php ontwikkelaars die het helemaal het eind vinden dat hun databasemodel wordt gegenereerd

Dat is toch de gewoonste zaak van de wereld! In java kan dit al jaren dmv Hibernate. Rails heeft het sinds het begin er in zitten en Grails ook. Grails doet het in mijn ogen het mooist: definieer gewoon je class met de attributen die je eist en hij ziet vanzelf dat het een database object is. Daar maakt hij tijdens boot een databasetabel van.

Op de manier waar mithras het beschrijft vind ik zelf nog erg spartaans. Je moet zelf je foreign keys definieren (group_id) ipv gewoon een lijst van gerelateerde objecten te geven.

Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Haan schreef op donderdag 15 april 2010 @ 11:05:
Hoe minder tijd je kwijt bent aan triviale dingen, hoe meer tijd je overhoudt om de echte problemen op te lossen.
* Haan O+ frameworks
offtopic:
zolang ze maar doen wat ik wil ;)
offtopic:
En aangeven wat je fout doet als ze niet doen wat je wilt :+.
Aan goede foutmeldingen schort het nog wel eens.

@Doctrine, werkte wel leuk, maar d'r was een versie van PHP nodig die hoger was dan die op de host stond :/. Ik ben voorstander van 'cutting edge', maar dat was dan weer jammer.

* YopY klopt nog lekker handmatig JDBC code uit. Ook omdat Hibernate wat moeilijk te integreren is in een OSGI omgeving.

Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

De meeste frameworks zijn een verschrikking imho: volgens de voorbeelden werken ze altijd geweldig, en alles is zo makkelijk, een druk op de knop, etc, totdat je "echt" iets wilt doen en dan kan het niet, of ben je zo ontzettend veel tijd kwijt met het framework leren en dan eigen plugins/modules te schrijven dat je het in dezelfde tijd zelf had kunnen schrijven zonder dependency en zodat elke andere programmeur het ook nog begrijpt.

Acties:
  • 0 Henk 'm!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 20:59

RayNbow

Kirika <3

YopY schreef op donderdag 15 april 2010 @ 12:15:
[...]


offtopic:
En aangeven wat je fout doet als ze niet doen wat je wilt :+.
Aan goede foutmeldingen schort het nog wel eens.
Foutmeldingen? :+

When Rails Fails
A ‘When Rails Fails’ Follow-up
When JBoss Seam Fails
When Scala DSLs Fail

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Acties:
  • 0 Henk 'm!

  • .Gertjan.
  • Registratie: September 2006
  • Laatst online: 17-02 21:20

.Gertjan.

Owl!

Zoijar schreef op donderdag 15 april 2010 @ 12:36:
De meeste frameworks zijn een verschrikking imho: volgens de voorbeelden werken ze altijd geweldig, en alles is zo makkelijk, een druk op de knop, etc, totdat je "echt" iets wilt doen en dan kan het niet, of ben je zo ontzettend veel tijd kwijt met het framework leren en dan eigen plugins/modules te schrijven dat je het in dezelfde tijd zelf had kunnen schrijven zonder dependency en zodat elke andere programmeur het ook nog begrijpt.
Het wordt nog leuker als frameworks veranderen in de loop van de tijd. Als ze intern veranderen zijn er niet direct problemen, maar als men grote wijzigingen gaat doen in interfaces naar buiten dan kan dat best een grote impact hebben op de code die het gebruikt (je zou dan kunnen besluiten niet meer te upgraden, maar dat is ook niet gewenst). En stel je eens voor wat er gebeurt als je een ander framework wilt toepassen.

Het wordt meestal ook aangeraden om je eigen klassen tussen de code en het framework te plaatsen en deze aan te roepen. In eerste instantie zullen de requests direct naar het framework gaan maar in de toekomst heb je genoeg flexibiliteit om wijzigingen aan te brengen of om bijvoorbeeld van framework te wisselen.

Ook kun je in je eigen classes zaken afvangen/combineren die in het framework niet echt logisch zijn gedaan, en geloof me er zijn altijd wel wat zaken in een framework waarvan je denkt: WTF? Whyyyyy...

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.


Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

.Gertjan. schreef op donderdag 15 april 2010 @ 13:54:
Ook kun je in je eigen classes zaken afvangen/combineren die in het framework niet echt logisch zijn gedaan, en geloof me er zijn altijd wel wat zaken in een framework waarvan je denkt: WTF? Whyyyyy...
Adapter (of Facade) is idd handig bij zo'n framework.

Hehe, ja, zoals dat bijvoorbeeld bijna elke database view geen server-side paging ondersteund. Dat je SQL server op een andere machine draait, mogelijk niet via een dedicated gigabit netwerk, schijnt ook nooit echt rekening mee te worden gehouden. Voor een grote tabel stuur je gewoon een miljoen queries en haal je 2GB op...

[ Voor 4% gewijzigd door Zoijar op 15-04-2010 14:06 ]


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 27-09 15:19

Janoz

Moderator Devschuur®

!litemod

Grappig om te zien, en dan doel ik vooral op de reacties. De volwassenheid van de reacties is misschien wel een leuke maatstaf voor de volwassenheid van het platform. (Ik ben benieuwd wat voor flamewar er losgebarsten was wanneer er ook een artikeltje over php geweest was ;) )

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Laurens-R
  • Registratie: December 2002
  • Laatst online: 29-12-2024
Ok, hoe super awesome :P

Ik ben tegen een tool aangelopen op het internet die ik 14 jaar geleden heb geschreven in VB4 (of 5) toen ik 12 was :P Ik was dat ding al jaren kwijt!

Het kreng draait nog steeds, maar moet er wel om lachen hoe slecht het ding eigenlijk in elkaar zit (runtime error op runtime error) :P

http://download.softwareload.de/Internet-Composer/5182

This just made my day :D Lang leve duitse shareware sites :P

[ Voor 19% gewijzigd door Laurens-R op 15-04-2010 14:57 ]


Acties:
  • 0 Henk 'm!

  • Koetjeboe
  • Registratie: Maart 2002
  • Laatst online: 27-09 15:33

Koetjeboe

Boe, zegt de koe

Haha, denk dat iedereen dat wel vanzich kent :P Zo heb ik (QB45 :9~ ): Superdog! (Soort tamagotchi hond) Krijg het alleen niet meer geopend, geluidsbestanden werken nog wel...

Ook mooi, de graphics zitten in .LOL bestanden :P

[ Voor 21% gewijzigd door Koetjeboe op 15-04-2010 15:07 ]


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
_Erikje_ schreef op donderdag 15 april 2010 @ 11:53:
* _Erikje_ moet lachen om de php ontwikkelaars die het helemaal het eind vinden dat hun databasemodel wordt gegenereerd
Haha, in zekere zin heb je wel gelijk natuurlijk. Het mooie vind ik dat je nu een prima taal hebt die laagdrempelig is, op veel ondersteuning kan rekenen en met de laatste trends (frameworks en php5.3) een solide én performante applicatie kan afleveren.
Grails doet het in mijn ogen het mooist: definieer gewoon je class met de attributen die je eist en hij ziet vanzelf dat het een database object is. Daar maakt hij tijdens boot een databasetabel van.

Op de manier waar mithras het beschrijft vind ik zelf nog erg spartaans. Je moet zelf je foreign keys definieren (group_id) ipv gewoon een lijst van gerelateerde objecten te geven.
Beide kan ook hoor :) Ik kan enerzijds de klasses met setup-code zelf schrijven, met Doctrine2 kan je ook met wat phpdoc comments de entity configureren.

Daarnaast hoef je niet een foreign key te specificeren, maar met een optie "autodetect relations" hoef je dan niets meer te doen. Je kan de relatie ook beschrijven, maar dat vind ik meer werk :p
Zoijar schreef op donderdag 15 april 2010 @ 12:36:
De meeste frameworks zijn een verschrikking imho: volgens de voorbeelden werken ze altijd geweldig, en alles is zo makkelijk, een druk op de knop, etc, totdat je "echt" iets wilt doen en dan kan het niet, of ben je zo ontzettend veel tijd kwijt met het framework leren en dan eigen plugins/modules te schrijven dat je het in dezelfde tijd zelf had kunnen schrijven zonder dependency en zodat elke andere programmeur het ook nog begrijpt.
Volgens mij heb je dan te maken met drempel en leercurve. Uiteindelijk kan je, als je het systeem een beetje kent, zeer makkelijk je uitbreidingen maken. Ten minste, dat is mijn ervaring. Wellicht dat de keuze van taal+framework dit soort mogelijkheden heel erg beinvloed :)

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Cartman! schreef op donderdag 15 april 2010 @ 11:29:
Leuk dingetje wat ik weleens tegenkom in onze code:

Cascading Stylesheet:
1
2
3
.hibbem {
    display:none;
}


Voor de lollige medewerkers onder ons die tevaak Jiskefet hebben gekeken (http://www.youtube.com/watch?v=NR9f00ju1sQ) :D
Haha, geniaal..

Hier op werk is dat filmpje ook legendarisch, zal morgen ff die class introduceren. :D

[ Voor 11% gewijzigd door Michali op 15-04-2010 19:52 ]

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 26-09 20:57

Sebazzz

3dp

Cartman! schreef op donderdag 15 april 2010 @ 11:29:
Leuk dingetje wat ik weleens tegenkom in onze code:

Cascading Stylesheet:
1
2
3
.hibbem {
    display:none;
}
Ik kan me er wel bij voorstellen dat iemand dat doet, bijvoorbeeld als je een style="display:none;" in je HTML gebruikt gaat de webrichtlijnen validator over de zeik dat je inline styles gebruikt. Uiteraard zal een handmatige test daar overheen kijken.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

Verwijderd

Sebazzz schreef op donderdag 15 april 2010 @ 19:59:
[...]

Ik kan me er wel bij voorstellen dat iemand dat doet, bijvoorbeeld als je een style="display:none;" in je HTML gebruikt gaat de webrichtlijnen validator over de zeik dat je inline styles gebruikt. Uiteraard zal een handmatige test daar overheen kijken.
Ik vraag me af wat dan de meerwaarde er van is, het is net zoiets als geen 'target="_blank"' gebruiken en vervolgens een javascriptje te maken die het zelfde doet. :+
YopY schreef op donderdag 15 april 2010 @ 09:34:
[...]


Ik knapte af op Cake al tijdens de quickstart. Wie bedenkt een constructie zoals $this->post['Post']['id'] ipv gewoon $this->post->id of $post->id? Kan natuurlijk zijn dat ik het gewoon niet snap. Nee, ik heb meer met Zend Framework.
Hoelang geleden heb je de quickstart gelezen? :+ Tegenwoordig gebruik je gewoon $this->data. :9

[ Voor 29% gewijzigd door Verwijderd op 15-04-2010 20:19 ]


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 26-09 20:57

Sebazzz

3dp

Verwijderd schreef op donderdag 15 april 2010 @ 20:10:
[...]

Ik vraag me af wat dan de meerwaarde er van is, het is net zoiets als geen 'target="_blank"' gebruiken en vervolgens een javascriptje te maken die het zelfde doet. :+
Tsja als iemand per sé wilt valideren, dan kunnen ze alles doen he :p
Zelfde voor target, dat bestaat in XHTML 1.1 bijvoorbeeld niet meer.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 26-09 19:17

Matis

Rubber Rocket

Het *programmeren* van realtime logica is toch best wel lastig :P

Vooral de tijdkritische datapaden en de praktisch onmogelijke manier van debuggen maken het er niet makkelijker op :/

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


Acties:
  • 0 Henk 'm!

Verwijderd

Sebazzz schreef op donderdag 15 april 2010 @ 20:30:
[...]

Tsja als iemand per sé wilt valideren, dan kunnen ze alles doen he :p
Zelfde voor target, dat bestaat in XHTML 1.1 bijvoorbeeld niet meer.
Beetje kut oplossing natuurlijk, wat heeft het voor nut als je valideert, maar vervolgens wel de achterliggende gedachte negeert door er een nog smerigere functie in te bakken? :+ Soms is valid xhtml een beetje overrated.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Sebazzz schreef op donderdag 15 april 2010 @ 19:59:
[...]

Ik kan me er wel bij voorstellen dat iemand dat doet, bijvoorbeeld als je een style="display:none;" in je HTML gebruikt gaat de webrichtlijnen validator over de zeik dat je inline styles gebruikt. Uiteraard zal een handmatige test daar overheen kijken.
Het ging meer om dat het dan hibbem is ipv. hidden dus ;) (check de video)

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Verwijderd schreef op donderdag 15 april 2010 @ 20:10:
[...]

Ik vraag me af wat dan de meerwaarde er van is, het is net zoiets als geen 'target="_blank"' gebruiken en vervolgens een javascriptje te maken die het zelfde doet. :+
HTML5 gebruiken :Y)
offtopic:
Dat is dan wel specifiek voor target, maar toch
Sebazzz schreef op donderdag 15 april 2010 @ 19:59:
[...]

Ik kan me er wel bij voorstellen dat iemand dat doet, bijvoorbeeld als je een style="display:none;" in je HTML gebruikt gaat de webrichtlijnen validator over de zeik dat je inline styles gebruikt. Uiteraard zal een handmatige test daar overheen kijken.
Dit verschil gaat over hibbem vs hidden, maar je mist ook een ander punt. Wij gebruiken een base stylesheet met dingen als classes .left (float left), .right (float right), .float (overflow hidden, bevat dus floating element), .hidden (display hidden) en nog zo een paar. Dan kan je enorm snel een basisstijl maken.

Acties:
  • 0 Henk 'm!

  • Styxxy
  • Registratie: Augustus 2009
  • Laatst online: 26-09 22:30
Verwijderd schreef op donderdag 15 april 2010 @ 20:10:
[...]

Ik vraag me af wat dan de meerwaarde er van is, het is net zoiets als geen 'target="_blank"' gebruiken en vervolgens een javascriptje te maken die het zelfde doet. :+
Ik vind het zelfs irritant dat een website dwingt om een pagina te openen in een ander venster. Ik wil dit zelf eerder kunnen controleren ;).

Acties:
  • 0 Henk 'm!

  • Ram0n
  • Registratie: Maart 2002
  • Laatst online: 03-07 13:05

Ram0n

Bierbrouwende nerd

Styxxy schreef op donderdag 15 april 2010 @ 21:47:
[...]

Ik vind het zelfs irritant dat een website dwingt om een pagina te openen in een ander venster. Ik wil dit zelf eerder kunnen controleren ;).
Inderdaad... Ik beheer enkele grote fora en de gebruikers hebben meerdere keren gevraagd om links in nieuwe vensters te openen. Ik krijg het er maar niet in dat ze dat simpelweg zelf kunnen doen met de juiste gesture of toetsencombinatie. Ik vind het zó irritant als een website me dwingt iets in een nieuwe pagina te openen.

Eigenaar/brouwer Milky Road Brewery


Acties:
  • 0 Henk 'm!

Verwijderd

Ram0n schreef op donderdag 15 april 2010 @ 21:56:
[...]

Inderdaad... Ik beheer enkele grote fora en de gebruikers hebben meerdere keren gevraagd om links in nieuwe vensters te openen. Ik krijg het er maar niet in dat ze dat simpelweg zelf kunnen doen met de juiste gesture of toetsencombinatie. Ik vind het zó irritant als een website me dwingt iets in een nieuwe pagina te openen.
lab mix plus, en dan 1 venstermodus inschakelen. :Y)

maar inderdaad, waarom zou je iets (anders dan een bevestigings-popup) in een nieuw venser willen openen? anno 2010 heeft iedereen toch een browser met tab support 8)7

Acties:
  • 0 Henk 'm!

Verwijderd

Styxxy schreef op donderdag 15 april 2010 @ 21:47:
[...]

Ik vind het zelfs irritant dat een website dwingt om een pagina te openen in een ander venster. Ik wil dit zelf eerder kunnen controleren ;).
Ja daarom, het slaat nergens op om voor de gebruiker te beslissen of iets in een nieuw venster geopend moet worden, die keus kan de gebruiker zelf maken. Was het niet zo dat dat de/een reden was waarom target niet meer ondersteund werd? Zie trouwens dat hij weer valid is in html5, maar hij blijft imho net zo evil! :9

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

Iemand enig idee om in C# van een generieke T[] (die in de praktijk altijd blittable is) een pointer ernaar te verkrijgen? Dingen als sizeof en fixed mogen niet op een generiek type, en in nongeneric code heb je alleen de keuze uit een object[] waar je natuurlijk ook niets aan hebt...

Ik wil dus dit doen:
C#:
1
2
3
4
void Foo<T>(T[] bla)
{
    unsafe { fixed(void * ptr = bla) { /* doe iets met bla */ } }
}

Maar dat mag niet. Helaas is mijn implementatie nu een Foo(void*), waardoor je in de aanroepende code telkens de unsafe en fixed blokken moet plaatsen, maar daar wil ik juist vanaf.

.edit: d'Oh, zal je altijd zien, na het plaatsen van de post kun je ineens wel de juiste info in de docs vinden 8)7. GCHandle zou een oplossing moeten bieden.

.edit2: yup, dit werkt \o/
C#:
1
2
3
4
5
6
7
8
void Foo<T>(T[] data)
{
    GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned);
    IntPtr address = handle.AddrOfPinnedObject();
    int size = data.Length * Marshal.SizeOf(data[0]);
    // doe iets met size en address
    handle.Free();
}

Wel flauw dat Marshal.SizeOf() geen array accepteert.

[ Voor 28% gewijzigd door .oisyn op 16-04-2010 01:08 ]

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!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 26-09 20:57

Sebazzz

3dp

Wel mooi dat je ook gelijk niet meer unsafe hoeft te werken :)

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

Dat is helaas niet waar, de methods van GCHandle hebben een SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)

Goed, je hebt natuurlijk geen unsafe blokken meer nodig, maar je app is niet meer pure (maar goed, dat was ie toch al niet aangezien je iets met pointers ging doen ;))

[ Voor 34% gewijzigd door .oisyn op 16-04-2010 11:24 ]

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!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
Ik vraag me trouwens af waarom je uberhaupt met pointers loopt te kutten? Vaak is dat een gevallatje 'teveel C++ in C# willen doen'. Het kan natuurlijk een goede reden hebben, maar is het echt iets wat niet performant kan met gewone references?

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

OpenGL ES

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!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Maar kan je je T[] niet gewoon eerst naar Object[] casten zodat je wel fixed kan gebruiken?

Al is het niet meer nodig ;)

edit:
Oh dat kan natuurlijk niet, want valuetype[] kan je niet naar object[] casten, terwijl een valuetype wel naar object gecast kan worden 8)7

[ Voor 41% gewijzigd door Woy op 16-04-2010 12:20 ]

“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!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

Nee, want object is een boxed type. Een constructie als fixed(void * ptr = objArray) compileert ook niet eens.
Oh dat kan natuurlijk niet, want value type arrays kan je niet naar object[] casten 8)7
Dat ook niet? Vaag, ik dacht dat dat wel werkte...

[ Voor 40% gewijzigd door .oisyn op 16-04-2010 12:21 ]

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!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Maar wil je dan niet gewoon
[code=c#]
void Foo<T>( T[] data ) where T : struct
{
unsafe{ fixed( void* ptr = data ){ /*dosome*/ } }
}
[/code]
Dat mag volgens mij wel

Niet dus
.oisyn schreef op vrijdag 16 april 2010 @ 12:20:
Dat ook niet? Vaag, ik dacht dat dat wel werkte...
Het kan wel overigens
C#:
1
2
T[] arr1;
Object[] arr2 = (object[])(object)arr1;

:P

[ Voor 44% gewijzigd door Woy op 16-04-2010 12:26 ]

“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!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Ik zat ook nog aan een hack met structlayout te denken, maar dat kan niet in combinatie met generics. Je zou natuurlijk wel gewoon overloads kunnen gebruiken, zoals bij stackoverflow wordt gesuggereerd. Dat zou als voordeel kunnen hebben dat je geen copy maakt, want ik dacht dat GCAlloc dat deed.
.oisyn schreef op vrijdag 16 april 2010 @ 12:20:
Dat ook niet? Vaag, ik dacht dat dat wel werkte...
Tuurlijk niet, want dan kan je opeens willekeurige objecten in een byte-array kunnen stoppen ofzo. ;) Dit kan alleen in c# 4.0 met een out-parameter (het nieuwe covariance/contravariance). :p
Woy schreef op vrijdag 16 april 2010 @ 12:23:
Het kan wel overigens
C#:
1
2
T[] arr1;
Object[] arr2 = (object[])(object)arr1;

:P
Ik neem aan met :+ -smiley, want dit levert een invalidcastexception op als T[] geen object[]-array is. ;)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
mithras schreef op donderdag 15 april 2010 @ 21:17:
Dit verschil gaat over hibbem vs hidden, maar je mist ook een ander punt. Wij gebruiken een base stylesheet met dingen als classes .left (float left), .right (float right), .float (overflow hidden, bevat dus floating element), .hidden (display hidden) en nog zo een paar. Dan kan je enorm snel een basisstijl maken.
Volgens een X aantal CSS / XHTML puristen is dit 'bad practice' - je wilt geen gedrag opleggen in je CSS class naamgeving. Wat als je een div in een andere layout ineens rechts wilt laten zweven? Dan heb je een div class="left" en een css .left {float:right;}.

Of een .hidden {display:block;}. Natuurlijk is dat persoonlijk en zal in veel gevallen niet voorkomen, maar het is toch iets dat je in de gaten moet houden.

* YopY werkt met een tiental (spoedig meer) sites met dezelfde HTML templates maar afwijkende CSS.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

pedorus schreef op vrijdag 16 april 2010 @ 12:34:
Ik zat ook nog aan een hack met structlayout te denken, maar dat kan niet in combinatie met generics. Je zou natuurlijk wel gewoon overloads kunnen gebruiken, zoals bij stackoverflow wordt gesuggereerd. Dat zou als voordeel kunnen hebben dat je geen copy maakt, want ik dacht dat GCAlloc dat deed.
GCAlloc doet dat niet, net zo min als fixed() dat doet (ik heb het geverifieerd, zowel fixed als de GCAlloc leveren uiteindelijk dezelfde pointer op). Daarom moet je 'm ook pinnen, anders mag je AddrOfPinnedObject() niet eens aanroepen.

En die overloads zijn gewoon onwerkbaar. Ik weet niet wat voor vertexformat de gebruiker in een vertexbuffer wil keilen :). Ik ga niet voor elke permutatie een struct definieren, en daar een overload voor maken.
Tuurlijk niet, want dan kan je opeens willekeurige objecten in een byte-array kunnen stoppen ofzo. ;)
Da's natuurlijk onzin, dat je een dergelijke array hebt impliceert niet meteen dat je er ook willekeurige types in kunt kwakken :). Je kunt een string[] toch ook naar een object[] casten? Jouw argument gaat dan net zo goed op.

Maar goed, ik snap de reden verder wel. Elke array van reference types is in principe gewoon een array met object references, of je nou een string[] of een Form[] hebt, dus een andere view daarop maken is vrij simpel. Bij value types zal er geboxed moeten worden, en is de grootte van een element in een T[] afhankelijk van T zelf.

[ Voor 28% gewijzigd door .oisyn op 16-04-2010 13:02 ]

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!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
.oisyn schreef op vrijdag 16 april 2010 @ 12:49:
[...]
Da's natuurlijk onzin, dat je een dergelijke array hebt impliceert niet meteen dat je er ook willekeurige types in kunt kwakken :).
Idd
C#:
1
2
3
string[] foo = new string[1];
object[] bar = foo;
bar[0] = new object();

Levert een ArrayTypeMismatchException op.

Ik had het casten overigen inderdaad niet gecast, maar heb een dergelijk trucje wel eens gebruikt omdat je geen constraint op een generic type kan leggen dat het een Enum was.

Overigens is er wel iets voor te zeggen dat het inderdaad niet kan. Want bij het casten van een int naar object word die geboxed, en als je toe zou staan dat je int[] naar object[] zou kunnen casten, dan zouden alle elementen geboxed moeten worden, en dus feitenlijk ook een nieuwe array opleveren.

[ Voor 20% gewijzigd door Woy op 16-04-2010 13:01 ]

“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!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

Woy schreef op vrijdag 16 april 2010 @ 12:55:
Want bij het casten van een int naar object word die geboxed, en als je toe zou staan dat je int[] naar object[] zou kunnen casten, dan zouden alle elementen geboxed moeten worden, en dus feitenlijk ook een nieuwe array opleveren.
Ja zoiets had ik er net bij geedit, maar een hele kopie hoef je er natuurlijk niet per se van te maken. Je zou ook kunnen boxen tijdens het uitlezen van elementen.

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!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Tsja, sinds generics is die functie toch al niet zo erg nodig meer, dus ik verwacht niet dat ze daar nog iets aan gaan doen. Het voordeel van generics is ook dat je meerdere versies in machinecode krijgt, in plaats van al dat (un)boxing. (Inderdaad even het verkeerde argument van stal gehaald trouwens. :p)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • afraca
  • Registratie: April 2009
  • Laatst online: 13-08 16:46

afraca

Open Source!

Leuk wat mensen met hun vrije tijd doen:
A Japanese blogger Ku-ma-me made an interesting program code. It is a variation of Quine program.

The Ruby code generates Python code, which generates Perl code, which generates Lua code, which generates OCaml code, which generates Haskell code, which generates C code, which generates Java code, which generates Brainfuck code, which generates Whitespace code, which generates Unlambda code, which generates the original Ruby code again.
http://asiajin.com/blog/2...11-programming-languages/

IMDB vote history | Next-gen OS, audio en video player, search engine en Movie DB


Acties:
  • 0 Henk 'm!

  • Ram0n
  • Registratie: Maart 2002
  • Laatst online: 03-07 13:05

Ram0n

Bierbrouwende nerd

Holy... Ik weet niet of ik dit cool vind, of dat ik me ernstig zorgen moet maken over die vent :D Maar knap is het zeker!

Eigenaar/brouwer Milky Road Brewery


Acties:
  • 0 Henk 'm!

  • afraca
  • Registratie: April 2009
  • Laatst online: 13-08 16:46

afraca

Open Source!

Nouja, ernstig zorgen is wellicht wat te erg. Dit schrijft hij zelf:
Thank you all. I'm glad the whole world looks this despite Japanese article.

This is actually easier than it looks. In fact, it took less than three hours to write this. I wrote only Ruby and Haskell in effect.

IMDB vote history | Next-gen OS, audio en video player, search engine en Movie DB


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
Pff, in PHP blijf je toch maar rare dingen tegen komen. Maak je je eigen exception die overerft van Exception. Kan je de methode getMessage() niet overriden omdat deze als final gemarkeerd is. :/. Is toch van de zotte?

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • hostname
  • Registratie: April 2009
  • Laatst online: 21:32
Daar is omheen te hacken door in de constructor $this->message te veranderen, maar het blijft een hack. Overigens kan ik me niet bedenken wanneer je de message van een exception zou willen veranderen?

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
De message van een exception wil je juist meestal veranderen, maar daarvoor hoef je inderdaad niet perse getMessage te overriden. Het lijkt me dat je op het moment dat de exception aangemaakt word al weet welke message er nodig is. Al blijft het gek dat getMessage final is.

“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!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
hostname en Woy.

Je je kunt inderdaad in de constructor de message veranderen, daar had ik nog niet aan gedacht, zal mijn code even aanpassen. Blijf het wel raar vinden dat getMessage final is :/.

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • hostname
  • Registratie: April 2009
  • Laatst online: 21:32
Ben ik nu de enige die ReflectionProperty::setAccessible() een erg rare method vindt? Je kan daarmee jezelf toegang tot protected en private properties van andere objects verschaffen. Hetzelfde bestaat btw ook voor methods.

(ja, weer PHP)

Acties:
  • 0 Henk 'm!

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Tsja, met print_r kan het ook he? :P

Acties:
  • 0 Henk 'm!

Verwijderd

Bezig met RMI in Java .. en werkelijk . wordt er zooo moe van.
Het is echt dat het moet maar 1 keer en nooooit weer.

Exception omdat policy niet goed staat .. goedzetten. Exception dat ie STUB file niet kan vinden. Codebase goedzetten. en dan nu weer uitvogelen hoe ik die client fatsoenlijk aan de praat kan krijgen.. Maarja komen vast nog wel meer leuke Exceptions aan :( RMI :(

Acties:
  • 0 Henk 'm!

  • hostname
  • Registratie: April 2009
  • Laatst online: 21:32
eamelink schreef op woensdag 21 april 2010 @ 20:53:
Tsja, met print_r kan het ook he? :P
Dat is bekijken, hiermee kan je ze ook wijzigen ... ;)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

Wellicht? Ik iig niet. Verdomd irritant als je een keer wat code schrijft puur voor debugging en je moet je in rare bochten wringen om ergens bij te kunnen. Soms wil je gewoon een "trust me, I know what I'm doing" knop.

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!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 26-09 20:57

Sebazzz

3dp

.oisyn schreef op woensdag 21 april 2010 @ 21:04:
[...]

Wellicht? Ik iig niet. Verdomd irritant als je een keer wat code schrijft puur voor debugging en je moet je in rare bochten wringen om ergens bij te kunnen. Soms wil je gewoon een "trust me, I know what I'm doing" knop.
Datzelfde argument kan je evengoed voor eval() aanhalen of niet?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
(jarig!)
Sebazzz schreef op woensdag 21 april 2010 @ 21:30:
[...]

Datzelfde argument kan je evengoed voor eval() aanhalen of niet?
Ja, het is toch op zich ook geen probleem om even ergens een eval() neer te gooien om iets te testen (of debuggen)? Zodra je het daarna maar op de nette manier oplost, wat meestal eval() niet is.

Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
hostname schreef op woensdag 21 april 2010 @ 20:39:
Ben ik nu de enige die ReflectionProperty::setAccessible() een erg rare method vindt? Je kan daarmee jezelf toegang tot protected en private properties van andere objects verschaffen. Hetzelfde bestaat btw ook voor methods.

(ja, weer PHP)
Zelfs na .Oisyn's post vind ik het een rare. Maar als E_STRICT het niet pikt heb ik er al veel minder problemen mee.

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • pieturp
  • Registratie: April 2004
  • Laatst online: 25-09 15:21

pieturp

gaffa!

Sebazzz schreef op woensdag 21 april 2010 @ 21:30:
[...]

Datzelfde argument kan je evengoed voor eval() aanhalen of niet?
Waar denk je dat eval() anders zijn bestaansrecht aan ontleent? 8)

... en etcetera en zo


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

Sebazzz schreef op woensdag 21 april 2010 @ 21:30:
[...]

Datzelfde argument kan je evengoed voor eval() aanhalen of niet?
En daarom bestaat het ook (soit, het is natuurlijk wel PHP dus het had ook zonder valide reden kunnen bestaan ;)). En goto.

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!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 26-09 20:57

Sebazzz

3dp

Goto is gewoon nuttig als je het goed gebruikt, goto kan af en toe verrekte handig zijn. Ik ben nog nooit een situatie tegengekomen waarbij iets moest evallen.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

Verwijderd

Neal Stephenson thinks it's cute to name his labels 'dengo'
;)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

Sebazzz schreef op woensdag 21 april 2010 @ 22:15:
Goto is gewoon nuttig als je het goed gebruikt, goto kan af en toe verrekte handig zijn. Ik ben nog nooit een situatie tegengekomen waarbij iets moest evallen.
Ik wel, een pagina met een textarea waarin je wat PHP danwel Javascript code kunt vrutten om het uit te voeren. Gewoon, om zo af en toe even wat te testen (meestal nav topics hier op GoT). Uiteraard afgeschermd zodat niet iedere jandoedel z'n custom code op m'n hoster kan draaien ;)

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!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 20:59

RayNbow

Kirika <3

Compiler as a Service? :p
C#:
1
2
3
4
5
6
7
8
CSharpEvaluator ev = new CSharpEvaluator();
ev.References.Add(typeof(Func<>).Assembly);
ev.Usings.Add("System");

var script = "int Sqr(int x) { return x*x; }"; // bijv. ingeladen vanaf disk
var f = (Func<int, int>)ev.Eval(script).Value;

Console.WriteLine(f(3));


(DevDays 2010, Compiler as a Service vanaf 59m21s)

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Acties:
  • 0 Henk 'm!

  • user109731
  • Registratie: Maart 2004
  • Niet online
hostname schreef op woensdag 21 april 2010 @ 20:39:
Ben ik nu de enige die ReflectionProperty::setAccessible() een erg rare method vindt? Je kan daarmee jezelf toegang tot protected en private properties van andere objects verschaffen. Hetzelfde bestaat btw ook voor methods.

(ja, weer PHP)
Hetzelfde kan ook in Java. En imho terecht, met reflection moeten zulke dingen gewoon mogelijk zijn. Voor bepaalde toepassingen (eigen serialization, OR-mappers?) kan dit erg handig zijn zonder public fields te vereisen.

Hetzelfde geldt voor eval en goto, in 'normale' code gebruik ik ze niet, maar 'eval' heb ik gebruikt voor een POC tainting systeem voor PHP. Voor dit soort hacks kunnen zulke powertools erg handig zijn :)

Acties:
  • 0 Henk 'm!

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

JanDM schreef op donderdag 22 april 2010 @ 00:17:
Hetzelfde kan ook in Java. En imho terecht, met reflection moeten zulke dingen gewoon mogelijk zijn. Voor bepaalde toepassingen (eigen serialization, OR-mappers?) kan dit erg handig zijn zonder public fields te vereisen.
Hibernate maakt er idd graag gebruik van :)

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

RayNbow schreef op donderdag 22 april 2010 @ 00:07:
Compiler as a Service? :p
C#:
1
2
3
4
5
6
7
8
CSharpEvaluator ev = new CSharpEvaluator();
ev.References.Add(typeof(Func<>).Assembly);
ev.Usings.Add("System");

var script = "int Sqr(int x) { return x*x; }"; // bijv. ingeladen vanaf disk
var f = (Func<int, int>)ev.Eval(script).Value;

Console.WriteLine(f(3));


(DevDays 2010, Compiler as a Service vanaf 59m21s)
Astublieft, doe dat weg. :F Ik wil dat niet zien. Ik heb het al eens gezegd, het heeft waarschijnlijk z'n nut, maar als het uitkomt dan kan iedereen dat veel te gemakkelijk gebruiken en ik heb geen goesting om zulke scripts te gaan aanpassen omdat een of andere beginneling dit als oplossing zag voor zijn probleem.

Maar persoonlijk kan ik geen nut bedenken voor dit soort statements.

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
Snake schreef op donderdag 22 april 2010 @ 07:17:
[...]

Astublieft, doe dat weg. :F Ik wil dat niet zien. Ik heb het al eens gezegd, het heeft waarschijnlijk z'n nut, maar als het uitkomt dan kan iedereen dat veel te gemakkelijk gebruiken en ik heb geen goesting om zulke scripts te gaan aanpassen omdat een of andere beginneling dit als oplossing zag voor zijn probleem.

Maar persoonlijk kan ik geen nut bedenken voor dit soort statements.
Niet? Waar denk je dat LUA script voor gebruikt wordt in bijvoorbeeld World Of Warcraft? Of een berg andere applicaties.

In principe is het niks anders dan je applicatie customizable maken via script. Of dit script nu in Python, LUA of C# geschreven is maakt niks uit.

In het bedrijf waar ik werk gebruiken we zoiets om voor een applicatie per klant specifieke business regels uit te kunnen voeren. Werkt een stuk beter dan proberen om daar een obscuur database model voor te verzinnen, of om iedere keer als er iets nieuws is een nieuwe klant specifieke versie te moeten compilen.

Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
hostname schreef op woensdag 21 april 2010 @ 20:39:
Ben ik nu de enige die ReflectionProperty::setAccessible() een erg rare method vindt? Je kan daarmee jezelf toegang tot protected en private properties van andere objects verschaffen. Hetzelfde bestaat btw ook voor methods.

(ja, weer PHP)
Zit ook in Java, :+. En nee, ik vindt het kud. Zit bijvoorbeeld met een OSGI pakket bezig, die heeft een Component class waar je een aantal services voor op kunt vragen (dwz dependency injection). Je kunt hem declareren als private en final en alleen een setter geven, maar daar gaat dat hele ding zo omheen. Hij breekt gewoon in je code in en zet het veld direct.

Class variable rape, :+.
quote: .oisyn
Soms wil je gewoon een "trust me, I know what I'm doing" knop.
Doe dat dan svp alleen op je eigen code, niet die van mij :+. Voor unit tests is het nog wel handig (dwz in je class kijken of alles goed staat, alhoewel je ook daar weer tegenargumenten voor kunt bedenken)

'makkelijk' is het misschien wel in sommige gevallen (OR mappers), maar 'nodig' is het niet.

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 26-09 20:57

Sebazzz

3dp

D-Raven schreef op donderdag 22 april 2010 @ 09:19:
[...]

In principe is het niks anders dan je applicatie customizable maken via script. Of dit script nu in Python, LUA of C# geschreven is maakt niks uit.
Hebben die scripts dezelfde mogelijkheden als normale C# code?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 27-09 17:49
Sebazzz schreef op donderdag 22 april 2010 @ 10:48:
[...]

Hebben die scripts dezelfde mogelijkheden als normale C# code?
Ligt eraan welke permissies je zet.

Het is ongeveer hetzelfde als CodeDOM; alleen veel minder foutgevoelig, je moet aangeven welke usings er zijn etc. Welke types gebruikt mogen worden.

Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
D-Raven schreef op donderdag 22 april 2010 @ 09:19:
[...]


Niet? Waar denk je dat LUA script voor gebruikt wordt in bijvoorbeeld World Of Warcraft? Of een berg andere applicaties.
LUA is er al voor C#, en werkt gewoon prima zonder C# code te eval-en. Je registreert gewoon wat methoden bij LUA waar LUA mee kan interfacen met je applicatie, de overige functionaliteit bestaat uit LUA's eigen functies/methoden.

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 27-09 17:49
roy-t schreef op donderdag 22 april 2010 @ 11:02:
[...]


LUA is er al voor C#, en werkt gewoon prima zonder C# code te eval-en. Je registreert gewoon wat methoden bij LUA waar LUA mee kan interfacen met je applicatie, de overige functionaliteit bestaat uit LUA's eigen functies/methoden.
Sowieso heeft .NET al een hele scripting library waarmee je naar bijvoorbeeld JavaScript bepaalde objecten kan exposen, en deze vervolgens via script kan bewerken. (zoals je in AntArena je eigen mieren kon schrijven middels VBScript / JavaScript, je praatte gewoon tegen een Ant object aan (alhoewel dat in Delphi was)).

Daarnaast hebben ze IronPython, IronRuby als dynamic talen die dit ook kunnen.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

YopY schreef op donderdag 22 april 2010 @ 09:24:
Doe dat dan svp alleen op je eigen code, niet die van mij :+
Goh, had ik het niet over debug-werk? Dus ja, dan doe ik het ook in jouw code, als ik die van jou moet debuggen.

[ Voor 15% gewijzigd door .oisyn op 22-04-2010 11:10 ]

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!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 20:59

RayNbow

Kirika <3

Snake schreef op donderdag 22 april 2010 @ 07:17:
Maar persoonlijk kan ik geen nut bedenken voor dit soort statements.
Wat dacht je van het bouwen van een REPL voor C# zoals gedemonstreerd in het filmpje vanaf 1h03m05s waarnaar ik eerder linkte? :p

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
.oisyn schreef op donderdag 22 april 2010 @ 11:10:
[...]

Goh, had ik het niet over debug-werk? Dus ja, dan doe ik het ook in jouw code, als ik die van jou moet debuggen.
:X durf jij te zeggen dat mijn code bugs bevat? -O-

Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
RayNbow schreef op donderdag 22 april 2010 @ 11:34:
[...]

Wat dacht je van het bouwen van een REPL voor C# zoals gedemonstreerd in het filmpje vanaf 1h03m05s waarnaar ik eerder linkte? :p
Ben dit jaar helaas niet naar DevDays gegaan. Kwam planning technisch op t werk niet uit.
Ik moet zelfs nog _beginnen_ met het kijken van de webcasts. Ik vindt wel dat er meer interessante onderwerpen zijn als vorig jaar. Al is dat natuurlijk persoonlijk :)

Overigens: Binnenkort aan de slag met cloud computing technologie. _/-\o_

[ Voor 6% gewijzigd door D-Raven op 23-04-2010 10:31 ]


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Ik werk samen met een collega aan een Silverlight-project. Hij doet de webservicekant, ik de Silverlight-kant. Nu gebruiken wij aan de webservicekant een aantal custom types, die ook exposed worden richting Silverlight. Ik deed net een svn update, werkte de web reference bij, en ineens waren de custom types weg.

Wat bleek nou? Hij had de interface gewijzigd zodat een (base) interface wordt geretourneerd i.p.v. een specifieke class. En die base interface bevat die velden niet. Nu ben ik dus maar bezig geweest om die velden toch weer wel included te krijgen... en dat werkt. Yay.

We are shaping the future


Acties:
  • 0 Henk 'm!

Verwijderd

Zo het is pas half 12 en heb al zo'n 5 bakken op.. :+ Zodadelijk kebab vreten whehe. :D

Acties:
  • 0 Henk 'm!

  • Ryur
  • Registratie: December 2007
  • Laatst online: 22:01
Verwijderd schreef op vrijdag 23 april 2010 @ 11:39:
Zo het is pas half 12 en heb al zo'n 5 bakken op.. :+ Zodadelijk kebab vreten whehe. :D
Lijkt een beetje op mijn normale dag :)

Acties:
  • 0 Henk 'm!

Verwijderd

GoTCoast schreef op vrijdag 23 april 2010 @ 12:18:
[...]

Lijkt een beetje op mijn normale dag :)
Whehe, goed bezig.. :+

Wat zijn hier de ervaringen met InnoDB vs. MyISAM? ;)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

THEY BOTH SUCK!

.EDIT: HEEFT ER IEMAND NOG EEN SPARE CAPSLOCK, DE MIJNE IS STUK

[ Voor 74% gewijzigd door .oisyn op 23-04-2010 12:27 ]

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!

Verwijderd

Wie heeft trouwens het knopje "more" bij populair releases op codeplex gejat ?
(bij most downloaded staat ie nog wel).

Acties:
  • 0 Henk 'm!

  • Otherside1982
  • Registratie: Februari 2009
  • Laatst online: 26-09 18:57
.oisyn schreef op vrijdag 23 april 2010 @ 12:26:
THEY BOTH SUCK!

.EDIT: HEEFT ER IEMAND NOG EEN SPARE CAPSLOCK, DE MIJNE IS STUK
Waarom schrijf je geen aangepaste keyboard-driver die bij voorbeeld de fysieke knop ScrollLock mapt naar CapsLock :p

Acties:
  • 0 Henk 'm!

  • mindcrash
  • Registratie: April 2002
  • Laatst online: 22-11-2019

mindcrash

Rebellious Monkey

Otherside1982 schreef op vrijdag 23 april 2010 @ 12:56:
[...]

Waarom schrijf je geen aangepaste keyboard-driver die bij voorbeeld de fysieke knop ScrollLock mapt naar CapsLock :p
Wordt een beetje lastig als je alleen code kunt schrijven in CAPS he :p

"The people who are crazy enough to think they could change the world, are the ones who do." -- Steve Jobs (1955-2011) , Aaron Swartz (1986-2013)


Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 27-09 17:49
.oisyn schreef op vrijdag 23 april 2010 @ 12:26:
THEY BOTH SUCK!

.EDIT: HEEFT ER IEMAND NOG EEN SPARE CAPSLOCK, DE MIJNE IS STUK
VBScript:
1
WScript.SendKeys("{CAPSLOCK}")

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Verwijderd schreef op vrijdag 23 april 2010 @ 12:23:
Wat zijn hier de ervaringen met InnoDB vs. MyISAM? ;)
Kies InnoDB tenzij je een echt goede reden hebt om MyISAM te gebruiken. InnoDB zou je default keuze moeten zijn (en is dat vanaf 5.5 eindelijk ook).

{signature}


Acties:
  • 0 Henk 'm!

Verwijderd

.oisyn schreef op vrijdag 23 april 2010 @ 12:26:
.EDIT: HEEFT ER IEMAND NOG EEN SPARE CAPSLOCK, DE MIJNE IS STUK
windows + U, keyboard starten en caps indrukken :*)

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 26-09 20:57

Sebazzz

3dp

Verwijderd schreef op vrijdag 23 april 2010 @ 13:07:
[...]

windows + U, keyboard starten en caps indrukken :*)
Gewoon shift indrukken. Shift keert alles om :p

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 27-09 17:49
Sebazzz schreef op vrijdag 23 april 2010 @ 13:14:
[...]

Gewoon shift indrukken. Shift keert alles om :p
Fuuuuuck! Ik heb jaren steeds caps lock ingedrukt als ik een hoofdletter wou typen! Blijkt dat shift ook werkt!

:9

Acties:
  • 0 Henk 'm!

Verwijderd

creator1988 schreef op vrijdag 23 april 2010 @ 13:34:
[...]


Fuuuuuck! Ik heb jaren steeds caps lock ingedrukt als ik een hoofdletter wou typen! Blijkt dat shift ook werkt!

:9
gOH! kOMT ER OOK EEN ACHTER! lOL.. :9

mAAR GOED, cAPS lOCK KAN WEL IRRI ZIJN JA.. :+

Acties:
  • 0 Henk 'm!

Verwijderd

Voutloos schreef op vrijdag 23 april 2010 @ 13:05:
[...]
Kies InnoDB tenzij je een echt goede reden hebt om MyISAM te gebruiken. InnoDB zou je default keuze moeten zijn (en is dat vanaf 5.5 eindelijk ook).
De goede reden hier om MyISAM te gebruiken zou zijn dat het een stuk sneller en stabieler zou zijn dan InnoDB... Een bron hiervoor kan ik niet vinden, het is steeds in het voordeel van InnoDB. :9

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Verwijderd schreef op vrijdag 23 april 2010 @ 13:40:
[...]

De goede reden hier om MyISAM te gebruiken zou zijn dat het een stuk sneller en stabieler zou zijn dan InnoDB... Een bron hiervoor kan ik niet vinden, het is steeds in het voordeel van InnoDB. :9
Dat was inderdaad zo. Misschien dat op sommige punten MyISAM nog een (zeer klein) snelheidsvoordeel heeft, de meeste bronnen bevestigen dat InnoDB net zo snel is tegenwoordig.

De overweging is volgens mij vaker foreign keys vs fulltext.

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Heel generaliserend boeit het snelheisvoordeel dat MyISAM soms heeft helemaal niet, want dat mag eigenlijk nooit belangrijker zijn dan de nadelen van MyISAM: table locks, geen transacties, slechte crash recovery, doet uberhaupt zijn best niet om betrouwbaar op te slaan etc etc.

Fulltext zou de enige reden kunnen zijn, maar dat wordt bij een bepaald aantal rows ( >100k ) in een keer hoerig traag zonder dat je er iets aan kan tweaken, want het is een gruwelijk *&$%@ blackbox welke bovendien andere indices voorkomt.

Mensen die de laatste paar jaar nog MyISAM aangeraden hebben kan je voortaan vrolijk negeren.

[ Voor 8% gewijzigd door Voutloos op 23-04-2010 13:56 ]

{signature}


Acties:
  • 0 Henk 'm!

Verwijderd

Oké, dan blijf ik gewoon InnoDB gebruiken zoals ik al deed.. Had MyISAM een kans gegeven om te zien of het nou echt sneller was, maar bij 4 tabellen uitlezen met joins en zo'n 50k rows duurt het met MyISAM meer dan een minuut en met InnoDB 0,009 sec of zo, met exact de zelfde query. Misschien dat er dan nog iets met indexes gedaan zou kunnen worden, had al indexes op de "FK's", maar dat had geen nut. :+

Het is hier inmiddels biercorner.. :+

Acties:
  • 0 Henk 'm!

  • Otherside1982
  • Registratie: Februari 2009
  • Laatst online: 26-09 18:57
mindcrash schreef op vrijdag 23 april 2010 @ 13:01:
[...]


Wordt een beetje lastig als je alleen code kunt schrijven in CAPS he :p
Hoezo? Er zijn toch genoeg programmeertalen die niet case-senstive zijn? Drivers hoeven toch niet C of C++ te zijn.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

Vroegâh in QBasic programmeerde ik nog in all-caps. Toen ik naar Pascal overstapte vond ik die kleine lettertjes maar raar :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.


Acties:
  • 0 Henk 'm!

  • Laurens-R
  • Registratie: December 2002
  • Laatst online: 29-12-2024
Otherside1982 schreef op vrijdag 23 april 2010 @ 16:03:
[...]

Hoezo? Er zijn toch genoeg programmeertalen die niet case-senstive zijn? Drivers hoeven toch niet C of C++ te zijn.
Wel als je driver development kit op C(++) gebaseerd is ;) En dat is voor het gros van de OS'en het geval.
Pagina: 1 ... 42 ... 201 Laatste

Dit topic is gesloten.

Let op:
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep, niet als vraagbaak