Vet zal op laptop ze even proberen.quote:Op zaterdag 23 juni 2018 19:02 schreef DevFreak het volgende:
Wat mij betreft is mijn nieuwe site bijna klaar om bčtastatus te krijgen.
https://www.upmijnplaatje.nl/
[ afbeelding ]
'And you get free storage space! And you! Everybody gets free storage space!!!1'
Heb hard gewerkt aan ook een hoop andere features op de backend maar ben er maar mee gestopt, gezien ze waarschijnlijk toch nooit gebruikt gaan worden. Zat echt van alles bij, zoals authenticatie, albumbeheer, tijdelijke links, automatische verwijdering... Werd me voor de doelgroep te veel werk.
Hoop werk voor niks. Ga me binnenkort op een ander projectje storten.
Sorry ik blijf nu met mijn tengels van de backend af xDquote:Op zaterdag 23 juni 2018 19:11 schreef embedguy het volgende:
[img data-src="https://www.upmijnplaatje.nl/image/9b4315c93cf4c76bfe1d2d8f9357a1bc" style="visibility:hidden;"]
Nice, ben benieuwd wat je vindquote:Op zaterdag 23 juni 2018 19:11 schreef FlippingCoin het volgende:
[..]
Vet zal op laptop ze even proberen.
Valt mee, heb het mezelf vooral onnodig moeilijk gemaakt door 'te netjes' te programmeren. Het is vooral alle zooi die ik de prullenmand in gegooid heb.quote:Op zaterdag 23 juni 2018 19:11 schreef FlippingCoin het volgende:
En ach een hoop werk voor niks, misschien wel dingen tegengekomen waar je over hebt moeten nadenken en zo?
In PHP? Ik heb ooit iets als dit geschreven:quote:Op zaterdag 23 juni 2018 19:17 schreef cablegunmaster het volgende:
ik ben bezig met mezelf aan te leren een httpserver te schrijven die websockets kan upgraden.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | namespace App\Lib; final class ContactServer { /* * @var $instance * * Instance of this class. */ private static $instance; /* * @collection $settings * * Settings for the connection. */ private $settings; /* * This property contains the listening socket. */ private $socket; /* * This array contains all connected clients. */ private $clients = []; private function __construct(string $host, int $port) { // Set preferences. $this->settings = [ 'host' => $host, 'port' => $port ]; // Boot the server. if ($this->boot()) { // Run it! $this->run(); } else { echo socket_last_error($this->socket); dd('Application has exited.'); } } /* * Create an instance of the server. * * @return void */ public static function Instance(string $host = null, int $port = 8000) { if (!static::$instance instanceof ContactServer) { if (is_null($host)) { $host = $_SERVER['SERVER_NAME']; } static::$instance = new ContactServer($host, $port); } } /* * Fire it up! This function creates the socket and binds it. * * @return bool */ private function boot() : bool { // Create the socket. $this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // Check if the creation was successful. if (!$this->socket) { return false; } // Bind the socket and check for errors. if(!socket_bind($this->socket, $this->settings['host'], $this->settings['port'])) { return false; } // Open the socket for incoming requests. if (!socket_listen($this->socket, 50000)) { return false; } return true; } private function run() { do { $newClient = null; if ($newClient = socket_accept($this->socket) === false) { echo 'Error: ' . socket_strerror(socket_last_error($this->socket)); } } while (true); } } |
BTW hij is 100% responsivequote:Op zaterdag 23 juni 2018 19:11 schreef FlippingCoin het volgende:
[..]
Vet zal op laptop ze even proberen.
SPL, wat is dit? En wat ik bouw draait op een eigengemaakte http Server , wat voor PHP bv. Apache is.quote:Op zaterdag 23 juni 2018 19:19 schreef DevFreak het volgende:
[..]
In PHP? Ik heb ooit iets als dit geschreven:
[ code verwijderd ]
is wel al even geleden, maar je hebt in de SPL wat dingen zitten ervoor
Standard PHP Libraryquote:Op zaterdag 23 juni 2018 19:21 schreef cablegunmaster het volgende:
[..]
SPL, wat is dit? En wat ik bouw draait op een eigengemaakte http Server , wat voor PHP bv. Apache is.
Dat zit ik nu net te maken .
Javaquote:Op zaterdag 23 juni 2018 19:23 schreef DevFreak het volgende:
[..]
Standard PHP Library
Maar vet, welke taal gebruik je dan? Neem aan dat je niet in low-level C++ zit te coderen?
Puppeteer?quote:Op zaterdag 23 juni 2018 19:25 schreef JeSuisDroppie het volgende:
Heeft iemand een goed alternatief voor Selenium?
Wat is er mis met Selenium?quote:Op zaterdag 23 juni 2018 19:25 schreef JeSuisDroppie het volgende:
Heeft iemand een goed alternatief voor Selenium?
Vind het een beetje meh werken. Omslachtig vooral.quote:
Omslachtig? Hoe bedoel je? Hoe gebruik je het nu dan? Hoe stuur je het aan?quote:Op zaterdag 23 juni 2018 23:04 schreef JeSuisDroppie het volgende:
[..]
Vind het een beetje meh werken. Omslachtig vooral.
Als je echt niks anders hebt ja maar wanneer gebeurt dat. Persoonlijk vind ik de standaard mysql cli tools ook prima, maar als je ssh toegang hebt kun je ook iets als sequel pro (https://www.sequelpro.com/) gebruiken waarmee je simpel een connectie over ssh kan tunnelen.quote:Op zaterdag 23 juni 2018 18:58 schreef DevFreak het volgende:
[..]
Dat is waar, maar er zijn zeker genoeg toepassingen te bedenken waar PHPMyAdmin super handig is.
Ik denk dat je hier het volgende bedoelde:quote:Op zaterdag 23 juni 2018 19:26 schreef cablegunmaster het volgende:
"GET /index.php httpserver1.0/n"
1 | GET /index.php HTTP/1.0 |
Eigenlijk heb je gewoon gelijk. Ik gebruik Sequal al twee jaar lokaal, dus waarom zou ik niet gewoon tunnelen naar mijn server met key files. Misschien dat het een slechte gewoonte is die zich met de jaren genesteld heeft in mijn ontwikkelroutine.quote:Op zondag 24 juni 2018 09:25 schreef Farenji het volgende:
[..]
Als je echt niks anders hebt ja maar wanneer gebeurt dat. Persoonlijk vind ik de standaard mysql cli tools ook prima, maar als je ssh toegang hebt kun je ook iets als sequel pro (https://www.sequelpro.com/) gebruiken waarmee je simpel een connectie over ssh kan tunnelen.
Ah een buffer om de request zodat alle request binnen het proces afgehandeld kunnen worden zonder elke keer een nieuw proces te starten? Zoverre dat ik het nu begrijp.quote:
Jep was ff snel geschreven slordig van me.quote:Op zondag 24 juni 2018 09:48 schreef oranjevogel1 het volgende:
[..]
Ik denk dat je hier het volgende bedoelde:
[ code verwijderd ]
Als we het over het stokoude HTTP 1.0 hebben. Opzich wel een leuk projectje. Vraag me af of je niet hebt overwogen een FastCGI applicatie te schrijven? Dan laat je je webserver (nginx, apache is namelijk niet meer zo actueel) de HTTP requests afhandelen en waar verdere verwerking nodig is de relevante headers doorsturen naar je applicatie (die gewoon continue in je geheugen blijft resideren). Op die manier krijg je min of meer beschaafde requests van je webserver, die je (tot op zekere hoogte) kunt vertrouwen in tegenstelling tot de requests van clients op het internet. Scheelt je een hoop werk en ik heb zelf niet de illusie dat je in je eentje gemakkelijk een betere webserver dan nginx kunt schrijven. Zelf schrijf ik mijn webapplicaties in C, maar ik heb even gekeken en in de openmarket FastCGI dev kit zit ook een java implementatie. Je kan natuurlijk ook aan de hand van de specificaties je eigen implementatie schrijven, als je niet van bibliotheken afhankelijk wilt zijn.
quote:Op zaterdag 23 juni 2018 19:02 schreef DevFreak het volgende:
Wat mij betreft is mijn nieuwe site bijna klaar om bčtastatus te krijgen.
https://www.upmijnplaatje.nl/
[ afbeelding ]
'And you get free storage space! And you! Everybody gets free storage space!!!1'
Heb hard gewerkt aan ook een hoop andere features op de backend maar ben er maar mee gestopt, gezien ze waarschijnlijk toch nooit gebruikt gaan worden. Zat echt van alles bij, zoals authenticatie, albumbeheer, tijdelijke links, automatische verwijdering... Werd me voor de doelgroep te veel werk.
Hoop werk voor niks. Ga me binnenkort op een ander projectje storten.
Met perl gebruik ik altijd de psgi specificatie (https://plackperl.org/) die weer gebaseerd is op Pythons wsgi (https://www.python.org/dev/peps/pep-0333/) en Rack van Ruby (https://rack.github.io/). Op zich heel simpele specs maar wel echt een verbetering tov hoe het eerst ging. Je bent echt veel flexibeler als je de webserver van je applicatie scheidt, en het is qua geheugengebruik ook beter omdat je workers niet ook de ballast van je webservers erbij hebben. Daarnaast grote voordelen zoals uniforme middleware (die je dus ook makkelijk zelf kan schrijven) en je hebt zelfs compatibility layers zelfs voor zwaar achterhaalde standaarden als plain old cgi.quote:Op zondag 24 juni 2018 09:48 schreef oranjevogel1 het volgende:
[..]
Ik denk dat je hier het volgende bedoelde:
[ code verwijderd ]
Als we het over het stokoude HTTP 1.0 hebben. Opzich wel een leuk projectje. Vraag me af of je niet hebt overwogen een FastCGI applicatie te schrijven? Dan laat je je webserver (nginx, apache is namelijk niet meer zo actueel) de HTTP requests afhandelen en waar verdere verwerking nodig is de relevante headers doorsturen naar je applicatie (die gewoon continue in je geheugen blijft resideren). Op die manier krijg je min of meer beschaafde requests van je webserver, die je (tot op zekere hoogte) kunt vertrouwen in tegenstelling tot de requests van clients op het internet. Scheelt je een hoop werk en ik heb zelf niet de illusie dat je in je eentje gemakkelijk een betere webserver dan nginx kunt schrijven. Zelf schrijf ik mijn webapplicaties in C, maar ik heb even gekeken en in de openmarket FastCGI dev kit zit ook een java implementatie. Je kan natuurlijk ook aan de hand van de specificaties je eigen implementatie schrijven, als je niet van bibliotheken afhankelijk wilt zijn.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |