<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Yuri Filatov</title>
    <description>The latest articles on Forem by Yuri Filatov (@filatovv).</description>
    <link>https://forem.com/filatovv</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F544740%2F67d3a261-73d9-4185-ab37-905d512a30b0.jpeg</url>
      <title>Forem: Yuri Filatov</title>
      <link>https://forem.com/filatovv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/filatovv"/>
    <language>en</language>
    <item>
      <title>How a Healthcare IT Project Manager Helps in Implementing Business Goals</title>
      <dc:creator>Yuri Filatov</dc:creator>
      <pubDate>Thu, 10 Feb 2022 07:56:48 +0000</pubDate>
      <link>https://forem.com/filatovv/how-a-healthcare-it-project-manager-helps-in-implementing-business-goals-1c91</link>
      <guid>https://forem.com/filatovv/how-a-healthcare-it-project-manager-helps-in-implementing-business-goals-1c91</guid>
      <description>&lt;p&gt;Managing IT projects in the field of healthcare&lt;/p&gt;

&lt;p&gt;Launching and managing healthcare IT projects and developing custom medical software is not a simple matter. A standard development team is not enough to build well-coordinated EHR, PMS, or other systems; you need the help of physicians, lawyers, insurers, and billing specialists. Who will connect the non-technical staff, the development team, and the business in such a way that tasks are completed on time, within budget, and without disagreements? This can be done by an experienced healthcare IT Project Manager. Let’s talk about the role of this specialist in achieving business goals.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the complexities of healthcare projects?
&lt;/h2&gt;

&lt;p&gt;Medical software differs in complexity and is created for different purposes and different audiences:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Heads of medical centers, clinics, and hospitals aspire to streamline the internal work of their facilities, improve patient care, reduce costs, and increase client loyalty. For these purposes, they develop electronic medical records, software for managing medical information, programs for managing revenues, and other systems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Patients want to monitor their health status remotely, consult a doctor, and receive electronic prescriptions. For these purposes, medical institutions develop healthcare mobile apps, TeleMedicine software, online clinics, and so on.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Self-employed doctors want to find a convenient platform to connect with patients and deliver their services.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Businesses strive to develop software for doctors, healthcare facilities, and patients in order to receive a sustainable yield from selling it.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fulfilling the above purposes requires different technologies, teams, and tools. However, healthcare technologies share some common characteristics:&lt;/p&gt;

&lt;p&gt;1.High risks&lt;/p&gt;

&lt;p&gt;Development often exceeds the allocated budget and misses deadlines, as software engineers work with confidential client information. A minor mistake can lead to private data theft and fines for a law violation. Healthcare software customers are obliged to protect patient information under HIPPA and GDPR; otherwise, the case will go to court. That’s why customers go by the following principle: delaying the release in order to eliminate shortcomings is better than releasing vulnerable software.&lt;/p&gt;

&lt;p&gt;2.Healthcare IT projects are expensive. &lt;/p&gt;

&lt;p&gt;Implementation of medical projects is difficult and time-consuming. If the team misses a mistake or has to spend time eliminating a risk, this will impact the cost. The more drawbacks the work and product requirements contain, the more money a business has to pay for healthcare software development. Gartner estimated that healthcare technology spending would grow by 6.8%, amounting to $140 billion in 2021.&lt;/p&gt;

&lt;p&gt;3.Complicated regulations.&lt;/p&gt;

&lt;p&gt;To enter the market, the software is tested and approved by the appropriate authorities: a medical institution and local or national government. Healthcare software must comply with HIPAA - the way an app’s features are used determines compliance with the legislation.&lt;/p&gt;

&lt;p&gt;According to the rules, an organization must protect patients' personal information. Only authorized users can have access to ePHI, and data is securely encrypted. If these conditions are not met, then the app owner breaks the law.&lt;/p&gt;

&lt;p&gt;Local laws are of great importance. Each country, region, and even state has its rules for the operation of medical institutions, which are important to pay attention to when developing a product. That’s why Business Analysts spend so much time on investigations when launching a product - in order to avoid large hidden risks. &lt;/p&gt;

&lt;p&gt;4.The sector is constantly changing.&lt;/p&gt;

&lt;p&gt;Healthcare projects usually last 6-20 months. During this period, there may be changes in technologies or legislation that should be reflected in the program. This, in turn, means that the team will have to deviate from the initial plan and spend hours implementing a new feature.&lt;/p&gt;

&lt;p&gt;5.The project has many participants.&lt;/p&gt;

&lt;p&gt;Apart from the development team, a healthcare startup involves third-party experts: doctors, lawyers, and customer representatives. There is also one more part of the interested audience - program users, whose opinion should also be taken into account. Therefore, an experienced healthcare IT Project Manager is needed to successfully implement software. This manager will organize the work in such a way that all the process participants are heard and work together on the common goal.&lt;/p&gt;

&lt;h2&gt;
  
  
  The importance of a Project Manager for healthcare projects
&lt;/h2&gt;

&lt;p&gt;Like any other IT initiative, a healthcare project is limited in time, cost, and scope. No customer will love it if these three components are stretched. Therefore, a Project Manager strives to organize the work in such a way that the &lt;a href="https://andersenlab.com/industries/healthcare/health-tech-future?utm_source=article&amp;amp;utm_medium=dev.to"&gt;healthcare software development&lt;/a&gt; goes according to the planned scenario:&lt;/p&gt;

&lt;p&gt;1.Plans the work on the project.&lt;/p&gt;

&lt;p&gt;Before starting, the development team plans the implementation: how many IT specialists to involve, what budget will be needed, and how long the process will take. Healthcare IT project management includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;recruiting the team;&lt;/li&gt;
&lt;li&gt;rendering the project goal;&lt;/li&gt;
&lt;li&gt;establishing communication with the customer;&lt;/li&gt;
&lt;li&gt;defining areas of responsibility;&lt;/li&gt;
&lt;li&gt;setting the project acceptance criteria;&lt;/li&gt;
&lt;li&gt;ensuring compliance with legislation;&lt;/li&gt;
&lt;li&gt;determining the scope of work;&lt;/li&gt;
&lt;li&gt;forecasting and eliminating risks;&lt;/li&gt;
&lt;li&gt;calculating the required budget;&lt;/li&gt;
&lt;li&gt;controlling the budget and terms;&lt;/li&gt;
&lt;li&gt;solving emergency situations;&lt;/li&gt;
&lt;li&gt;choosing the project methodology.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A Project Manager sees the project as a whole and knows what stage the work is in at the moment. This specialist makes sure that the team follows the plan and doesn’t fall behind schedule.&lt;/p&gt;

&lt;p&gt;2.Establishes work processes.&lt;/p&gt;

&lt;p&gt;A Project Manager organizes their team’s work (studying requirements, designing, developing, and testing), brings the project participants up to speed, motivates specialists, and establishes effective communication. Also, this professional resolves conflicts between the team members, eliminates work hindrances, maintains documentation, and reports to customers on the achievements.&lt;/p&gt;

&lt;p&gt;3.Supervises the work of the team.&lt;/p&gt;

&lt;p&gt;A Project Manager makes sure that quality and security testing is conducted without delays and the new version of the program is released at the planned time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;holds retrospective meetings and meetings regarding the project status;&lt;/li&gt;
&lt;li&gt;estimates the development team’s KPIs;&lt;/li&gt;
&lt;li&gt;manages the budget and issues invoices;&lt;/li&gt;
&lt;li&gt;communicates the customer’s wishes and recommendations for improvement to specialists;&lt;/li&gt;
&lt;li&gt;works with client reviews to make improvements;&lt;/li&gt;
&lt;li&gt;presents ready-made solutions, demo versions, and prototypes to the customer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The tasks of a healthcare IT Project Manager can be grouped into the following three blocks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;achieving goals of the customer through efficient task completion;&lt;/li&gt;
&lt;li&gt;achieving goals of the healthcare software development company through enhanced financial indicators;&lt;/li&gt;
&lt;li&gt;achieving goals of the team through motivations and career goal realizations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks to their abilities and competencies, a Project Manager can cope with the complexities of medical projects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ensures HIPAA and GDPR compliance in order to eliminate potential risks for clients;&lt;/li&gt;
&lt;li&gt;controls the budget of healthcare software development so that the product doesn’t increase in cost;&lt;/li&gt;
&lt;li&gt;takes changing trends of the sector into account and draws up a contingency plan to introduce changes as needed without jeopardizing the project;&lt;/li&gt;
&lt;li&gt;connects the development process participants (customer representatives, industry experts, and the IT team) so that they can quickly resolve problems without conflicts. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thus, a Project Manager is one of the essential specialists without whom healthcare projects risk failing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reasons why healthcare projects fail
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Experts from Forbes name several reasons for project failures:&lt;br&gt;
Project implementation without medical experts. Even the most advanced developers don’t know the specifics of healthcare and hence can’t fully implement them in the application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cooperation with veteran doctors who are used to outdated technologies and don’t understand modern ways of healthcare software development.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Absence of a go-to-market strategy. This causes companies to lose leads and revenue. The target audience is not clearly defined, which is why the company risks developing an undemanded product.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Miscalculated ROI. By investing lots of money in the development of medical software that, in the end, falls short of expectations, a company goes into the red.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Absence of planning and unclear requirements. When the team members don’t clearly understand what software to implement, they find it difficult to create a plan and follow it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Increasingly complex data collection requirements that healthcare organizations must follow. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Poor communication between managers, stakeholders, and patients.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The global challenge for a healthcare IT Project Manager is to prevent these problems and bring the project to successful completion.&lt;/p&gt;

&lt;h2&gt;
  
  
  Popular healthcare projects
&lt;/h2&gt;

&lt;p&gt;Our PMs have helped development teams implement over 60 healthcare projects. Here are some of them:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A communication platform for healthcare&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Andersen, a healthcare software development company, has built a platform for communication and collaboration, aimed at clinic employees. The program helps to share information about a patient, protecting their data according to HIPAA. Users can’t save, copy, or delete messages. The data is stored not on devices but on an organization's server.&lt;/p&gt;

