A detailed Segment Tree implementation in Golang

Segment Tree implementation in Golang

This article describes an advanced data structure called Segment Tree and provides implementation in the popular modern language Golang. We will solve a problem in SPOJ to show how we can use the Segment Tree in competitive programming. General Idea Segment Tree is an advanced tree data structure that allows you to answer range queries efficiently and modify the array quickly. Segment Tree is commonly used in competitive programming to solve problems in O(n log n) time....

July 17, 2022 · 10 min · Roka
Serverless application development in Golang with AWS

Serverless Golang with Lambda and DynamoDB

Serverless applications have been gaining popularity recently because of their scalability and simplicity. In this article, we will create a simple TODO application in Golang using serverless AWS technologies: Lambda, APIGateway, and DynamoDB. Project setup First of all, we should create the Golang project: mkdir todo-app-lambda cd todo-app-lambda go mod init github.com/CrazyRoka/todo-app-lambda touch main.go It will initialize the Golang project for you. Now we can write starting point for our application in main....

July 5, 2022 · 11 min · Roka
Advanced deserialization with Serde: Parsing Cloudformation templates

Advanced deserialization with Serde: Parsing Cloudformation templates

serde is a great library for Rust that allows you to serialize and deserialize your structs efficiently. In this article, we will review some advanced features of this library by parsing AWS Cloudformation templates. Cloudformation is an infrastructure as a code. It allows you to model your AWS resources inside the template. After that, AWS will provision all the resources in the correct order for you. It’s a powerful tool that is very popular nowadays....

March 28, 2022 · 10 min · Roka
Step by step guide to implement cross-platform support for Brainfuck in Rust

Cross-platform Brainfuck Interpreter implementation in Rust - Part 2

This article is the next part of Brainfuck interpreter implementation. We built the library that parses and executes Brainfuck language in the previous part. In this part, we will use this library in the CLI program and deploy the code to AWS Lambda. Let’s begin with the CLI. CLI program implementaiton Firstly, we need to create a new application in our workspace. In the terminal, go to the root workspace directory and run this command:...

March 17, 2022 · 10 min · Roka
Step by step guide to implement Brainfuck language in Rust

Cross-platform Brainfuck Interpreter implementation in Rust - Part 1

Brainfuck is a highly minimalistic programming language created in 1993 by Swiss physics student Urban Müller. The language consists of only eight simple commands, a data pointer and an instruction pointer. In this article, we will implement a custom Brainfuck interpreter in Rust. Workspace setup Let’s create a workspace for our project: Create a folder with your workspace name. For example: brainfuck. Add file Cargo.toml with this content: [workspace] members = [ ] Create a brainfuck interpreter library: cargo new --lib brainfuck_interpreter Modify your outer Cargo....

March 17, 2022 · 7 min · Roka