NWNorth Windsinhalf-stack-full.hashnode.dev·May 5, 2023 · 8 min readUnderstanding the why and how of Python loggingIn this article, we explore some fundamental concepts around logging in Python - log levels, handlers, and formatters. By leveraging these three concepts in production code, we can smoothly enforce some standard logging for debugging and other observ...00
NWNorth Windsinhalf-stack-full.hashnode.dev·Apr 3, 2023 · 8 min readUsing volumes to share data between docker containersIn the previous docker-compose blog post, we explored how docker containers can communicate with each other through a shared network, and then using docker-compose to automatically set up the workflow of running and connecting those containers. In th...00
NWNorth Windsinhalf-stack-full.hashnode.dev·Apr 2, 2023 · 7 min readRunning multiple containers that can communicate with each otherDocker makes setting up and spinning up an application quick and painless by creating an isolated environment on your development machine. However, in most cases, and especially if you’re setting up an app that needs data from an external source, you...00
NWNorth Windsinhalf-stack-full.hashnode.dev·Mar 21, 2023 · 4 min readSetting up Pyspark in Jupyter through Homebrew on Mac M1This is more of a “write it down in case I forget it” kind of post. When I switched to Mac I had to figure out how to install things with Homebrew, and doing that somehow involved more random things I had to tinker with just to get stuff working. Any...00
NWNorth Windsinhalf-stack-full.hashnode.dev·Mar 8, 2023 · 7 min readCache what you scrape: implementing a caching strategy for scraping projectsScraping websites can be a lot of fun and quite easy to do once you’ve gotten the hang of extracting data from html trees. But as you scrape more data and more complicated websites for production use, you may find yourself exhausting your machine’s m...00