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 ... 56 ... 201 Laatste
Acties:
  • 852.031 views

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 20-09 14:03
Sprintplanning == vermoeiend.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

Klopt. Maar de echte vraag is, waarom op dinsdag? :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!

  • Refro
  • Registratie: November 2000
  • Laatst online: 19-09 14:12
whoami schreef op dinsdag 13 juli 2010 @ 23:22:
Sprintplanning == vermoeiend.
Vind ik altijd nogal meevallen we hebben de taken meestal al voor >90% op een rij en moeten er dan alleen nog punten aanhangen. Met de (poker)planning zijn we meestal binnen een uurtje klaar. In dezelfde sessie doen we ook nog presentatie aan de klant (via video conferencing) en een retrospective. Dit alles is gepland van 9:00 tot 12:15 met een pauze om 10 uur en we lopen zelden uit de tijd.

Hoe zit het process bij jullie verder in elkaar hoe lang duurt een sprint? Wat doen jullie allemaal tijdens de planningssessie? Hoe doen jullie de retrospective?

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Vandaag maar weer verder met het opsporen van een deadlock. Drie instances van qua structuur exact dezelfde database, alleen de inhoud verschilt, die worden aangesproken door exact dezelfde programma's, en slechts één instance heeft er last van (en dan ook nog eens de rustigste qua belasting).

Testdatabase: geen last. Acceptatie: niet reproduceerbaar. Productie: soms vier keer per dag, dan weer vier keer per uur een totale block van alle met die instance verbonden applicaties die één specifieke tabel proberen te benaderen.

Vandaag deze drie linkjes maar eens lezen en verder prutsen:

http://www.dalun.com/blogs/10.13.2006.htm
How to monitor blocking in SQL Server 2005 and in SQL Server 2000
http://technet.microsoft....ibrary/cc966523.aspx#EHAA

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


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 20-09 00:16

Matis

Rubber Rocket

Misschien zou je kunnen kijken of er bij een aantal mensen in het bijzonder deadlocks optreden. Misschien gebruiken ze andere query's.
Ik weet niet of het mogelijk is om een aantal query's te loggen en dan mbv MySQL Workbench, dezelfde query's nogmaals uit te voeren; om op die manier te kunnen kijken waar het fout loopt.

Zonder belemmering van enige kennis over jouw product :)

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


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 20-09 14:03
.oisyn schreef op woensdag 14 juli 2010 @ 00:00:
Klopt. Maar de echte vraag is, waarom op dinsdag? :P
Waarom niet op dinsdag ?
De laatste dag van onze sprint is op vrijdag; op maandag is er demo & retrospective, en op dinsdag planning.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 20-09 14:03
Refro schreef op woensdag 14 juli 2010 @ 07:38:
[...]


Vind ik altijd nogal meevallen we hebben de taken meestal al voor >90% op een rij en moeten er dan alleen nog punten aanhangen. Met de (poker)planning zijn we meestal binnen een uurtje klaar. In dezelfde sessie doen we ook nog presentatie aan de klant (via video conferencing) en een retrospective. Dit alles is gepland van 9:00 tot 12:15 met een pauze om 10 uur en we lopen zelden uit de tijd.

Hoe zit het process bij jullie verder in elkaar hoe lang duurt een sprint? Wat doen jullie allemaal tijdens de planningssessie? Hoe doen jullie de retrospective?
Het probleem bij ons, is dat we met ons team niet aan één product werken, maar aan verschillende producten.
En, dat de taken op de backlog toch vaak nog heel wat verduidelijking vereisen, waar er echt tijd in kruipt (om verduidelijking te krijgen).
Een sprint duurt bij ons 3 weken; we zitten met 6 man in een team. Tijdens de planning wordt de backlog samen met de PO overlopen, worden er vragen gesteld over dingen die niet duidelijk zijn, krijgen we niet altijd een eenduidig antwoord, moet er opnieuw verduidelijking gevraagd worden, etc... Daarna schatten we als team alles in.
Retrospective: gebeurd in eerste instantie met de PO er niet bij. Overleggen we wat goed / niet goed was, en wat beter kon. (soms doen we aan bullet-voting).
Daarna vragen we de PO er bij, bespreken we onze standpunten en vragen ook wat hij vond van de sprint, wat er beter kon, etc...

[ Voor 25% gewijzigd door whoami op 14-07-2010 08:56 ]

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Refro
  • Registratie: November 2000
  • Laatst online: 19-09 14:12
whoami schreef op woensdag 14 juli 2010 @ 08:54:
[...]

Het probleem bij ons, is dat we met ons team niet aan één product werken, maar aan verschillende producten.
En, dat de taken op de backlog toch vaak nog heel wat verduidelijking vereisen, waar er echt tijd in kruipt (om verduidelijking te krijgen).
Een sprint duurt bij ons 3 weken; we zitten met 6 man in een team. Tijdens de planning wordt de backlog samen met de PO overlopen, worden er vragen gesteld over dingen die niet duidelijk zijn, krijgen we niet altijd een eenduidig antwoord, moet er opnieuw verduidelijking gevraagd worden, etc... Daarna schatten we als team alles in.
Dit probleem hadden wij in het verleden ook sinds een half jaar hebben we dit uit elkaar getrokken een een plannings sessie een een backlog grooming sessie om de taken compleet te krijgen. Voordeel hiervan is dat de antwoorden niet direct hoeven te komen en een aantal zaken door kleinere groepjes uitgezocht kunnen worden. In de planning is het er dan puur punten aan plakken. Al met al is ons werk hier weer een stukje efficienter van geworden.

Acties:
  • 0 Henk 'm!

  • edxtreem
  • Registratie: September 2008
  • Laatst online: 12-09-2024
Goedemorgen, ik weet niet of ik het hier kan posten maar ik was eigenlijk wel benieuwd welke CAO van toepassing is voor software ontwikkelaars. Heb er gister 1 van mijn opdrachtgever gekregen ivm onderhandelingen salaris (verder werken aan schoolprojectje) maar die is gericht op gehele kantoor sector.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Voor de IT is geen CAO.

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!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
omfg, nog niet helemaal wakker ofzo.

C#:
1
2
3
4
5
 var package = assembly.GetTypes().Where(t => typeof(baseType).IsAssignableFrom(t) && !t.IsAbstract).FirstOrDefault(); 
                    if (package != null)
                    {
                        packages.Add((baseType)package);
                    }


Vervolgens de meeste vage foutmeldingen krijgen dat het niet gecast kan worden. Ga ik uiteindelijk koffie halen, kom na 10 min terug.