&lt;p&gt;Thousands of medical institutions can remotely advise patients and coordinate their treatments. Every day, the platform processes over 10 million messages.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zglxs4ZU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cgp4dcabuzhvxiciyoec.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zglxs4ZU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cgp4dcabuzhvxiciyoec.png" alt="Image description" width="880" height="536"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Surgical care imaging software&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Andersen has developed software for a surgery assistance device. Its hardware consists of cameras, the main and secondary displays, a digital color printer, arthroscopes, sheaths, and other elements. The software developed by our experts has helped to improve surgery on joints. We not only implemented the customer's requirements but also offered additional functions and a mobile application for remote control.&lt;/p&gt;

&lt;p&gt;The project was approved by leading medical institutions. The system became one of the customer's best products and contributed to their brand promotion, increasing sales by 20%.&lt;/p&gt;

&lt;p&gt;IoT-based heart rate monitoring&lt;/p&gt;

&lt;p&gt;Andersen’s specialists have implemented an IoT solution based on ballistocardiography. The program records heart rate variability during the night. The system connects to ferroelectret transducers to visualize the heart's performance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V5btDtd9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/efbw05p8c3liv3leoyv8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V5btDtd9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/efbw05p8c3liv3leoyv8.png" alt="Image description" width="880" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The app provides a detailed description of the quality of sleep and the recovery process. Remote heart rate monitoring is important for athletes, senior citizens, and people with chronic heart diseases. You can see more examples on our website in the Healthcare section.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The success of a healthcare project largely depends not only on the team but also on how effectively the management is organized. Thorough planning, regular feedback, monitoring, and open communication help to avoid problems and implement business ideas, ensuring that this implementation stays within the "Time-Budget-Scope" triangle. These are the top reasons why &lt;a href="https://andersenlab.com/industries/healthcare?utm_source=article&amp;amp;utm_medium=dev.to"&gt;healthcare software development companies&lt;/a&gt; include a PM in IT project management. &lt;/p&gt;

</description>
      <category>healthydebate</category>
      <category>software</category>
      <category>medical</category>
    </item>
    <item>
      <title>TOP programming languages and their value</title>
      <dc:creator>Yuri Filatov</dc:creator>
      <pubDate>Thu, 02 Sep 2021 09:42:02 +0000</pubDate>
      <link>https://forem.com/filatovv/top-programming-languages-and-their-value-10o5</link>
      <guid>https://forem.com/filatovv/top-programming-languages-and-their-value-10o5</guid>
      <description>&lt;p&gt;It’s not a secret that nowadays, the IT sphere is one of the most profitable ones. More and more people dream of building a career in programming, so they go to universities and attend courses to prepare for it. But we all know that it’s challenging to decide which programming language to learn. And it is usually not about the language that is the easiest to master or the one we like the most - we want to base our choice on the profitability and popularity of a language. Here is the list of programming languages that are the most popular in 2021, with their advantages and disadvantages. We hope that this review will help you make a choice.&lt;/p&gt;

&lt;h2&gt;
  
  
  Python
&lt;/h2&gt;

&lt;p&gt;Nowadays, Python developers amount to 29.9% of all programmers in the world. However, if we look at individual countries, we’ll see that Python always ranks in the top 3 (~12% of all programmers).&lt;/p&gt;

&lt;p&gt;Python is considered one of the easiest programming languages to start with, but this language is difficult to master. Anyone can turn on the Internet and learn Python (the beginner level); however, like with any other language, constant practicing is required. You have to spend many hours improving your knowledge and skills. Python hasn’t always been that popular - it has come a long way and finally gained momentum in 2019.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average salary:&lt;/strong&gt; $108,032/year in the US. &lt;br&gt;
Value: Python is one of the most popular languages; the job board for Python developers is always full of offers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Java
&lt;/h2&gt;

&lt;p&gt;According to &lt;a href="https://statisticstimes.com/tech/top-computer-languages.php"&gt;Statisticstimes&lt;/a&gt;, Java developers amount to 17.72% of all programmers. Java has always been popular (not just in 2021), and it’s a good language to start with. &lt;/p&gt;

&lt;p&gt;As you know, the most popular IDE is the one from JetBrains. IDE IntelliJ IDEA is handy to work with as it is visually optimized, highlights mistakes and prompts, and supports any plugins. As with any other language, if you don’t practice coding in Java regularly, you won’t be successful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average salary:&lt;/strong&gt; $102,327/year in the US.&lt;br&gt;
Value: Java is one of the most popular languages, which has a handy IDE and promises lots of job offers for developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  C '#'
&lt;/h2&gt;

&lt;p&gt;According to statistics, 6.9% of programmers code in C#. Why does it rank at No.3, above JavaScript, even though more developers use JavaScript? JavaScript is still on its way to success, while C# has been popular for a long time. If we look at individual countries, we will see that the statistics for C# are different in Germany (10.12%), the US (6.97%), the UK (8.41%), and India (6.67%).  &lt;/p&gt;

&lt;p&gt;If we &lt;a href="https://www.guru99.com/java-vs-c-sharp-key-difference.html"&gt;compare&lt;/a&gt; Java and C#, we will notice that Java doesn’t support all the things that are supported in C#. C# is used for all Microsoft products. It's a difficult language for beginners, so we recommend you try your skills in some other language that will help you advance your software development logic, and then switch to C#.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average salary:&lt;/strong&gt; $100,000/year in the US.&lt;br&gt;
Value: Depending on the country, C# is one of the most popular languages. It’s not easy to find good job offers because there is a wide variety of salaries.&lt;/p&gt;

&lt;h2&gt;
  
  
  JavaScript
&lt;/h2&gt;

&lt;p&gt;According to statistics, the popularity of this language is increasing. JavaScript has achieved great success with 8.31% of developers worldwide. The language is popular in the US (7.25%), Germany (6.83%), the UK (8.02%), and France (9.05%). The popularity of JavaScript depends on the country - for example, C# isn’t really popular in France, ranking No. 5, while JavaScript ranks No.1.&lt;/p&gt;

&lt;p&gt;JavaScript is the next stage in &lt;a href="https://andersenlab.com/services/web-development?utm_source=article&amp;amp;utm_medium=dev.to"&gt;web development&lt;/a&gt; after HTML and CSS. The website you are reading this article on is built in JavaScript to meet users’ wishes. If we compare JavaScript to other programming languages, it is considered to be one of the easiest to learn and to start with, and it is also a creative language. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average salary:&lt;/strong&gt; $111,355/year in the US.&lt;br&gt;
Value: JavaScript is becoming more and more popular, and it is easy to start with as there are lots of tutorials on the Internet. However, beginners usually find it difficult to get a job with JavaScript as companies mostly seek senior developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  С++
&lt;/h2&gt;

&lt;p&gt;С++ is the father of all languages, remaining popular among 6.62% of programmers worldwide. Even though some people may think that this language isn’t popular anymore and its time has passed, statistics say the opposite. С++ is used in the US (5.24%), India (8.12%), the UK (5.57%), France (4.43%), and Germany (3.38%). &lt;/p&gt;

&lt;p&gt;C++ will always have value, but it doesn’t have a promising future. If we compare the current situation with the statistics of 2020, C++ has grown in popularity, and PHP that was expected to become popular, on the contrary, has slightly dropped. &lt;/p&gt;

&lt;p&gt;C++ is for those who are really good at math - it’s not easy to learn or master. This language is very strict, and one minor mistake can ruin everything. As C++ is one of the most difficult languages, the programmers coding in it earn a lot. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average salary:&lt;/strong&gt; $113,964/year in the US.&lt;br&gt;
Value: C++ is not really popular hence it’s not easy to find a job, especially if you are a junior developer. However, high salaries are guaranteed.&lt;/p&gt;

&lt;h2&gt;
  
  
  PHP
&lt;/h2&gt;

&lt;p&gt;We’ve already considered JavaScript which is associated with web development and is popular today. PHP is also a part of web development, and 6.15% of programmers worldwide use it. This language is the most popular in France (8.15%), India (6.4%), and Germany (6.21%), but not that popular in the US (2.93%). Unlike JavaScript, not every website needs PHP. If we compare these two languages, JavaScript is much easier to learn, and maybe that’s why PHP is not so popular.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average salary:&lt;/strong&gt; $90,031/year in the US.&lt;br&gt;
Value: Even if you are looking for a job in France where PHP is widely used, it’s not easy to find a job if you are a junior or middle developer. The salary offered to PHP programmers is lower than the salary offered to those coding in other languages.&lt;/p&gt;

&lt;h2&gt;
  
  
  R
&lt;/h2&gt;

&lt;p&gt;Languages don’t need to rank No.1 to be good ones. R is an example. Only 3.93% of programmers worldwide use it, and it’s mostly popular in the US (5.7%) and the UK (5.1%), but not so popular in India (1.95%).&lt;/p&gt;

&lt;p&gt;R is the language and environment for statistical computing and graphics. There are some good books on the Internet to study R. R is not a difficult language to start with. This language will always allow you to perform the newest statistical analyses as fast as possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average salary:&lt;/strong&gt; $81,163/year in the US.&lt;br&gt;
Value: This language requires strong math analysis skills and may not be interesting to everybody. R specialists constitute a small number of all programmers, and companies don’t need many of these specialists, so the job board isn’t full of offers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ruby
&lt;/h2&gt;

&lt;p&gt;Even though Ruby doesn’t really rank No.8 according to statistics, we’d like to mention this language. Out of all programmers, 1.12% use Ruby, and it is most popular in the US (1.62%). We believe in Ruby’s success but, according to statistics, its growth is too slow, and the forecast isn’t really promising. However, as we mentioned above, a language doesn’t need to be the most popular one to have value. &lt;/p&gt;

&lt;p&gt;Ruby is also a part of web development as it’s mostly used for building web apps. If we compare it to Python, we’ll find many similarities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average salary:&lt;/strong&gt; $117,733/year in the US.&lt;br&gt;
Value: The language is quite easy to learn. Companies offer high salaries (up to $160,000), but the job board isn’t full of offers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Swift
&lt;/h2&gt;

&lt;p&gt;Swift is primarily used to develop apps on Apple platforms. It's also being used for a new class of modern server applications. If we compare Swift with C++, we will discover a similarity - the memory and runtime safety is good in both languages. Swift is used by 1.96% of programmers worldwide and it’s mostly popular in the US (3.3%), the UK (2.57%), and is less popular in India (0.98%).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average salary:&lt;/strong&gt; $105,656/year in the US.&lt;br&gt;
Value: The popularity of Swift is growing, and it’s not a difficult language to start with.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kotlin
&lt;/h2&gt;

