<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Web on dev.endevour</title><link>https://devendevour.iankulin.com/tags/web/</link><description>Recent content in Web on dev.endevour</description><generator>Hugo</generator><language>en-AU</language><lastBuildDate>Sun, 22 Jun 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://devendevour.iankulin.com/tags/web/index.xml" rel="self" type="application/rss+xml"/><item><title>Writing a Browser Extension</title><link>https://devendevour.iankulin.com/writing-a-browser-extension/</link><pubDate>Sun, 22 Jun 2025 00:00:00 +0000</pubDate><guid>https://devendevour.iankulin.com/writing-a-browser-extension/</guid><description>&lt;p&gt;Web pages are mostly just a collection of HTML, CSS, and JavaScript, so if we had some way of adding some of these into a web page, perhaps from our browser we could add new behaviour to a web page, right?&lt;/p&gt;
&lt;p&gt;Yes; users have long used tools like Greasemonkey (or similar userscript managers) to inject scripts into pages. Better still, modern browsers expose JavaScript APIs that let us interact directly with the browser itself. Enter: browser extensions.&lt;/p&gt;</description></item><item><title>User Sessions &amp;amp; Cookies in Node</title><link>https://devendevour.iankulin.com/user-sessions-cookies-in-node/</link><pubDate>Fri, 09 Feb 2024 00:00:00 +0000</pubDate><guid>https://devendevour.iankulin.com/user-sessions-cookies-in-node/</guid><description>&lt;p&gt;When you are learning app development, you can create all sorts of apps that work for you, but for any serious app, it&amp;rsquo;s going to need to authenticate users and persist sessions across visits. So much so, that as a professional developer, you&amp;rsquo;ll probably build that out first - it becomes a sort of boiler plate you always drop in.&lt;/p&gt;
&lt;p&gt;In this post, focusing on the server side, using node, express, and particularly express-session, I&amp;rsquo;ll try and build up from nothing to a reasonable usable user login system explaining the increasing complexity and reasons for it. To follow along you&amp;rsquo;ll need basic familiarity with node and express.&lt;/p&gt;</description></item><item><title>Updating SSL Certificates</title><link>https://devendevour.iankulin.com/updating-ssl-certificates/</link><pubDate>Wed, 12 Jul 2023 00:00:00 +0000</pubDate><guid>https://devendevour.iankulin.com/updating-ssl-certificates/</guid><description>&lt;p&gt;&lt;img src="https://devendevour.iankulin.com/images/0_logo_minimal_modern_vector_it_tools_security_anonymous_vuln_31d19059-50fd-4809-bff1-a13ef295807e.png" alt="" class="img-responsive"&gt; &lt;/p&gt;
&lt;p&gt;When I first installed my SSL certificates, &lt;a href="https://devendevour.iankulin.com/installing-ssl-certificates-with-nginx-on-docker/"&gt;I mentioned&lt;/a&gt; it&amp;rsquo;s a process I need to automate before they came up for expiry, but here we are ten days out, and I haven&amp;rsquo;t done that yet, but I have been keeping an eye on it though the excellent display and notifications set up in &lt;a href="https://devendevour.iankulin.com/uptime-kuma-nfty/"&gt;Uptime Kuma&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devendevour.iankulin.com/images/screen-shot-2023-07-10-at-5.36.01-pm.png" alt="" class="img-responsive"&gt; &lt;/p&gt;
&lt;p&gt;Updating the certificates is easy. When I went into the site at PorkBun (where I purchased the domain and who do the primary DNS for the site, the next certificates were sitting there to be downloaded. My existing certificates were due to expire on 30th July, and these had been generated on 3rd July.&lt;/p&gt;</description></item><item><title>Document Object Model - ToDo</title><link>https://devendevour.iankulin.com/document-object-model-todo/</link><pubDate>Mon, 02 Jan 2023 00:00:00 +0000</pubDate><guid>https://devendevour.iankulin.com/document-object-model-todo/</guid><description>&lt;p&gt;I&amp;rsquo;m up to Section 12 of the Complete Web Developer course &amp;ldquo;DOM Manipulation&amp;rdquo; and it feels like we&amp;rsquo;re finally at the stage of pulling everything (HTML, CSS &amp;amp; JavaScript) together to make minimal web apps. Since the course is light on building challenges, I&amp;rsquo;ve set myself one - to make a simple todo list (the classic step up from &amp;ldquo;hello world&amp;rdquo;).&lt;/p&gt;
&lt;p&gt;The Document Object Model is an entity representing the HTML with attached CSS for a page. The magic is that we can access this in JavaScript, and therefore change it, including hooking into events on it - such as a user pressing a button.&lt;/p&gt;</description></item></channel></rss>