Logsysteem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Software Programmeur PHP

Functie Wij zijn op zoek naar een PHP programmeur voor een leuke opdrachtgever in omgeving Alblasserdam. Heb jij altijd al willen werken bij een bedrijf dat veilige netwerkverbindingen levert door middel van veilige oplossingen? Lees dan snel verder. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Tevens

Bekijk vacature »

Front end developer

Functie Binnen de functie van Front-end developer werk je mee aan uitdagende klantprojecten. In teamverband werk je aan de voorkant van onze state-of-the-art portaal oplossingen en apps. Dit alles gebeurt in een multidisciplinaire omgeving waarbij je de ruimte hebt om te sparren, je ideeën scherp te stellen, en waar je met de benodigde kennis en ervaring om je heen altijd terecht kunt bij je collega’s voor vragen en ondersteuning. Meestal werk je vanuit ons kantoor maar we bieden ook alle faciliteiten om thuis te kunnen werken. Voor sommige projecten ga je mee naar de klant, wellicht zelfs in het buitenland!

Bekijk vacature »

Software developer (PHP) - Utrecht centrum

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. Je gaat als Full stack developer aan de slag en gaat

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Programmeren van zelflerende robots Werken op kantoor en testen in de bedrijfshal Je krijgt verantwoordelijkheid, vrijheid en je mag werken naar eigen inzicht De organisatie Hier ga je aan de slag Een bedrijf dat innovatieve robottoepassingen ontwerpt en bouwt voor onder andere de staal industrie, energie- bouw- en agrarische sector. De robots die vaak in combinatie met diverse randapparatuur geleverd worden vormen een totaaloplossing voor de klant. Dit zijn klanten over de hele wereld, van België en Duitsland tot China, India, maar ook in Nederland. Projecten waar momenteel aan wordt

Bekijk vacature »

Full Stack Developer

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail; Verantwoordelijk voor de front-end werkzaamheden; Naast de front-end werk je ook aan de backend. Hier ga je werken Als Full Stack Developer komt je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development

Bekijk vacature »

Typescript Developer / Cloud platform

Dit ga je doen (Door)Ontwikkelen van het cloud platform; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het cloud platform; Sparren met de business. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt

Bekijk vacature »

Team Lead Java Developer

Functie Wat ga je doen als Java developer? Als Team Lead Java Developer draag een grote verantwoordelijk je stuurt ontwikkelaars aan en staat dagelijks in contact met jou ICT Manager. De team Bestaat uit front-end en backend systemen. Je ben in staat op hoog niveau de technische vak te bepalen en ook te bewaren. Je dag zie er als volgt uit, ontwikkelen van nieuwe en bestaande applicaties, het uitvoeren van processen en analyses en het beschrijven van functioneel ontwerpen. Ook zal samen met jouw Tester applicaties gaan testen door middel van peer reviews en het leveren van support aan gebruikers

Bekijk vacature »

Software Developer C++ en Perl

Ben je een slimme en enthousiaste universitair opgeleide bèta die graag bij een relatief klein softwarebedrijf wil werken waar de sfeer goed is en eigen inbreng gewaardeerd wordt? Wij, IntelliMagic in Leiden, ontwikkelen technisch hoogwaardige software op het gebied van IT infrastructuur performance analytics. Het type software zorgt voor intellectueel interessante uitdagingen. We ontwerpen de producten zelf en verkopen deze als off-the-shelf software aan grote bedrijven in Europa en de VS. Wij zoeken een ervaren C++ software engineer met kennis van Perl voor een van onze ontwikkelteams. Werkzaamheden Samen met de andere ontwikkelaars specificeren, ontwerpen en implementeren van nieuwe functionaliteit

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden je MBO of HBO ICT in ontvangst mogen nemen? Of ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een uitdagende werkgever in de regio van Tilburg zijn wij op zoek naar een ambitieuze back-end programmeur met affiniteit met MS Acess. Samen met een enthousiast team ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL, Maar affiniteit met MS Acess is nog belangrijker. Je bent sociaal naar klanten en flexibel ingesteld. Je denkt altijd in kansen en gaat graag de uitdaging aan. Verder

Bekijk vacature »

Java Developer / Sociaal domein

