Afhankelijk van wat getDB(); doet in het tweede voorbeeld kan dat wel voor heel veel db-connecties zorgen.quote:Op zaterdag 2 juni 2012 01:36 schreef Devv het volgende:
[..]
De tweede methode is in mijn optiek de enige juiste aanpak. De eerste methode zou voor mij al reden voor ontslag zijn.
Wat is dezequote:Op zondag 3 juni 2012 20:40 schreef Quir het volgende:
Een punt opgooien in een SP-topic, Scorpie? Ik dacht dat ieder weldenkend mens het daar wel mee gehad had.
Wat heeft dat met PHP/MySQL te maken?quote:Op zondag 3 juni 2012 20:49 schreef de_boswachter het volgende:
Ik weet niet of ik in dit topic goed zit, maar heb een dummy vraag;
Hoe zet ik op mijn ipad uit dat ik zie wanneer er een mail binnenkomt? Email is gesynchroniseerd met Oulook en elke keer als ik jn Outlook mail krijg dan zie ik dat. Daar wil ik vanaf.
Wie weet precies hoe ik dit uitzet
Het gaat over een iPad, dus iPad deel #33 - Waar we op de iPads van de NRC wachten. lijkt me wel geschiktquote:Op zondag 3 juni 2012 21:10 schreef de_boswachter het volgende:
Geen idee. Ik zag dummy staan.
Waar moet ik dan deze vraag stellen.
Al aan gedacht, hij vult als de DB al bestaat met een nieuwe referentie van de static DB.quote:Op zondag 3 juni 2012 00:12 schreef Boze_Appel het volgende:
[..]
Afhankelijk van wat getDB(); doet in het tweede voorbeeld kan dat wel voor heel veel db-connecties zorgen.
| 1 2 3 4 5 6 7 8 | <?php if(empty(website_Model::$single_db)){ $this->db = new Database($ip,$user,$pass,$db_name, $port); website_Model::$single_db = $this->db; }else{ $this->db = website_Model::$single_db; } ?> |
waarom gebruik je geen singleton patroon?quote:Op maandag 4 juni 2012 02:52 schreef cablegunmaster het volgende:
[..]
Al aan gedacht, hij vult als de DB al bestaat met een nieuwe referentie van de static DB.
[ code verwijderd ]
Returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise.quote:Op vrijdag 8 juni 2012 11:31 schreef Crutch het volgende:
Heeft de mailfunctie een error handler net zoals sql met mysql_error() ?
De mailfunctie werkt niet en ik vind er niets over terug in de error log.
Dan nog kun je typfouten maken. Een IDE kan je op tikfouten wijzen, en PHP geeft een notice als je een variabele probeert te gebruiken die nog niet geinitialiseerd is. Die notices moet je dus wel aanzetten op je developmentomgeving.quote:Op vrijdag 8 juni 2012 18:58 schreef Devv het volgende:
Dit soort onzin zou je bij een managed framework niet hebben.
En wat dan als je toch een keer besluit dat je met meer dan 1 database wilt verbinden?quote:Op maandag 4 juni 2012 07:51 schreef Pakspul het volgende:
[..]
waarom gebruik je geen singleton patroon?
Bij een managed framework worden typefouten al tijdens designtime afgevangen. De kans op runtime fouten is daardoor stukken minder groot dan bij een scripttaal zoals PHP.quote:
Dan geef je in plaats van een instantie van de db connectie een eigen factory klasse mee die de verschillende verbindingen kan managen.quote:Op zaterdag 9 juni 2012 12:20 schreef Light het volgende:
[..]
En wat dan als je toch een keer besluit dat je met meer dan 1 database wilt verbinden?
Singleton database collection, waar je met een static functie die connectie uit kan halen welke je wil hebben?quote:Op zaterdag 9 juni 2012 12:20 schreef Light het volgende:
[..]
En wat dan als je toch een keer besluit dat je met meer dan 1 database wilt verbinden?
Als je die collectie van buitenaf kunt vullen, ben ik het met je eensquote:Op zaterdag 9 juni 2012 16:43 schreef Pakspul het volgende:
[..]
Singleton database collection, waar je met een static functie die connectie uit kan halen welke je wil hebben?
| 1 2 3 4 5 | $salt = bla $pepper = boe $PWsalted = $pepper+$_post[wachtwoord]+$salt $PWsalted = sha256($PWsalted) //doe iets met pwsalted |
Zo ongeveer, ja. De extra veiligheid krijg je door pepper per user verschillend te laten zijn. Sowieso is het toevoegen van extra informatie al goed, omdat iemand die de password hashes heeft ze dan niet zo makkelijk kan matchen. Er is waarschijnlijk geen rainbow table voor de gesalte passwords. En als die er wel is, heb je daar alsnog niets aan als je ook pepper gebruikt. Dan moet je per user een rainbow table maken, en da's niet aantrekkelijk.quote:Op woensdag 13 juni 2012 11:10 schreef mschol het volgende:
even een vraagje m.b.t. wachtwoorden:
Hoe werkt salt-/peppering?
zelf dacht ik (pseudocode):
[ code verwijderd ]
maar dat lijkt mij net zo onveilig als alleen een los wachtwoord (behalve dat het WW langer is)
Twee keer hashen maakt je systeem eerder onveiliger dan veiliger. De lengte van de eerste hash is bekend en het aantal mogelijkheden is eindig. Dat maakt het makkelijker om het resultaat van de eerste hash te vinden, en die kun je met een rainbow table wel verder kraken.quote:
Ik zie niet wat je hier bedoelt, maar als je voor 2256 'eindig aantal' bekende input-waarden een rainbow-table wilt maken dan wens ik je veel succes. Salt is uiteraard user-dependent.quote:Op woensdag 13 juni 2012 23:59 schreef Light het volgende:
[..]
Twee keer hashen maakt je systeem eerder onveiliger dan veiliger. De lengte van de eerste hash is bekend en het aantal mogelijkheden is eindig. Dat maakt het makkelijker om het resultaat van de eerste hash te vinden, en die kun je met een rainbow table wel verder kraken.
Bijna niemand heeft een wachtwoord van 64 karakters dus in 99% van de gevallen is het veiliger.quote:Op woensdag 13 juni 2012 23:59 schreef Light het volgende:
[..]
Twee keer hashen maakt je systeem eerder onveiliger dan veiliger. De lengte van de eerste hash is bekend en het aantal mogelijkheden is eindig. Dat maakt het makkelijker om het resultaat van de eerste hash te vinden, en die kun je met een rainbow table wel verder kraken.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | SELECT team_id, t_naam, COUNT(*) Gespeeld, SUM( CASE WHEN Uitslag = 'Winst' THEN 3 ELSE 0 END)+SUM( CASE WHEN Uitslag = 'Gelijk' THEN 1 ELSE 0 END ) Punten, SUM( CASE WHEN Uitslag = 'Winst' THEN 1 ELSE 0 END ) Gewonnen, SUM( CASE WHEN Uitslag = 'Gelijk' THEN 1 ELSE 0 END ) Gelijkspel, SUM( CASE WHEN Uitslag = 'Verlies' THEN 1 ELSE 0 END ) Verloren FROM team t left join ( SELECT w_team1 AS tid, CASE WHEN w_score1 > w_score2 THEN 'Winst' WHEN w_score1 < w_score2 THEN 'Verlies' WHEN w_score1 = w_score2 THEN 'Gelijk' END AS Uitslag FROM wedstrijd where (w_score1 is not null and w_score2 is not null) UNION ALL SELECT w_team2 AS tid, CASE WHEN w_score1 > w_score2 THEN 'Winst' WHEN w_score1 < w_score2 THEN 'Verlies' WHEN w_score1 = w_score2 THEN 'Gelijk' END AS Uitslag FROM wedstrijd where (w_score1 is not null and w_score2 is not null) ) A ON t.team_id = A.tid where team_id in (select team_id from competitie c, compindeling ci, klasse k, team t and comp_id = 1 and klasse_id = 3) GROUP BY t_naam order by Punten DESC, Gespeeld ASC; |
| 1 2 | FROM team t JOIN wedstrijd ON(t.team_id=w_team1 OR t.team_id=w_team2) |
| 1 | SUM( CASE WHEN ((t.team_id=w_team1 AND w_score1>w_score2) OR (t.team_id=w_team2 AND w_score2>w_score1) THEN 1 ELSE 0 END ) Gewonnen |
w_id int(11) PKquote:
Welke voordlen zitten daar aan vast, anders dan minder code?quote:Op donderdag 14 juni 2012 15:54 schreef GlowMouse het volgende:
Regel 7-25 kun je ook doen met:
[ code verwijderd ]
In je SELECT krijg je dan dingen als:
[ code verwijderd ]
Hoe bedoel je denormaliseren? Ben ik te ver doorgeslagen?quote:En denormaliseren zou ook wel helpen.
Nee ik heb niet gedenormaliseerd, maar dat geef je wel als tip. Heb ik te ver genormaliseerd?quote:Op donderdag 14 juni 2012 19:22 schreef GlowMouse het volgende:
sneller, leesbaarder
en denormaliseren doe je nu toch juist niet?
Opzich wel een idee ja. Maar dan verlies ik die gegevens weer als een team een volgend seizoen in een andere klasse/competitie speelt. Ik wil dat zo flexibel mogelijk houden, en dus on the fly berekenen. Anders moet je bij elke wedstrijd die gespeeld is de teams ook updaten, in plaats van dat je alleen het wedstrijdrecord bewerkt.quote:Op donderdag 14 juni 2012 19:24 schreef GlowMouse het volgende:
punten, gewonnen, gelijkspel en verloren zou ik in de tabel Team opslaan
Je hebt veel meer nodig dan alleen een gebrekkige PHP-kennis.quote:Op zaterdag 23 juni 2012 21:10 schreef Tauchmeister het volgende:
Ik zou graag een Google News-achtige dienst op mijn website aan willen bieden (dus een selectie met artikelen van andere sites, gesorteerd op onderwerp). Is dit realiseren met gebrekkige PHP-kennis? Ik ben wel bereid om me ervoor erin te verdiepen uiteraard
Daar ging ik al wel vanuit. Het is zo dat ik me de komende tijd naast mijn studie wil gaan richten op een project waar ik zelf veel potentie in zie, maar ik heb me eigenlijk nooit echt verdiept in PHP en me slechts beziggehouden met web design. Ik ben nu aan kijken hoe ik het ga aanpakken en geef natuurlijk het liefst zo weinig mogelijk uit handen, maar ik denk dat mijn PHP-kennis gewoonweg tekortschiet om het echt een succes te laten worden. Ik vraag me af of het zin heeft om er tijd en moeite in te steken of dat ik dat ik bepaalde delen van het scriptwerk beter aan anderen kan overlaten. En dan is het ook nog moeilijk om te bepalen wie daar geschikt voor is. Ik wil namelijk geen prutsersquote:Op zaterdag 23 juni 2012 22:44 schreef Ofyles2 het volgende:
[..]
Je hebt veel meer nodig dan alleen een gebrekkige PHP-kennis.
Ik stel me beschikbaar als je me nodig hebt.
Jitse Groen (Thuisbezorgd.nl) stond ook voor die keus.quote:Op zondag 24 juni 2012 00:09 schreef Tauchmeister het volgende:
[..]
Daar ging ik al wel vanuit. Het is zo dat ik me de komende tijd naast mijn studie wil gaan richten op een project waar ik zelf veel potentie in zie, maar ik heb me eigenlijk nooit echt verdiept in PHP en me slechts beziggehouden met web design. Ik ben nu aan kijken hoe ik het ga aanpakken en geef natuurlijk het liefst zo weinig mogelijk uit handen, maar ik denk dat mijn PHP-kennis gewoonweg tekortschiet om het echt een succes te laten worden. Ik vraag me af of het zin heeft om er tijd en moeite in te steken of dat ik dat ik bepaalde delen van het scriptwerk beter aan anderen kan overlaten. En dan is het ook nog moeilijk om te bepalen wie daar geschikt voor is. Ik wil namelijk geen prutsers
Tja, ik weet dat hij in het begin met iemand samenwerkte, maar daarna voor honderd procent eigenaar is geworden en daar plukt hij nu de vruchten van. Het hangt ook maar net af van je startkapitaal. Ik ben ook nog maar een student, maar heb dankzij eerdere projecten toch wat meer tot mijn beschikking, al moet dat eigenlijk niet van invloed zijn. Ik ga er nog eens goed over nadenken.quote:Op zondag 24 juni 2012 00:32 schreef Ofyles2 het volgende:
[..]
Jitse Groen (Thuisbezorgd.nl) stond ook voor die keus.
Niet dat ik je direct wil beïnvloeden.
Gebruik dan gewoon een fatsoenlijke caching laag, denormaliseren doe je eigenlijk alleen wanneer je daar zeer goede redenen hebt.quote:Op donderdag 14 juni 2012 19:24 schreef GlowMouse het volgende:
punten, gewonnen, gelijkspel en verloren zou ik in de tabel Team opslaan
Denormaliseren is een vorm van caching.quote:Op zondag 24 juni 2012 16:40 schreef raptorix het volgende:
[..]
Gebruik dan gewoon een fatsoenlijke caching laag, denormaliseren doe je eigenlijk alleen wanneer je daar zeer goede redenen hebt.
Als je dat in een aparte database, of desnoods tables doet misschien wel, wij hebben ooit voor hele grote zware sites gedenormaliseerde tables gebruikt om er Hibernate over te kunnen plaatsen, in dit geval is het trouwens ook overkill, je zou die standen prima kunnen ophalen via normale queries, wel leven niet meer in 2000 dat dat een performance probleem zou zijn.quote:Op zondag 24 juni 2012 17:55 schreef GlowMouse het volgende:
[..]
Denormaliseren is een vorm van caching.
Nee, ook in dezelfde database is het caching. De meest efficiënte vorm van caching.quote:Op zondag 24 juni 2012 19:01 schreef raptorix het volgende:
[..]
Als je dat in een aparte database, of desnoods tables doet misschien wel
nee, dat kan niet 'prima'quote:je zou die standen prima kunnen ophalen via normale queries, wel leven niet meer in 2000 dat dat een performance probleem zou zijn.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <html> <head> <script type="text/javascript"> var beta_const = -2.665; var addedVars = 0.885; var probability = Math.exp(beta_const + addedVars); probability = probability/(probability+1); probability = Math.round(probability*100)/100; alert(probability*100); </script> </head> <body> <?php $beta_const = -2.665; $addedVars = 0.885; $probability = exp($beta_const + $addedVars); $probability = $probability/($probability+1); $probability = round($probability,2); echo $probability*100; ?> </body> </html> |
| 1 2 | probability = Math.round(probability*100); alert(probability); |
Dan gebruik je gewoon een kut database omdat normale databases dat zelf wel cachen dan wel optimaliseren, we hebben het hier niet over miljoenen records mag ik aannemen.quote:Op zondag 24 juni 2012 19:20 schreef GlowMouse het volgende:
[..]
Nee, ook in dezelfde database is het caching. De meest efficiënte vorm van caching.
[..]
nee, dat kan niet 'prima'
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |