Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

×

Help jij Tweakers Website van het Jaar te worden?

Tweakers is genomineerd voor beste website 2014 in de categorieŽn Nieuws & Informatie, Community en Vergelijking. Stem nu en maak kans op mooie prijzen!

Door , , reacties: 127, views: 138.825 •

De engine in de toekomst

Onze site, code en engine kunnen altijd beter. De belangrijkste toepassing die nog niet gerealiseerd was bij de release van Tweakers 7, was de integratie van het forum. We willen namelijk dezelfde techniek gaan gebruiken om lijstjes forumtopics te kunnen presenteren, bijvoorbeeld als tab binnen een merkpagina. Die toont dan alle forumtopics die gekoppeld zijn aan het merk Kingston of producten van dat merk. Bovendien moet de zoektechniek die we voor veel andere onderdelen van de site hebben geïntroduceerd ook voor het forum gebruikt gaan worden. Omdat het hier gaat over tientallen gigabytes aan informatie, hebben we dit niet gelijk geprobeerd te integreren.

Dbadmin disk-grootte voor Topics en Messages

Op deze manier konden we eerst de basisideeën van de techniek goed in de praktijk testen. Bovendien zou het integreren van die functionaliteit onze overstapdatum weer weken of zelfs maanden uitgesteld hebben. Het is natuurlijk jammer voor degenen die al heel lang wachten op een betere zoekmachine in het forum, maar hij is eindelijk in ontwikkeling. Op het moment van schrijven is er zelfs al een goed werkende opzet, die we nu verder uitwerken :)

Forumtab van TPlink voor Tweakers 7

Daarnaast is het de bedoeling dat je de forumtopics ook bij de algemene zoekresultaten gaat vinden. Ook dit is geen triviale uitbreiding; dus ga er maar vanuit dat we de nieuwe forumzoekmachine eerst in gebruik nemen en dat we de geïntegreerde zoekfunctie pas in een latere iteratie uitbreiden.

Verder zullen we natuurlijk nog kijken naar andere onderdelen van de site die hier nog niet in opgenomen zijn en daar wel baat bij hebben. Momenteel vallen onder andere de Meuktracker, onze banensectie en wat andere kleinere delen nog (deels) buiten de boot. Ook die stonden eerder wel op het programma, maar zijn uiteindelijk uitgesteld om het Tweakers 7-project een gezonde einddatum te kunnen geven.


Door Arjen van der Meijden

- Lead Developer

In Oktober 2001 begonnen met als voornaamste taak het technisch beheer van het forum. Daarna doorgegroeid tot senior developer en software architect. Nu lead developer, met een leidinggevende taak aan het team van programmeurs en systeembeheerders van Tweakers.net.

Lees meer over

Reacties (127)

Reactiefilter:-11270122+195+220+30
Nee hoor. .NET kan je ook gebruiken i.c.m. een MySQL database.

Veel alternatieven beloven een betere productiviteit dan Java, maar als je het gebruik van een goede IDE meerekent, zijn de productiviteitsvoordelen van het alternatieve platform dan nog relevant? Doelt dit nu op ontwikkelkosten, dan; moeilijke vraag. Geen inzicht in jullie budget. Doelt dit op het functioneren/prestaties van je applicatie dan; hell yeah!?

Een groot deel van het typewerk dat je in Java meer moet doen dan in andere platforms op de JVM valt immers weg door allerlei gradaties van autocompletion, code generation en short-keys. Denk daarbij aan het automatisch genereren van getters en setters, en het automatisch plaatsen van import-statements op het moment dat je het voorstel van de autocompletion accepteert. Of te wel, er is onder andere voor Java gekozen omdat er geen goede IDE beschikbaar was voor andere talen? Visual Studio 2008 was toen ook al beschikbaar met alle beschikbare add-ons }>

Wat ons betreft was Java destijds een prima keus. Sterker, als we nu opnieuw moesten beginnen zou Java alsnog veel kans maken. We hebben nu eenmaal Java-kennis in huis en het is een uitgebreid platform met een scala aan bibliotheken en tools. Denk bijvoorbeeld aan de uitgebreide ide's en profilers die voor Java bestaan. Zijn er vergelijkbare tools voor de alternatieve platforms?