... doh! |:(

C#:
1
   packages.Add((baseType)Activator.CreateInstance(package));


ook goeiemorgen..

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

whoami schreef op woensdag 14 juli 2010 @ 08:54:
En, dat de taken op de backlog toch vaak nog heel wat verduidelijking vereisen, waar er echt tijd in kruipt (om verduidelijking te krijgen).
Mja, het lijkt me wel van belang dat er duidelijkheid moet zijn op het moment dat je de planning gaat doen, niet dat je er op dat moment om moet vragen. Nou hebben wij er zelf niet zo'n last van aangezien wij zelf de enige zijn die de inbox vullen, dus als bijv. mijn baas iets erin heeft gezet wat niet direct duidelijk is dan kan hij altijd meteen verduidelijking geven - al moet ik zeggen dat dat nog nauwelijks voorkomt sinds ik heb gepleit voor betere taakomschrijvingen :).

Sprint retrospective doen we niet meer aan - als er punten zijn kan dat ook wel tijdens de sprint review gezegd worden. We hebben een 2-wekelijkse sprint met een sprint review op maandag-ochtend en sprint planning op maandag-middag, met momenteel 4 man, al is dat idealiter 6.

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!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Woei, voldoening +1. Na anderhalf jaar is nu ein-de-lijk een zeker interactief spel / stemding voor een zekere grote neerlandsche voetbalsite online (veels te veel gepruts en veranderen van zaken als opslag, zowel door mij als door de ontwikkelaar waar ik het van overgenomen had). 25.000 stemmen verwerkt binnen een dag zonder dat hij omvalt.

Zit alleen nog een bugje in. Het heeft een flash frontend die de gegevens die het weer moet geven ophaalt via een webservice gemaakt via een servlet. Daar het nogal zwaar is om alle gegevens en foto's uit het systeem te halen (en het wat overbodig is aangezien dit maar eens per maand ofzo gebruikt) zit er een eenvoudige cache in - een map met een key gemaakt van het opgevraagde ID en een value met daarin de JSON die teruggegeven wordt. Bliksemsnel etc. Alleen moest het zodanig gemaakt worden dat de cache geleegd wordt indien in de backend iets geleegd wordt.

"Och", dacht ik, "Doen we zo even". Boolean in een object gezet die door zowel de backend als frontend gebruikt wordt, en op de testomgeving werkte dat gewoon zonder problemen. Live, klaar.

...alleen op de productieomgeving draait het in een geclusterde omgeving, dus een boolean zetten in de instantie die op de achterkant draait wordt niet doorgegeven naar de vier frontend servers, :/.

Oeps :X.

De les van vandaag: Als je een live-omgeving hebt met meerdere servers, zorg ervoor dat je ook een testomgeving hebt die dat heeft.

[ Voor 4% gewijzigd door YopY op 14-07-2010 12:04 ]


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 20-09 14:03
.oisyn schreef op woensdag 14 juli 2010 @ 11:34:
[...]

Mja, het lijkt me wel van belang dat er duidelijkheid moet zijn op het moment dat je de planning gaat doen, niet dat je er op dat moment om moet vragen. Nou hebben wij er zelf niet zo'n last van aangezien wij zelf de enige zijn die de inbox vullen, dus als bijv. mijn baas iets erin heeft gezet wat niet direct duidelijk is dan kan hij altijd meteen verduidelijking geven - al moet ik zeggen dat dat nog nauwelijks voorkomt sinds ik heb gepleit voor betere taakomschrijvingen :).

Sprint retrospective doen we niet meer aan - als er punten zijn kan dat ook wel tijdens de sprint review gezegd worden. We hebben een 2-wekelijkse sprint met een sprint review op maandag-ochtend en sprint planning op maandag-middag, met momenteel 4 man, al is dat idealiter 6.
Eh, wat is het verschil tussen een retrospective & een review ?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

In een sprint review ga je inhoudelijk in op wat je gedaan hebt. In een sprint retrospective bekijk je alleen wat er (wat uitvoering / planning betreft) goed en fout ging en wat er de volgende keer eventueel beter of anders kan.

Wikipedia: Scrum (development) Zie de onderste twee kopjes.

[ Voor 24% gewijzigd door .oisyn op 14-07-2010 12:47 ]

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!

  • whoami
  • Registratie: December 2000
  • Laatst online: 20-09 14:03
Ah ok. De review is dus wat ik in een eerdere post de 'demo' noemde. Bij de review zijn er dus ook chickens aanwezig. Bij de retrospective enkel 'het team'.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

Oh ja dat scheelt bij ons ook nog een hoop, alle meetings bestaan uit louter het scrum team :)

[ Voor 3% gewijzigd door .oisyn op 14-07-2010 14: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!

  • Jan_V
  • Registratie: Maart 2002
  • Laatst online: 21:22
Pff, kom er net achter dat Self Tracking Entities (EF4.0) niet werken wanneer je proxy classes genereert van je WCF-service met 'Add Service Reference'.
Kan natuurlijk MarkAsModified() gebruiken, maar dat is natuurlijk een beetje cheaten.
Nu dus op zoek naar een oplossing waar ik zelf ook blij mee ben.

Battle.net - Jandev#2601 / XBOX: VriesDeJ


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Implementeert dat INotifyPropertyChanged dan niet?

We are shaping the future


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19:58

Sebazzz

3dp

Dit is niet leuk. Ik heb Windows opnieuw geïnstalleerd en dus ook Visual Studio 2010 Ultimate. Althans, een poging tot. Ik installeer meerdere dingen naast elkaar, en dat gaat bijna altijd goed. Zo stond er naast de VS installatie ook Office 2010 installatie en Windows Update te draaien. En nu start die Visual Studio installatie niet verder nadat er ervan moest rebooten :(
Nu kijken of de repair wat voor me kan betekenen.

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


Acties:
  • 0 Henk 'm!

  • edxtreem
  • Registratie: September 2008
  • Laatst online: 12-09-2024
Vervelend maar had al zo'n vermoeden, iemand een tip om er achter te komen wat een beetje een marktconform salaris is?

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19:58

Sebazzz

3dp

Ja, in WI loopt er een topic over. Wat verdient een ICTer gemiddeld? (deel 10)

[ Voor 49% gewijzigd door Sebazzz op 14-07-2010 21:06 ]

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


Acties:
  • 0 Henk 'm!

  • Jan_V
  • Registratie: Maart 2002
  • Laatst online: 21:22
Alex) schreef op woensdag 14 juli 2010 @ 18:05:
Implementeert dat INotifyPropertyChanged dan niet?
Het ziet er naar uit dat alleen het 'object' wordt geserialized en niet de achterliggende code. Op zich wel logisch als je er bij na gaat denken, maar ik had gehoopt dat EF4.0 en WCF samen zo geintegreerd/slim waren dat dit self-tracking toch ging werken bij serializen/deserializen.

Beetje jammer, maar toch weer wat geleerd. Gelukkig is het een prive project en dus geen harde deadlines om te halen.

Battle.net - Jandev#2601 / XBOX: VriesDeJ


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 20-09 00:16

Matis

Rubber Rocket

Pff, wat is de nieuwe versie van Eclipse (Helios) toch bagger in combinatie met PDT :r 1 op 10 keer crasht de applicatie wanneer ik codecompletion probeer te openen en de crawler loopt ook om de haverklap te kloten :'(

Zojuist maar weer terug gestapt op Galileo ;w

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


Acties:
  • 0 Henk 'm!

  • RetroTycoon
  • Registratie: Juli 2008
  • Laatst online: 20-09 14:42
Net even een enorm belangrijk, maar bij mij onbekend, feit over CSS (mbt cascading) geleerd:
Yeah, !important is the only way to override inline element styles, but if you only need to override a rule in another stylesheet, and your stylesheet appears first, then all you need is a more specific selector. I would resort to !important, in the latter situation. So if another stylesheet, outside of your control has a rule like this:

#content h1 { color: green; }
But you want all the h1 elements to be blue then override it with this:

body #content h1 { color: blue; }
Not ideal, but do-able in a tricky situation.
Ik dacht dat slechts de volgorde van belang was voor de regel die werd uitgevoerd :)

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19:58

