Logsysteem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Application Developer

The world wants simple apps that can manage the movements of millions of packages daily. But behind every application is a complex string of gripping challenges, and a focused developer tackling them. As someone who’s highly familiar with C# development practices in the Netherlands, you’ll join us as a senior member of the team and manage apps for Brokerage – big business freight in global markets that cover over 76% of all international trade. Digital innovation plays a crucial role in choreographing the infinite movements of goods, funds and information. The logic that goes into it, and skills adopted because

Bekijk vacature »

PHP Laravel developer voor maatwerk projecten

Functieomschrijving Er wordt hier gezocht naar een ervaren backend specialist die graag zijn tanden zet in het optimaliseren van webapplicaties. Er worden nog steeds nieuwe features bedacht, hier mag jij aan gaan meewerken, en die worden dan in het kleine team ontwikkeld. Je gaat werken met de nieuwste technieken en gaat werken aan een eigen product· Voordeel bij dit soort organisaties is dat de ontwikkelboog lang is en dat er veel aandacht is voor kwaliteit. Herken jij jezelf in bovenstaand profiel? Reageer dan snel! Functie-eisen - Je beschikt als PHP ontwikkelaar over HBO werk en denk niveau; - Je hebt

Bekijk vacature »

Senior Front-end Developer vacature

Currently we are specific looking for professionals who speak fluently Dutch on C1 level. Senior Front-end Developer Jij weet wat er nodig is. Jouw hart gaat sneller kloppen van techniek. Jij wil vooruit. Je bent creatief, thuis in gebruikersinteractie en een Developer in hart en nieren. Daarnaast heb jij een klantgerichte en initiatiefrijke houding. Precies de kwaliteiten die een Front-end Developer nodig heeft. Wat doe jij als developer bij Sogeti? Als Front-end Developer werk je aan de technische realisatie van front-end (web)applicaties in de verschillende opdrachten voor Sogeti’s klanten. Dit kan zowel op klantlocatie, als intern bij Sogeti. Jij houdt

Bekijk vacature »

Gezocht/Looking for: Senior .NET Developer - Rotte

Due to extensive growht of our client we are currently searching for a Senior Dot.Net Software Developer. This is for one of our clients in the digital data transformation domain. Vacature Details/ Vacancy Details Contract type: Fixed term contract Start datum/ Date of Joining: immediate (work from home during Covid-19 period) Werkervaring/experience required: Minimum of 6 years experience in a similar role (must have) Understanding of Azure DevOps (must have) Experienced in Agile/Scrum software development Deep understanding of C#, .NET, .NET Core, REST, Azure services(must have) Experience with Kubernetes or Azure Service Fabric Database knowledge (a.o SQL, CosmosDB) Pluspoints would

Bekijk vacature »

Medior / Senior Android Developer

Als Mobile Developer zorg jij voor een ultieme klantervaring voor het zoeken en kopen van producten bij Coolblue via de app. Hoe word ik Android Developer bij Coolblue? Je bent succesvol in het schrijven van Kotlin of Java code en werkt nauw samen met je collega’s, bijvoorbeeld in de vorm van pair programming, om de kwaliteit te waarborgen. Daarbij denk je na over technische keuzes zoals architectuur, tools en processen. Verder houd je de prestaties van de app in de gaten en analyseer je met het team hoe je dit kunt verbeteren. Het werken volgens Scrum methode is jouw niet

Bekijk vacature »

Senior Database Developer High-performance databas

Bedrijfsomschrijving For our client in Amsterdam we are searching for a Database Developer that can assist the environment in implementing and optimising high performance databases. The client is one of the biggest financial organizations within the Netherlands. This international organization has more than 20.000 employees and has millions of private and corporate clients and is respected as one of the most innovative organizations in their industry. You will be working in one of the eight scrum teams in the international security domain. These scrum teams contribute to the safety of the bank and its direct customers. They work fully agile/scrum

Bekijk vacature »

C# backend developer, Rotterdam

