mkdir

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Programmeur PHP - JAVA

Functie Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Voor een opdrachtgever in omgeving Moordrecht zijn wij op zoek naar een programmeur. 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

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

Low code Developer

Dit ga je doen Je richt je op het doorontwikkelen van bestaande applicaties en het geheel van scratch af aan opzetten van nieuwe applicaties binnen een low code platform; Je beoordeelt technisch ontwerpen en maakt de vertaalslag naar de technische oplossingen binnen het platform; Je voert testwerkzaamheden uit; Je adviseert de organisatie op jouw vakgebied; Je schakelt met business analisten en de architect om tot mooie oplossingen te komen; Je lost bugs op en denkt mee over een structurele oplossing. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze

Bekijk vacature »

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

Ontwikkelaar MS Dynamics 365 Projecten

Samengevat: Deze werkgever is de kwaliteitsdienst in de tuinbouwsector. Ben jij een ervaren ontwikkelaar? Heb jij ervaring met Ms Dynamics 365 BC? Vaste baan: Ontwikkelaar Ms Dynamics 365 BC ICT MBO 3.500 - 5.000 Ontwikkelaar Ms Dynamics 365 BC Ons bedrijf bewaakt en bevordert de kwaliteit van producten, processen en ketens in de tuinbouw. Wij kenmerken zich door openheid, ruimte voor initiatief, collegialiteit en zelfontplooiing. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Functie: Voor de vacature als Ontwikkelaar Ms Dynamics 365 BC Roelofarendsveen MBO

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 »

C# .NET Backend Developer HBO Javascript

Samengevat: Deze werkgever is een professionele speler op gebied van IT en E-Commerce. Wil jij werken voor een e-commerce platform? Heb je ervaring met C#, Javascript en Scrum? Vaste baan: C# .NET Developer Backend E-Commerce 3.400 - 4.500 Backend Developer Wij ontwikkelen software voor E-Commerce toepassingen. Ons eigen Content Management systeem biedt een integrale oplossing met diverse ERP software. Onze systemen zijn vaak complex en omvangrijk en draaien bij grote organisaties. Maar ook kleine ondernemingen hebben steeds vaker behoefte aan een vlekkeloos werkende E-Commerce oplossing. Zij bieden een uitdagende werkomgeving met gezellige collega's. Je krijgt veel vrijheid en er is

Bekijk vacature »

Lead developer (PHP, Symfony, DDD)

Functie Als Lead developer zorg je ervoor dat het team (bestaande uit zowel junior als ervaren developers) in staat is om de kwaliteit van de software (en code) verder te verhogen. In samenwerking met het team, de product owner en de andere lead developers zet je technische lijnen uit en bepaal je de prioriteiten per sprint. Lijkt het jou interessant om complexe problemen op te lossen en bijvoorbeeld een nieuwe applicatiestructuur in Symfony op te zetten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en

Bekijk vacature »

C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Testen en valideren van de ontwikkelde software. Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je gaat aan de slag met diverse technologieën en frameworks. Denk hierbij aan C#, JS frameworks, HTML, CSS, TypeScript,

Bekijk vacature »

Traineeship Fullstack developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Senior Organisatieontwikkelaar

Als Organisatieontwikkelaar zorg je ervoor dat we in het magazijn van Coolblue altijd vooruit voetballen op het gebied Medewerker en Organisatie Ontwikkeling. Zo draag je bij aan een toekomstbestendig magazijn waar we klanten én medewerkers elke dag blijven verwonderen. Wat doe je als Senior Organisatieontwikkelaar bij Coolblue? Als Organisatieontwikkelaar werk je voor het magazijn van Coolblue. Je krijgt er energie van om continue te bouwen aan een toekomstbestendige organisatie. Dat doe je samen met 17 collega's in het HR-team, ieder met een eigen specialisme. Je werkt graag zelfstandig en je weet snel je weg te vinden als verandermanager. Ook ben

Bekijk vacature »

Junior Software Developer C# Verhuursector Verhuur

Samengevat: Wij ontwikkelen en leveren softwaresystemen voor de logistieke sector en de verhuursector. Ben jij geschikt als Junior Software Developer? Heb je ervaring met Delphi? Vaste baan: C# Software Developer Logistiek HBO €2.500 - €3.900 Deze werkgever is een software ontwikkelaar, gericht op software voor de logistieke sector. Deze werkgever heeft eigen producten ontwikkelen en leveren ook maatwerk. Ons bedrijf kent een boeiende en inspirerende werkomgeving met een open cultuur en mogelijkheden voor je verdere ontwikkeling. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om

Bekijk vacature »

SQL Developer

Functie omschrijving Altijd al willen werken bij een snelgroeiend bedrijf, actief in de logistieke sector? Dit is je kans! Ik ben op zoek naar een ervaren SQL Developer in de omgeving Tilburg. Dit bedrijf is gespecialiseerd in in de ontwikkeling van software en maatwerk oplossingen voor het automatiseren van logistieke processen. Klanten zijn o.a. BOL en andere grote distributiecentrums. Jouw taken worden vooral: Verantwoordelijk voor ontwikkelen van stored procedures, voor snelle afhandeling van data; Optimalisatie van de SQL query's en T-SQL query's; Jij gaat je bezig houden met ontwerpen, ontwikkelen en optimaliseren van de MS SQL Databases; In deze functie

