News AggregatorWhy Imperfect Data Isn't Just Bad, It's Harmful w/ Treeverse's Einat OrrAggregated on: Tue Feb 22 2022 00:35:02 GMT+0000 (Coordinated Universal Time) Data junkies rejoice, this is the episode for you. On this week’s episode of Dev Interrupted, Einat Orr, co-founder and CEO of Treeverse, sits down with us to talk about the state of data… where it’s been, where it’s going and why having bad data might be worse than having no data at all. View more...How to Make a REST API Call in AngularAggregated on: Mon Feb 21 2022 23:20:02 GMT+0000 (Coordinated Universal Time) Introduction This article elaborates on the main steps of making a REST API call in the Angular framework. To understand this article, the reader must have a basic understanding of HTTP, HTML, TypeScript, and Angular framework. Further, the reader must have knowledge about creating services and dependency injection in the Angular framework. What Is Angular Service? "A service in Angular acts as a reusable data access point and is written using a Typescript class." In real-world applications, data accessed from external sources is required in multiple components. We need a single, reusable data access point, and service serves this purpose. By defining such processing tasks in an injectable service class, we make those tasks available to any component. View more...Openshift Sandbox/Kata ContainersAggregated on: Mon Feb 21 2022 23:20:02 GMT+0000 (Coordinated Universal Time) In this article, I will walk you through Openshift Sandbox containers based on Kata containers and how this is different from the traditional Openshift containers. Sandbox/kata containers are useful for users for the following scenarios: View more...Bridge Design Pattern in Java: An Intro, Real-time Examples, Class/Seq Diagram, and ImplementationAggregated on: Mon Feb 21 2022 23:20:02 GMT+0000 (Coordinated Universal Time) In the video below, we take a closer look at Bridge Design Pattern in Java including an intro, real-time examples, a class/seq diagram, and an implementation. Let's get started! View more...Sustaining Agile Transformation – Our ExperienceAggregated on: Mon Feb 21 2022 22:50:02 GMT+0000 (Coordinated Universal Time) Introduction Most of the organizations today are moving towards Agile to achieve faster delivery, higher business value, and better quality. In our experience, the average time for organizations to achieve Enterprise Agility is around 2-3 years. Most of the organizations plan only for the transformation and think less about the sustenance. One of the twelve Agile principles emphasizes the importance of sustainable development and the need to maintain a constant pace throughout the cycle. The same principle applies to the organization-level transformation context as well as any change without stability and consistency may not be long-lived. A sustainable agile transformation is one that creates a self-sustaining, continuously learning organization focused on delivering improved business results. It is important for organizations to build a transformation sustenance strategy so that they do not fall back to old ways of working. View more...Anypoint Runtime Fabric Basic vs. Crucial Points for Planning ResourcesAggregated on: Mon Feb 21 2022 22:20:02 GMT+0000 (Coordinated Universal Time) MuleSoft Runtime fabric setup is one of the optimized resource platforms. However, we need to define a strategy to utilize its benefits for application deployment. There are a few points we need to remember: View more...Multiple Inheritance in JavaAggregated on: Mon Feb 21 2022 19:20:02 GMT+0000 (Coordinated Universal Time) Ever since Java 8 introduced default interface methods, I felt there had to be a way to use it for multiple inheritance. I have never needed it, but I was bored for a bit today, so decided to try the following idea: Create a non-public class XData to hold the fields the interface needs to work with, and a public interface X in the same X.java source file The interface has one virtual method getXData() that returns the XData instance The remaining interface methods are default methods that call getXData() to read and write the fields as necessary to perform some useful operations. Create another interface Y and class YDatain the same pattern Create a class XY that implements both interfaces X and Y The class XY has XData and YData fields, which are returned by getXData() and getYData(). These are the only two interface methods XY is required to implement. I didn't bother in my example, but XY would have to decide how to implement the Object methods hashCode, equals, and toString. These methods cannot be implemented by interfaces (but they could be implemented in XData and YData classes if desired) The end result is the XY class is an instance of both X and Y interfaces, and inherits the encapsulated behaviors of both X and Y default methods - multiple inheritance by any reasonable measure. View more...Model Validation Using FluentValidation in ASP.NETAggregated on: Mon Feb 21 2022 17:50:02 GMT+0000 (Coordinated Universal Time) The source code used in the article can be found in our GitHub repository. One of the requirements for a good API is the ability to validate input relying on different business rules. As developers, we always care about validation when getting any data from clients. View more...DevOps Roadmap for 2022Aggregated on: Mon Feb 21 2022 17:50:02 GMT+0000 (Coordinated Universal Time) In the last few weeks, I met some folks in my mentoring sessions, who are new to DevOps or in the mid of their career, who were interested in knowing what to learn in 2022. DevOps skills are high in demand and there is constant learning required to keep yourself in sync with market demand. This post is to share the notes that can help you. Let’s see some guidance based on my experience and understanding. View more...Zero Trust Security Model to Safeguard Software AppsAggregated on: Mon Feb 21 2022 17:05:02 GMT+0000 (Coordinated Universal Time) We've all heard a lot about digital transformation and how it affects the IT world. Each of these technologies, whether it's big data, the Internet of Things (IoT), or cloud computing, has made a significant contribution to a range of enterprises. Few people, however, talk about the complexity they add, especially in the context of business network infrastructures. The fences are crumbling, and there is a hazy peripheral that is causing security concerns. View more...A Complete Guide on Flutter App DevelopmentAggregated on: Mon Feb 21 2022 16:20:01 GMT+0000 (Coordinated Universal Time) Cross-platform development has become popular in this continuously evolving app development market. After cross-platform development came into the limelight, several tools have been introduced to make development easier. In 2022, cross-platform development will be the hottest topic among the top cross-platform mobile app development companies worldwide. With Flutter, you will develop native applications for Android and iOS platforms from a single code. It also lets the flutter app developers develop scalable and robust mobile apps quickly. With Flutter app development, you get the best application in less time as it reduces the developer’s efforts and time while developing a mobile app. View more...How to Sabotage a Product OwnerAggregated on: Mon Feb 21 2022 16:05:01 GMT+0000 (Coordinated Universal Time) One of my favorite exercises from my Professional Scrum Product Owner classes is how to best sabotage a Product Owner as a member of the middle management. The exercise rules are simple: You’re not allowed to use any form of illegal activity. So, outsourcing the task to a bunch of outlaws is out of the question. Instead, you are only allowed to use practices that are culturally acceptable within your organization. Read on and learn more on how to best sabotage a Product Owner from the exercise results of more than twenty PSPO classes. (I edited the suggestions for better readability.) View more...SSDL at a GlanceAggregated on: Mon Feb 21 2022 15:35:02 GMT+0000 (Coordinated Universal Time) Introduction The Secure Software Design Lifecycle (SSDL) is the infusion of security with each step of software design, from architecture to end of life. By doing so we protect our customers from threats and reduce our risk and attack surface. There are no specific tools or frameworks mentioned in this article. You should choose the ones that work best for your context, based on compliance needs, cost, and labor. The Software Lifecycle The software design lifecycle (SDLC) comprises multiple steps. For the purpose of this article we’ll settle on the following definition of the SDLC: View more...Nginx + Node.JS: Perform Identification and AuthenticationAggregated on: Mon Feb 21 2022 15:35:02 GMT+0000 (Coordinated Universal Time) System authorization is one of the key parts. You can use some powerful solutions, such as Firebase, or one of the many good libraries. If you want to reduce the number of dependencies or you need some self-education, you can write something of your own. This is how over time, after several iterations, a solution based on Nginx was developed. Everything described is a very special case of the approach used, in the sense that there are some conditions in which it was required to create a solution, and this solution is good only in those particular conditions. View more...Future JavaScript: Records and TuplesAggregated on: Mon Feb 21 2022 15:35:02 GMT+0000 (Coordinated Universal Time) Records and Tuples are an upcoming feature for JavaScript, which may be familiar if you have used other languages. They are very similar to Arrays and Objects, the key difference being that they are immutable, meaning they can't be updated or changed. They give us a brand new primitive type in JavaScript, and let us do a lot of things we couldn't previously do, including comparing objects and arrays by value, rather than identity. In this article, we'll cover how they work, and how you can use them today. Support for Records and Tuples Currently, records and tuples are a stage 2 proposal for JavaScript. Broadly speaking, this means that they are relatively stable, but not implemented as a standard spec. As such, major browsers and backend JavaScript like Node.JS do not implement them. You can, however, use them, if you have Babel, by using this polyfill. View more...7 Best Free Courses for Machine Learning, Artificial Intelligence, and Deep LearningAggregated on: Mon Feb 21 2022 13:05:01 GMT+0000 (Coordinated Universal Time) If you are thinking of learning Data Science, Machine learning (ML), or Deep Learning (DL), you are not alone; more and more people are starting with these advanced skills worldwide. I have seen a lot of interest from software engineers in the ML and AI space. They are totally caught up with the craze of developing programs that can recognize numbers, alphabets, vehicles, and several other image scanning stuff. View more...Using Kong Ingress Controller with Spring Boot ServicesAggregated on: Mon Feb 21 2022 12:35:01 GMT+0000 (Coordinated Universal Time) Since 2003, I have used IntelliJ as my primary tool for developing applications and services. Nineteen years ago, I was impressed both by the small amount of RAM required to use the IDE and the refactoring abilities included with the 1.x release. Developing in Java does not require me to use the IntelliJ IDEA product. Other developers on my current project use Eclipse or VS Code, but these tools are not required. When you can write your components, services, and applications with a simple text editor and terminal session, you’ll end up with the same compiled Java code. View more...Java/Spring Boot/MongoDb - Performance Analysis and ImprovementsAggregated on: Mon Feb 21 2022 12:35:01 GMT+0000 (Coordinated Universal Time) The AngularAndSpring project runs on startup (@Async + @EventListener) or once a day (@Scheduled) the average calculation of the quotes. It is implemented in the PrepareDataTask class. It gets started on startup by the TaskStarter class. It calculates the averages for newly available quotes. The average quotes for several years of data had to be recalculated so performance became interesting. Everything was done on Linux x64 with a Terumium Jdk 17 and MongoDb 4.4. View more...Avoiding Stringly-Typed in KotlinAggregated on: Mon Feb 21 2022 12:35:01 GMT+0000 (Coordinated Universal Time) A couple of years ago, I developed an application in Kotlin based on Camunda BPMN to help me manage my conference submission workflow. It tracks my submissions in Trello and synchronizes them on Google Calendar and in a Google Sheet. Google Calendar offers a REST API. As REST APIs go, it's cluttered with String everywhere. Here's an excerpt of the code: Kotlin fun execute(color: String, availability: String) { findCalendarEntry(client, google, execution.conference)?.let { it.colorId = color // 1 it.transparency = availability // 2 client.events() .update(google.calendarId, it.id, it).execute() } } View more...How To Set Up Selenium on Visual StudioAggregated on: Mon Feb 21 2022 11:35:01 GMT+0000 (Coordinated Universal Time) What Is Visual Studio? Visual Studio is an IDE developed by Microsoft. Its popularity comes from offering unique features such as cloud connectivity, supported extensions, easy debugging, collaboration, deployment, and version control integration, among others. Visual Studio is available for both Windows and Mac. It can be used for mobile, web, cloud, desktop applications, and gaming application development. Visual Studio is available in both Free and Paid versions. The free version comes with basic features, whereas the paid version comes with enterprise features. View more...A Complete, Interactive Guide to CSS FlexboxAggregated on: Mon Feb 21 2022 10:35:01 GMT+0000 (Coordinated Universal Time) In the past, making HTML elements appear next to each other was a tricky proposition. It usually relied on floats, often resulting in some strange behaviors. Today, we have flexbox, which is widely accepted as the standard way to do this. Flexbox lets us align content in columns or rows, while automatically adjusting its size based on how we set it up. Below, you can view the complete guide to CSS flexbox, along with a generator to let you generate the layout style you want for your container elements. CSS Flexbox Generator View more...The Importance of Verification and Validation on Artificial Intelligence SystemsAggregated on: Mon Feb 21 2022 05:50:01 GMT+0000 (Coordinated Universal Time) AI systems are increasingly being used in mission and safety-critical applications. One of the more high-profile uses of AI is in the development of autonomous and semi-autonomous vehicles. A key component of these systems are models that perform image classification: they take an input image and predict a label. These systems help classify objects like the type of sign on the side of a road: does it indicate to stop, yield, or is it simply a warning about a turtle crossing? View more...Getting Started With Bloomreach Headless Experience Manager (Part 2)Aggregated on: Mon Feb 21 2022 05:50:01 GMT+0000 (Coordinated Universal Time) Welcome to Bloomreach Headless Experience Manager, a headless content management system with the APIs and flexibility to power any front end while retaining powerful personalization and authoring capabilities! This guide helps new developers get started with the platform. Step-by-step through a series of milestones, you’ll learn the first steps of developing websites using Headless Experience Manager. View more...What's New With ActiveMQ v5.16.4Aggregated on: Mon Feb 21 2022 00:05:01 GMT+0000 (Coordinated Universal Time) Client-Side Max Message Size Detection In previous versions of ActiveMQ, an exception case that limited the ability for developers to code fully self-healing message flows was when a client sends a message that exceeds the broker's max message size limit. ActiveMQ brokers detect this scenario and immediately close the connection to prevent any negative impact to the broker by misbehaving clients. While this approach is great for protecting the broker, it does not provide any signaling to the client as to how to respond. Before 5.16.4, clients configured with failover would reconnect and retry messages that were too large, causing sent messages to run in an infinite loop. In 5.16.4, the client library detects the scenario and throws a JMSException with Error Code (41300). Also, there is now a MaxFrameSizeExceeded exception that is accessible as the linked exception off the JMSException. This allows clients to cleanly detect this scenario, take corrective action, and continue to process the next message. View more...7 Tips on Writing Good Technical ContentAggregated on: Sun Feb 20 2022 20:35:01 GMT+0000 (Coordinated Universal Time) Technical writing fills the gap between the technology experts and general users of the technologies. Writing a good piece of content is an art that can affect the market presence of the product/service as well. Usually, any piece of technical content has the following target. View more...Distribution Design Patterns in Java - Data Transfer Object (DTO) And Remote Facade Design PatternsAggregated on: Sun Feb 20 2022 19:35:01 GMT+0000 (Coordinated Universal Time) In the video below, we take a closer look at distribution design patterns in Java - Data Transfer Objects (DTO) and remote facade design patterns. Let's get started! View more...AWS DynamoDB Query vs. Scan [Video]Aggregated on: Sun Feb 20 2022 17:50:01 GMT+0000 (Coordinated Universal Time) There are two types of read operation in DynamoDB — scan and query. I will explain the difference between these two types of operations with a hands-on demo. Thank you for watching! View more...Testing Chatbots for the UnexpectedAggregated on: Sun Feb 20 2022 16:05:01 GMT+0000 (Coordinated Universal Time) Quite often we are consulted to design a robust test strategy for a mission-critical enterprise chatbot. How is it possible to test something for all possible unexpected user behaviour in the future? How can someone confidently make assumptions on the quality if we have no clue what the users will ask the chatbot? Short-Tail vs Long-Tail Topics While we do not own a magic crystal ball to look into future usage scenarios, from our experience we gained the best results with a systematic approach in a continuous feedback setup. In almost every chatbot project the use cases can be categorized: View more...JavaScript Reserved Keywords CheatsheetAggregated on: Sun Feb 20 2022 15:50:01 GMT+0000 (Coordinated Universal Time) When writing code, a reserved keyword is one you can't use as the name of a variable or identifier. As of 2022, this is the full list of valid reserved keywords in JavaScript. All JavaScript Reserved Keywords The below list cannot be used as variable names, as they are reserved keywords. Most of them have current functionality in JavaScript. Some do not, but they are words that may have some sort of functionality in the future. Avoid using these words in variable names. View more...Using CockroachDB Workloads With KerberosAggregated on: Sat Feb 19 2022 18:05:00 GMT+0000 (Coordinated Universal Time) GSSAPI authentication is becoming increasingly popular as CockroachDB starting to make inroads in Fortune 2000 customer bases and financial services segment. That said, ecosystem coverage for GSS needs to improve for parity with other authN methods. Today, we are providing a workaround and a look at the future. By the way, do you realize this is my 15th article on Kerberos and CockroachDB? Articles Covering CockroachDB and Kerberos I find the topic of Kerberos very interesting and my colleagues commonly refer to me for help with this complex topic. I am by no means an expert at Kerberos, I am however familiar enough with it to be dangerous. That said, I've written multiple articles on the topic which you may find below: View more...Harmful Misconceptions in Software TestingAggregated on: Sat Feb 19 2022 17:35:00 GMT+0000 (Coordinated Universal Time) In 1870, the German chemist Erich von Wolf was investigating the amount of iron in spinach. When writing down his findings in his notebook, he misplaced a decimal point, changing the iron content in spinach ten times more than in reality. While Mr. von Wolf found out that there are just 3.5 milligrams of iron in a 100g serving of spinach, the published number became 35 milligrams thanks to his mistake. This caused the well-known misconception that iron is exceptionally high in spinach, which makes the body stronger. Though Mr. von Wolf's error was detected and fixed 67 years later when someone re-checked his results, spinach is still popularly thought to be one of the most iron-rich vegetables, probably due to the popular cartoon character Popeye. View more...From IBM Integration Bus to IBM App Connect Enterprise in Containers (Part 3)Aggregated on: Sat Feb 19 2022 17:35:00 GMT+0000 (Coordinated Universal Time) In Scenarios 2a and 2b, we showed different ways of deploying an App Connect flow onto containers on OpenShift – via the command line, and via the dashboard. We eventually saw a response from our deployed integration, but so what! We haven’t yet really seen what Kubernetes is bringing to the table. We will now explore some of the things that Kubernetes significantly simplifies and extends compared to traditional deployments. In this scenario, we’ll specifically look at load balancing and autoscaling. If you feel you already understand basic load balancing and autoscaling in Kubernetes, perhaps take a look at the Advanced Scaling Topics section at the end of this post. View more...Why Does My App Send Network Requests When I Open an SVG File?Aggregated on: Sat Feb 19 2022 16:35:00 GMT+0000 (Coordinated Universal Time) You decided to make an app that works with SVG. Encouraged by the enthusiasm, you collected libraries and successfully made the application. But suddenly you find that the app is sending strange network requests. And data is leaking from the host machine. How so? In today's world, you can have a library for every occasion. So, let's not reinvent the wheel for our application and take a ready-made solution. For example, the SVG.NET library. The source code of the project is available on GitHub. SVG.NET is distributed as a NuGet package, which comes in handy if you want to add the library to the project. By the way, according to the project's page in NuGet Gallery, the library has 2.5 million downloads — impressive! View more...Why Do We Encourage Poor Coding Patterns?Aggregated on: Sat Feb 19 2022 16:35:00 GMT+0000 (Coordinated Universal Time) For what feels like an eternity at this point, we’ve discussed “shifting left” in the SDLC, taking into account security best practices from the start of software development. DevSecOps was a great leap forward, in no small part because of the emphasis on shared responsibility for security, and the power of a security-aware developer to thwart common vulnerabilities as they write code. We have also known — again, for eons — that the type of secure code training chosen to engage and upskill developers makes all the difference. Low-effort solutions motivated solely by regulatory compliance do not build up the bright security minds of the future, and most security awareness professionals have worked that out. Dynamic, contextually relevant learning is best, but it’s critical that the nuances within are understood. View more...How To Embed Data Protection Principles in the Application Development ProcessAggregated on: Sat Feb 19 2022 15:35:00 GMT+0000 (Coordinated Universal Time) The pace of digitization over the past two years has accelerated due to organizational needs driven by the ongoing pandemic. And that has meant that there's an ever-increasing flow of data now passing through digital channels that nobody anticipated. And for developers, it has spotlighted the importance of implementing clear data protection standards in everything they do. But for developers who've never written software that requires a careful approach to data protection, it's not always obvious how to convert best practices into development standards. To help those who lack experience with embedding data protection standards into their development process, here's a guide to what they need to do. View more...Data Lives Longer Than Any Environment, Data Management Needs to Extend Beyond the EnvironmentAggregated on: Fri Feb 18 2022 22:05:00 GMT+0000 (Coordinated Universal Time) Komprise enables enterprises to analyze, mobilize and monetize file and object data across clouds, data centers, and the edge. The solution constantly monitors key business services, identifies changes in usage patterns, and automatically captures new insights. Komprise also simplifies access to all enterprise data helping companies make better decisions faster while driving increased revenue from existing infrastructure The 41st IT Press Tour had the opportunity to meet with Kumar Goswami, co-founder and CEO, Darren Cunningham, VP of Marketing, Ben Conneely, VP EMEA Sales, Krishna Subramanian, Co-Founder and COO of Komprise. View more...The Ultimate Guide to Legal and Ethical Web Scraping in 2022Aggregated on: Fri Feb 18 2022 22:05:00 GMT+0000 (Coordinated Universal Time) The popularity of web scraping is growing at such an accelerated pace these days. Nowadays, not everyone has technical knowledge of web scraping and they use APIs like news API to fetch news, blog APIs to fetch blog-related data, etc. As web scraping is growing, it would be almost impossible not to get cross answers when the big question arises: is it legal? View more...The Intelligent Storage RevolutionAggregated on: Fri Feb 18 2022 22:05:00 GMT+0000 (Coordinated Universal Time) Intelligent computing and intelligent storage are the future. Intelligent computing is the ability to automatically adjust computing resources based on data and application needs, such as the acceleration of an analytics workload. Intelligent storage ensures that applications can always access their data by transparently managing multiple disk tiers. View more...How to Use Postman to Build a Mock Server That Mimics the Marqeta Core API?Aggregated on: Fri Feb 18 2022 21:35:00 GMT+0000 (Coordinated Universal Time) The Marqeta Core API lets you build web applications for custom payment card programs with the Marqeta platform. While SDKs for the Core API are available for Python and Ruby, you can always use the developer sandbox and the Core API Explorer to work with the API, regardless of the language you use to develop your application. For faster prototype development, however, you might find it useful to build an API mock server. In this post, we'll work through how to use Postman to build a mock server that mimics the Marqeta Core API. We'll demonstrate how to create a new collection in Postman, save responses from live requests to the sandbox, and then create a mock server and send our test requests. View more...Object-relational Structural Design Patterns in JavaAggregated on: Fri Feb 18 2022 21:05:00 GMT+0000 (Coordinated Universal Time) In the below video, we take a closer look at Object-relational structural design patterns in Java. Let's get started! View more...How To Ensure Data Transparency and Why It’s ImportantAggregated on: Fri Feb 18 2022 20:35:00 GMT+0000 (Coordinated Universal Time) Data transparency is more important than ever before, with more people going online amid surging cyberthreats. Consumers are becoming more aware and critical of how software and websites use their data. More than a few companies have gotten bad publicity due to a lack of transparency about user data. How can developers ensure they are providing good data transparency? A few key tactics will help. View more...The Top SIEM Challenges Modern Security Practitioners Face TodayAggregated on: Fri Feb 18 2022 19:50:00 GMT+0000 (Coordinated Universal Time) In many ways, the tools security professionals have at their disposal have not kept up with the seismic changes in IT infrastructure and workloads brought about by the cloud. For example, most Security Information and Event Management (SIEM) platforms are still based on decades-old technology and architectures. The deficiencies in traditional SIEM solutions are common knowledge throughout the industry, at least anecdotally, but I wanted to see actual data. To explore the firsthand experiences of security practitioners, my company, Panther Labs, commissioned an independent study to understand how well legacy SIEMs meet the needs of security teams today. View more...Proxy Design Pattern in JavaAggregated on: Fri Feb 18 2022 18:35:00 GMT+0000 (Coordinated Universal Time) In the video below, we take a closer look at the Proxy Design Pattern in Java. This video tutorial includes an introduction, real-time examples, a class/sequence diagram, and implementation. Let's get started! View more...5 Best Practices for Succeeding at Developer-First Application SecurityAggregated on: Fri Feb 18 2022 18:35:00 GMT+0000 (Coordinated Universal Time) Advances in developer tools, containers, code repositories, and more enable developer teams to deliver software at an unprecedented pace. However, application security teams are often understaffed, underfunded, and laboring to keep pace with software development. One demonstrated strategy that helps AppSec teams keep up and even provides them time for high-value security tasks is to shift security left in the development cycle. Creating a developer-first approach to security, or in other words, shifting security left requires that developers become accountable for producing secure code. Since security is not the typical developer's area of expertise, application security engineers assume the role of providing oversight and guidance needed to enable developers to succeed. View more...Basic Google BigQuery Operations With a Salesforce Sync Demo in Mule 4Aggregated on: Fri Feb 18 2022 17:50:00 GMT+0000 (Coordinated Universal Time) If we think about data storage, the first thing that comes to our mind is a regular database. This can be any of the most popular ones, like MySQL, SQL Server, Postgres, Vertica, etc., but I noticed not too many have interacted with one of the services Google provides with the same purpose: Google BigQuery. Maybe it is because of the pricing, but in the end, many companies are moving to cloud services and this service seems to be a great fit for them. In this post, I will demonstrate in a few steps how we can make a sync job that allows us to describe a Salesforce instance and use a few objects to create a full schema of those objects (tables) into a Google BigQuery dataset. Then with the schema created, we will be able to push some data into BigQuery from Salesforce and see it in our Google Cloud Console project. View more...Design Insights From Unit TestingAggregated on: Fri Feb 18 2022 16:05:00 GMT+0000 (Coordinated Universal Time) Probably the biggest breakthrough while Unit Testing is to realize that writing tests offer priceless feedback about the design of your production code. This feedback goes from suggesting immediate obvious improvements, up to hints about some of the most advanced design principles in software engineering. This article briefly enumerates these hints, pointing to questions to ask about your design. Disclaimer: Don't follow blindly these hints, but make sure you understand all of them so that you can decide in your real problem what would improve the design, and what wouldn't. View more...Ace Your DevOps Game With This Ultimate List of Plugins in JenkinsAggregated on: Fri Feb 18 2022 14:05:00 GMT+0000 (Coordinated Universal Time) In recent years, DevOps has established itself as a formidable force in the software world. By bridging the gap between development and IT operations teams, DevOps has brought speed, efficiency, and quality to software development. It enabled IT businesses to adopt agile software delivery methodologies like Continuous Integration and Continuous Delivery (CI/CD). However, despite gaining universal popularity, the road to successful DevOps adoption remained bumpy. Many organizations struggle to implement optimal automation across the software development lifecycle (SDLC), from build, integration, and testing to delivery and deployment. Consequently, harnessing the full potential of the CI/CD pipeline remained elusive. At this juncture, Jenkins has emerged as an indispensable tool to help DevOps teams achieve automation goals. View more...Cloud Migration Manual: The Adjustment to SaaS ModelAggregated on: Fri Feb 18 2022 14:05:00 GMT+0000 (Coordinated Universal Time) The cloud-based SaaS model eliminates the need to build, set up, and manage the system, allowing users to just purchase the desired program for a certain length of time. And to migrate to the cloud you need to set up a roadmap, prepare to change app architecture, pick up a SaaS hosting provider, and lastly delineate the data migration process. Before the gaining growth of SaaS software popularity within the development, IT solutions were pretty obvious: businesses had on-premises applications, which operated on particular servers with a certain volume and other limitations. And developing ones, companies went along with the high fees on maintenance, expenses on manual labor, as well as challenges regarding updating. View more...Kafka vs Chronicle for MicroservicesAggregated on: Fri Feb 18 2022 13:35:00 GMT+0000 (Coordinated Universal Time) Apache Kafka is a common choice for inter-service communication. Kafka facilitates the parallel processing of messages and is a good choice for log aggregation. Kafka also declares to be low latency, high throughput. However, is Kafka fast enough for many microservices applications?When I wrote Open Source Chronicle Queue my aim was to develop a messaging framework with microsecond latencies. In this article, I will describe why Kafka does not scale in terms of throughput as easily as Chronicle Queue for microservices applications. Visualizing Delay as a Distance In order to illustrate the difference, let me start with an analogy. Light travels through optic fiber and copper at about two-thirds the speed of light in a vacuum, so to appreciate very short delays, they can be visualized as the distance a signal can travel in the time. This can really matter when you have machines in different data centers. View more...CockroachDB With GSSAPI Deployed via SystemdAggregated on: Fri Feb 18 2022 11:50:00 GMT+0000 (Coordinated Universal Time) Articles Covering Topics on CockroachDB and Kerberos I find the topic of Kerberos very interesting and my colleagues commonly refer to me for help with this complex topic. I am by no means an expert at Kerberos, I am however familiar enough with it to be dangerous. That said, I've written multiple articles on the topic which you may find below: CockroachDB With MIT Kerberos CockroachDB With Active Directory CockroachDB With MIT Kerberos and Docker Compose Executing CockroachDB table import via GSSAPI CockroachDB With SQLAlchemy and MIT Kerberos CockroachDB With MIT Kerberos Cert User Authentication CockroachDB with Django and MIT Kerberos CockroachDB With Kerberos and Custom Service Principal Name (SPN) Simplifying CockroachDB Kerberos Architecture With a Load Balancer CockroachDB With MIT Kerberos Using a Native Client CockroachDB With Mixed Kerberos and Certificates Authentication Motivation Systemd has become a standard approach for deploying Linux services. We have documentation to deploy CockroachDB via systemd, however, we do not have steps documented to deploy CockroachDB with GSSAPI and systemd. This tutorial attempts to bridge that gap. View more... |
|
|