Ripetute in Salita

Le Ripetute in Salita sono un tipo di allenamento particolarmente utile per sviluppare la forza muscolare, la potenza e la resistenza anaerobica. Come suggerisce il nome, si tratta di ripetere più volte un tratto di salita, correndo a un’alta intensità, seguito da una fase di recupero in discesa o su terreno pianeggiante. Questo tipo di allenamento è efficace non solo per chi corre gare in cui sono presenti pendenze, ma anche per migliorare la forza e l’efficienza della corsa su superfici piane.

Caratteristiche delle Ripetute in Salita

  1. Alta Intensità: Le ripetute in salita si corrono a una velocità elevata, ma controllata, poiché l’obiettivo è mantenere una buona tecnica di corsa. L’intensità dello sforzo è simile a quella di un allenamento di ripetute brevi, ma su un terreno inclinato.
  2. Pendenza: Le salite scelte per l’allenamento dovrebbero avere una pendenza moderata (circa 4-8%), sufficientemente ripida da richiedere uno sforzo intenso, ma non così ripida da compromettere la meccanica della corsa o rendere difficile mantenere una velocità adeguata.
  3. Distanza o Tempo: Le ripetute in salita possono essere misurate in distanza o in tempo. Di solito, le distanze variano dai 100 ai 300 metri, oppure da 30 secondi a 2 minuti di corsa in salita a ritmo sostenuto.
  4. Recupero: Dopo ogni ripetuta in salita, il recupero è attivo, spesso in forma di una corsa leggera o camminata in discesa, per prepararsi alla ripetuta successiva. Il recupero dura in genere quanto la fase di salita o leggermente di più (ad esempio, 1-2 minuti di recupero per ogni ripetuta da 30-60 secondi).
  5. Buona Tecnica: Durante le ripetute in salita è fondamentale mantenere una tecnica di corsa efficace, con passi più brevi, il busto leggermente inclinato in avanti, e un’azione vigorosa delle braccia per aiutare nella spinta.

Esempi di Ripetute in Salita

  1. Ripetute Brevi in Salita:
    • Riscaldamento: 10-15 minuti di corsa leggera.
    • Sessione principale: 10 ripetute su una salita di 100-150 metri o 30-45 secondi di corsa intensa.
    • Recupero: Corsa lenta o camminata in discesa, per 1-2 minuti tra ogni ripetuta.
    • Raffreddamento: 10 minuti di corsa leggera.
  2. Ripetute Lunghe in Salita:
    • Riscaldamento: 10-15 minuti di corsa leggera.
    • Sessione principale: 6-8 ripetute su una salita di 200-300 metri o 1-2 minuti di corsa intensa.
    • Recupero: Corsa lenta o camminata in discesa, per 2-3 minuti tra ogni ripetuta.
    • Raffreddamento: 10 minuti di corsa leggera.

Benefici delle Ripetute in Salita

  1. Aumento della Forza Muscolare: Correre in salita coinvolge in modo intenso i muscoli delle gambe, in particolare i quadricipiti, i glutei e i polpacci, migliorando la forza complessiva. Questo rende più efficienti anche durante la corsa su superfici pianeggianti.
  2. Miglioramento della Potenza e della Spinta: Le salite richiedono uno sforzo maggiore per avanzare contro la gravità. Questo aiuta a sviluppare la potenza e la capacità di spingere con forza ad ogni passo, rendendo la corsa più efficiente e aiutando nelle accelerazioni in gara.
  3. Miglioramento della Tecnica di Corsa: Correre in salita richiede una postura corretta e un’azione di braccia coordinata. Le ripetute in salita insegnano a correre con passi brevi e potenti, migliorando la meccanica della corsa.
  4. Resistenza Anaerobica: Le ripetute in salita sono eseguite a intensità elevate, simili a quelle di una corsa anaerobica, e aiutano a migliorare la capacità del corpo di lavorare a ritmi intensi e di gestire la fatica accumulata.
  5. Riduzione del Rischio di Infortuni: Le salite hanno un impatto meno stressante sulle articolazioni rispetto alla corsa in discesa o alla corsa a velocità elevate su superfici piane, riducendo il rischio di infortuni da impatto.
  6. Incremento della Resistenza Mentale: Affrontare salite ripetute aiuta a sviluppare la resistenza mentale necessaria per spingere oltre la fatica e gestire le difficoltà, sia in allenamento che in gara.

Come Inserire le Ripetute in Salita nel Programma di Allenamento

Le ripetute in salita dovrebbero essere eseguite circa una volta alla settimana, preferibilmente durante un giorno dedicato alla velocità o alla forza. Possono essere alternate o integrate con altri tipi di allenamento come le ripetute in piano, l’interval training o le sessioni di fartlek. Un programma settimanale che includa ripetute in salita potrebbe assomigliare a questo:

  • Lunedì: Recupero o corsa leggera.
  • Martedì: Ripetute in salita (es. 10 x 150 metri).
  • Mercoledì: Corsa lenta (recupero attivo).
  • Giovedì: Tempo run o fartlek.
  • Venerdì: Riposo o cross-training.
  • Sabato: Lungo lento.
  • Domenica: Riposo o corsa leggera.

Differenze tra Ripetute in Salita e Altri Tipi di Ripetute

  • Terreno: Le ripetute in salita sono eseguite su un terreno inclinato, il che comporta uno sforzo muscolare maggiore rispetto alle ripetute su terreno pianeggiante.
  • Forza Muscolare: A differenza delle ripetute in piano, le ripetute in salita enfatizzano maggiormente lo sviluppo della forza muscolare, in particolare nei muscoli delle gambe.
  • Velocità: Le ripetute su terreno pianeggiante si concentrano maggiormente sulla velocità pura, mentre le ripetute in salita sono più lente ma richiedono un maggiore sforzo fisico.

