git rebase --onto: move the right commits to a new base
Understand git rebase --onto with concrete commit graphs: move stacked branches, extract commits, fix a wrong base, and keep unrelated history out safely.
class ContactRequestSerializer(serializers.Serializer):
email = serializers.EmailField()
mission = serializers.ChoiceField(choices=Mission.choices)
message = serializers.CharField(min_length=10)
def test_rejects_a_short_message(api_client):
response = api_client.post("/api/contact/", {"message": "too short"})
assert response.status_code == 400class ContactRequest(BaseModel):
email: EmailStr
mission: Mission
message: str = Field(min_length=10)
@app.post("/api/contact", status_code=202)
async def contact(request: ContactRequest, mailer: Mailer = Depends(get_mailer)):
await mailer.send(request)
return {"sent": True}func (r ContactRequest) Validate() error {
if _, err := mail.ParseAddress(r.Email); err != nil {
return fmt.Errorf("email: %w", err)
}
if utf8.RuneCountInString(r.Message) < 10 {
return errors.New("message: too short")
}
return nil
}| Service | What you get |
|---|---|
| Python | |
| DJANGODRFNINJA | REST APIs with Django REST Framework or Django Ninja, designed or taken over, tested and documented. |
| FASTAPI | Typed async services with Pydantic and generated OpenAPI docs. |
| FLASK | Lightweight services, or taking over and migrating an existing application. |
| Go | |
| GO SERVICES | Fast, lean Go services held to the same standard of tests and architecture. |
| Architecture and quality | |
| HEXAGONALDDD | Business logic isolated from the framework, when the domain calls for it. |
| REFACTORINGTDD | A cleaned-up codebase: SOLID, Clean Code, tests first. |
| AI-native | |
| PYDANTIC AI AGENTS | AI agents inside your product, with validated and tested outputs. |
| MCP SERVERS | Your data and tools exposed to models, with permissions under control. |
An agent plugged into a fragile codebase mostly speeds up the bugs. Like a roof truss, a project holds because each piece takes a specific load.
Hover a piece to see it in the truss.
Technical articles on dev-flow.io: Django and its ORM, TDD, architecture, deployment.
Describe the context: your current stack, team size, deadline. The more concrete it is, the more concrete my first answer will be.
Circonflex, backend development