Het hele artikel had een stuk korter kunnen zijn als je deze regel meteen had opgenomen. Of anders samengevat: Het ontwikkelen van Tweakers was veel duurder geweest wanneer we het NIET voor, op Java gebaseerde technologieŽn hadden gekozen. De reden hiervan is dat de R&D voor alternatieve, inclusief de aanschaf voor ondersteunende programmatuur (hint Visual Studio) en personeel die de omschakeling (bijvoorbeeld naar .NET) zoude willen maken (kom, geef maar toe ;) ) zo veel geld had gekost dat we meer reclame op de site moesten dumpen om het geheel betaalbaar te houden. En dat hadden jullie de lezers weer niet fijn gevonden.

Wat ik helemaal vergeten ben te vermelden. Ondanks de wat vage conclusie vind ik het een interessant artikel. En de developers mogen wel een veer in hun hoed gestoken worden voor het werk wat ze leveren.

Overigens begrijp ik de kritiek die er vanuit de opensource community op Microsoft is wel. Visual Studio is verre van gratis, tenzij je de expres versie gebruikt. Die is alleen een beetje uitgekleed en moet je twee aparte instanties installeren wil je het werk kunnen doen wat de developers van Tweakers moeten verrichten. 1-0 voor de opensource community als je VS al vergelijkt met een IDE als Netbeans. Namelijk 638euro voor de simpelste VS versie tegenover de al jaren gratis verkrijgbare, Netbeans, Eclipse, Mono, vul de andere maar in. Het geld issue zal waarschijnlijk voor Femme (sorry als ik andere original crew vergeet te vermelden) ten tijden van de oprichting van Tweakers.net hebben meegespeeld. Vergeet even niet aan wie we dit alles hebben te danken _/-\o_

De rechtstreekse 2-0 die enkele minuten later volgt is dat softwareprojecten waar in dit
artikel naar gerefereerd worden veelal een oorsprong hebben in een door professionele hobbyisten ontwikkelde technology stacks. Bij mijn weten is de Apache groep een van de grootste initiatieven. En wederom allemaal gratis te her gebruiken maar vooral: Uitbreidbaar (mits je echt kan programmeren). Daarbij mag je al sinds jaar en dag bijdragen aan hun projecten. Dat kreeg je als buitenstaander voor twee jaar geleden nog niet zo eenvoudig voor elkaar bij Microsoft. Pas korte tijd accepteerd Microsoft meer vanuit de community waar ze overigens ook gretig gebruik van maken.

Dus ik snap de afkeer tegen Microsoft wel. Ik vind het geen wat ik van de Microsoft Technologie stack gebruik fijn werken en voorlopig zie ik even geen reden om over te stappen naar een alternatief. Maar mocht in de toekomst zich een baan aanbieden die dat vereist ben ik er zeker niet blind voor.

[Reactie gewijzigd door theike op 16 november 2012 20:23]

We hebben op zich niet een afkeer van Microsoft.

Maar we gaan niet even ons complete serverpark omzetten van Linux naar Windows, alleen maar zodat we dan .NET kunnen draaien... Dat is naast aardig prijzig ook domweg heel erg veel werk.
Dan is een Java-omgeving erbij draaien een stuk eenvoudiger, dat kan op dezelfde of vergelijkbare Linux-machines (met) die we al hebben en houdt ook het beheer een stuk eenvoudiger.

Bovendien hebben we domweg geen .NET-kennis in huis. Hoewel er altijd gezegd wordt dat een goede programmeur zich in elke taal in moet kunnen werken is het wat mij betreft een mythe dat dat ook gelijk hetzelfde niveau oplevert als dat een ander platform dat je wel al kent. In mijn geval heb ik veel ervaring met PHP en Java, maar zou ik voor een vergelijkbare applicatie (het php-deel of java-deel) in .NET toch eerst wel flink wat kennis moeten opdoen. Puur qua code en opzet hoeft het dan nog niet eens zoveel te verschillen...
En daar komt dan nog de leercurve voor een effcient werkende IIS met .NET, terwijl we al een vlot draaiende LAMP-stack (nouja, aangevuld me een varnish, een extra activemq, nog een mongodb en een voor memcached en dus een tomcat :P ) hadden.