Suggerimenti per le Ripetute in Salita

  1. Mantieni una Buona Tecnica: Quando corri in salita, evita di piegarti troppo in avanti o di fare passi troppo lunghi. Mantieni una postura dritta con il busto leggermente inclinato, usa le braccia in modo efficace e mantieni i passi corti e rapidi.
  2. Non Sforzarti Troppo Presto: Se sei nuovo alle ripetute in salita, inizia con poche ripetizioni su salite di breve durata (ad esempio 4-6 ripetute da 100-150 metri) e aumenta gradualmente la quantità e l’intensità man mano che il corpo si adatta.
  3. Varietà di Lunghezze e Pendenze: Prova a variare le salite che utilizzi. Salite più brevi e ripide enfatizzano la potenza, mentre salite più lunghe e meno inclinate sviluppano la resistenza muscolare.
  4. Scegli un Recupero Adeguato: Il recupero deve essere sufficientemente lungo da permetterti di eseguire ogni ripetuta in modo efficace. Generalmente, il recupero è di corsa leggera o camminata in discesa.

Conclusione

Le Ripetute in Salita sono un allenamento potente per chi vuole sviluppare forza, potenza e resistenza anaerobica. Sono un complemento ideale per un programma di allenamento equilibrato, sia che tu stia preparando una gara con pendenze o che desideri semplicemente migliorare la tua forma fisica e la tecnica di corsa su superfici pianeggianti.

Tempo Run (Corsa a Ritmo Soglia)

La Tempo Run, o corsa a ritmo soglia, è uno degli allenamenti chiave per migliorare le prestazioni di un corridore su distanze medie e lunghe. L’obiettivo della Tempo Run è migliorare la soglia anaerobica, cioè il punto in cui il corpo inizia ad accumulare acido lattico nei muscoli più rapidamente di quanto possa essere smaltito. Questo tipo di allenamento consente di correre più velocemente e più a lungo prima di sentirsi affaticati.

Caratteristiche della Tempo Run

  1. Ritmo Sostenuto (Soglia Anaerobica): Il ritmo della Tempo Run si trova leggermente al di sotto o intorno alla tua soglia anaerobica, che corrisponde al massimo ritmo che puoi sostenere per circa un’ora di corsa. Questo ritmo è solitamente descritto come “confortevolmente duro”, nel senso che è impegnativo, ma sostenibile per un periodo prolungato.
    • Per un corridore intermedio, questo ritmo può essere quello di gara dei 10 km o leggermente più lento.
    • Per i maratoneti, potrebbe essere il ritmo di gara della mezza maratona.
  2. Durata Moderata: Le Tempo Run sono generalmente più brevi rispetto ai lunghi lenti, ma abbastanza lunghe da mettere sotto stress il sistema aerobico. Le sessioni tipiche di Tempo Run durano dai 20 ai 40 minuti a ritmo soglia, a seconda del livello di allenamento del corridore. L’allenamento può includere una fase di riscaldamento e una di raffreddamento, portando la durata complessiva dell’allenamento a 45-60 minuti.
  3. Riscaldamento e Raffreddamento: Come per tutti gli allenamenti intensi, è fondamentale iniziare con un riscaldamento di 10-15 minuti di corsa leggera per preparare i muscoli allo sforzo e terminare con un raffreddamento per evitare infortuni.

Esempi di Tempo Run

  1. Tempo Run Classica:
    • Riscaldamento: 10-15 minuti di corsa leggera.
    • Sessione Tempo: 20 minuti a ritmo soglia anaerobica.
    • Raffreddamento: 10 minuti di corsa leggera.
    Questo tipo di allenamento si concentra sul mantenere un ritmo costante per un tempo prolungato.
  2. Tempo Run Intervallata:
    • Riscaldamento: 10 minuti di corsa leggera.
    • Sessione Tempo: 3 blocchi da 10 minuti a ritmo soglia, con 2-3 minuti di recupero di jogging leggero tra i blocchi.
    • Raffreddamento: 10 minuti di corsa leggera.
    Questo è un approccio meno impegnativo rispetto alla Tempo Run continua, ma efficace per chi non è abituato a mantenere un ritmo sostenuto per lungo tempo.

Benefici della Tempo Run

  1. Miglioramento della Soglia Anaerobica: La Tempo Run è progettata per spostare il punto in cui il corpo inizia a produrre acido lattico più velocemente di quanto possa essere eliminato. Ciò significa che potrai correre a un ritmo più veloce senza accumulare acido lattico, prolungando la capacità di correre ad alte intensità.
  2. Miglioramento della Resistenza alla Fatica: Correre a ritmo soglia per periodi prolungati migliora la capacità del corpo di gestire lo sforzo a velocità elevate, rendendoti in grado di sostenere ritmi di gara più a lungo senza affaticarti rapidamente.
  3. Adattamento alla Velocità di Gara: Poiché il ritmo della Tempo Run è simile al ritmo di gara sui 10 km o sulla mezza maratona, aiuta il corpo e la mente a familiarizzare con il livello di sforzo necessario per mantenere quella velocità. Diventa anche un ottimo allenamento per sviluppare la capacità mentale di resistere allo stress fisico e psicologico di un ritmo impegnativo.
  4. Aumento della Capacità Cardiovascolare: Allenamenti a ritmo soglia migliorano l’efficienza del cuore e dei polmoni, aumentando la capacità aerobica complessiva. Il cuore diventa più efficiente nel pompare sangue e ossigenare i muscoli, permettendo di correre a velocità più elevate con meno sforzo.
  5. Allenamento Mentale: Le Tempo Run, essendo sforzi prolungati a un ritmo impegnativo, allenano anche la capacità mentale di mantenere la concentrazione e spingere attraverso la fatica. Sono cruciali per sviluppare resistenza mentale, soprattutto nelle gare più lunghe.

Quando Inserire la Tempo Run nel Programma di Allenamento