Bekijk vacature »

C# Developer

Dit ga je doen De requirements in kaart brengen van de klant; Implementeren van functionele en technische specificaties bij opdrachtgevers; Oplossen van bugs; Meewerken aan maatwerksoftware voor nieuwe opdrachtgevers; Het testen en uitleveren van nieuwe functionaliteiten naar de acceptatie en productieomgeving De database ontwikkelen en onderhouden; Hier ga je werken Onze klant is gevestigd in het westen van Nederland en is gespecialiseerd in het ontwikkelen van software voor de levensmiddelen industrie. De software die het team maakt optimaliseert voornamelijk de administratieve processen, maakt deze meetbaar en zorgt ervoor dat de data zo goed mogelijk gebruikt kan worden. Binnen een van

Bekijk vacature »
Ozzie PHP

Ozzie PHP

25/12/2013 23:19:25
Quote Anchor link
Ola,

Een vraagje. Als het niet lukt om een directory aan te maken dan geeft mkdir false terug. Echter, de reden kan verschillend zijn. Het kan zijn dat de directory al bestaat, of dat de maprechten van de parent directory het niet toestaan. Nu kan ik eerst controleren of de directory al bestaat en zo niet, dan pas mkdir() uitvoeren. Dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

if (!is_dir('foo')) mkdir('foo');

?>

Nu is het zo dat PHP meerdere processen (requests) tegelijk uitvoert. Zou het nu kunnen dat proces A constateert dat directory "foo" niet bestaat, direct daarna proces B directory "foo" aanmaakt en proces A vervolgens de mkdir() zal uitvoeren wat resulteert in false omdat proces B zojuist de directory heeft aangemaakt? Anders gezegd, kan in de onderstaande regel op de plek van het sterretje * een ander proces de directory "foo" aanmaken?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

if (!is_dir('foo')) * mkdir('foo');

?>

Ik hoop dat mijn vraag duidelijk is. Zo niet, laat het dan even weten dan probeer ik het nog beter uit te leggen.
Gewijzigd op 25/12/2013 23:22:44 door Ozzie PHP
 
PHP hulp

PHP hulp

22/12/2024 02:56:22
 
Wouter J

Wouter J

25/12/2013 23:25:30
Quote Anchor link
Sinds wanneer kan php meerdere processen tegelijkertijd aan?
 
Mark Hogeveen

Mark Hogeveen

25/12/2013 23:33:25
Quote Anchor link
Bij multithreading zou je dit probleem kunnen hebben, maar voor zover ik weet gaat bij PHP alles echt achter elkaar. En als er überhaupt requests door elkaar worden uitgevoerd, dan is de tijd tussen 2 statements zo immens klein dat ook de kans op problemen hiermee extreem klein is, bij sommige programmeertalen, de vaag gezegd op aparte hardware worden uitgevoerd, wordt er gebruik gemaakt van synchronized functions, dat zijn opdrachten die echt alleen achter elkaar kunnen worden uitgevoerd. het nadeel van deze techniek is dat het iets trager kan worden. Maar we hebben het nu allang niet meer over PHP...
Sowieso zegt men altijd: een computer (processor) kan maar 1 ding tegelijk.
Deze vraag wordt ook wel eens gesteld met SQL queries, ook daar is hier rekening mee gehouden.
Gewijzigd op 25/12/2013 23:35:10 door Mark Hogeveen
 
Ozzie PHP

Ozzie PHP

25/12/2013 23:49:48
Quote Anchor link
>> Sinds wanneer kan php meerdere processen tegelijkertijd aan?

>> Bij multithreading zou je dit probleem kunnen hebben, maar voor zover ik weet gaat bij PHP alles echt achter elkaar.

Volgens anderen op het forum doet PHP wél aan multithreading.

Zie hier een antwoord op een eerdere vraag die ik hierover stelde:
http://www.phphulp.nl/php/forum/topic/processen/90311/#647988

Quote:
Ik denk dat het antwoord hierop volmondig ja moet zijn. Een webserver is een multithreaded omgeving dus die kan meerdere requests tegelijk aan. Uiteraard niet oneindig veel, maar zeker meer dan 1.
Dit kan je simpel zelf testen door van 1 device een aanvraag naar je server te doen die je in een lange (desnoods oneindige) loop laat komen en vanaf een andere device een pagina op te vragen. Die pagina krijg je vast te zien -> twee requests tegelijk uitgevoerd dus.

Hieruit leid ik af dat er meerdere requests tegelijkertijd kunnen worden afgehandeld. Of zie ik het verkeerd?
 
Dos Moonen

Dos Moonen