[Reactie gewijzigd door ACM op 16 november 2012 22:46]

Wij zijn er in de T7 versie van de Pricewatch van uit gegaan dat een goede zoekfunctie een veel snellere en efficientere manier is om bij een product te komen is dan door een categorieboom klikken. Op elk punt in de Pricewatch kun je via de search direct naar een ander product of een andere categorie springen zonder via de homepage te gaan. Zo'n categorieboom is aardig als de structuur niet zo complex is maar het bleek af en toe behoorlijk lastig om obscure categorieŽn ergens kwijt te kunnen. Bovendien waren ook in die situatie veel productcategorieŽn niet direct vanaf de homepage toegankelijk: zo moest je maar net weten dat 'beamers & projectoren' als subcategorie was weggestopt onder 'overige randapparatuur' - en dat was uit de oude Pricewatch home op geen enkele manier af te leiden.

In de praktijk blijkt echter dat flink wat mensen zo gewend zijn aan het browsen door die boom - mede door de beroerde search in de oude site - dat het gebruiken van de search niet bij ze opkomt, of het bladeren op zich al prima beviel.

Wil je perse via een categorie bladeren dan is de huidige category browser in combinatie met het ontbreken van een echte breadcrumb inderdaad niet bepaald handig. De behoefte daaraan hebben we onderschat. We zijn aan het kijken of we een goede oplossing kunnen vinden om een categorieview terug te brengen. Probleem daarbij is dat de hoeveelheid categorieŽn nogal groot is (Pricewatch Unsorted geeft een aardige indicatie: http://tweakers.net/pricewatch/unsorted/) dus je krijgt een enorme lijst waarbij een groot deel standaard buiten beeld staat.
Gisteren zocht ik naar monitoren, staan die onder "Computers" of onder "Beeld en geluid"? De zoekfunctie werkt inderdaad heel makkelijk. Maar wat je als gebruiker niet verwacht is dat je daarmee ook naar categorieŽn kunt zoeken, daar kwam ik net pas achter. Je zou dit kunnen voorkomen door de hele zoekboom niet te tonen.
Onze code en toepassing van MySQL is van voor dat ze stored procedures ondersteunden... we hebben daarbij domweg teveel code om zomaar even over te stappen op een compleet andere manier van werken.
Dat zou uiteraard gradueel kunnen, maar ik ben niet echt een fan van het in de database opslaan van functionaliteit (wat SP's effectief zijn), die scheiding bijt je altijd wel ergens weer (het niet scheiden natuurlijk ook).
Hoezo is versiebeheer een hell? Uiteindelijk is het gewoon plain text en dat kun je prima in versiebeheer zetten.

rollback is ook prima te doen, mits je een database gebruikt die transactional DDL ondersteunt. Dan kun je namelijk ook je verificatie tests binnen de transactie (dus deployment) opnemen en afhankelijk van de resultaten een commit of rollback uitvoeren.

MySQL kent deze opties niet, maar in PostgreSQL (of bv. Oracle) is het geen enkel probleem.

Wij doen niet anders en beheren hier een database van een paar TB met ongeveer een miljoen unieke bezoekers per dag, ~800 transacties per seconde, goed voor ~20.000 (eenvoudige en zeer complexe) queries per seconde. High performance is hier het allerbelangrijkste, dat is ook de reden dat we voor stored procedures hebben gekozen: logica hťťl dicht op data zodat er zo min mogelijk data uitgewisseld hoeft te worden. En dat werkt, gemiddelde tijd per transactie (die dus meerdere queries bevat) is minder dan 10ms, ondanks dat we ~200 concurrent users van data moeten voorzien. Stored procedures kunnen dus prima werken.

Op dit item kan niet meer gereageerd worden.



Populair:Apple iPhone 6DestinyAssassin's Creed UnityFIFA 15Nexus 6Call of Duty: Advanced WarfareApple WatchWorld of Warcraft: Warlords of Draenor, PC (Windows)Microsoft Xbox OneAsus

© 1998 - 2014 Tweakers.net B.V. Tweakers is onderdeel van De Persgroep en partner van Computable, Autotrack en Carsom.nl Hosting door True

Beste nieuwssite en prijsvergelijker van het jaar 2013