Categories

Category: go

  1. Go Fundamentals: Error Handling

    This post covers Go error handling, including error values, error wrapping for context, and working with multiple errors.

    post.description
    12 mins

  2. Go Fundamentals: Concurrency Model

    This post covers Go’s concurrency model, including why it’s unique among major programming languages, how goroutines work, race conditions and the memory model, and synchronization mechanisms.

    post.description
    20 mins

  3. Go Fundamentals: Memory Architecture

    This post covers Go memory architecture, including the call stack, heap allocation, escape analysis, garbage collection, and performance considerations for pointers.

    post.description
    7 mins

  4. Go Fundamentals: Variable Behavior

    This post covers Go variable behavior, including mutability, function pass types, zero values, and common pitfalls to avoid.

    post.description
    12 mins

  5. Finding The Best Go Project Structure - Part 2

    TL;DR: This is a story about the internal journey we had in HUMAN Security to find the best project structure for Go, the decisions we’ve made, and the conclusions we’ve drawn. We’ve created an open-source...

    post.description
    7 mins

  6. Finding The Best Go Project Structure - Part 1

    TL;DR: This is a story about the journey we’ve been on at HUMAN Security to find the best project structure for Go, what decisions we’ve made based on our exploration, and the conclusions we’ve drawn....

    post.description
    12 mins

  7. A Proposition For a Better Future For Go

    This is a piece concluding a 3-article series with a proposition for a better future for Go. In the previous articles, we discussed the stronger sides of the language and presented the problematic ones. If...

    post.description
    5 mins

  8. We Need To Talk About The Bad Sides of Go

    This is a story about the downsides of the Go programming language, the part about it that makes us less productive and our codebases less safe and less maintainable. And about propositions for improvement.

    post.description
    32 mins

  9. What Makes Go the Best Language

    This is a story about the good and the bad sides of the Go programming language, about it being a time for a change, and about how carefully such a change must be handled. In...

    post.description
    11 mins

  10. Boosting Up JSON Performance of Unstructured Structs in Go

    TL;DR: This is a story about how we trimmed 70% of our JSON parsing cloud costs by writing an open-source Go library called marshmallow. 🍬🚀

    post.description
    16 mins

  11. OK Let’s Go: Three Approaches for Structuring Go Code

    The Go language was first announced in late 2009, and officially released in 2012, but has only started gaining serious traction in the last several years. It was one of the fastest growing languages of...

    post.description
    14 mins

Category: architecture

  1. ENVITE - Modern Dev Environments for Testing and Continuous Integration

    TL;DR - This is a quick walkthrough of our experience writing and maintaining integration and end-to-end testing at HUMAN, what we’ve learned, how to apply it, and what are the main alternatives.

    post.description
    10 mins

  2. Finding The Best Go Project Structure - Part 2

    TL;DR: This is a story about the internal journey we had in HUMAN Security to find the best project structure for Go, the decisions we’ve made, and the conclusions we’ve drawn. We’ve created an open-source...

    post.description
    7 mins

  3. Finding The Best Go Project Structure - Part 1

    TL;DR: This is a story about the journey we’ve been on at HUMAN Security to find the best project structure for Go, what decisions we’ve made based on our exploration, and the conclusions we’ve drawn....

    post.description
    12 mins

  4. Testing Strategies in Microservices Architecture

    TL;DR - this article discusses automated testing in microservices architecture, how to keep it as simple as possible, and how to gain maximum reliability during the rollout of big changes.

    post.description
    3 mins

  5. Code Sharing in Microservices Architecture

    TL;DR - This is a story of leveraging various tools to empower microservices architecture, how we use it at HUMAN, and when to use and not use it.

    post.description
    7 mins

  6. Version Control Layout in Microservices Architecture

    TL;DR - this is a discussion about the pros and cons of version control layout alternatives. There is a ton of reading material regarding the pros and cons of monorepo vs. multirepo. In this article,...

    post.description
    4 mins

  7. Designing Developer Experience in Microservices Architecture

    TL;DR — This is the intro to a three-piece article series discussing key decisions in designing developer experience and development cycle for teams in a microservices architecture.

    post.description
    3 mins

  8. OK Let’s Go: Three Approaches for Structuring Go Code

    The Go language was first announced in late 2009, and officially released in 2012, but has only started gaining serious traction in the last several years. It was one of the fastest growing languages of...

    post.description
    14 mins

Category: microservices

  1. ENVITE - Modern Dev Environments for Testing and Continuous Integration

    TL;DR - This is a quick walkthrough of our experience writing and maintaining integration and end-to-end testing at HUMAN, what we’ve learned, how to apply it, and what are the main alternatives.

    post.description
    10 mins

  2. Testing Strategies in Microservices Architecture

    TL;DR - this article discusses automated testing in microservices architecture, how to keep it as simple as possible, and how to gain maximum reliability during the rollout of big changes.

    post.description
    3 mins

  3. Code Sharing in Microservices Architecture

    TL;DR - This is a story of leveraging various tools to empower microservices architecture, how we use it at HUMAN, and when to use and not use it.

    post.description
    7 mins

  4. Version Control Layout in Microservices Architecture

    TL;DR - this is a discussion about the pros and cons of version control layout alternatives. There is a ton of reading material regarding the pros and cons of monorepo vs. multirepo. In this article,...

    post.description
    4 mins

  5. Designing Developer Experience in Microservices Architecture

    TL;DR — This is the intro to a three-piece article series discussing key decisions in designing developer experience and development cycle for teams in a microservices architecture.

    post.description
    3 mins

  6. Request-Response Olympics — The Search For The Perfect Request-Response Protocol

    Services tend to interact with each other. It may be microservices collaboratively processing your data, separate systems notifying each other on various events, or simply data propagating from one place to another. There are countless...

    post.description
    23 mins