Wpis z mikrobloga

Mirki, jestem samoukiem i robię systemy do swojej firmy w django + django rest framework + postgresql + react.
Wszystko działa i idzie dobrze, natomiast system się rozrasta i wchodzimy w coraz bardziej zaawansowane tematy, a materiały na Internecie pokrywają maksymalnie średnio zaawansowane kwestie lub szukam w złym miejscu.

Chciałbym zweryfikować dotychczasowy kod backendu aby sprawdzić co jest do wymiany, co jest do poprawy a co można zrobić inaczej/lepiej itd..

Nie wiem jak do tego się zabrać, żeby nie pogłębiać złych praktyk i żeby w przyszłości system mógł być rozwijany przez innych programistów. Dodatkowo są jeszcze inne tematy których jeszcze w ogóle nie wdrażaliśmy poprzez brak wiedzy/bezpieczeństwa.

Czy wykupienie konsultacji u jakiegoś kox programisty aby przeglądnął ten kod to dobry pomysł? I gdzie w ogóle kogoś takiego szukać żeby się nie naciąć :) Czy dodatkowo możecie polecić jakieś sprawdzone materiały/kursy z zagadnień backendowych o poziomie wyższym niż podstawowy?

#programowanie #django #python #postgresql
  • 15
@ener: Najlepiej zamówić audyt zewnętrzny od kogoś bardzo pro. Samemu ciężko wyłapać swoje błędy i przestawić schematy myślowe. Ogólnie to dość powszechna praktyka przy większych systemach i najczęściej wychodzi na dobre.
@ener jak nie wiesz gdzie szukać odp. osoby to szukaj właśnie architektów na linkedin -
najprędzej znajdziesz w takim sam sposób jak HR-y. Możesz podpytać na 4programmers czy ktoś nie jest zainteresowany.
Audyt bezpieczeństwa zleciłbym firmie, która się w tym specjalizuje. Przetrzepią na wylot aplikację i dostaniecie fajną listę wg ważności z rzeczami do poprawy i z sugestami jak to zrobić.
Odnośnie architektury i samego kodu to tu raczej bym polecił znaleźć
@ener Nim popłyniesz i posłuchasz rad powyżej sprecyzuj jasno czego potrzebujesz i z czym masz problemy, bo branie "kox architekta z doświadczeniem" do CRUDA to walenie z armaty do muchy. Plus zabulisz jak za zboże. A jak ci wszystko jedno, masz budżet, to się nie patyczkuj i znajdź ogarniętego CTO, tylko szykuj sumy 7 cyfrowe.

A jeżeli chodzi o normalny mentoring i wskazanie drogi pt co zrobic aby apka byla utrzymywalna, rozwijalna
@Lunatik:

Na wczesnym etapie rozwoju firmy nacięliśmy się na kilka software house'ów i przepaliliśmy trochę pieniędzy, stąd ogólnie decyzja żeby zacząć samemu pisać, natomiast mój staż to 1,5 roku szkoląc się tylko w czasie wolnym.

System był tworzony od początku przygody z django i w miarę nabierania doświadczenia kolejne apki w django były robione z innym podejściem.

Z wszystkimi tematami poniżej poradziłem sobie ale boję się, że jest to napisane bardzo
@martinlubpl: Z większością tych tematów się zetknąłem, natomiast nie do końca wiem na jakim poziomie zaawansowania, więc zapewne przyjrzę się tym książkom. Dzięki za rekomendacje
@ener: Nie wiem jak macie napisane te importery, ale bardzo pomaga stworzenie klasy ktora jest "bazą" pod każdy przyszły importer.

Kilkaset tysiecy rekordow to jeszcze nie poziom by django zagiąć, chyba ze case jest bardzo specyficzny, lub wiersze danych - bardzo duże. Jestescie pewni ze wszystkie prefetche/selecty/inne techniki optymalizacyjne wykorzystaliscie?

Full text search jest ok na postgresql, bez szalenstw, ale ok

A co do reszty, to trzeba usiasc i obejrzec na
@zarev: Aukcje pobieramy przez api, do automatycznego pricingu i tutaj dane muszą być jak najbardziej świeże stąd musi wszystko być szybkie. Dodatkowo przy updatecie jest kilka wyliczeń, pozycjonowanie itd.