Posts

Showing posts from September, 2018

Open Source Contribution - Release 0.1

Image
Contributing to Filer (File System Interface for Node.js)



Over the last couple of weeks I've enhanced my ability of using Git and Github as well as learning the workflow of open source development. I achieved this through making my first open source contribution to Filer, an open source project located on Github.
Link to Filer: https://github.com/filerjs/filer
I started my contribution with filing an issue, in which I stated what I wanted to contribute to the project. Once the issue was reviewed by the moderator of the project, it was assigned to me. Once assigned, I started working on a solution that will add unit testing for a functionality of Filer. After finalizing the code, I was ready to do a pull request in order for moderators and the open source community to review my code and suggest improvements. Once my pull request was successfully submitted, I received encouragement that what I did was not useless and some constructive criticism to improve the readability of my code.…

Exploring Node.js File System Module

Image
Node.js file system implements File I/O using wrappers around standard POSIX functions, which allows you to work with the file system on your computer. Today, I will explore some of the methods within the fs module.


File I/O and POSIX explanation:

File I/O refers to input and output operations performed on files. These operations include creating, reading, updating, and deleting files (commonly referred to as CRUD operations).

POSIX is a family of standards that allows for conventional standards between operating systems, maintaining compatibility between these systems. It provides uniformity for the API and utilities for operating systems, mostly used by Unix and its variants.


File System module overview:

There are two different forms for each method in the fs module, synchronous and asynchronous. When using synchronous methods, the system waits for the synchronous method to execute before moving onto another task. On the other hand, when using the asynchronous methods, they are execut…