Sebazzz

3dp

Dat zijn toch wel de basics van CSS. "body #content" is specifieker dan alleen "#content".

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


Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Hoe (on)efficient denken jullie dat het zou zijn om grote plaatjes als (x,y,value) of (point, value) tuples in een database op te slaan? Als ik zo iets doe in bv. postgresql heb toch niet echt postgis nodig? Standaard pg ondersteunt dan toch ook dingen als "where point in circle(point, radius)"? Ik twijfel namelijk of het echt nuttig is om zelf allemaal caching, disk block ordering en asynchronuous fetches etc. te gaan maken op binary image data, of dat het veel makkelijker is om dit gewoon allemaal aan een database over te laten die dat al geoptimaliseerd heeft. Ik wil nl. ook 3d data opslaan waar 'value' dan een variable length array is... zo domweg in pg dumpen een optie zijn om te testen?

Acties:
  • 0 Henk 'm!

  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 20-09 00:06
Zoijar schreef op donderdag 15 juli 2010 @ 19:01:
Hoe (on)efficient denken jullie dat het zou zijn om grote plaatjes als (x,y,value) of (point, value) tuples in een database op te slaan? Als ik zo iets doe in bv. postgresql heb toch niet echt postgis nodig? Standaard pg ondersteunt dan toch ook dingen als "where point in circle(point, radius)"? Ik twijfel namelijk of het echt nuttig is om zelf allemaal caching, disk block ordering en asynchronuous fetches etc. te gaan maken op binary image data, of dat het veel makkelijker is om dit gewoon allemaal aan een database over te laten die dat al geoptimaliseerd heeft. Ik wil nl. ook 3d data opslaan waar 'value' dan een variable length array is... zo domweg in pg dumpen een optie zijn om te testen?
Voor een raster wordt ook in een GIS database speciale ondersteuning gebouwd. Een record voor elke pixel of cel kan wel, maar efficient is het niet. Voor PostGIS is een recente ontwikkeling WKTRaster. Of dat al bruikbaar is weet ik niet.

Acties:
  • 0 Henk 'm!

Verwijderd

edxtreem schreef op woensdag 14 juli 2010 @ 21:03:
[...]

Vervelend maar had al zo'n vermoeden, iemand een tip om er achter te komen wat een beetje een marktconform salaris is?
http://www.loonwijzer.nl/home/salarischeck

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 00:19

orf

RetroTycoon schreef op donderdag 15 juli 2010 @ 18:40:
Net even een enorm belangrijk, maar bij mij onbekend, feit over CSS (mbt cascading) geleerd:


[...]


Ik dacht dat slechts de volgorde van belang was voor de regel die werd uitgevoerd :)
CSS Specificity :)
The actual specificity of a group of nested selectors takes some calculating. Basically, you give every id selector ("#whatever") a value of 100, every class selector (".whatever") a value of 10 and every HTML selector ("whatever") a value of 1. Then you add them all up and hey presto, you have the specificity value.

[list]
• p has a specificity of 1 (1 HTML selector)
• div p has a specificity of 2 (2 HTML selectors; 1+1)
• .tree has a specificity of 10 (1 class selector)
• div p.tree has a specificity of 12 (2 HTML selectors and a class selector; 1+1+10)
• #baobab has a specificity of 100 (1 id selector)
• body #content .alternative p has a specificity of 112 (HTML selector, id selector, class selector, HTML selector; 1+100+10+1)

Acties:
  • 0 Henk 'm!

  • RetroTycoon
  • Registratie: Juli 2008
  • Laatst online: 20-09 14:42
Cool :) Ik wist dat er logica achter zat :P

Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Matis schreef op donderdag 15 juli 2010 @ 18:16:
Pff, wat is de nieuwe versie van Eclipse (Helios) toch bagger in combinatie met PDT :r 1 op 10 keer crasht de applicatie wanneer ik codecompletion probeer te openen en de crawler loopt ook om de haverklap te kloten :'(

Zojuist maar weer terug gestapt op Galileo ;w
Is PDT dan al wel goed compatible met Helios? Ik wacht nog even met upgraden op mijn werk PC naar Helios omdat het voor zover ik kan zien weinig toevoegt voor mijn werk (webdevelopment icm java) en ivm compatibiliteit met de vele handige addon dingen die ik heb. Alhoewel de marketplace wel handig moet zijn. D'r zijn zoveel plugins voor Eclipse, maar maar zo weinig waar ik het praktisch nut (voor mij persoonlijk) inzie, terwijl er toch veel handige features bij kunnen imo.
CSS Specificity
Kijk, regels, altijd goed. Spontaan ideetje voor klein programmeerprojecte: CSS speckifitittity calculator. Moet wel te doen zijn. Gek dat dat niet in tools als Firebug zit (alhoewel je daarin als je een element selecteert wel precies kunt zien welke CSS zorgt voor zijn opmaak, daar zal die specificititie wel in zitten op de een of andere manier.

Vindt het trouwens nog steeds een beetje apart dat ik nog nooit echt gehoord heb van een HTML / CSS alternatief. Ja, in een artikel / boek over de geschiedenis van HTML5 waar eerder naar gelinkt werd, waar postscript (volgens mij) aangedragen werd als alternatief.

[ Voor 42% gewijzigd door YopY op 16-07-2010 09:10 ]


Acties:
  • 0 Henk 'm!

  • TJHeuvel
  • Registratie: Mei 2008
  • Niet online
Waarom zou er een alternatief voor HTML/CSS moeten komen?

Nu al worden deze standaarden door verschillende browser-bouwers verschillend geimplementeerd, wat zou een tweede markup-taal toevoegen?

Freelance Unity3D developer


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19:58

Sebazzz

3dp

CyCloneNL schreef op vrijdag 16 juli 2010 @ 09:34:
Waarom zou er een alternatief voor HTML/CSS moeten komen?
Omdat CSS het DRY-principe schendt.
YopY schreef op vrijdag 16 juli 2010 @ 09:10:
[...]

Vindt het trouwens nog steeds een beetje apart dat ik nog nooit echt gehoord heb van een HTML / CSS alternatief.
Vind ik ook gek van zo'n ervaren programmeur zoals jij ;) Maar die alternatieven zijn er zeer zeker wel. En op het moment zijn er ook genoeg libraries die het serverside naar CSS kunnen vertalen. Het is niet zozeer een volledig alternatief, maar meer wat toevoegingen en handigheidjes.

Leesvoer:
http://www.codinghorror.c...whats-wrong-with-css.html
http://lesscss.org/
http://sass-lang.com/
http://haacked.com/archiv...emplate-for-less-css.aspx
http://combres.codeplex.com/

En als je geen zin hebt om te lezen, met LessCSS wordt dit:
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
.rounded_corners (@radius: 5px) {
  -moz-border-radius: @radius;
  -webkit-border-radius: @radius;
  border-radius: @radius;
}

#header {
  .rounded_corners;
}

