Salut, 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 email hello at bionicjulia.com. I'd love to hear from you. 🤓
- Tidy First
A personal exercise in empirical software design
Updated 2 days ago
- 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