Le Tempo Run sono particolarmente utili durante la fase intermedia e finale della preparazione per una gara di resistenza, quando l’obiettivo è consolidare la capacità di mantenere ritmi elevati su lunghe distanze. Un programma tipico per chi si prepara a una mezza maratona potrebbe includere una Tempo Run una volta a settimana.

Come Determinare il Ritmo della Tempo Run

Esistono diversi modi per calcolare il ritmo ideale per una Tempo Run:

  1. Percezione dello Sforzo: Durante una Tempo Run, dovresti sentirti impegnato, ma in grado di mantenere il ritmo per almeno 20-40 minuti. Non dovresti sentirti completamente esausto, ma lo sforzo dovrebbe essere “confortevolmente duro”.
  2. In base alla Frequenza Cardiaca: Il ritmo soglia corrisponde a circa 80-90% della frequenza cardiaca massima. Utilizzare un cardiofrequenzimetro può aiutarti a monitorare se sei nella giusta zona di sforzo.
  3. In base a Gare Precedenti: Puoi stimare il ritmo soglia utilizzando i tempi recenti di gara. Di solito, il ritmo della Tempo Run è 10-15 secondi per chilometro più lento rispetto al ritmo di gara sui 5 km, o circa il ritmo gara sui 10 km.

Esempio di Settimana di Allenamento con Tempo Run

  • Lunedì: Recupero o corsa leggera.
  • Martedì: Ripetute medie (es. 6×800 metri).
  • Mercoledì: Corsa a ritmo facile (recupero attivo).
  • Giovedì: Tempo Run (es. 20-30 minuti a ritmo soglia).
  • Venerdì: Recupero o cross-training.
  • Sabato: Lungo lento.
  • Domenica: Riposo o corsa leggera.

Differenze tra Tempo Run e Lungo Lento

  • Ritmo: La Tempo Run è corsa a un ritmo sostenuto, vicino alla soglia anaerobica, mentre il lungo lento viene corso a un ritmo molto più rilassato (zona aerobica), pensato per sviluppare la resistenza senza accumulare fatica.
  • Durata: Le Tempo Run durano generalmente meno di un lungo lento (20-40 minuti contro 1-2 ore), ma sono più intense.
  • Obiettivo: La Tempo Run si concentra sul miglioramento della velocità sostenuta e della soglia anaerobica, mentre il lungo lento mira ad aumentare la capacità aerobica e la resistenza complessiva.

Conclusione

La Tempo Run è un allenamento essenziale per chi desidera migliorare la velocità e la capacità di mantenere ritmi elevati in gara. Correre a ritmo soglia permette al corpo di adattarsi a sostenere sforzi impegnativi, migliorando la resistenza aerobica e la capacità di gestire l’accumulo di fatica. Integrarla in un programma di allenamento settimanale aiuterà a raggiungere migliori prestazioni su distanze come i 10 km e la mezza maratona.

Lungo lento

Il Lungo Lento è un tipo di allenamento fondamentale per chi si prepara a gare di resistenza, come la mezza maratona o la maratona, ma è utile anche per chi gareggia su distanze più brevi come i 10.000 metri. Come suggerisce il nome, si tratta di una corsa su una distanza relativamente lunga, svolta a un ritmo più lento rispetto al ritmo di gara. Questo allenamento ha lo scopo di costruire la resistenza aerobica e di migliorare la capacità del corpo di sostenere sforzi prolungati.

Caratteristiche del Lungo Lento

  1. Ritmo Lento: Il ritmo di corsa è inferiore al ritmo di gara. Di solito, si corre al 60-70% della propria frequenza cardiaca massima, o a un ritmo che consente di parlare senza troppo sforzo (ritmo “conversazionale”). È importante non correre troppo velocemente, poiché l’obiettivo è lavorare sulla resistenza piuttosto che sulla velocità.
  2. Lunga Distanza: La distanza percorsa durante un lungo lento è solitamente maggiore rispetto agli allenamenti standard. Per chi si prepara alla mezza maratona, le distanze possono variare tra i 15 e i 25 chilometri, a seconda del livello dell’atleta e della fase di allenamento. Per maratoneti, le uscite possono arrivare anche a 30-35 chilometri.
  3. Durata Prolungata: Il lungo lento ha una durata che varia da 1 a 3 ore o più, a seconda dell’esperienza e dell’obiettivo dell’atleta. Questo tipo di allenamento richiede pazienza e costanza per abituare il corpo a sostenere sforzi prolungati.

Esempio di Lungo Lento

  • Riscaldamento: 10-15 minuti di corsa leggera o jogging.
  • Sessione principale: Corsa a ritmo lento su una distanza compresa tra i 15 e i 25 km (per un corridore che si prepara alla mezza maratona), mantenendo una frequenza cardiaca moderata.
  • Raffreddamento: 10-15 minuti di jogging leggero o camminata.

Benefici del Lungo Lento

  1. Migliora la Resistenza Aerobica: Il lungo lento stimola il sistema cardiovascolare a lavorare in modo efficiente, promuovendo lo sviluppo della capacità aerobica, ovvero la capacità del corpo di utilizzare l’ossigeno durante l’esercizio fisico prolungato.
  2. Aumenta l’Efficienza Metabolica: Questo tipo di allenamento migliora la capacità del corpo di bruciare i grassi come fonte di energia. Durante una corsa lunga e lenta, il corpo impara a risparmiare il glicogeno (i carboidrati immagazzinati) e a utilizzare meglio i grassi, una fonte di energia più duratura.
  3. Adatta il Corpo allo Sforzo Prolungato: Abituare il corpo a stare in movimento per lunghi periodi è fondamentale per le gare di resistenza. I muscoli, i tendini e le articolazioni si adattano gradualmente, migliorando anche la resistenza muscolare e riducendo il rischio di infortuni durante gare di lunga durata.
  4. Migliora l’Efficienza Cardiovascolare: Il lungo lento rafforza il cuore, migliorando la capacità del sistema circolatorio di fornire ossigeno ai muscoli. Col tempo, questo consente di sostenere ritmi più veloci per periodi più lunghi senza affaticarsi eccessivamente.
  5. Sviluppa la Resistenza Mentale: Le lunghe uscite non solo allenano il corpo, ma anche la mente. Abituarsi a gestire la fatica e a mantenere la concentrazione per un lungo periodo è essenziale nelle gare di resistenza.
  6. Favorisce il Recupero: Nonostante si tratti di un allenamento lungo, il ritmo lento e controllato aiuta a ridurre lo stress complessivo sul corpo, favorendo il recupero rispetto agli allenamenti ad alta intensità. Questo lo rende un’ottima sessione per i giorni in cui si desidera migliorare la resistenza senza sovraccaricare il fisico.