#footer {
  .rounded_corners(10px);
}

dit:
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
#header {
  -moz-border-radius: 5;
  -webkit-border-radius: 5;
  border-radius: 5;
}

#footer {
  -moz-border-radius: 10;
  -webkit-border-radius: 10;
  border-radius: 10;
}


En met SASS wordt dit:
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
!blue = #3bbfce
!margin = 16px

.content_navigation
  border-color = !blue
  color = !blue - #111

.border
  padding = !margin / 2
  margin = !margin / 2
  border-color = !blue
dit:
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
.content_navigation {
  border-color: #3bbfce;
  color: #2aaebd;
}

.border {
  padding: 8px;
  margin: 8px;
  border-color: #3bbfce;
}

[ Voor 20% gewijzigd door Sebazzz op 16-07-2010 09:42 ]

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


Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

matthijsln schreef op donderdag 15 juli 2010 @ 19:26:
Voor PostGIS is een recente ontwikkeling WKTRaster.
Thanks, dat ziet er goed uit. Zal het eens grondiger lezen

Acties:
  • 0 Henk 'm!

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

.Gertjan.

Owl!

Sebazzz schreef op vrijdag 16 juli 2010 @ 09:41:
[...]

Omdat CSS het DRY-principe schendt.


[...]

Vind ik ook gek van zo'n ervaren programmeur zoals jij ;) Maar die alternatieven zijn er zeer zeker wel. En op het moment zijn er ook genoeg libraries die het serverside naar CSS kunnen vertalen. Het is niet zozeer een volledig alternatief, maar meer wat toevoegingen en handigheidjes.

Leesvoer:
http://www.codinghorror.c...whats-wrong-with-css.html
http://lesscss.org/
http://sass-lang.com/
http://haacked.com/archiv...emplate-for-less-css.aspx
http://combres.codeplex.com/

En als je geen zin hebt om te lezen, met LessCSS wordt dit:
LessCSS is echt een geweldig programma :)

Het werken met "functies" en het instellen van variabelen werkt zo gigantisch lekker. Vaak kom je halverwege je ontwerp er achter dat je eigenlijk een andere kleur wilde gebruiken (iets donkerder/lichter of zelfs een hele andere kleur), dan moet je op zoek naar die codes. Daarnaast is niet altijd duidelijk uit de HEX code welke kleur je ergens hebt staan. Die variabelen werken dan echt geweldig. Daarnaast kan je kleuren van elkaar aftrekken/optellen, zo kun je dus een tint donkerder/lichter kiezen zonder een nieuwe kleur code te bepalen, daarnaast als je dat toepast op een variabele die een kleur voorstelt past je donkerdere/lichtere versie zich automatisch aan.

Daarnaast kan LessCSS de file in de gaten houden en bij een change meteen een nieuwe file maken, dat maakt het werken met dit tooltje in development echt zeer fijn.

Ben er nu mee bezig voor een web projectje en ik moet zeggen dat ik hier wel vrolijk van word.

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!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 00:19

orf

Voor PHP kun je kijken naar CSS scaffold. Dat gebruiken wij nu in een aantal testprojecten. Als ik naar LessCSS kijk is dat erg vergelijkbaar, maar met PHP hebben wij het in ons framework zitten waardoor je niet hoeft te 'compilen' o.i.d.

Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 21:50
Sebazzz schreef op vrijdag 16 juli 2010 @ 09:41:
[...]

Omdat CSS het DRY-principe schendt.
Dat is niet waar. Je kan in CSS een bepaalde stijldeclaratie voor meerdere selectors bv
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
h1, h2, h3, h4 {
    font-size: larger;
}
h1, .highlight, img, h2 {
    background-color: red;
}
h1 {
    border: solid yellow 2px;
}


Je moet dan denken vanuit declaraties ('Waar wil ik een rode achtergrond hebben') in plaats van vanuit selectors ('Hoe moet het linker menu eruit zien'). Het levert bovendien ook kleinere CSS files op.

[ Voor 8% gewijzigd door Kalentum op 16-07-2010 11:27 ]


Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
rutgerw schreef op vrijdag 16 juli 2010 @ 11:27:
[...]


Dat is niet waar. Je kan in CSS een bepaalde stijldeclaratie voor meerdere selectors bv
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
h1, h2, h3, h4 {
    font-size: larger;
}
h1, .highlight, img, h2 {
    background-color: red;
}
h1 {
    border: solid yellow 2px;
}


Je moet dan denken vanuit declaraties ('Waar wil ik een rode achtergrond hebben') in plaats van vanuit selectors ('Hoe moet het linker menu eruit zien'). Het levert bovendien ook kleinere CSS files op.
Het schend DRY omdat je niet kunt zeggen: elementen x, y en z hebben kleur c. Je moet c specificeren voor zowel x als y als z. En als je later dus c wilt veranderen, dan moet je dat voor zowel x als y als z doen.

Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 21:50
HuHu schreef op vrijdag 16 juli 2010 @ 11:49:
[...]

Het schend DRY omdat je niet kunt zeggen: elementen x, y en z hebben kleur c. Je moet c specificeren voor zowel x als y als z. En als je later dus c wilt veranderen, dan moet je dat voor zowel x als y als z doen.
Cascading Stylesheet:
1
2
3
h1, .highlight, img, h2 { 
    background-color: red; 
} 


There, I said it. Als je het opeens blauw wilt hebben hoef je het maar op 1 plek te veranderen.

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
rutgerw schreef op vrijdag 16 juli 2010 @ 11:56:
[...]


Cascading Stylesheet:
1
2
3
h1, .highlight, img, h2 { 
    background-color: red; 
} 


There, I said it. Als je het opeens blauw wilt hebben hoef je het maar op 1 plek te veranderen.
Dan gaat je schending dus "de andere kant" op. Nu heb je duplicatie in de declaraties van je elementen. Je wilt de declaratie van één element ook op maar één plaats hebben.

Voorbeeld: A en B beschikken over x en y, B en C beschikken over y en z.

Cascading Stylesheet:
1
2
3
4
5
6
7
8
A, B { x }
A, B, C { y }
B, C { z }

/* of zo: */
A { x, y }
B { x, y, z }
C { y, z }


Je hebt hoe dan ook duplicatie. In het eerste geval moet je een element dupliceren (A en C komen tweemaal voor, B zelfs driemaal) om alle eigenschappen toe te kennen, in het tweede geval moet je de eigenschappen dupliceren (x en z tweemaal, y driemaal) om aan alle elementen toe te kennen.

[ Voor 4% gewijzigd door HuHu op 16-07-2010 12:06 ]


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19:58

Sebazzz

3dp

