When developing functional digital products, especially at the preliminary stages (from MVP to alpha versions) many teams use the «technology first» principle. This means a minimum of user convenience, a maximum of engineering competence. When evaluating the potential of a product, further efforts are already in the direction of creating ergonomic visitor paths, design and more. However, here lies the catch - since not two clients or a prospective investor can evaluate the entire user route, touch it with their hands and make sure that the system works, you can lose both clients and partners.
SEO Tips to Magento 2 Product Pages
Avoid duplicate content
Many online merchants face a common challenge with multiple product variations, leading to duplicate content issues. When similar products have slightly different URLs like "?=sortby" or "?p=2", search engines may view them as duplicates, impacting your website's credibility and search rankings. To tackle this:
Review of mini-book «60 terrible tips for a C++ developer»
I wrote a small e-book about terrible tips for C++ developers. Actually, it describes bad programming practices and explains why it's better to avoid them. However, every chapter of this mini-book starts with a terrible tip — just for fun.
By the way, these tips may seem artificial but believe me, they are based on the real experience. In other words, the described terrible tips occur in developers' lives — that's why it's worth discussing them. First of all, this book will be useful for junior developers. But more skilled C++ developers can also find interesting and useful tips.
Even though it's a mini-book, it clearly does not fit into the Habr format. Too many words. So, I decided to write here the review. Here is the link to find the full version of the mini-book: 60 terrible tips for a C++ developer.
If you still hesitate whether to read it or not, below you will find a list of terrible tips that will be discussed in the mini-book.
View the terrible tips:
On Schnorr identification protocol compatibility with instant digital signature mode
The article describes the interactive Schnorr identification protocol (hereinafter referred to as the Schnorr protocol) and formulates the problem of compatibility of this protocol with the instant digital signature (IDS) mode. This post shows how to modify the Schnorr protocol to provide such compatibility.
Web Content Elements
React Content Elements is a JavaScript library that enhances the development experience by providing an additional layer for creating HTML structures and CSS styles.
APRS. AFSK modulator from Flipper Zero
There is such an interesting data transfer protocol - APRS. A lot has already been told about him on the Internet. There will be no in-depth theoretical material here. This article will describe how to create your own "pocket" AFSK modulator. In the following articles there will be instructions for going on the air and for creating a simple demodulator. Which will allow you to accept APRS packages and display information on the display right on the street. Everything will be implemented for Flipper Zero. If you don't have this gadget yet, then don't worry and try everything on the great and terrible Arduino. It is very interesting to transmit information at a distance "with your own hands".
Spring Data JPA entity enum converter
Faced with situation when had to map STRING VALUE coming from database TO ENUM. The problem happens when value stored in database differs from enum name. And here we need a workaround to make a mapping. I will describe main points on how I was able to realise it.
How to make a robot? What is first
I develop robots, and I'm often asked, "How to make a robot?" and "Where do you find information and what resources do you use?"
If you don't know where to start and want to create your own robot, this article is for you. In it, I will try to explain the process and also share the first steps you should take.
Supercharge Your React Projects with Custom Hooks
In this article, we dive into the world of custom React hooks and explore the incredible potential they hold for supercharging your work projects. With over 20 carefully crafted hooks at your disposal, I personally utilize these hooks in my own work projects, and now I'm excited to share them with you. From enhancing functionality to streamlining workflows, these custom hooks are designed to empower developers and deliver user-friendly experiences. Join us on this journey as we unleash the power of these 20+ hooks and unlock new levels of productivity and innovation in your React projects.
gookit/goutil — released v0.6.10, an extension library of common Go features
gookit/goutil
An extended library of Go's common functionality. Contains: number, string, slice/array, Map, struct, reflection, text, file, error, time and date, test, CLI, command run, system information, formatting, common information acquisition, etc.
LeetCode 2612 (Hard). Minimum Reverse Operations. Swift. BFS. O(n+k). O(n)
LeetCode 2612 (Hard). Minimum Reverse Operations.
The algorithm follows a breadth-first search (BFS) approach to determine the minimum number of reverse operations needed to bring the 1 to each position in the array.
To speed up the algorithm, we mark banned positions with -2 instead of using set lookups. This optimization reduces the constant coefficient and improves the speed of the algorithm, but it may still result in a time limit exceeded (TLE) error.
For each visited position, there are potentially O(k) target positions that can be reached through reverse operations. To avoid the multiplicative cost of iterating over all these potential positions, we update the nextNode2s array. This array initially points forward by 2, but we update it dynamically to point beyond all the target positions considered for each visited position. This optimization helps improve the efficiency of the algorithm and avoids unnecessary computations.
The Role of the Technical Writer in the AI Revolution: Bridging the Gap between Technology and Communication
AI technologies offer unprecedented opportunities for innovation, efficiency, and growth in such industries as advanced machine learning algorithms or intelligent automation systems. However, to harness the power of AI, effective communication becomes paramount.
The growing impact of AI in modern business is undeniable. Organizations leverage AI to automate processes, gain insights from vast amounts of data, personalize customer experiences, and make informed decisions. Yet, the complex nature of AI technology often creates a significant gap between AI capabilities and the understanding of its users.
Here the role of a technical writer becomes crucial. Technical writers act as a bridge between AI technology and its users, ensuring that complex concepts have a clear, concise, and user-friendly manner of speaking. They are the main participants in making AI accessible to a broader audience, facilitating adoption, and maximizing its potential.
Effective communication is essential to reduce the gap between AI technology and its users. While AI systems may be sophisticated and comprehensive, their impact can be weak without proper understanding and utilization. Technical writers contribute to the success of AI implementations by translating complex AI concepts into easily digestible documentation, user manuals, tutorials, and other communication channels.
Furthermore, technical writers understand the importance of tailoring information for different audiences. They communicate with non-technical stakeholders, including executives, decision-makers, and end-users, who may lack extensive technical expertise. Using the AI capabilities, benefits, and potential limitations, technical writers empower these stakeholders to make informed decisions and embrace AI solutions.
AI for Software Business Analysis
Generative AI is creating waves in the way we work, significantly revolutionizing the software development process. AI tools are appearing in various phases of software development, such as design, development, and testing. However, there aren't many tools specifically focused on software business analysis tasks.
But with a little creative thinking, we can put "one-size-fits-all" applications like ChatGPT to good use. It can definitely speed up execution of many typical tasks and free up analysts to focus on the more challenging, strategic aspects of the job.
ChatGPT to Help You Become a 10x Programmer
I believe that every programmer has at least once heard about ChatGPT and its marvelous abilities to process, calculate and create huge amounts of data; if not, go check out this Wikipedia article - https://en.wikipedia.org/wiki/ChatGPT.
Can you imagine that some 50 years ago people could not even believe that there may be something artificial surpassing humans in so many areas? Nowadays, we have this marvel at the distance of a few tabs on a phone screen or a keyboard; however, there is still a sadly large number of people who do not fully—if at all— utilize all the perks of ChatGPT in their lines of work. This is mostly related either to people's reluctance to learn new technologies or the fear of losing coding skills they have previously gained—which is not the case with using ChatGPT properly.
In this article I want to give you some of the most useful uses of ChatGPT for your coding work. Remember, there is nothing shameful in using the AI, since this the development and further implementation of it in our day-to-day life is inevitable, so we should start adapting to it as early as we can to take the full advantage of this "magical" technology. Let's get started.
Apache Kafka and AWS S3: backup and restore
It hasn't been that long since my last cheat sheet was published and this is the day for the new one. This time I got a task to find a solution for backing up Kafka to S3 bucket, following the terms:
Validation WebHook troubleshooting, how low can you go?
I'm Alex Movergan, DevOps team lead at Altenar. I focus on automation in general and on improving troubleshooting skills within my team. In this article, I'll share a captivating tale that revolves around Kubernetes, validation webhooks, kubespray, and Calico.
Join me on this DevOps journey as we explore real-world scenarios unraveling the intricacies of troubleshooting in a Kubernetes environment.
Your own Duolingo without overengineering
Hi, my name is Mikhail Emelyanov, I’m a Python programmer and I would like to show you my pet project — Flywheel, a micro-platform for learning foreign languages, a mixture of Duolingo and Anki, an application that can teach you to properly write in Spanish (or any other language you’re studying). Flywheel’s source code is available on GitHub.
As you may know, generalized knowledge of a foreign language can be broken down into four relatively independent components: reading, writing, listening, and speaking. Unfortunately, training one of these abilities has no direct effect on the other components, so, for example, by developing our reading skills, the effect on our writing skills is quite indirect. Flywheel is a ‘sharpener’ specifically for written Spanish.
If you’ve ever used Duolingo, you should have some idea of the format in which you’ll be studying. The formula is simple: here’s a phrase, translate it into the other language; the app will remember the last time you translated a phrase and how successful you were at it; and depending on the accuracy of your answer, it will determine when you should do the same phrase again. In my opinion, Duolingo and its approach are brilliant. However… There are certain aspects that somewhat spoil the learning experience, and Flywheel was specifically designed to address them.
Agile vs Waterfall by eyes of developer
I have been working in Agile since 2017 in several projects.
And I would like to note here a couple of moments from real experience through the eyes of developer role in project.
Hope it will be helpful for you!
Business Continuity and Operation Resilience on paper vs. for real
Hello, my reading friends!
My previous post (rus) on Habr was about how the Business Continuity Management function started, as well as about its relations with other corporate functions. In fact, it was quite theoretical.
This time, I’d like to tell you about some practical vectors of procedures and tools implementation as regards to Business Continuity Management, or BCM, along with Operational Resilience, or OpRes. Plus some real initiatives that can follow the BCM & OpRes implementation in a company and the associated with it investigation of the corporate landscape and procedures.
Android MapView with clustering and dynamic images in markers
In this article, I will cover basic work with MapView (and MapFragment) markers, learn how to implement marker clustering, i.e. group markers located close to each other, and display dynamic icons in the markers, i.e. load by url and display remote images. Ultimately, we will create such map with clusters and dynamic image loading (in background).