Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

How to create an effective technical architectural diagram?

Categories

Tags cloud miscellaneous cio software-architecture learning programming

An Alibaba engineer shows how you can create effective architectural diagrams. By Ding Yi @Alibaba.

The value of technical communication is not only reflected in the way that applications are developed through commercial products and open-source projects and the way that various business launch processes are accelerated. But, its value is very much also reflected in the experience shared by several different outstanding engineers in improving productivity, optimizing product performance, and promoting the user experience. In a sentence, technical communication is important because it improves our professional capabilities.

The article pays attention to the following:

  • What is an architecture?
  • What is an architectural diagram?
  • What are functions of an architectural diagram?
  • Types of architectural diagrams
    • Scenario view
    • Logical view
    • Physical view
    • Process view
    • Development view
  • What makes for an effective architectural diagram?

… and more. An architecture can be defined as an abstract description of entities in a system and the relationships between them. It involves a series of decision-making processes.

There are many methodologies for depicting a good architectural diagram. This article introduces the C4 method, which however is also constantly evolving. Despite of this, regardless of the drawing methodology, we simply need to consider the intention of the drawing and better communicate it with the audience. We do not have to be unduly restricted by rules in the drawing process. In short, before starting a diagram, ask yourself: Who is it for, what is it of, and how to make it intuitive and understandable. Nice one!

[Read More]

How to handle errors in Swift task groups

Categories

Tags swiftlang app-development ios programming

There is one important topic related to task groups that author will cover, which is “error handling”. By Lee Kah Seng.

As we all know, a task group consists of multiple child tasks that run concurrently. When one of the child tasks encounters an error, how should the task group handle the error? What happens to those child tasks that are still running?

In this article, we will look into 2 most common ways we can use to handle errors in a task group:

  • Throw an error using a throwing task group
  • Returns results of all completed child tasks

You will also learn how to:

  • Define a throwing child task
  • Throw an error using a throwing task group
  • Understanding the behavior of a throwing task group
  • Returning results of all the completed child tasks

We hope this article gives you a good idea of how to handle errors when using a task group. The 2 methods that author has shown you in this article are just 2 of the most basic ways to handle errors in a task group. You can definitely extend the concepts used in these methods to handle a more complex situation that suits your needs. Good read!

[Read More]

Comprehensive guide to understanding customers and making better UX decisions

Categories

Tags ux learning web-development app-development

User research is an integral part of the UX design process. It provides insight into your users’ needs and behaviors, so that you can create better products and experiences for them. By Alexander Radahl.

The importance of conducting thorough user research before designing a product or service is widely recognized, but it’s important to know what types of research will be most helpful for your project. Below author will discuss some top UX research methods and their respective pros and cons, so that you can make the best decisions for your project!

The article then covers following:

  • Different types of UX research methods
  • Market insight
  • Personas
  • Usability testing
  • Creating prototypes for user feedback and more
  • User testing
  • User interviews
  • Surveys
  • Focus groups
  • Contextual inquiry
  • How to conduct user research

… and more. The process will appear differently based on the case, the team, and how you like to work. But using the example above and the tools provided in the last article, you have a head start in how to conduct UX research. Nice one!

[Read More]

What is artificial intelligence and how does the EU plan to regulate it?

Categories

Tags big-data miscellaneous cio startups machine-learning learning

Receiving a film recommendation on your favourite video-on-demand platform, unblocking your phone with your face, using autocorrect, and chatting with a chatbot: all of these are everyday examples of Artificial Intelligence (AI). Despite sounding futuristic, AI is already being used by European citizens daily. Its opportunities can be endless, but there are also risks on the table. By Aida Sanchez Alonso.

“The potential of using AI in beneficial ways is enormous: less pollution, improved medical care, enhanced opportunities, better education and more ways to enable citizens to engage in their society,” said Margrethe Vestager, Europe’s competition commissioner who is also in charge of digital.

The article then reads about:

  • What is Artificial Intelligence and why should we worry?
  • What’s the EU current stance on Artificial Intelligence?
  • Is facial recognition going to be a reality in the European Union?
  • Can the risks of reproducing biases be avoided?
  • And what about overregulating or underregulating?

Between wanting to set the world standard to the risk of overregulation that could prevent technology from developing, the European Union faces a great challenge with AI regulation. Good read!

[Read More]

Coming to grips with lifecycle management in MS Teams

Categories

Tags azure learning cio management miscellaneous

Spontaneity is not the best way to approach your Microsoft Teams deployment. Sufficient planning and strategizing need to be done to prepare for its longevity. Lifecycle management is all about being visionary and efficiently managing your Microsoft Teams deployment long after it has been rolled out. By Michal Pisarek.

The article describes:

  • Lifecycle management in Microsoft Teams: What, why and how?
  • What is the typical lifecycle of a team?
  • Implementing lifecycle management with Microsoft 365 Tools
  • Lifecycle management at the creation stage
  • Lifecycle management during the active stage
  • Lifecycle management for sunsetting teams
  • Microsoft Teams management with orchestry

