Curated, handpicked list of resources for software engineers -- daily! Devops, coding, bigdata and science.

Redditch
Joined January 2017
codeisgo.com retweeted
Rancher Live: What is Developer Advocacy? We will do our best to explain what we do, what benefits our roles brings to the company and everything in between. Join @OrlinVasilev @kaslinfields Jorge Castro YouTube: okt.to/lUOFJW LinkedIn: okt.to/u16idF and on X!
1
5
519
codeisgo.com retweeted
๐Ÿš€ Level up your #Kubernetes skills with SUSE Rancher Rodeos. Join our free online workshops tailored for #DevOps and IT teams. ๐Ÿ‘‰ Get hands-on with SUSE Rancher Prime, App Collection and SUSE Observability guided by SUSE experts. ๐Ÿ”— Register now: okt.to/Zt06xH
2
9
698
codeisgo.com retweeted
12 Git commands you must know
10
354
8
2,072
189,780
codeisgo.com retweeted
๐Ÿ“ฃ Release announcement ๐Ÿ“ฃ โœจ v1.19 of @kubewarden is generally available! โœจ With a host of improvements, such as โœ… bug fixes, โœ… dependency updates and โœ… tech debt improvements, we can't wait for you to give it a spin today!๐ŸŒ€ ๐Ÿ” Secure your #kubernetes clusters with the flexibility of #WebAssembly! Learn more ๐Ÿ‘‰ kubewarden.io/blog/2024/11/kโ€ฆ
2
3
679
Enough ads today?

91
30
1,250
25,218,118
4
222
6
1,155
144,816
codeisgo.com retweeted
Top 9 Architectural Patterns for Data and Communication Flow ๐Ÿ”น Peer-to-Peer The Peer-to-Peer pattern involves direct communication between two components without the need for a central coordinator. ๐Ÿ”น API Gateway An API Gateway acts as a single entry point for all client requests to the backend services of an application. ๐Ÿ”น Pub-Sub The Pub-Sub pattern decouples the producers of messages (publishers) from the consumers of messages (subscribers) through a message broker. ๐Ÿ”น Request-Response This is one of the most fundamental integration patterns, where a client sends a request to a server and waits for a response. ๐Ÿ”น Event Sourcing Event Sourcing involves storing the state changes of an application as a sequence of events. ๐Ÿ”น ETL ETL is a data integration pattern used to gather data from multiple sources, transform it into a structured format, and load it into a destination database. ๐Ÿ”น Batching Batching involves accumulating data over a period or until a certain threshold is met before processing it as a single group. ๐Ÿ”น Streaming Processing Streaming Processing allows for the continuous ingestion, processing, and analysis of data streams in real-time. ๐Ÿ”น Orchestration Orchestration involves a central coordinator (an orchestrator) managing the interactions between distributed components or services to achieve a workflow or business process. โ€“ Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/3KCnWXq
2
202
5
776
62,189
With Copilot in OneDrive, you will be able to ask questions about the contents of files and get smart answers. See our Microsoft Cloud Monday Bulletin for this and more ๐Ÿ‘‰ bit.ly/3JPaize #Microsoft365 #ManagedCloudServices #SmallBusiness #MicrosoftCloudMonday
1
1
36
Happy 124th Birthday to Wolfgang Pauli, a Nobel Prize-winning physicist known for his work on quantum mechanics and the Pauli exclusion principle. He was known for his sharp wit and was referred to as the "conscience of physics" for his honesty in criticizing flawed theories. Image: Wolfgang Pauli on his 45th birthday. (CERN Archive)
15
81
6
422
46,588
Discover new possibilities โ€“ with the new stylish Samsung Galaxy S23 Ultra. It is equipped with the latest Snapdragonยฎ 8 Gen 2 Mobile Platform for Galaxy, delivering lightning-fast speed, superior performance and stunning efficiency โ€“ the ultimate mobile processor.

