TK: My UX Studies and Algorithms & Data Structures series
Hi you, it's TK here!
I’m super happy to debut this newsletter with some awesome content for you. I want to share some studies and series I’m working on (and also learning a lot!).
My UX Studies
I’ve been doing some frontend work and I’m also very interested in user experience and design. So I built a project to use as a laboratory to expand my knowledge on typed frontend, ux, tests, and performance.
I built a simple project called UX Studies, where I’m trying different things.
I also wrote a long-form essay to document all the things I tried and built. I named it UX Studies with React, Typescript, and Testing Library.
In this first post, I wrote about how I implemented a list of product using all these ideas I mentioned:
Typed frontend: I never used a type system in the frontend, so I was really curious to try it. I chose Typescript as the main tool. Using it in the project let me learn a lot about some Interesting Types.
Tests: It is not about 100% coverage. It's about confidence. I wanted to try React Testing Library with nice matchers and also covering accessibility issues.
Performance: We’ll dive into this in the post, but I used the Intersection Observer to load stuff on-demand. It's a pretty interesting native API we can use for different things in our web applications.
UX: Designing the product to deliver a great experience for users is very difficult. Here we use some tools and concepts to answer How to provide a great experience?. Perceived performance and smooth loading experience are things we’ll take a closer look at this post.
If you find these concepts interesting, feel free to read the entire post here: UX Studies with React, Typescript, and Testing Library. And the UX Studies project is open-sourced here.
Algorithm Problem Solving series
Some time ago I started documenting the thought process behind my solutions to algorithm problems. So I started this series called Algorithms Problem Solving.
In each post of the series, I deep dive into a problem and untangle and detail the solution. The problems vary from Binary Tree to Matrix type of problems.
I want to feature an interesting problem here.
Deepest Leaves Sum
The Deepest Leaves Sum is a very interesting problem. Given a binary tree, we need to sum all the deepest leaves and return this sum. I solved this problem by using a hash map to store the level and node's value and then sum all the values from the greater level from this hash map.
A different approach was to have a global variable to store the sum of all deepest leaves and get the values from the nodes that don't have the left and right children. That way we didn't need to use a hash map and decrease the space complexity.
Stay tuned to more problems & solutions to this series in my live document.
Data Structures Series
Another series I’m doing to learn more about computer science is the Data Structures series.
For future posts about data structures, this the series document.
Thanks for reading this. I’m trying to make this newsletter consistent, but also bringing great content with easy to reason details.
For more content like this, you can always visit my website https://leandrotk.github.io/tk.
Keep learning and I see you real soon.