Noutați

Software Test Automation: A Beginner’s Guide to Getting Started

În lumea rapidă a dezvoltării software-ului, automatizarea testelor a devenit o practică esențială pentru asigurarea calității și eficienței. Automatizând testele, nu doar că economisim timp, dar îmbunătățim și acuratețea, obținând feedback mai rapid. Dacă ești nou în domeniul automatizării testelor și nu știi de unde să începi, acest ghid pentru începători îți va oferi pașii fundamentali pentru a începe călătoria ta în automatizare. Puncte cheie What is Software Test Automation? Automatizarea testelor software se referă la utilizarea unor instrumente software specializate pentru a executa cazuri de testare predefinite pe o aplicație software. Spre deosebire de testarea manuală, unde testerii umani execută manual pașii de testare, testarea automată se bazează pe scripturi pentru a valida funcționalitatea, performanța și securitatea aplicației. Automatizarea joacă un rol crucial în dezvoltarea modernă de software, îmbunătățind viteza, acuratețea și repetabilitatea testării. Este utilizată pe scară largă în metodologiile Agile, DevOps și CI/CD (Integrare Continuă/Implementare Continuă) pentru a asigura o livrare mai rapidă a unui software de înaltă calitate. De exemplu, o aplicație bancară necesită actualizări frecvente pentru a îmbunătăți securitatea și a adăuga funcții noi. În loc să testeze manual funcționalitatea de autentificare, procesele de tranzacție și funcțiile de gestionare a contului de fiecare dată, instrumente de automatizare precum Selenium sau Cypress pot fi utilizate pentru a executa scripturi de testare pe mai multe browsere, economisind timp și efort. Automatizarea testelor îmbunătățește procesul QA, permițând o testare mai extinsă și mai rapidă, îmbunătățind în cele din urmă eficiența și eficacitatea. Automatizarea testelor oferă numeroase beneficii, inclusiv eficiență sporită și erori umane reduse. Accelerează semnificativ procesul de testare și facilitează bucle de feedback mai rapide. Beneficiile automatizării testelor: Benefits of Software Test Automation Automatizarea testelor software aduce cu sine o serie de avantaje semnificative, transformând modul în care echipele de dezvoltare abordează asigurarea calității. Nu mai e ca pe vremuri, când totul se făcea manual și dura o veșnicie. Acum, cu automatizarea, lucrurile merg mult mai repede și mai bine. Hai să vedem despre ce e vorba. Eficiență Sporită Automatizarea testelor permite rularea a mii de cazuri de testare într-un timp mult mai scurt comparativ cu testarea manuală. Gândește-te la o aplicație complexă, cu multe funcționalități. Testarea manuală ar dura zile sau chiar săptămâni, în timp ce automatizarea poate finaliza aceleași teste în câteva ore. Asta înseamnă că echipa ta poate lansa actualizări mai rapid și mai des. De exemplu, într-o aplicație e-commerce, după adăugarea unui nou gateway de plată, testele automate pot valida rapid dacă checkout-ul, rambursările și funcțiile de gestionare a contului funcționează corect. Costuri Reduse pe Termen Lung Deși implementarea automatizării testelor necesită o investiție inițială în instrumente și dezvoltarea scripturilor, beneficiile pe termen lung sunt considerabile. Reduci nevoia de echipe mari de QA, economisești bani prin depistarea bug-urilor devreme în ciclul de dezvoltare și scazi riscul de erori în producție. Un startup fintech, de exemplu, poate folosi automatizarea în aplicația sa de mobile banking pentru a testa integrarea API-urilor, prevenind astfel costisitoarele perioade de nefuncționare cauzate de erori nedetectate. Integrare Perfectă cu Pipeline-urile CI/CD Automatizarea asigură testarea continuă prin rularea cazurilor de testare de fiecare dată când se commit-uiește cod nou. Ajută la detectarea mai rapidă a bug-urilor și la rollback-uri rapide, prevenind astfel ca defectele majore să ajungă în producție. O companie SaaS care lansează actualizări frecvente poate integra instrumente de automatizare […]

Read More

Inteligența Artificială și Automatizarea Testelor Software: Viitorul Asigurării Calității

