RRangeTallow
Espace de développement avec IA

Plages HTTP uniques en octets

Résolvez une plage ASCII d’octets HTTP pour une ressource de zéro à 10^12 octets avec un en-tête de 80 caractères au plus.

● ● ●RangeTallow●
Méthodes de travail · Plages HTTP uniques en octets ×
import re

def byte_range(header, size):
    if type(header) is not str or len(header) > 80 or type(size) is not int or not 0 <= size <= 10**12:
        raise ValueError("range.input")
    match = re.fullmatch(r"bytes=([0-9]*)-([0-9]*)", header)
    if match is None or not any(match.groups()):
        raise ValueError("range.syntax")
    left, right = match.groups()
    if not left:
        suffix = int(right)
        if suffix == 0 or size == 0:
            return None
        return max(0, size-suffix), size-1
    start = int(left)
    end = int(right) if right else size-1
    if start >= size or end < start:
        return None
    return start, min(end, size-1)
✳Plages HTTP uniques en octets
✓ ModificationsVérifiez avant d’appliquer ↗
Illustration de l’espace de travail
  1. Vérifiez avant d’appliquer

    Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.

  2. Modèles

    Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.

  3. Projet

    Testez les fins ouvertes et les suffixes, bornez la fin et renvoyez une absence de plage si nécessaire, en rejetant la syntaxe invalide et les plages multiples.

Méthodes de travail

Plages HTTP uniques en octets

Méthodes de travail ↗
Méthodes de travail
import re

def byte_range(header, size):
    if type(header) is not str or len(header) > 80 or type(size) is not int or not 0 <= size <= 10**12:
        raise ValueError("range.input")
    match = re.fullmatch(r"bytes=([0-9]*)-([0-9]*)", header)
    if match is None or not any(match.groups()):
        raise ValueError("range.syntax")
    left, right = match.groups()
    if not left:
        suffix = int(right)
        if suffix == 0 or size == 0:
            return None
        return max(0, size-suffix), size-1
    start = int(left)
    end = int(right) if right else size-1
    if start >= size or end < start:
        return None
    return start, min(end, size-1)
Espace de développement avec IA

Préservez le sens des requêtes lors de la refactorisation d’un utilitaire

RangeTallow est un logiciel de programmation avec IA pour examiner les modifications d’utilitaires dans le contexte de l’application qui en dépend. Ouvrez le projet sous Windows et décrivez le comportement qui doit rester stable pendant la refactorisation. Demandez au modèle d’examiner ensemble l’analyse des entrées, les valeurs renvoyées et l’appelant concerné. Cela évite qu’une implémentation plus courte ne modifie silencieusement le sens d’une requête.

Vous pouvez utiliser byte_range.py pour discuter de la résolution d’une plage suffixe à partir d’une taille de fichier connue. Apportez des exemples explicites pour une plage normale, une ressource vide et une requête hors du contenu disponible. Examinez ce que renvoie la fonction auxiliaire avant de décider comment le gestionnaire de réponse doit l’utiliser. Traitez l’interprétation des plages et la construction de la réponse comme des responsabilités liées, séparées par une frontière explicable.

Testez la modification proposée dans l’environnement du projet, notamment les cas distinguant une entrée mal formée d’une plage impossible à satisfaire. Examinez le code de réponse consommant le résultat pour qu’une nouvelle convention de retour ne produise pas de sortie trompeuse. RangeTallow prend en charge les connexions compatibles OpenAI ou Anthropic, avec des identifiants selon les besoins. Des modèles sans restrictions peuvent être choisis si votre point de terminaison en propose ; limites de contexte, outils et restrictions restent dépendants du modèle et du serveur. Les exemples de requêtes acceptées donnent à la conversation de refactorisation une mesure concrète de réussite.

Examiner les modifications de traitement des plages

Pourquoi distinguer une entrée mal formée d’une plage impossible à satisfaire ?

Ce sont des conditions différentes : une requête peut ne pas respecter la syntaxe acceptée ou demander du contenu indisponible pour la taille connue. Précisez la représentation de chaque cas par la fonction auxiliaire et examinez comment le gestionnaire de réponse utilise cette distinction.

Une plage analysée suffit-elle à construire une réponse correcte ?

Non. L’appelant doit encore construire la réponse selon son propre contrat et la ressource réelle. Examinez son utilisation des bornes renvoyées, notamment la sélection du corps et le comportement du statut, plutôt que de considérer une analyse réussie comme une intégration terminée.

Que doit préciser un exemple de suffixe ?

Donnez la longueur du suffixe demandé, la taille connue de la ressource et les bornes inclusives attendues ou le résultat de rejet. Incluez une ressource vide pour que l’implémentation ne suppose pas qu’il existe toujours un dernier octet à sélectionner.

Comment garder la refactorisation ciblée ?

Consignez les cas actuellement acceptés et la modification voulue, s’il y en a une. Demandez une proposition préservant les autres comportements, puis examinez les différences et exécutez ces cas dans la fonction auxiliaire et son appelant.

Télécharger pour Windows ↗

RangeTallow · Mis à jour 2026-10-25