News AggregatorHow to Create an AWS CloudFormation Fargate TemplateAggregated on: 2021-11-03 20:35:49 In the previous post, you learnt how to deploy a basic Dockerized Spring Boot application to AWS Fargate. Wouldn’t it be great if this manual configuration could be provisioned from a plain text file which can be part of your version control system? With a single action, all necessary resources are configured in the right order. In this post, you will learn how to create an AWS CloudFormation template. Enjoy! 1. Introduction It is advised to read the previous post first because in this post, you will execute the identical steps but this time the steps are configured in a CloudFormation template. However, if you already know what AWS Fargate is, it is just fine to skip it and start right away. With CloudFormation, the configuration of your infrastructure can be provisioned easily and the infrastructure can be treated as code. Of course, the provisioning will be easy once you have configured the template correctly. The latter can be quite a challenge, but the AWS documentation and examples will help you along the way. The proof of the pudding is in the eating, so let’s see how the configuration of the previous post, where you deployed a Spring Boot application to AWS Fargate, can be transformed to a CloudFormation template. You will do so step by step because the complete template can be overwhelming at first. View more...Top 8 Recommended Books To Become a Better ProgrammerAggregated on: 2021-11-03 20:35:49 DZone is an ever-growing community of authors from various technical fields having a wide range of skill-sets, sharing their knowledge with the rest of the development community. We asked our DZone Core community members to recommend books they swear helped them up-skill or improvise in their work. We received a list of awesome books that are not only helpful but an interesting read. View more...Keep Your Software Portfolio Up-to-Date With the TIME FrameworkAggregated on: 2021-11-03 19:20:49 As organizations grow, they must periodically revisit their software portfolio to ensure internal operations fully support their customers changing demands. The same goes for any customer-facing applications. IT leaders must ensure that software portfolios continue to deliver value in the most cost-efficient manner possible as older applications tend to become more expensive to maintain. View more...Maximizing Utilization, Ignoring Slack TimeAggregated on: 2021-11-03 18:35:49 Maximizing Utilization as a Relic From the Industrial Management Past There are plenty of failure possibilities with Scrum. Since Scrum is an intentionally incomplete framework with a reasonable yet short “manual,” this effect should not surprise anyone. For example, what if the focus of the organization is on the maximizing utilization of the “workers” of the Scrum teams? What if the organization is still stuck deeply in industrial paradigm thinking, ignoring the benefits of slack time for the creation of value in the field of knowledge work? Join me and delve into the effects of this outdated management principle in 60 seconds. View more...Camel Quarkus With CouchDB ComponentAggregated on: 2021-11-03 16:20:49 CouchDB Before we jump into the coding, let's take some time to understand what's CouchDB. CouchDB is one of what many are calling NoSQL solutions. Specifically, CouchDB is a document-oriented database and within each document, fields are stored as key-value maps. Fields can be either a simple key/value pair, list, or map. Each document that is stored in the database is given a document-level unique identifier (_id) as well as a revision (_rev) number for each change that is made and saved to the database. View more...Enable DevSecOps in Software Development Life CycleAggregated on: 2021-11-03 15:50:49 In this world, where Agile and DevOps are involved in the rapidly changing application development models, organizations need to install security into their DevOps with the best technologies and development. That brings together application development, IT operations, QA testing, under the umbrella of DevOps, with the aim to integrate security into your software development workflow. In this article, We’ll dig into how you can integrate security into your software development using best practices and testing automation. View more...Aggregating REST APIs Calls Using Apache CamelAggregated on: 2021-11-03 15:50:49 What is Apache Camel? As described by the creator itself, Claus Ibsen on Apache Camel in Action, 2nd edition: At the core of the Camel framework is a routing engine—or more precisely, a routing-engine builder. It allows you to define your own routing rules, decide from which sources to accept messages, and determine how to process and send those messages to other destinations. Camel uses an integration language that allows you to define complex routing rules, akin to business processes. As shown in Figure 1.1, Camel forms the glue between disparate systems.One of the fundamental principles of Camel is that it makes no assumptions about the type of data you need to process. This is an important point, because it gives you, the developer, an opportunity to integrate any kind of system, without the need to convert your data to a canonical format. View more...Kappa Architecture is Mainstream Replacing LambdaAggregated on: 2021-11-03 15:50:49 Real-time data beats slow data. That's true for almost every use case. Nevertheless, enterprise architects build new infrastructures with the Lambda architecture that includes separate batch and real-time layers. This blog post explores why a single real-time pipeline, called Kappa architecture, is the better fit. Real-world examples from companies such as Disney, Shopify, and Uber explore the benefits of Kappa but also show how batch processing fits into this discussion positively without the need for Lambda. This post is heavily inspired by Jay Kreps' article "Questioning the Lambda Architecture" from 2014 (!) and maps his thoughts to the real-world situation in 2021. Today, almost every business solution, data storage and analytics provider, and business application leverages event streaming and asynchronous, truly decoupled event-based communication paradigms for data processing. For that reason, many move from Lambda to Kappa architectures. View more...How to Find Broken Images Using Selenium WebDriverAggregated on: 2021-11-03 15:50:49 A web product’s user experience is one of the key elements that help in user acquisition and user retention. Though immense focus should be given to the design and development of new product features, a continuous watch should be kept on the overall user experience. Like 404 pages (or dead links), broken images on a website (or web app) could also irk the end-users. Manual inspection and removal of broken images is not a feasible and scalable approach. Instead of using third-party tools to inspect broken images, you should leverage Selenium automation testing and see how to find broken images using Selenium WebDriver on your website. In this part of the Selenium Tutorial, we look at how to find broken images on websites using Selenium WebDriver. From an end-user’s perspective, even a single broken image on a page could be an experience dampener — a prime reason to find broken images on websites. View more...How to Use Asserts in NUnit Using SeleniumAggregated on: 2021-11-03 15:50:49 When you are working on unit tests, there are scenarios where you wished that the execution should have stopped but alas, the most important part, "The Assertion," was missed. While developing tests using different test frameworks, my fellow developers frequently asked one question: "Should I use an assert or an exception in my test code?" It depends on what the test code should do after a certain condition is met. By the end of this article, you will get in-depth insights about NUnit asserts and how these asserts can be used with C# and Selenium. I will walk you through the Assertions’ basics and when assertions should be used to get started. We will be covering the following constraints (discussed later) used with NUnit assert: View more...SonarQube Analysis With Ginkgo on MacAggregated on: 2021-11-03 01:35:49 Ginkgo is the testing framework of choice for many projects developed in Golang. Here is an example setup for SonarQube project analysis. Prerequisites SonarQube server installation: For the purpose of the tutorial I have a docker image running on my machine on http://localhost:9000. SonarQube project: For the purpose of the tutorial I have created a project with project key com.bdpanajotova.golang-sonar-example and name Golang Sonar Example. Golang project for analysis with Ginkgo tests: Here is the example project I use in GitHub. Here is the documentation for the fast local setup of SonarQube. View more...TiFS: A TiKV-Based, Partition Tolerant, Strictly Consistent File SystemAggregated on: 2021-11-02 23:05:49 TiKV is a distributed key-value storage engine, featuring strong consistency and partition tolerance. It can act either as the storage engine for TiDB or as an independent transactional key-value database. Do you know what else it is capable of? At TiDB Hackathon 2020, our team built a TiKV-based distributed POSIX file system, TiFS, which inherits the powerful features of TiKV and also taps into TiKV's possibilities beyond data storage. View more...You Can’t Reset Your FingerprintAggregated on: 2021-11-02 23:05:49 Although passwords are a long-trusted security technology, the cyber security world has been calling to get rid of the “old faithful authentication method” in favor of technology that doesn’t even rely on typing on passwords for user authentication and seems right out of a sci-fi movie. Many people are rightly skeptical and even fearful of what this might mean for them and their precious information. However, there really is no need to be afraid. At the root of it, passwordless technology is simpler and much more trustworthy than password-based technology, it also helps prevents credential theft and many other cyber threats. Password-based authentication is a user authentication technique that relies on knowledge-based systems, meaning that individuals trying to gain access to information must know of a phrase or word that has been previously set to secure said information. In today’s security systems, knowledge-based systems that use passwords are predominantly used for information security and user authentication. Despite their long history and wide usage, passwords and PINs have a number of shortcomings. View more...How to Make Google's Data Grid Scroll FasterAggregated on: 2021-11-02 22:35:49 Google Search Console can be used to check indexing status and optimize the visibility of websites. You can also check which external websites link to your page, and as I was browsing the "Top linking sites" page I noticed a major scroll lag. This happens when choosing to display a larger dataset (500 rows) instead of the default 10 results. As someone interested in frontend performance, I could not resist diving in to see if I could figure out why. After all, Google is pushing hard on web performance so one would expect them to set a good baseline in their own public-facing apps. View more...Building Express Applications With Doppler and FaunaDBAggregated on: 2021-11-02 21:50:49 Building full-stack Express applications have always involved connecting to a database or external resources that are needed to have functional applications. When connecting to these external resources, we would need a means of verifying our identity before making a successful connection. We use special secret keys or API keys that are specific to our application to verify our identity. These keys should always be kept secret from the public eye, as the web is an open village, or we stand to lose our application to cybersecurity attacks. View more...AWS S3 Access via API Gateway, IaC, and MoreAggregated on: 2021-11-02 21:50:49 If you are currently developing or looking to start developing apps on the AWS serverless stack, I think you will find this article interesting and helpful. Earlier this year I published an article on DZone describing my journey from cloud architecture to cloud reliability engineering. This journey started with a Python Flask POC and ended with a full-fledged AWS serverless application. I also developed a DevOps pipeline with GitHub, CodeBuild, Terraform Enterprise, and an observability pipeline with CloudWatch, PagerDuty, and ServiceNow. View more...PyTorch Lightning Tutorial #1: Getting StartedAggregated on: 2021-11-02 19:20:49 A High-Level Library for High Performance Research Libraries like TensorFlow and PyTorch take care of most of the intricacies of building deep learning models that train and infer fast. Predictably, this leaves machine learning engineers spending most of their time on the next level up in abstraction, running hyperparameter search, validating performance, and versioning models and experiments to keep track of everything. There’s a lot more to deep learning than just gluing some layers together. View more...DevOps Predictions For 2022: Key TrendsAggregated on: 2021-11-02 18:05:49 As enterprises are embarking on the route of digital transformation, DevOps has become more crucial than ever. It has come out as the call for the hour for the current IT firms to fill the gap between the development team and the operations team. Apart from encouraging a collaborative culture, DevOps has fostered rapid and reliable software delivery, improved customer satisfaction, enhanced time-to-market, and much more. Given such services, DevOps practices have become critical for most enterprises and are rising in fame with time. Markets and Markets report says the DevOps market size is likely to climb from $2.90 Billion in 2017 to $ 10.31 Billion by 2023. With the change in the business scenario and the new-edge technology evolving at high speed, DevOps has also grown to suit the changing needs. Let’s take a glance at some of the 2021 rising DevOps trends expected to reshape the business landscape in the coming future. View more...Some Thoughts on Perl Template ProcessingAggregated on: 2021-11-02 16:50:49 Template processors and engines are one of those pieces of software where it seems every developer wants to reinvent the wheel. Goodness knows I did it earlier in my career. Tell me if this sounds familiar: You need to mix data into a document so you start with Perl's string interpolation in "double quotes" or sprintf formats. (Or maybe you investigate formats, but the less said about them the better.) You realize your documents need to display things based on certain conditions, or you want to loop over a list or some other structure. You add these features via keyword parsing and escape characters, thinking it's OK since this is just a small bespoke project. Before you know it you've invented another domain-specific language (DSL) and have to support it on top of the application you were trying to deliver in the first place. Stop. Just stop. Decades of others who have walked this same path have already done this for you. Especially if you're using a web framework like Dancer, Mojolicious, or Catalyst, where the template processor is either built-in or pluggable from CPAN. Even if you're not developing a web application, there are several general-purpose options of various capabilities like Template Toolkit and Template::Mustache. Investigate the alternatives and determine if they have the features, performance, and support you need. If you're sure none of them truly meet your unique requirements, then maybe, maybe consider rolling your own. View more...Tests are for the FutureAggregated on: 2021-11-02 16:20:49 Imagine this: You’ve just written some code for a new feature. You’re wrapping up writing some unit tests. As you’re writing your tests, you begin to have an existential crisis. “Why am I writing these tests?” you ask yourself. “I’ve already manually verified that my code works, and I even had another developer test it out themselves as well. What’s the point?” The answer lies in one crucial realization: Your tests are for the future. View more...What Is Zero Trust Security?Aggregated on: 2021-11-02 15:35:49 Automation has been around for decades in various forms, and it’s only now that we’re starting to see its full potential. Automating the software development lifecycle (SDLC) can significantly improve quality assurance, developer productivity, and reductions in time spent on specific tasks. Companies have started to invest more in security practices throughout their SDLCs to protect their data and prevent malware attacks. Security practices are continuously evolving as the industry changes. There has been a shift from traditional security practices where security was considered to be outside of the development team’s scope, to making security a priority in the SDLC. Adopting a shift-left mentality is on the rise, which means starting with security before the development phase of the SDLC. This has helped companies adopt a more agile approach to handling cybersecurity. View more...The Debugger Checklist – Part IIAggregated on: 2021-11-02 15:05:49 In the Debuggers Checklist Part I, I introduced some of the high-level concepts and reviewed some of the common things you can do. In this part, we'll get down to the process. Again, it's important to stress that this is boiled down and concentrated. Is this thing even working? View more...Deploy Quarkus applications to Kubernetes using a Helm chartAggregated on: 2021-11-02 14:35:49 Serverless functions are driving the fast adoption of DevOps development and deployment practices today. Knative on Kubernetes is one of the most popular serverless platforms to adopt serverless function architectures successfully. But developers must understand how serverless capabilities are specified using a combination of Kubernetes APIs, Knative resources, and function-oriented programming. DevOps teams also need to standardize runtime stacks (that is, application runtime, builder image, deployment configuration, and health check) to execute the functions on Kubernetes. What if you, a developer, could set this up with familiar technology and practice? This article guides you on the way developers can get started with serverless function deployment with the Quarkus Helm chart on Kubernetes. Furthermore, developers can avoid the extra work of developing a function from scratch, optimizing the application, and deploying it to Kubernetes. View more...A Brief Introduction to MySQL TransactionsAggregated on: 2021-11-02 14:35:49 Introduction When managing a database, several operations can execute that may need to be tracked in case of errors. For example, when you want to withdraw money at an ATM, you enter the amount you wish to withdraw, and the system checks the database to determine whether you are allowed to withdraw the requested amount. If so, the system deducts the money from the database and sends a success message to you. However, if there was a power outage, the withdrawal process may fail while in progress. Transactions help us keep track of any modifications made to the database and handle them more accurately. For cases like this, the changes can be rolled back or overwritten. What Is a Transaction? A transaction is a logical work unit in a database that conducts a single or several actions. Transactions can be made up of a single read, write, delete, or update operation or a mix of all actions. View more...Cloud-Native Essentials: Abstracted EndpointsAggregated on: 2021-11-02 10:35:49 Among the most fundamental of distributed computing concepts is the endpoint. We know every piece of software – objects, microservices, applications, you name it – by its inputs and outputs, and we call such points of interaction endpoints. Over the history of distributed computing, endpoints have come in many flavors: sockets, IP addresses, interfaces, Web Services, and ingress, to name a few. Regardless of their nature, other pieces of software must be able to find the appropriate endpoints, connect (or bind) to them, and interact with them. View more...Is Next.js Here to Stay? A Closer Look at JavaScript Development FrameworksAggregated on: 2021-11-02 09:20:49 In the sphere of digital information and how software and scripts are all working together to bring a coherent interface together for consumers of all ages and stages, there is a hidden industry known only to web developers and SEO professionals. The Javascript development frameworks. What Are Javascript Development Frameworks? If you’re reading this you probably don’t need an introduction to Javascript, but for all intents and purposes, we’ll define it quickly. In a nutshell, Javascript frameworks provide the necessary foundation for creating Javascript-based applications. Not only does this save developers a ton of time from having to build Javascript from scratch, but it also means that coders don’t have to go through the entire Javascript learning process and will be able to modify them to suit their needs. Think about them as templates or applications that give developers the power to customize them accordingly. View more...A Real-world Introduction To Event-driven ArchitectureAggregated on: 2021-11-02 08:50:49 What Is an Event? An event indicates a state change: that something has happened. This ‘something’ could be a hardware sensor reading that passes a threshold, or a software event from game logic, or user input such as a keystroke or mouse click. Events are used to signal to interested parties that a state change occurred The World is Event-driven Let's use a real-world analogy to illustrate how events can be handled. Suppose you live in a shared house with a group of other people. You all like cake and one of your housemates, Bob, bakes a delicious chocolate cake every day. Bob works shifts so you can't predict when he is baking. You prefer cake fresh from the oven, but how do you know when to go to the kitchen? View more...What is Domain Testing in Software Testing?Aggregated on: 2021-11-02 08:20:49 Domain testing is the most common software testing technique in which we break a domain into subdomains and then test each subdomain's values. For example, if a website has been given for testing, we will be dividing the website into small parts (subdomain) for the ease of testing. In other words, domain testing is a software testing method in which we select a small number of test cases from an infinite number of test cases and test a software application to see if it meets user requirements. For example, if we have an e-Commerce website, we will check the basic features first, such as adding items to the cart, checking out, and payment processing, and then we will check whether the order was successfully placed or not. View more...How to Start an Infrastructure as Code ProjectAggregated on: 2021-11-01 23:50:48 Infrastructure as Code (IaC) has been a trend for many years. While some standards are being defined today, we continue to hear about new methods or tools to improve and make our lives easier by automating our daily tasks as much as possible. Fortunately or unfortunately, today, we have the choice between multiple automation tools like Ansible, Pulumi, Terraform, etc, each one having its own benefits and disadvantages. Thus, choosing the right tool is not the easiest part. It requires a team collaboration to identify, test, and define the right tool. This collaboration is the key to success, it is important to ensure the engagement of the other teams to the IaC project to properly automate the process of each team. View more...How to Use Active Storage on Rails 6.2Aggregated on: 2021-11-01 23:35:48 Understanding Active Storage in Rails 6.2 Active storage is an inbuilt gem in Rails that developers widely use to handle file uploads. Combined with the encrypted credentials feature in the latest releases of Rails, active storage is a safe and easy method to upload, serve, and analyze files onto cloud-based storage services as well as local storage. To start with, we need to install the active storage gem. This step is followed by declaring attachment associations, uploading attachments, processing attachments, and adding validations. View more...Make Linux Apps for Notion, Mastodon, or Any Web App Using NativefierAggregated on: 2021-11-01 22:50:48 I use Notion and Mastodon every day, and Ubuntu has been my desktop of choice for the last few years. I prefer dedicated apps for my daily drivers so I’ve had to use the browser to access Notion and Mastodon for now. Thankfully I wasn’t the only one who thought Linux faced a dearth of dedicated apps. And someone managed to do something about it. Nativefier takes a URL and wraps it into an Electron app running Chromium under the hood for Windows, Mac, or Linux. And using Nativefier is as simple as that. View more...Top 5 Git Tips and Tricks to Improve Your WorkflowAggregated on: 2021-11-01 22:20:48 Becoming a Git power user is on the bucket list of every developer. Here are five Git tips that will help you level up your workflow and bring you one step closer to Git mastery. Tip #1: Modify the Previous Commit Without Changing the Commit Message You’ve just committed your changes on your local copy with a detailed and thought-through message, but the moment you hit RETURN, you realize you forgot to add that one change that really belongs there. If only there was a way to update the previous commit instead of creating a new one… View more...Inserting Dynamic Data Into Jekyll Static Sites Using Python or BashAggregated on: 2021-11-01 22:20:48 Jekyll, the static site generator, uses the _config.yml for configuration. The configurations are all Jekyll-specific. But we can also define variables with our own content in these files and use them throughout our website. In this article, I’ll highlight some advantages of dynamically creating Jekyll config files. On my local laptop, I use the following command to serve my Jekyll website for testing: View more...Are You Ready for a Leadership Position?Aggregated on: 2021-11-01 21:50:48 I have worked with some excellent managers, people who were not only good at what they did, but also had great leadership potential. Sadly though, these managers didn’t invest in their own growth. They were so busy attending to the daily demands of the management job — putting out fires, resolving production issues, solving for customer escalation, moving from one delivery timeline to another — that they failed to build the skills required to become a great leader someday. Like many managers in their position, they kind of assumed that by doing their job fairly well and staying in it for too long, they will automatically earn the leadership title. And I don’t blame them for this kind of thinking. For years, we have seen leaders rise through the ranks of the corporate ladder who had no business to be in those positions. When you see examples of bad leadership all around you, it’s kind of easy to assume you can be a leader too — after all, you consider yourself better than them. If they can be in those positions, you can be too. If they can jump through a fire hoop, you can jump too. View more...5 Questions to Ask Before Choosing a SIEM Platform in 2021 and BeyondAggregated on: 2021-11-01 21:50:48 You've probably never heard any company tout the fact that theirs is a "legacy solution." Of course not. The term legacy carries a negative connotation — it's the opposite of "new and improved" in the language of marketers. But, in reality, some solutions indeed are legacy, and others represent the next generation of technology. Both next-gen and legacy are overused terms that have no consistently precise meaning. Marketing folks can use them however they choose. So how do you determine which SIEM platforms are deserving of either the legacy or next-gen moniker? View more...Cloud Metrics: A Tool to Measure Success of Cloud AdoptionAggregated on: 2021-11-01 21:20:48 Introduction As organizations are becoming bigger and more complex, it is becoming difficult to meet the business expectations and alignment of business and IT. Measuring the performance and progress of organizations, cloud adoption gives the cloud team an opportunity to identify areas where they need to focus more in order to ensure that the cloud center of excellence (CCoE) is functioning properly and delivering the business value. Today, businesses are adopting the cloud as part of the transformation journey to improve business agility and customer relationships while delivering operational efficiencies. However, most organizations have no mechanism to measure the effectiveness of cloud adoption. Also, there exists very little guidance on the measurement of cloud adoption effectiveness within the organization. Most organizations focus on the definition, completeness of the cloud adoption, and maturity of the cloud development processes rather than the effectiveness of cloud adoption measurement. View more...AWS CloudWatch + yCrash = Monitoring + RCAAggregated on: 2021-11-01 20:50:48 We had an outage in our online application GCeasy on Monday morning (PST) Oct 11, 2021. When customers uploaded their Garbage Collection logs for analysis, the application was returning an HTTP 504 error. HTTP 504 status code indicates that transactions are timing out. In this post, we would like to document our journey to identify the root cause of the problem. Application Stack Here are the primary components of the technology stack of the application: View more...Build Live Video Mobile Apps With FlutterAggregated on: 2021-11-01 20:20:48 Many cameras can stream video using Motion JPEG. This is a stream of JPEG images that can be displayed in sequence to form a video. Many IP cameras use a GET HTTP request to an IP address. The camera I am using in this example is a RICOH THETA 360° camera that requires a POST command. More information on how this particular camera handles MotionJPEG is available in the community. Regardless of whether you use an HTTP GET or a POST request to start the motionJPEG stream, the processing is the same. Motion JPEG Resolution and Framerate Motion JPEG sends a stream of JPEG images at a specified resolution and framerate. Changing the resolution and framerate affects both the data transmission requirements and the latency. View more...What Is FlutterFlow? Build Flutter and Firebase Apps VisuallyAggregated on: 2021-11-01 18:50:48 It is a tool that allows you to build mobile apps without writing any code. FlutterFlow offers a simple drag-and-drop interface that makes building all sorts of apps for iOS and Android easy. Besides, users need to be able to create their content, and for that, it also exports the generated flutter code. You can even switch from FlutterFlow to a GitHub repository! View more...What Is the Difference Between Git and GitHub?Aggregated on: 2021-11-01 18:50:48 Do you think GitHub is your source control? Can you install Git and GitHub on your machine? If you are looking for answers to these questions, you are in the right place. In this article, you will learn the core concepts about Git and GitHub, how they are different, and their similarities. View more...The UX Files: AccessibilityAggregated on: 2021-11-01 17:05:48 Our topic focuses on a very important principle that helps break critical usability barriers, making software more sensible and inclusive. Yet often it gets overlooked. Sit back as we open the file and unravel the mysteries on: Accessibility. #include <all_users> An accessible user interface provides usability for people who interact with software differently, be it by preference or impairment. There are users that prefer to use keyboard-based navigation because they find it optimal. On the other hand, there are users that, due to certain conditions, find it hard to properly control a pointing device. View more...Turing Machine: Prototype of Programming Language by Alan Turing, the Father of IT EraAggregated on: 2021-11-01 15:05:48 Programming Language Roots Nowadays programming languages are recognized as something ordinary, which does not come as a surprise. But in general, this technology is relatively young and appeared about 50 years ago. The first abstract idea of a programming language was introduced in mathematics. There are many related notions, such as a state machine, computer algorithm, and combinational logic, that have been introduced in mathematics and after defining the notion of the Turing machine. Founder of IT Era: Alan Turing Alan Turing, the Father of computer science, invented the Turing machine in 1936. Alan Turing is a legendary person who anticipated the IT era and became its founder. He is also known as a person who cracked the Enigma code and brought significant value to the second World War victory. His prediction that programming languages will be a part of normal life before the year 2000 was unthinkable during the years of his life. View more...Agile's Creative Adaptation Can Be ExhaustingAggregated on: 2021-11-01 08:05:48 Image used under license from Freestock.com No product of our human intellect, however ingenious, is immune to criticism. Especially if it’s ubiquitous, it will meet with disapproval somewhere. The way we apply Agile principles is a hotly debated topic, whereas the community generally stands by the original Agile Manifesto. Is it therefore a question of not doing things right, or might we not be doing the right thing? After all, large-scale projects still founder and software quality has not improved by leaps and bounds since 2001. View more...How to Perform a NestJS TypeORM Transaction Using QueryRunner?Aggregated on: 2021-11-01 00:50:48 In this post, we will look at how to perform a NestJS TypeORM Transaction using the TypeORM QueryRunner class. This is also the recommended way of handling transactions in NestJS. If you are new to using TypeORM with NestJS, refer to this detailed post about NestJS TypeORM Integration. View more...The Challenge of Economic PrioritizationAggregated on: 2021-10-31 02:20:47 On the surface, the foundations of job sequencing in considering the Weighted Shortest Job First (WSJF) prioritization schema seem logical. Do the smallest job with the greatest cost of delay first to deliver the greatest economic benefit. Though, in practice, it can be much more challenging. To survive and thrive in the post-digital economy, organizations need to change how they produce products, interact with customers, and define and prioritize work. To succeed in each of these areas requires a significant shift in organizational behavior, including how leaders interact with their peers. But, how did we get here? View more...Hazelcast + Kibana: Best Buddies for Exploring and Visualizing DataAggregated on: 2021-10-31 01:35:47 A lot, if not all, of data science projects, require some data visualization front-end to display the results for humans to analyze. Python seems to boast the most potent libraries, but do not lose hope if you're a Java developer (or if you're proficient in another language as well). In this post, I will describe how you can benefit from such a data visualization front-end without writing a single line of code. The Use Case: Changes From Wikipedia I infer that you are already familiar with Wikipedia. If you are not, Wikipedia is an online encyclopedia curated by the community. In their own words: View more...SRE vs. SWE: Similarities and DifferencesAggregated on: 2021-10-31 01:05:47 SRE and SWE: These acronyms are only a letter apart, and they refer to similar roles within the realm of software development and management. However, SREs and SWEs are distinct types of jobs, even if the tools and skill sets associated with them overlap to a certain degree. What is an SRE, what is an SWE, and how are SRE and SWE roles similar and different? Keep reading to find out. View more...Analyzing Scans in PostgreSQLAggregated on: 2021-10-31 00:35:47 Introduction and Data Setup Before we dive in, it is vital to understand the basic elementary blocks of PostgreSQL query plans. This has been covered in a separate blog post, and I highly encourage readers to go through it first. There are several node types in PostgreSQL query plans, View more...Is Monolith Dead?Aggregated on: 2021-10-30 20:50:47 Monolith architecture has been very successful in shaping the software world the way we see it today. However, the last few years have seen a sharp decline in its adoption, especially with the advent of Microservices. The popularity of microservices was caused by the need for scalability and changeability which in turn is caused by the penetration of IT in almost every entity, animate or inanimate. Modern applications see no boundary when it comes to scaling and these applications are fond of change and this is where Monolith doesn’t fit at all. Microservices, at least in theory, is “The Silver Bullet” that will solve all the problems and will serve humankind till eternity, but it doesn’t happen. Microservices bring lots of challenges that were nonexistent earlier. Still, what it does, it does it beautifully and efficiently and most importantly serves the purpose. View more...Dynamic Styling in Vue.jsAggregated on: 2021-10-30 19:50:47 When I started using Vue.js as a front-end framework I immediately enjoyed the easy way I can set up and manage my components. Using single file components let me focus on all aspects regarding the way I build them: I simply need to put 3 tags inside a .vue file and I can start shaping both the visual aspect and all the logic behind the component itself. Talking about styling, the first thing that the official doc tells you is how to style a component: simply insert a style tag (usually at the end of the file) and you're done. But when you move on and start to build complex interfaces, you immediately need to perform styling that goes beyond the simple composition of CSS classes. So, during my journey, I discovered several ways to perform dynamic styling, and this article aims to be a short reference for people that come up at first with this need.In order to show you the different techniques, I'll use a super-simple button component that must use a specific background color value if a boolean prop is true (ok maybe is too simple, but so you'll grasp the concepts quickly).Let's start with the component code: View more... |
|
|