În ultimele decenii, inteligența artificială a început să joace un rol din ce în ce mai important în domeniul dezvoltării software-ului, mai ales în ceea ce privește testarea. Automatizarea testelor software, combinată cu AI, promite nu doar eficiență, ci și o îmbunătățire semnificativă a calității produselor. Această abordare modernă transformă modul în care echipele de asigurare a calității își desfășoară activitatea, oferind soluții inovatoare pentru provocările tradiționale. În acest articol, vom explora cum funcționează inteligența artificială în testarea software-ului și ce avantaje și provocări aduce aceasta. Puncte Cheie Introducere în Inteligența Artificială și Automatizarea Testelor Software Automatizarea testelor software a evoluat enorm. Acum, nu mai e doar despre a scrie niște scripturi și a spera că rulează bine. E vorba despre a integra inteligența artificială pentru a face procesul mai eficient, mai precis și mai rapid. Inteligența artificială transformă modul în care abordăm asigurarea calității. Dar de ce e asta important? Ei bine, gândește-te la cât de repede se schimbă tehnologia. Aplicațiile devin mai complexe, termenele limită sunt mai strânse, și utilizatorii au așteptări mai mari. Automatizarea simplă nu mai e suficientă. Avem nevoie de ceva care să poată învăța, să se adapteze și să anticipeze problemele înainte ca ele să apară. Aici intervine AI. Ce înseamnă asta în practică? Înseamnă că putem folosi algoritmi de învățare automată pentru a analiza datele de testare, pentru a identifica tipare și pentru a prezice unde sunt cele mai mari șanse să apară erori. Înseamnă că putem optimiza suitele de teste pentru a rula mai repede și mai eficient. Și înseamnă că putem reduce timpul și efortul necesar pentru a asigura calitatea software-ului nostru. Dar nu e totul roz. Implementarea AI în testare vine cu propriile provocări. Avem nevoie de date de calitate pentru a antrena algoritmii, și trebuie să ne asigurăm că echipele de testare sunt pregătite să lucreze cu aceste noi tehnologii. Dar beneficiile potențiale sunt prea mari pentru a fi ignorate. Viitorul testării software automated software testing este strâns legat de AI, și cei care adoptă aceste tehnologii vor avea un avantaj competitiv semnificativ. SoftServe QA Agent automatizează procesele de testare și îmbunătățește eficiența. Importanța Asigurării Calității în Dezvoltarea Software-ului Asigurarea calității (QA) este mai mult decât o simplă etapă la finalul dezvoltării. E o componentă esențială integrată în fiecare fază a ciclului de viață al unui produs software. Gândește-te că e ca o fundație solidă pentru o clădire – fără ea, riscul de probleme crește exponențial. Un produs de calitate înseamnă utilizatori mulțumiți, costuri reduse pe termen lung și o reputație solidă pentru companie. Iată de ce e atât de importantă: Cum Funcționează Inteligența Artificială în Testarea Software-ului Inteligența artificială (IA) transformă modul în care testăm software-ul, aducând eficiență și precizie. Nu mai e vorba doar de a rula teste manual; IA ne ajută să automatizăm, să analizăm și să prezicem problemele înainte ca ele să apară. E ca și cum am avea un super-tester care nu obosește niciodată și care vede lucruri pe care noi, oamenii, le-am putea rata. Hai să vedem cum funcționează mai exact. Algoritmi de Învățare Automată în Testare Algoritmii de învățare automată (ML) sunt esențiali pentru automatizarea inteligentă a testelor. Acești algoritmi pot învăța din datele existente, identificând tipare și anomalii care ar putea indica defecte. De exemplu, un algoritm ML poate fi antrenat […]

Read More

AI Testing Revolution: Supercharge Your Software Automation with LambdaTest’s Unified Platform