orf schreef op vrijdag 16 juli 2010 @ 11:03:
Als ik naar LessCSS kijk is dat erg vergelijkbaar, maar met PHP hebben wij het in ons framework zitten waardoor je niet hoeft te 'compilen' o.i.d.
Waarschijnlijk bedoeld ie dat @ compile-time (ASP.NET compileer je over het algemeen, hoeft niet, kan wel) de LessCSS bestanden in CSS worden omgezet ;)

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


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Sebazzz schreef op vrijdag 16 juli 2010 @ 09:41:
Vind ik ook gek van zo'n ervaren programmeur zoals jij ;)
Jouw woorden, niet de mijne :+. Ervaring? Was het maar waar :/.

Maar het is niet gek, heb er gewoon nog nooit van gehoord. Niet dat ik er ooit actief naar gezocht heb, mind.
Maar die alternatieven zijn er zeer zeker wel. En op het moment zijn er ook genoeg libraries die het serverside naar CSS kunnen vertalen. Het is niet zozeer een volledig alternatief, maar meer wat toevoegingen en handigheidjes.
Dat is zeker handig ja! ik zal het eens aan de CSSers alhier laten zien, kijken of ze het ook handig vinden. Hopelijk is dat een beetje goed te integreren in een Maven build, maar ach, zolang het commandline aan kan roepen moet het wel werken.

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 20-09 00:16

Matis

Rubber Rocket

YopY schreef op vrijdag 16 juli 2010 @ 09:10:
Is PDT dan al wel goed compatible met Helios? Ik wacht nog even met upgraden op mijn werk PC naar Helios omdat het voor zover ik kan zien weinig toevoegt voor mijn werk (webdevelopment icm java) en ivm compatibiliteit met de vele handige addon dingen die ik heb. Alhoewel de marketplace wel handig moet zijn. D'r zijn zoveel plugins voor Eclipse, maar maar zo weinig waar ik het praktisch nut (voor mij persoonlijk) inzie, terwijl er toch veel handige features bij kunnen imo.
De 2.2.0 versie staat als stable getaged, dus daar ga ging ik dan gemakshalve maar vanuit ;)
Nadat ik weer terug ben gegaan naar Galileo loopt alles weer als een zonnetje (qua crashes) maar Helios is toch wel een heel stuk sneller met codecompletion en het cross-class opzoeken van functies en variabelen.

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


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19:58

Sebazzz

3dp

Wat werkt internationalisatie in WPF toch lekker knullig. :(

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


Acties:
  • 0 Henk 'm!

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

Snake

Los Angeles, CA, USA

Ik heb zelf niet met Globalization gewerkt in .NET, maar ik heb wel gezien dat Re# de mogelijkheid heeft om strings naar een resx file te moven, zodat je dat werk al niet meer hebt...

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


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Sebazzz schreef op zondag 18 juli 2010 @ 21:52:
Wat werkt internationalisatie in WPF toch lekker knullig. :(
Als ik zo dit artikel op MSDN doorlees vind ik het nog wel meevallen hoor: http://msdn.microsoft.com/en-us/library/ms788718.aspx. Het had erger gekund.

We are shaping the future


Acties:
  • 0 Henk 'm!

  • defcon84
  • Registratie: September 2009
  • Laatst online: 19-09 07:46

defcon84

Multipass?

Snake schreef op maandag 19 juli 2010 @ 06:59:
Ik heb zelf niet met Globalization gewerkt in .NET, maar ik heb wel gezien dat Re# de mogelijkheid heeft om strings naar een resx file te moven, zodat je dat werk al niet meer hebt...
idd heerlijke functie :)

http://www.jetbrains.com/...internationalization.html

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19:58

Sebazzz

3dp

Alex) schreef op maandag 19 juli 2010 @ 08:30:
[...]

Als ik zo dit artikel op MSDN doorlees vind ik het nog wel meevallen hoor: http://msdn.microsoft.com/en-us/library/ms788718.aspx. Het had erger gekund.
Altijd "had iets erger gekund", maar het is toch belachelijk dat je met een unsupported tooltje van Microsoft via een hokkie-tokkie oplossing met csv bestanden de boel moet vertalen. Tuurlijk, resx is ook mogelijk maar dat is weer trager en heeft zijn eigen limitaties en het is in principe niet de bedoeling dat je resx en xaml combineert (daar zijn namelijk resource dictionaries voor). Als er nou een fatsoenlijk tooltje was om dit te regelen, ala wat je bij WinForms doet, maar dat lijkt er niet te zijn zonder dat je 500 dollar neertelt.

Voor de normale classes gebruik ik ook resx, dat werkt ideaal maar voor WPF werkt dat niet goed en makkelijk of je moet alles handmatig gaan binden.

[ Voor 8% gewijzigd door Sebazzz op 19-07-2010 13:03 ]

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


Acties:
  • 0 Henk 'm!

Verwijderd

Heeft iemand enig idee wat de delimiterwaarde voor een dollar-teken is in Java? Ik gebruik nu useDelimter("$") zonder enig succes...De input bestaat o.a. uit: Jan$28$Amsterdam, dit moet ik dus gescheiden zien te krijgen :'( Ik heb me onderhand suf gezocht op google, tevergeefs, ik denk ik vraag het hier even (ja, ik weet dat het primair geen vraagbaak is hier, maar een nieuwe topic openen vond ik nou ook een beetje té...), anders moet ik maar iets anders proberen.

[ Voor 15% gewijzigd door Verwijderd op 19-07-2010 15:07 ]


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

useDelimiter vraagt dan ook om een (regexp)-pattern en een $ is een speciaal teken. Gewoon normaal escapen (waarbij de slash zelf natuurlijk ook geescaped moet worden om hem de string in te krijgen). \\$ should do the job.

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!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Java:
1
StringTokenizer st = new StringTokenizer(in, "$");

:?

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

Verwijderd

Janoz schreef op maandag 19 juli 2010 @ 15:16:
useDelimiter vraagt dan ook om een (regexp)-pattern en een $ is een speciaal teken. Gewoon normaal escapen (waarbij de slash zelf natuurlijk ook geescaped moet worden om hem de string in te krijgen). \\$ should do the job.
That did the trick, heel erg bedankt. Ik was het escapen van de slash vergeten, had \$ namelijk ook geprobeerd.

Acties:
  • 0 Henk 'm!

Verwijderd

Ben ik hier nog welkom nu ik officieel geen dev'er meer ben? -O-

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

Je bent voornamelijk niet meer welkom omdat je Zend Certified Engineer bent, maar goed... ;)

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!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Devver ben je niet omdat het op je naam staat, maar omdat het je passie is. :)

We are shaping the future


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Verwijderd schreef op maandag 19 juli 2010 @ 17:30:
Ben ik hier nog welkom nu ik officieel geen dev'er meer ben? -O-
Ligt eraan of je al kunt delen door 0.

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 20-09 00:16

Matis

Rubber Rocket

Delen door 0 is het makkelijkste wat er is, gewoon NaN returnen :D

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


Acties:
  • 0 Henk 'm!

Verwijderd

YopY schreef op maandag 19 juli 2010 @ 21:07:
[...]