Voor een grote organisatie in Rotterdam zijn we op zoek naar iemand met ruime ervaring in het ontwikkelen van applicaties in .NET C#. Het gaat hier om een organisatie met een maatschappelijke impact. Hun systemen zijn gericht op een groot aantal klanten waarbij het belangrijk is dat de applicaties helder, toegankelijk en up-to-date zijn. Als .NET C# developer werk je aan uiteenlopende applicaties, APIs en het interne framework. Dit doe je binnen een SCRUM team en meedenkt binnen het hele proces. Het team bestaat uit meerdere C# developers variërend van medior tot senior. Er is dus veel kennis en ervaring

Bekijk vacature »

PEGA Senior System Architect

BNP Paribas Cardif is looking for: PEGA Senior System Architect Do you have an excellent knowledge about PEGA development? Do you want to put this know-how to use and create innovative technical solutions for business & IT challenges? Would you like to work for an international Insurance Company? In that case you may be the new PEGA Senior System Architect we’re looking for! What’s the job about? You will be responsible for the development activities on our PEGA platform. You report to the Deputy Manager Software Development & Tests and you’ll collaborate closely with other internal and external developers and

Bekijk vacature »

Fullstack .Net Developer voor int. marktleider met

Voor een internationale marktleider in metaalbewerking ben ik op zoek naar een junior / midlevel Fullstack .Net developer. Wat je gaat doen: Onze klant maakt gebruik van hun zelf gebouwde logistieke applicatie. Nu willen zij deze sterk uitbreiden. Zo willen ze o.a. een klant portaal maken, een online factuur systeem bouwen en een mobiele applicatie bouwen. Alles om beter zaken te doen met hun klanten. Je werkt hierbij in .Net C# en later ook Azure. Wie jij bent: MBO / HBO afgestudeerd 2 - 6 jaar ervaring met C# en .NET applicaties Design ervaring is een plus Spreekt Nederlands en

Bekijk vacature »

Senior .NET Developer Datawarehouse

Bouw jij graag mee aan de nieuwe generatie van het datawarehouse-framework voor de zorg? En kent programmeren in C# geen geheimen voor jou? Dan pas jij perfect in ons team in Amsterdam. We bieden jou de kans om complexe uitdagingen op te lossen en te werken met de nieuwste technieken. Jouw baan Zorgprofessionals nemen belangrijke beslissingen op basis van data uit ons Datawarehouse. Als .NET Developer Datawarehouse ontwikkel jij een nieuwe generatie van het achterliggende framework. Je werkt dagelijks met zeer grote en complexe datasets en krijgt te maken met uitdagende issues, waarbij diepgaand onderzoek nodig is. Je faciliteert de

Bekijk vacature »

Webdeveloper

Functieomschrijving Voor een detacheerder in de ict, gevestigd in Delft, zijn we op zoek naar iedereen met kennis van programmeertaal. Dit bedrijf heeft opdrachten bij verschillende organisaties, denk aan is front-end, back-end, embedded systems, mobile apps en data science. Naast bovenstaande kennis kan jij collega's motiveren en enthousiasmeren met daarbij efficiëntie en kwaliteit hoog in het vaandel. Aangezien je soms in een project werkt is samenwerken met andere ontwerpers, programmeurs en interactiedeskundigen niet weg te denken. Tot slot is het belangrijk dat jij van afwisseling houdt en snel werkzaamheden op pakt. Jij vindt werken op projectbasis leuk! Het zou ook

Bekijk vacature »

C# Developer

C# Developer Currently we are specific looking for professionals who speak fluently Dutch on C1 level. De uitgebreide versie Jij hebt ruim twee jaar ervaring als developer. Nu wil je graag je tanden zetten in nog complexere projecten. Met je team bereik je nieuwe hoogtes en zelfstandig maak je meters. Stilstand is achteruitgang voor jou; je hebt behoefte aan collegae die jou alles leren over Microsoft technologie maar wilt tegelijkertijd ook graag je eigen opgedane kennis delen. Alles wat vandaag nog onbekend is, moet je morgen toepassen in de volgende uitdaging en dàt is wat jou scherp houdt. Je hebt

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Front-End Developer / JavaScript / Vue.JS / Financ

Nederland Amsterdam

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

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

25/10/2020 09:26:18
 
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.