Într-o lume în care tehnologia evoluează rapid, testarea automatizată în testarea software devine din ce în ce mai importantă. LambdaTest oferă o platformă unificată care ajută echipele să își îmbunătățească procesele de testare, economisind timp și resurse. În acest articol, vom explora cum LambdaTest poate transforma modul în care realizăm testarea automatizată, abordând funcționalitățile sale cheie și beneficiile pe care le aduce. Idei Principale Automatizarea Testării Software Importanța Testării Automatizate Testarea automatizată a devenit o necesitate, nu doar un lux, în dezvoltarea modernă de software. Gândește-te, înainte, trebuia să verifici manual fiecare funcționalitate după fiecare modificare. Acum, automatizarea ne permite să facem asta mult mai rapid și eficient. Reduce timpul necesar pentru testare și asigură o calitate mai bună a produsului final. E ca și cum ai avea o armată de roboți care verifică totul non-stop. Beneficiile Automatizării în Testare Automatizarea testelor aduce cu sine o mulțime de avantaje. În primul rând, economisește timp și bani. Apoi, reduce riscul de erori umane, care pot apărea în testarea manuală. Mai mult, permite testarea continuă, ceea ce înseamnă că putem detecta problemele mai devreme în ciclul de dezvoltare. E ca și cum ai avea o plasă de siguranță care prinde toate erorile înainte să ajungă la utilizatori. Automatizarea ne ajută să ne concentrăm pe lucrurile importante, cum ar fi dezvoltarea de noi funcționalități. Provocările Testării Manuale Testarea manuală, deși încă importantă în anumite situații, vine cu propriile provocări. Este un proces lent, costisitor și predispus la erori. Imaginează-ți că trebuie să testezi fiecare funcționalitate a unei aplicații complexe de fiecare dată când se face o modificare. Devine rapid obositor și ineficient. În plus, testarea manuală nu poate acoperi toate scenariile posibile, ceea ce poate duce la scăpări. Testarea manuală poate fi o provocare, mai ales în proiectele mari și complexe. LambdaTest: O Platformă Unificată Funcționalități Cheie LambdaTest se prezintă ca o soluție completă, gândită să acopere toate nevoile de testare. Platforma oferă o gamă largă de funcționalități, de la testarea cross-browser până la testarea pe dispozitive mobile, totul într-un singur loc. Mă gândesc că e ca un fel de Swiss Army knife pentru testeri, având toate instrumentele necesare la îndemână. Poți face testare Appium și multe altele. Integrarea cu Alte Instrumente Un aspect important este modul în care LambdaTest se integrează cu alte instrumente pe care echipele le folosesc deja. Nu vrei să schimbi tot fluxul de lucru, nu? Ei bine, LambdaTest pare să înțeleagă asta, oferind integrare cu diverse platforme de CI/CD, instrumente de management al proiectelor și altele. Asta înseamnă că poți continua să folosești instrumentele preferate, dar cu un plus de putere oferit de LambdaTest. Avantajele Utilizării LambdaTest Care sunt avantajele concrete? Ei bine, în primul rând, centralizarea testării într-o singură platformă ar trebui să economisească timp și resurse. Apoi, accesul la o infrastructură scalabilă în cloud înseamnă că nu mai trebuie să-ți bați capul cu configurarea și întreținerea propriilor medii de testare. Și, nu în ultimul rând, LambdaTest oferă execuție rapidă și rapoarte detaliate, ajutând echipele să identifice și să rezolve problemele mai repede. Pare o soluție bună pentru a îmbunătăți calitatea software-ului și a accelera procesul de dezvoltare. Testare Continuă cu LambdaTest Definirea Testării Continue Testarea continuă e un concept care, sincer, sună mai complicat decât e. Practic, în loc să testezi la final, testezi constant, pe […]

Read More

Why LambdaTest is a Game-Changer for Cross-Browser Testing