Come Includere il Lungo Lento nella Settimana di Allenamento

Il lungo lento è tipicamente svolto una volta alla settimana, preferibilmente durante il weekend, quando è possibile dedicare più tempo all’allenamento. Ecco come potrebbe essere distribuito all’interno di una settimana di allenamento tipica per chi si prepara a una mezza maratona:

  • Lunedì: Recupero o corsa leggera.
  • Martedì: Ripetute brevi o allenamento di velocità.
  • Mercoledì: Corsa a ritmo medio o fartlek.
  • Giovedì: Recupero attivo o corsa leggera.
  • Venerdì: Tempo run (corsa a ritmo sostenuto).
  • Sabato: Riposo o allenamento di cross-training.
  • Domenica: Lungo lento.

Suggerimenti per il Lungo Lento

  1. Inizia in modo graduale: Se sei un principiante o non sei abituato a fare lunghe distanze, è importante aumentare gradualmente la lunghezza dei tuoi lunghi lenti. Un aumento settimanale del chilometraggio del 10% è generalmente considerato sicuro.
  2. Idratazione e Nutrizione: Durante le corse lunghe, è essenziale idratarsi correttamente. Per distanze superiori a 90 minuti, potrebbe essere utile assumere carboidrati sotto forma di gel o bevande energetiche per mantenere elevati i livelli di energia.
  3. Terreno Variegato: Puoi correre su terreni diversi (strada, sentieri, collina) per variare lo stimolo e allenare muscoli diversi. I percorsi collinari possono anche migliorare la forza muscolare e la resistenza.
  4. Mantieni il Ritmo: Evita di aumentare il ritmo durante il lungo lento. Anche se ti senti bene, ricordati che l’obiettivo è accumulare chilometri e migliorare la resistenza, non la velocità. Il rischio di affaticarti eccessivamente è alto se corri troppo velocemente.
  5. Concludi con un Accenno di Progressione: Se ti senti bene e sei già abituato a lunghe distanze, puoi concludere l’ultima parte del lungo lento con un leggero aumento di ritmo, simile a quello che potresti mantenere in gara. Questo aiuta ad abituare il corpo alla fatica che proverai negli ultimi chilometri di una gara.

Conclusione

Il Lungo Lento è un pilastro dell’allenamento per le gare di resistenza. È essenziale per costruire la resistenza aerobica, migliorare la capacità del corpo di bruciare i grassi e adattarsi agli sforzi prolungati. Nonostante la sua natura a ritmo lento, è un allenamento impegnativo che richiede costanza e pazienza, ma è cruciale per il successo in gare come la mezza maratona e la maratona.

Fartlek

Il Fartlek è un tipo di allenamento di origine svedese, il cui nome significa “gioco di velocità” (in svedese: “Fart” = velocità, “Lek” = gioco). È un allenamento intervallato non strutturato che combina variazioni di ritmo all’interno di una corsa continua. Durante il Fartlek, si alternano fasi di corsa veloce e fasi di corsa più lenta, ma le variazioni di ritmo non seguono uno schema rigido come nelle ripetute o nell’interval training. L’intensità e la durata delle fasi di velocità e recupero possono essere scelte liberamente o basate su segnali esterni (come la distanza tra due lampioni o una collina).

Caratteristiche del Fartlek

  1. Non Strutturato: A differenza delle ripetute o dell’interval training, che prevedono intervalli specifici di tempo o distanza, il Fartlek è meno formale e si basa su variazioni spontanee di ritmo. Si può decidere quando accelerare e quando rallentare in base a sensazioni o stimoli visivi.
  2. Alternanza di Ritmi: Durante un Fartlek, si alternano velocità elevate e basse. Ad esempio, puoi correre velocemente per un minuto, poi rallentare per due minuti, quindi accelerare di nuovo per un breve tratto, e così via. La durata delle fasi non è fissa e può variare a seconda della situazione.
  3. Stimoli Esterni: Le variazioni di ritmo possono essere determinate da elementi dell’ambiente. Ad esempio, si può decidere di accelerare fino a un punto di riferimento visibile, come un albero, una panchina o un segnale stradale, e poi rallentare fino a un altro punto.
  4. Versatilità: Il Fartlek può essere adattato a diversi terreni e situazioni. Può essere fatto su strada, sentieri, colline o pista. È un allenamento che può essere praticato da corridori di tutti i livelli, sia per migliorare la velocità che per variare gli allenamenti.

Struttura Tipica del Fartlek

Un tipico allenamento di Fartlek potrebbe includere:

  1. Riscaldamento: 10-15 minuti di corsa leggera o jogging per preparare i muscoli allo sforzo.
  2. Sessione Fartlek:
    • Alternanza tra:
      • Sprint o velocità sostenuta per brevi tratti (ad esempio 30 secondi-2 minuti).
      • Recupero attivo con corsa a ritmo lento o moderato per un periodo indefinito.
    • L’alternanza dei ritmi è spontanea: puoi scegliere di correre veloce fino a un punto visibile o per un determinato numero di secondi, poi rallentare fino a quando ti senti pronto per ripartire con un altro sprint.
  3. Raffreddamento: 10-15 minuti di corsa leggera o camminata per riportare il corpo a uno stato di riposo.

