Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

Using JWTs to authenticate services unravels API gateways

Categories

Tags apis infosec java web-development app-development

The API gateway component in a cloud native architecture is critical because it offloads critical API security and policy functionality to a common place, allowing the backend APIs and services to focus on business logic. API authentication, authorization, audit, throttling and similar tasks can be complex and difficult to get right, so many organizations choose an API gateway to handle them. By Christian Posta and Peter Jausovec.

Further in the article:

  • How to use JWTs to authenticate S2S communication
    • Option 1: Use an STS to issue tokens
    • Option 2: Have the service sign its own tokens
  • Where things can go wrong with JWT
  • JWT Complexity is where service mesh simplifies things

We’ve covered some ways JWTs can be used to represent service identity and suggested areas of concern. There are several areas to closely watch in your services architecture to avoid security holes. If these are not bulletproof, you will give attackers opportunities to compromise your system.

To guard against replaying the bearer token, you must limit exposure by setting brief expiration times, ideally just a couple of minutes. This puts more onus on the services to refresh their JWTs for their requests. Setting the expiration for hours, days, or months happens too often. This is a big security hole. Nice one!

[Read More]

TLS vs SSL: What's the difference? Which one should you use?

Categories

Tags miscellaneous infosec browsers web-development ssl

Both TLS and SSL are protocols that help you securely authenticate and transport data on the Internet. But what’s the difference between TLS vs SSL? And is it something you need to worry about? By kinsta.com.

In this article, you’ll learn the key differences between TLS vs SSL, as well as how both protocols connect to HTTPS. You’ll also learn why, as an end-user, you probably don’t need to worry too much about TLS vs SSL or whether you’re using an “SSL certificate” or a “TLS certificate”.

The content of the article:

  • What is the difference between TLS vs SSL?
  • How TLS and SSL work at a basic level
  • Why is it called an SSL certificate and not a TLS certificate?
  • Why you should use TLS and not SSL (and why you probably already are even if you don’t know it)

To sum everything up, TLS and SSL are both protocols to authenticate and encrypt the transfer of data on the Internet. The two are tightly linked and TLS is really just the more modern, secure version of SSL. Good read!

[Read More]

Privacy vs. security: Exploring the differences & relationship

Categories

Tags miscellaneous infosec browsers web-development cio

Learn how Adaptive Multi-Factor Authentication combats data breaches, weak passwords, and phishing attacks. By okta.com.

Both security and privacy are important in the physical and digital worlds. Privacy is the right to control how your information is viewed and used, while security is protection against threats or danger. In the digital world, security generally refers to the unauthorized access of data, often involving protection against hackers or cyber criminals. Privacy involves your right to manage your personal information, and security is the protection of this information. Both are equally important aspects of cyber safety. You have privacy rights and should take measures to secure your personal information and data within the digital environment.

The article make a good job explaining:

  • Security & privacy explained
  • Definition of privacy
  • Importance of data privacy
  • Security defined
  • Need for security
  • Security vs. privacy
  • Laws regarding information privacy & security compliance
  • Tips for protecting your privacy & security

Once your data is online, it is no longer in your direct control. Be careful whom you share this information with. Be sure that you know exactly what they are collecting from you, how they intend to secure and protect your private information, and whom they are going to share this data with. Being informed and aware can help protect both your privacy and security. Super informative!

[Read More]

Apache ZooKeeper: The perfect tool for configuration management

Categories

Tags event-driven software-architecture management devops apache

Apache ZooKeeper is an open-source distributed coordination system that provides a platform for configuration management, process synchronization, and lock management. Originally developed by Yahoo, it is now maintained by the Apache Software Foundation. By datascientest.com.

Further in the article:

  • How does Zookeeper work?
  • What is a data model?
  • What are the different types of knot?

ZooKeeper uses a data model based on a hierarchy of nodes, similar to the structure of a file system. Therefore, each node is identified by a unique path within the tree. They can have children, which are essentially nodes placed under the parent node in the hierarchy. This tree-like structure allows for the creation of complex data structures to represent the information required for the coordination and synchronization of distributed applications.

Apache ZooKeeper is a distributed coordination system, which presents itself as a single entity, but conceals an entire complex system. It solves all the problems encountered by distributed applications thanks to its framework, which also provides a number of services, including configuration management and naming services. Excellent read!

[Read More]

Building components for consumption, not complexity

Categories

Tags ux css learning web-development frontend

Design systems are on the tip of every designer’s tongue, but the narrative in the industry mainly focuses on why you need a design system and its importance rather than the reality of endless maintenance and internal politics. The truth is that design teams spend years creating these systems only to find out that few people adhere to the guidelines or stay within the “guardrails”. By Luis Ouriach.

A concept that has been long-used in the developer world and loosely agreed upon in the design community is termed “component slots.” This approach allows the design system maintainers to ship component containers with agreed properties — sizing, padding, and styles — whilst allowing for a flexible arrangement of components inside it Ultimately, all we want are components which are:

  • Flexible
  • Repeatable
  • Adoptable
  • Indexable
  • Logical
  • Specific

Components are inherently part of a system that spans design and engineering — and often brand and marketing, too. We, as designers, are seemingly on a mission to call this a design system, but author’d much prefer for us as an industry to steer away from applying the word “design” to activities that are cross-functional by nature. Good read!

