Jarosław Czub DevBlog

Ogólnie o programowaniu

Devoxx 2017 – było, minęło, podsumowanie

Co dobre szybko się kończy, małe podsumowanie: Przygotowanie takiej konferencji wymaga dużo czasu, energii. Ponad 2500 ludzi z IT, pasjonatów i  użytkowników środowiska Java, 6 równoczesnych wykładów, nie wiadomo co wybrać, jaką ścieżkę obrać. Za taką dawkę wiedzy należy się pochwała prelegentom, organizatorom, ludziom uczestniczącym w wydarzeniu. Po prostu wielkie brawa za całość i za: […]

Wielowątkowość cz.5 – klasy wspomagające Semaphore, Lock

Javowy framerwok do obsługi współbieżności to nie tylko dziedziczenie po interfejsie theread, ale również wiele innych przydatnych klas, interfejsów i innych rozwiązań. Niektóre z nich opisałem w poprzednich artykułach. Dzisiaj na zakończenie postaram się opisać pozostałe, nie omówię tu oczywiście wszystkich. To więc startujemy: Semaphore i Lock Standartowo w Javie metody, fragmenty kodu synchronizujemy przy […]

Java8: Wielowątkowość cz.4 – framework Fork/Join

„Dziel i zwyciężaj” sentencja, która przydaje się w codziennym programistycznym życiu. Mamy problem, podzielmy go na mniejsze i rozwiążmy. Podobną idę mamy we frameworku Fork/Join, mamy dużo danych lub coś nam się liczy długo. To wtedy, trzeba: podzieli, zrównoleglić i na samym końcu połączyć. Możemy się wtedy spodziewać, że otrzymamy przyśpieszenie. Nie należy jednak przeginać, […]

Java 8: Wielowątkowość cz.3 – egzekutory, pule wątków, Future i Callable

Na wstępie można było by sobie zadać pytanie, po co wymyślono egzekutory. Przecież możemy odpalić wątki, pozarządzać, poczekać na wykonanie pracy, itd. Ale nie ma co „wymyślać koła na nowo”, a najlepszy kod to ten którego nie trzeba pisać. Należy również wspomnieć o tym, że tworzenie wątków w ramach puli jest mniej, zasobożerne niż tworzenie […]

Java 8: Wielowątkowość cz.2 – komunikacja międzywątkowa, synchronizacja poprzez kolejkę

Tworząc aplikację rozbitą na wiele wątków chcemy uzyskać jak największe przyśpieszenie poprzez zrównoleglenie wykonywania części programu. Niekiedy jednak trzeba zapewnić aby poszczególne wątki komunikowały się ze sobą lub koordynowały swoje działania. W najprostszym przypadku można użyć bloków lub metod synchronizowanych. Niekiedy potrzeba jednak użyć bardziej zaawansowanych metod, w takim przypadku możemy skorzystać z kolejki FIFO […]

Wzorzec – Fasada (Facade)

Fasada upraszcza oraz unifikuje dostęp do grupy klas lub jednej klasy o rozbudowanym API. Fasada tworzy nowy interfejs o wysokiej abstrakcji, który upraszcza korzystania z całego systemu. W praktyce z fasadą możemy spotkać się w sytuacji, gdy tworzymy serwis rozdzielony na frontend  oparty na technologiach webowych (Java Script, HTML, CSS, itd.) i backend gdzie komunikacja […]

Wzorzec – Adapter (Wrapper)

We wakacje wybieramy się do jakiegoś obcego kraju i niekiedy nieprzyjemna niespodzianka, w danym kraju są inne standardy wtyczek sieciowych (Wielka Brytania) oraz np. napięcia sieciowego (USA, Kanada). Wtedy okazuje się ze trzeba zabrać konwerter napięcia, albo przejściówkę która pozwoli na podłączenie wtyczki polskiej do angielskiego gniazdka obie te rzeczy pełnią rolę adaptera. Tak samo […]

Strony przydatne do nauki programowania

Mając nawet trochę doświadczenia w programowaniu, albo gdy jesteśmy zieloni i chcemy zdobyć nowy zawód, należy dużo ćwiczyć. Po prostu: „praktyka czyni mistrza”. Można tworzyć swoje projekty, ale również w dobie Internetu dobrze korzystać z stron pomagających w nauce kodowania. Nauka połączona z zabawą lub rozwiązywaniem konretnych zadań. Na pewno taka forma nauki pomaga w […]

Rzeczy z Javy 8, których nie było w starszych wersjach

Ameryki nie odkrywam bo Java 8 weszła już jakiś czas temu, ale dla odświeżenia informacji i przypomnienia ogólnie co wprowadzono. Za jakiś czas ma wejść Java 9 (terminu jak wiadomo 😀 nie ma co dokładnie określać), gdzie główny nacisk ma być położny na modułowość całego środowiska uruchomieniowego. A więc co takiego pojawiło się w javie […]

Java 8 – Strumienie – java.util.stream

Strumienie (te związane z danymi a nie do obsługi plików) w Javie 8 to potężne narzędzie do rzucania danymi w lewo i prawo. Do ich przekształcania, filtracji, itd., dlatego warto je wziąć na tapetę i trochę się nimi pobawić. Najprościej strumień można sobie wyobrazić jako potok danych na których wykonujemy operację w różnych krokach, aż […]

Page 1 of 8

© 2017 Jarosław Czub DevBlog — Powered by WordPress