Esempio di Allenamento Fartlek

Un esempio potrebbe essere:

  • Riscaldamento di 10 minuti a ritmo facile.
  • Corsa veloce per 1 minuto, seguita da 2 minuti di corsa a ritmo lento.
  • Sprint di 30 secondi fino al prossimo incrocio, seguito da 1 minuto di jogging.
  • Corsa moderata fino a raggiungere una collina, poi sprint in salita.
  • Rallentamento in discesa per riprendere fiato, quindi ripetere.
  • Raffreddamento di 10 minuti a ritmo leggero.

Benefici del Fartlek

  1. Migliora la Resistenza Aerobica e Anaerobica: Poiché il Fartlek alterna sforzi intensi e periodi di recupero, stimola sia il sistema aerobico (a ritmo moderato) che quello anaerobico (a ritmo elevato). Ciò lo rende utile per migliorare la capacità di correre a velocità sostenute e per periodi prolungati.
  2. Adattabilità: Il Fartlek può essere praticato da corridori di tutti i livelli, dai principianti agli atleti avanzati. È particolarmente indicato per chi vuole allenarsi senza lo stress di seguire un programma rigido, lasciando spazio alla creatività e alle sensazioni.
  3. Varietà e Divertimento: Poiché non è strutturato rigidamente, il Fartlek rompe la monotonia degli allenamenti. Le variazioni di ritmo e l’improvvisazione rendono l’allenamento più divertente e meno prevedibile rispetto alla corsa continua o agli intervalli standard.
  4. Allenamento Mentale: Il Fartlek allena anche la capacità di gestire cambiamenti di ritmo imprevisti, una capacità utile in gara, dove le condizioni o i rivali possono imporre accelerazioni o cambi di passo.
  5. Versatilità Territoriale: Può essere praticato su diversi tipi di terreno, rendendolo flessibile e adatto a condizioni varie, come piste, colline, sentieri o su strada.

Quando Utilizzare il Fartlek

Il Fartlek è particolarmente utile in diverse fasi di allenamento:

  • Nella fase iniziale della preparazione per una gara, quando si desidera migliorare la condizione fisica generale e sviluppare resistenza aerobica.
  • Nella fase di transizione tra due cicli di allenamento, per dare varietà e mantenere la velocità senza la rigidità degli intervalli strutturati.
  • Come allenamento di recupero attivo o quando si vuole allenarsi senza una pressione mentale troppo alta, poiché permette di seguire le sensazioni piuttosto che un piano rigido.

Differenze tra Fartlek e Interval Training

  • Struttura: Il Fartlek è meno strutturato rispetto all’Interval Training, che prevede intervalli specifici di tempo o distanza e recupero predeterminato.
  • Libertà: Il Fartlek è più flessibile, consentendo di variare il ritmo in base alle sensazioni o a stimoli visivi, mentre l’Interval Training è più disciplinato e pianificato in anticipo.

Conclusione

Il Fartlek è un metodo di allenamento flessibile e divertente, utile per migliorare velocità e resistenza, e per aggiungere varietà al programma di allenamento. È adatto a corridori di tutti i livelli e può essere facilmente integrato in una routine di allenamento senza richiedere attrezzature particolari o preparazioni specifiche.

Ripetute

Le Ripetute sono un tipo di allenamento intervallato specificamente progettato per migliorare la velocità, la resistenza e la capacità di sostenere sforzi intensi. Consistono nel correre una distanza o un tempo prestabilito a una velocità elevata, seguita da un periodo di recupero attivo (come jogging leggero o camminata), per poi ripetere il ciclo più volte. Le ripetute sono fondamentali per allenarsi in modo specifico alla distanza di gara e per aumentare la capacità del corpo di mantenere alte velocità.

Tipologie di Ripetute

Le ripetute si suddividono in base alla lunghezza e alla durata degli intervalli di corsa. Ecco le principali categorie:

1. Ripetute Brevi

  • Durata: 100-400 metri o 20-90 secondi.
  • Obiettivo: Migliorare la velocità massima e la potenza anaerobica.
  • Recupero: Generalmente lungo rispetto allo sforzo, da 1 a 2 minuti o una distanza simile corsa a ritmo molto lento o camminata.
  • Esempio: 10 x 200 metri a velocità di sprint con 1 minuto di jogging leggero o camminata tra ogni ripetuta.
  • Benefici: Aumenta la capacità di sprint e la velocità complessiva, sviluppando anche la capacità di accelerare in gara.

2. Ripetute Medie

  • Durata: 400-1000 metri o 1-3 minuti.
  • Obiettivo: Migliorare la velocità e la capacità aerobica.
  • Recupero: Recupero moderato, da 1 a 3 minuti o una distanza più breve corsa a ritmo lento.
  • Esempio: 6 x 800 metri a ritmo gara sui 5 km, con 2 minuti di recupero tra ogni ripetuta.
  • Benefici: Migliora la resistenza alla velocità e la capacità di sostenere sforzi prolungati senza accumulare eccessivo affaticamento.

3. Ripetute Lunghe

  • Durata: 1000-5000 metri o 4-10 minuti.
  • Obiettivo: Aumentare la resistenza aerobica e simulare il ritmo di gara su distanze più lunghe.
  • Recupero: Recupero più breve rispetto alla durata dello sforzo, da 2 a 5 minuti o corsa leggera per una distanza più breve.
  • Esempio: 3 x 2000 metri a ritmo gara della mezza maratona con 3-4 minuti di recupero tra le ripetute.
  • Benefici: Migliora la capacità di mantenere velocità costanti su lunghe distanze, preparandoti mentalmente e fisicamente alle difficoltà delle gare più lunghe.