[Read More]

Revamping your code: Masterful techniques for effective code refactoring

Categories

Tags oop learning code-refactoring programming performance

Enhance code quality, reduce technical debt, and boost software reliability with essential code refactoring techniques. By Shivali Maheshwari.

In the dynamic world of software development, change is the only constant. As projects evolve and requirements shift, it’s easy for codebases to become tangled, complex, and hard to maintain. That’s where the art of code refactoring comes into play.

Author then focuses on:

  • Clean code
  • Code smells
  • Refactoring techniques

Clean code is easy to understand, with clear and descriptive variable and method names, consistent formatting, and a well-organized structure. It also code minimizes dependencies, reduces the risk of errors, and simplifies maintenance.

By making code refactoring a continuous process, you can ensure long-term project success and increased team satisfaction. So, embark on this journey of code improvement, and watch your codebase evolve into a masterpiece of clean, maintainable software. Happy coding!

[Read More]

FunSearch: DeepMind unlocks math discoveries with AI

Categories

Tags data-science google big-data programming

FunSearch teams up creative AI that spits out code with a system that checks if the ideas are actually good. This back-and-forth helps it evolve initial thoughts into solid discoveries. By Alex Ivanovs.

In a leap for artificial intelligence, Google DeepMind researchers have unveiled a new AI-driven tool named FunSearch, which has made unprecedented discoveries in the realm of mathematical sciences. This tool marks the first instance where a Large Language Model (LLM) has contributed to solving complex open problems in mathematics and computer science.

FunSearch by Google DeepMind

Source: https://blog.postman.com/2022-api-platform-landscape-trends-and-challenges/

At its core, FunSearch is a marriage of creative AI and precise evaluation. It starts with an LLM, like Google’s PaLM 2, which generates inventive solutions in code. These are then sifted through by an automated evaluator, ensuring only accurate and viable ideas progress. This back-and-forth process allows initial concepts to evolve into groundbreaking discoveries.

What sets FunSearch apart is its problem-solving ability and how it does so. Unlike black-box solutions, it produces programs that reveal the ‘how’ of the solutions, not just the ‘what’. This transparency allows scientists to understand and learn from the AI’s approach, sparking new insights and strategies. Good read!

[Read More]

How to learn Scala for data engineering?

Categories

Tags data-science scala big-data learning programming

Scala has been one of the most trusted and reliable programming languages for several tech giants and startups to develop and deploy their big data applications. Top companies from Netflix and LinkedIn to Foursquare and AirBnB take advantage of the many benefits of Scala in reliably developing their platforms and integrating with state-of-the-art machine learning models. By ParamRaval.

The article makes a good job explaining:

  • What is Scala for data engineering?
  • Why should data engineers Learn Scala for data engineering?
  • Java vs. Scala for data engineering
  • Python vs. Scala for data engineering
  • Learn Scala for data engineering - How to get started
  • Scala for data engineering tutorial - Beginning to code in Scala

Although not widely known, Scala has been developed over several years to tackle some significant problems in handling massive data pipelines. Several months ago, worldwide feedback from companies working with large datasets showed us how they had shifted their big data projects to Scala, given its flexibility and production performance. Nice one!

[Read More]

Tech stack: Meaning, examples & explanations

Categories

Tags web-development app-development learning programming javascript

Understanding the concept of a tech stack is essential. In this blog post, we look at the meaning of the term “tech stack,” explore its components and provide examples of common tech stacks. By Daragh Ó Tuama.

Further in this article you will learn:

  • What is a tech stack?
  • What is in a tech stack?
  • Presentation layer (Front End)
  • Application layer
  • Data layer
  • The best tech stacks for programmers
    • LAMP stack
    • MEAN stack
    • MERN stack
    • .NET stack
  • Which tech stack should I learn?

By starting with the fundamentals and gradually exploring different technologies, you can develop a strong foundation in software development and stay adaptable in this ever-changing field. So, embrace the world of tech stacks and embark on your journey to become a proficient developer. Good read!

[Read More]

AWS Lambda functions now scale 12 times faster when handling high-volume requests.

Categories

Tags serverless web-development event-driven performance

Now AWS Lambda scales up to 12 times faster. Each synchronously invoked Lambda function now scales by 1,000 concurrent executions every 10 seconds until the aggregate concurrency across all functions reaches the account’s concurrency limit. By Marcia Villalba.

Building scalable and high-performing applications can be challenging with traditional architectures, often requiring over-provisioning of compute resources or complex caching solutions for peak demands and unpredictable traffic. Many developers choose Lambda because it scales on-demand when applications face unpredictable traffic.

Before this update, Lambda functions could initially scale at the account level by 500–3,000 concurrent executions (depending on the Region) in the first minute, followed by 500 concurrent executions every minute until the account’s concurrency limit is reached. Because this scaling limit was shared between all the functions in the same account and Region, if one function experienced an influx of traffic, it could affect the throughput of other functions in the same account. This increased engineering efforts to monitor a few functions that could burst beyond the account limits, causing a noisy neighbor scenario and reducing the overall concurrency of other functions in the same account. Excellent news!

[Read More]