Ligt eraan of je al kunt delen door 0.
Tuurlijk kan ik delen door 0... /me crasht... 8)7

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
.oisyn schreef op maandag 19 juli 2010 @ 17:41:
Je bent voornamelijk niet meer welkom omdat je Zend Certified Engineer bent, maar goed... ;)
:D

Acties:
  • 0 Henk 'm!

  • Hoogie2004
  • Registratie: Mei 2005
  • Laatst online: 20-09 10:53

Hoogie2004

Whohooooo

Laatste stapjes voordat iets af is duren altijd zo lang.... Debuggen komt me mijn neus wel uit nu, zeker omdat bij het reproduceren van de meeste bugs je het hele product moet doorlopen.... Devven met infopath is gewoon een ramp..

[ Voor 40% gewijzigd door Hoogie2004 op 20-07-2010 08:58 ]

My iRacing profile | Strava


Acties:
  • 0 Henk 'm!

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

Haan

dotnetter

* Haan gaat flink wat koffie naar binnen gieten vandaag..

Tien dagen mee op zeilkamp geweest als kookstaf; veel drinken, laat naar bed, vroeg op, dus ben redelijk gesloopt :O Gisteren teruggekomen, dus nog niet helemaal bijgekomen.
Nu eerst maar eens rustig door de mailbox werken..

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Hoogie2004 schreef op dinsdag 20 juli 2010 @ 08:56:
Laatste stapjes voordat iets af is duren altijd zo lang.... Debuggen komt me mijn neus wel uit nu, zeker omdat bij het reproduceren van de meeste bugs je het hele product moet doorlopen.... Devven met infopath is gewoon een ramp..
Wacht maar tot je iets hebt dat 'bijna af' is maar dat na anderhalf jaar pas live gezet wordt, :+. Mede door een onvolledige API en heel erg brakke code (lijstjes met getallen opslaan in strings met komma's, en een # als daar niks in zit. Levert leuke fouten op in combinatie met Spring die dat probeert te interpreteren als een integer, als de logger die dat meldt uitstaat, :+.

En als je in de laatste fase van een project nog zoveel bugs hebt zou je toch eens het ontwikkelproces na moeten kijken.

Acties:
  • 0 Henk 'm!

  • Hoogie2004
  • Registratie: Mei 2005
  • Laatst online: 20-09 10:53

Hoogie2004

Whohooooo

YopY schreef op dinsdag 20 juli 2010 @ 09:14:
[...]


Wacht maar tot je iets hebt dat 'bijna af' is maar dat na anderhalf jaar pas live gezet wordt, :+. Mede door een onvolledige API en heel erg brakke code (lijstjes met getallen opslaan in strings met komma's, en een # als daar niks in zit. Levert leuke fouten op in combinatie met Spring die dat probeert te interpreteren als een integer, als de logger die dat meldt uitstaat, :+.

En als je in de laatste fase van een project nog zoveel bugs hebt zou je toch eens het ontwikkelproces na moeten kijken.
Het is niet zozeer het aantal bugs of het ontwikkelproces (maar infopath is gewoon een ramp :P). Maar meer de deadline en het testproces, welke eigenlijk erg krap zijn. Maar het is nu eenmaal zo. Nog een paar bugs :D

My iRacing profile | Strava


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Zijn er dan echt mensen die Infopath serieus gebruiken? Ik dacht dat dat alleen werd gebruikt door secretaresses om aan/afmeldlijstjes voor barbeque's mee te maken. :')

We are shaping the future


Acties:
  • 0 Henk 'm!

  • dev10
  • Registratie: April 2005
  • Laatst online: 18-09 19:18
Vandaag stevig aan de koffie ben ik bang. Vannacht kon ik niet echt goed slapen vanwege de warmte op m'n kamer. Om kwart voor drie lag ik nog te woelen en vanmorgen om 7 uur stond ik er weer naast. :X

Acties:
  • 0 Henk 'm!

Verwijderd

Humzzz.. Welke charset wordt gebruikt bij de $_GET variable van php?

code:
1
script.php?var=%25Achternaam%E9%E9%25


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
mb_internal_encoding('UTF-8');
header("Content-type: text/html; charset=utf-8");
ini_set('default_charset', 'utf-8');

function isUTF8($string)
{
// From http://w3.org/International/questions/qa-forms-utf-8.html
    return preg_match('%^(?:
         [\x09\x0A\x0D\x20-\x7E]            # ASCII
       | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
       |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
       | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
       |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
       |  \xF0[\x90-\xBF][\x80-\xBF]{2}    # planes 1-3
       | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
       |  \xF4[\x80-\x8F][\x80-\xBF]{2}    # plane 16
    )*$%xs', $string) === 1;

}

var_dump(isUTF8($_GET['var']))

?>


Bovenstaand levert false op.

Acties:
  • 0 Henk 'm!

Verwijderd

Lijkt me logisch, UTF8 is ook niet de standaard charset voor PHP toch? ;)

[ Voor 4% gewijzigd door Verwijderd op 20-07-2010 10:49 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op dinsdag 20 juli 2010 @ 10:47:
Lijkt me logisch, UTF8 is ook niet de standaard charset voor PHP toch? ;)
Dit wordt dan wel weer als UTF-8 verzonden:
code:
1
script.php?var=&#26085;&#26412;


Oftewel, hoe weet ik welke charset er is gebruikt?

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

De query string is volgens mij per definitie in UTF-8.

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!

  • hostname
  • Registratie: April 2009
  • Laatst online: 20:16
In PHP zijn strings standaard ISO-8859, dus dat zal $_GET ook wel zijn. Wordt in de volgende versie UTF-8. Overigens kan je het ook instellen in php.ini met default_charset o.i.d.

Acties:
  • 0 Henk 'm!

Verwijderd

.oisyn schreef op dinsdag 20 juli 2010 @ 11:13:
De query string is volgens mij per definitie in UTF-8.
Daar kun je gelijk in hebben:
PHP:
1
2
3
4
5
6
//is query string utf-8? --> true
var_dump(isUTF8($_SERVER['QUERY_STRING']));
//decode de query string --> false
var_dump(urldecode($_SERVER['QUERY_STRING']));
//omzetten van iso-8859-1 naar utf-8 zorgt weer voor een geldige utf-8 string --> true
var_dump(isUTF8(utf8_encode(urldecode($_SERVER['QUERY_STRING']))));


Echter na het gebruik van urldecode (welke intern in php ook wel gebruikt zal worden) om de $_GET array te vullen gaat het mis. Why?

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

hostname schreef op dinsdag 20 juli 2010 @ 11:22:
In PHP zijn strings standaard ISO-8859, dus dat zal $_GET ook wel zijn.
Pertinent onwaar. De standaard stringfuncties doen idd net alsof het een fixed width encoding is met 1 byte per char, maar nergens staat dat het ISO-8859 is, en PHP doet al helemaal niets om input van wat voor encoding dan ook te converteren naar ISO-8859.

Het enige wat de default_charset setting doet is de default encoding zetten die via de Content-Type HTTP header wordt teruggegeven aan de client.

[ Voor 14% gewijzigd door .oisyn op 20-07-2010 11:34 ]

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