Struttura delle Ripetute

Un allenamento di ripetute standard può essere strutturato come segue:

  1. Riscaldamento: 10-20 minuti di corsa leggera o jogging per preparare i muscoli allo sforzo.
  2. Sessione di ripetute: Esegui la serie di ripetute pianificate, mantenendo una velocità costante per ogni sforzo.
    • Obiettivo: L’obiettivo è mantenere la stessa intensità in ogni ripetuta senza diminuire troppo verso la fine della sessione.
    • Ad esempio: Se si corrono 6 x 800 metri, tutte le ripetute dovrebbero essere a un ritmo simile.
  3. Recupero: Dopo ogni ripetuta, fai un recupero attivo (jogging leggero o camminata) per il tempo o la distanza stabilita.
  4. Raffreddamento: 10-15 minuti di jogging leggero per favorire il recupero e prevenire infortuni.

Benefici delle Ripetute

  1. Aumento della velocità: Le ripetute brevi e medie sono particolarmente utili per sviluppare la velocità massima e la capacità di mantenere un ritmo elevato.
  2. Miglioramento della resistenza anaerobica e aerobica: Le ripetute medie e lunghe aiutano a migliorare la capacità del corpo di utilizzare ossigeno in maniera efficiente e ritardare l’accumulo di acido lattico.
  3. Resistenza mentale: Affrontare sessioni intense di ripetute sviluppa una grande capacità mentale, essenziale per mantenere la concentrazione e la determinazione in gara.
  4. Gestione del ritmo di gara: Le ripetute lunghe, in particolare, sono utili per abituare il corpo e la mente al ritmo che si vuole tenere durante la gara.

Esempi di Allenamenti con Ripetute

Ecco alcuni esempi di allenamenti con ripetute, a seconda dell’obiettivo:

  • Ripetute brevi per la velocità: 10 x 200 metri a ritmo di sprint con 1 minuto di recupero.
  • Ripetute medie per la resistenza alla velocità: 6 x 800 metri a ritmo gara dei 5 km con 2-3 minuti di jogging.
  • Ripetute lunghe per la resistenza: 3 x 1600 metri a ritmo gara dei 10 km con 3 minuti di jogging.

Le ripetute sono un allenamento versatile e fondamentale per i corridori di tutte le distanze, poiché consentono di migliorare sia la velocità che la resistenza in modo mirato.

Interval training

L’Interval Training, o allenamento intervallato, è una delle tecniche più efficaci per migliorare la velocità e la resistenza aerobica. Consiste nell’alternare fasi di alta intensità con fasi di recupero attivo. Questa alternanza stimola sia il sistema cardiovascolare che il sistema muscolare, migliorando la capacità del corpo di gestire lo sforzo ad alte intensità.

Struttura di Base dell’Interval Training

Un tipico allenamento di Interval Training prevede:

  1. Fase di riscaldamento: 10-15 minuti di corsa leggera o jogging per preparare il corpo allo sforzo.
  2. Fasi di alta intensità: Si corre a una velocità elevata (80-95% del massimo sforzo), per un periodo o una distanza prestabilita. Le durate delle fasi intense possono variare, ad esempio da 200 metri a 1000 metri, o da 30 secondi a 3 minuti, a seconda dell’obiettivo dell’allenamento.
  3. Fase di recupero attivo: Dopo ogni sforzo intenso, si fa una fase di recupero, che può essere un jogging leggero o una camminata. La durata del recupero è solitamente uguale o leggermente inferiore a quella dell’intervallo intenso.
  4. Fase di raffreddamento: 10-15 minuti di corsa leggera o camminata per riportare gradualmente il corpo a uno stato di riposo.

Tipologie di Interval Training

Ci sono diverse varianti di allenamento intervallato, a seconda del ritmo e della durata degli sforzi intensi:

  1. Intervalli Corti (Sprint Intervals):
    • Durata degli intervalli intensi: 20-60 secondi.
    • Obiettivo: Migliorare la velocità e la capacità anaerobica.
    • Recupero: 1-2 minuti di corsa leggera o camminata.
    • Esempio: 10 x 200 metri a velocità elevata con 1 minuto di recupero tra ogni intervallo.
  2. Intervalli Lunghi:
    • Durata degli intervalli intensi: 2-5 minuti o distanze di 800-2000 metri.
    • Obiettivo: Migliorare la resistenza aerobica e la velocità a lungo termine.
    • Recupero: 2-3 minuti di corsa leggera.
    • Esempio: 5 x 1000 metri a ritmo gara con 2-3 minuti di jogging leggero tra gli intervalli.
  3. Intervalli Pyramidali:
    • Struttura: Si parte con intervalli brevi, si aumenta progressivamente la durata o la distanza, e poi si torna a intervalli brevi.
    • Obiettivo: Lavorare su velocità e resistenza in modo bilanciato.
    • Esempio: 200m, 400m, 800m, 400m, 200m con recupero di 1-2 minuti tra ogni intervallo.
  4. HIIT (High-Intensity Interval Training):
    • Durata degli intervalli intensi: 20-30 secondi alla massima intensità (quasi sprint).
    • Recupero: 1-2 minuti.
    • Obiettivo: Migliorare velocemente la potenza e bruciare grassi, spesso utilizzato in programmi di fitness e perdita di peso.

Benefici dell’Interval Training

  1. Migliora la capacità aerobica e anaerobica: Stimola il cuore e i polmoni a lavorare più efficientemente.
  2. Aumenta la velocità e la resistenza: Lavorando ad alte intensità seguite da recupero, si migliorano sia la capacità di mantenere ritmi elevati sia il recupero dopo uno sforzo.
  3. Brucia più calorie in meno tempo: Le alte intensità rendono l’allenamento più efficiente anche per il metabolismo.
  4. Previene la monotonia: Alternando ritmo e sforzo, l’allenamento diventa più vario e meno ripetitivo rispetto alla corsa continua.