Getting content into MS Teams and Microsoft 365, in general, is fairly straightforward and there are features within the tools that help you manage it too. But, from a holistic perspective, it is important to think about how and where you are sharing content and collaborating. This is where lifecycle management comes into play, helping you utilize out-of-the-box capabilities or bringing in outside sources to best manage information for long periods of time. To put it simply, lifecycle management is the strategy to manage MS Teams teams for their respective longevity. Good read!

[Read More]

101 machine learning algorithms for data science with cheat sheets

Categories

Tags big-data learning data-science analytics

Your one-stop shop for machine learning algorithms. These 101 algorithms are equipped with cheat sheets, tutorials, and explanations. By Nathan Piccini.

Think of this as the one-stop shop/dictionary/directory for machine learning algorithms. The algorithms have been sorted into 9 groups:

  • Anomaly detection,
  • Association rule learning
  • Classification
  • Clustering
  • Dimensional reduction
  • Ensemble
  • Neural networks
  • Regression
  • Regularization

You will get plenty of links to further resource in this article, such as link to Scikit-learn algorithm cheat sheet or SAS: The machine learning algorithms cheat sheet. Great read!

[Read More]

How WhatsApp scaled to 1 billion users with only 50 engineers

Categories

Tags performance web-development programming app-development open-source

In 2016, WhatsApp reached more than a billion users. They managed to serve this scale with only 50 engineers. By @quastor.org. They had the following load stats: 42 billion messages sent daily, 1.6 billion pictures sent daily, 250 million videos sent daily.

Here’s a dive into the engineering culture and tech stack that made this possible. WhatsApp’s Engineering culture consists of 3 main principles:

  • Keep things small
  • Keep things simple
  • Have a single minded focus on the mission

WhatsApp consciously keeps the engineering staff small to only about 50 engineers. Individual engineering teams are also small, consisting of 1-3 engineers and teams are each given a great deal of autonomy. In terms of servers, WhatsApp prefers to use a smaller number of servers and vertically scale each server to the highest extent possible.

Their goal was previously to have 1 million users for every server (but that’s become more difficult as they’ve added more features to the app and as users are generating more activity on a per-user basis). Read the article in full to learn more details. Excellent read!

[Read More]

What's new in PHP 8.1

Categories

Tags php web-development programming app-development

As with every release, PHP 8.1 adds some nice new features. Keep in mind that this list will grow over the year. By Brent.

The article then goes over these new features in the language:

  • Enums
  • Fibers
  • Performance improvements
  • Array unpacking with string keys
  • in initializers
  • Readonly properties
  • First-class callable syntax
  • Pure intersection types
  • New never type
  • New array_is_list function
  • Final class constants
  • New fsync function
  • Explicit octal integer literal notation

While PHP 8.1 is a minor version, there will be some changes that might technically be a breaking change, and deprecations as well. Let’s discuss them one by one. There is much more info in the article. Good read!

[Read More]

Transitioning from MySQL to MongoDB

Categories

Tags nosql database software mysql devops

This article will not discuss the different types of database systems, like RDBMS and so on. We will, however, focus on two concepts: SQL Databases and NoSQL databases. By @peteradeojo.

Tha article contains information on:

  • NoSQL databases
  • MongoDB
  • Creating/inserting data
  • Retrieving multiple records
  • Selecting one record - by ID and by attribute
  • Updating records
  • Deleting records

MongoDB is the most popular solution for developers looking to benefit from features like scalability and speed. Unlike MySQL, MongoDB returns data as a well-organized, JSON document with helper methods that help to execute more complex queries on the data.

We’ve taken a look at the common operations that can be performed by querying a SQL database and the ways they can be implemented in MongoDB using mongoose. Don’t stop there. There are many other things we could discuss such as implementing the LIKE query by passing a regex as the find condition and implementing JOIN queries with the populate method. You will also get query examples in the article. Good read!

[Read More]

What is Smart Manufacturing?

Categories

Tags cio management iot software miscellaneous

This article explains the smart manufacturing concept through definitions commonly used in industry. Older but still relevant article by Dr. Ananth Seshan.

The common notion about smart manufacturing is that it involves the application of digital technologies, such as the Internet of Things, wireless networking, artificial intelligence (AI), big data analytics, augmented reality, cloud computing, etc. While this may not be factually incorrect, smart manufacturing is not just about implementing digital technologies. The technologies are simply enablers. This article explains the smart manufacturing concept through definitions commonly used in industry.

The article covers these topics:

  • Definition of smart manufacturing
  • What is intelligence?
  • Real-time orchestration
  • Synchronization of physical and digital processes
  • Integration of the entire value chain

The combination of all of the above, enabled by smart technologies such as the Internet, WiFi, bluetooth, AI, augmented reality, simulation, big data, etc., allows continuous optimization of manufacturing performance (such as maximizing productivity and quality while minimizing costs), improvement in the return on assets, and thus a better competitive advantage and increased market share. Good read!

[Read More]