# Abu Ashraf Masnun

Tales of a software craftsman

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Building Which-Fuji: A Side Project for Fujifilm Camera Enthusiasts

DevFeed: [Building Which-Fuji: A Side Project for Fujifilm Camera Enthusiasts](<https://devfeed.tech/articles/building-which-fuji-a-side-project-for-fujifilm-camera-enthusiasts-26291.md>)

Original publisher: [Read original article](<https://masnun.com/which-fuji-fujifilm-camera-recommendations/>)

Author: masnun

Published: 2026-06-28T06:11:45Z

Content type: opinion

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [Website](<https://devfeed.tech/topics/website.md>), [Web](<https://devfeed.tech/topics/web.md>), [Cloudflare](<https://devfeed.tech/topics/cloudflare.md>), [Search engine optimization (SEO)](<https://devfeed.tech/topics/seo.md>), [Google Search](<https://devfeed.tech/topics/google-search.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>)

Tags: [building](<https://devfeed.tech/tags/building.md>), [camera](<https://devfeed.tech/tags/camera.md>), [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [cloudflare-pages](<https://devfeed.tech/tags/cloudflare-pages.md>), [google-search](<https://devfeed.tech/tags/google-search.md>), [project](<https://devfeed.tech/tags/project.md>), [robots](<https://devfeed.tech/tags/robots.md>), [seo](<https://devfeed.tech/tags/seo.md>), [side-project](<https://devfeed.tech/tags/side-project.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

The article presents Which-Fuji, a small website for helping people choose a Fujifilm camera. It describes the site's browse page, quiz, camera reviews, and longer-form articles, along with the author's reasons for building it. The project uses a static-first architecture on Cloudflare Pages and explores structured data, sitemaps, robots policies, and discovery in Google Search.

### Source excerpt

I've been quietly working on a small side project for the last few weeks, and it's finally at a point where I can share it properly. Which-Fuji is a tiny website I built to help people figure out which Fujifilm camera to buy. That's it. No reviews, no affiliate spam, no walls of text -- just [...] The post Building Which-Fuji: A Side Project for Fujifilm Camera Enthusiasts appeared first on Abu Ashraf Masnun.

## Auto incrementing IDs for MongoDB

DevFeed: [Auto incrementing IDs for MongoDB](<https://devfeed.tech/articles/auto-incrementing-ids-for-mongodb-26283.md>)

Original publisher: [Read original article](<https://masnun.com/auto-incrementing-ids-for-mongodb/>)

Author: masnun

Published: 2018-12-06T17:14:35Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [MongoDB](<https://devfeed.tech/topics/mongodb.md>), [pymongo](<https://devfeed.tech/topics/pymongo.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [general](<https://devfeed.tech/tags/general.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [nosql](<https://devfeed.tech/tags/nosql.md>), [operator](<https://devfeed.tech/tags/operator.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [pymongo](<https://devfeed.tech/tags/pymongo.md>), [python](<https://devfeed.tech/tags/python.md>), [relational-databases](<https://devfeed.tech/tags/relational-databases.md>)

### AI overview

This tutorial explains how to implement sequential, auto-incrementing IDs in MongoDB using a separate collection that stores the last used numeric ID. It describes atomically incrementing the value before inserting a document and notes that the older find-and-modify approach is deprecated.

### Source excerpt

If you're familiar with relational databases like MySQL or PostgreSQL, you're probably also familiar with auto incrementing IDs. You select a primary key for a table and make it auto incrementing. Every row you insert afterwards, each of them gets a new ID, automatically incremented from the last one. We don't have to keep track [...] The post Auto incrementing IDs for MongoDB appeared first on Abu Ashraf Masnun.

## API Star: Python 3 API Framework

DevFeed: [API Star: Python 3 API Framework](<https://devfeed.tech/articles/api-star-python-3-api-framework-26282.md>)

Original publisher: [Read original article](<https://masnun.com/api-star-python-3-api-framework/>)

Author: masnun

Published: 2018-02-03T14:46:17Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [Python](<https://devfeed.tech/topics/python.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [async](<https://devfeed.tech/tags/async.md>), [backend](<https://devfeed.tech/tags/backend.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [framework](<https://devfeed.tech/tags/framework.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [orm](<https://devfeed.tech/tags/orm.md>), [python](<https://devfeed.tech/tags/python.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [serialization](<https://devfeed.tech/tags/serialization.md>)

### AI overview

A tutorial introducing API Star, a Python 3 API framework. It covers the framework's support for type hints, asyncio, WSGI, command-line project creation, optional Django ORM and SQLAlchemy integrations, and automatic API documentation, validation, and serialization.

### Source excerpt

For building quick APIs in Python, I have mostly depended on Flask. Recently I came across a new API framework for Python 3 named "API Star" which seemed really interesting to me for several reasons. Firstly the framework embraces modern Python features like type hints and asyncio. And then it goes ahead and uses these [...] The post API Star: Python 3 API Framework appeared first on Abu Ashraf Masnun.

## Getting Started with Pipenv

DevFeed: [Getting Started with Pipenv](<https://devfeed.tech/articles/getting-started-with-pipenv-26288.md>)

Original publisher: [Read original article](<https://masnun.com/pipenv-getting-started/>)

Author: masnun

Published: 2017-11-25T23:09:32Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [pip](<https://devfeed.tech/topics/pip.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [PyPI](<https://devfeed.tech/topics/pypi.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [PyCharm](<https://devfeed.tech/topics/pycharm.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Windows](<https://devfeed.tech/topics/windows.md>)

Tags: [dependencies](<https://devfeed.tech/tags/dependencies.md>), [environment-management](<https://devfeed.tech/tags/environment-management.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [install](<https://devfeed.tech/tags/install.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [pycharm](<https://devfeed.tech/tags/pycharm.md>), [pypi](<https://devfeed.tech/tags/pypi.md>), [python](<https://devfeed.tech/tags/python.md>), [python-packages](<https://devfeed.tech/tags/python-packages.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A tutorial introducing Pipenv for Python development. It explains how Pipenv combines package installation with isolated virtual environments, records dependencies in a Pipfile, creates a lock file for deterministic builds, and supports installing packages, running applications, activating environments, and managing dependencies.

### Source excerpt

If you're a Python developer, you probably know about pip and the different environment management solutions like virtualenv or venv. The pip tool is currently the standard way to install a Python package. Virtualenv has been a popular way of isolating Python environments for a long time. Pipenv combines the very best of these tools [...] The post Getting Started with Pipenv appeared first on Abu Ashraf Masnun.

## Deploying A Flask based REST API to AWS Lambda (Serverless) using Zappa

DevFeed: [Deploying A Flask based REST API to AWS Lambda (Serverless) using Zappa](<https://devfeed.tech/articles/deploying-a-flask-based-rest-api-to-aws-lambda-serverless-using-zappa-26284.md>)

Original publisher: [Read original article](<https://masnun.com/deploying-flask-based-rest-api-aws-lambda-serverless-using-zappa/>)

Author: masnun

Published: 2017-11-24T15:41:25Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [Python](<https://devfeed.tech/topics/python.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Amazon API Gateway](<https://devfeed.tech/topics/amazon-api-gateway.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>)

Tags: [api-gateway](<https://devfeed.tech/tags/api-gateway.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [cli](<https://devfeed.tech/tags/cli.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [django](<https://devfeed.tech/tags/django.md>), [flask](<https://devfeed.tech/tags/flask.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [python](<https://devfeed.tech/tags/python.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [run](<https://devfeed.tech/tags/run.md>), [s3](<https://devfeed.tech/tags/s3.md>), [serverless](<https://devfeed.tech/tags/serverless.md>)

### AI overview

A tutorial on deploying a Flask-based REST API to AWS Lambda with Zappa. It explains how Zappa automates configuration for API Gateway and S3 and supports deploying WSGI applications, then begins covering Flask setup and AWS credentials.

### Source excerpt

I have heard about AWS Lambda and all the cool things happening in the serverless world. I have also deployed Go functions using the Apex framework for serverless deployment. But recently I have started working on some Python projects again and decided to see how well the Python community is adapting to the serverless era. [...] The post Deploying A Flask based REST API to AWS Lambda (Serverless) using Zappa appeared first on Abu Ashraf Masnun.

## Golang: Interface

DevFeed: [Golang: Interface](<https://devfeed.tech/articles/golang-interface-26285.md>)

Original publisher: [Read original article](<https://masnun.com/golang-interface/>)

Author: masnun

Published: 2017-10-22T19:06:16Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [interfaces](<https://devfeed.tech/topics/interfaces.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [interface](<https://devfeed.tech/tags/interface.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>)

### AI overview

A tutorial on Go interfaces, including implicit implementation and how method sets determine whether a value or pointer type satisfies an interface.

### Source excerpt

In Go or Golang, declaring an interface is pretty simple and easy. [crayon-6aa89a9d0d7ac218551467/] We just defined an interface named Printer that required an implementer to have a method named Print which takes a string parameter and returns nothing. Interfaces are implemented implicitly in Go. Any type that has the Print(string) method implements the interface. There is no need to [...] The post Golang: Interface appeared first on Abu Ashraf Masnun.

## Golang: Making HTTP Requests

DevFeed: [Golang: Making HTTP Requests](<https://devfeed.tech/articles/golang-making-http-requests-26286.md>)

Original publisher: [Read original article](<https://masnun.com/golang-making-http-requests/>)

Author: masnun

Published: 2017-10-22T12:54:08Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [JSON](<https://devfeed.tech/topics/json.md>), [servers](<https://devfeed.tech/topics/servers.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [http](<https://devfeed.tech/tags/http.md>), [json](<https://devfeed.tech/tags/json.md>), [json-in-go](<https://devfeed.tech/tags/json-in-go.md>)

### AI overview

A tutorial on making HTTP requests in Go. It demonstrates a simple GET request, reading the response body, handling connection and read errors, and preparing to send and receive JSON messages.

### Source excerpt

Go aka Golang is a very promising programming language with a lot of potential. It's very performant, easy to grasp and maintain, productive and backed by Google. In our earlier posts, we have tried to provide guidelines to learn Go and later we saw how to work with JSON in Go. In this blog post, we're [...] The post Golang: Making HTTP Requests appeared first on Abu Ashraf Masnun.

## Proxy in JavaScript

DevFeed: [Proxy in JavaScript](<https://devfeed.tech/articles/proxy-in-javascript-26287.md>)

Original publisher: [Read original article](<https://masnun.com/javascript-proxy/>)

Author: masnun

Published: 2017-08-21T01:00:14Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [behavior](<https://devfeed.tech/tags/behavior.md>), [cache](<https://devfeed.tech/tags/cache.md>), [code](<https://devfeed.tech/tags/code.md>), [console](<https://devfeed.tech/tags/console.md>), [function](<https://devfeed.tech/tags/function.md>), [handler](<https://devfeed.tech/tags/handler.md>), [http](<https://devfeed.tech/tags/http.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [object](<https://devfeed.tech/tags/object.md>), [properties](<https://devfeed.tech/tags/properties.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [receiver](<https://devfeed.tech/tags/receiver.md>)

### AI overview

This tutorial explains how JavaScript Proxy objects intercept operations on a target object through handler methods. It covers property access, method calls, logging, value transformation, and caching responses from external APIs.

### Source excerpt

As we can already guess from the name, a Proxy object works as a "proxy" to another object and allows us to customize the behavior of the said object in certain ways. Let's say you have an obj named awesomeAPI which has some properties and methods. You want to "trap" any calls to the object. May [...] The post Proxy in JavaScript appeared first on Abu Ashraf Masnun.

## Promises in JavaScript

DevFeed: [Promises in JavaScript](<https://devfeed.tech/articles/promises-in-javascript-26289.md>)

Original publisher: [Read original article](<https://masnun.com/promises-in-javascript/>)

Author: masnun

Published: 2017-08-11T10:33:42Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [Promise](<https://devfeed.tech/topics/promise.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [async](<https://devfeed.tech/topics/async.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [callback](<https://devfeed.tech/tags/callback.md>), [function](<https://devfeed.tech/tags/function.md>), [javascript](<https://devfeed.tech/tags/javascript.md>)

### AI overview

A tutorial explaining JavaScript Promises, why they are useful for asynchronous operations, and how they help replace nested callbacks with cleaner code. It introduces consuming and creating promises, including resolving and rejecting them.

### Source excerpt

We encounter promises in real life every now and then. You have promised to deliver that project within the next week. Your friend has promised to play Overwatch with you tonight. If you think about it, promises are everywhere around us. Promises in JavaScript also play similar roles. A Promise object in JS is an [...] The post Promises in JavaScript appeared first on Abu Ashraf Masnun.

## REST API with KoaJS and MongoDB (Part - 3)

DevFeed: [REST API with KoaJS and MongoDB (Part - 3)](<https://devfeed.tech/articles/rest-api-with-koajs-and-mongodb-part-3-26290.md>)

Original publisher: [Read original article](<https://masnun.com/rest-api-koajs-mongodb-part-3/>)

Author: masnun

Published: 2017-08-09T09:47:16Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [MongoDB](<https://devfeed.tech/topics/mongodb.md>), [JSON](<https://devfeed.tech/topics/json.md>), [CRUD](<https://devfeed.tech/topics/crud.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [crud](<https://devfeed.tech/tags/crud.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [koajs](<https://devfeed.tech/tags/koajs.md>), [middleware](<https://devfeed.tech/tags/middleware.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [nodejs](<https://devfeed.tech/tags/nodejs.md>), [rest](<https://devfeed.tech/tags/rest.md>)

### AI overview

Part 3 of a KoaJS and MongoDB REST API series explains how to add authentication with JSON Web Tokens, install JWT-related packages, secure routes with middleware, and return JSON authentication errors.

### Source excerpt

In Part -1 of this series, we saw how we can get started with KoaJS and in Part - 2 we built CRUD endpoints with MongoDB. In this part, we're going to work with authentication. We will be using JSON Web Tokens aka JWT for the auth part. We have written detailed pieces on JWT before. You [...] The post REST API with KoaJS and MongoDB (Part - 3) appeared first on Abu Ashraf Masnun.