Techniki programowania
Zaprojektuj bota. Tworzenie interfejsów konwersacyjnych
- Szczegóły
- Kategoria: Techniki programowania
Bot jest nowatorskim interfejsem użytkownika, dzięki któremu można komunikować się z aplikacją w naturalny i intuicyjny sposób. Eksperci przewidują, że wkrótce interfejs konwersacyjny będzie standardowym wyposażeniem aplikacji. Niemniej projektowanie botów jest złożonym zagadnieniem.
Trzeba wiedzieć, kiedy je zastosować i jak zapewnić odpowiednią efektywność temu rozwiązaniu. Podczas tworzenia bota należy rozważyć wiele opcji, opracować skuteczny proces komunikacji, wyznaczyć różne przebiegi konwersacji, a także zdefiniować osobowość bota i znaleźć równowagę pomiędzy bogactwem opcji sterowania a ilością tekstu.
Dzięki tej książce łatwiej zrozumiesz naturę botów i nauczysz się je projektować. Zamieszczono tu wiele informacji o pracy projektantów i programistów botów.
Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian
- Szczegóły
- Kategoria: Techniki programowania
Przez długi czas uważano, że architektura oprogramowania powinna powstać przed rozpoczęciem pisania kodu i pozostać niezmieniona aż do zakończenia projektu. Pojawienie się zwinnych metod tworzenia oprogramowania spowodowało, że taką koncepcję zaczęto podawać w wątpliwość.
Niektórzy nawet kwestionowali potrzebę tworzenia architektury, gdyż utrudniała reakcję na zmiany wymagań. Istnieje jednak inne podejście do architektury, zgodnie z którym jest ona ściśle powiązana z fazą programowania i dynamicznie odpowiada na zmiany pojawiające się podczas tworzenia kodu. W ten sposób architektura ewolucyjna, pomimo nieprzewidywalności zmian, zapewnia rozwój projektu we właściwym kierunku.
Projektowanie systemów rozproszonych. Wzorce i paradygmaty dla skalowalnych, niezawodnych usług
- Szczegóły
- Kategoria: Techniki programowania
Nowoczesne oprogramowanie musi sprostać wyśrubowanym kryteriom: ma cechować się określoną niezawodnością i skalowalnością, a przy tym powinno korzystać z technologii chmury. Naturalnie powinien to być dobrze zaprojektowany system rozproszony. Dziś standardem jest korzystanie z aplikacji na wielu urządzeniach w różnych lokalizacjach.
Niestety, mimo powszechności systemów rozproszonych ich projektowanie nader często przypomina coś w rodzaju czarnej magii, dostępnej dla nielicznych wtajemniczonych. W efekcie architektura każdego systemu jest unikatowa.
Ta książka jest praktycznym przewodnikiem dla projektantów systemów rozproszonych. Zaprezentowano tu kolekcję powtarzalnych wzorców oraz zalecanych praktyk programistycznych, dzięki którym rozwijanie niezawodnych systemów rozproszonych stanie się bardziej przystępne i wydajne.
Inżynieria niezawodnych baz danych. Projektowanie systemów odpornych na błędy
- Szczegóły
- Kategoria: Techniki programowania
Informatyczna rewolucja dosięgła również systemy bazodanowe. Przez długi czas administrator bazy danych interesował się głównie wewnętrznymi mechanizmami bazy, optymalizacją zapytań czy analizą podsystemów składowania danych. Z kolei oprogramowaniem stron, infrastrukturą czy usługami sieciowymi zajmowali się zupełnie inni ludzie, pracujący w odmienny sposób.
Nowe technologie wymuszają jednak zmianę sposobu pracy i myślenia. Trzeba położyć nacisk na automatyzację, inżynierię oprogramowania, ciągłą integrację i ciągłe udostępnianie. Poza tym trzeba zapewnić ochronę przetwarzanych danych - ich wartość i znaczenie wciąż szybko rosną.
Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow
- Szczegóły
- Kategoria: Techniki programowania
Pojęcia, techniki i narzędzia służące do tworzenia systemów inteligentnych
W ciągu ostatnich lat uczenie maszynowe stało się sercem wielu nowoczesnych produktów, takich jak zaawansowane techniki wyszukiwania w przeglądarkach, rozpoznawanie mowy w smartfonach czy proponowanie treści w zależności od indywidualnych preferencji użytkownika.
Być może niedługo taki system inteligentny zastąpi Cię za kierownicą samochodu. Uczenie głębokie wprowadziło nową jakość do uczenia maszynowego. Daje niesamowite możliwości, jednak wymaga olbrzymiej mocy obliczeniowej i potężnych ilości danych. Programiści implementujący takie rozwiązania są poszukiwanymi specjalistami i mogą liczyć na ekscytujące oferty!