Najlepsze praktyki LiveView
AI może pomóc z:
- Optymalizacją aktualizacji assigns
- Redukcją danych przez przewód
- Hokami po stronie klienta
- Interop JavaScript
- Względami SEO
Opanuj rozwój Elixir i Phoenix z Cursor i Claude Code. Te wzorce obejmują programowanie funkcyjne, zasady OTP, LiveView, systemy współbieżne i unikalne funkcje, które czynią Elixir idealnym do budowania odpornych na błędy aplikacji czasu rzeczywistego.
claude "Zainicjalizuj aplikację Phoenix z architekturą umbrella"
# Prompt architektury Phoenix:"Skonfiguruj aplikację Phoenix z:- Kontekstami dla logiki domenowej- LiveView dla UI w czasie rzeczywistym- PubSub dla wiadomości- Schematami i migracjami Ecto- Zadaniami w tle z Oban- Telemetry dla monitorowania"
# Wygenerowana struktura:lib/ my_app/ accounts/ # Kontekst catalog/ # Kontekst mailer/ repo.ex my_app_web/ live/ controllers/ components/ router.ex
# Prompt komponentu LiveView:"Utwórz LiveView dla dashboardu w czasie rzeczywistym z:- Wieloma komponentami wykresów- Aktualizacjami na żywo przez PubSub- Interakcjami użytkownika- Optymistycznymi aktualizacjami UI- Odzyskiwaniem po błędach"
# Komponent stanowy:"Utwórz LiveComponent dla:- Uploadu plików z postępem- Wsparcia drag and drop- Podglądu obrazów- Informacji zwrotnej walidacji"
# Prompt funkcji czasu rzeczywistego:"Zaimplementuj czat w czasie rzeczywistym z:- Phoenix Channels- Śledzeniem obecności- Historią wiadomości- Wskaźnikami pisania- Potwierdzeniami odczytu- Powiadomieniami push"
Najlepsze praktyki LiveView
AI może pomóc z:
# Prompt GenServer:"Utwórz GenServer dla:- Serwisu ograniczania częstotliwości- Trwałości stanu- Odzyskiwania po awarii- Dynamicznej supervisi- Zdarzeń telemetry- Obsługi backpressure"
# Prompt schematu Ecto:"Zaprojektuj schematy Ecto dla e-commerce:- Architektura multi-tenant- Asocjacje polimorficzne- Soft deletes- Logowanie audytu- Wyszukiwanie pełnotekstowe- Widoki bazy danych"
Złożone zapytania
# Prompt: "Utwórz zapytanie Ecto z:# - Funkcjami okienka# - CTE# - Lateral joins# - Agregacjami"
Wydajność
# Prompt: "Zoptymalizuj zapytania z:# - Strategiami preloading# - Batch loading# - Fragmentami zapytań# - Raw SQL gdy potrzeba"
# Prompt wzorców współbieżności:"Zaimplementuj system współbieżny dla:- Równoległego przetwarzania danych- Supervisi zadań- Programowania opartego na Flow- Pipeline'ów GenStage- Integracji Broadway- Obsługi back-pressure"
# Wzorzec aktora:"Zaprojektuj system aktora z:- Protokołami wiadomości- Maszynami stanu- Event sourcing# - Rejestrem procesów- Aktorami rozproszonymi"
# Zarządzanie pulą:"Utwórz pulę procesów dla:- Alokacji workerów- Równoważenia obciążenia- Monitorowania zdrowia- Dynamicznego skalowania"
# Prompt zestawu testów:"Utwórz zestaw testów z:- Testami jednostkowymi z ExUnit- Testowaniem LiveView- Testowaniem kanałów- Testami integracyjnymi- Testami opartymi na właściwościach z StreamData- Mox do mockowania"
# Prompt systemu auth:"Zaimplementuj uwierzytelnianie z:- Pow lub Guardian- Uwierzytelnianiem wieloczynnikowym- Dostawcami OAuth- Zarządzaniem sesjami- Politykami haseł- Blokowaniem konta"
Lista kontrolna bezpieczeństwa
AI może zaimplementować:
# Prompt API GraphQL:"Utwórz API GraphQL z Absinthe:- Projektowanie schematu- Resolvery z dataloader- Subskrypcje- Middleware uwierzytelniania- Obsługa błędów- Łączenie schematów"
# Projektowanie REST API:"Utwórz JSON API z:- Kontrolerami zasobów- Paginacją- Filtrowaniem- Wersjonowaniem API- Dokumentacją OpenAPI"
# Auth API:"Zaimplementuj auth API z:- Tokenami JWT- Kluczami API- Ograniczaniem częstotliwości- Odświeżaniem tokenów"
# Optymalizacja wydajności:"Zoptymalizuj aplikację Phoenix dla:- Redukcji czasu odpowiedzi- Użycia pamięci- Optymalizacji zapytań bazy danych- Strategii cache'owania- Integracji CDN- Testów obciążenia"
Cache ETS
# Prompt: "Zaimplementuj cache ETS:# - Wsparcie TTL# - Rozgrzewanie cache# - Invalidacja# - Limity pamięci"
Integracja Redis
# Prompt: "Dodaj cache'owanie Redis:# - Pooling połączeń# - Wsparcie pub/sub# - Cache rozproszony# - Wzorzec cache aside"
# Prompt wdrażania:"Skonfiguruj wdrażanie z:- Release'ami Elixir- Dostawcami konfiguracji- Konfiguracją runtime- Sprawdzaniem zdrowia- Rolling updates- Manifestami Kubernetes"
# Prompt rozproszonego Elixir:"Zaimplementuj system rozproszony z:- libcluster do discovery- Globalnym rejestrem procesów- Rozproszonym PubSub- CRDT dla stanu- Obsługą split-brain- Partycjami sieciowymi"
# Implementacja event sourcing:"Utwórz system event-sourced z:- Frameworkiem Commanded- Event store- Projekcjami- Process managers- Orkiestracją Saga- Strategiami snapshotów"
# Strukturyzuj prompty jak:"Utwórz [moduł/funkcję] w Elixir który:- Przestrzega zasad OTP- Obsługuje te przypadki błędów: [lista]- Zawiera @spec i @doc- Ma testy oparte na właściwościach- Skutecznie używa pattern matching"
# Rozwój makr:"Utwórz makro dla:- Implementacji DSL- Walidacji compile-time- Generowania kodu- Manipulacji AST- Względów higieny"
# Integracja NIF/Port:"Zaimplementuj integrację natywną:- Rustler dla NIF- Obsługa błędów- Zarządzanie zasobami- Asynchroniczne NIF- Sterowniki portów"
Unikaj tych problemów
Przy używaniu AI dla Elixir: