High-level, interpreted programming language. It is a language which is also characterized as dynamic, weakly typed, prototype-based and multi-paradigm
Choosing between Node.js and Ruby on Rails, when choosing a development platform, is a core decision. That affects how the project unfolds over time, and how much server resources will be needed. Both languages can support web applications of high complexity, but each has its advantages and disadvantages. Knowledge of these pros and cons will help to choose the best solution for the proposed project. Let's analyze in more detail and tell you about our choice and experience.
Hi, folks, let me share my experience of creating an application to keep track of my spendings. Specifically, let me do it by answering the following questions:
- Why keep track of spendings in an application?
- Why did I create the application as a personal project?
- Why does the project use Git+JS?
1. Why keep track of spendings in an application?
I, like many people out there, wanted to become rich and successful. To become rich, one is often advised to run a personal budget, that's what I started to do several years ago. I'd like to point out that running my personal budget hasn't made me rich and successful, and I increased income simply by moving to Moscow.
Implementation a web UI is faced with more and more complex tasks that require the use of more and more complex tools. The trend of leaving the MVC application architecture, as well as the desire of developers to use separate libraries for each layer of tasks, led to changes, against which the Vue.JS framework appeared and became popular. Let's try to understand why Vue.JS appeared and what problems it carefully solves.
[Quicksort] reduces complexity on each pass of a given input. So far so good. Let's imagine example with 10 elements. How many possible permutations do we have? you are right: 10! ~= 3,6 * 10^6. So on the first pass the complexity will be reduced: 5!*5!, on the next pass it will be further reduced till 2!*3!*2!*3!… after logn times we will have 1!*1!*1!...1! = 1 possible position, and our given input is sorted. Gotcha. (attentive reader can mention about worst case scenario of quicksort, but lets discuss it someday) Coming back to our example…
Despite of lots of benefits, tests have two fundamental problems: there is no architecture at all (quality), nobody knows what is the meaning of the quantity.
Tests have a cost. Lets imagine dialog between manager and developer:
— John, how many hours does it take to implement?
— Approximately one week: 1,5 day for task and 3,5 days to write tests
So why people write tests? Let's try to build a mental model: we delivered a component, our beta testers found a bug, we wrote tests scenario. So, next time we try to deliver the same component, we already know about bad scenario and have automation to check it. So far so good. Next, we are trying to predict future bugs by writing lot's of tests and cover bad scenarios. Next, we deliver better components, users are happy. Profit. (Despite of all pros, the solution is not scalable — with every new component we will face a reality).
«Clean Code» and a clean cat
There is nothing developers enjoy better than arguing about clean code: Dan Abramov, for example, has recently fueled the hype with his blog post, «Goodbye, Clean Code».
However, “clean code” per se doesn’t even have a clear definition. The main book on the subject is Clean Code, where Robert «Uncle Bob» Martin states that there are perhaps as many definitions as there are programmers. But he doesn’t walk away from the fact with a conclusion that there’s no reason to discuss clean code, rather — compare several definitions and highlight general ideas. Therefore he cites the views of several outstanding programmers on what clean code is.
So we have also become interested in what people in 2020 think of clean code. Have the views changed since the publication of the book? Do opinions vary in different IT fields (maybe backend developers perceive the idea of clean code differently from testers)?
We've already published the results in Russian, and here's the English version. Since the topic is known to provoke discussions, feel free to give your own definition or argue about those already given!
UPD: When we posted this article, Uncle Bob had our conferences in his schedule. Unfortunately, the situation has changed. We updated this post on March 12, to avoid any misunderstanding.
I’m sure that I convinced you that Quick Sort is important. Let’s start!
Prettier is a Must-Have for Large-Scale Projects: Spent 20 Minutes Setting It Up and Forgot About Formatting for a Year
It was an everyday reality for one of Skyeng dev teams a year ago. Then someone had enough and said, “Guys, from now on we use Prettier. Is everyone ok with that?” And then there were no more debates about formatting. We’ve installed Prettier in the frontend repo and all the teams use it.
- Looking for the best node.js framework for web or mobile application development?
- Searching for top node.js frameworks for the year 2020?
- Hunting for topmost node.js frameworks to stay ahead in the competition?
Here, in this blog, you will get the answers to all such questions. Let's quickly dive into it!
What is a Node.js Framework?
Node.js framework is a combination of libraries, helpers, and tools that offer a way to create and operate web applications in an uncomplicated manner. A node.js framework builds the base layer for creating a web app.
The most important aspects of node.js framework, like any web framework, are its architecture and features such as support for customization, flexibility, security, compatibility with other libraries.
Today we start to share with you the most exciting and noticeable Svelte community's content. Welcome to the article, comrades!
Simplest thing in application affects their interactivity greatly. For example, even the number of notifications, as well as the time at which they will be sent, have a strong impact. According to a survey, 60% of respondents have a preference for what time of day they receive notifications.
This indicates that the way an app will communicate with users will have an immense effect on its success or failure. Do you know what are the factors that affect the interactivity of your app? Apart from that, how can you make an app interactive?
Authorization is one of the first problems developers face upon starting a new project. And one of the most common types of authorization (from my experience) is the token-based authorization (usually using JWT).
From my perspective, this article looks like "what I wanted to read two weeks ago". My goal was to write minimalistic and reusable code with a clean and straightforward interface. I had the next requirements for my implementation of the auth management:
- Tokens should be stored in local storage
- Tokens should be restored on page reload
- Access token should be passed in the network requests
- After expiration access token should be updated by refresh token if the last one is presented
- React components should have access to the auth information to render appropriate UI
- The solution should be made with pure React (without Redux, thunk, etc..)
Millions of businesses exchange information on the internet and to interact with their target audience. This helps them make fast and secure transactions over the web. However, business goals can be achieved when the businesses are able to store all this data for the means of presenting quality output to the end users.
Simply put, in the development industry a web application (or “web app”) is more like a program that uses a web browser to handle the storage and retrieval of the information to present information to the users. This allows a user to interact with the company using the online forms, e-shopping carts, CMS, etc. Some more examples of web applications are online banking, online polls, online forums, online reservations, shopping cart, and interactive games.
Learning about web development is kind of like having too many things on a plate. This blog serves as a way to get your acquainted with the world of web app development.
The core task of ReactJS is providing the best possible rendering performance. Its strength comes from the focus on the individual elements. Instead of working on the complete web app, ReactJS allows a programmer to break down the complex UI into simpler elements.
And according to its circuits the wind returns;
All the rivers run into the sea — and the sea does not overflow,
To the place where the rivers run, — There they continue to run;
The book of Ecclesiastes
In 1998, a completely unique, for its time, application was developed that allows you to reduce the process of developing an abstract board game (or puzzle) to a small text description language, vaguely reminiscent of Lisp. This project was called Zillions of Games. It created a furor among fans of board games. Currently, over 2,000 applications have been created using this technology.