LambdaTest este o platformă inovatoare care transformă modul în care facem teste de compatibilitate între browsere. Într-o lume în care utilizatorii accesează aplicații web de pe o varietate de dispozitive și browsere, asigurarea că totul funcționează perfect este esențial. Acest articol va explora cum LambdaTest reușește să simplifice acest proces, aducând beneficii semnificative dezvoltatorilor și testerilor. Puncte Cheie Introduction to LambdaTest and Cross-Browser Testing Salutare, pasionați de tehnologie! Astăzi, ne aruncăm într-un subiect esențial pentru orice dezvoltator web modern: testarea cross-browser. Și, mai important, vom explora cum LambdaTest simplifică acest proces complex și îl face mai accesibil ca niciodată. Testarea cross-browser este vitală pentru a ne asigura că aplicațiile web funcționează corect pe toate browserele și dispozitivele. Gândește-te la asta: un site web care arată perfect în Chrome ar putea fi un dezastru total în Firefox sau Safari. Aici intervine testarea cross-browser. LambdaTest este o platformă cloud care oferă o soluție completă pentru testarea cross-browser, permițând dezvoltatorilor să testeze aplicațiile web pe o gamă largă de browsere și sisteme de operare, fără a fi nevoie să configureze infrastructura locală. What is LambdaTest? În esență, [LambdaTest](https://medium.com/front-end-world/25-game-changing-websites-every-developer-must-bookmark-bfbb1399e35f) este o platformă cloud concepută pentru a simplifica testarea cross-browser. Gândește-te la ea ca la un laborator virtual unde poți verifica dacă site-ul tău arată și funcționează corect pe o grămadă de browsere și dispozitive diferite, fără să ai nevoie de o infrastructură complicată. E ca și cum ai avea o armată de calculatoare la dispoziție, gata să testeze orice modificare faci. Prezentare generală a caracteristicilor LambdaTest LambdaTest vine cu o mulțime de funcții interesante. LambdaTest nu e doar un instrument, ci o soluție completă pentru testarea cross-browser. Te ajută să te asiguri că site-ul tău funcționează perfect pentru toți utilizatorii, indiferent de browserul sau dispozitivul pe care îl folosesc. Și asta, în ziua de azi, e esențial. În plus, GitHub Copilot se integrează cu instrumente CI/CD, permițând testarea automată ca parte a conductei de dezvoltare a software-ului. Această integrare asigură că fiecare implementare este testată pe diferite browsere înainte de a fi lansată. The Importance of Cross-Browser Testing În lumea digitală de azi, e vital ca aplicațiile web să funcționeze impecabil pe orice browser. Gândește-te că utilizatorii tăi folosesc Chrome, Firefox, Safari, Edge și multe altele. Fiecare browser interpretează codul diferit, ceea ce poate duce la probleme de afișare, funcționalitate sau performanță. Testarea cross-browser e ca o asigurare că aplicația ta web arată și funcționează corect, indiferent de preferințele utilizatorilor. Provocări în Testarea Cross-Browser Testarea cross-browser nu e întotdeauna simplă. Sunt multe aspecte de luat în considerare: Testarea cross-browser nu e doar despre a face ca site-ul tău să arate bine pe toate browserele. E despre a oferi o experiență consistentă și plăcută pentru toți utilizatorii, indiferent de modul în care accesează site-ul tău. O experiență bună înseamnă clienți mulțumiți, iar clienții mulțumiți revin. Testarea cross-browser este esențială pentru a asigura o experiență de utilizare optimă și pentru a evita pierderi de clienți din cauza problemelor de compatibilitate. Digital.ai a lansat o actualizare Denali pentru platforma DevSecOps, îmbunătățind integrarea modelelor AI personalizate. Ignorarea acestei etape poate duce la frustrare, abandon și, în cele din urmă, la pierderi financiare. Folosind instrumente precum LambdaTest, poți simplifica procesul și te poți asigura că aplicația ta funcționează perfect pentru toți. How LambdaTest Revolutionizes Cross-Browser Testing LambdaTest nu doar […]

Read More

What Is The mt19937 Random Generator In Modern C++?

Random numbers are one of the most important parts of today’s modern programming technologies. They are used in mathematics, physics, in many engineering fields, and in programming such as generating random data for testing, random maps in levels, random trees on a planet – the list is endless. Since C++11, mt19937 (std::mt19937) is implemented as a random number generator. In this post, we explain what mt19937 is and how we can use it. What is a random number and a random number generator in C++? A random number is a number that is randomly chosen in a given range. It is impossible to predict future values based on past or present values and they are uniformly distributed over a defined interval or set. Mersenne prime is a prime number used in mathematics that is a number of the form Mn = 2n − 1 where the n is an integer. The Mersenne Twister is a pseudorandom number generator where the period length is chosen to be a Mersenne Prime. It was developed by Makoto Matsumoto in 1997. Since C++11, the Mersenne Twister mathematical number generator is implemented as a random generator number, it is defined in the header as a std::mersenne_twister_engine that is a random number engine based on Mersenne Twister algorithm. What is the std::mt19937 random number generator in modern C++? In C we use rand(), srand() and in C++ we use std::rand(), std::srand(). While they are added to  to make modern C++ compatible, there are more useful and modern random number generators. These are std::mt19937 and std::mt19937_64. The std::mt1993 is a 32-bit Mersenne Twister by Matsumoto and Nishimura in 1998, and std::mt19937_64 is a 64-bit Mersenne Twister by Matsumoto and Nishimura in 2000. The std::mt19937 is a random number generator defined in the header in C++17 standard and beyond, producing 32-bit pseudo-random numbers by using the Mersenne Twister algorithm with a state size of 19937 bits. This is why it is called mt19937 and there is a 64-bit version called mt19937_64. Both are defined as an instantiation of the mersenne_twister_engine. Now let’s see their definitions. Since C++11, mt19937 is defined as below,   typedef mersenne_twister_engine mt19937;   Since C++11, mt19937_64 is defined as below,   typedef mersenne_twister_engine mt19937_64;   How can we use the random number generator std::mt19937 in modern C++? Simply we can generate modern random number as shown below.   std::mt19937 rnd( std::time(nullptr) );   we can use it like so:   unsigned int r = rnd();   if you want to generate a number in a range you can use modulus operator %.This is how can we generate random number between zero to n, i.e. 0 to 100.   unsigned int r = rnd()%100;   This is how can we generate random number between two numbers, i.e. 50 to 150,   unsigned int r = 50 + rnd()%100;   Is there a simple example to use std::mt19937 in modern C++? Here is a simple example to use std::mt19937.   #include #include #include   int main() { std::mt19937 rnd( std::time(nullptr) );   std::cout

Read More

How To Create A Real App That Runs In The Cloud

Hello developers. Our previous sessions in our Winter Webinars series which showed you how to create a real Android app step by step“, how to create a real iOS app (even if you do not have a mac), how to create a real windows app, create a real Mac app, are extremely popular. It’s great to get positive feedback on the webinar content too. In a previous session I covered how to create apps which work on Linux using RAD Studio 12 and Delphi. Today I went on to cover the various ways we can use RAD Studio with Delphi (or C++ Builder) to create apps which run in the cloud. Each session builds a little on the things we learned in prior webinars and adds to that knowledge. Over the next few weeks, we’ll link things up to the cloud, the web, each other, and even a robot arm. Stick around; we’re going to see that RAD Studio can do pretty much anything you can dream of – and do it without needing to be a super hardcore software developer too. If you want to register, go to: https://lp.embarcadero.com/webinar-registration In this article you can catch the replay of the presentation content and the slides. If you watch on YouTube, please hit the “like” and “subscribe” buttons to make sure you get notifications of all the videos in the Winter Webinar series. Hitting “like” and “subscribe” on YouTube will not add you to any mailing lists from Embarcadero – the only effect is for YouTube to send you a notification the next time we upload a new webinar or start a live broadcast. Where can I see the replay of the “How To Create A Real App That Runs In The Cloud” webinar? Here’s the full replay of the video.   All the video replays are also uploaded to our YouTube channel. You can also find them in the “Learn” section of the RAD Studio IDE Welcome page. The plan is, as time goes on, for me to fill that “Learn” tab with a whole series of videos which take you through every aspect of creating cross-platform and desktop apps with RAD Studio on Windows, macOS, Linux, iOS, and Android. Where can I get the slides for the “How To Create A Real App That Runs In The Cloud” step by step guide? Here are all the slides for “How To Create A Real App That Runs In The Cloud”. Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder. Design. Code. Compile. Deploy. Start Free Trial   Upgrade Today    Free Delphi Community Edition   Free C++Builder Community Edition

Read More

Diffblue Integrates Generative AI-Based Testing Platform With GitLab

Diffblue this week generally made available an integration between its automated unit testing platform for Java and the DevSecOps platform from GitLab. The Diffblue Cover platform makes use of generative artificial intelligence (AI) to automatically create unit tests based on reinforcement learning technologies that don’t rely on LLMs—avoiding their drawbacks of sometimes introducing hallucinations and also requiring human review. Diffblue CEO Mathew Lodge said the integration with the continuous integration capabilities found in the premium and ultimate editions of the GitLab platform would, for example, streamline regression testing in a way that should ultimately improve both application quality and security. Diffblue Cover, for example, can update tests as much as 250 times faster than a human developer can write them manually without developer review. That approach also serves to reduce the level of friction many DevSecOps teams encounter when bottlenecks involving testing processes emerge, noted Lodge. The overall goal is to make it simpler for developers to test as much of their own code as possible before integrating it into a build, he added. Otherwise, developers will get fed up because testing is continuously breaking the build, noted Lodge. Ultimately, instead of having to write unit tests, developers become supervisors of a platform that automatically generates them on their behalf, said Lodge. The job of a developer doesn’t go away, but it does fundamentally change, he added. To achieve that goal, developers need to be able to access a platform that writes the tests and can then also execute them automatically. If it takes too long to create the test, chances are high that most developers won’t run it. On average, writing and evaluating a single unit test can take a developer 10 minutes. Over the course of any project, thousands of tests need to be written, so the amount of time testing takes away from coding is often much greater than most IT leaders fully appreciate. Automating those tests should improve developer productivity as more time is available to focus on writing code rather than testing. That doesn’t necessarily eliminate the need for a dedicated testing team, but it does mean that more tests will be run without slowing down the overall pace of application development. Developers naturally want to be able to test code at the very instant they create it. AI platforms can make that happen by, for example, employing reinforcement learning to write unit regression tests. Most developers are not going to resist assuming more responsibility for testing if the tools to automate that task are more accessible. Instead of merely shifting responsibility for testing left toward developers, DevOps teams need to find ways to streamline the process. Otherwise, testing just becomes one in a series of tasks that are being shifted to developers in ways that many of them are coming to resent. It may take some time before AI is fully integrated into software engineering but it’s clear with each passing day more previously manual tasks are being automated. Among the lowest hanging fruit for applying AI to software engineering are clearly testing processes that, if truth be told, few indeed enjoy conducting.

Read More

SmartBear Acquires Reflect to Gain Generative AI-Based Testing Tool

SmartBear this week revealed it has acquired Reflect, a provider of a no-code testing platform for web applications that leverages generative artificial intelligence to create and execute tests. Madhup Mishra, senior vice president of product marketing at SmartBear, said the platform Reflect created will initially be incorporated into the company’s existing Test Hub platform before Reflect’s generative AI capabilities are added to other platforms. Reflect provides access to a natural language interface to create tests using multiple large language models (LLMs) that it is designed to invoke. It can also understand the intent of a test to understand what elements to test regardless of whether, for example, a button has been moved from one part of a user interface to another, said Mishra. Test step definitions, once approved, can also be automatically executed using scripts generated by the platform. SmartBear has no plans to build its own LLMs, said Mishra. Rather, the company is focusing its efforts on providing the tools and prompt engineering techniques needed to effectively operationalize them, he added. Reflect is the tenth acquisition SmartBear has made as part of an effort to provide lightweight hubs to address testing, the building of application programming interfaces (APIs) and analysis of application performance and user experience. Last year, the company acquired Stoplight to gain API governance capabilities. Rather than building a single integrated platform, the company is focused on providing access to lightweight hubs that are simpler to invoke, deploy and maintain, said Mishra. The overall goal is to meet IT teams where they are versus requiring them to adopt any entirely new monolithic platform that requires organizations to rip and replace every tool they already have in place, he said. There is little doubt at this point that generative AI will have a profound impact on application testing in a way that should ultimately improve the quality of the applications. As the time required to create tests drops, more tests will be run. Today, it’s all too common for tests not to be conducted as thoroughly as they should be simply because either a developer lacked the expertise to create one or, with a delivery deadline looming, they simply ran out of time. Naturally, the rise of generative AI will also change how testing processes are managed. It’s not clear how far left generative AI will push responsibility for testing applications, but as more tests are created and run, they will need to be integrated into DevOps workflows. Of course, testing is only one element of a DevOps workflow that is about to be transformed by generative AI. DevOps teams should already be identifying manual tasks that can be automated using generative AI as part of an effort to further automate workflows that, despite commitments to automation, still require too much time to execute and manage. Once identified, DevOps teams can then get a head start on redefining roles and responsibilities as generative AI is increasingly operationalized across those workflows.

Read More

How To Use void_t Alias Template in C++ 17?

In C++ 17, there is a very useful alias template for metaprogramming that can be used to simplify use of SFINAE. The void_t is a meta-function that is used to map any types ( or types) to type void. In this post, we explain what is void_t, how you can use it in different examples. What is alias template void_t in C++ 17? The void_t is an alias template which is introduced with C++17, it is defined in header and it is a metafunction that is used to map any types (or a sequence of any types) to type void. The main purpose of void_t is to make easy writing of type traits. It is used to solve SFINAE (Substitution Failure Is Not An Error) prior to concepts of C++20 standard. SFINAE rule says that If the deduced type or explicitly specified type for the template parameter fails, the specialization is discarded from the overload set instead of causing an error in compilation. Since C++17, the std::void_t is defined as below.   template using void_t = void;   Now, let’s see how we can use it in template definitions. How to use alias template void_t to check a typename in a template? We can use void_t to if a class has a certain typename using at compile time, here we check if it has ‘type’ typename.   template struct hastype : std::false_type {};   template struct hastype : std::true_type {};   here is a full example about this, here we check ‘typeB‘ typename if it has or not. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28   #include #include   struct stA { typedef int typeA; };   struct stB { typedef int typeB; }; template struct hastype : std::false_type {};   template struct hastype : std::true_type {};   int main() { std::cout

Read More

How To Create A Real Linux App Step By Step Guide

Hello developers. Our previous sessions in our Winter Webinars series which showed you how to create a real Android app step by step“, how to create a real iOS app (even if you do not have a mac), how to create a real windows app, and how to create a real Mac app, are extremely popular. Have you spotted the theme yet? ???? During the previous sessions I showed how to use RAD Studio 12 to create multi-platform apps to target Android, iOS and Windows devices – and in today’s session I covered how to create apps which work on Linux using RAD Studio 12 and Delphi. The session today was completely live, even though I prefer to pre-record some demos to make myself look slicker and more professional! I covered the key parts of setting up your Linux machine, or your WSL instance, and then RAD Studio so you can easily compile Linux apps. Each session builds a little on the things we learned in prior webinars and adds to that knowledge. Over the next few weeks, we’ll link things up to the cloud, the web, each other, and even a robot arm. Stick around; we’re going to see that RAD Studio can do pretty much anything you can dream of – and do it without needing to be a super hardcore software developer too. If you want to register, go to: https://lp.embarcadero.com/webinar-registration In this article you can catch the full replay including the questions and answers. If you watch on YouTube, please hit the “like” and “subscribe” buttons to make sure you get notifications of all the videos in the Winter Webinar series. Hitting “like” and “subscribe” on YouTube will not add you to any mailing lists from Embarcadero – the only effect is for YouTube to send you a notification the next time we upload a new webinar or start a live broadcast. Where can I see the replay of the “How To Create A Real Linux App Step By Step Guide” webinar? Here’s the full replay of the video. All the video replays are also uploaded to our YouTube channel. You can also find them in the “Learn” section of the RAD Studio IDE Welcome page. The plan is, as time goes on, for me to fill that “Learn” tab with a whole series of videos which take you through every aspect of creating cross-platform and desktop apps with RAD Studio on Windows, macOS, Linux, iOS, and Android. Where can I get the slides for the “How To Create A Real Linux App” step by step guide? Here are all the slides for “How To Create A Real Linux App Step By Step Guide”. Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder. Design. Code. Compile. Deploy. Start Free Trial   Upgrade Today    Free Delphi Community Edition   Free C++Builder Community Edition

Read More