UI vs. UX Design

When it comes to product design, UI (User Interface) and UX (User Experience) design are two essential concepts you will encounter in the IT industry.

UX design, also known as user experience design, prioritizes the user’s interaction with the product, aiming to create an enjoyable and seamless experience. This design approach involves comprehending user needs, preferences, and behaviors to design an interface that caters to their requirements. UX designers must have an in-depth understanding of the user journey, from the moment they enter the site or app to the point when they complete their desired action.

UI design, on the other hand, focuses on the product’s appearance and functionality. It centers on the visual design of the product, typically relying on wireframes or mockups created by a UX designer. UI design involves crafting the layout, typography, color scheme, icons, and other visual elements that users see on the screen. The objective of UI design is to create an interface that is visually appealing and user-friendly, making navigation and interaction easy for the user.

 

UI vs. UX Design:

While both UI and UX design are important, they have different roles to play in the design process. UI design focuses on the visual elements, while UX design is focused on the overall user experience. A good design requires both a well-designed UI and a user-centric UX.

In conclusion, both UI and UX design play an important role in creating a successful website or application. A great design requires a balance of both the visual elements and the user experience. The goal is to create a design that is visually appealing, easy to navigate, and provides a seamless user experience.

Read more...

Setup domain name with port no

By default, when a browser makes an HTTP request, the port used is 80. So, if you’re requesting example.com, it means you’re actually requesting example.com:80.

However, sometimes a project may be hosted on a different port, such as 3000 in the case of client-side JavaScript technology. In this case, you can access your website by using the URL example.com:3000.

In this article, we’ll learn how to open port 3000 without having to specify the domain name, similar to what we’re doing for port 80.

 

<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com

  ProxyRequests Off
  ProxyPreserveHost On
  ProxyVia Full

  ProxyPass / http://127.0.0.1:3000/
  ProxyPassReverse / http://127.0.0.1:3000/
</VirtualHost>

Change example.com with your domain name

Note: you must enable proxy

sudo a2enmod proxy proxy_http proxy_balancer lbmethod_byrequests

restart apache2 server

sudo systemctl restart apache2

Read more...

How to keep node server running in background

When you work with node js with a local environment you can keep your server active with the npm start command and access API.

but when you have to make your project live you may want all APIs should work continuously and perform all job backgrounds.

You can achieve this by PM2

you need to install pm2 and run this command

pm2 start npm -- start

if you want have name for better recongnization you can write unique name by follwing command 

pm2 start npm --name "app name" -- start

he app name will be unique name for you server

 

Read more...

Node.js Good or Bad in web development

Hire website developer  Hire website developer

JavaScript is one of the most popular software development technologies and globally used by the developer in front end development.

JavaScript traditionally used as a web frontend development tool, now it has also become a major cross-platform mobile development tool as a basic technology for a large number of platforms, such as Apache Cordova/PhoneGap, React Native, NativeScript, Appcelerator Titanium.

But the use of javascript not limited here. Lately, there has been a lot of buzz around the use of JavaScript for server-side programming. One of the tools that indicated this shift in web development was Node.js.

What is Node.js?

Node.js is actually not a framework or a library, but a runtime environment, based on Chrome’s V8 JavaScript engine.

It was firstly introduced in 2009 by Ryan Dahl at the annual European JSConf after that it was recognized as “the most exciting single piece of software in the current JavaScript universe”.

The technology was later adopted by a number of technology leaders, such as Uber, eBay, Walmart, and Netflix, to name a few. This technology gets people interest globally and  picked in 2017 as per google trends

The Benefits of Node.js

Using Node.js for backend, you automatically get all the pros of full stack JavaScript development, such as:

  • better efficiency and overall developer productivity
  • code sharing and reuse
  • speed and performance
  • easy knowledge sharing within a team
  • a huge number of free tools

As javascript is widely and known for fast processing, developers trained in frontend JavaScript can start programming the server side with minimum effort.  With the same language on both sides, you can reuse code on the frontend and the backend by wrapping it into modules and creating new levels of abstraction.

Fast-processing and event-based model

Node.js is fast; it is not a myth. Take a look at the performance tests by toptal.com, comparing how GO, PHP, Java, and Node.js handle concurrent requests. There a couple of reasons for Node.js showing such results:

V8 engine. The engine used in Node.js implementation was originally developed for the Chrome browser. Written in C++, Chrome’s V8 is used to compile functions written in JavaScript into machine code, and it does the job at an impressive speed. Just check performance benchmarks in V8’s blog. Thanks to Google investing heavily in its engine, V8 demonstrates performance improvements every year, and Node.js extracts the whole bag of benefits out of it.

The Drawbacks of Node.js

Θ Performance bottlenecks with heavy computation tasks

The biggest drawback of Node.js even now is its inability to process CPU bound tasks. But, to understand what the roots of this issue are, we need a little bit of context. Let’s begin with the basics, with JavaScript itself.

As we know, Node.js is a runtime environment that executes JavaScript on the server side. Being a frontend programming language, JavaScript uses a single thread to process tasks quickly. Threading is not required for it to work, because tasks in JavaScript are lightweight and take little CPU.

Callback hell issue

Due to its asynchronous nature, Node.js relies heavily on callbacks, the functions that run after each task in the queue is finished. Keeping a number of queued tasks in the background, each with its callback, might result in the so-called callback hell, which directly impacts the quality of code. Simply put, it’s a “situation where callbacks are nested within other callbacks several levels deep, potentially making it difficult to understand and maintain the code.

Thus, with millions of JavaScript developers out there, it might be hard to find a skilled Node.js professional for your project. In this case, you certainly don’t want to limit your search to only one country. Sourcing technical talent overseas has long become the norm in the IT industry.

Mactosys have rich experience in node js development

Read more...

404 Error Page Not Found magento2

Id you are not able to open admin page or menu but home page work fine it’s issue of Rewrite mode.

Make sure Rewrite mode is enable on your server you can write this command to enable to Rewrite mode

sudo a2enmod rewrite

Configure apache

edit apache2.conf it can be found /etc/apache2/apache2.conf

you can open it by vi editor by writing this command

sudo vi /etc/apache2/apache2.conf 

Change this line

<Directory /var/www/>
     Options Indexes FollowSymLinks
     AllowOverride None
     Require all granted
</Directory>

To

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Now Restart Apache server by following command

sudo service apache2 restart OR sudo /etc/init.d/apache2 restart

Read more...

How to fix 500 internal server error in Magento 2

500 internal server error is very common error during magento installation or server migration

Mostly we have this issue because of these 5 reasons

permissions issues

memory limitation

issues in the .htaccess file

missing modules

third-party plugin issues

Before making any change we would like to recommend you switch your magento side to developer mode you can do this by writing this command bin/magento deploy:mode:set developer

  1. Permissions error
    We face 500 internal server error in magento because of wrong file or folder permission. You can face this issue if your folder or file not have correct permission, you can give this permission by following command
    Go to root folder of your magneto you can right CD root-folder-name
cd <your Magento install dir> (Skip this if your are in root      folder)
find . -type f -exec chmod 644 {} \; // 644 permission for files
find . -type d -exec chmod 755 {} \; // 755 permission for directory
chown -R :<web server group> .
chmod u+x bin/magento

2. Memory limitation

go to the php.ini file and add:

memory_limit = 756M

756M is the minimum value you can set more memory volume.

Otherwise, add this code to the .htaccess file:

<IfModule mod_php5.c>
php_value memory_limit 756M
</IfModule>

3. Issues in the .htaccess file

Usually, problems with the .htaccess file happen when you are trying to run the installation of some components, such as themes, plugins, patches, etc. If you have some configuration mistakes, you can get the 500 error on the Magento website.

In this case, you can temporarily rename this file and check error logs in /var/log/httpd or /var/log/apache2. If you find any other issues, correct the configurations. 

4. Missing modules

Sometimes you can get the internal server error during Magento installation because your server doesn’t support some of the specifications. In this situation, you can use the Magento Check (https://example.com/magento/magento-check.php) to find out what modules are missing and then install them on the server.

5. Third-party plugin issue

If you are facing an issue after installing of extension you should contact your vendor or check compatibility of extension. In this case, use the following command php bin/magento mod:disable to turn off the mod

Read more...