hostname schreef op dinsdag 20 juli 2010 @ 11:22:
In PHP zijn strings standaard ISO-8859, dus dat zal $_GET ook wel zijn. Wordt in de volgende versie UTF-8. Overigens kan je het ook instellen in php.ini met default_charset o.i.d.
In aanvulling op .oisyn:
Kijk eens goed naar regel 4 van mijn snippet (daar staat toch echt):
PHP:
1
ini_set('default_charset', 'utf-8');

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op dinsdag 20 juli 2010 @ 11:39:
[...]


In aanvulling op .oisyn:
Kijk eens goed naar regel 4 van mijn snippet (daar staat toch echt):
PHP:
1
ini_set('default_charset', 'utf-8');
En wanneer word de $_GET variablen geïnitialiseerd? Wat gebeurt er als je de default_charset in .htaccess of in php.ini op UTF-8 zet?

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

Dat zijn natuurlijk ook rare testjes :)

isUTF8 op je querystring zal altijd true geven, omdat de query string geencodeerd wordt met ascii tekens, dus dat is altijd compatible met utf-8. Dit gaat uiteraard ook weer op voor een opnieuw urlgeëncodeerde string.

Waarom urldecode() uberhaupt false teruggeeft is mee een raadsel, die zou een string terug moeten geven. Of ben je daar de isUTF8 vergeten omheen te zetten?

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!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Wat is PHP toch ook een ranzig inconsistent taaltje als ik dit zo eens aanhoor...

* Alex) aait .NET en UTF-16

We are shaping the future


Acties:
  • 0 Henk 'm!

Verwijderd

LuCarD schreef op dinsdag 20 juli 2010 @ 11:50:
[...]


En wanneer word de $_GET variablen geïnitialiseerd? Wat gebeurt er als je de default_charset in .htaccess of in php.ini op UTF-8 zet?
.htaccess geprobeerd met de volgende regel:
code:
1
AddDefaultCharset UTF-8


Maar er verandert niets.

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op dinsdag 20 juli 2010 @ 11:55:
[...]


.htaccess geprobeerd met de volgende regel:
code:
1
AddDefaultCharset UTF-8


Maar er verandert niets.
Probeer dit eens in je htaccess
code:
1
php_value default_charset UTF-8

[ Voor 5% gewijzigd door LuCarD op 20-07-2010 12:01 ]

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

Alex) schreef op dinsdag 20 juli 2010 @ 11:52:
Wat is PHP toch ook een ranzig inconsistent taaltje als ik dit zo eens aanhoor...
PHP is juist heel erg consistent. Het laat alle encodings intact, en de programmeur moet ervoor zorgen dat alles klopt. En dat is juist wat er vaak fout gaat :)



de letter ë in UTF-8 is de tekenreeks C3 AB. In een url-encoded formaat is dat dus %C3%AB. Als je urldecode("%C3%AB") doet krijg je een string van 2 tekens terug, ofwel hij wordt niet omgezet naar latin-1 oid waar je een string van 1 teken verwacht (byte EB)

[ Voor 28% gewijzigd door .oisyn op 20-07-2010 12:05 ]

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

LuCarD schreef op dinsdag 20 juli 2010 @ 12:01:
[...]

Probeer dit eens in je htaccess
code:
1
php_value default_charset UTF-8
script.php?var=%25Achternaam%E9%E9%25

.htaccess
code:
1
2
AddDefaultCharset UTF-8
php_value default_charset UTF-8


script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mb_internal_encoding('UTF-8');
header("Content-type: text/html; charset=utf-8");
ini_set('default_charset', 'utf-8');

function isUTF8($string)
{
// From http://w3.org/International/questions/qa-forms-utf-8.html
    return preg_match('%^(?:
         [\x09\x0A\x0D\x20-\x7E]            # ASCII
       | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
       |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
       | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
       |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
       |  \xF0[\x90-\xBF][\x80-\xBF]{2}    # planes 1-3
       | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
       |  \xF4[\x80-\x8F][\x80-\xBF]{2}    # plane 16
    )*$%xs', $string) === 1;

}

var_dump(isUTF8($_GET['var']));


levert nog steeds false ;)