Esempio di Allenamento Intervallato

  • Riscaldamento: 10 minuti di jogging leggero.
  • Intervallo 1: 400 metri corsi a velocità alta (80-90% del massimo sforzo).
  • Recupero: 200 metri di jogging leggero.
  • Ripetere l’intervallo 6-8 volte.
  • Raffreddamento: 10 minuti di jogging leggero.

L’Interval Training è particolarmente indicato per prepararsi a gare di medio fondo come i 10.000 metri o la mezza maratona, poiché consente di lavorare su più capacità fisiche in un singolo allenamento.

Reset stored git password

To fix this on macOS, you can use

git config --global credential.helper osxkeychain

A username and password prompt will appear with your next Git action (pull, clone, push, etc.).

For Windows, it’s the same command with a different argument:

git config --global credential.helper wincred

C# Web API client Authentication with X-API-KEY

The Web API can authenticate the client through an API key with a middleware or an action filter.

Here’s how you can implement a middleware that does that:

public class ApiKeyMiddleware
{
    private readonly RequestDelegate _next;
    private const string ApiKeyHeaderName = "X-API-KEY";

    public ApiKeyMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task InvokeAsync(HttpContext context)
    {
        if (!context.Request.Headers.TryGetValue(ApiKeyHeaderName, out var potentialApiKey))
        {
            context.Response.StatusCode = StatusCodes.Status401Unauthorized;
            await context.Response.WriteAsync("Unauthorized");
            return;
        }

        var configuration = context.RequestServices.GetRequiredService<IConfiguration>();
        var validApiKey = configuration.GetValue<string>("ApiKey");

        if (potentialApiKey != validApiKey)
        {
            context.Response.StatusCode = StatusCodes.Status403Forbidden;
            await context.Response.WriteAsync("Forbidden");
            return;
        }

        await _next(context);
    }
}

This middleware checks each incoming request for an "X-API-KEY" header. If the header is absent or the key is invalid, it rejects the request with an HTTP 401 or 403 status.

You can use this middleware in your Startup.cs like this:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // ...

    app.UseMiddleware<ApiKeyMiddleware>();

    // ...
}

In appsettings.json:

{
    "ApiKey": "your-valid-api-key",
    // ...
}

To Add ApiKey in Swagger:

public void ConfigureServices(IServiceCollection services)
{
    // ... other services

    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new OpenApiInfo { Title = "Your API", Version = "v1" });

        // Define the BearerAuth scheme
        c.AddSecurityDefinition("BearerAuth", new OpenApiSecurityScheme
        {
            Description = "Input your Bearer token in the following format - Bearer {your token here}",
            Name = "Authorization",
            In = ParameterLocation.Header,
            Type = SecuritySchemeType.ApiKey,
            Scheme = "BearerAuth"
        });

        c.AddSecurityRequirement(new OpenApiSecurityRequirement
        {
            {
                new OpenApiSecurityScheme
                {
                    Reference = new OpenApiReference
                    {
                        Type = ReferenceType.SecurityScheme,
                        Id = "BearerAuth"
                    },
                    Scheme = "oauth2",
                    Name = "BearerAuth",
                    In = ParameterLocation.Header
                },
                new List<string>()
            }
        });
    });
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // ... other middleware

    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "Your API V1");
        c.RoutePrefix = string.Empty;
    });
}

In order to receive other custom headers like X-UserName:

public class UserNameMiddleware
{
    private readonly RequestDelegate _next;
    private const string UserNameHeaderName = "X-AUTH-USERNAME";

    public UserNameMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task InvokeAsync(HttpContext context)
    {
        if (context.Request.Headers.TryGetValue(UserNameHeaderName, out var userName))
        {
            context.Items[UserNameHeaderName] = userName.ToString();
        }

        await _next(context);
    }
}

And then, in startup.cs

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // ...

    app.UseMiddleware<UserNameMiddleware>();

    // ...
}

Git: undo changes

Undoing Local Changes That Have Not Been Committed

If you have made changes that you don’t like, and they have not been committed yet, do as follows:

  1. In your terminal (Terminal, Git Bash, or Windows Command Prompt), navigate to the folder for your Git repo.
  2. Run git status and you should see the affected file listed.
  3. Run the following command, replacing filename.html with your file path (which you could copy and paste from the git status command):
    • git checkout filename.html
  4. That file has now been reverted to the way it was at the previous commit (before your changes).

Undoing a Specific Commit (That Has Been Pushed)

If you have one specific commit you want to undo, you can revert it as follows:

  1. In your terminal (Terminal, Git Bash, or Windows Command Prompt), navigate to the folder for your Git repo.
  2. Run git status and make sure you have a clean working tree.
  3. Each commit has a unique hash (which looks something like 2f5451f). You need to find the hash for the commit you want to undo. Here are two places you can see the hash for commits:
    • In the commit history on the GitHub or Bitbucket or website.
    • In your terminal (Terminal, Git Bash, or Windows Command Prompt) run the command git log –oneline
  4. Once you know the hash for the commit you want to undo, run the following command (replacing 2f5451f with your commit’s hash):
    • git revert 2f5451f –no-edit
    • NOTE: The –no-edit option prevents git from asking you to enter in a commit message. If you don’t add that option, you’ll end up in the VIM text editor. To exit VIM, press : to enter command mode, then q for quit, and finally hit Return (Mac) or Enter (Windows).
  5. This will make a new commit that is the opposite of the existing commit, reverting the file(s) to their previous state as if it was never changed.
  6. If working with a remote repo, you can now push those changes:
    • git push

Undoing Your Last Commit (That Has Not Been Pushed)

