Posts

Showing posts with the label api

RATE LIMIT, REDIS E SPRING BOOT

Quando un microservizio si integra con un servizio esterno, uno dei rischi più comuni è quello di superare il rate limit imposto dal provider. Molte API pubbliche e private adottano meccanismi di API throttling per proteggere le proprie risorse e garantire un uso equo, definendo soglie come ad esemoio  max 5000 chiamate al giorno o x chiamate al minuto . Il problema In uno scenario reale, il nostro microservizio - dove per nostro intendo creato e manutenuto dal gruppo di lavoro in cui svolgo la mia attività - effettuava chiamate verso un servizio esterno con un limite massimo di 5000 richieste giornaliere. Sebbene il carico previsto fosse ampiamente inferiore alla soglia, esisteva comunque un rischio legato a: chiamate duplicate da parte del client , retry non controllati , picchi improvvisi , scalabilità automatica del microservizio che poteva moltiplicare le chiamate. Al superamento del limite, il servizio esterno avrebbe restituito errori, compromettendo l’a...

CONSUMARE API REST CON FLUTTER

Image
Per perseguire lo scopo di questo articolo, ci avvaliamo di JSONPlaceholder . Questo sito fornisce delle fake API da interrogare per scopi di test tra cui una classica /users in GET che restituisce una lista di 10 utenti. Lato Flutter, ci sono numerose librerie che consentono di integrare API, ma per questo articolo sceglieremo la più classica http . Aggiungiamo, all'interno del nostro pubspec.yaml , le seguenti dipendenze: name: rest_api_example description: A new Flutter project. version: 1.0.0+1 environment: sdk: ">=2.15.1 <3.0.0" dependencies: cupertino_icons: ^1.0.2 flutter: sdk: flutter http: ^0.13.4 dev_dependencies: flutter_lints: ^1.0.0 flutter_test: sdk: flutter flutter: uses-material-design: true Il passo successivo è creare una classe di costanti in cui inserire il base path delle api da invocare così come l'url che restituirà la lista di utenti. Il file constants.dart avrà la seguente struttura: class ApiConstants { ...

JAVA STREAM API: 5 USI PIU' COMUNI

A partire da Java 8 , tutte le classi che implementano l'interfaccia Collection possono costituire la sorgente di uno stream. Esso è una sorta di Iterator infinito, lazy ed attraversabile un'unica volta dove sui suoi elementi è possibile effettuare operazioni terminali o intermedie. Le prime generano un risultato di un determinato tipo mentre le seconde un nuovo stream su cui è possibile invocare nuove operazioni in un processo a catena. L'utilizzo delle stream API in combinazione con le lambda costituisce un modo super efficace di lavorare con le collezioni. Diamo quindi un'occhiata agli utilizzi più comuni di queste API. FILTER : utilizzato per rimuovere valori all'interno di una collection sulla base di una determinata condizione. List<Integer> numbers = Arrays.asList(1,2,3,4,5,6,7); List<Integer> oddNUmbers = numbers.stream().filter(el -> el % 2 == 0).collect(toList()); REDUCE : utilizzato per applicare una funzione ad ogni elemento della collecti...

Popular posts from this blog

QUERY E SPRING DATA

FONDO COMETA: UNA GUIDA COMPLETA AL FONDO PENSIONE DEI METALMECCANICI

JASPER REPORT: CREAZIONE DI PDF IN JAVA

AGGIORNAMENTO INVESTIMENTI 2° TRIMESTRE 2024

QUEI COPIONI DEGLI ETF

STRATEGIE D'INVESTIMENTO A CONFRONTO: DOLLAR-COST AVERAGING VS VALUE AVERAGING

UNA PICCOLA INTRODUZIONE A DART