Dzień dobry czwartkowy poranku #pdk

Mamy nowy wpis! :) Wena dalej mnie męczy, dalej kontynuujemy temat testów ( ͡º ͜ʖ͡º) I w sumie mogę zapowiedzieć, że to jeszcze nie koniec serii o testowaniu ()

https://cpp-polska.pl/post/praktyczne-przyklady-wykorzystania-googlemock ()

W poprzednim wpisie wyjaśniłem podstawowe pojęcia, którymi operujemy podczas korzystania z GoogleMock. Dotknęliśmy tego tematu w sposób
CppPolska - Dzień dobry czwartkowy poranku #pdk

Mamy nowy wpis! :) Wena dalej mnie...

źródło: comment_1603342492cP8yB3kJrtI9nBRyuKiccl.jpg

Pobierz
  • Odpowiedz
@rosso_corsa: Nazwy branchom sam nadajesz, więc różni się tym czym dla ciebie się różni

A jeśli chodzi ci o metodologię gitglow, to na master to główny kod, gdzie zawsze jest stabilna i działająca wersja, a na development odbywa się, cóż... development. Ten branch nie zawsze jest stabilny, nie zawsze się kompiluje (choć powinien generalnie, jeśli nie jest to solowy projekt), jak masz stabilną wersję to mergujesz do mastera i robisz release
  • Odpowiedz
Bestsellerowy kurs znów do wzięcia!
Ruszyły zapisy na kolejną edycję Spring Boot 2. Zarówno zaawansowani programiści, jak i nowicjusze znajdą wersję dla siebie. Solidna porcja praktycznej wiedzy i masa innych korzyści, która została doceniona przez setki kursantów .
W tej edycji czekają Cię dodatkowe atrakcje i udogodnienia, między innymi ścieżka certyfikacyjna i dostęp do biblioteki wybranych przez Ciebie zapisów z innych szkoleń online. Dzięki temu to Ty dyktujesz sobie tempo nauki i
SoftBull - Bestsellerowy kurs znów do wzięcia! 
Ruszyły zapisy na kolejną edycję Spr...

źródło: comment_1603290329T7maBhcMWVz6r0eFwOAcx5.jpg

Pobierz
  • Odpowiedz
Wiem, że interfejsy służą zabezpieczeniu temu, żeby dana klasa na pewno implementowała dane metody, ale z tego co czytałem, to też można utworzyć zmienną typu danego interfejsu i potem przypisać ją do instancji klasy, która ten interfejs implementuje, ale co to tak naprawdę daje? Mógłby ktoś podać jakiś w miarę prosty przykład zastosowania interfejsu i napisać, co by się stało gdyby tego interfejsu nie było?
#programowanie #programista15k #naukaprogramowania #csharp #informatyka
@Edelner: interfejsy nie służą do zabezpiecznia, tylko do polimorfizmu. Tam gdzie użyjesz interfejsu możesz wstawić dowolną klasę, która spełnia interfejs, więc możesz użyć tego samego kodu do różnych zastosowań

Przykład w pseudo C#, bo go nie znam:

interface Interface
{
string getName();
}

class A: Interface {
string getName() { return "A";}
}

class B: Interface {
string getName() { return "B";}
}

void doSomething(Interface i) {
Console.WriteLine(i.getName());
}

Interfejs stwarza
  • Odpowiedz
@Edelner: nie jest trudno wyobrazić sobie interfejs Writeable, który zawiera jedną metodę write(byte[] buffer). Natomiast implementacje mogą być różne - pisanie na ekran, pisanie do pliku, pisanie do strumienia, pisanie do gniazda, pisanie do buforu w pamięci, wszystko będzie używało tego samego API, ale będzie miało inną implementację. Dzięki temu możesz napisać funkcję print_hello(Writeable writer) { writer.write("Hello world!"); } i nie przejmować się gdzie ani jak będzie to zapisane,
  • Odpowiedz
@Klopsztanga: ale wyciągnięcie docker compose poziom wyżej jak najbardziej ma sens. Oddzielasz kod aplikacji od infrastruktury. I jak by mi się chciało na pewno bym Ci znalazł popularne open source projekty które tak zrobiły. Ba niektóre wyciągają konfigurację docker do oddzielnego repo.
  • Odpowiedz
Dotychczas pracowałem sobie na bitbuckecie, jednak postanowiłem zrobić swojego githuba.
Jednak jestem w nim troszkę ciemny i nie mogę nigdzie znaleźć opcji "CLONE", żeby ustawić git remote na adres mojego nowego repozytorium na githubie. Pomógłby ktoś?

Po prostu chodzi mi o to, że zrobiłem projekt, który dotychczas wrzucany był na bitbucketa, jednak chciałem to sobie wrzucić na swojego prywatnego githuba i nie mogę znaleźć opcji, gdzie mógłbym dany projekt połączyć z moim
via Android
  • 0
Dobra dzięki wszystkim, dawno nie wchodziłem na maszynę wirtualną na której to robiłem. Miałem tam taki syf że trzy foldery nazywały się tak samo i początkowo próbowałem to przerzucić z tych dwóch folderów, w których za dużo nie było i cos mi się nie zgadzało. A okazało się że repo było w folderze podrzędnym katalogu, który miał taka samą nazwę XD
  • Odpowiedz
Załóżmy, że piszę apkę e-commerce w #django, niech to będzie jakiś sklep z elektroniką. Tworzę sobie model użytkownika, potem tworzę sobie model produktu zawierający pola np, nazwa, model, opis, cena. Teraz mogę dodać produkt w panelu admina, albo z konsoli, ale co zrobić jeśli ja chcę żeby tych produktów było kilka tysięcy, a ich dane pozyskuję z API? Dodatkowo, jeśli w api zmieni się cena produktu, to jak zrobić by zaktualizowała
@kezioezio: Jeżeli serwis nie jest w stanie wysylac ci powiadomien o zmienionej cenie produktu to musisz ją samodzielnie odświeżać.
Proponuję co X czasu (gdzie X sam ustalasz) + każdorazowo gdy klient doda przedmiot do koszyka

Ewentualnie doliczasz bezpieczny margines do ceny każdego produktu i masz w nosie małe wahania ceny
  • Odpowiedz
@kezioezio: masz dwie opcje:

1. Jesli wspolpracujesz z ludzmi od tego api to mozesz im podac przyklady jak stworzyc/zaktualizowac produkt w swoim api i przy kazdej zmianie niech tez aktualizuja u Ciebie
2. W przeciwnym razie zostaje Tobie utworzenie sobie cronjoba, ktory pobiera produkty i sprawdza kiedy zostaly zaktualizowane i aktualizowac u siebie.
  • Odpowiedz
@greg_vv:
Mogę źlę mówić bo sam się uczę tego dopiero, ale w moim przypadku:
Singleton przy tworzeniu clientów do APIRestowego/Baz/RequestówHttp itp. i bodajże do logger'ów (logowanie komunikatów i błędów).
Tworzysz tylko 1 instancję a później z niej korzystasz zamiast tworzyć kolejne.
  • Odpowiedz
ale zamiast "/n" nauczyłem się używać Environment.NewLine.


@czupek: w różnych systemach operacyjnych może być \n albo \r\n pewnie dla tego lepiej użyć zmiennej środowiskowej.
  • Odpowiedz