DZone.com Feed
DZone.com Feed |
- The Big Rewrite
- Connect to Dynamics 365 Sales Data as a Linked Server
- Build Fault Tolerant Applications With Cassandra API for Azure Cosmos DB
- Getting Predictions After Each Batch in Keras and TF2.2
- Authentication Using Server Side X.509 Certificates With N1QL
- How I Improved My Legacy C++ Project With PVS-Studio
- What Is SaaS Business Model?
- Single-Tenant vs Multi-Tenant: SaaS Architecture
- How to Implement Oauth2 Security in Microservices
- DZone Partners Agile + DevOps Virtual This November
- Value Stream Management Essentials
- Spring Boot + Jersey: Role-Based Security With JAX-RS Annotations
- MariaDB SQL Set Operators
- GraalVM — Byte Code to Bit Code
- Bringing Your (Encryption) Keys to Multi/Hybrid Clouds
- Spring Boot - Building Restful Web Services With Jersey (XML) + JPA
- How to Build a Kubernetes Operator
- Overcoming Common Serverless Challenges with Mainframe CICS Programs
- Spring Boot REST API Request Body Validation With Custom Validator
- C Programming Interview Questions
- Kubernetes Cloud Autoscalar in Terraform - Part 1
- How Custom Software Fills the Gap in Hybrid Workforces
- Developing Software for Connected Cars – Common Challenges and How to Tackle Them
- Maven Plugin Testing In a Modern Way Part IV
- Spring Boot REST API: PathVariable Validation Example
- Why You Should Never, Ever print() in a Lambda Function
- Building a Data Catalog For Small and Medium-Sized Businesses
- Kick-off Your Transformation With a Pre-Mortem
- Finding and Fixing Django N+1 Problems
- How to Exploit a Microservice Architecture
Posted: 18 Sep 2020 01:27 AM PDT "The Big Rewrite" is a scary phrase for most software developers and software companies. Most developers probably spent years getting to the point where they are today, and they often overestimate the value of their existing code base. However, software development doesn't obey by the normal laws of nature. For instance, every time you re-engineer your software from scratch, you're destined to implement it 10x better, 10x faster, and 10x more stable - At least up to some "n number of rewrites". Hence, my proposition, is to create the same software 5 times, before you're happy with your end result, and willing to label it as "production ready". In fact, if you haven't created the same software at least 5 times, I'd argue it's probably garbage anyways. According to modern studies of Leonardo DaVinci's Mona Lisa, this was the process Leonardo used when he painted Mona Lisa. He slowly over time added new layers of paint, on top of the old layers, until he finally died - At which point Mona Lisa was forever cast in stone, and ended up as it looks like today. Leonardo never finished Mona Lisa, he simply died of old age, before he could ever add the "final stroke of paint" on top of its old layers. |
Connect to Dynamics 365 Sales Data as a Linked Server Posted: 17 Sep 2020 07:19 PM PDT You can use the SQL Gateway to configure a TDS (SQL Server) remoting service and set up a linked server for Dynamics 365 Sales data. After you have started the service, you can use the UI in SQL Server Management Studio or call stored procedures to create the linked server. You can then work with Dynamics 365 Sales data just as you would a linked SQL Server instance. Connect to Dynamics 365 Sales as an ODBC Data SourceIf you have not already, first specify connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs. |
Build Fault Tolerant Applications With Cassandra API for Azure Cosmos DB Posted: 17 Sep 2020 07:09 PM PDT Azure Cosmos DB is a resource governed system that allows you to execute a certain number of operations per second based on the provisioned throughput you have configured. If clients exceed that limit and consume more request units than what was provisioned, it leads to rate limiting of subsequent requests and exceptions being thrown — they are also referred to as 429 errors. With the help of a practical example, I'll demonstrate how to incorporate fault-tolerance in your Go applications by handling and retrying operations affected by these rate limiting errors. To help you follow along, the sample application code for this blog is available on GitHub — it uses the gocql driver for Apache Cassandra. |
Getting Predictions After Each Batch in Keras and TF2.2 Posted: 17 Sep 2020 06:50 PM PDT In this tutorial, I will demonstrate how I have managed to get the predictions after each training batch in Keras model. Using Tensorflow training code it is pretty easy, since we implement the training loop, in which we call: |
Authentication Using Server Side X.509 Certificates With N1QL Posted: 17 Sep 2020 06:42 PM PDT Authentication and authorization to the query service in Couchbase works in multiple ways -
With the addition of RBAC, the creds query parameter was made redundant but is still supported for backward compatibility. |
How I Improved My Legacy C++ Project With PVS-Studio Posted: 17 Sep 2020 06:14 PM PDT ![]() Since a few months, I've been refactoring my old C++/OpenGL project. Thus far, I used compilers (MSVC and Clang), my knowledge or free tools. At some point, I also got a chance to leverage a solid static analysis tool - PVS-Studio. The tool helped me with identifying 8 critical issues not to mention good code style and performance enhancements (in total 137 warnings) Read on to see my report. |
Posted: 17 Sep 2020 03:20 PM PDT Software As A Service (SaaS) is commonly known as cloud-based software. Today, Software as a Service is widely used by individuals and organizations across the world. According to Gartner, Inc., SaaS solutions were estimated to raise $85 billion in 2019. In 2020, they are estimated to generate $105 billion - $20 billion more than the last year. |
Single-Tenant vs Multi-Tenant: SaaS Architecture Posted: 17 Sep 2020 03:16 PM PDT Today we'll break down the differences between single and multi-tenant architectures. The main difference between them is that these software applications can serve either one or more customers at the same time. A single tenancy architecture is mostly used throughout the SaaS (software-as-a-service) cloud services or delivery models. On the other hand, a multi-tenancy, though it is also an architecture of a single software application, serves multiple customers at a time. By knowing the differences, people will understand how each architecture works and which model is the best solution for their needs, also I record a video were I explained 3 ways to architect your SaaS application. It's essential to learn more about single-tenant vs multi-tenant so people understand the importance these two architectures have. |
How to Implement Oauth2 Security in Microservices Posted: 17 Sep 2020 02:06 PM PDT PurposeI wanted a solution where we can easily captured All requests will consider one entry point API-Gateway but, service-to-service can communicate. The API-Gateway will dynamic routing using |
DZone Partners Agile + DevOps Virtual This November Posted: 17 Sep 2020 12:34 PM PDT DZone always strives to be a trusted resource for developers, engineers, and architects to turn to stay on top of trends. Now, we will bring some of our top articles and contributors straight to you, streaming live during the Agile + DevOps Virtual conference. We have partnered exclusively with TechWell who produces one of the top Agile + DevOps conferences in the industry to bring you the Best of DZone track. So why not make the most of what's left of 2020 and focus on your career and skill growth? No matter your level of agile or DevOps adoption, there will be content that meets your experience and organizational needs. Take advantage of promo code DZONE10 exclusively for Dzone readers when you register to get 10% off your pass, when you join DZone and Agile + DevOps Virtual this fall! |
Value Stream Management Essentials Posted: 17 Sep 2020 12:27 PM PDT Value Stream Management (VSM) is the lean practice of monitoring, evaluating, and continually improving an organization's software delivery process. In this Refcard, explore everything VSM has to offer, including key concepts, fundamentals, and more. |
Spring Boot + Jersey: Role-Based Security With JAX-RS Annotations Posted: 17 Sep 2020 11:55 AM PDT Need a better, easier way to manage authorization within your application? Check out this tutorial on role-based security with JAX-RS annotations. Let's get started! |
Posted: 17 Sep 2020 11:54 AM PDT Set operators are the SQL operators that deal with combining, in different ways, different result sets. Say you have two different SELECT s that you want to combine into a single result set, the set operators come into play. MariaDB has been supporting the UNION and UNION ALL set operators for a long time, and these are by far the most common set operators. But we are getting ahead of ourselves here, let me first explain the set operators that we have and how they work. If you want to give this a try, you can use your existing deployment of MariaDB Server, or try this out in a MariaDB SkySQL cloud database. UNION and UNION ALLThe |
GraalVM — Byte Code to Bit Code Posted: 17 Sep 2020 11:51 AM PDT Early adopters for Cloud-Native (microservices, serverless) are now moving to its next wave called v2.x., leveraging the maturity, learnings, and identified shortfalls to design next-level stuff. Let's recap few purposes of going cloud-native that we will relate here: |
Bringing Your (Encryption) Keys to Multi/Hybrid Clouds Posted: 17 Sep 2020 11:38 AM PDT Tools and SetupBefore we dive into the fun part of getting keys shared amongst cloud providers, there are a variety of tools required to get this tutorial working. First, you'll need to download and install Vault, then get it up and running. You will also need to install One last note — the Heroku feature to utilize keys from AWS requires a private or shield database plan, so please ensure your account has been configured accordingly. |
Spring Boot - Building Restful Web Services With Jersey (XML) + JPA Posted: 17 Sep 2020 11:31 AM PDT In the video below, we take a closer look at how we can build production-ready services with Jersey, JPA, and Spring. Let's get started! |
How to Build a Kubernetes Operator Posted: 17 Sep 2020 11:28 AM PDT This is the second part of our series focusing on Kubernetes Operators, and it shows how you can build a Kubernetes Operator based on the Bitnami Apache Helm chart. Note that you can refer to the steps in this tutorial to build an operator for your own applications. Prerequisites
Shell x 1 kubectl get all --namespace olm |
Overcoming Common Serverless Challenges with Mainframe CICS Programs Posted: 17 Sep 2020 11:21 AM PDT By this point most enterprises, including those running on legacy infrastructures, are familiar with the benefits of serverless computing:
The benefits of agility and cost reduction are especially relevant in the current macroeconomic environment when customer behavior is changing, end-user needs are difficult to predict, and development teams are under pressure to do more with less. |
Spring Boot REST API Request Body Validation With Custom Validator Posted: 17 Sep 2020 11:17 AM PDT In the video below, we take a closer look at Spring Boot REST API Request Body Validation Example using Custom Validator. Let's get started! |
C Programming Interview Questions Posted: 17 Sep 2020 11:15 AM PDT Most interview questions are based on algorithms and live coding. Companies know that learning a programming language or switching from one language to another should not be a problem for the candidate. But sometimes, for specific jobs, companies look for the candidate who specializes in a particular language. Here are some of the most frequently asked questions I have compiled that are asked during the interview for C developers. C is a procedural programming language, used for writing effective programs. C is widely used language for the following reasons: |
Kubernetes Cloud Autoscalar in Terraform - Part 1 Posted: 17 Sep 2020 11:13 AM PDT Cluster Autoscaler - It is a component that automatically adjusts the size of a Kubernetes Cluster so that all pods have a place to run and there are no unneeded nodes. It can be created by using the YAML file, Helm Chart, or Terraform. The following example creates the Cloud Autoscalar deployment using Terraform dynamic Modules. Resource kubernetes_deployment:- Plain Text xxxxxxxxxx 1 75 1 cluster-autoscaler.tf:- 2 resource "kubernetes_deployment" "cluster-autoscaler" { 3 metadata { 4 name = var.cluster-autoscaler-data["cluster-autoscaler-name"] 5 namespace = var.cluster-autoscaler-data["namespace"] 6 labels = { 7 "app" = var.cluster-autoscaler-data["cluster-autoscaler-label"] 8 } 9 } 10 11 spec { 12 replicas = 1 13 selector { 14 match_labels = { 15 "app" = var.cluster-autoscaler-data["cluster-autoscaler-label"] 16 } 17 } 18 19 template { 20 metadata { 21 labels = { 22 "app" = var.cluster-autoscaler-data["cluster-autoscaler-label"] 23 } 24 annotations = { 25 "prometheus.io/port" = "8085" 26 "prometheus.io/scrape" = "true" 27 } 28 } 29 30 spec { 31 automount_service_account_token = true 32 termination_grace_period_seconds = 300 33 service_account_name = var.service-account-name 34 35 container { 36 image = var.cluster-autoscaler-data["image_name"] 37 name = "cluster-autoscaler" 38 command = ["./cluster-autoscaler", 39 "--v=4", 40 " --stderrthreshold=info", 41 "--cloud-provider=aws", 42 "--skip-nodes-with-local-storage=false", 43 "--expander=least-waste", 44 "--node-group-auto-discovery=asg:tag=k8s.io/cluster-autoscaler/enabled,k8s.io/cluster-autoscaler/${var.eks_cluster_name}" 45 ] 46 resources { 47 limits { 48 cpu = "100m" 49 memory = "300Mi" 50 } 51 requests { 52 cpu = "100m" 53 memory = "300Mi" 54 } 55 } 56 volume_mount { 57 name = "ssl-certs" 58 mount_path = "/etc/ssl/certs/ca-certificates.crt" 59 read_only = "true" 60 } 61 } 62 volume { 63 name = "ssl-certs" 64 host_path { 65 path = "/etc/ssl/certs/ca-bundle.crt" 66 } 67 } 68 } 69 } 70 } 71 } 72 variable.tf :- 73 variable "cluster-autoscaler-data" {} 74 variable "service-account-name" {} 75 variable "eks_cluster_name" {} Service Account Module:- |
How Custom Software Fills the Gap in Hybrid Workforces Posted: 17 Sep 2020 11:08 AM PDT The COVID-19 pandemic has forced workforces to split into two unequal halves: those who can afford to work remotely, and those who can't. While some consider a hybrid workforce as an opportunity--and it is--there's no denying that it's also causing strain to both businesses and their employees. Unless a solution is put in place to help companies adjust to this new situation, the impact will continue to grow. One solution is for companies to invest in custom software that directly addresses the issues associated with a sudden transition to a hybrid workforce. But first, let's examine what those issues are. |
Developing Software for Connected Cars – Common Challenges and How to Tackle Them Posted: 17 Sep 2020 11:00 AM PDT Automotive is transforming into a hyper-connected, software-driven industry that goes far beyond the driving experience. How do you build applications in such an innovative environment? What are the main challenges of providing software for connected cars and how to deal with them? Let's dive into the process of utilizing the capabilities of the cloud to move automotive forward. People have always aimed for the clouds. From Icarus in Greek mythology, first airplanes and spaceships to dreams about flying cars – our culture and history of technology development express a strong desire to go beyond our limits. Although the vision from Back to the Future and other Sci-Fi movies didn't come true and our cars cannot be used as flying vehicles, our cars actually are in the cloud. |
Maven Plugin Testing In a Modern Way Part IV Posted: 17 Sep 2020 10:57 AM PDT In the previous part of the series - Maven Plugin Testing - In a Modern way - Part III we have seen how to define command line options. In this part, we will take a deeper look at which goals will run for each test case and how we can change that. Let us start with simple example test case like the following: |
Spring Boot REST API: PathVariable Validation Example Posted: 17 Sep 2020 10:52 AM PDT In the video below, we take a closer look at how we can perform PathVariable validation in a Spring Boot REST API. Let's get started! |
Why You Should Never, Ever print() in a Lambda Function Posted: 17 Sep 2020 10:46 AM PDT A Tale of Two Lambda UsersTale #1: The AmateurOne moment everything is fine, then … Bam! Your Lambda function raises an exception, you get alerted and everything changes instantly. Critical systems could be impacted, so it's important that you understand the root cause quickly. |
Building a Data Catalog For Small and Medium-Sized Businesses Posted: 17 Sep 2020 10:43 AM PDT So you're ready to build your data catalog - where do you begin?Whether you're at a small to medium-sized business (SMB) with only a half a dozen developers to support everything from your new product features to your CICD pipeline or you're at a mid-market company with 600 employees that's looking to enter a new market, chances are that you simply don't have a lot of time. What you probably do have, however, are teammates constantly asking you what does the data mean, where does it come from, when will it be loaded and at some point, you'll probably be asking yourself "what was the data flow in that pipeline I wrote last year"? |
Kick-off Your Transformation With a Pre-Mortem Posted: 17 Sep 2020 10:36 AM PDT Large scale change initiatives (Lean, Agile, etc.) have a worryingly high failure rate. A chief reason for which is that serious risks are not identified early. One way to create the safety needed for everyone to speak openly about the risks they see is by running a pre-mortem workshop. Pre-mortems leverage a psychological technique called 'prospective hindsight' – imagining that the transformation had already failed, and walking backward from there to investigate what led to the failure. When asked by the editor of the online science and technology magazine Edge.org to share one brilliant but overlooked concept or idea that he believes everyone should know, the Nobel laureate Richard H. Thaler, father of behavioral economics, former president of the American Economic Association, and an intellectual giant of our time did not hesitate. "The Pre-mortem!"[1], he said. |
Finding and Fixing Django N+1 Problems Posted: 17 Sep 2020 10:26 AM PDT The Django Python framework allows people to build websites extremely fast. One of its best features is the Object-relational mapper (ORM), which allows you to make queries to the database without having to write any SQL. Django will allow you to write your queries in Python and then it will try to turn those statements into efficient SQL. Most of the time the ORM creates the SQL flawlessly, but sometimes the results are less than ideal. One common database problem is that ORMs can cause N+1 queries. These queries include a single, initial query (the +1), and each row in the results from that query spawns another query (the N). These often happen when you have a parent-child relationship. You select all of the parent objects you want and then when looping through them, another query is generated for each child. This problem can be hard to detect at first, as your website could be performing fine. But as the number of parent objects grows, the number of queries increases as well — to the point of overwhelming your database and taking down your application. |
How to Exploit a Microservice Architecture Posted: 17 Sep 2020 10:23 AM PDT With an emerging pattern of organizations embracing the DevOps framework, adopting Microservice Architecture is steadily gaining the respect it deserves. While DevOps eliminate organizational silos by enabling efficient collaboration, streamlining workflow integration, and automating application delivery. Microservice Architecture acts as an essential enabler to achieve a DevOps model by distributing an application into multiple deployable services. Microservices work as autonomous applications, decoupled from each other, and can be built, scaled, and deployed independently. This lets teams comprehend the application architecture easily and speed up delivery pipelines. |
You are subscribed to email updates from DZone.com Feed. To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States |
Comments
Post a Comment