&lt;p&gt;This language actually ranks No.12. However, according to statistics, its popularity is growing each year, and that’s why it ranks No.10 in this review. Out of all the programmers worldwide, 1.62% use Kotlin - it is mostly widespread in India (1.74%) and less popular in the US (0.78%).&lt;/p&gt;

&lt;p&gt;Kotlin can be used for any kind of development (server-side, client-side web, and Android). It can be compared to Java, but Kotlin takes less time to compile as little code means fewer bugs. As with many other languages, Kotlin is not difficult to start with; however, it has some features that are difficult even for experienced developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average salary:&lt;/strong&gt; $100,453/year in the US.&lt;br&gt;
Value: The language is somewhat similar to Java. It’s not difficult for beginners; however, job boards are almost out of good offers.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Why Apple Is One of the Largest Customers of Its Competitor Amazon</title>
      <dc:creator>Yuri Filatov</dc:creator>
      <pubDate>Thu, 19 Aug 2021 12:47:20 +0000</pubDate>
      <link>https://forem.com/filatovv/why-apple-is-one-of-the-largest-customers-of-its-competitor-amazon-3cfi</link>
      <guid>https://forem.com/filatovv/why-apple-is-one-of-the-largest-customers-of-its-competitor-amazon-3cfi</guid>
      <description>&lt;p&gt;Although Apple and Amazon are direct competitors in many markets, the iPhone producer spends over $30 million per month on Amazon Cloud. Apple is prepared for these costs and indirect support of their competitor - all this in order to provide their clients with a high-quality iCloud service.&lt;/p&gt;

&lt;p&gt;Apple found and filled its niche in the smartphone market, but now this market is close to a supply glut. The company needs to explore new directions, and online services are ideal for this. Along with iPhone retail sales statistics, the company started publishing information about revenue from such products as AppleCare, Apple Pay, and iCloud.&lt;/p&gt;

&lt;p&gt;Nowadays, about a billion Apple devices are actively used worldwide. In order to support such a large number of Apple devices, it is necessary to develop infrastructure. And that’s what the company is doing. Particularly, Apple plans to spend $10 billion in the period from 2018 to 2022 on building and maintaining data centers in the United States. Half of this sum is already invested and assimilated.&lt;/p&gt;

&lt;p&gt;Currently, to maintain iCloud, Apple uses the services of not only small cloud providers but also giants like Amazon, Google, and Microsoft. However, Apple doesn’t &lt;a href="https://andersenlab.com/blueprint/voxxify-project-each-employee-will-be-heard?utm_source=article&amp;amp;utm_medium=dev.to"&gt;use AWS&lt;/a&gt; or other cloud services for the rest of their products.&lt;/p&gt;

&lt;p&gt;Apple spends over $350 million a year on maintaining AWS. Since the company has not developed its own infrastructure yet, expenditure on cloud services continues to rise. Despite planning to build its own data centers, Apple has signed a $1.5 billion five-year contract with Amazon for using AWS.&lt;/p&gt;

&lt;p&gt;AWS is one of Amazon's main revenue generators. And although Apple is one of the largest customers of Jeff Bezos’s corporation, the money Amazon receives from Apple is only a small fraction of the total flow. Lyft, Pinterest, Snap, and other tech giants sign billion-dollar contracts with Amazon in order to use their cloud resources.&lt;/p&gt;

&lt;p&gt;According to Forrester’s report, over 40% of global players are already using cloud services provided by Amazon, and within five years, this figure is predicted to double. The advantages of using Amazon's services are clear. And of course, in order to use them as efficiently as possible, a professional approach is needed. &lt;/p&gt;

</description>
      <category>aws</category>
      <category>news</category>
      <category>ios</category>
    </item>
    <item>
      <title>AWS Cloud Practitioner Exam: Preparation and Passing</title>
      <dc:creator>Yuri Filatov</dc:creator>
      <pubDate>Tue, 20 Jul 2021 09:08:31 +0000</pubDate>
      <link>https://forem.com/filatovv/aws-cloud-practitioner-exam-preparation-and-passing-45ab</link>
      <guid>https://forem.com/filatovv/aws-cloud-practitioner-exam-preparation-and-passing-45ab</guid>
      <description>&lt;p&gt;Due to the lockdown, advanced training and obtaining certificates via various online courses has become mainstream. I invite all of you to seize the opportunity to gain new knowledge and achievements, as well as figure out what AWS Cloud Practitioner is, who will benefit from this certificate, and how to get it.&lt;/p&gt;

&lt;h2&gt;
  
  
  For whom and why?
&lt;/h2&gt;

&lt;p&gt;AWS Certification means that its holder has extensive knowledge of the Cloud. There are different exams depending on your role (developer, architect, etc.). For non-technical specialists, the basic exam is AWS Cloud Practitioner. When preparing for the certification, Sales Managers, PMs, POs, BAs, and others will delve deeper into the concept of Сloud and global infrastructure, learn about the main benefits of Сloud solutions, architectural principles, and the distribution of responsibilities between the client and AWS in different contexts.&lt;/p&gt;

&lt;p&gt;A large layer of information is devoted to the services and solutions provided by AWS to its customers, particularly their targets and the main scenarios for their use. The number of products is steadily growing, some become outdated, prices change, etc. (check the relevance of any information &lt;a href="https://aws.amazon.com/"&gt;on the official website&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Supporting this knowledge with a certificate is indisputable proof that you are a specialist who can help your customer/team understand the basic needs, as well as navigate in the flood of new information and available services. Along with that, you will understand why the Cloud is interesting and promising for business (plus what fears the apologists of On-Premises data centers have).&lt;/p&gt;

&lt;h2&gt;
  
  
  How to prepare?
&lt;/h2&gt;

&lt;p&gt;I started my preparation with a search for free resources. AWS also gives recommendations on the learning path and provides sample questions (which merely help to understand what an average question looks like). In the end, I went with the following list:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=3hLmDS179YE&amp;amp;t=5547s"&gt;AWS Certified Cloud Practitioner Training 2020&lt;/a&gt; - Full Course (4 hours, free) - an excellent collage of thematic videos with sufficient detail, examples of application, and explanations in lay terms.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.aws.training/Details/Curriculum?id=27076"&gt;AWS Cloud Practitioner Essentials 2nd edition&lt;/a&gt; (6 hours, free) - a standard course by AWS with basic information; helps you to get used to the “AWS language”.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://aws.amazon.com/?nc2=h_lg"&gt;AWS Web page&lt;/a&gt; - a resource for finding up-to-date information; after all, it’s quite useful to thoroughly study the description of a service/product, examples of use, and FAQ.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://d1.awsstatic.com/whitepapers/aws-overview.pdf"&gt;Overview of AWS&lt;/a&gt; (long read) - information about the main services and products to be sure you didn’t miss a thing (check the relevance of the document version at the moment of reading).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When watching videos, it became clear to me that practice on simulators would be a huge advantage and increase the chances of passing the exam at the first attempt. The questions in the test are very convoluted, and the absence/presence of one word affects the meaning a lot and sometimes changes the whole context. I chose a course with six simulators by Udemy (at that time, the price was $12). I was paying close attention when taking these tests - each question was read carefully until I understood it fully.&lt;/p&gt;

&lt;p&gt;What’s convenient about these tests is that, after each simulator is finished, the system gives not just an assessment but also comments on each question and answer option (!), explaining why it is correct/incorrect. The topics of the questions overlapped, but the questions themselves were not repeated. The wording and rendering of the questions are as close to the "combat" ones as possible, so I do recommend this or any similar simulator. But you should not expect that you will come across the same questions in a real exam.&lt;/p&gt;

&lt;p&gt;Below is an approximate list of topics and issues that I would suggest you pay attention to when preparing. The likelihood of meeting a question on these topics is very high.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Products and Services. Examples of their interaction + advantages (well shown in the videos and in simulators).&lt;/li&gt;
&lt;li&gt;Pricing and support plans (links to the corresponding pages are "hardcoded" in this line).&lt;/li&gt;
&lt;li&gt;Responsibilities of the customer and AWS (shared responsibilities and managed services).&lt;/li&gt;
&lt;li&gt;Whitepapers (eg. Well-Architected Framework).&lt;/li&gt;
&lt;li&gt;General notions (AZ, durability, reliability, etc.) and FAQ.&lt;/li&gt;
&lt;li&gt;Abbreviation expansions :)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How about the exam?
&lt;/h2&gt;

&lt;p&gt;I recommend paying attention to the organizational aspects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Registration: create an &lt;a href="https://www.aws.training/certification?src=cert-prep"&gt;AWS account&lt;/a&gt; and make sure the full name there matches the transliteration in your passport/driver’s license (highly important!).&lt;/li&gt;
&lt;li&gt;Time for preparation: no less than 2.5 days of intensive self-study.&lt;/li&gt;
&lt;li&gt;Difficulty: above average (the higher the level of familiarity with the Cloud is, the easier the exam will be).&lt;/li&gt;
&lt;li&gt;Important: logical thinking in situational cases (for example, on the exam you have to “suggest” services and solutions based on data from the “customer”), good English, attention to detail in the wording of questions and answers.&lt;/li&gt;
&lt;li&gt;Format: an online exam* or an offline exam in an authorized training center; 90 minutes for 65 questions; selection of one or more correct answers; the ability to mark questions and return to them later.&lt;/li&gt;
&lt;li&gt;Additional features: If English is not your native language, you can request 30 minutes of extra time in your account settings for any exam. However, note that due to this option, you will only be able to register for the online exam by phone. From my experience, I can say that the given 90 minutes is more than enough (check your speed via simulators).&lt;/li&gt;
&lt;li&gt;Budget: $100 for an exam, paid courses/simulators if desired.&lt;/li&gt;
&lt;li&gt;Certificate validity period: 3 years, then must be renewed.&lt;/li&gt;
&lt;li&gt;Additional benefits: the possibility to participate in additional events, discounts on events and merch, and many others.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;During COVID-19, it is possible to take the exam online, but the requirements are very strict: you must close all third-party programs and tabs, disable all notifications, turn on your web camera; the screen and sound will be recorded. A special manager from the training center will keep an eye on you online, and you are prohibited from leaving the visible area, drinking or eating, talking, using gadgets, or making any notes. The appearance of other people on the screen or in the exam area (for example, the sound of someone walking in the background) or violation of the above-mentioned rules can lead to the cancellation of your participation in the exam without a refund.&lt;/p&gt;