Dit ga je doen Nieuwbouw en doorontwikkeling; Beheer en wanneer nodig onderhoud; Bijdrage leveren in het functioneel- en technisch ontwerptraject; Analyseren van productie verstoringen; Meedenken over vernieuwingen en verbeteringen. Hier ga je werken De organisatie waar jij komt te werken focust zich op software development met een maatschappelijk tintje. De afdeling software ontwikkeling bestaat uit vijf verschillende scrum teams, met allen hun eigen focus gebied. Zo zijn er een aantal teams die zich focussen op specifieke applicaties, maar is er ook een team gericht op projecten. Binnen de organisatie staat innovatie en kwaliteit voorop. Een aantal applicaties draait nog op

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het development team. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met

Bekijk vacature »

Java Ontwikkelaar

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »
Paco de Wulp

Paco de Wulp

09/06/2015 14:17:02
Quote Anchor link
Dit idee staat nog op mijn 'ToDo-List'.
Ik denk dan aan het loggen van elk record wat 'geupdate', 'gedelete' of 'geinsert' wordt.
Dit kan handig zijn om eventuele fouten in het systeem maar ook fouten door gebruikers te kunnen achterhalen.

Is het haalbaar (qua performance) en zinvol om een logsysteem voor een webapplicatie in PHP/MYSQL op te zetten ?

Toevoeging op 09/06/2015 14:25:41:

Aan ieder record wat wordt gelogd wordt dan een gebruiker_id / timestamp / actie (update, delete, insert) toegevoegd. Hierdoor zal de log-tabel snel in omvang toenemen.
 
PHP hulp

PHP hulp

27/05/2026 13:35:09
 
Ivo P

Ivo P

09/06/2015 15:00:24
Quote Anchor link
Mysql's eigen log?
 
Ward van der Put
Moderator

Ward van der Put

09/06/2015 15:22:52
Quote Anchor link
Je gaat dan van 1 naar 3 en meer records, namelijk het record zelf plus een record voor elke INSERT, UPDATE en DELETE.

Daarnaast verdubbelt het aantal queries.

Moeilijk om te zeggen wat dat voor de performance betekent, maar wat vaak wordt gedaan, is die metadata in de tabel zelf opslaan. Voeg bijvoorbeeld een created_on met een TIMESTAMP plus een created_by met een user-ID toe en je kunt daarmee zien wanneer en door wie dat record werd toegevoegd.

Voor een DELETE doe je iets vergelijkbaars: je delete een record niet echt, maar zet een flag om voor "deze is verwijderd". Alleen registreren wie wanneer de DELETE heeft uitgevoerd, is namelijk vaak ontoereikend als je vervolgens echt data kwijt bent. Dan weet je eigenlijk nog niet wat er is gebeurd: mocht die data wel weg?

Bij een UPDATE hangt het tot slot vooral af van hoe belangrijk mutaties en historische gegevens zijn. Als iemand bijvoorbeeld een adres wijzigt, zou je ervoor kunnen kiezen om gewoon een nieuw record toe te voegen, zodat je het oude adres achter de hand hebt.
 
Fabian webstars

Fabian webstars

09/06/2015 15:47:24
Quote Anchor link
kan je niet de data in 2 tabellen inserten en in een tabel daar van alle updates en deletes uitvoeren?
 
Ivo P

Ivo P

09/06/2015 16:18:56
Quote Anchor link
@fabian:

INSERT INTO users (naam) VALUES ('fabian');

UPDATE users SET naam = 'jan' WHERE naam = 'fabian';

UPDATE users SET naam = 'piet' WHERE naam = 'jan';


op die manier weet je dus hooguit nog dat user Piet ooit Fabian heette, maar dat hij ook kort Jan heette, kun je niet meer achterhalen...
 
Paco de Wulp

Paco de Wulp

09/06/2015 18:07:01
Quote Anchor link
@Ivo P: Oh, had ik nog niet aan gedacht. Weet jij wat er allemaal wordt gelogged ?
@Ward: Jouw oplossing zou kunnen, maar dan weet ik alleen of het record gewijzigd is, maar niet precies welk(e) veld(en) er is(zijn) gewijzigd.

Mijn logsysteem-idee is misschien een beetje lomp, maar als het qua performance amper iets uit maakt en de diskruimte is er gewoon! Who cares ?