26/12/2013 01:09:39
Quote Anchor link
Je kunt PHP compilen met multithreading support geloof ik. Maar over het algemeen wordt dit niet gedaan maar spawnt een SAPI zoals Apache meerdere (single threaded) workers. Dat zijn van individuele processen die het OS in theorie precies op het sterretje zou kunnen onderbreken om een andere worker even aan de beurt te laten. In de praktijk

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

// 'foo' is geen bestand of map
if ( ! file_exists('foo'))
{

    // is_dir() wordt alleen uitgevoerd als mkdir mislukt
    if (mkdir('foo') OR is_dir('foo'))
    {

        // success, 'foo' is een map (ik negeer de mogelijke race conditie waar 'foo' tussen die twee checks verwijders is, anders blijven we bezig
    }
}

else
{
    // 'foo' bestaat al, geen idee of het een bestand of een map is
}

//

if (is_dir('foo') OR mkdir('foo'))
{

    // 'foo' is een map
}
?>
Gewijzigd op 26/12/2013 01:11:06 door Dos Moonen
 
Ozzie PHP

Ozzie PHP

26/12/2013 01:19:33
Quote Anchor link
Ah, thanks Dos. Ik moet dus wel rekening houden met de (zeer zeldzame) mogelijkheid dat op het punt van het sterretje proces B tussenbeide komt. Jouw oplossing lijkt me inderdaad een mooie! Die OR kun je die ook vervangen door || ?

Ik dacht ook nog eventueel aan deze oplossing:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if (!@mkdir($directory)) {
  if (is_dir($directory)) {
    // gooi exception dat directory al bestaat
  } else {
    // gooi exception dat directory niet kon worden aangemaakt
  }
}

?>

Hierbij probeer ik eerst zonder enige controle de directory aan te maken. Als het niet lukt ga ik kijken of dat komt omdat de directory al bestaat, of omdat de directory niet kon worden aangemaakt (wegens verkeerde maprechten).

Is mijn variant ook goed?

Nu ik nog even naar jouw variant kijk mis ik de optie om een exception te gooien als het misgaat.
Gewijzigd op 26/12/2013 01:23:38 door Ozzie PHP
 
Ivo P

Ivo P

26/12/2013 03:41:46
Quote Anchor link
Je zou een dir genaamd index.php kunnen willen aanmaken.

Er is gerede kans dat mkdir dan mislukt omdat er al een *file* is met die naam, maar is_dir() geeft dan warschijnlijk false....
 
Ozzie PHP

Ozzie PHP

26/12/2013 12:31:46
Quote Anchor link
>> Je zou een dir genaamd index.php kunnen willen aanmaken.

En waarom zou je een directory willen aanmaken die de naam van een bestand heeft? :-s

>> Er is gerede kans dat mkdir dan mislukt omdat er al een *file* is met die naam, maar is_dir() geeft dan warschijnlijk false....

Dat zal inderdaad false opleveren, maar met mijn code (zie hierboven) komt ie dan dus in de "else" terecht. Precies wat je zou willen lijkt mij.
 
Ozzie PHP

Ozzie PHP

03/01/2014 10:14:21
Quote Anchor link
Toch nog even terugkomend op dit verhaal.

Dos zegt hierboven "Dat zijn van individuele processen die het OS in theorie precies op het sterretje zou kunnen onderbreken om een andere worker even aan de beurt te laten."

Het kan volgens Dos dus zo zijn dat deze situatie optreedt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$directory
= 'foo';

if (is_dir($directory)) {
 // code
 // code
 // code

 $this->rename($directory, 'bar');  // wieuw wieuw, alarmbellen, directory 'foo' bestaat niet. Gooi een exception!
}

?>

Kan de situatie zoals hierboven geschetst "in het echie" voorkomen? Dus dat je een if-statement hebt dat in true resulteert omdat een directory bestaat, en dat ondertussen terwijl het if-statement wordt uitgevoerd een andere proces de directory verwijdert, waardoor je binnen de if-statement ineens geen directory meer hebt? Als dit zo is, is het eigenlijk toch heel vreemd? Zou PHP zelf dan niet voorkomen dat tijdens de uitvoering van een if-statement het ene proces het andere proces niet kan onderbreken?

Eigenlijk kan ik mijn vraag nog iets ruimer stellen. Moet ik in het codeblok hierboven eenmalig controleren of de directory bestaat, of moet ik dubbel controleren?
 
Ivo P

Ivo P

03/01/2014 10:51:29
Quote Anchor link
die kans is natuurlijk altijd aanwezig.

Niet alleen als 2 php processen elkaar in de wielen rijden, maar ook als iemand via de command prompt de directory aanpast/verwijdert, of misschien wel de heel schijf unmount.

Hoe korter de tijd tussen regel 5 en 9 hoe kleiner de kans.
Als je eerst controleert of de dir bestaat en daarna op je gemak een pdf van 100 pagina's gaat bakken, dan kun je zo maar 1 of 2 minuten verder zijn.

Doe je niet heel veel tegen.
 
Ozzie PHP

Ozzie PHP

03/01/2014 11:02:23
Quote Anchor link
Ivo, dankjewel voor je reactie. Dan zal ik er toch maar rekening mee houden...
 



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.