News AggregatorDay 4 of 30 - Ruby Coding Challenge - Prime Algorithm RecursivelyAggregated on: 2020-06-16 12:30:03 Hey! Day 4 of 30: Ruby Coding Challenge number 4. This is the post version of the Youtube video. View more...Spring Transaction Propagation in a NutshellAggregated on: 2020-06-16 12:30:03 Spring allows you to control the behavior of logical and physical transactions via transaction propagation mechanisms. There are seven types of transaction propagation mechanisms that you can set in a Spring application via org.springframework.transaction.annotation.Propagation. By default, the only exceptions that cause a transaction to roll back are the unchecked exceptions (like RuntimeException). Nevertheless, you can control this aspect via the noRollbackFor, noRollbackForClassName, rollbackFor, and rollbackForClassName elements of @Transactional. View more...Spring Boot Exception Handling Using the ControllerAdvice AnnotationAggregated on: 2020-06-16 12:30:03 In the video below, we take a closer look at Spring Boot exception handling using the ControllerAdvice annotation. Let's get started! View more...Hazelcast Mancenter: Manage Your CacheAggregated on: 2020-06-16 12:30:03 In my last article, Hazelcast Setup using Java, we learned about how to set up the Hazelcast cluster and client using Spring Boot (Java). Continuing from there today, we will learn about the Hazelcast Management Center. This tool helps us: To monitor caches. To take thread dumps. To update maps. To check maps structure. To update maps configurations. View more...How Backend Developers Impact UX: Actionable InsightsAggregated on: 2020-06-16 12:30:02 There are many languages and technologies in the arsenal of both the front-end and back-end. A fierce debate is ongoing about their relevance and convenience. But the truth, as always, is somewhere nearby. User Experience Design UX is what experience and impression the user gets from working with your interface. Does he/she manage to achieve their goal? How easy or difficult is it to do? The main goal of UX design is an improved experience of interacting with the product so that users find additional value in it. View more...Optional In JavaAggregated on: 2020-06-16 11:20:02 The introduction of the Optional class was a major improvement in the design of the Java language, but this improvement has been controversial. Prior the Optional class, many developers used either null or exceptions to denote when a desired value was not present; using the Optional class, however, allows us to explicitly state when a value may or may not be present. Despite this improvement, the Optional class can be applied inappropriately and cause more harm than good. In this article, we will look at the fundamentals of the Optional class, including: View more...Cloud-native development - A deployment blueprintAggregated on: 2020-06-16 10:10:02 The previous articles were introducing the foundations of a blueprint for cloud-native development, exploring a logical diagram, and diving into the first use cases with cloud-native development on local and remote containers. In this article we're continuing on with example use cases within the architectural blueprint. Descriptions are provided to guide you with aligning the landscape your organization works with every day. View more...Your First Java RDD With Apache SparkAggregated on: 2020-06-16 07:50:03 Apache Spark is an amazingly powerful parallel execution interface for processing big data including mining, crunching, analyzing and representation. If you want to know more about the features and ecosystem of this framework checkout the official docs, for now I'm going to assume you're already sold and want to get started immediately. Maven Project Start a new Maven project with your favorite IDE or from the command line. You must have Java 8 installed on your operating system. Spark does not currently support newer versions of Java but it is awesome, trust me. When that is done, here is how you want your pom.xml file to look: View more...Software Development Best Practices Checklist: 5 Tips for BeginnersAggregated on: 2020-06-16 07:50:03 No matter how high your aspirations, you need someone to guide you through the initial steps of your career. For developers who have just started taking up real projects, we have prepared a checklist of best programming practices recommended by software development industry experts. Whether you work independently or are part of a proper bespoke software development company, these tips will help you keep your work simple and hasslefree so you can enjoy doing what you do. View more...Looking for Exceptions and Errors in Thread DumpsAggregated on: 2020-06-16 06:40:03 Thread dumps are vital artifacts to troubleshoot/debug production problems. In the past we have discussed several effective thread dump troubleshooting patterns like: traffic jam, treadmill, RSI, and all roads lead to rome. In this article we would like to introduce one more thread dump troubleshooting pattern. There are 8 different options to capture thread dumps. You can use the option that is convenient to you. View more...An Introduction to RSocketAggregated on: 2020-06-16 06:40:02 RSocket is a new communication protocol that promises to solve the issues we have with HTTP, and together with that, it might also simplify the way we design and build distributed systems and microservices. I will come back to that last statement in a later blog post. Introduction This blog is the first in a series that covers RSocket, a new reactive communication protocol. I first read about RSocket in late 2019, and my first thought was that this protocol could revolutionize the way we build distributed systems and microservices. Since the Spring team at Pivotal has embraced it, I am sure that it is here to stay. The specification has not yet reached 1.0, but the Spring Framework includes the Java implementation since version 5.2. I recommend the blogs my colleague Anna has written on the subject if you are new to reactive programming. View more...A Simple Introduction to Apache CamelAggregated on: 2020-06-16 05:30:06 A "Stable, Consistent Architecture" is a myth. It can never be achieved. Over the years, each of us has come to accept this fact, and with a microservices architecture, it is a lot easier to live with this fact. But, that does pose a lot of other issues that we need to look at. An important hurdle in this journey is that of application integration. A core tenet of the microservice architecture is that any interaction or integration between systems should be based on globally accepted standards rather than a mutually accepted protocol. If we build a system based on a protocol that is based on a simple mutual agreement between two developers, it can never work beyond those two developers. To enable a generic plug and play interface, the communication has to be based on globally accepted standards. View more...Introduction to Salesforce DX With Salesforce CLI and DevHubAggregated on: 2020-06-16 05:30:05 Introduction Salesforce Developer Experience (DX) is the continuous development environment to manage the Lightning Applications. In this paper, the Environment setup for DevHub, Salesforce-CLI, and Visual Code is done, and a simple lightning component is created and the process of pulling and pushing from scratch org to IDE and vice versa is done. Environment Setup Dev Hub setup Step-1: login into the Salesforce View more...ESB Logging (Part 2)Aggregated on: 2020-06-16 05:30:05 Introduction In my earlier article ESB Logging (Part 1) I have discussed ESB logging functionality at a high level. In this second part, I am going to describe some techniques that can be adopted to implement this functionality. Different techniques and technical choices can be applied at each level of the following generic logging architecture shown below: View more...XUnit Testing Tutorial: Environment Setup For Selenium TestingAggregated on: 2020-06-16 05:30:05 xUnit.net (also referred to as xUnit) framework is a popular open-source unit testing framework for the .Net platform. The framework is built with a community focus. Since there is a focus on the community, it is easier to expand upon than other popular Selenium test automation frameworks. As xUnit is written by the creators of the NUnit framework, you would find a lot of similarities between the two frameworks. The intention of creating a new unit testing framework was to build a much better framework from ground-up. View more...Agile and Lean Six Sigma: Comparison and AlignmentAggregated on: 2020-06-16 05:30:05 Agile works towards managing projects in an improved manner and Lean Six Sigma focuses on improving processes. If one follows both the methodologies to word, they may pull one in entirely different directions. However, once you dive deep into the two frameworks, you can find a significant level of alignment between the two. Each of the two contributes significantly to business. Still, they might be combined to deliver even better results in terms of team collaboration, project speed-to-market, quality, and customer satisfaction. View more...Deploy Friday: E09 Spring Framework - Java in FocusAggregated on: 2020-06-16 05:30:05 A Question and Answer session with guests: Josh Long. Loiane Groner. Otavio Santana. Robert Douglass. Spring Framework is by far the most popular framework for writing Java applications. Why is Spring so dominant, and how will it hold its ground against newer frameworks? We'll ask our guests those and other questions on this week's Deploy Friday. View more...Windows Apps GUI Test Automation Using PyWinAutoAggregated on: 2020-06-16 05:30:04 Overview In this article, we will understand how to create test automation script for Windows application using simple Python Scripting. We will walk through a scenario of automating a desktop application using PyWinAuto. Scenario Amy is an automation tester working XYZ project. Amy has knowledge in basic python scripting and frameworks. Amy is looking for opensource tool based on python to automate desktop applications. View more...Site Reliability Engineering (SRE) 101 With DevOps vs SREAggregated on: 2020-06-16 05:30:04 Consider the Scenario Below An Independent Software Provider (ISV) developed a financial application for a global investment firm that serves global conglomerates, leading central banks, asset managers, broking firms, and governmental bodies. The development strategy for the application encompassed a thought through DevOps plan with cutting-edge agile tools. This has ensured zero downtime deployment at maximum productivity. The app now handles financial transactions in real-time at an enormous scale, while safeguarding sensitive customer data and facilitating uninterrupted workflow. One unfortunate day, the application crashed, and this investment firm suffered a severe backlash (monetarily and morally) from its customers. View more...Optimize Ghost Blog Performance Including Rewriting Image Domains to a CDNAggregated on: 2020-06-16 05:30:04 The Ghost blogging platform offers a lean and minimalist experience. And that's why we love it. But unfortunately, sometimes, it can be too lean for our requirements. Web performance has become more important and relevant than ever, especially since Google started including it as a parameter in its SEO rankings. We make sure to optimize our websites as much as possible, offering the best possible user experience. This article will walk you through the steps you can take to optimize a Ghost Blog's performance while keeping it lean and resourceful. View more...Basics of Gitlab Installation in a Debian SystemAggregated on: 2020-06-16 05:30:04 In this article, I will be sharing a quick guide on how to install Gitlab in your Debian system. Ever thought How http://github.com, https://gitlab.com works, or how can I create my Version control system locally for just my use and testing, or ever want to create personalized git instances like http://github.com for your group of contributors or developers. View more...Kafka Replication — Manipulate Your Topics and Records in Mirror Maker V1.0 and V2.0Aggregated on: 2020-06-16 05:30:04 In this article, we will be working with both mirror maker v1.0 and v2.0. Therefore, we are doing some abbreviations. Mirror maker v1.0 -> mmv1 Mirror maker v2.0 -> mmv2 Find the Project Find all the docker images and code over here. View more...Remote Agile Transitions — The Top-Ten ChallengesAggregated on: 2020-06-16 05:30:04 We are used to saying the Scrum is a perfect probe for organizations, as it will reliably discover all dysfunctionalities. Since the pandemic has forced many of us to work remotely, this unique capability has been kicked into overdrive regarding remote agile transitions. Here are my top-10 challenges of organizational change that remote Agile has made more urgent to address than ever before. View more...QuestDB Tutorial for PythonAggregated on: 2020-06-16 05:30:03 Getting Started To get started, you'll need a few things installed and set up. This should be quick. QuestDB: To install Questdb you can see Installation for complete instructions in case you want to use Docker, or brew on MacOS, but the easiest way is to download the binaries and run it directly. Instructions for that are Here. Jupyter Notebooks: These are interactive Python environments that will help you run a complete version of this tutorial interactively. To run it, you should: make sure you are running Python 3.x and not Python 2.7. If you're in doubt, python --version will tell you. install Jupyter Notebooks with pip3 install --upgrade ipython jupyter make sure that the libraries we use in this tutorial are also installed with pip3 install requests urlib matplotlib pandas clone this repository (git clone https://github.com/davidgs/QuestNotebook) in the repository directory run jupyter notebook That will get you right back to a page that looks eerily similar to this that is interactive, allowing you to run the code and interact with the database yourself. View more...How Does a Project Manager Steer a Project Towards Success?Aggregated on: 2020-06-16 05:30:03 Often the things that we hear about project managers from their teams are not much in their favor. You might have heard employees saying that project managers do nothing expect for arranging meetings and asking to report the progress of tasks several times a day. If you also believe this to be true, you are missing the big picture of project management and how a project manager fits in it. View more...Understanding When to Use a Test Tool vs. a Test SystemAggregated on: 2020-06-16 05:30:03 Testing is a mission-critical aspect of the software development lifecycle (SDLC). You'd be hard-pressed to find a software development professional who disagrees. Yet, for all the importance that testing has in the SDLC, there is a misconception among many about the difference between a testing tool and a testing system. Understanding the difference is important, particularly if you're a decision-maker who is responsible for ensuring that your company's software development teams have the resources they need to implement software testing that is effective and reliable. View more...Heroku - My New HomeAggregated on: 2020-06-16 05:30:03 In the "Moving Away From AWS and Onto Heroku" article, I provided an introduction of the application I wanted to migrate from Amazon's popular AWS solution to Heroku. Subsequently, the "Destination Heroku" article illustrated the establishment of a new Heroku account and focused on introducing a Java API (written in Spring Boot) connecting to a ClearDB instance within this new platform-as-a-service (PaaS) ecosystem. The third article in the series ("Using Heroku for Static Web Content") provided a manner in which static web files could also be serviced by Heroku. My primary goal with this series is to find a solution that allows me to focus my limited time on providing business solutions instead of getting up to speed with DevOps processes. View more...DoD Matrix at Sprint PlanningAggregated on: 2020-06-16 05:30:03 Many teams have been adopting an iterative way to deliver new services, products, and complex projects. The duration of the iteration is one month or less and starts with a short planning session. In Scrum, the iteration is called Sprint and the mandatory rule says that at the end of the Sprint there must be a done product increment per Definition of Done or simply DoD. Definition of Done Many confuse the Definition of Done with user requirements that on the high level expressed as PBIs in the Product Backlog. But these are completely different concepts! For example, you order furniture for your design with clear requirements for materials, sizes, and accessories. You pass the same requirements to different furniture manufacturers. View more...How to Build an API Testing Program with MuleSoft AnypointAggregated on: 2020-06-16 05:30:02 In a recent study by Dimensional Research, 91% of respondents reported that they are using or will adopt microservices-based architectures. Many of the companies trying to build such large-scale software systems employ some sort of orchestration or ESB system to organize how the services talk to each other. MuleSoft Anypoint is a popular enterprise-ready solution to reach these goals. While some purists may say this approach is an anti-pattern, the advantages of such an approach are undeniable for reasons including accelerating go-to-market speed. However, 76% of respondents also reported that it takes longer to resolve issues in microservices environments. These numbers point to a trend that cannot be kicked down the road: It has never been easier to build APIs, yet the testing and debugging of APIs is getting exponentially more challenging. View more...Applying MLflow to an Existing Machine Learning ProjectAggregated on: 2020-06-16 05:30:02 What Is MLflow? MLflow is an open-source platform to manage the ML lifecycle, including experimentation, reproducibility, deployment, and a central model registry. MLflow currently offers four components: MLflow Tracking MLflow Projects MLflow Models MLflow Registry In this example, we are going to use an existing Keras Tensorflow example and add MLflow support to it. View more...Unit Testing Log Messages Made EasyAggregated on: 2020-06-13 16:40:00 As a Java Developer, we need to cover a lot of scenarios to ensure the quality of our software and catch bugs as soon as possible when introducing a new code. For 99% of all my use cases AssertJ, Junit, Mockito, and Wiremock are sufficient enough do cover the test cases. But for the other use cases, like unit testing info, debug or warn log messages, these frameworks don't help you out. There is also no other framework that can provide an easy to use method to capture log messages. The answer which the community provided works well, but it is a lot of boilerplate code to just assert your log events. Even I faced the same trouble and so I wanted to make it easier for myself and share it with you! So the LogCaptor library came into life. View more...Stand-Up 2.0: It's time to ditch the daily from 1993Aggregated on: 2020-06-12 19:50:03 The daily stand-up is broken. No wonder. It was invented almost 30 years ago and we're still running it the exact same way. When daily stand-up meetings started in the early 90s, the software development process looked very different. Git didn't exist. Jira didn't exist. Collaboration tools didn't really exist. DevOps didn't exist. Automation tools didn't exist. Analytics tools didn't exist. View more...Threat Modelling Tools Analysis 101Aggregated on: 2020-06-12 18:40:03 Abstract An interconnected world with an increasing number of systems, products and services relying on the availability, confidentiality, and integrity of sensitive information is vulnerable to attacks and incidents. Unfortunately, the threat landscape expands and new threats, threat agents and attack vectors emerge at all times. Defending against these threats requires that organizations are aware of such threats and threat agents. Threat modeling can be used as part of security risk analysis to systematically iterate over possible threat scenarios. The motivation for this research came from the constantly growing need to acquire better tools to tackle the broad and expanding threat landscape. One such tool which help to categorize and systematically evaluate the security of a system, product or service, is threat modeling. View more...How to Read Files and Transfer Them to Other Location Using TIBCO BW 6.5Aggregated on: 2020-06-12 18:40:03 In this article, we will walk through reading files of any types/extensions from one location and transferring all of them to other locations using Tibco BW 6. All We Need Are Three Activities i.e. Timer: This will be our starter activity to start the process, you can have other starter depending on your use case. ListFile: This List Files activity is a synchronous activity that returns information about files or directories, or a listing of all the files in the specified directory. RemoveFiles: Remove File activity is a synchronous activity that removes the specified files from the directory. If the specified directory is not empty, it generates an exception. Our Flow Looks Like View more...Deploying Only the Interaction Model for OU Alexa SkillAggregated on: 2020-06-12 18:40:02 In the new ASK CLI 2.x that has just been recently released, I found that the choice to deploy only the interaction model seems to have disappeared. In this article, I will show you how to regain this powerful time-saving capability back. The Value of Deploying Only The Interaction Model This option is important to me as I do a lot of local debugging. To save time I used to deploy only the interaction model from my local machine when I do simple minor changes, especially on the utterances, slot types, and values. View more...Launching an EC2 Instance on AWSAggregated on: 2020-06-12 18:40:02 To be able to host your web application, you will need a hosting solution. You can easily get started with AWS and commission an EC2 instance to be able to host your web application. Step 1: Create an AWS Free Tier Account AWS provides 1-year access to the Free Tier Program which can allow you to play around with various services free of charge. For this just register with a new email address and you are good to go. View more...Full-Duplex Scalable Client-Server Communication with WebSockets and Spring Boot (Part II)Aggregated on: 2020-06-12 17:30:03 Secure WebSockets Over SSL/TLS To prevent man-in-the-middle attacks between server and client, it is strongly recommended to use the WSS protocol, to send encrypted TCP messages. This is the equivalent of using HTTPS instead of HTTP. Setting Up NGINX We will use NGNIX as a reverse proxy that forwards all incoming requests to the Spring Gateway MS. We will configure the proxy to listen to port 443 which is the default port for secure connections in both HTTPS/WSS. View more...Design Collaboration: Effective Approaches for Top-Notch DesignAggregated on: 2020-06-12 17:30:03 Creating digital products in this ever-competitive IT industry comes with its own sets of challenges. The creation of these digital products requires a team of multiple members that possess a unique set of skills, experience, and expertise. We at Peerbits, overcome these challenges and complexities with the help of design collaboration. Design collaboration is a smart and pragmatic approach that empowers all the experts to come together and create something top-notch. View more...How to Read/Write Files From Google Drive Using Camel-QuarkusAggregated on: 2020-06-12 17:30:03 Introduction The Google Drive component provides access to the Google Drive file storage service via the Google Drive Web APIs. Google Drive uses the OAuth 2.0 protocol for authenticating a Google account and authorizing access to user data. Before you can use this component, you will need to create an account and generate OAuth credentials. Credentials comprise of a clientId, clientSecret, and a refreshToken. A handy resource for generating a long-lived refreshToken is the OAuth playground. View more...Selecting the Right Agile Framework - CoverosAggregated on: 2020-06-12 17:30:03 Scrum. Kanban. Lean. XP. SAFe. RUP. Scrum of Scrums. There are many frameworks available to organizations that are maturing their agile software development process. However, the use of some frameworks can help reinforce agile behaviors, while others can be degenerative and actually drive an organization to revert to more waterfall-like software development.The choice of agile framework should be a collaborative discussion between teams, organizational leadership, and any stakeholders. Every part of the team should have input into what key features they will need from the framework. The "correct choice" will depend on many variables, including the nature of the work, the experiences of the organization, cultural factors, and changes desired to meet the work objectives. View more...Why You Need Agile Business Intelligence and Data AnalyticsAggregated on: 2020-06-12 15:10:02 Many business users are raising complaints about reporting and analytics that took a lot of time to develop with the IT team. One research found that traditional BI is unable to provide quick reporting and solutions to industries in this competitive world. Companies are spending a lot of time and money on modeling data when it appears that models have evolved the approach changes. So, it is juggling to do it again and the problem is too large to find a solution. Seeing the difficulty of distributing BI applications to managers and executives that they are unable to make the right decisions; it has become imperative that an alternative development approach is needed. In fact, there is a widespread and growing consensus that the time for Agile BI has arrived. View more...Advanced Functional Testing in Spring Boot Using Docker in TestsAggregated on: 2020-06-12 14:00:03 Overview This article focuses on applying some of the best practices during the functional testing of a Spring Boot application. We will demonstrate an advanced approach on how to test a service as a black box without setting up the staging environment. This article is the continuation of my previous post, Native Integration Testing in Spring Boot, so I will refer to it to show the difference between these two types of testing. I recommend taking a look at that before reading this post. Theory Let's start with defining what functional testing means: View more...How to Best Monitor GraphQL APIsAggregated on: 2020-06-11 23:10:03 Since its release in 2015, GraphQL has become the alternative to REST. It gives frontend developers the flexibility they had craved for for so long. Over are the days of begging backend developers for one-purpose-endpoints. Now a query can define all the data that is needed and request it in one go, cutting latency down considerably. View more...Creating EFS Using CloudFormation and Mounting it With EC2 Linux InstanceAggregated on: 2020-06-11 23:10:03 There are multiple ways of storing information on an instance, like EBS or EFS. EBS is Elastic Block Storage and can be considered as if you have a high capacity Storage Device attached to your computer. Whereas EFS is Elastic File Storage and can be considered as if you have attached an external storage device attached to your computer. It may depend on your application or use case you choose to use what among both, but for our case, that we are discussing today, we are going to use EFS with EC2 Linux instance. Create EFS Using CloudFormation Let's create EFS using CloudFormation. You can use the following template to create the resource. Just pass the appropriate values when asked while creating the resource. View more...All About Kubernetes Port TypesAggregated on: 2020-06-11 21:10:03 If you have reached this article. I can safely assume either you are a Kubernetes learner or seeking more clarity on different port types being used in service and pod container spec. Kubernetes uses different types of ports when you write pod container specs or when you create a service for your deployment or set of pods as endpoints. View more...Why GOPROXY Matters and Which to PickAggregated on: 2020-06-11 21:10:03 Starting with Go 1.13, Go modules are the standard package manager in Golang, automatically enabled on installation along with a default GOPROXY. But with other GOPROXY options like JFrog GoCenter, as well as your own Go module packages you need to keep secure from public view, what kind of configuration should you choose? How can you keep your public and private Golang resources from becoming a tangled knot? View more...Three Painful Lessons You Can Avoid with Your APIs and Mobile AppsAggregated on: 2020-06-11 20:00:04 In the 25 years, I have spent in the development world, a few of my projects have failed. Failed miserably. View more...How to Reduce Software Maintenance Cost of Existing Technology ProductsAggregated on: 2020-06-11 20:00:03 The cost of maintaining software is rising exponentially and it has been found that software maintenance could account for 70% of the total cost of the software. There are reasons behind this. While more and more software is being developed every day, it becomes hard to maintain them over time. Lack of proper reporting or documentation and people who work on its development retire or leave without being replaced. Re-engineering the system is not an option because the system that needs to be rebuild could be extensive and not well documented. View more...New Update Operator in Dataweave 2.3.0 Features and TutorialAggregated on: 2020-06-11 20:00:03 Mulesoft has recently published a newer version of Mule Runtime 4.3.0 with a lot of new features and existing bug fixes. Few key features of Mule Runtime 4.3.0 are: View more...TiDB Dashboard: Easier Troubleshooting for Distributed DatabasesAggregated on: 2020-06-11 20:00:03 It's challenging to troubleshoot issues in a distributed database because the information about the system is scattered in different machines. TiDB is an open-source, distributed SQL database that supports Hybrid Transactional/Analytical Processing (HTAP) workloads. Before version 4.0, it could be difficult to efficiently troubleshoot TiDB's system problems. To diagnose a TiDB cluster's issues, even an experienced database administrator (DBA) needed to understand TiDB's basic architecture, get familiar with thousands of TiDB monitoring metrics, and gain experience in the field to ensure that when they encountered similar problems next time, they could fix them more quickly. View more... |
|
|