&lt;p&gt;At the start of the exam, you will be asked to take a picture of the room (a reason to do the cleaning if you are going to take it at home) and your ID, as well as show your desk and the absence, for example, of a smartwatch or other devices in your immediate vicinity.&lt;/p&gt;

&lt;p&gt;You should strictly follow these rules and check your computer and network in advance (for example, VPN often causes failures and hence turns your hair prematurely gray).&lt;/p&gt;

&lt;h2&gt;
  
  
  To sum up
&lt;/h2&gt;

&lt;p&gt;The exam is both challenging and interesting. I was motivated by the fact that I would finally systemize my knowledge about AWS and be able to help my customers in choosing services and/or outlining alternatives to the On-Premises approach for them. In addition, &lt;a href="https://andersenlab.com?utm_source=article&amp;amp;utm_medium=dev.to"&gt;Andersen&lt;/a&gt;, where I work as a PM, launched a campaign to promote certifications among employees, and this was an additional trigger.&lt;/p&gt;

&lt;p&gt;If you read questions in a simulator without a dictionary, if you can understand abbreviations, if your score in simulators is &amp;gt; 75-80% at least 3 times in a row (to exclude coincidences), and if you can explain the topic in your own words to some of your colleagues (an auto-test for understanding, not memorizing information), you can be sure you’re ready for the exam.&lt;/p&gt;

&lt;p&gt;Good luck!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Top IDEs in 2021 with Features and Prices</title>
      <dc:creator>Yuri Filatov</dc:creator>
      <pubDate>Tue, 06 Jul 2021 10:29:58 +0000</pubDate>
      <link>https://forem.com/filatovv/top-ides-in-2021-with-features-and-prices-2cn5</link>
      <guid>https://forem.com/filatovv/top-ides-in-2021-with-features-and-prices-2cn5</guid>
      <description>&lt;h2&gt;
  
  
  Which IDE to choose in 2021?
&lt;/h2&gt;

&lt;p&gt;We believe everyone has heard at least once about the integrated development environment called  “Visual Studio,” and we all know that it’s the most popular one. There have been lots of lists of the best IDEs. Such lists are highly popular as they are incredibly useful. However, with every IDE release, these lists should be updated. For example, Xcode is used all over the world, but we’re coming across negative reviews on its design like “there are too many visuals” more and more often. That’s why, having some &lt;a href="https://andersenlab.com/services/custom-software-development?utm_source=article&amp;amp;utm_medium=dev.to"&gt;experience in this area&lt;/a&gt;, we decided to make our own list of the best IDEs in 2021.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;a href="http://visualstudio.microsoft.com"&gt;Visual Studio&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is an IDE by Microsoft that uses its own software development platforms. As far as we know, many people start coding with C/C++ to get a good base, so this IDE is good for both beginners and professionals.&lt;/p&gt;

&lt;h4&gt;
  
  
  Advantages:
&lt;/h4&gt;

&lt;p&gt;-36 programming languages,&lt;br&gt;
-Debugger support and code editor,&lt;br&gt;
-A host of visual designers.&lt;/p&gt;

&lt;h4&gt;
  
  
  Price:
&lt;/h4&gt;

&lt;p&gt;-For individuals: free,&lt;br&gt;
-For businesses: $45/month (Visual Studio Professional, Azure DevOps basic),&lt;br&gt;
-For enterprises: $250/month (Visual Studio Enterprise, Azure DevOps basic + test).&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;a href="https://www.eclipse.org/downloads/"&gt;Eclipse&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Eclipse is written mostly in Java and used primarily for developing Java applications. However, it may also serve to develop applications in other programming languages. It ranks second in terms of popularity and is used by approximately 24% of programmers.&lt;/p&gt;

&lt;h4&gt;
  
  
  Advantages:
&lt;/h4&gt;

&lt;p&gt;-Java development tools,&lt;br&gt;
-Free and open-source software,&lt;br&gt;
-Rich Client Platform.&lt;/p&gt;

&lt;h4&gt;
  
  
  Price:
&lt;/h4&gt;

&lt;p&gt;-Free to download and use.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;a href="https://developer.android.com"&gt;Android Studio&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This IDE is built on JetBrains' IntelliJ IDEA and designed specifically for Android development. Android Studio is developed by a Czech company that calls itself the best IDE provider in 2021.&lt;/p&gt;

&lt;h4&gt;
  
  
  Advantages:
&lt;/h4&gt;

&lt;p&gt;-Android-specific refactoring and quick fixes,&lt;br&gt;
-Gradle-based build support,&lt;br&gt;
-Template-based wizards to create common Android designs and components,&lt;br&gt;
-A rich layout editor that allows users to drag-and-drop UI components with an option to preview layouts on multiple screen configurations.&lt;/p&gt;

&lt;h4&gt;
  
  
  Price:
&lt;/h4&gt;

&lt;p&gt;-Free to download and use.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;a href="https://www.jetbrains.com"&gt;IntelliJ IDEA&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This IDE is written in Java for developing desktop software. The Community and Ultimate editions have different support for various programming languages. It’s the best visually designed IDE and hence quite easy to use.&lt;/p&gt;

&lt;h4&gt;
  
  
  Advantages:
&lt;/h4&gt;

&lt;p&gt;-Coding assistance,&lt;br&gt;
-Built-in tools and integration,&lt;br&gt;
-Plugin ecosystem,&lt;br&gt;
-Software versioning and revision control.&lt;/p&gt;

&lt;h4&gt;
  
  
  Price:
&lt;/h4&gt;

&lt;p&gt;-For students, teachers, those who are learning Java, non-commerce organizations, courses, startups: free,&lt;br&gt;
-For individuals: $149-299 in the first year with a discount each subsequent year,&lt;br&gt;
-For professionals: $499-699 in the first year with a discount each subsequent year.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;a href="https://www.jetbrains.com/phpstorm/"&gt;PhpStorm&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;PhpStorm is a commercial cross-platform IDE that provides an editor with on-the-fly code analysis and error prevention. In our opinion, it is the best IDE for web projects, as it’s built of WebStorm and SQL with PHP. PhpStorm is like an upgraded version of WebStorm.&lt;/p&gt;

&lt;h4&gt;
  
  
  Advantages:
&lt;/h4&gt;

&lt;p&gt;-Rich code editor for PHP,&lt;br&gt;
-Coding Style Support,&lt;br&gt;
-Duplicated Code Detector,&lt;br&gt;
-SQL and database support,&lt;br&gt;
-Easy-to-configure visual debugger.&lt;/p&gt;

&lt;h4&gt;
  
  
  Price:
&lt;/h4&gt;

&lt;p&gt;-For students, teachers, those who are learning Java, non-commerce organizations, courses, startups: free,&lt;br&gt;
-For individuals: $89 in the first year with a discount each subsequent year,&lt;br&gt;
-For professionals: $199 in the first year with a discount each subsequent year.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;a href="https://netbeans.apache.org/download/index.html"&gt;NetBeans&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;NetBeans allows for the development of applications from a set of modular software components called modules. It supports the development of all types of Java applications. NetBeans is used by 7% of programmers and it ranks fourth in terms of popularity.&lt;/p&gt;

&lt;h4&gt;
  
  
  Advantages:
&lt;/h4&gt;

&lt;p&gt;-Modularity,&lt;br&gt;
-GUI design tool,&lt;br&gt;
-In addition to Java development, it can be applied to other languages.&lt;/p&gt;

&lt;h4&gt;
  
  
  Price:
&lt;/h4&gt;

&lt;p&gt;-Free to download and use.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. &lt;a href="https://www.jetbrains.com/webstorm/download/#section=windows"&gt;WebStorm&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This IDE is designed for JavaScript development. According to the reviews (and in our own opinion), it’s the best IDE for JS because of its simple design and rich tools. As for us, its best features are auto-complete and plugins. But like all other IDEs from this company, WebStorm is a bit slow, so it’s not a good option to start with.&lt;/p&gt;

&lt;h4&gt;
  
  
  Advantages:
&lt;/h4&gt;

&lt;p&gt;-Code editor support,&lt;br&gt;
-Co-working,&lt;br&gt;
-JSON Lines,&lt;br&gt;
-Preview.&lt;/p&gt;

&lt;h4&gt;
  
  
  Price:
&lt;/h4&gt;

&lt;p&gt;-For students, teachers, those who are learning Java, non-commerce organizations, courses, startups: free,&lt;br&gt;
-For individuals: $59 in the first year with a discount each subsequent year,&lt;br&gt;
-For professionals: $129 in the first year with a discount each subsequent year.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. &lt;a href="https://www.jetbrains.com/ruby"&gt;RubyMine&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This IDE is designed for Ruby, Ruby on Rails, and web development. Its logo faithfully says that it’s the most intelligent IDE. RubyMine offers effective project management as it has a powerful debugger and perfect customization, which is all you need for a project.&lt;/p&gt;

&lt;h4&gt;
  
  
  Advantages:
&lt;/h4&gt;

&lt;p&gt;-Rich code editor with highlights,&lt;br&gt;
-Fast code analysis, &lt;br&gt;
-Debugger support,&lt;br&gt;
-Test frameworks support.&lt;/p&gt;

&lt;h4&gt;
  
  
  Price:
&lt;/h4&gt;

&lt;p&gt;-For students, teachers, those who are learning Java, non-commerce organizations, courses, startups: free,&lt;br&gt;
-For individuals: $89 in the first year with a discount each subsequent year, &lt;br&gt;
-For professionals: $199 in the first year with a discount each subsequent year.&lt;/p&gt;

&lt;h3&gt;
  
  
  9. &lt;a href="https://developer.apple.com/xcode/"&gt;Xcode&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Xcode is Apple's IDE used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS. Released by Apple, Xcode is the best IDE to develop software for Apple products. &lt;/p&gt;

&lt;h4&gt;
  
  
  Advantages:
&lt;/h4&gt;

&lt;p&gt;-Supports source code for C, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby, Rez, and Swift,&lt;br&gt;
-Fat binary files,&lt;br&gt;
-The GUI tool Instruments,&lt;br&gt;
-Integrates built-in support for source code management.&lt;/p&gt;

&lt;h4&gt;
  
  
  Price:
&lt;/h4&gt;

&lt;p&gt;-If you have an Apple ID: free,&lt;br&gt;
-Apple Developer Program: $99 per year.&lt;/p&gt;

&lt;h3&gt;
  
  
  10. &lt;a href="https://www.arduino.cc/en/software"&gt;Arduino IDE&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This cross-platform application is written using functions from C and C++. The IDE is used for writing and uploading programs to Arduino-compatible boards. It’s not the only IDE for Arduino, but it’s the most trusted one. However, it doesn’t have any clear advantages and it doesn’t support any plugins.&lt;/p&gt;

&lt;h4&gt;
  
  
  Advantages:
&lt;/h4&gt;

&lt;p&gt;-Supports C/C++ languages using special rules of code structuring,&lt;br&gt;
-Supplies a software library from the Wire project,&lt;br&gt;
-Employs AVRDude program. &lt;/p&gt;

&lt;h4&gt;
  
  
  Price:
&lt;/h4&gt;

&lt;p&gt;-Free to download and use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The above list is &lt;a href="https://andersenlab.com/?utm_source=article&amp;amp;utm_medium=dev.to"&gt;our opinion&lt;/a&gt;. Currently we think IntelliJ IDEA and all of its products are those that truly rank first. That’s because today the trends in IDEs are good customization and cross-platform support. &lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>The Key For a Good Start in Programming</title>
      <dc:creator>Yuri Filatov</dc:creator>
      <pubDate>Mon, 28 Jun 2021 11:16:30 +0000</pubDate>
      <link>https://forem.com/filatovv/the-key-for-a-good-start-in-programming-2597</link>
      <guid>https://forem.com/filatovv/the-key-for-a-good-start-in-programming-2597</guid>
      <description>&lt;h1&gt;
  
  
  What programming language to start learning with?
&lt;/h1&gt;

&lt;p&gt;It’s always hard to make the first step, especially when it comes to a new direction in your career - let alone life. Remember: some things can be hard but nothing is impossible. If you think that formal education alone can make you a programmer, forget it. As Elon Musk once said, &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Don't confuse schooling with education. I didn't go to Harvard but the people that work for me did.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this article, we’d like to tell you about the power of self-education, where and how to start programming, and what language to choose.&lt;/p&gt;

&lt;h2&gt;
  
  
  What questions do novice programmers have?
&lt;/h2&gt;

&lt;p&gt;We suspect everyone who starts in the field of programming has the following questions in mind:&lt;/p&gt;

&lt;p&gt;-How to start programming?&lt;br&gt;
-What programming language to choose?&lt;br&gt;
-Is programming going to be easy or hard?&lt;/p&gt;

&lt;p&gt;The key to the first question is self-development and self-education. There is nothing wrong with teachers and courses, but you should keep in mind one thing: a course may give you skills but won’t teach you how to study. So you must learn how to look for information to continuously educate yourself. &lt;/p&gt;

&lt;p&gt;When self-educating, it’s good to have the mindset of a discoverer. We’re sure that, if you are really motivated, this is not the first article on this subject you’re reading. If it is, we recommend you to read as many sources as possible (remember there is more than one correct opinion).&lt;/p&gt;

&lt;p&gt;We all come across some hardships or barriers when we try to study by ourselves. So here is some good news to consider, which will help you make a start:&lt;/p&gt;

&lt;p&gt;-You don't need money to start learning. Nowadays, many things are free on the Internet.&lt;br&gt;
-You don’t even need a computer to start. The foundation you should be building on is your knowledge of maths and logical skills.&lt;br&gt;
-You don't need a teacher to make your first steps. There are lots of popular communities where experts are willing to help you and answer every question in a matter of minutes. Some of these communities are:&lt;br&gt;
-&lt;a href="https://stackoverflow.com"&gt;Stackoverflow&lt;/a&gt;&lt;br&gt;&lt;br&gt;
-&lt;a href="https://github.community"&gt;Github community&lt;/a&gt;&lt;br&gt;
-&lt;a href="https://coderwall.com"&gt;Coderwall&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What language to start programming with?
&lt;/h2&gt;

&lt;p&gt;Programming is not just coding - it’s building algorithms thoroughly. When you make your first steps in programming, any language may seem difficult, but let us tell you a secret: every programming language is just encrypted words. For example, in C++ or Java “a string” means “a line.” You’ve probably realized that programming is closely related to mathematics, so you need to have well-developed mathematics skills.&lt;/p&gt;

&lt;p&gt;It becomes harder when you come across definitions like “a variable,” “massive,” “cycle,” “class,” “structure,” and other software words. You’ll need to understand their meanings to start coding. We’d recommend opening Wikipedia and reading some definitions. If they’re not as difficult to understand as you expected, let's move on! &lt;/p&gt;

&lt;p&gt;There are some languages that advanced programmers neglect. However, they’re enough to start with. Your primary goal is to think logically and solve problems in your mind, not to learn the language. Therefore, the best starting point would be HTML and CSS. Connected with website development, they are built of tags, and each word there is understandable (for example, “a body” means the body of your website). HTML and CSS are the best things to learn if you are:&lt;/p&gt;

&lt;p&gt;-Interested in coding,&lt;br&gt;
-Interested in developing your imagination but not learning the keywords.&lt;/p&gt;

&lt;p&gt;Here are some useful resources for learning HTML:&lt;br&gt;
-&lt;a href="http://html.net"&gt;HTML book&lt;/a&gt;&lt;br&gt;
-&lt;a href="http://htmlbook.ru"&gt;HTML book ru&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An interesting thing is that you don't even need a dedicated app to make your first website in those languages. Just open the Notepad and start writing. &lt;/p&gt;

&lt;p&gt;If you are still reading this, that means you are ready to move on. &lt;/p&gt;

&lt;p&gt;Let us tell you another secret: it’s more important to choose a programming language that corresponds with your skills than to start with the most popular one. Remember, today a language is popular, and tomorrow it may not be.&lt;/p&gt;

&lt;p&gt;All programming languages come from one language that appeared first. Therefore, all of them have a similar structure. However, some of them may be visually easier to understand than others. If you don't have any problems with writing in C&amp;amp;C++ (which are very strict languages and hard to memorize), then you can master any language. &lt;/p&gt;

&lt;p&gt;If you think that C&amp;amp;C++ are things of the past, then you’re mistaken. But if it seems hard to you, try to learn Java first. C++ is faster in some ways but Java is well-optimized visually and hence easier. It’s not hard to find information about Java on the Internet - there are lots of tutorials, books about coding, and forums. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is the most important thing in the beginning?
&lt;/h2&gt;

&lt;p&gt;The most important thing when you start programming is your approach to solving problems. You’ll have to solve tasks like: “There is a frog that jumps between lily pads on the lake. The frog can jump onto only 2 or 3 lily pads. On every lily pad, there are from 1 to 10 flies. Build the best route for the frog so that it can eat as many flies as possible.”&lt;/p&gt;

&lt;p&gt;In the beginning, don't think too much about which language to start programming with. It’s more important for you to learn to imagine the whole situation in your mind to think of the solution. Only then can you start deciding on the methods to apply and the language to choose. We recommend googling some tasks on dynamic programming for beginners and trying to solve them. After several tries, you will see that every language is similar, and choosing an algorithm for solving the issue is the main difficulty. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;To summarize, here are some of our observations for a solid start in programming:&lt;/p&gt;

&lt;p&gt;-You don't need to go to university to learn something as there are lots of books and other sources about programming. Self-education is the key.&lt;br&gt;
-You don't need money to start learning.&lt;br&gt;
-Some things can be hard but nothing is impossible.&lt;br&gt;
-Set a goal and take steps to reach it.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Website lesson 9: real communication</title>
      <dc:creator>Yuri Filatov</dc:creator>
      <pubDate>Tue, 22 Jun 2021 08:22:13 +0000</pubDate>
      <link>https://forem.com/filatovv/website-lesson-9-real-communication-37dm</link>
      <guid>https://forem.com/filatovv/website-lesson-9-real-communication-37dm</guid>
      <description>&lt;p&gt;Welcome back!&lt;/p&gt;

&lt;p&gt;In the &lt;a href="https://dev.to/filatovv/website-lesson-8-imitating-js-communication-23h0"&gt;previous lesson&lt;/a&gt; we ended talking about js basic functions. Hopefully, I gave enough time to get well known with js structure and methods. Remember, Im here not to talk about the meanings, cause it is all free available on the Internet. My goal - to show everything on the example of one simple project.&lt;/p&gt;

&lt;p&gt;We have been imitating communication = not real user. But the visitors of the website need to press buttons for example to call these functions, that's what I call real communication - functions are in a waiting mode. &lt;/p&gt;