N.B. Het log-bestand moet zo af-en-toe wel worden opgeschoond anders groeit het uit zijn voegen. Eens per maand opschonen en naar een backup schrijven.

Toevoeging op 09/06/2015 18:08:50:

Even nalezen: https://dev.mysql.com/doc/refman/5.1/en/server-logs.html
Gewijzigd op 09/06/2015 18:15:25 door Paco de Wulp
 
Ward van der Put
Moderator

Ward van der Put

09/06/2015 18:56:59
Quote Anchor link
Misschien nog een andere aanvliegroute. Je kunt een tabel maken met dit type indeling:

- tabelnaam
- kolomnaam
- timestamp
- oude waarde
- nieuwe waarde

Zo kun je precies terugvinden welke kolom in welke tabel wanneer werd gewijzigd. Het is relationeel niet okay, maar het geeft je wel een goed beeld van wat zich afspeelt in de database.

Ik heb dit model één keer gebruikt voor een CRM-systeem. Daarin werkt het op zich goed: je kunt zien wanneer bijvoorbeeld een telefoonnummer werd gewijzigd en wat het vorige telefoonnummer was. Zo registreert het elke wijziging — en af en toe betrapt het gebruikers daarmee ook op een leugen of een halve waarheid (want daarom was het te doen).

Ruimere en belangrijkere vraag is eigenlijk niet wát je logt, maar vooral wáárom je iets logt.
 
Paco de Wulp

Paco de Wulp

09/06/2015 20:32:55
Quote Anchor link
Ja, deze aanvliegroute is ook een mogelijke oplossing.
Ach, ik weet nog niet of ik het daadwerkelijk ga implementeren, want zoals je zegt het moet inderdaad wel een goede reden hebben om het te doen.
 
Thomas van den Heuvel

Thomas van den Heuvel

09/06/2015 20:54:54
Quote Anchor link
Dan zou ik gewoon met een soort van versiebeheer (/workflow) gaan werken, waar je gewoon nieuwe records creëert zoals Ward ook al voorstelde (de nieuwste versie van een item is de versie waar je meer werkt). Als je alleen alle verschillen opslaat wordt het een enorme legpuzzel om na te gaan welke toestand één record op enig moment had. Dit zou je dan elke keer moeten uitrekenen. En je kunt alleen terugrekenen dan, lijkt mij ook erg onhandig.

De oplossing hangt natuurlijk ook af van wat je precies met deze logging wilt bereiken en wat je ermee wilt kunnen doen...
 
Fabian webstars

Fabian webstars

10/06/2015 03:00:15
Quote Anchor link
kan je niet elke verandering naar je zelf toe mailen ofzo dan kan je het in je database schoon houden en een speciaal email adres maken voor alleen de "updates" die mensen uitvoeren. als er heel veel veranderd wordt is het alleen niet ideaal :P
 
Ozzie PHP

Ozzie PHP

10/06/2015 03:18:54
Quote Anchor link
>> Dit kan handig zijn om eventuele fouten in het systeem maar ook fouten door gebruikers te kunnen achterhalen.

Aan wat voor fouten door gebruikers denk jij dan? Kan een gebruiker rechtstreeks in jouw database? Dat lijkt me niet, dus op welke manier verwacht je dan dat hij/zij fouten kan maken?

Ik zou dan eerder denken aan het loggen van handelingen. Bijv. Pietje heeft 9 juni 2015 om 21.30 artikel X uit de database verwijderd. Als dan vervolgens de directeur van het bedrijf bij jou aan de telefoon hangt omdat ie z'n artikel mist, kun jij zeggen dat Pietje dat verwijderd heeft. Op die manier kun je met een bepaald doel loggen. Je logt dan bijv. handelingen van de afgelopen 2 weken en alles wat ouder is, wis je weer. Op die manier loopt je database ook niet vol. Ik zou dan vooral 'kritische' handelingen loggen, bijv. het verwijderen of aanpassen van een record. Maar bijv. het aan- of uitzetten van een bepaalde onbelangrijke setting zou ik dan weer niet loggen.
Gewijzigd op 10/06/2015 03:20:10 door Ozzie PHP
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.