[ Voor 62% gewijzigd door Verwijderd op 20-07-2010 12:06 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

waar komt die isUTF8 functie vandaan? Het is geen standaard PHP functie.

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

.oisyn schreef op dinsdag 20 juli 2010 @ 12:06:
waar komt die isUTF8 functie vandaan? Het is geen standaard PHP functie.
Zie url: http://www.w3.org/International/questions/qa-forms-utf-8

As an example, in Perl, a regular expression testing for UTF-8 may look as follows:

$field =~
m/\A(
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*\z/x;

This expression can be adapted to other programming languages. It takes care of various issues, such as illegal overlong encodings and illegal use of surrogates. It will return true if $field is UTF-8, and false otherwise.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ik ben meer geïnteresseerd in de daadwerkelijke PHP implementatie ervan, en of die wel klopt.

.edit:
script.php?var=%25Achternaam%E9%E9%25
Dat is sowieso geen valide UTF-8 string. Er is niet zoiets als E9 E9 in UTF-8. Waar komt ie vandaan?

[ Voor 46% gewijzigd door .oisyn op 20-07-2010 12:13 ]

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

.oisyn schreef op dinsdag 20 juli 2010 @ 12:09:
Ik ben meer geïnteresseerd in de daadwerkelijke PHP implementatie ervan, en of die wel klopt.

.edit:

[...]

Dat is sowieso geen valide UTF-8 string. Er is niet zoiets als E9 E9 in UTF-8.
Hij staat al een paar keer vermeld in mijn post hierboven, maar komt tie nogmaals:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function isUTF8($string)
{
// From http://w3.org/International/questions/qa-forms-utf-8.html
    return preg_match('%^(?:
         [\x09\x0A\x0D\x20-\x7E]            # ASCII
       | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
       |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
       | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
       |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
       |  \xF0[\x90-\xBF][\x80-\xBF]{2}    # planes 1-3
       | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
       |  \xF4[\x80-\x8F][\x80-\xBF]{2}    # plane 16
    )*$%xs', $string) === 1;

}


Firefox maakt van een é een %E9. String is:
code:
1
%Achternaaméé%

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

Dan bugt firefox.

Wikipedia: Percent-encoding
The generic URI syntax mandates that new URI schemes that provide for the representation of character data in a URI must, in effect, represent characters from the unreserved set without translation, and should convert all other characters to bytes according to UTF-8, and then percent-encode those values. This requirement was introduced in January 2005 with the publication of RFC 3986. URI schemes introduced before this date are not affected.
Tenzij firefox expres iets doet met de encoding van je pagina, hoewel dat eigenlijk niet zou moeten.

[ Voor 7% gewijzigd door .oisyn op 20-07-2010 12:19 ]

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: 19:58

Sebazzz

3dp

Dan buggen websites zoals Websniffer ook...
quote: Request op Websniffer.net?blaat=ééé
HTTP Request Header

Connect to 188.93.10.56 on port 80 ... ok

GET /?blaat=%E9%E9%E9 HTTP/1.1[CRLF]
Host: web-sniffer.net[CRLF]
Connection: close[CRLF]
User-Agent: Web-sniffer/1.0.36 (+http://web-sniffer.net/)[CRLF]
Accept-Encoding: gzip[CRLF]
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF]
Cache-Control: no[CRLF]
Accept-Language: de,en;q=0.7,en-us;q=0.3[CRLF]
Referer: http://web-sniffer.net/[CRLF]

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


Acties:
  • 0 Henk 'm!

Verwijderd

.oisyn schreef op dinsdag 20 juli 2010 @ 12:18:
Dan bugt firefox.

Wikipedia: Percent-encoding

[...]

Tenzij firefox expres iets doet met de encoding van je pagina, hoewel dat eigenlijk niet zou moeten.
Chrome:
code:
1
?var=%Achternaam%C3%A9%C3%A9%


IE:
code:
1
?var=%Achternaaméé%


Firefox:
code:
1
?var=%Achternaam%E9%E9%


Safari:
code:
1
?var=%AChternaam%C3%A9%C3%A9%


WTF?

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

@Sebazzz: Blijkbaar :)

Als je in Javascript encodeURIComponent("ééé") doet krijg je "%C3%A9%C3%A9%C3%A9"

[ Voor 4% gewijzigd door .oisyn op 20-07-2010 12:26 ]

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: 19:58

Sebazzz

3dp

.oisyn schreef op dinsdag 20 juli 2010 @ 12:26:
Als je in Javascript encodeURIComponent("ééé") doet krijg je "%C3%A9%C3%A9%C3%A9"
encodeURIComponent("ééé")
%C3%A9%C3%A9%C3%A9

Klopt. Ook in Firefox.

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


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

web-sniffer.net doet waarschijnlijk gewoon urlencode() op de querystring. En dat gaat fout aangezien web-sniffer latin-1 gebruikt, en hij de invoer van de gebruiker gewoon in latin-1 opgegeven krijgt. Ze moeten dus óf eerst de boel omzetten naar utf-8 voor de urlencode(), óf zorgen dat de hele pagina (en dus ook de encoding van het formulier) gewoon in utf-8 is.

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: 19:58

Sebazzz

3dp

Als ik met Firefox op Google zoek op zoekterm 'ééé' dan krijg je deze url:
http://www.google.nl/#hl=nl&source=hp&q=%C3%A9%C3%A9%C3%A9&aq=f&aqi=g-s1&aql=&oq=&gs_rfai=&fp=1

[ Voor 3% gewijzigd door Sebazzz op 20-07-2010 12:46 ]

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


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

Google geeft z'n pagina ook in UTF-8 terug. Waarschijnlijk kijkt firefox daar dus naar. Dat is wellicht niet eens zo heel verkeerd, gezien het feit dat de UTF-8 pas in 2005 gestandaardiseerd werd voor querystrings. Daarvoor was de encoding niet eens gedefinieerd en deed iedereen maar wat.

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 dinsdag 20 juli 2010 @ 12:18:
Dan bugt firefox.

Wikipedia: Percent-encoding

quote:
...
This requirement was introduced in January 2005 with the publication of RFC 3986. URI schemes introduced before this date are not affected.
..
Het http uri scheme is voor 2005 geintroduceert, dus het lijkt me dat het niet perse fout 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!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Grr :( wat is het toch irritant als hardware niet aan zijn eigen specs voldoet :(

“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: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

Woy schreef op dinsdag 20 juli 2010 @ 13:40:
[...]

Het http uri scheme is voor 2005 geintroduceert, dus het lijkt me dat het niet perse fout is.
Hmm good point. Dus feitelijk zitten we nog steeds met een non-standaard :/. Behalve javascript, die standaard wel UTF-8 gebruikt.

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!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Verwijderd schreef op dinsdag 20 juli 2010 @ 12:15:
[...]


Hij staat al een paar keer vermeld in mijn post hierboven, maar komt tie nogmaals:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function isUTF8($string)
{
// From http://w3.org/International/questions/qa-forms-utf-8.html
    return preg_match('%^(?:
         [\x09\x0A\x0D\x20-\x7E]            # ASCII
       | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
       |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
       | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
       |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
       |  \xF0[\x90-\xBF][\x80-\xBF]{2}    # planes 1-3
       | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
       |  \xF4[\x80-\x8F][\x80-\xBF]{2}    # plane 16
    )*$%xs', $string) === 1;

}


Firefox maakt van een é een %E9. String is:
code:
1
%Achternaaméé%
Ik betwijfel of je überhaupt zo in PHP kunt controleren of een string UTF-8 gecodeerd is. Wellicht dat je hier beter mee kunt testen:

http://www.php.net/manual/en/function.mb-detect-encoding.php


Edit:

Ik krijg met een simpel scriptje het volgende resultaat:

PHP:
1
2
3
4
5
<?php

var_dump(mb_detect_encoding($_GET['var']));

?>


request: utf8.php?var=%E9%E9%E9

resultaat: string(5) "UTF-8"

[ Voor 8% gewijzigd door Michali op 20-07-2010 15:43 ]

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 02:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

Het enige wat je test is of de string uit geldige UTF-8 tekens bestaat. Je controleert idd niet of de string ook daadwerkelijk met die encoding is geëncodeerd. Het kan net zo goed dat alle tekens toevallig goed zijn :)

edit: nou daar klopt iig geen zak van, E9 E9 E9 is geen geldige UTF-8 string ;)

[ Voor 15% gewijzigd door .oisyn op 20-07-2010 15:44 ]

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!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
.oisyn schreef op dinsdag 20 juli 2010 @ 15:41:
edit: nou daar klopt iig geen zak van, E9 E9 E9 is geen geldige UTF-8 string ;)
Hmmm dat weet ik ook niet. :P Ik deed de request (vanuit Firefox) in de vorm van utf8.php?var=ééé. Daarna zette die hem automatisch om naar die procentvorm.

Edit: met utf8.php?var=%C3%A9%C3%A9%C3%A9 hetzelfde resultaat overigens.

[ Voor 9% gewijzigd door Michali op 20-07-2010 15:50 ]

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Geniaal, dat Borland Delphi 6. Ik maar zoeken en zoeken waarom een variabele afgekapt werd in de database, maar tussen alle grids, transformproviders, datasources, datasets en querycomponenten door was ik de logica een beetje uit het oog verloren. Om van de onmogelijkheid die klotecomponenten te kunnen debuggen nog maar te zwijgen. Alles wordt gewoon bij het initialiseren van een form automagisch uitgevoerd, en maar hopen dat het goed gaat want foutmeldingen ho maar.

Wat blijkt: stond het stuk SQL in een query-component, en ja, daar zoekt Delphi niet in :') Dus ik Notepad++ aangeslingerd, en eindelijk gevonden in welk element het gewraakte stuk code stond.

Damn, ik wil weer een fatsoenlijke IDE.

[ Voor 13% gewijzigd door CodeCaster op 20-07-2010 16:36 ]

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

Pagina: 1 ... 56 ... 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