784
Yes (programming.dev)
you are viewing a single comment's thread
view the rest of the comments
[-] agilob@programming.dev 115 points 1 year ago

Before nginx was a thing, I worked with a guy who forked apache httpd and wrote this blog in C, like, literally embedded html and css inside the server, so when he made a tpyo or was adding another post he had to recompile the source code. The performance was out of this world.

[-] Schmeckinger@feddit.de 33 points 1 year ago* (last edited 1 year ago)

There are a lot of solutions like that in rust. You basically compile the template into your code.

[-] vox@sopuli.xyz 10 points 1 year ago* (last edited 1 year ago)

yeah, templates can be parsed at compile time but these frameworks are not embeeding whole fucking prerendered static pages/assets

[-] sebsch@discuss.tchncs.de 9 points 1 year ago

They are nowadays. Compiling assets and static data into rust and deliver virtual DOM via websocket to the browser is the new cool kid in the corner.

Have a look at dioxus

[-] Schmeckinger@feddit.de 3 points 1 year ago* (last edited 1 year ago)

Compiling all assets into the binary is trivial in rust. When I have a small web server that generates everything in code I usually compile the favicon into the binary.

[-] PieMePlenty@lemmy.world 16 points 1 year ago

Does a file lookup really take that long? Id say the trick was to have just plain old html with no bloat and you're golden.

[-] agilob@programming.dev 29 points 1 year ago

Blog content was stored in memory and it was served with zero-copy to the socket, so yea, it's way faster. It was before times of php-fpm and opcache that we're using now. Back then things were deployed and communicated using tcp sockets (tcp to rails, django or php) or reading from a disk, when the best HDDs were 5600rpm, but rare to find on shared hosting.

[-] THE_STORM_BLADE@lemmy.world 6 points 1 year ago

Couldn't the html be loaded into memory at the beginning of the program and then served whenever? I understand the reading from disk will be slow, but that only happens once in the beginning.

[-] bazsalanszky@lemmy.toldi.eu 13 points 1 year ago

This reminds me of one of my older projects. I wanted to learn more about network communications, so I started working on a simple P2P chat app. It wasn't anything fancy, but I really enjoyed working on it. One challenge I faced was that, at the time, I didn't know how to listen for user input while handling network communication simultaneously. So, after I had managed to get multiple TCP sockets working on one thread, I thought, why not open another socket for HTTP communication? That way, I could incorporate a fancy web UI instead of just a CLI interface.

So, I wrote a simple HTTP server, which, in hindsight, might not have been necessary.

[-] justJanne@startrek.website 11 points 1 year ago
[-] sebsch@discuss.tchncs.de 2 points 1 year ago* (last edited 1 year ago)

Fefe uses a LDAP server as backend, not Apache

[-] justJanne@startrek.website 3 points 1 year ago

He also uses his own http server that in turn queries the ldap server solely for the articles. The rest is compiled into the http server binary.

[-] zaphod@feddit.de 3 points 1 year ago

He uses his own http server called gatling and an LDAP server instead of a database.

this post was submitted on 15 Nov 2023
784 points (100.0% liked)

Programmer Humor

22285 readers
2335 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS