Hello, I'm Julia.
✍🏼 Blog posts on my experience as a software engineer
I'm trying to solidify my learnings and help others at the same time by writing these short blog posts. I generally write about problems I come across and how I solved them. I'll occassionally also write about my personal experiences of navigating my career as a software engineer. If you spot an error, or have any comments, suggestions or questions about what I've written, contact me on Twitter @bionicjulia, Instagram, or email hello at bionicjulia.com. I'd love to hear from you. 🤓
P.S. I'm thinking of starting a newsletter where I'll send through my latest articles, books read and other interesting things I come across. Interested? Sign up here. If I get more than 10 subscribers, I'll kick it off! 🙃
- Parallelise Cypress E2E Tests in a GitHub Actions Workflow
Improving the speed of pipeline deployment
Updated more than a month ago
- Building Systems With the ChatGPT API - Course Notes
My notes from taking the DeepLearning.ai course
Updated more than a month ago
- Relational vs. Non-Relational Databases
What’s the difference and when would you choose one over the other
Updated more than a month ago
- ChatGPT Prompt Engineering for Developers - Course Notes
My notes from taking the DeepLearning.ai course
Updated more than a month ago
- Key Concepts When Designing a Cache
A cheatsheet on the key concepts in caching
#caching #database #performance
Updated more than a month ago
- Defining Functions In JavaScript
The difference between function statements, function expressions and arrow functions
Updated more than a month ago
- Database Scaling Strategies
Explaining vertical vs. horizontal scaling, sharding and replication
Updated more than a month ago
- Custom Error Route Handling in Python and FastAPI
How to make a reusable custom error route handler when working with Python, FastAPI and Pydantic
Updated more than a month ago
- Code Editor Keyboard Shortcuts
My keyboard shortcuts for Visual Studio Code and IntelliJ IDEA
Updated more than a month ago
- Spring Boot With Kotlin
Setting up API endpoints
Updated more than a month ago
- Learning Kotlin For the First Time
Initial thoughts and notes
Updated more than a month ago
- Upgrading From NextJS v12 to v13
Changes needed to get a NextJS v13 app up and running
Updated more than a month ago
- Backfilling a Database With Data From BigQuery
Python script for getting BigQuery data and updating a database via SQLAlchemy
Updated more than a month ago
- Do You Really Need a useEffect?
Minimise usage of useEffect to reduce bugs and unnecessary re-renders
Updated more than a month ago
- Automated Goodreads End of Year Summary
Creating a Python scraper to get all your Goodreads Read books
Updated more than a month ago
- Caching Strategies for Web Applications
Caching considerations for improving performance
Updated more than a month ago
- Practical Tips When Using React’s Two Most Common Hooks
Things to look out for with useState and useEffect
Updated more than a month ago
- NextJS Page Rendering Options
What’s SSG, SSR, ISR and CSR?
Updated more than a month ago
- Setting Up a NextJS DatoCMS Static Page
How to create a static page with content from DatoCMS, in Typescript
Updated more than a month ago
- How to Upgrade an npm Package's Dependencies with Yarn
Upgrading deep dependencies with Yarn
Updated more than a month ago
- Parallelism vs Concurrency
What's the difference and how does it relate to JavaScript?
Updated more than a month ago
- Setting the Right Typescript Version For Your Repo
After upgrading, then downgrading Typescript in Visual Studio Code
Updated more than a month ago
- React.memo and useMemo - What's the Difference?
What are they and when to use these for performance improvements
Updated more than a month ago
- Setting up a NextJS Markdown Blog with Typescript
With syntax highlighting and the ability to easily add more blogs
#markdown #nextjs #react #typescript
Updated more than a month ago
- Different Types of Browser Storage
Options for storing data client-side
Updated more than a month ago
- Browser Web Workers
What are they and how do they work?
Updated more than a month ago
- JavaScript Fundamentals
How does JavaScript work really?
Updated more than a month ago
- API Design: REST vs. SOAP vs. GraphQL
And how CRUD fits into all this
Updated more than a month ago
- Cypress Testing Stripe Elements
Selecting elements within an iframe using Cypress.Promise
Updated more than a month ago
- Debugging Performance Issues in React
How to find and fix performance issues in your React app
Updated more than a month ago
- Ingesting and Processing Data Tables For Strategic Analysis With dbt
Going from data warehouse through bronze, silver and gold levels
Updated more than a month ago
- Type Aliases and Interfaces
When to use Typescript types vs interfaces
Updated more than a month ago
- Creating a React Nav Header That Slides In and Out of View On Scroll
Using a scroll listener and transformY
Updated more than a month ago
- Creating an Accordion Component in React with Typescript and TailwindCSS
Using useState and useRef hooks
#hooks #react #tailwind #typescript
Updated more than a month ago
- Creating a React Component That Fades Changing Words In and Out
Using simple CSS and the useEffect hook
Updated more than a month ago
- Creating a React Accordion Component Using Just CSS
A follow-on post for those not using TailwindCSS
Updated more than a month ago
- Using AMP Images in NextJS
How to optimise your image resources
Updated more than a month ago
- Moving From React to React Native
What I wish I knew when first making the move (extended version)
Updated more than a month ago
- Github Actions Workflow For a React Native App
Covering linting, testing, build and deployment via Fastlane
Updated more than a month ago
- Intermediate Typescript
Conditional types, indexed access and mapped types
Updated more than a month ago
- Improving Lighthouse Scores For bionicjulia.com
Focusing on performance and accessibility scores
#accessibility #devtools #nextjs
Updated more than a month ago
- Accessibility Tips For Web Development
A quick cheat sheet that covers the basics of making accessible web sites and apps
Updated more than a month ago
- Creating a Sentry Logging Module to Set Context in a React Native App
Using Sentry’s setContext and useScope methods
#react-native #sentry #typescript
Updated more than a month ago
- Setting Up React Native Jest Tests With Higher Order Components
Working with React Navigator, Redux Toolkit, Theme Providers and Safe Area Context
#jest #react-native #typescript
Updated more than a month ago
- Eloquent JavaScript
Notes on JavaScript fundamentals
Updated more than a month ago
- React Formik and Yup Troubleshooting Tips
Getting validation to work and accessing formikProps
Updated more than a month ago
- A Guide For New Programmers (Part 3)
What I’d do if I was starting out today
Updated more than a month ago
- A Guide For New Programmers (Part 2)
How I learn new things and continue levelling up
Updated more than a month ago
- A Guide For New Programmers (Part 1)
Where to start and how to keep progressing
Updated more than a month ago
- Django REST Framework
A beginner's guide to setting up a new Django project for serving up a REST API
Updated more than a month ago
- Implementing RTK Query in a React Native App
Setting up query and mutation endpoints, with a bit of Jest testing
#jest #react-native #redux-toolkit #rtk-query #typescript
Updated more than a month ago
- Ensuring Content Stays Within a Mobile Device's Safe Area
Using the react-native-safe-area-context package
Updated more than a month ago
- Biometric Authentication in React Native With Expo
How to authenticate with facial recognition, fingerprint or iris recognition
#authentication #expo #react-native
Updated more than a month ago
- Writing Jest Tests For a Redux Toolkit Slice
Including asynchronous and synchronous actions
#axios #jest #react #redux-toolkit
Updated more than a month ago
- Filtering SQL Left Outer Join Queries
To help solve a N+1 problem
Updated more than a month ago
- Creating a Full Screen Pressable Overlay From a Bottom Tab Navigator in React Native
That works with Android
Updated more than a month ago
- Upgrading a React Native App
Strategies and tips for getting your first upgrade working
Updated more than a month ago
- Progressive Web App (PWA) in Next.js
Creating a PWA using next-pwa with offline support
Updated more than a month ago
- Structuring Pull Requests
As a way of improving code quality and speeding up review times
Updated more than a month ago
- React Native ScrollView Gotchas
A couple of small issues to do with nesting ScrollViews
Updated more than a month ago
- Override Part of an Existing Type in Typescript
Changing part of an existing type or interface
#react #react-native #typescript
Updated more than a month ago
- Deeper Dive Into React useMemo
When to use and not use React's useMemo
Updated more than a month ago
- Deeper Dive Into React.memo
When to use and not use React.memo
Updated more than a month ago
- Creating Dynamic Tag Pages With NextJS Nested Routes
How to automatically create individual tag pages for a NextJS blog
Updated more than a month ago
- iOS Screen Reader "Gotcha" In React Native
Quick tip when working with Touchable components
Updated more than a month ago
- How To Add Search Functionality to a NextJS Markdown Blog (Part 2)
Adding a search input field that renders a dynamic list of results as a user types
#nextjs #react #tailwind #typescript
Updated more than a month ago
- Going From Open-Source To Private
Making the tough decision to no longer become an open-source app
Updated more than a month ago
- Some lesser known TypeScript notation
Exclamation mark notation and casting as "unknown"
Updated more than a month ago
- How To Add A Sticky Footer To The React Native Modal
Complete with a linear gradient and styling alignments
Updated more than a month ago
- React Native Touchable Components and Web Page Embeds
When to use Pressable vs. TouchableOpacity or Web Views vs Web links
Updated more than a month ago
- Component Lifecycles with React Navigation in React Native
How to refresh an API call when a user navigates back in a stack
#react-native #react-navigation
Updated more than a month ago
- How To Add Search Functionality to a NextJS Markdown Blog (Part 1)
Implementing an internal API for searching through markdown blog posts
Updated more than a month ago
- Transitioning from React to React Native
3 things I learnt this week
Updated more than a month ago
- Integrating Webmentions Into NextJS Blog
Verifying with Twitter as an example
#nextjs #react #typescript #webmention
Updated more than a month ago
- Chrome Devtools
Going beyond the Elements tab
Updated more than a month ago
- Using Typescript Unions With Never and Extends
To define conditional required component props
Updated more than a month ago
- Setting up virtual environments for Python repos
What is pyenv, venv and virtualenv?
Updated more than a month ago
- How To Clear a Redux Toolkit State That's Using redux-persist With Typescript
Setting up the reducer function and action you need to completely clear local storage
#react #redux-persist #redux-toolkit #typescript
Updated more than a month ago
- How I Got 4 Software Developer Job Offers In 4 Weeks
Despite not having worked as a formal software developer before
Updated more than a month ago
- Creating a Copy to Clipboard Button in React
With an animated copy success state for user feedback
Updated more than a month ago
- Rendering Variable React Components
Displaying different named components based on logic
Updated more than a month ago
- Deriving a Typescript Union Type From an Array or Object
Using as const from Typescript 3.4
Updated more than a month ago
- Generating a Yup Validation Object with a Map Function
Dynamically create a validation schema from an array of objects
#forms #react #typescript #yup
Updated more than a month ago
- Yup Validation for Date and Time With MomentJS
Exploring Yup's .test() check with MomentJS
#formik #forms #momentjs #react #yup
Updated more than a month ago
- Generating Multiple React useState Hooks For Multiple State Variables
How to generate them automatically from an object
Updated more than a month ago
- HTML Time Input Field
Catering for Safari and Internet Explorer
#formik #forms #react #react-datepicker #typescript #yup
Updated more than a month ago
- SQL Window Functions: Using Dense Rank Over Partition By
Building up to a window function query step by step
Updated more than a month ago
- Using SQL to Flatten a Database Table
Learning the basic SQL commands
Updated more than a month ago
- Sentry Cross-Origin Frame Error
Seen only in the Facebook browser
Updated more than a month ago
- Axios Wrappers in React Typescript
Why an abstraction upon an abstraction might be useful
#apis #axios #react #typescript
Updated more than a month ago
- How To Run AB Tests In React
4 options I came across
Updated more than a month ago
- Fighting Imposters Syndrome As A Software Engineer
3 months into my new role
Updated more than a month ago