75
95
1,212
23,603,166
codeisgo.com retweeted
Understanding the API Gateway An API Gateway is a server that acts as the single entry point for all clients. It provides a unified interface to a set of microservices, simplifies the client-side code, and hides the internal structure of the application. Here is a detailed breakdown of its functions: 1. Client Request Handling: The API Gateway receives HTTP requests from various client devices and applications. 2. Request Validation: It checks that the incoming requests are well-formed and have correct format and necessary parameters. 3. Access Control Lists: It implements allow-lists and deny-lists to control access to various services, preventing unauthorized requests from proceeding. 4. Authentication and Authorization: It interacts with authentication services to verify the identity of the requester and checks permissions to ensure they are authorized to access the requested resources. 5. Rate Limiting: It applies predefined rules to limit the number of requests a client can make within a certain time frame to prevent abuse and manage load. 6. Service Discovery: It identifies the appropriate services required to fulfill the request based on the request path, parameters, or headers. 7. Dynamic Routing: It directs the validated and authorized requests to the correct backend services. 8. Protocol Translation: It converts the request from the web-friendly protocols like HTTP/HTTPS to the specific protocols used by the backend services, if necessary. 9. Error Handling: It catches and handles any errors that may arise during the processing of requests, ensuring graceful degradation of service. 10. Circuit Breaking: It implements patterns to detect failures and prevent overloading the system, avoiding cascading failures in interconnected services. 11. Monitoring and Logging: It utilizes tools like the ELK stack for logging requests and responses, which is crucial for monitoring, tracing, and debugging. 12. Caching: It optionally stores responses to common requests, reducing the number of calls to the backend services. The API Gateway is an orchestration layer that manages request routing, composition, and protocol translation to provide seamless integration and efficient management of backend services. This is particularly important in microservices architectures where it simplifies client interactions with many services and enables the system to operate cohesively. โ€“ Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/496keA7
5
288
4
1,249
150,688
codeisgo.com retweeted
Fedora 39 waves goodbye to modularity, but has enough spins to make your head spin dlvr.it/SymW0w โ€“ at Hockessin, DE
6
4
229
codeisgo.com retweeted
Without doubt, automation is one of the strongest trends we see today, with huge potential for future development. Thatโ€™s why the applications weโ€™ll showcase this week at #SPS2023 run the gamut from powerful edge computing to energy monitoring systems: blog.arduino.cc/2023/10/30/rโ€ฆ
6
46
11,981
codeisgo.com retweeted
HTTP/1 to HTTP/2 to HTTP/3 HTTP/1.0 was finalized in 1996. Every request to the same server requires a separate TCP connection which is expensive to establish. HTTP/1.1 (1997) introduced persistent connections, which allow a TCP connection to be reused for multiple requests and responses. This reduces the latency in setting up new connections for each request. But HTTP/1.1 doesnโ€™t solve the head-of-line (HOL) blocking problem. Although HTTP/1.1 enabled pipelining, where multiple requests could be sent out without waiting for each response, the responses still had to be processed and sent back in the order the requests were received. This ordering requirement caused HOL blocking - if the first request took a long time, all later requests had to wait. HTTP/2 (2015) introduced HTTP streams - an abstraction that allows multiplexing different HTTP exchanges onto the same TCP connection. Streams donโ€™t need to be sent in order. This eliminates HOL blocking at the application layer. But HOL still exists at the TCP transport layer. HTTP/3 draft was published in 2020. It uses QUIC instead of TCP as the transport protocol, removing HOL blocking in the transport layer. QUIC uses UDP. It introduces streams at the transport layer. QUIC streams share one connection, so no new handshakes or slow starts are necessary to create new streams. QUIC streams are delivered independently so packet loss usually doesnโ€™t affect other streams. โ€“ Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/496keA7
3
208
816
97,562
codeisgo.com retweeted
Why is PostgreSQL voted the ๐ฆ๐จ๐ฌ๐ญ ๐ฅ๐จ๐ฏ๐ž๐ ๐๐š๐ญ๐š๐›๐š๐ฌ๐ž by Stackoverflow 2022 Developer Survey? The diagram shows the many use cases by PostgreSQL - one database that includes almost ๐š๐ฅ๐ฅ ๐ญ๐ก๐ž ๐ฎ๐ฌ๐ž ๐œ๐š๐ฌ๐ž๐ฌ developers need. ๐Ÿ”นOLTP (Online Transaction Processing) We can use PostgreSQL for CRUD (Create-Read-Update-Delete) operations. ๐Ÿ”นOLAP (Online Analytical Processing) We can use PostgreSQL for analytical processing. PostgreSQL is based on ๐‡๐“๐€๐ (Hybrid transactional/analytical processing) architecture, so it can handle both OLTP and OLAP well. ๐Ÿ”นFDW (Foreign Data Wrapper) A FDW is an extension available in PostgreSQL that allows us to access a table or schema in one database from another. ๐Ÿ”นStreaming PipelineDB is a PostgreSQL extension for high-performance time-series aggregation, designed to power real-time reporting and analytics applications. ๐Ÿ”นGeospatial PostGIS is a spatial database extender for PostgreSQL object-relational database. It adds support for geographic objects, allowing location queries to be run in SQL. ๐Ÿ”นTime Series Timescale extends PostgreSQL for time series and analytics. For example, developers can combine relentless streams of financial and tick data with other business data to build new apps and uncover unique insights. ๐Ÿ”นDistributed Tables CitusData scales Postgres by distributing data & queries. Over to you: Which database do you like the most? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/3KCnWXq
22
300
8
1,402
217,794
SSO (Single Sign-On) Explained. SSO can be thought of as a master key to open all different locks.ย It allows a user to log in to different systems using a single set of credentials. In a time where we are accessing more applications than ever before, this is a big help to mitigate password fatigue and streamlines user experience. To fully understand the SSO process, ๐—น๐—ฒ๐˜โ€™๐˜€ ๐˜๐—ฎ๐—ธ๐—ฒ ๐—ฎ ๐—น๐—ผ๐—ผ๐—ธ ๐—ฎ๐˜ ๐—ต๐—ผ๐˜„ ๐—ฎ ๐˜‚๐˜€๐—ฒ๐—ฟ ๐˜„๐—ผ๐˜‚๐—น๐—ฑ ๐—น๐—ผ๐—ด ๐—ถ๐—ป๐˜๐—ผ ๐—Ÿ๐—ถ๐—ป๐—ธ๐—ฒ๐—ฑ๐—œ๐—ป ๐˜‚๐˜€๐—ถ๐—ป๐—ด ๐—š๐—ผ๐—ผ๐—ด๐—น๐—ฒ ๐—ฎ๐˜€ ๐˜๐—ต๐—ฒ ๐—ถ๐—ฑ๐—ฒ๐—ป๐˜๐—ถ๐˜๐˜† ๐—ฝ๐—ฟ๐—ผ๐˜ƒ๐—ถ๐—ฑ๐—ฒ๐—ฟ: ๐Ÿญ) ๐—จ๐˜€๐—ฒ๐—ฟ ๐—ฟ๐—ฒ๐—พ๐˜‚๐—ฒ๐˜€๐˜๐˜€ ๐—ฎ๐—ฐ๐—ฐ๐—ฒ๐˜€๐˜€ First, the user would attempt to access the Service Provider (LinkedIn). At this point, a user would be presented with login options, and in this example, they would select "Sign in with Google". ๐Ÿฎ) ๐—”๐˜‚๐˜๐—ต๐—ฒ๐—ป๐˜๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—ฟ๐—ฒ๐—พ๐˜‚๐—ฒ๐˜€๐˜ From here, the Service Provider (LinkedIn) will redirect the user to the Identity Provider (Google) with an authentication request. ๐Ÿฏ) ๐—œ๐—ฑ๐—ฃ ๐—ฐ๐—ต๐—ฒ๐—ฐ๐—ธ๐˜€ ๐—ณ๐—ผ๐—ฟ ๐—ฎ๐—ฐ๐˜๐—ถ๐˜ƒ๐—ฒ ๐˜€๐—ฒ๐˜€๐˜€๐—ถ๐—ผ๐—ป Once the Identity Provider (Google) has received the request, it will check for an active session. If it doesn't find one, authentication will be requested. ๐Ÿฐ) ๐—จ๐˜€๐—ฒ๐—ฟ ๐˜€๐˜‚๐—ฏ๐—บ๐—ถ๐˜๐˜€ ๐—ฐ๐—ฟ๐—ฒ๐—ฑ๐—ฒ๐—ป๐˜๐—ถ๐—ฎ๐—น๐˜€ At this stage, the user will submit their login credentials (username and password) to the Identity Provider (IdP). ๐Ÿฑ) ๐—œ๐—ฑ๐—ฃ ๐˜ƒ๐—ฒ๐—ฟ๐—ถ๐—ณ๐—ถ๐—ฒ๐˜€ ๐—ฐ๐—ฟ๐—ฒ๐—ฑ๐—ฒ๐—ป๐˜๐—ถ๐—ฎ๐—น๐˜€ The Identity Provider will then verify the submitted credentials against its User Directory (database). If the credentials are correct, the IdP will create an authentication token or assertion. ๐Ÿฒ) ๐—œ๐—ฑ๐—ฃ ๐˜€๐—ฒ๐—ป๐—ฑ๐˜€ ๐˜๐—ผ๐—ธ๐—ฒ๐—ป ๐˜๐—ผ ๐—ฆ๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐˜ƒ๐—ถ๐—ฑ๐—ฒ๐—ฟ Once the token or assertion has been created, the IdP sends it back to the Service Provider confirming the user's identity. The user is now authenticated and can access the Service Provier (LinkedIn). ๐Ÿณ) ๐—”๐—ฐ๐—ฐ๐—ฒ๐˜€๐˜€ ๐—ด๐—ฟ๐—ฎ๐—ป๐˜๐—ฒ๐—ฑ ๐˜‚๐˜€๐—ถ๐—ป๐—ด ๐—ฒ๐˜…๐—ถ๐˜€๐˜๐—ถ๐—ป๐—ด ๐˜€๐—ฒ๐˜€๐˜€๐—ถ๐—ผ๐—ป Since the Identity Provider has established a session, when the user goes to access a different Service Provider (eg; GitHub), they won't need to re-enter their credentials. Future service providers will request authentication from the Identity Provider, recognize the existing session, and grant access to the user based on the previously authenticated session. SSO workflows like the above operate on SSO protocols, which are a set of rules that govern how the IdP and SP communicate and trust each other. Common protocols include Security Assertion Markup Language (SAML), OpenID Connect, and OAuth.
18
779
6
3,244
342,597
๐Ÿš€ Exciting updates from OpenAI's DevDay! ๐Ÿค–โœจ Unveiling GPTs, a customizable ChatGPT, Turbo GPT-4 with a 128k context window, a GPT store, and more. Explore the future of AI with OpenAI! ๐ŸŒ๐Ÿ“ฒ #OpenAI #DevDay #AIRevolution datanami.com/2023/11/07/openโ€ฆ
3
4
1,659