&lt;h3&gt;
  
  
  That's why you need
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Functions edit, add, remove post are for authorized persons (of course), that's why you have to make a new page with its layout by using &lt;a href="https://moqups.com"&gt;Moqups&lt;/a&gt;, for example. &lt;/li&gt;
&lt;li&gt;The registration page should have log and pass, the data will be collected in the mass again (as the posts). And again validating function to check the equals for the log and pass.&lt;/li&gt;
&lt;li&gt;Moreover, you need a function to check (if it's a registration), if the log is already used, again checking in the mass (our data).&lt;/li&gt;
&lt;li&gt;Of course, buttons! Button to log or button to registrate (different valisating functions + &lt;em&gt;add data&lt;/em&gt; function same as &lt;em&gt;add post&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;If it's a user's mode, then a list of filters on the page with posts, a button to apply or just by clicking the value of list to call the appropriate function (&lt;em&gt;get post&lt;/em&gt; by filter)&lt;/li&gt;
&lt;li&gt;Then if you feel comfortable working with buttons, you can add more, as an example: buttons for social media, buttons to react&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Connecting js and html file
&lt;/h3&gt;

&lt;p&gt;Why not with css? Css is already connected with html, so it's like a chain of connections.&lt;/p&gt;

&lt;p&gt;Write in the &lt;em&gt;head&lt;/em&gt; part:&lt;br&gt;
&lt;code&gt;&amp;lt;script src="name_of_your_script.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;br&gt;
You can write this way if only your script file is in the same folder with the html one, in another way you have to write its direction.&lt;/p&gt;

&lt;h4&gt;
  
  
  What goes next?
&lt;/h4&gt;

&lt;p&gt;Decide which part of your body is for script (Where do you need a script part?). Then, you just as other tags write its name - &lt;em&gt;scrtipt&lt;/em&gt;. Now it is like a usual tag you work with. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;script&amp;gt; ... &amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  What for do we need a js part in the body part (on the example of my simple project?)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Your posts mustn't be collected in html. Why? Imagine: your site contains permanent posts, you have initialized in html. Then the user clicks to get post by filter and what he gets? Same permanent posts, cause they are in html, not in js + this get post. So we have to make them temporary. That's why they are colleted only in js, not in html, so delete the part in the body, where you posts are collected.&lt;/li&gt;
&lt;li&gt;I want to call script functions, for example, in the part with icons (to react) in the html file so that the user clicks on a &lt;em&gt;heart&lt;/em&gt; and my functions fill this heart with the red color, so as the result we have: the user liked a post.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  JS function to show posts
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; printProduct(data) {
            div_element.innerHTML = "";
            data.forEach((product, ind) =&amp;gt; {
                div_element.innerHTML +=`
        &amp;lt;table&amp;gt;
        &amp;lt;tr&amp;gt;
        &amp;lt;td&amp;gt;
        &amp;lt;img src="6.jpg" width="170px" height="170px"&amp;gt;
        &amp;lt;/td&amp;gt;
        &amp;lt;td&amp;gt;
        &amp;lt;p class="text"&amp;gt;${product.destination}&amp;lt;/p&amp;gt;
        &amp;lt;br /&amp;gt;
        &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;${product.tag}&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;${product.flug}&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;${product.createAt}&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;${product.author}&amp;lt;/li&amp;gt;
        &amp;lt;/td&amp;gt;
        &amp;lt;/tr&amp;gt;
        &amp;lt;/table&amp;gt;
            `
            });
            }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you see it looks like I just moved my html part with showing posts to js. Yes, almost the same, but instead of exact names we have appropriate varibles of our post mass. &lt;/p&gt;

&lt;h4&gt;
  
  
  Did you notice a mistake?
&lt;/h4&gt;

&lt;p&gt;My img is exact, not a variable, so every time I will try to show my posts, they will all have the same image. That's you task - check out how to collect images.&lt;/p&gt;

&lt;p&gt;That was my introduction to real communciation. Try to assign buttons and lists to be clicked by the user. And hide everything that shouldn't be permanent by making same functions as &lt;em&gt;printProduct&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;More information you can find on my website.&lt;br&gt;
Good luck with your job!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Website lesson 8: imitating js communication</title>
      <dc:creator>Yuri Filatov</dc:creator>
      <pubDate>Fri, 18 Jun 2021 05:09:29 +0000</pubDate>
      <link>https://forem.com/filatovv/website-lesson-8-imitating-js-communication-23h0</link>
      <guid>https://forem.com/filatovv/website-lesson-8-imitating-js-communication-23h0</guid>
      <description>&lt;p&gt;Welcome back! &lt;br&gt;
If you are new to js, I really advise you to check all my article about js, starting from &lt;a href="https://dev.to/filatovv/website-lesson-5-communication-base-42om"&gt;"communication base"&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Summing up
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Get post function
&lt;/h3&gt;

&lt;p&gt;Every user should have a function called &lt;em&gt;output all data&lt;/em&gt; or if it is an online shop, you already start from showing everything you have with no filters.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; getPost(id) {
        for (var i = 0; i &amp;lt; posts.length; i++) {
            if (posts[i].id === id) {
                return posts[i];
            }
        }
        throw "No object with " + id + " id";
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  What do we send?
&lt;/h4&gt;

&lt;p&gt;As always we send some information from outside. If we want to show a specific object we need some kind of filter - id.&lt;br&gt;
Then our algorithm says that we have to find this object by checking id equal and we return this object as the result, if true, or we throw a message, if false.&lt;/p&gt;
&lt;h3&gt;
  
  
  Get post by filter
&lt;/h3&gt;

&lt;p&gt;Firstly, we show everything we have. Imagine, we have an online shop for clothes: you don't need every type of clothes, but you are looking for a dress, for example. Then we need a filter to show specific objects.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; getPosts(filterConfig = "Date", skip = 0, top = posts.length) {
            if (filterConfig == "Date") {
                posts.sort(function (a, b) {
                    return new Date(b.createdAt) - new Date(a.createdAt);
                });
                return this.posts.slice(skip, top + skip);
            }
            else if (filterConfig == "summer") {
                var temp = []
                posts.forEach((product, ind) =&amp;gt; {
                    if (product.tag == "summer"){
                        temp.push(product)
                    }
                });
                return temp
            }
            else if (filterConfig == "spring") {
                var temp = []
                posts.forEach((product, ind) =&amp;gt; {
                    if (product.tag == "spring"){
                        temp.push(product)
                    }
                });
                return temp
            }
            else {
                throw "Error. there is no such filter";
            }
        }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We assign &lt;em&gt;skip&lt;/em&gt; as the start position. If the user doesn't change it, we show everything that suits our filter.&lt;br&gt;
Top - the amount of posts to show, that default is the length of our database (everything).&lt;/p&gt;
&lt;h4&gt;
  
  
  Algorithm
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;We check, which filter was enterd by user. &lt;/li&gt;
&lt;li&gt;We find objects that are equal to a filter.&lt;/li&gt;
&lt;li&gt;We return a mass of suitable objects.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Adding all
&lt;/h3&gt;

&lt;p&gt;In the &lt;a href="https://dev.tolink%20to%20lesson%207"&gt;previous lesson&lt;/a&gt; we talked about adding a post (one), but we can make a function for adding many objects (a mass of objects).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;addPost(Object){
       if(this.validatePost(Object)){
           posts.splice(posts.length,0,Object);
           return true;
       }
       else {
           return false;
       }
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Again we send some info from the user - a mass.&lt;/p&gt;

&lt;h3&gt;
  
  
  Edit post
&lt;/h3&gt;

&lt;p&gt;If we realize not only the user, but also the admin, we should have this opportunity for admin.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;editPost(id,post){
        if(this.validatePost(post)){
            this.getPost(id).destination=post.destination;
            this.getPost(id).author=post.author;
            return true;
        }else {
            return false;
        }
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  What do we send?
&lt;/h4&gt;

&lt;p&gt;We send a filter - id, then to find the right object to edit and we send an object to replace the old one.&lt;/p&gt;

&lt;h3&gt;
  
  
  Algorithm
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We find the right object, by checking id equal.&lt;/li&gt;
&lt;li&gt;We check the information of object we want to replace for correction.&lt;/li&gt;
&lt;li&gt;We change our information using our object we sent to.&lt;/li&gt;
&lt;li&gt;As always the result is true or false.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Imitating communication
&lt;/h3&gt;

&lt;p&gt;Let's check, if our functions work correctly by outputting some messages:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log("testing getPost: ")
console.log(a.getPost(3))

console.log("test removePost: ")
console.log(a.removePost("2"))

console.log("output all posts: ")
console.log(a.getPosts("Date"))

console.log(a.getPosts('spring'))
console.log(a.getPosts('summer'))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I guess, here is everything understandable as we already talked about it.&lt;/p&gt;

&lt;p&gt;By the way, I'd like to share my &lt;a href="https://codeshare.io/RbmAKo"&gt;js code&lt;/a&gt; with you. You have to understand that it is not full, cause we have just imitated communication. The next lesson will be dedicated to real communication with the user: connecting html and js.&lt;/p&gt;

&lt;p&gt;More info you can find on my website.&lt;br&gt;
Good luck with your job!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
      <category>programming</category>
    </item>
    <item>
      <title>Website lesson 7: understanding js</title>
      <dc:creator>Yuri Filatov</dc:creator>
      <pubDate>Mon, 14 Jun 2021 06:38:15 +0000</pubDate>
      <link>https://forem.com/filatovv/website-lesson-7-understanding-js-4ph</link>
      <guid>https://forem.com/filatovv/website-lesson-7-understanding-js-4ph</guid>
      <description>&lt;p&gt;Welcome back! If you are a new user, I reall advise to read every previous post, starting from &lt;a href="https://dev.to/filatovv/html-css-is-it-worth-to-start-4d3c"&gt;"HTML and CSS worth it?"&lt;/a&gt;. If you are still reading, it means you are ready to move to harder things.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summing up
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Every element shouldn't be somewhere in the space, but in a structure: mass of structures.&lt;/li&gt;
&lt;li&gt;Every variable name has the most value. If you have to write a line about somebodie's name, then your variable is called "name"&lt;/li&gt;
&lt;li&gt;Every function is kept in a class. Why? To struct our functions too. Like a mother with all her children - they alll belong to her.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  More about js
&lt;/h2&gt;

&lt;p&gt;Hopefully, you already checked the &lt;a href="https://javascript.info"&gt;communities&lt;/a&gt;, I offered&lt;/p&gt;

&lt;h3&gt;
  
  
  Clear function
&lt;/h3&gt;

&lt;p&gt;If you are not a beginner, you already know, that in every language we have constructures and clear functions. Let's realize it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;clear(){
        posts.splice(0,posts.length);
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We define this function as a part of class, so it is visible for every element of out class. &lt;/p&gt;

&lt;h4&gt;
  
  
  What do we sent to the function?
&lt;/h4&gt;

&lt;p&gt;Nothing. We work just inside of our class, we don't need anything outside (user's info) to clear database. &lt;/p&gt;

&lt;p&gt;Template:&lt;br&gt;
&lt;code&gt;"what we delete".splice(from, how much);&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Remove post
&lt;/h3&gt;

&lt;p&gt;What to do, if we want to delete a specific one? Not every, but one with a specific id? The realization is similar to clear: you already know the method to delete smth - splice.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; removePost(id){
        for (var i = 0; i &amp;lt; posts.length; i++) {
            if (posts[i].id === id) {
                return posts.splice(i,1);
            }
        }
        throw "No object with " + id + " id";
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  What do we send?
&lt;/h4&gt;

&lt;p&gt;As the user decides, which element to delete, we need a filter - id. We send id as it is the infromationf from outside. &lt;/p&gt;

&lt;p&gt;Then we check for id equal to find the object with the right id and then we use our method to delete.&lt;/p&gt;

&lt;p&gt;Algorithm:&lt;br&gt;
Chech for the information from outside -&amp;gt; Find the object -&amp;gt; Delete it.&lt;/p&gt;
&lt;h3&gt;
  
  
  Add post
&lt;/h3&gt;

&lt;p&gt;Again you want to add a specific object. First you have to understand, where to add: to the beginning or to the end of your database. Normally, we count from one to ... .Logically, we add to the end.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;addPost(Object){
       if(this.validatePost(Object)){
           posts.splice(posts.length,0,Object);
           return true;
       }
       else {
           return false;
       }
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Algorithm of functions always starts from checking the information from outside. We can't add the object, until the user enters its data and sends to our function. &lt;/p&gt;

&lt;p&gt;Important thing: we check, if all the fields are correct by using our validating function that I described in &lt;a href="https://dev.to/filatovv/website-lesson-6-js-function-realization-27bk"&gt;the previous lesson&lt;/a&gt;. Why? Everybody can make a mistake and put for the &lt;em&gt;name&lt;/em&gt; some numbers instead of string value. &lt;/p&gt;

&lt;p&gt;If yes, we add object and return true.&lt;/p&gt;

&lt;h2&gt;
  
  
  Immitating communication
&lt;/h2&gt;

&lt;p&gt;If we will check the adding function we need some object as it's the user's data. Let's initialize:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let ob={
    id: '5',
    destination: 'England',
    createdAt: new Date(2018, 0, 1, 2, 3, 4, 567),
    author: 'ZaicevAnatoliy',
    tag: "spring",
    flug: 'A-737'
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To work with class during the communication, we also need an object of class:&lt;br&gt;
&lt;code&gt;let a = new Work(posts);&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Testing Add Post
&lt;/h3&gt;

&lt;p&gt;As always to make checking comfortable we output some message.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log("test addPost: ")
console.log(a.addPost(ob))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The second line outputs the result of the &lt;em&gt;addPost&lt;/em&gt; function. Now you see, what for do we need an object of our class - to call its function outside the class. And what do we have in the brackets? That user's data (object) with all required fields to add. &lt;/p&gt;

&lt;h3&gt;
  
  
  Testing Remove Post
&lt;/h3&gt;

&lt;p&gt;The output message + the result of our function&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log("test removePost: ")
console.log(a.removePost("2"))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Consider! My functions aren't full correct. You also have to check, if the id is out of the borders or if the user entered not a numeric value.&lt;/p&gt;

&lt;h3&gt;
  
  
  Testing clear function
&lt;/h3&gt;

&lt;p&gt;Logically, we just call this function, using our object &lt;em&gt;a&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log("test clear: ")
console.log(a.clear())
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you undersand our database will be empty. Then I guess you have a question: FOREVER??&lt;br&gt;
No, you just immitate communication: nothing will be changed after.&lt;/p&gt;

&lt;p&gt;Thanks for appretiation!&lt;br&gt;
In 4 days wi will end up js functions, I will share my full code for it. Don't think that the end is near :) &lt;br&gt;
It is not even the half !&lt;/p&gt;

&lt;p&gt;More info you can find on my website.&lt;br&gt;
Good luck in your job!&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Website lesson 6: js function realization</title>
      <dc:creator>Yuri Filatov</dc:creator>
      <pubDate>Tue, 08 Jun 2021 14:21:05 +0000</pubDate>
      <link>https://forem.com/filatovv/website-lesson-6-js-function-realization-27bk</link>
      <guid>https://forem.com/filatovv/website-lesson-6-js-function-realization-27bk</guid>
      <description>&lt;p&gt;Welcome back!&lt;br&gt;
In the previous lesson we talked a lot about the &lt;a href="https://dev.to/filatovv/website-lesson-5-communication-base-42om"&gt;base of communication&lt;/a&gt;. Your goal is to get known with the structure of js.&lt;/p&gt;

&lt;p&gt;Today we are moving to the real things.&lt;/p&gt;
&lt;h2&gt;
  
  
  Keeping everything in structure
&lt;/h2&gt;

&lt;p&gt;You have your items just placed somewhere in your html file. Now, let's define the types of variables to put your items in some structure.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var posts = [
    {
        id: '1',
        destination: 'China',
        createdAt: new Date(2014, -1, 1, 2, 3, 4, 567),
        author: 'ChingHang',
        tag: "summer",
        flug: 'A-730'
    },
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;id&lt;/em&gt; - order of your element, then to get your item with no filter but with the order.&lt;br&gt;
&lt;em&gt;destination&lt;/em&gt; - appropriate name for the variable that describes destination of flight.&lt;br&gt;
&lt;em&gt;createdAt&lt;/em&gt; - date type to show when was the post made.&lt;br&gt;
&lt;em&gt;tag&lt;/em&gt; - variable will be used then for filter to apply (to search by tags)&lt;/p&gt;

&lt;p&gt;This way you keep your information in as tructure in js file, then to immitate communication. More code for js you can see &lt;a href="https://dev.to/filatovv/js-object-processing-functions-1g29"&gt;in one of my posts&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Functions
&lt;/h2&gt;

&lt;p&gt;You already know, hot to make simple functions. Here for your items there will be not one function, but many (edit, add, remove and so on). So your functions should also have a structure, like you places masses into one structure, so with the functions. For that opportunity we have &lt;strong&gt;classes&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Classes have name and all functions connected to one class. You will ask me, how do we connect out items' structure with this class? Class is a uniques place to keep all functions - like a template for any variable, mas or structure. We don't need to connect them. We will call this functions for our structure, but about it later.&lt;/p&gt;
&lt;h3&gt;
  
  
  Making class
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;class work { ... }&lt;/code&gt;&lt;br&gt;
What every class needs? A constructure - a bilder of object.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;constructor(posts) {
    this._posts=posts;
   }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  What is &lt;em&gt;this&lt;/em&gt; and why do we place dot?
&lt;/h4&gt;

&lt;p&gt;This - marker that we use variables in our class. Like a path: if we don't put &lt;em&gt;this.&lt;/em&gt;, our object don't have path to our class, so it is the object outside the class. Dot is just the separator.&lt;br&gt;
Feel the difference:&lt;br&gt;
&lt;em&gt;this.posts&lt;/em&gt; - variable posts belongs to class (posts from the class, not from the structure, cause it is outside the class)&lt;br&gt;
&lt;em&gt;posts&lt;/em&gt; - outside the class. So we have a structure named &lt;em&gt;posts&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Template of this:&lt;br&gt;
&lt;strong&gt;[path].[object]&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  What is in the brackets?
&lt;/h4&gt;

&lt;p&gt;As always it is something we send to the function (data to work with).&lt;/p&gt;
&lt;h4&gt;
  
  
  Validating object
&lt;/h4&gt;

&lt;p&gt;Object, that you will add in the future can be incorrect: some fieds are empty or incorrect length of name (1000 symbols for example)&lt;/p&gt;

&lt;p&gt;We need a validating function not to catch mistakes in future.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;validatePost(Object){
        return Object.id != null &amp;amp;&amp;amp; Object.destination != null &amp;amp;&amp;amp; Object.destination.length&amp;lt;400
            &amp;amp;&amp;amp; Object.author != null &amp;amp;&amp;amp; Object.createdAt != null &amp;amp;&amp;amp; typeof Object.id === "string" &amp;amp;&amp;amp; typeof Object.destination === "string" &amp;amp;&amp;amp; typeof Object.flug === "string"
            &amp;amp;&amp;amp; typeof Object.author === "string"

    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As always in the brackets is our data to work with. You will ask me, why &lt;em&gt;Object&lt;/em&gt;, but not &lt;em&gt;posts&lt;/em&gt; and moreover &lt;em&gt;posts&lt;/em&gt; is a structure, not an element, where did this Object come from??&lt;/p&gt;

&lt;p&gt;The answer is easy: you can place whatever you want in the brackets (Object or "fkdfjldf" or "hello") even though they are not initialized variables. This data comes from outside and the name in the brackets will be used only in the body in function and then dissapear - it is just inside of the function. You can call the function and send data named &lt;em&gt;post&lt;/em&gt;, but in your brackets it will be &lt;em&gt;object&lt;/em&gt; and it is not a mistake (Imagine in your head that you send this post to object, object works inside and that's all).&lt;/p&gt;

&lt;p&gt;What do we return?&lt;br&gt;
We return a boolean variable (true or false) and we ask our function:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;if the object's id sent to the function not equal to 0&lt;/li&gt;
&lt;li&gt;if its destination isn't empty&lt;/li&gt;
&lt;li&gt;if its author name isn't empty&lt;/li&gt;
&lt;li&gt;if all text variables are less than 400 symbols&lt;/li&gt;
&lt;li&gt;if the type of id, destination and author name is string &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So if the answer is yes for this points, out function gives as true answer.&lt;/p&gt;

&lt;p&gt;More functions we will explain later, cause they are not as understandable as these. Btw, if everything is easy for you, just check the whole my code (a little bit old) and try your best.&lt;/p&gt;
&lt;h3&gt;
  
  
  Communicating
&lt;/h3&gt;

&lt;p&gt;How do we communicate with functions? You already now - we call it using its name and data we will send to.&lt;/p&gt;

&lt;p&gt;But these functions were just nowhere, now we have a structure and a class. How to connect??&lt;/p&gt;

&lt;p&gt;&lt;code&gt;let a = new work(posts);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;let a&lt;/em&gt; - is our variable that now has the type for our class&lt;br&gt;
Like we assign the type for variable - object of the work class. &lt;br&gt;
What is in the brackets? Constructure. &lt;br&gt;
What for? Yes, we can make a variable, name it, but it is not initialized.&lt;/p&gt;

&lt;p&gt;Make some temp object (temporary, the object to add, remove and validate, cause it has to be outside to make sense)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;temp = {
        id: '1',
        destination: 'Griechenland',
        createdAt: new Date(2013, 0, 1, 2, 3, 4, 567),
        author: 'SergeevaAnna',
        flug: 'A-322'
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Assigning the function
&lt;/h4&gt;

&lt;p&gt;Object of class -&amp;gt; name of function (path) -&amp;gt; data:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log("a message that we have tested validatePost: ")
console.log(a.validatePost(temp))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A message is needed then not to forget which answer belongs to which question. Here we output the result of the function. &lt;br&gt;
&lt;em&gt;a&lt;/em&gt; - object&lt;br&gt;
&lt;em&gt;validatePost&lt;/em&gt; - path&lt;br&gt;
&lt;em&gt;temp&lt;/em&gt; - data&lt;/p&gt;

&lt;p&gt;Hopefully, it is still understandable to you!&lt;br&gt;
Next lesson we will move to harder functions, now you have 4 days to try your best, trying to make simple functions but not just somewhere in your js file, but in structures and classes - template.&lt;/p&gt;

&lt;p&gt;More info you can find on my website&lt;br&gt;
Good luck with your job!&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>javascript</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Website lesson 5: communication base</title>
      <dc:creator>Yuri Filatov</dc:creator>
      <pubDate>Fri, 04 Jun 2021 07:39:36 +0000</pubDate>
      <link>https://forem.com/filatovv/website-lesson-5-communication-base-42om</link>
      <guid>https://forem.com/filatovv/website-lesson-5-communication-base-42om</guid>
      <description>&lt;p&gt;If you have done everything right before, then now you have the same website as in your own template.&lt;/p&gt;

&lt;h4&gt;
  
  
  Is work on HTML and CSS ended?
&lt;/h4&gt;

&lt;p&gt;Of course, no. Your code is for no communication.&lt;/p&gt;

&lt;p&gt;Just as an example if you want to make a function that shows the items, you have to understand that there must be some place for your items. Just imagine it in your head: your items aren't just placed, it can be kept in js in some mas and an empty &lt;em&gt;div&lt;/em&gt; can be used to place them - like a rectangle to fill it. &lt;/p&gt;

&lt;h4&gt;
  
  
  Then, what for have you already printed your items?
&lt;/h4&gt;

&lt;p&gt;It is a template and you will use it to know how to print in future: where, how many and so on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Communication base
&lt;/h2&gt;

&lt;p&gt;Maybe, you have a question: if we make a communication, then which tag communicates with user? &lt;br&gt;
Yes, it is not any tag like &lt;em&gt;table&lt;/em&gt; or &lt;em&gt;h1&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;Firstly, ask yourself, how will it look.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A button, that on-click open filters to apply&lt;/li&gt;
&lt;li&gt;Or a button that registrates a new user&lt;/li&gt;
&lt;li&gt;A text area to keep information&lt;/li&gt;
&lt;li&gt;Button to keep your choice&lt;/li&gt;
&lt;li&gt;Button = like (color change and block on this button)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, your template (both css and html) should have these &lt;a href="https://www.w3schools.com/tags/tag_form.asp"&gt;forms&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Moving to JS
&lt;/h3&gt;

&lt;p&gt;JS - is real coding (like we need logic and math skills). &lt;/p&gt;

&lt;p&gt;Firstly we make a goal (as in my template):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I want to apply filters for my items&lt;/li&gt;
&lt;li&gt;I want to print my items with and without filters&lt;/li&gt;
&lt;li&gt;I want to edit my item&lt;/li&gt;
&lt;li&gt;I want to add a new item &lt;/li&gt;
&lt;li&gt;I want to delete one item or delete them all&lt;/li&gt;
&lt;li&gt;I also need a validating function not to catch mistakes&lt;/li&gt;
&lt;li&gt;I want to keep my user's information: name, surname and so on.&lt;/li&gt;
&lt;li&gt;I want to react on posts: like.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then, first step is just to connect your emty js file with the html one. For this we in &lt;em&gt;head&lt;/em&gt; write tag &lt;em&gt;script&lt;/em&gt; and mention the name of js file in src. Now, they are connected.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the structure?
&lt;/h3&gt;

&lt;p&gt;JS is different to others languages. Forget about this hat, you don't need to write any structure for coding. &lt;/p&gt;

&lt;p&gt;What for do we use script?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There we write our functions&lt;/li&gt;
&lt;li&gt;And we can also check our work by js.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don't need to compile, all you have to do is to open then your html file in the browser and check the console (ctrl+shift+c -&amp;gt; console)&lt;/p&gt;

&lt;h3&gt;
  
  
  First step
&lt;/h3&gt;

&lt;p&gt;Check if everything okay, by immitating communication in your js file and check the console in the browser:&lt;br&gt;
&lt;code&gt;console.log("it works")&lt;/code&gt;&lt;br&gt;
(yes, just put it into your file without any introductionary code)&lt;/p&gt;

&lt;h3&gt;
  
  
  Understanding the usage of functions
&lt;/h3&gt;

&lt;p&gt;If you want to write a function that sums 2 nums, so to output the result, what would you do?&lt;br&gt;
just writing definite numbers and sum up them every time... it is a little bit useless. For that we have functions - a general answer to all questions. (Result for every numbers to sum up)&lt;/p&gt;

&lt;p&gt;&lt;code&gt;function sum (a,b) {&lt;br&gt;
    return a + b&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
sum - name of your function&lt;br&gt;
(a,b) - variables that will be sent to the=is function every time it is called&lt;br&gt;
a+b - math solution for the problem, that will be returned.&lt;/p&gt;

&lt;p&gt;Easy? Im pleasant&lt;/p&gt;

&lt;p&gt;So how to see the result? Where is it returned to?&lt;br&gt;
Call the function by using its name and variables or number to be sent.&lt;br&gt;
&lt;code&gt;console.log(sum(12,4));&lt;/code&gt;&lt;br&gt;
We output the result of a function with data - 12 and 4. Check the console, it must be 16.&lt;/p&gt;

&lt;p&gt;If you send other number, you won't catch a mistake, try it. Function - general for every number / variable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Not print, but get
&lt;/h3&gt;

&lt;p&gt;You can feel free to try this functions and output, but how to input?&lt;br&gt;
&lt;code&gt;var name = prompt("What is your name?");&lt;/code&gt;&lt;br&gt;
Var - the sign of variable&lt;br&gt;
name - name :)&lt;/p&gt;

&lt;p&gt;Now your variable &lt;em&gt;name&lt;/em&gt; contains a text. What can you easily &lt;a href="https://www.w3schools.com/js/"&gt;study and try&lt;/a&gt;?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Outputs and inputs (immitating communication with user)&lt;/li&gt;
&lt;li&gt;All that you see in my link as a tutorial.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You have to understand, what are you working with (not to learn every method). Why?&lt;br&gt;
Then when you have a question "How to add a new item?" you have to understand that your items are a structure and you push a new one back, filling all apropriate variables with information and validating it.&lt;/p&gt;

&lt;p&gt;Hopefully, it is all understandable and you will try your best with JS tutorials to know the base.&lt;/p&gt;

&lt;p&gt;Next lesson, we will try real coding.&lt;br&gt;
Good luck in your job!&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>javascript</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Website lesson 4: HTML + CSS</title>
      <dc:creator>Yuri Filatov</dc:creator>
      <pubDate>Mon, 31 May 2021 11:21:20 +0000</pubDate>
      <link>https://forem.com/filatovv/website-lesson-4-html-css-46l8</link>
      <guid>https://forem.com/filatovv/website-lesson-4-html-css-46l8</guid>
      <description>&lt;p&gt;Welcome back!&lt;/p&gt;

&lt;p&gt;Hopefully you tried everything what was mentioned in the previous &lt;a href="https://dev.to/filatovv/website-lesson-3-moving-to-css-45pj"&gt;lesson&lt;/a&gt;, checked CSS libraries and it is easy for you to find any tag and use it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sum up
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Before moving to CSS, fill your website with the content (HTML)&lt;/li&gt;
&lt;li&gt;The hardest thing and the first thing - structure. Assign the right position to every object.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Lifehacks:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The order of objects goes from left to right, from top to bottom. Follow the order.&lt;/li&gt;
&lt;li&gt;If margin doesn't work, try padding. Usually the problem is: you write &lt;em&gt;top&lt;/em&gt;, but you need &lt;em&gt;bottom&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Float to choose the orientation.&lt;/li&gt;
&lt;li&gt;Check the position (x;y) with your template&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conitnue on CSS working
&lt;/h2&gt;

&lt;p&gt;No need to mention, how the tags work. Otherwise what for do I write? Remember, every thing is free available on the Internet. You don't need me or anybody else to learn all tags and where to write them. I would like to mention things needed in your website:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Evry text should have color (use &lt;a href="https://www.google.com/search?client=opera&amp;amp;q=colorpicker&amp;amp;sourceid=opera&amp;amp;ie=UTF-8&amp;amp;oe=UTF-8"&gt;colorpicker&lt;/a&gt;), align and font. Try to avoid bright colors that are not comfortable for eyes. Avoid usual colors, like for example, a lot of websites have black background nowadays. Be creative. Avoid simple fonts (friendly fonts), google for something creative.&lt;/li&gt;
&lt;li&gt;Images. Good optimized images are usually the same size. Or choose two sizes (example: 300x300 and 600x400). Better not to make every image different size&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Hover
&lt;/h3&gt;

&lt;p&gt;Do you like your text or images to be bare?&lt;br&gt;
The answer to this problems is &lt;em&gt;hover&lt;/em&gt;. &lt;/p&gt;

&lt;h4&gt;
  
  
  Initialization
&lt;/h4&gt;

&lt;p&gt;Hover effects&lt;br&gt;
If we have a.&lt;code&gt;&amp;lt;text&amp;gt;&lt;/code&gt; and b.&lt;code&gt;&amp;lt;h1 class="text"&amp;gt;&lt;/code&gt;, then we initialize:&lt;br&gt;
a. &lt;code&gt;text:hover { ... }&lt;/code&gt;&lt;br&gt;
b. &lt;code&gt;.text:hover { ... }&lt;/code&gt;&lt;br&gt;
Learn more about &lt;a href="https://freefrontend.com/css-hover-effects/"&gt;hover opportunities&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Result
&lt;/h4&gt;

&lt;p&gt;Now you add all needed tags for style and add animation to make your website more attractive. If you use images, make a slideshow. To make the links more visible add some text effect. To catch someone's eye on some phrase, add some color change to the text. Make your website look, like you are a full-fledged designer.&lt;/p&gt;

&lt;p&gt;Btw, here is my &lt;a href="https://codeshare.io/2Bz1JO"&gt;CSS code&lt;/a&gt; for home page.&lt;/p&gt;

&lt;p&gt;The next lesson will be dedicated to some base of communication. See you in 4 days.&lt;/p&gt;

&lt;p&gt;Check my website for more information&lt;br&gt;
Good luck in your job!&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
