Writing a book might not be what you think.

In my previous story I wrote about some of the difficulties of writing a book. Well that book is finally complete and let me say again it’s freaking hard to write a book!

Way Too Much Editing and Re-Editing

The first surprise for me was the amount of editing involved. I wrote my book for Packt. It’s called Full-Stack React, TypeScript and Node, if you’re interested. But without exaggerating, every chapter was revised at least 3 times and some chapters way more than that. Since this book has 17 chapters this was exhausting.

In addition to the language and grammar…


It’s difficult to understand when or even if you need them. So let’s look at some ways to know when to do this.

I’ve written a book on web development. It is an end to end complete book on modern development practices. Here’s a coupon code to save 20% on Amazon 20FULLS.

The first thing you need to know is that these keywords only apply for reference types and not value types like structs or enums. In Swift, when setting a reference to any object, it is done as a strong reference by default, which means that the reference count is incremented for each strong reference.

Ok, seems pretty obvious but so what? Well when we use either weak or unowned the reference…


Learn how to query more sophisticated and complex schema in SwiftUI apps.

I’ve written a book on web development. It is an end to end complete book on modern development practices. Here’s a coupon code to save 20% on Amazon 20FULLS.

In most programming languages you have the idea of a contract. A development tool that allows you to create a set of rules, but with no code implementation. In Swift it’s called Protocols but in most other programming languages it’s known as an Interface.

Regardless of what it’s called GraphQL has a similar capability and it’s also called Interfaces. And Interfaces, along with the ability to inherit from them, allows us…


GraphQL is sometimes seen as complex. In this story, we’ll see it’s not that complex at all and we’ll take a look at what’s going on behind the scenes during a query.

I’ve written a book on web development. It is an end to end complete book on modern development practices. Here’s a coupon code to save 20% on Amazon 20FULLS.

If you’re just getting started with GraphQL it can be a bit daunting. There are a lot of different vendor frameworks to choose from and a ton of nomenclature. But at its root, it’s actually not complex at all. In reality, there’s more complexity in vendor implementations than there is in the actual standard.

So to prove my point, in this short article I’m going to do a GraphQL query into…


SwiftUI State Management is hard, but it also has similarities with React State. This video will discuss those similarities and go through each State property wrapper.

I’ve written a book on web development. It is an end to end complete book on modern development practices. Here’s a coupon code to save 20% on Amazon 20FULLS.

@State, @StateObject, @ObservedObject, @Binding, @EnvironmentObject, @Environment, @AppStorage. Yeah it’s definitely non-trivial so I go through each one and explain its usage.

https://www.youtube.com/watch?v=5lJfubZQzPk


Integrate All These Technologies Into a Single Fullstack Application

I’ve written a book on web development. It is an end to end complete book on modern development practices. Here’s a coupon code to save 20% on Amazon 20FULLS.

GraphQL is obviously very hot right now with many companies converting their api to use GraphQL. So I wanted to take all the technologies in a Fullstack app and integrate them with GraphQL.

What is GraphQL?

GraphQL is a Facebook developed standard for defining data types that will be used in web API's. This means that it is interoperable across vendor implementations. For example in my sample app I am using Apollo GraphQL in…


According To Techempower Vert.x Performance Is Right There With Rust, But Unlike Most Frameworks It Does Not Force You To Use One Language. Vert.x is Polyglot So It Allows You To Use Many Different Popular Languages. Including JavaScript, Kotlin, Scala, and Java.

Vert.x is one of the top performing server frameworks on Techempower. It’s usually very close in performance to Rust Actix, especially in data related tasks. It is also orders of magnitude faster than Node and Python related frameworks. On top of all this performance goodness, Vert.x is Polyglot. Since Vert.x uses the GraalVM runtime it supports the use of multiple languages including JavaScript, Kotlin, Scala, Java, Groovy, and Ruby.

If you prefer video learning

Where To Start

Let’s start at a high level in understanding Vert.x. Vert.x at its core is not a server framework. It’s more like a set…


There’s still more in TypeScript to review and understand. And that’s a good thing.

I’ve written a book on web development. It is an end to end complete book on modern development practices. Here’s a coupon code to save 20% on Amazon 20FULLS.

To kick things off what is an alternative way of writing the field b?

class A {
a: number;
b?: number;
}

That’s right, use a union b: number | undefined. You get the same effect. Which leads me to my next example. What if you have something like this? Will this code compile?

interface Car {    wheels: number;    carry();}interface Truck {    wheels: number;    payload();}
function getVehicle(): Car…

You probably know at least some of these types already, but you might be surprised at some of the nuance of using them

I’ve written a book on web development. It is an end to end complete book on modern development practices. Here’s a coupon code to save 20% on Amazon 20FULLS.

Having static types in JavaScript is enormously valuable, but knowing how to use them appropriately can also be difficult. I think you might be surprised by some of the details of these types.

Null and Undefined Types Are More Than You Think

In JavaScript running typeof on null returns ‘object’. Some devs might have thought its type is null, since undefined’s type is undefined. Now to make things more confusing however…

David Choi

Programmer and author, Amazon.com/David-Choi/e/B085LJK2XM

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store