If you made a mistake on your last commit and have not pushed yet, you can undo it. For example, maybe you added some files and made a commit, and then immediately realized you forgot something. You can undo the commit, and then make a new (correct) commit. This will keep your history cleaner.

  1. In your terminal (Terminal, Git Bash, or Windows Command Prompt), navigate to the folder for your Git repo.
  2. Run this command:
    • git reset –soft HEAD~
    • TIP: Add a number to the end to undo multiple commits. For example, to undo the last 2 commits (assuming both have not been pushed) run git reset –soft HEAD~2
    • NOTE: git reset –soft HEAD~ is the same as git reset –soft HEAD^ which you may see in Git documentation.
  3. Your latest commit will now be undone. Your changes remain in place, and the files go back to being staged (e.g. with git add) so you can make any additional changes or add any missing files. You can then make a new commit.

Undoing Local Changes That Have Been Committed (But Not Pushed)

If you have made local commits that you don’t like, and they have not been pushed yet you can reset things back to a previous good commit. It will be as if the bad commits never happened. Here’s how:

  1. In your terminal (Terminal, Git Bash, or Windows Command Prompt), navigate to the folder for your Git repo.
  2. Run git status and make sure you have a clean working tree.
  3. Each commit has a unique hash (which looks something like 2f5451f). You need to find the hash for the last good commit (the one you want to revert back to). Here are two places you can see the hash for commits:
    • In the commit history on the GitHub or Bitbucket or website.
    • In your terminal (Terminal, Git Bash, or Windows Command Prompt) run the command git log –oneline
  4. Once you know the hash for the last good commit (the one you want to revert back to), run the following command (replacing 2f5451f with your commit’s hash):
    • git reset 2f5451f
    • git reset –hard 2f5451f
    • NOTE: If you do git reset the commits will be removed, but the changes will appear as uncommitted, giving you access to the code. This is the safest option, because maybe you wanted some of that code and you can now make changes and new commits that are good. Often though you’ll want to undo the commits and through away the code, which is what git reset –hard does.

Access SQL queries Generated By Entity Framework Core 3

Create a class EntityFrameworkSqlLogger.cs

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using Microsoft.Extensions.Logging;

namespace MyApp.Logging
{
    /// <summary>
    /// ILogger implementation
    /// </summary>
    public class EntityFrameworkSqlLogger : ILogger
    {
        #region Fields
        Action<EntityFrameworkSqlLogMessage> _logMessage;
        #endregion

        #region Constructor
        public EntityFrameworkSqlLogger(Action<EntityFrameworkSqlLogMessage> logMessage)
        {
            _logMessage = logMessage;
        }
        #endregion

        #region Implementation
        public IDisposable BeginScope<TState>(TState state)
        {
            return default;
        }

        public bool IsEnabled(LogLevel logLevel)
        {
            return true;
        }

        public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
        {
            if (eventId.Id != 20101)
            {
                //Filter messages that aren't relevant.
                //There may be other types of messages that are relevant for other database platforms...

                return;
            }

            if (state is IReadOnlyList<KeyValuePair<string, object>> keyValuePairList)
            {
                var entityFrameworkSqlLogMessage = new EntityFrameworkSqlLogMessage
                (
                    eventId,
                    (string)keyValuePairList.FirstOrDefault(k => k.Key == "commandText").Value,
                    (string)keyValuePairList.FirstOrDefault(k => k.Key == "parameters").Value,
                    (CommandType)keyValuePairList.FirstOrDefault(k => k.Key == "commandType").Value,
                    (int)keyValuePairList.FirstOrDefault(k => k.Key == "commandTimeout").Value,
                    (string)keyValuePairList.FirstOrDefault(k => k.Key == "elapsed").Value
                );

                _logMessage(entityFrameworkSqlLogMessage);
            }
        }
        #endregion
    }
    
    /// <summary>
    /// Data model
    /// </summary>
    public class EntityFrameworkSqlLogMessage
    {
        public EntityFrameworkSqlLogMessage(
            EventId eventId,
            string commandText,
            string parameters,
            CommandType commandType,
            int commandTimeout,
            string elapsed
        )
        {
            EventId = eventId;
            CommandText = commandText;
            Parameters = parameters;
            CommandType = commandType;
            Elapsed = elapsed;
            CommandTimeout = commandTimeout;
        }

        public string Elapsed { get; }
        public int CommandTimeout { get; }
        public EventId EventId { get; }
        public string CommandText { get; }
        public string Parameters { get; }
        public CommandType CommandType { get; }
    }
    
    /// <summary>
    /// ILogger provider
    /// </summary>
    public class SingletonLoggerProvider : ILoggerProvider
    {
        #region Fields
        ILogger _logger;
        #endregion

        #region Constructor
        public SingletonLoggerProvider(ILogger logger)
        {
            _logger = logger;
        }
        #endregion

        #region Implementation
        public ILogger CreateLogger(string categoryName)
        {
            return _logger;
        }

        public void Dispose()
        {
        }
        #endregion
    }
}

Add Logger to DbContext OnConfiguring Met

public class CartServiceDbContext : DbContext
{
...

  protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  {
      var entityFrameworkSqlLogger = new EntityFrameworkSqlLogger((m) =>
      {
          System.Console.WriteLine($"SQL Query:\r\n{m.CommandText}\r\nElapsed:{m.Elapsed} millisecods\r\n\r\n");
      });

      var myLoggerFactory = LoggerFactory.Create(builder =>
      {
          builder
              .AddFilter((category, level) =>
                  category == DbLoggerCategory.Database.Command.Name
                  && level == LogLevel.Information);
      });

      myLoggerFactory.AddProvider(new SingletonLoggerProvider(entityFrameworkSqlLogger));
      optionsBuilder.UseLoggerFactory(myLoggerFactory);
      DbConnectorUtils.ConfigureOptionsBuilder(optionsBuilder);
  }

...
}

References