@menelaosPL: ano właśnie. Tym bardziej, że kompilator to potrafi w ramach assignment context. Może hen dawno temu nie było to możliwe i tak już zostało.
Hej. Odwracanie zależności w prostych słowach. Czym jest kierunek przepływu sterowania (control flow), jak się ma do kierunku zależności między modułami, kiedy warto stosować, a kiedy będzie to przerost formy nad treścią, czym są moduły wysokopoziomowe/niskopoziomowe i czemu jest to istotne. Zapraszam
@Hauleth mogłem zrobić to na przykładzie jakiejś encji domenowej z kilkoma regułami, byłoby łatwiej i może bardziej oddawałoby prawdę, ale chciałem powiązać to z konstruktem interfejsu, bo (przynajmniej mi) tak na początku, przez długi czas się kojarzyło słowo kontrakt. Dlatego na koniec dorzuciłem zdanie o DbC przy projektowaniu zachowań modelu, żeby było wiadomo, że DbC nie dotyczy tylko interfejsu/klasy abstrakcyjnej i ma ogólne zastosowanie.
@Hauleth tak, biorę w poście poprawkę na to, zważając na niekiedy brak możliwości / trudności w sformułowaniu takich warunków. Post jest dość ogólny, nie zaszkodzi na pewno wiedzieć. :-) Martin Fowler napisał fajnie właśnie o owych trudnościach w jednym z artykułów ale coś nie mogę go znaleźć i chyba on stwierdził, że warto jednak myśleć w takich kategoriach kontraktowych i tu się można zgodzić :-)
@ZaoSan: DbC jest kolejnym z podejść wspomagającym Twoje oprogramowanie w byciu zgodnym z wymaganiami. Tzn., pomaga formułować i weryfikować wymagania według poznanych warunków wstępnych, końcowych i niezmienników. Jeśli udokumentujesz takie wymagania, masz większą gwarancję, że Twoja aplikacja będzie zachowywać się zgodnie z wymaganiami. Są też języki, które wspierają w pełni np.: adnotacje DbC, które pozwalają definiować i pilnować warunków i po np.: refaktoringu/jakiejś zmianie nie zostaną one złamane. Java/c# nie wspiera
Łączę się na pulpit zdalny poprzez RDP. Maszyna, na której pracuje, z automatu pobiera moje ustawienia obrazu. Na maszynie testuję mój kod, który działa bezbłędnie przez 8h. Następnie ustawiam odpalenie kodu i wyłączam RDP. W momencie odłączenia RDP (zamknięcie poprzez wciśnięcie krzyżyka) dostaję informację, że aplikacje nadal będą działać i będą widoczne po ponownym połączeniu z maszyną.
Aplikacje działają, natomiast pada GUI, a przynajmniej
@Lubie_Budyn: jeśli ta aplikacja nawiguje za pomoca opencv/sikuli to po rdp się tak nie da, testowałem to i mówi też o tym ichni autor. Uruchomienie aplikacji po vnc nie ma tego problemu, też to testowałem. Ale tak jak mówię, dotyczy to tylko sikuli (ktore pod spodem ma opencv)
@FFF1243 bo mogę :* pytałem dostawcę hostingu czy mogę napisać dwa wpisy o SOLID i jeden o enkapsulacji. Kręcił nosem ale w końcu posoliłem mu srogo i oto jestem. mam nadzieję jednak, że Cię tym nie krzywdzę. Jeśli tak jest, to daj koniecznie znać.
@FFF1243: w żadnym wypadku, nie wywołałeś u mnie takich uczuć. ;) Nie oczekuję, że wszyscy się rzucą na moje artykuły. Robię to w moim wolnym czasie i sprawia mi to przyjemność. To jest wystarczający powód :-) W większości materiałów brakuje mi prostego języka, przykładów innych niż na klasie Animal. Do każdego artykułu, tam gdzie uznam że to potrzebne, umieszczam i będę umieszczał przykłady na githubie, które, moim zdaniem, lepiej trafiają do
mmmmm, inteligentny humorek. Przepychanki słowne z takim mistrzem słowa to radość dla mnie. Ale wracając do tematu. Tak, ponieważ wbrew pozorom są one powiązane z tematem. Mam nadzieję, że wkrótce zastąpię je moimi własnymi rysunkami. Ostrzegam na wstępie, że również mogą się nie spodobać, ponieważ nie potrafię rysować, ale bardzo lubię.
@Czesiowcy: agresywnie. odmiennie niż kolega wyżej. Oprócz przykładu z datą są tam również dwa inne przykłady :) Mam nadzieję, że bardzo Cię nie uraziłem tym, że na Twoim monitorze pojawił się mój wpis
@Saly: dzięki. te wszystkie informacje są na każdej stronie. Ten wpis bazuje na przykładach. Dwóch rozsądnych, które znalazłem w sieci i jednym moim, który umieściłem na githubie. Napisałem to w takiej formie, jaką ja bym chciał kiedyś przeczytać. Nie zawsze da się trafić w potrzeby każdego czytelnika. karkołomna sprawa.
Dziś zauważyłem, że moje testy integracyjne w selenium odpalane są podczas mvn install, jak tego uniknąć oprócz anotacji @Ignore junitowej? #programowanie #naukaprogramowania
@asdasdce2w: IOException jest wyjątkiem typu „checked”. Są to wyjątki które w Javie muszą zostać jakoś obsłużone. Tzn. Jeśli Twoja metoda ‚jakasmetoda’ wywołuje metodę ‚metodaKtoraRzucaIOException’ która taki wyjątek moze rzucic, to musisz tę metodę ‚metodaKtoraRzucaIOException’ objąć blokiem try catch. Możesz w metodzie ‚jakasmetoda’ również dopisać throws IOException. Np: void jakasmetoda() throws IOException { metodaKtoraRzucaIOException }
Wowczas w tej metodzie nie misisz miec bloku try catch. Bedziesz jednak musial obsluzyc ten wyjatek „wyzej”.
@LeGollAs: jeśli masz sklep internetowy w którym sprzedajesz alkohol to będziesz miał prawdopodobnie obiekt domenowy Customer który będzie miał pole 'age' i metodę biznesową isAdult() { return age>=18;}. Jest to jedna z reguł biznesowych, która pozwala Twojemu biznesowi działać. Zanim zalogowany użytkownik (który podał przy rejestracji swój wiek) kliknie 'Zamawiam', to ta reguła zostanie sprawdzona. Żaden model nie odwzorowuje rzeczywistości 1:1. Model sam w sobie jest abstrakcją, czyli zawarte jest w
cześć. piszę artykuły dla początkujących programistów. wrzuciłem je ostatnio na wordpressa, może komuś się przydadzą. celem jest opisywanie zagadnień w jak najprostszych słowach. http://wprostychslowach.pl #java #programowanie #dotnet #informatyka pozdrawiam
@Prism2772: doszedłem do wniosku, że nie są to zdania, ani nazwy własne, więc napisałem z małej. Może faktycznie szczypie trochę w oczy, pomyślę, dzięki ;)
byte a = Byte.MAXVALUE + 1;
int b = Integer.MAXVALUE +1;
Obie linie stanowią overflow. Pierwsza linia powoduje błąd kompilacji, a druga nie. Andreas napisał, że spędził cały dzień nad tym i owocem tego jest artykuł na jego blogu: https://programming.guide/java/int-may-overflow-byte-may-not.html
Poruszyłem ten temat, bo sam zacząłem pisać post o literałach w Javie, w