Filteri
close
Tip rezultata
Svi rezultati uključeni
keyboard_arrow_down
Kategorija
Sve kategorije
keyboard_arrow_down
Opseg cena (RSD)
Prikaži sve
keyboard_arrow_down
Od
RSD
Do
RSD
Sortiraj po
keyboard_arrow_down
Objavljeno u proteklih
keyboard_arrow_down
Sajtovi uključeni u pretragu
Svi sajtovi uključeni
keyboard_arrow_down

Pratite promene cene putem maila

  • Da bi dobijali obaveštenja o promeni cene potrebno je da kliknete Prati oglas dugme koje se nalazi na dnu svakog oglasa i unesete Vašu mail adresu.
1-25 od 50 rezultata

Broj oglasa

Prikaz

format_list_bulleted
view_stream
1-25 od 50
1-25 od 50 rezultata

Prikaz

format_list_bulleted
view_stream

Režim promene aktivan!

Upravo ste u režimu promene sačuvane pretrage za frazu .
Možete da promenite frazu ili filtere i sačuvate trenutno stanje

Aktivni filteri

  • Tag

    Programiranje

This hands-on beginners guide gets you building games fast, all with the awesome Unity engine! You’ll speed past the basics and use your existing coding skills to create 2D, 3D, and AR/VR games. In Unity in Action, Third Edition, you will learn how to: Create characters that run, jump, and bump into things Build 3D first-person shooters and third-person action games Construct 2D card games and side-scrolling platformers Script enemies with AI Improve game graphics by importing models and images Design an intuitive user interface for your games Play music and spatially-aware sound effects Connect your games to the internet for online play Deploy your games to desktop, mobile, and the web Thousands of new game developers have chosen Joe Hocking’s Unity in Action as their first step toward Unity mastery. Starting with the initial groundwork of a new game development project, you’ll quickly start writing custom code instead of clicking together premade scripts. This fully updated third edition comes packed with fully refreshed graphics, Unity’s latest features, and coverage of augmented and virtual reality toolkits. You'll master the Unity toolset from the ground up, learning the skills to go from application coder to game developer. Foreword by Jesse Schell. About the technology Writing games is rewarding and fun—and with Unity, it’s easy to get started! Unity handles the heavy lifting, so you can focus on game play, graphics, and user experience. C# support and a huge ecosystem of prebuilt components help even first-time developers go from the drawing board to the screen fast. About the book Unity in Action, Third Edition teaches you to create games with the Unity game platform. It’s many 2D, 3D, and AR/VR game examples give you hands-on experience with Unity’s workflow tools and state-of-the-art rendering engine. This fully updated third edition presents new coverage of Unity’s XR toolkit and shows you how you can start building with virtual and augmented reality. What's inside Create characters that run, jump, and bump into things Script enemies with AI Play music and spatially-aware sound effects Deploy your games to desktop, mobile, and the web About the reader For programmers who know any object-oriented programming language. Examples are in C#. About the author Joe Hocking is a software engineer and Unity expert specializing in interactive media development. Table of Contents PART 1 FIRST STEPS 1 Getting to know Unity 2 Building a demo that puts you in 3D space 3 Adding enemies and projectiles to the 3D game 4 Developing graphics for your game PART 2 GETTING COMFORTABLE 5 Building a Memory game using Unity’s 2D functionality 6 Creating a basic 2D platformer 7 Putting a GUI onto a game 8 Creating a third-person 3D game: Player movement and animation 9 Adding interactive devices and items within the game PART 3 STRONG FINISH 10 Connecting your game to the internet 11 Playing audio: Sound effects and music 12 Putting the parts together into a complete game 13 Deploying your game to players’ devices

Prikaži sve...
forward
Detaljnije

„Naučite kvantno računarstvo uz Python i Q#“ predstavlja kvantno računarstvo iz praktične perspektive. Rezime Knjiga „Naučite kvantno računarstvo pomoću jezika Python i Q#“ demistifikuje kvantno računarstvo. Koristeći Python i novi kvantni programski jezik Q#, izgradićete svoj kvantni simulator i primeniti tehnike kvantnog programiranja na primere iz stvarnog sveta, uključujući kriptografiju i hemijsku analizu. O tehnologiji Kvantni računari predstavljaju radikalan skok u brzini i računarskoj snazi. Poboljšane naučne simulacije i nove granice u kriptografiji koje su nemoguće u klasičnom računarstvu uskoro bi mogle biti dostupne. Microsoftov Quantum Development Kit i Q# jezik obezbeđuju vam alatke za eksperimentisanje sa kvantnim računarstvom, a pri tom ne morate da znate naprednu matematiku ili teorijsku fiziku. O knjizi Knjiga „Naučite kvantno računarstvo pomoću jezika Python i Q#“ predstavlja kvantno računarstvo iz praktične perspektive. Koristite Python da biste kreirali svoj kvantni simulator i iskoristite prednosti Microsoftovih alatki otvorenog koda za fino podešavanje kvantnih algoritama. Autori objašnjavaju složenu matematiku i teoriju kroz priče, vizuelne prikaze i igre. Naučićete da primenite kvant na aplikacije u stvarnom svetu, npr. slanje tajnih poruka i rešavanje hemijskih problema. Šta je unutra Osnovna mehanika kvantnih računara Simulacija kubita u Pythonu Istraživanje kvantnih algoritama pomoću jezika Q# Primena kvantnog računarstva na hemiju, aritmetiku i podatke O čitaocu Za programere softvera. Nije potrebno prethodno iskustvo u kvantnom računarstvu. O autorima Dr Sarah Kaiser radi u neprofitnoj organizaciji „Unitary Fund“ koja podržava kvantni ekosistem otvorenog koda i ekspert je za izradu kvantne tehnologije u laboratoriji. Dr Christopher Granade radi u grupi „Quantum Systems“ u Microsoftu i stručnjak je za karakterizaciju kvantnih uređaja. Sadržaj DEO 1 POČETAK RADA POMOĆU KVANTA Uvod u kvantno računarstvo Kubiti: gradivni blokovi Deljenje tajni pomoću distribucije kvantnog ključa Nelokalne igre: Rad pomoću više kubita Nelokalne igre: Implementacija višekubitnih simulatora Teleportacija i zaplitanje: Pomeranje kvantnih podataka DEO 2 PROGRAMIRANJE KVANTNIH ALGORITAMA U JEZIKU Q# Promena verovatnoće: Uvod u jezik Q# Šta je kvantni algoritam? Kvantno detektovanje: To nije samo faza DEO 3 PRIMENJENO KVANTNO RAČUNARSTVO Rešavanje zadataka iz hemije pomoću kvantnih računara Pretraživanje pomoću kvantnih računara Aritmetika pomoću kvantnih računara

Prikaži sve...
2,110RSD
forward
forward
Detaljnije

Pet linija koda: kako i kada refaktorisati U knjizi Pet linija koda učićete o refaktorisanju koje je fokusirano na konkretna pravila svođenja bilo kog metoda na pet linija ili manje! Knjiga ne sadrži žargon niti su vam potrebne posebne veštine za automatsko testiranje. Ona sadrži samo jednostavne smernice i obrasce ilustrovane detaljnim primerima koda. Obuhvaćene su sledeće teme: Znaci lošeg koda Bezbedno poboljšanje koda, čak i kada ga ne razumete Balansiranje optimizacije i uopštenosti koda Pravilne prakse kompajlera Metod izdvajanja, uvođenje Strategy obrasca i mnogih drugih obrazaca refaktorisanja Pisanje stabilnog koda koji omogućava promenu dodavanjem Pisanje koda koji ne zahteva komentare Praksa iz stvarnog sveta za sjajno refaktorisanje Poboljšanje postojećeg koda – refaktorisanje – jedan je od najčešćih zadataka sa kojima ćete se suočiti kao programer. U knjizi Pet linija koda naučićete jasna i delotvorna pravila refaktorisanja koja možete da primenite bez oslanjanja na intuitivno mišljenje, kao što je „miris koda“. Prateći stručnu perspektivu autora – da se refaktorisanje i mirisi koda mogu naučiti praćenjem konkretnog skupa principa – naučićete kada da refaktorišete kod, koje obrasce da primenite na koji problem i karakteristike koda koje ukazuju da je vreme za preradu. O tehnologiji Svaka baza kodova sadrži greške i neefikasnost koje je potrebno da pronađete i ispravite. Refaktorišite na pravi način da bi kod postao elegantan, lak za čitanje i održavanje. Uz ovu knjigu ćete naučiti jedinstven pristup refaktoriranju koji implementira bilo koji metod u pet linija, ili manje. Takođe ćete otkriti tajnu koju većina starijih programera zna: ponekad je brže razraditi kod i ispraviti ga kasnije! Kome je namenjena knjiga Za programere svih nivoa veštine. Za primere je korišćen lako čitljiv Typescript, u istom stilu kao Java i C#. O autoru Kristijan Klauzen radi kao tehnički agilni trener, podučava timove da refaktorišu kod. Sadržaj 1 Refaktorisanje, refaktorisanje 2 Pogled ispod haube refaktorisanja 1 DEO UČITE REFAKTORISANJEM RAČUNARSKE IGRE 3 Razbijanje duge funkcije 4 Učinite da kod tipa funkcioniše 5 Spajanje sličnog koda 6 Zaštita podataka 2 DEO PRENOS NAUČENOG U STVARNI SVET 7 Saradnja sa kompajlerom 8 Klonite se komentara 9 Brisanje koda 10 Ne plašite se dodavanja koda 11 Pratite strukturu u kodu 12 Izbegavanje optimizacije i uopštenosti 13 Neka loš kod izgleda loše 14 Završetak „Prizemno, fokusirano i tačno. Knjiga će vas izazvati bez zastrašivanja i bez vređanja vaše inteligencije.” Robert C. Martin „Divan i zabavan uvod za jedan od najzapostavljenijih aspekata programiranja — refaktorisanje.“ Charles Lam, EVN AG „Dala mi je nove uvide u to kako da moj kod bude čitljiv i ažuriran. Toplo je preporučujem.” John Norcott, Vebstaurantstore „Ove tehnike su jednostavne, ali moćne, a vežbe olakšavaju njihovo učenje. Mogu se koristiti na bilo kom jeziku koji znam!” Christian Hasselbalch Thoudahl, BEC Financial Technologies

Prikaži sve...
1,930RSD
forward
forward
Detaljnije

KNJIGA KOJU SVAKI PROGRAMER BI VALJALO DA IMA. Pragmatični programer: vaš put do stručnosti (2. izdanje - povodom 20. godišnjice 1. izdanja) Karakteristike Najbolji pristupi današnjice za transformisanje zahteva u radni, održiv kod koji oduševljava korisnike Knjiga je detaljno revidirana sa 10 novih odeljaka, detaljnim opisima i novim primerima – kreirana je za budućnost sa većom tehnološkom nezavisnošću. Spaja pragmatične savete o svemu, od ostvarivanja lične karijere, do efikasnije arhitekture. Novi pomoćni materijali online, uključujući priručnike za instruktore i setove za vežbe, učiniće ovu knjigu vrednijom u učionici. „Jedna od najznačajnijih knjiga u mom životu.“ — Obie Fernandez, autor knjige „The Rails Way“ „Pre 20 godina je prvo izdanje knjige „Pragmatični programer“ promenilo put moje karijere. Ovo novo izdanje bi moglo da učini isto vašoj karijeri.“ — Mike Cohn, autor knjiga „Succeeding with Agile“, „Agile Estimating and Planning“ i „User Stories Applied“ „. . . popunjena praktičnim savetima, i tehničkim i profesionalnim, koji će pomoći vama i vašim projektima u narednim godinama.“ — Andrea Goulet, CEO, Corgibytes, Founder, LegacyCode.Rocks „. . . grom udara dva puta, a ova knjiga je dokaz.“ — VM (Vicky) Brasseur, direktor Open Source Strategyja, Juniper Networks Pragmatični programer je jedna od onih retkih tehnoloških knjiga koju ćete čitati, i ponovo čitati i čitati tokom više godina. Bez obzira da li ste novi u ovoj oblasti ili ste iskusni praktikant, svakim čitanjem ćete spoznati nešto novo. Dave Thomas i Andy Hunt napisali su prvo izdanje ovu uticajne knjige 1999. godine da bi pomogli svojim klijentima da kreiraju bolji softver i otkriju uživanje u kodiranju. Ove lekcije su pomogle generacijama programera da ispitaju suštinu razvoja softvera, nezavisno od bilo kog određenog jezika, radnog okvira ili metodologije, a pragmatična filozofija je obuhvaćena u stotinama knjiga, screencastova i audio knjiga, kao i u hiljadama priča o karijeri i uspehu. Sada, 20 godina kasnije, ovo novo izdanje ponovo ispituje šta znači biti moderni programer. Teme se kreću u rasponu od lične odgovornosti i razvoja karijere do arhitekturnih tehnika za održavanje koda fleksibilnim i jednostavnim za prilagođavanje i ponovnu upotrebu. Pročitajte ovu knjigu i naučićete: da se borite protiv zastarelosti softvera da učite kontinualno da izbegavate zamke dvostrukog učenja da pišete fleksibilan, dinamički i prilagodljiv kod da iskoristite moć osnovnih alata da izbegavate slučajno programiranje da naučite stvarne zahteve da rešite osnovne probleme konkurentnog koda da se zaštitite od sigurnosnih ranjivosti da izgradite timove pragmatičnih programera da preuzmete odgovornost za vaš rad i karijeru da testirate kod efikasno, uključujući i testiranje zasnovano na svojstvu da implementirate Pragmatic Starter Kit da oduševite vaše korisnike Knjiga „Pragmatični programer“ je napisana kao serija samostalnih odeljaka i popunjena je klasičnim i svežim anegdotama, korisnim primerima i interesantnim analogijama, a ilustruje najbolje pristupe i osnovne zamke mnogih različitih aspekata razvoja softvera. Bez obzira da li ste novi u svetu kodiranja, ili ste iskusni programer ili ste menadžer odgovoran za softverske projekte, koristite ove lekcije svakodnevno i brzo ćete uočiti poboljšanja u ličnoj produktivnosti, tačnosti i zadovoljstvu poslom. Naučićete veštine i razviti navike i stavove koji predstavljaju osnovu za dugotrajni uspeh u karijeri. Postaćete pragmatični programer. Tabela sadržaja Poglavlje 1: Pragmatična filozofija Poglavlje 2: Pragmatični pristup Poglavlje 3: Osnovne alatke Poglavlje 4: Pragmatična paranoja Poglavlje 5: Prihvati ili prekini! Poglavlje 6: Konkurentnost Poglavlje 7: Dok kodirate Poglavlje 8: Pre projekta Poglavlje 9: Pragmatični projekti Rekli su o knjizi: “Jedna od najznačajnijih knjiga u mom životu.” —Obie Fernandez, Autor, The Rails Way “Pre dvadeset godina, prvo izdanje knjige Pragmatični programer promenilo je put moje karijere. Ovo novo izdanje bi moglo da učini isto vašoj karijeri.” —Mike Cohn, Autor knjiga Succeeding with Agile, Agile Estimating and Planning, i User Stories Applied “. . . popunjena praktičnim savetima, i tehničkih i profesionalnih, koji će pomoći vama i vašim projektima u narednim godinama.” —Andrea Goulet, CEO, Corgibytes, Founder, LegacyCode.Rocks “. . . grom udara dva puta, a ova knjiga je dokaz.” —VM (Vicky) Brasseur, Direktor Open Source Strategy-a, Juniper Networks

Prikaži sve...
1,840RSD
forward
forward
Detaljnije

Često softverski inženjeri i arhitekte rade sa velikim, kompleksnim bazama koda koje treba da skaliraju i održavaju. U ovom priručniku, autor Maksimilijano Kontijeri vas vodi dalje od koncepta čistog koda pokazujući vam kako da identifikujete mogućnosti za poboljšanje i njihov uticaj na produkcijski kod. Kada je reč o pouzdanosti i evoluciji sistema, ove tehnike pružaju prednosti koje se isplate vremenom. Koristeći stvarne primere u JavaScript-u, PHP-u, Javi, Pythonu i mnogim drugim programskim jezicima, ovaj priručnik pruža proverene recepte koji vam pomažu da skalirate i održavate velike sisteme. Svaki odeljak pokriva osnovne koncepte uključujući čitljivost, spregu, testabilnost i proširivost, kao i mirise koda - simptome problema koji zahtevaju posebnu pažnju - i recepte za rešavanje istih. Kako napredujete kroz ovu knjigu, recepti za refaktorisanje i raznovrsnost mirisa koda rastu u složenosti. Vi ćete: Razumeti prednosti čistog koda i naučiti kako da detektujete mirise koda Naučiti tehniku refaktorisanja korak po korak Dobiti ilustrativne primere koda u nekoliko savremenih programskih jezika Dobiti sveobuhvatan katalog uobičajenih mirisa koda, njihovih uticaja i mogućih rešenja Koristiti kod koji je direktan, favorizujući čitljivost i učenje Iz predgovora Kod je svuda, od razvoja veb aplikacija do pametnih ugovora, ugradnih sistema, blokčejnova, softverskog sistema na brodu teleskopa Džejms Veb, hirurških robota i mnogih drugih domena. Softver efektivno preuzima svet, i trenutno smo svedoci uspona profesionalnih alata za generisanje koda veštačkom inteligencijom. To znači da je čist kod važniji nego ikada. Dok nastavljate da radite na sve većim privatnim ili otvorenim kod bazama, čist kod je način da ih održite svežim i spremnim za evoluciju. Kome je knjiga namenjena Ova knjiga vam pomaže da identifikujete uobičajene probleme u kodu i ističe posledice tih problema. Konačno vam pomaže da ih izbegnete uz recepte koji se lako prate. To je dragocen resurs koji može u velikoj meri pomoći programerima, recenzentima koda, arhitektama i studentima u unapređivanju njihovih veština kodiranja i postojećih sistema. Šta vam je potrebno da biste koristili ovu knjigu Da biste pokrenuli primere koda, potrebno vam je radno okruženje poput O'Reilly sandbox-a ili Replita. Podstičem vas da prevedete primere koda u vaš omiljeni programski jezik. Danas to možete uraditi besplatno uz generatore koda veštačkom inteligencijom. Koristio sam alate kao što su GitHub Copilot, OpenAI Codex, Bard, ChatGPT i mnoge druge da bih napisao primere koda za ovu knjigu. Korišćenje ovih alata omogućilo mi je da koristim više od 25 različitih jezika u ovoj knjizi iako nisam ekspert za mnoge od njih. O autoru Maksimilijano Kontijeri radi u softverskoj industriji već 25 godina i istovremeno predaje na univerzitetu. Već tri godine piše o čistom kodu, refaktorisanju i mirisima koda, pišući par članaka nedeljno na mnogim popularnim blog platformama. On je fan deklarativnog i bihevioralnog koda i oslanja se na softverske osnove za izgradnju elegantnih i robustnih rešenja. Sadržaj Predgovor Uvod 1. Čist kod 1.1 Šta je miris koda? 1.2 Šta je refaktorisanje? 1.3 Šta je recept? 1.4 Zašto čist kod? 1.5 Čitljivost, performanse ili i jedno i drugo 1.6 Tipovi softvera 1.7 Mašinski generisan kod 1.8 Razmatranje o imenovanjima u knjizi 1.9 Obrasci dizajna 1.10 Paradigme programskih jezika 1.11 Objekti naspram klasa 1.12 Prilagodljivost 2. Uspostavljanje aksioma 2.0 Uvod 2.1 Zašto je to model? 2.2 Zašto je apstraktan? 2.3 Zašto je programabilan? 2.4 Zašto je delimičan? 2.5 Zašto je objašnjavajući? 2.6 Zašto je to povezano sa stvarnošću? 2.7 Zaključivanje pravila 2.8 Jedini pravi princip dizajniranja softvera 3. Anemični modeli 3.0 Uvod 3.1 Pretvaranje anemičnih objekata u bogate objekte 3.2 Prepoznavanje suštine vaših objekata 3.3 Uklanjanje metoda za postavljanje iz objekata 3.4 Uklanjanje anemičnih generatora koda 3.5 Uklanjanje automatskih svojstava 3.6 Uklanjanje objekata za prenos podataka 3.7 Kompletiranje praznih konstruktora 3.8 Uklanjanje metoda za dohvatanje 3.9 Sprečavanje raskalašnog ponašanja objekata 3.10 Uklanjanje dinamičkih svojstava 4. Primitivna opsesija 4.0 Uvod 4.1 Kreiranje malih objekata 4.2 Konkretizovanje primitivnih podataka 4.3 Konkretizovanje asocijativnih nizova 4.4 Uklanjanje zloupotreba niske 4.5 Konkretizovanje vremenskih oznaka 4.6 Konkretizovanje podskupova kao objekata 4.7 Konkretizovanje ispravnosti niske 4.8 Uklanjanje nepotrebnih svojstava 4.9 Kreiranje vremenskih intervala 5. Promenljivost 5.0 Uvod 5.1 Menjanje promenljive u konstantu 5.2 Deklarisanje promenljive kao promenljive 5.3 Zabrana promena u suštini 5.4 Izbegavanje promenljivih konstantnih nizova 5.5 Uklanjanje lenje inicijalizacije 5.6 Zamrzavanje promenljivih konstanti 5.7 Uklanjanje sporednih efekata 5.8 Prevencija podizanja 6. Deklarativni kod 6.0 Uvod 6.1 Sužavanje ponovo korišćenih promenljivih 6.2 Uklanjanje praznih linija 6.3 Uklanjanje verzionisanih metoda 6.4 Uklanjanje dvostrukih negacija 6.5 Menjanje pogrešno postavljenih odgovornosti 6.6 Zamena eksplicitnih iteracija 6.7 Dokumentovanje dizajnerskih odluka 6.8 Zamena magičnih brojeva konstantama 6.9 Razdvajanje „štaˮ i „kakoˮ 6.10 Dokumentovanje regularnih izraza 6.11 Prerada Yoda uslova 6.12 Uklanjanje neprofesionalnih metoda 6.13 Izbegavanje problema sa ugnježdenim povratnim pozivima 6.14 Generisanje dobrih poruka o greškama 6.15 Izbegavanje magičnih ispravki 7. Imenovanje 7.0 Uvod 7.1 Proširivanje skraćenica 7.2 Preimenovanje i razbijanje pomoćnih i uslužnih funkcija 7.3 Preimenovanje objekata sa prisvojnom zamenicom u prefiksu imena 7.4 Preimenovanje promenljivih rezultata 7.5 Preimenovanje promenljivih imenovanih po tipovima 7.6 Preimenovanje dugih imena 7.7 Preimenovanje apstraktnih imena 7.8 Ispravljanje grešaka u pisanju 7.9 Uklanjanje imena klasa iz atributa 7.10 Uklanjanje prvog slova iz klasa i interfejsa 7.11 Preimenovanje funkcija koje u svojim imenima imaju Basic/Do 7.12 Pretvaranje množine imena klase u jedninu 7.13 Uklanjanje reči „collectionˮ iz imena 7.14 Uklanjanje prefiksa/sufiksa „Implˮ iz imena klasa 7.15 Preimenovanje argumenata prema ulozi 7.16 Uklanjanje suvišnih imena parametara 7.17 Uklanjanje nepotrebnog konteksta iz imena 7.18 Izbegavanje upotrebe reči „dataˮ u imenu 8. Komentari 8.0 Uvod 8.1 Uklanjanje komentara u kojima se nalazi kod 8.2 Uklanjanje zastarelih komentara 8.3 Uklanjanje komentara sa logičkim vrednostima 8.4 Uklanjanje komentara u metodima za dohvatanje 8.5 Pretvaranje komentara u imena funkcija 8.6 Uklanjanje komentara unutar metoda 8.7 Zamena komentara testovima 9. Standardi 9.0 Uvod 9.1 Praćenje standarda pisanja koda 9.2 Standardizacija uvlačenja linija 9.3 Unifikacija konvencija za velika i mala slova 9.4 Pisanje koda na engleskom jeziku 9.5 Unifikacija redosleda parametara 9.6 Popravljanje postojećih problema 10. Kompleksnost 10.0 Uvod 10.1 Uklanjanje ponovljenog koda 10.2 Uklanjanje podešavanja/konfiguracija i opcija za funkcionalnosti 10.3 Menjanje stanja kao svojstava 10.4 Uklanjanje komplikovanih rešenja iz koda 10.5 Kršenje višestrukih obećanja 10.6 Prekidanje dugih lanaca saradnje 10.7 Izdvajanje metoda u objekat 10.8 Praćenje konstruktora nizova 10.9 Uklanjanje objekata sa nepredvidivim ponašanjima 11. Naduvavanje koda 11.0 Uvod 11.1 Razbijanje predugačkih metoda 11.2 Smanjenje suvišnih argumenata 11.3 Smanjenje suvišnih promenljivih 11.4 Uklanjanje suvišnih zagrada 11.5 Uklanjanje suvišnih metoda 11.6 Razbijanje suvišnih atributa 11.7 Smanjenje listi uvoza 11.8 Razbijanje funkcija koje obavljaju više zadataka 11.9 Razbijanje obilnih interfejsa 12. YAGNI 12.0 Uvod 12.1 Uklanjanje mrtvog koda 12.2 Upotreba koda umesto dijagrama 12.3 Refaktorisanje klasa sa jednom potklasom 12.4 Uklanjanje jednokratnih interfejsa 12.5 Uklanjanje nepravilne upotrebe dizajnerskih obrazaca 12.6 Zamena poslovnih kolekcija 13 Otkrij grešku što pre 13.0 Uvod 13.1 Refaktorisanje ponovnog dodeljivanja vrednosti promenljivih 13.2 Nametanje preduslova 13.3 Upotreba strožih parametara 13.4 Uklanjanje podrazumevanih slučajeva iz naredbi grananja 13.5 Izbegavanje izmena kolekcija tokom iteracije 13.6 Ponovno definisanje heširanja i jednakosti 13.7 Refaktorisanje bez funkcionalnih promena 14. Uslovna grananja 14.0 Uvod 14.1 Zamena slučajnih uslovnih grananja polimorfizmom 14.2 Preimenovanje indikatorskih promenljivih događaja 14.3 Konkretizovanje Bulovih promenljivih 14.4 Zamena switch/case/elseif naredbi 14.5 Zamena fiksiranih if uslova kolekcijama 14.6 Promena logičkih uslova u uslove sa skraćivanjem 14.7 Dodavanje implicitnog else uslova 14.8 Ponovno pisanje stepenasto napisanog uslovnog koda 14.9 Izbegavanje trikova uslova sa skraćivanjem 14.10 Ponovno pisanje ugnježdenog stepenasto napisanog koda 14.11 Sprečavanje povratnih logičkih vrednosti za provere uslova 14.12 Menjanje poređenja sa logičkim vrednostima 14.13 Izdvajanje iz dugih uslovnih izraza sa ternarnim operatorima 14.14 Konverzija nepolimorfnih funkcija u polimorfne 14.15 Menjanje poređenja jednakosti 14.16 Pretvaranje fiksiranih poslovnih uslova 14.17 Uklanjanje nepotrebnih logičkih vrednosti 14.18 Ponovno pisanje ugnježdenih uslova sa ternarnim operatorima 15. Null vrednost 15.0 Uvod 15.1 Kreiranje Null objekata 15.2 Uklanjanje opcionog ulančavanja 15.3 Pretvaranje opcionih atributa u kolekcije 15.4 Upotreba stvarnih objekata za null vrednosti 15.5 Predstavljanje nepoznatih lokacija bez korišćenja null vrednosti 16. Preuranjena optimizacija 16.0 Uvod 16.1 Izbegavanje identifikatora objekata 16.2 Uklanjanje preuranjene optimizacije 16.3 Uklanjanje preuranjene optimizacije sa operatorima nad bitovima 16.4 Smanjivanje preopštenosti 16.5 Menjanje strukturne optimizacije 16.6 Uklanjanje kodova za buduću upotrebu 16.7 Izdvajanje keša iz objekata domena 16.8 Uklanjanje događaja sa povratnim pozivom baziranih na implementaciji 16.9 Uklanjanje upita iz konstruktora 16.10 Uklanjanje koda iz destruktora 17. Povezivanje 17.0 Uvod 17.1 Pretvaranje skrivenih pretpostavki u eksplicitne 17.2 Zamena unikata 17.3 Razbijanje preopterećenih objekata 17.4 Razbijanje divergentnih promena 17.5 Pretvaranje specijalnih indikatorskih vrednosti 9999 u normalne 17.6 Uklanjanje operacije širokog raspona 17.7 Uklanjanje opcionih argumenata 17.8 Prevencija zavisti prema funkcijama 17.9 Uklanjanje posrednika 17.10 Premeštanje podrazumevanih argumenata na kraj 17.11 Izbegavanje efekta talasa 17.12 Uklanjanje slučajnih metoda na poslovnim objektima 17.13 Uklanjanje poslovnog koda iz korisničkog interfejsa 17.14 Menjanje povezanosti u klase 17.15 Refaktorisanje klastera podataka 17.16 Prekidanje neprikladne intimnosti 17.17 Pretvaranje zamenljivih objekata 18. Globalne promenljive 18.0 Uvod 18.1 Pretvaranje globalnih funkcija 18.2 Pretvaranje statičkih funkcija 18.3 Zamena GoTo naredbi strukturiranim kodom 18.4 Uklanjanje globalnih klasa 18.5 Menjanje globalnih datuma bez sadržaja 19. Hijerarhije 19.0 Uvod 19.1 Razbijanje dubokog nasleđivanja 19.2 Razbijanje jo-jo hijerarhija 19.3 Razbijanje potkategorizacije radi ponovne upotrebe koda 19.4 Zamena „is-aˮ relacije ponašanjem 19.5 Uklanjanje ugnježdenih klasa 19.6 Preimenovanje izolovanih klasa 19.7 Pretvaranje konkretnih klasa u konačne 19.8 Eksplicitno definisanje nasleđivanja klase 19.9 Prenošenje praznih klasa 19.10 Odgađanje preuranjene klasifikacije 19.11 Uklanjanje zaštićenih atributa 19.12 Kompletiranje praznih implementacija 20. Testiranje 20.0 Uvod 20.1 Testiranje privatnih metoda 20.2 Dodavanje opisa tvrdnjama 20.3 Prenošenje assertTrue do specifičnih tvrdnji 20.4 Zamena lažnih objekata stvarnim objektima 20.5 Unapređivanje generičkih tvrdnji 20.6 Uklanjanje nestabilnih testova 20.7 Menjanje tvrdnji za brojeve sa pokretnim zarezom 20.8 Menjanje test podataka stvarnim podacima 20.9 Zaštita testova koji krše enkapsulaciju 20.10 Uklanjanje irelevantnih informacija iz testova 20.11 Dodavanje pokrivenosti za svaki zahtev za spajanjem 20.12 Ponovno pisanje testova koji zavise od datuma 20.13 Učenje novog programskog jezika 21. Tehnički dug 21.0 Uvod 21.1 Uklanjanje koda koji zavisi od produkcije 21.2 Uklanjanje sistema za praćenje grešaka 21.3 Uklanjanje upozorenja/striktnog režima rada 21.4 Prevencija i uklanjanje oznaka ToDo i FixMe 22. Izuzeci 22.0 Uvod 22.1 Uklanjanje praznih blokova izuzetaka 22.2 Uklanjanje nepotrebnih izuzetaka 22.3 Ponovno pisanje izuzetaka za očekivane slučajeve 22.4 Ponovno pisanje ugnježdenih try/catch blokova 22.5 Zamena povratnih kodova izuzecima 22.6 Ponovno pisanje izuzetaka u stepenasto napisanom kodu 22.7 Skrivanje grešaka niskog nivoa od krajnjih korisnika 22.8 Sužavanje pokušaja za izuzetke 23. Metaprogramiranje 23.0 Uvod 23.1 Uklanjanje upotrebe metaprogramiranja 23.2 Oživljavanje bezimenih funkcija 23.3 Uklanjanje pretprocesora 23.4 Uklanjanje dinamičkih metoda 24. Tipovi 24.0 Uvod 24.1 Uklanjanje provere tipa 24.2 Rad sa istinitim vrednostima 24.3 Promena Float brojeva u decimalne 25. Bezbednost 25.0 Uvod 25.1 Dezinfekcija unosa 25.2 Promena sekvencijalnih identifikatora 25.3 Uklanjanje zavisnosti paketa 25.4 Zamena zlih regularnih izraza 25.5 Zaštita deserijalizacijer objekata Rečnik pojmova Indeks

Prikaži sve...
2,100RSD
forward
forward
Detaljnije

Počnite odmah! 24 proverene jednočasovne lekcije. U samo 24 lekcije u trajanju od jednog časa ili kraće, bićete spremni da počnete da koristite Ekstremno programiranje. Korišćenjem jasnog, korak po korak pristupa, svaka se lekcija nadovezuje na prethodnu, omogućavajući Vam da naučite osnove Ekstremnog programiranja. Probajte nešto sasvim novo i u trendu. Ekstremno programiranje. Agilno modeliranje. Naučite kako da: uz pomoć tehnika ekstremnog programiranja brzo napravite program razvijate programe uz pomoć 12 praktičnih preporuka iz XP-a pravite programe primenom programiranja u parovima pišete automatizovane jedinice testiranja implementirate XP u svojoj organizaciji proširite i prilagodite XP u skladu sa Vašim potrebama automatizujete proces građenja programa pojednostavite svoj kod pomoću tehnike refaktorisanja "Iskreno verujem da će Vam ova knjiga pokazati kako da uspete sa XP-om i kako da ga primenite na svoj projekat. Ljudi koji žele da uspeju u igri koja se zove razvoj softvera, treba da pročitaju ovu knjigu." Scott W. Ambler, Predsednik kompanije Ronin International, Inc. Instrukcije tipa korak po korak Vas pažljivo vode kroz najvažnije teme. Pitanja i odgovori, kvizovi i vežbe na kraju svakog poglavlja pomažu Vam da proverite svoje znanje. Napomene i saveti ukazuju na prečice i alternative. Osnovno o autoru: Stewart Baird je nezavisni konsultant koji radi na razvoju softvera, pruža konsultantske usluge i piše knjige. Pre nego što je osnovao svoju kompaniju radio je za KPMG Consulting, sa Novog Zelanda, gde je bio vodeći evanđelista njihove implementacije Ekstremnog programiranja (XP). XP-om se bavio kako na Novom Zelandu tako i u SAD. Danas pomaže svojim klijentima da razviju sopstvena rešenja primenom XP-a i drugih tehnika Agilnog programiranja. Sav izvorni kod koji postoji u ovoj knjizi možete preuzeti sa adrese www.samspublishing.com. Kratak sadržaj: Uvod Deo I: Upoznavanje sa osnovama XP-a Čas 1. Okruženje u kome se pojavio XP Čas 2. Šta je XP? Čas 3. Savladavanje problema u razvoju softvera pomoću XP-a Deo II: XP u akciji Čas 4. Životni ciklus u razvoju pomoću XP-a Čas 5. Uloge u timu koji primenjuje XP Čas 6. Praktične preporuke XP-a na delu Deo III: XP projekat Čas 7. Vođenje XP projekta Čas 8. Planiranje verzija programa u XP-u Čas 9. Iterativni razvoj softvera Čas 10. Prikupljanje zahteva korisnika preko priča korisnika Čas 11. Razvoj programa putem programiranja u parovima Deo IV: Upotreba XP alata Čas 12. Kreiranje programa na XP način Čas 13. Upotreba razvojnih alata za XP Čas 14. Testiranje jedinica preko Java alata Čas 15. Testiranje jedinica pomoću Microsoftovih alata Čas 16. Automatizacija razvoja prgrama Čas 17. Automatizacija XP projekta u Antu Deo V: Uvođenje XP-a u Vašu organizaciju Čas 18. Implementacija XP u Vašoj organizaciji Čas 19. Prodaja i kupovina u XP-u Čas 20. Učenje na osnovu XP case studija Deo VI: Proširenje primene XP-a i druge napredne teme Čas 21. Još nešto o tehnikama refaktorisanja Čas 22. Proširenje granica XP-a Čas 23. Agilno programiranje i XP Čas 24. Ostale metodologije Agilnog modeliranja Deo VII: Dodaci Dodatak A. Dodatni izvori Dodatak B. Onlajn izvori Indeks

Prikaži sve...
forward
Detaljnije

Praktičan i upotrebljiv priručnik za projektovanje atraktivnih poslovnih aplikacija uz pomoć Excela 2003. Ovladajte najvitalnijim objektima Excela 2003 i efikasnim postupcima za projektovanje aplikacija. VBA programska rešenja koja se mogu, u neizmenjenom obliku, upotrebiti i u verzijama Excel 97, Excel 2000 i Excel 2002. Kreirajte moćne poslovne aplikacije uz pomoć Excela 2003. Excel 2003 predstavlja idealnu platformu za projektovanje aplikacija na svim nivoima poslovnih primena. Ukoliko posedujete zavidno iskustvo u upotrebi Excela i želite da steknete veštinu programiranja, ili ste, pak, stručnjak za programiranje koji se tek upoznaje sa Excelom i Excelovim objektnim modelom, onda ćete iz ove knjige, koja je potpuno oslobođena suvišnih trivijalnosti, naučiti kako da kreirate aplikacije koje su u potpunosti prilagođene konkretnom zadatku i tako samom sebi, svom poslodavcu ili svojim klijentima, omogućiti ogromne uštede u vremenu i novcu. Pisana od strane profesionalca sa bezmalo čitavom decenijom iskustva u projektovanju Excel/VBA poslovnih rešenja, knjiga Majstor za Excel 2003 programiranje u VBA nudi Vam precizna uputstva i objašnjava tehnika pomoću kojih možete znatno povećati svoju produktivnost. Pomoću ove knjige, ovladaćete najvažnijim objektima Excela i tehnikama programiranja koje su neophodne za kreiranje kompletnih poslovnih rešenja, uključujući rad sa XML podacima, upotrebu tehnologije "pametnih dokumenata" i integraciju sa bazama podataka uz pomoć ADO-a. Osim toga, sve izložene primere programskog kôda i brojne praktične savete, moći ćete slobodno da upotrebite u sopstvenim projektima. Svojim izuzetno pitkim i duhovitim stilom pisanja, autor Steven Hansen uspeva da izložene informacije učini lako razumljivim i zabavnim za čitanje, ali pri tom nimalo ne okleva da se, kada je to neophodno, bespoštedno uhvati ukoštac sa izazovnom i kompleksnom tematikom. Iz ove knjige ćete naučiti sve što je potrebno o: Aktivnom korišćenju VBA Alatima i taktikama za pronalaženje grešaka koje zaista funkcionišu Ovladavanju Excelovim objektnim modelom Projektovanju klasnih modula Prilagođavanju korisničkih formi u Excelu Integrisanju Excela sa drugim aplikacijama Inkorporaciji tekstualnih fajlova u poslovna rešenja Kreiranju aplikacija koje će izvući maksimum iz raspoloživih baza podataka Upotrebi XML-a u Excelu Dizajniranju efikasnih paleta alata i korisničkih menija Kreiranju "pametnih dokumenata" u Excelu 2003 Distribuciji i razmeštanju kreiranih poslovnih aplikacija Iskoristite najatraktivnije novine u Excelu 2003, uključujući XML Data integraciju i Smart Document tehnologiju. Ovladajte praktičnim znanjima iz oblasti Excelovog objektnog modela. Kreirajte sebi pouzdan oslonac na najbrži mogući način, tako što ćete iskoristiti gotove primere programskog kôda. Usavršite veštine programiranja u VBA, koje ćete moći bez problema da primenite i u svim prethodnim verzijama Excela, počev od Excela 97, do Excela 2000 i Excela 2002. O autoru Steven M. Hansen se već skoro čitavu deceniju uspešno bavi projektovanjem sofisticiranih analitičkih softverskih aplikacija, uz pomoć Excela i programskog jezika VBA. Tokom 1998. godine, osnovao je Dakota Technology Group Inc., firmu koja se prvenstveno bavi konsaltingom, sa posebnim naglaskom na projektovanju softverskih aplikacija, koje analitičarima i drugim naučnim radnicima omogućavaju da svoj posao obavljaju znatno efikasnije. Steve je magistrirao na Carlsonovoj školi menadžmenta Univerziteta u Minesoti i ko-autor je knjige Mastering Excel 2000 Premium Edition, koju je takođe objavila izdavačka kuća Sybex. Kratak sadržaj Uvod Deo I Uvod u projektovanje u Excelu Poglavlje 1 Excel kao razvojna platforma Poglavlje 2 Upoznavanje sa okruženjem Poglavlje 3 Početak rada sa VBA Poglavlje 4 Taktike za pronalaženje grešaka koje funkcionišu Deo II Ovladavanje objektnim modelom Excela Poglavlje 5 Istraživanje Application objekta Poglavlje 6 Upotreba Workbook objekta Poglavlje 7 Do pobede uz pomoć radnih listova Poglavlje 8 Najvažniji objekat Poglavlje 9 Praktične operacije sa opsezima Poglavlje 10 Istraživanje ostalih objekata u Excelu Deo III Napredne tehnike programiranja u Excelu Poglavlje 11 Projektovanje klasnih modula Poglavlje 12 Korisničko personalizovanje aplikacija Poglavlje 13 Uhodani načini projektovanja u Excelu Deo IV Rad sa eksternim podacima Poglavlje 14 Integracija sa drugim aplikacijama Poglavlje 15 Inkorporacija tekstualnih fajlova u dobijena rešenja Poglavlje 16 Snalaženje sa bazama podataka Poglavlje 17 XL(M) = XLM Deo V Poboljšanje aplikacija sa aspekta krajnjeg korisnika Poglavlje 18 Osnovni korisnički interfejs Poglavlje 19 Preuzimanje kontrole nad komandnim paletama Poglavlje 20 Konstrukcija korisničkih formi Poglavlje 21 Šlag na tortu: "Pametni dokumenti" u Excelu 2003 Poglavlje 22 Strategije razmeštanja aplikacija Indeks

Prikaži sve...
forward
Detaljnije

Istražite postojeće strukture podataka i algoritme koji se nalaze u Python bibliotekama Implementirajte grafovske algoritme za detekciju prevare upotrebom analize mreže Koristite algoritme mašinskog učenja za grupisanje sličnih tvitova i obradite Twitter podatke u realnom vremenu Predvidite vremensku prognozu upotrebom algoritama nadgledanog učenja Upotrebite neuronske mreže za detekciju objekta Kreirajte mehanizam preporuke koji preporučuje relevantne filmove pretplatnicima Implementirajte bezbednost upotrebom simetrične i asimetrične enkripcije na Google Cloud Platformi (GCP) Algoritmi su uvek igrali važnu ulogu u nauci i praksi računarstva. Osim tradicionalnog računarstva, mogućnost upotrebe algoritama za rešavanje stvarnih problema je važna veština koju svaki programer mora da ima. Ova knjiga će vam pomoći, ne samo da razvijete veštine za selekciju i upotrebu algoritma za rešavanje stvarnih problema, nego i da razumete kako oni funkcionišu. Prvo ćemo predstaviti algoritme i otkriti različite tehnike projektovanja algoritama, pre nego što istražimo kako da implementirate različite tipove algoritama, kao što su pretraga i sortiranje, pomoću praktičnih primera. Dok budemo napredovali ka kompleksnijim skupovima algoritama, učićete o linearnom programiranju, rangiranju stranice i grafovima, a koristićete i algoritme mašinskog učenja i razumećete matematiku i logiku u njima. Dalje, studije slučajeva, kao što je predviđanje vremenske prognoze, grupisanje tvitova i mehanizmi za preporučivanje filmova će vam pokazati kako možete da primenite optimalno ove algoritme. Na kraju ćete dobro razumeti tehnike koje omogućavaju paralelnu obradu, dajući vam mogućnost da upotrebite ove algoritme za računski intenzivne zadatke. Do kraja ove knjige postaćete vešti u rešavanju stvarnih računskih problema upotrebom različitih algoritama. Naučite tehnike koje bi trebalo da znate da biste dizajnirali algoritme za rešavanje složenih problema Upoznajte se sa neuronskim mrežama i tehnikama dubokog učenja Istražite različite tipove algoritama i izaberite odgovarajuće strukture podataka za njihovu optimalnu implementaciju Tabela sadržaja Poglavlje 1 Pregled algoritama Poglavlje 2 Strukture podataka upotrebljene u algoritmima Poglavlje 3 Algoritmi za sortIranje i pretraživanje Poglavlje 4 Dizajniranje algoritama Poglavlje 5 Grafovski algoritmi Poglavlje 6 Algoritmi nenadgledanog mašinskog učenja Poglavlje 7 Algoritmi tradicionalnog nadgledanog učenja Poglavlje 8 Algoritmi neuronske mreže Poglavlje 9 Algoritmi za obradu prirodnog jezika Poglavlje 10 Mehanizmi za preporuke Poglavlje 11 Algoritmi podataka Poglavlje 12 Kriptografija Poglavlje 13 Algoritmi velikih razmera Poglavlje 14 Praktična razmatranja

Prikaži sve...
1,840RSD
forward
forward
Detaljnije

This, the first volume in Randall Hyde’s Write Great Code series, dives into machine organization without the extra overhead of learning assembly language programming. Written for high-level language programmers, Understanding the Machine fills in the low-level details of machine organization that are often left out of computer science and engineering courses. Learn: How the machine represents numbers, strings, and high-level data structures, so you’ll know the inherent cost of using them. How to organize your data, so the machine can access it efficiently. How the CPU operates, so you can write code that works the way the machine does. How I/O devices operate, so you can maximize your application’s performance when accessing those devices. How to best use the memory hierarchy to produce the fastest possible programs. Great code is efficient code. But before you can write truly efficient code, you must understand how computer systems execute programs and how abstractions in programming languages map to the machine’s low-level hardware. After all, compilers don’t write the best machine code; programmers do. This book gives you the foundation upon which all great software is built. NEW IN THIS EDITION, COVERAGE OF: Programming languages like Swift and Java Code generation on modern 64-bit CPUs ARM processors on mobile phones and tablets Newer peripheral devices Larger memory systems and large-scale SSDs Author Bio Randall Hyde is the author of The Art of Assembly Language, one of the most highly recommended resources on assembly, and the three volume Write Great Code series (all No Starch Press). He is also the co-author of The Waite Group's MASM 6.0 Bible. He has written for Dr. Dobb’s Journal, Byte, as well as professional journals. Table of contents Chapter 1: What You Need to Know to Write Great Code Chapter 2: Numeric Representation Chapter 3: Binary Arithmetic and Bit Operations Chapter 4: Floating-Point Representation Chapter 5: Character Representation Chapter 6: Memory Organization and Access Chapter 7: Composite Data Types and Memory Objects Chapter 8: Boolean Logic and Digital Design Chapter 9: CPU Architecture Chapter 10: Instruction Set Architecture Chapter 11: Memory Architecture and Organization Chapter 12: Input and Output Chapter 13: Computer Peripheral Buses Chapter 14: Mass Storage Devices and Filesystems Chapter 15: Miscellaneous Input and Output Devices Afterword: Thinking Low-Level, Writing High-Level Appendix A: ASCII Character Set Glossary View the detailed Table of Contents Reviews Praise for the first edition of Write Great Code, Volume 1: "Today's programmers can hardly keep up with the race against inhumane deadlines and new technologies; therefore, they rarely have a chance to learn the basics of computer architectures and the inner-working of their programming languages. This book fills in the gaps. I strongly recommend it." —InformIT.com Write Great Code "isn't your typical 'teach yourself to program' book. . . It's relevant to all languages, and all levels of programming experience. . . Run, don't walk, to buy and read this book." —Bay Area Large Installation System Administrators (BayLISA) 5/5 stars: "[Write Great Code] fills in the blanks nicely and really could be part of a Computer Science degree required reading set... Once this book is read, you will have a greater understanding and appreciation for code that is written efficiently - and you may just know enough to do that yourself. At least you will have a great start at the art of crafting efficient software." —MacCompanion "Great fun to read." —VSJ Magazine "Write Great Code: Understanding the Machine should be on the required reading list for anyone who wants to develop terrific code in any language without having to learn assembly language." —WebServerTalk

Prikaži sve...
forward
Detaljnije

Temeljno i intuitivno funkcionalno programiranje Nema potrebe da se plašite da postanete funkcionalni! Ovaj jednostavan, živopisan i zanimljiv vodič savršen je za svakog zbunjenog programera. U njemu su postavljeni principi funkcionalnog programiranja na jednostavan i koncizan način koji će vam pomoći da shvatite šta je zapravo FP. U knjizi „Temeljno i intuitivno funkcionalno programiranje“ naučićete: Dizajniranje pomoću funkcija i tipova, umesto pomoću objekata Programiranje pomoću čistih funkcija i nepromenljivih vrednosti Pisanje konkurentnih programa korišćenjem funkcionalnog stila Testiranje funkcionalnih programa Višestruke pristupe učenju koji će vam pomoći da shvatite svaki novi koncept Ako ste ikada zakolutali očima na pomen funkcionalnog programiranja, ovo je knjiga za vas. Otvorite „Temeljno i intuitivno funkcionalno programiranje“ i pronaći ćete funkcionalne ideje preslikane na ono što već znate kao objektno-orijentisani programer. Knjiga se fokusira na praktične aspekte od prve stranice. U praktičnim primerima primenjeni su funkcionalni principi na svakodnevne zadatke programiranja, kao što su konkurentnost, rukovanje greškama i poboljšanje čitljivosti. Osim toga, zagonetke i vežbe vam omogućavaju da razmišljate o onome što učite i da to vežbate. Ubrzo ćete doživeti neverovatan trenutak inspiracije i počećete da posmatrate kod na potpuno nov način. O tehnologiji Na kraju, postoji jednostavan način da naučite funkcionalno programiranje! Ova jedinstvena knjiga počinje poznatim idejama OOP-a i predstavlja FP „korak po korak“ pomoću relevantnih primera, zanimljivih vežbi i mnoštva ilustracija. Bićete zapanjeni koliko brzo ćete početi da posmatrate softverske zadatke iz ove dragocene nove perspektive. O knjizi U knjizi „Temeljno i intuitivno funkcionalno programiranje“ predstavljeno je funkcionalno programiranje za imperativne programere. Počećete rad od malih, jednostavnih zadataka kodiranja koji otkrivaju osnovne koncepte poput pisanja čistih funkcija i korišćenje nepromenljivih podataka. Usput ćete naučiti kako da napišete kod koji eliminiše uobičajene greške uzrokovane složenim distribuiranim stanjem. Takođe ćete istražiti FP pristup IO-u, konkurentnost i strimovanje podataka. Nakon što pročitate knjigu u celosti, moći ćete da napišete čist funkcionalni kod koji je lak za razumevanje, testiranje i održavanje. Šta je u knjizi Dizajniranje pomoću funkcija i tipova, umesto pomoću objekata Programiranje pomoću čistih funkcija i nepromenljivih vrednosti Pisanje konkurentnih programa korišćenjem funkcionalnog stila Testiranje funkcionalnih programa O čitaocu Za programere koji znaju objektno-orijentisani jezik. Primeri u Javi i Scali. O autoru Michal Plachta je iskusan softverski programer koji redovno govori i piše o kreiranju aplikacija koje se mogu održavati. Deo 1, Funkcionalni komplet alatki 1 Učenje funkcionalnog programiranja 2 Čiste funkcije 3 Nepromenljive vrednosti 4 Funkcije kao vrednosti Deo 2, Funkcionalni programi 5 Sekvencijalni programi 6 Rukovanje greškama 7 Zahtevi kao tipovi 8 IO kao vrednosti 9 Strimovi kao vrednosti 10 Konkurentni programi Deo 3, Primenjeno funkcionalno programiranje 11 Dizajniranje funkcionalnih programa 12 Testiranje funkcionalnih programa

Prikaži sve...
forward
Detaljnije

Ako nikada niste programirali, pravi je trenutak da to uradite. Ako ste već programirali, ova knjiga vas upoznaje sa svim novim u C# 2008. Reč autora Dragi čitaoče, Ova knjiga bi trebalo da vam pokaže kako da napišete dobar programski kod u programskom jeziku C# 2008, čak i ako nikada ranije niste programirali. Pisanje programskog koda je pravi izazov jer postoji veoma veliki broj opcija, naročito u programskom jeziku C# 2008. Dakle, ukoliko želite zaista da što bolje upotrebite programski jezik morate da znate kada i koje osobine treba da upotrebite, kao i da znate dobre i loše strane programskog jezika. Takvo znanje pravi razliku izmežu pisanja programskog koda i dobrog programskog koda. Imajući to na umu, napisao sam knjigu „C# 2008“ kako bih vas naučio da programski jezik C# 2008 koristite za rešavanje problema. Od prvih poglavlja, i od uvodnih koncepata o programskom jeziku C#, susretaćete se sa izazovima praktičnog programiranja i učićete kako da na njih odgovorite korišćenjem programskog jezika C#. Problemi će, dok budete čitali knjigu, postajati teži i interesantniji jer ću vam pokazati kako osobine programskog jezika C# možete da upotrebite kako biste postigli željene rezultate. Pošto pročitate knjigu „C# 2008“ i uradite vežbanja, postaćete kompetentan i siguran C# programer. Ipak, postoji još mnogo toga u .NET Framework API-ju što treba da naučite kako biste poboljšali vaše programiranje, ali ćete steći dobre osnove za buduću karijeru C# programera, i znaćete gde da pronađete informacije kako koje će vam pomoći da dovršite sopstvene C# projekte. Napomena: Oni koji su čitali knjige ovog autora, već mu veruju.

Prikaži sve...
1,760RSD
forward
forward
Detaljnije

Leverage cross-platform interaction with systems Make use of the PowerShell recipes for frequent tasks Get a better understanding of the inner workings of PowerShell Understand the compatibility of built-in Windows modules with PowerShell Core Learn best practices associated with PowerShell scripting Avoid common pitfalls and mistakes This book will follow a recipe-based approach and start off with an introduction to the fundamentals of PowerShell, and explaining how to install and run it through simple examples. Next, you will learn how to use PowerShell to access and manipulate data and how to work with different streams as well. You will also explore the object model which will help with regard to PowerShell function deployment. Going forward, you will get familiar with the pipeline in its different use cases. The next set of chapters will deal with the different ways of accessing data in PowerShell. You will also learn to automate various tasks in Windows and Linux using PowerShell Core, as well as explore Windows Server. Later, you will be introduced to Remoting in PowerShell Core and Just Enough Administration concept. The last set of chapters will help you understand the management of a private and public cloud with PowerShell Core. You will also learn how to access web services and explore the high-performance scripting methods. By the end of this book, you will gain the skills to manage complex tasks effectively along with increasing the performance of your environment. A recipe-based guide to help you build effective administrative solutions Gain hands-on experience with the newly added features of PowerShell Core Manage critical business environments with professional scripting practices Table of contents 1 Introduction to PowerShell Core Technical requirements Installing PowerShell Core on Windows Installing PowerShell Core on Linux Running PowerShell Core Getting help Getting around How do cmdlets work? Performing read-only operations Introducing change to systems Discovering the environment 2 Reading and Writing Output Technical requirements Working with output Storing data Read-only and constant variables Variable scoping The six streams Stream redirection Working with the filesystem provider Working with the registry provider Working with the certificate provider Creating your own provider NTFS iternate data streams 3 Working with Objects Technical requirements Introduction to Object-Oriented Programming Exploring object properties Exploring object methods Using static class members Creating classes Using custom objects Manipulating and extending objects [ref], [out], and delegates 4 Mastering the Pipeline Technical requirements What is a pipeline? Sorting data efficiently Selecting subsets of data Grouping large data sets Filtering data Processing data Enabling pipeline input High-performance pipelines 5 Importing, Using, and Exporting Data Technical requirements Working with CSV Making objects transportable with XML Modern data structures – JSON and YAML Interacting with RESTful APIs Interacting with MS SQL Interacting with PostgreSQL and other database engines Encrypting data 6 Windows and Linux Administration Technical requirements Enabling a Windows feature Installing a Linux package group Creating Windows accounts Creating Linux accounts Modifying the Windows Registry Modifying Linux configuration files Registering a new Windows service Enabling a new Linux daemon Planning a Windows scheduled task Planning a Linux Cron Job Creating a Windows storage pool Creating a Linux software RAID device Accessing the Windows event log Working with the system logs in Linux 7 Windows Server Administration Technical requirements File services management Domain services management IIS management – deploying and configuring IIS management – creating a website Configuring Storage Spaces Direct (S2D) Using Docker with Hyper-V containers Remote Desktop Services (RDS) deployment Integrating DSC configuration into a Windows Server image 8 Remoting and Just Enough Administration Technical requirements Enabling PowerShell remoting on Windows Enabling PowerShell remoting on Linux Configuring PowerShell remoting Securely connecting to remote endpoints Remotely retrieving data Remote script debugging Creating a JEA role Creating a JEA session configuration Connecting to endpoints using different session configuration Using the Common Information Model (CIM) Using PowerShell Direct in PowerShell Core 9 Using PowerShell for Hyper-V and Azure Stack Management Technical requirements Setting up Hyper-V Setting up Azure Stack Virtual networks in Hyper-V Virtual networks in Azure Stack Provisioning storage in Hyper-V Provisioning storage in Azure Stack Provisioning compute resources in Hyper-V Provisioning compute resources in Azure Stack Creating a compute cluster with DSC Configuring guests with DSC on Hyper-V Configuring guests with DSC on Azure Stack 10 Using PowerShell with Azure and Google Cloud Technical requirements Connecting to Azure Connecting to Google Exploring Azure resource groups Exploring Google Cloud projects Deploying resource group templates Deploying Google Cloud templates Using the Azure Container Registry Using the Google Cloud Container Registry Containers on Azure Containers on Google Cloud SQL on Azure SQL on Google Cloud 11 Accessing Web Services Technical requirements Exploring REST services Accessing Azure DevOps via REST Creating new Azure resource groups via REST Calling Azure runbooks via webhooks Providing a RESTful web service through PowerShell Creating a new team project in Azure DevOps Creating a new build definition in Azure DevOps 12 High-Performance Scripting Technical requirements Parallelization with background jobs Efficiently querying the event log Comparing Where-Object and the Where method Using Active Directory cmdlets with performance in mind Parallelization through runspace pools Exchanging variables with runspaces Large-scale IO operations Hashtables, dictionaries, and performance

Prikaži sve...
forward
Detaljnije

What You Will Learn Find out how to create exciting and interactive games using GUIs Prepare animations to be imported and exported Personalize your animation game with Unity’s advanced animation system Work with different animation assets and components Customize the game by modifying the player properties and creating exterior environments Create, visualize, and edit animated creatures Familiarize yourself with best practices for Unity 5.x animation using iTween Design character actions and expressions Customize your game and prepare it for playing Book Description This book will help you to create exciting and interactive games from scratch with the Unity game development platform. We will build 7-8 action-packed games of different difficulty levels, and we’ll show you how to leverage the intuitive workflow tools and state of the art Unity rendering engine to build and deploy mobile desktop as well as console games. Through this book, you’ll develop a complete skillset with the Unity toolset. Using the powerful C# language, we’ll create game-specific characters and game environments. Each project will focus on key Unity features as well as game strategy development. This book is the ideal guide to help your transition from an application developer to a full-fledged Unity game developer Authors John P. Doran John P. Doran is a technical game designer who has been creating games for over 10 years. He has worked on an assortment of games in teams from just himself to over 70 in student, mod, and professional projects. He previously worked at LucasArts on Star Wars: 1313 as a game design intern. He later graduated from DigiPen Institute of Technology in Redmond, WA, with a Bachelor of Science in Game Design. John is currently a designer in DigiPen’s Research and Development branch in Singapore. He is also the lead instructor of the DigiPen-Ubisoft Campus Game Programming Program, instructing graduate level students in an intensive, advanced-level game programming curriculum. In addition to that, he also tutors and assists students on various subjects while giving lectures on C#, C++, Unreal, Unity, game design, and more. He is the author of Unreal Engine Game Development Cookbook, Building an FPS Game with Unity, Unity Game Development Blueprints, Getting Started with UDK, UDK Game Development, Mastering UDK Game Development, and co-wrote UDK iOS Game Development Beginner's Guide, all available from Packt Publishing. More information about him can be found on his website, http://johnpdoran.com. A big thanks goes to my brother Chris, and my wife Hien for being supportive and patient with me as I spent my free time and weekends away from them as I spent the time needed to finish the book. On that same note, I also want to thank Samir About Samra and Elie Hosry for their support and encouragement while working on this book, as well as the rest of the DigiPen Singapore staff. Thanks so much to Owen Roberts who approached me about writing again, Rohit Kumar Singh for keeping me on track, as well as everyone else at Packt who were so helpful, as always! Last but not least, I'd like to thank my family as well as my parents Joseph and Sandra Doran who took me seriously when I told them I wanted to make games for a living. Table of Contents

Prikaži sve...
forward
Detaljnije

About This Book Get familiar with the features of Xcode 6 with Swift to write code that is shorter, clearer, and runs faster on today’s multi-core architectures Packed with practical recipes that will help you gain an extra edge and use Apple’s new programming language like a professional Build your portfolio with Swift code using this hands-on guide Who This Book Is For If you are an experienced Objective-C programmer and are looking for quick solutions to many different coding tasks in Swift, then this book is for you. You are expected to have development experience, though not necessarily with Swift. What You Will Learn Install the latest version of Xcode and use all of its tools Develop a multi-language project using Swift, Objective-C, C, and other languages Plan your Swift project and explore the nuts and bolts of the Swift syntax Use Swift playgrounds to see and hear your code's results as you write it Localize your issues using the LLDB debugger and explore different possibilities of code with Swift playgrounds In Detail If you have been looking for a book to help you develop apps for iOS on native iOS platforms, this is the book that you've been looking for! This practical guide will supply you with the building blocks that you can turn to when conceptualizing and writing applications for iOS/OS X. You'll master Swift programming as you progress through the various recipes in this book. Starting with recipes that use the basic features, you will move on to interesting and engaging recipes that will make use of the more complex features of Swift. You will learn how to make use of Swift's diverse features, from the way you can configure your projects to the usage of design patterns and different types of databases. Complete with tips and tricks on Xcode, this example-based guide will help you develop and debug faster. Authors Cecil Costa Cecil Costa, also know as Eduardo Campos in Latin countries, is a Euro-Brazilian freelance developer who has been learning about computers since getting his first 286 in 1990. From then on, he kept learning about programming languages, computer architecture, and computer science theory. Learning is his passion as well as teaching; this is the reason why he worked as a trainer, giving on-site courses for companies such as Ericsson, Roche, TVE (a Spanish television channel), and lots of other companies. Nowadays, he also teaches through online platforms, helping people from every part of the world. In 2008, he founded his own company, Conglomo Limited (www.conglomo.es), which offers development and training programs both on site and online. Over his professional career, he has created projects by himself and also worked for different companies, from small to big ones, such as IBM, Qualcomm, Spanish Lottery, and DIA%. He develops a variety of computer languages (such as Swift, C++, Java, Objective-C, JavaScript, Python, and so on) in different environments (iOS, Android, Web, Mac OS X, Linux, Unity, and so on) because he thinks that a good developer needs to learn every kind of programming language to open his mind, and only then will he really know what development is. Nowadays, Cecil is based in the UK, where he is progressing in his professional career, working with augmented reality on mobile platforms.

Prikaži sve...
forward
Detaljnije

With 90 detailed hacks, expert web developers Jesse Cravens and Jeff Burtoft demonstrate intriguing uses of HTML5-related technologies. Each recipe provides a clear explanation, screenshots, and complete code examples for specifications that include Canvas, SVG, CSS3, multimedia, data storage, web workers, WebSockets, and geolocation. Table of Contents Chapter 1 Hacking the Semantic Way Simplify Your Doc with the Right Adopt Common Structures Make Your New HTML5 Tags Render Properly in Older Browsers Bring Back the Tag Easily Implement Form Validation Without JavaScript Improve the Usability of Your Forms with New Controls Know What’s Going On in Your App with New DOM Events Add Rich Context to Your Markup with Custom Data Track User Events with Custom Data Make Your Page Consumable by Robots and Humans Alike with Microdata Chapter 2 Hacking with Style Use Experimental CSS Features with Browser Prefixes Design with Custom Fonts Using Web Fonts Use Google Web Fonts for Simple @font-face Implementation Use CSS3 Text Effects to Make Your Text Not Suck Make Elements Appear Transparent Without Altering the Opacity Use Media Queries to Build Responsive Design Make Your Web App Respond to Device Orientation Changes Take Full Control of Your DOM with Pseudoclasses Hack Up Your Sprite and Put Your Images Inline with Image Data URIs Build Gradients the Easy Way Make Borders Interesting Again, with Border Treatments Set Multiple Background Images to the Same Element Free Your Page Elements from Their Traditional Space with CSS3 Transforms 2D transforms Turn Transforms into Animations with CSS3 Transitions Make iOS-Style Card Flips with CSS Transforms and Transitions Use Respond.js to Polyfill CSS3 Media Queries in IE Control Mobile Layout with the viewport Tag Chapter 3 Multimedia Hacking Embed Video Directly in Your Application with HTML5 Video multimedia video embedding video embedding Choose the Right Codecs for Your Video Files Create Custom Video Controls with Video APIs Replace the Background of Your HTML5 Video with the Add Subtitles to Your HTML5 Video Element Beautify Your HTML5 Video Cues Use the Cuepoint.js Polyfill for Subtitles Easily Build Audio-Rich Applications with Buzz Simplify Your HTML5 Media with MediaElement.js Chapter 4 Hacking Your Graphics with Canvas and SVG Draw Shapes on Your HTML5 Apply Styles to Your Canvas Elements Style Canvas Elements with Image Files Use the HTML5 Accelerate Animation with Canvas Drawings Build “Native” Illustrations with Scalable Vector Graphics Style SVG Elements with CSS Animate Illustrations with SVG Embed SVG Directly in Your HTML Chapter 5 User Interactions Make Any Content Draggable Within Your Application Update the DOM with a Drag-and-Drop Data Transfer Object Drag Files In and Out of Your Web Application Make Any Element on Your Page User-Customizable with Editable Content Turn Your Web Page into a WYSIWYG Editor Take Control of the Browser History Buttons with HTML5 Session History Chapter 6 Client-Side Data Storage Hacks Embed Binary Data in an Inline URL Convert a Data URI to a Blob and Append It to Form Data with XHR2 Use the WebStorage API to Persist User Data Polyfill LocalStorage with YepNope.js and Storage.js Cache Media Resources Locally with the FileSystem API Build a Milestone Calendar with IndexedDB and FullCalendar.js Chapter 7 Geolocation Hacks Use the Geolocation APIs to Display Longitude and Latitude in a Mobile Web Application Use Google’s Geocoding API to Reverse-Geocode a User’s Location Update a User’s Current Location in a Google Map Use the Geoloqi Service to Build a Geofence Use the Geoloqi Real-Time Streaming Service to Broadcast a Remote User’s Movement Polyfill Geolocation APIs with Webshims Chapter 8 WebWorker API How Browsers Handle JavaScript Use the BlobBuilder Interface to Create an Inline Worker Perform Heavy Array Computations in a Dedicated Web Worker Use a Timer to Send Application State to Workers Process Image Data with Pixel Manipulation in a Dedicated Worker Use Import Scripts to Make Twitter JSONP Requests Connect to Shared Workers Simultaneously from Multiple Browser Windows Chapter 9 Hacking HTML5 Connectivity Use Kaazing’s Remote WebSocket Server to Echo Simple Messages from a Browser Build a Blazing-Fast WebSocket Server with Node.js and the ws Module Build a Donation Thermometer with Web Sockets, the Pusher API, and PHP Build Plug-Ins for jWebSocket Push Notifications to the Browser with Server-Sent Events Configure Amazon S3 for Cross-Origin Resource Sharing to Host a Web Font Control an HTML5 Slide Deck with Robodeck Inspect a Socket.IO Connection to Determine If It Is Native or Emulated Build a Simple SPDY Server with node-spdy Chapter 10 Pro HTML5 Application Hacks with Node.js HTML5 Application Design Considerations Deliver “Hello Html5” to the Browser Detect the User Agent String Within the Request Object Use Node.js’s Response Object to Respond to the Client with Device-Specific Data Use the Node Package Manager to Add a Web Application Framework As a Third-Party Module Use the Express Application Generator to Bootstrap Your App Build a Custom Module to Handle Routing Configure Express to Use a View Engine Use Jade Layouts to DRY Up Your Application’s Views Use a Jade Partial to Create a Common Navigation Bar in Your Views Use Jade Mixins to Populate Your Views with Data Set Up Expressive, Dynamic, Robust CSS with Stylus Include HTML5 Boilerplate As Your Default Starter Template Become an HTML5 Hacker Colophon

Prikaži sve...
forward
Detaljnije

What You Will Learn Set up your development environment in Visual Studio using OpenGL Use 2D and 3D coordinate systems Implement an input system to handle the mouse and the keyboard Create a state machine to handle complex changes in the game Load, display, and manipulate both 2D and 3D graphics Implement collision detection and basic physics Discover the key components needed to complete a polished game Handle audio files and implement sound effects and music Book Description OpenGL is one of the most popular rendering SDKs used to develop games. OpenGL has been used to create everything from 3D masterpieces running on desktop computers to 2D puzzles running on mobile devices. You will learn to apply both 2D and 3D technologies to bring your game idea to life. There is a lot more to making a game than just drawing pictures and that is where this book is unique! It provides a complete tutorial on designing and coding games from the setup of the development environment to final credits screen, through the creation of a 2D and 3D game. The book starts off by showing you how to set up a development environment using Visual Studio, and create a code framework for your game. It then walks you through creation of two games–a 2D platform game called Roboracer 2D and a 3D first-person space shooter game–using OpenGL to render both 2D and 3D graphics using a 2D coordinate system. You'll create sprite classes, render sprites and animation, and navigate and control the characters. You will also learn how to implement input, use audio, and code basic collision and physics systems. From setting up the development environment to creating the final credits screen, the book will take you through the complete journey of creating a game engine that you can extend to create your own games. Authors Robert Madsen Robert Madsen is an accomplished game programmer, with dozens of published games to his credit. He started programming in 1979, and he has been a programmer for all of his professional life. He entered the game industry in 2004, and he founded SynapticSwitch, LLC in 2010. As studio director, he continues to code while also managing the broader needs of an independent game development studio. Stephen Madsen Stephen Madsen completed his degree in game development from Full Sail Real World Education in 2007, beginning his first job as a game programmer in 2008. He then joined SynapticSwitch, LLC as the lead software engineer in 2012. He has developed and published many titles on the mobile, console, and personal computer platforms with OpenGL being the foundational rendering technology for most of these platforms. Table of Contents

Prikaži sve...
forward
Detaljnije

What You Will Learn Build quirky and fun projects from scratch while exploring widely applicable skills, patterns, practices, and techniques, as well as a range of different technologies Create websites and data services capable of massive scale using Go's net/http package, exploring RESTful patterns as well as low-latency WebSocket APIs Interact with a variety of remote web services to consume capabilities ranging from authentication and authorization to a fully functioning thesaurus Develop high-quality command-line tools that utilize the powerful shell capabilities and have great performance using Go's in-built concurrency mechanisms Implement a modern document database as well as high-throughput messaging queue technology to put together an architecture that is truly ready for scale Write concurrent programs and gracefully manage their execution and communication with smart use of channels Book Description Dive headfirst into solving actual enterprise problems and start cutting code from the word go. You will build complete applications around a variety of subjects using a range of different technologies and techniques, all of which are directly applicable to today's tech start-up world. Scale, performance, and high availability lie at the heart of the projects, and the lessons learned throughout this book will arm you with everything you need to build world-class solutions. Well-designed applications and sensible architectures can scale horizontally to cope with the demands of up to millions of users, while avoiding the prohibitive up-front investment that can bring a project to its knees. Authors Mat Ryer Mat Ryer has a family legend (or conspiracy) that tells of him programming computers from the age of 6—he and his father would build games and programs, first BASIC on a ZX Spectrum then later AmigaBASIC and AMOS on their Commodore Amiga. Many hours were spent manually copying out code from the Amiga Format magazine, before spending more still tweaking variables or moving GOTO statements around to see what might happen. The same spirit of exploration and obsession with programming led Mat to start work for a local agency in Mansfield, England, when he was 18, where he started to build websites and services. In 2006, Mat's wife, Laurie, took a job at the Science Museum in London, and so they both left rural Nottinghamshire for the big city, where Mat took a job at BT. It was here that he worked with a talented group of developers and managers on honing agile development skills and developing a light flavor that he still uses today. After contracting around London for a few years, coding everything from C# and Objective-C to Ruby and JavaScript, Mat noticed a new systems language called Go that Google was pioneering. Because it addressed very pertinent and relevant modern technical challenges, Mat started using it to solve problems while the language was still in beta and he has used it ever since. In 2012, Mat and Laurie left England to live in Boulder, Colorado, where Mat works on a variety of projects, from big data web services and highly available systems to small side projects and charitable endeavors. Table of Contents Chapter 1: Chat Application with Web Sockets Chapter 2: Adding Authentication Chapter 3: Three Ways to Implement Profile Pictures Chapter 4: Command-line Tools to Find Domain Names Chapter 5: Building Distributed Systems and Working with Flexible Data Chapter 6: Exposing Data and Functionality through a RESTful Data Web Service API Chapter 7: Random Recommendations Web Service Chapter 8: Filesystem Backup

Prikaži sve...
forward
Detaljnije

What You Will Learn Analyze the performance of JVM applications by developing JMH benchmarks and profiling with Flight Recorder Discover use cases and performance tradeoffs of Scala language features, and eager and lazy collections Explore event sourcing to improve performance while working with stream processing pipelines Dive into asynchronous programming to extract performance on multicore systems using Scala Future and Scalaz Task Design distributed systems with conflict-free replicated data types (CRDTs) to take advantage of eventual consistency without synchronization Understand the impact of queues on system performance and apply the Free monad to build systems robust to high levels of throughput Book Description Scala is a statically and strongly typed language that blends functional and object-oriented paradigms. It has experienced growing popularity as an appealing and pragmatic choice to write production-ready software in the functional paradigm. Scala and the functional programming paradigm enable you to solve problems with less code and lower maintenance costs than the alternatives. However, these gains can come at the cost of performance if you are not careful. Scala High Performance Programming arms you with the knowledge you need to create performant Scala applications. Starting with the basics of understanding how to define performance, we explore Scala's language features and functional programming techniques while keeping a close eye on performance throughout all the topics. We introduce you as the newest software engineer at a fictitious financial trading company, named MV Trading. As you learn new techniques and approaches to reduce latency and improve throughput, you'll apply them to MV Trading’s business problems. By the end of the book, you will be well prepared to write production-ready, performant Scala software using the functional paradigm to solve real-world problems. Authors Vincent Theron Vincent Theron is a professional software engineer with 9 years of experience. He discovered Scala 6 years ago and uses it to build highly scalable and reliable applications. He designs software to solve business problems in various industries, including online gambling, financial trading, and, most recently, advertising. He earned a master's degree in computer science and engineering from Université Paris-Est Marne-la-Vallée. Vincent lives in the Boston area with his wife, his son, and two furry cats. Michael Diamant Michael Diamant is a professional software engineer and functional programming enthusiast. He began his career in 2009 focused on Java and the object-oriented programming paradigm. After learning about Scala in 2011, he has focused on using Scala and the functional programming paradigm to build software systems in the financial trading and advertising domains. Michael is a graduate of Worcester Polytechnic Institute and lives in the Boston area. Table of Contents Chapter 1: The Road to Performance Chapter 2: Measuring Performance on the JVM Chapter 3: Unleashing Scala Performance Chapter 4: Exploring the Collection API Chapter 5: Lazy Collections and Event Sourcing Chapter 6: Concurrency in Scala Chapter 7: Architecting for Performance

Prikaži sve...
forward
Detaljnije

About This Book Build computer vision projects to capture high-quality image data, detect and track objects, process the actions of humans or animals, and much more Discover practical and interesting innovations in computer vision while building atop a mature open-source library, OpenCV 3 Familiarize yourself with multiple approaches and theories wherever critical decisions need to be made Who This Book Is For This book is ideal for you if you aspire to build computer vision systems that are smarter, faster, more complex, and more practical than the competition. This is an advanced book intended for those who already have some experience in setting up an OpenCV development environment and building applications with OpenCV. You should be comfortable with computer vision concepts, object-oriented programming, graphics programming, IDEs, and the command line. What You Will Learn Select and configure camera systems to see invisible light, fast motion, and distant objects Build a “camera trap”, as used by nature photographers, and process photos to create beautiful effects Develop a facial expression recognition system with various feature extraction techniques and machine learning methods Build a panorama Android application using the OpenCV stitching module in C++ with NDK support Optimize your object detection model, make it rotation invariant, and apply scene-specific constraints to make it faster and more robust Create a person identification and registration system based on biometric properties of that person, such as their fingerprint, iris, and face Fuse data from videos and gyroscopes to stabilize videos shot from your mobile phone and create hyperlapse style videos In Detail Computer vision is becoming accessible to a large audience of software developers who can leverage mature libraries such as OpenCV. However, as they move beyond their first experiments in computer vision, developers may struggle to ensure that their solutions are sufficiently well optimized, well trained, robust, and adaptive in real-world conditions. With sufficient knowledge of OpenCV, these developers will have enough confidence to go about creating projects in the field of computer vision. This book will help you tackle increasingly challenging computer vision problems that you may face in your careers. It makes use of OpenCV 3 to work around some interesting projects. Inside these pages, you will find practical and innovative approaches that are battle-tested in the authors’ industry experience and research. Each chapter covers the theory and practice of multiple complementary approaches so that you will be able to choose wisely in your future projects. You will also gain insights into the architecture and algorithms that underpin OpenCV’s functionality. We begin by taking a critical look at inputs in order to decide which kinds of light, cameras, lenses, and image formats are best suited to a given purpose. We proceed to consider the finer aspects of computational photography as we build an automated camera to assist nature photographers. You will gain a deep understanding of some of the most widely applicable and reliable techniques in object detection, feature selection, tracking, and even biometric recognition. We will also build Android projects in which we explore the complexities of camera motion: first in panoramic image stitching and then in video stabilization. By the end of the book, you will have a much richer understanding of imaging, motion, machine learning, and the architecture of computer vision libraries and applications! Authors Joseph Howse Joseph Howse lives in Canada. During the cold winters, he grows a beard and his four cats grow thick coats of fur. He combs the cats every day. Sometimes the cats pull his beard. Joseph has been writing for Packt Publishing since 2012. His books include OpenCV for Secret Agents, OpenCV Blueprints, Android Application Programming with OpenCV 3, iOS Application Development with OpenCV 3, Learning OpenCV 3 Computer Vision with Python, and Python Game Programming by Example. When he is not writing books or grooming cats, Joseph provides consulting, training, and software development services through his company, Nummist Media ( http://nummist.com). Steven Puttemans Steven Puttemans is a PhD research candidate at the KU Leuven, Department of Industrial Engineering Sciences. At this university, he is working for the EAVISE research group, which focuses on combining computer vision and artificial intelligence. He obtained a master of science degree in Electronics-ICT and further expanded his interest in computer vision by obtaining a master of science in artificial intelligence. As an enthusiastic researcher, his goal is to combine state-of-the-art computer vision algorithms with real-life industrial problems to provide robust and complete object detection solutions for the industry. His previous projects include TOBCAT, an open source object detection framework for industrial object detection problems, and a variety of smaller computer vision-based industrial projects. During these projects, Steven worked closely with the industry. Steven is also an active participant in the OpenCV community. He is a moderator of the OpenCV Q&A forum, and has submitted or reviewed many bug fixes and improvements for OpenCV 3. He also focuses on putting as much of his research as possible back into the framework to further support the open source spirit. More info about Steven's research, projects, and interests can be found at https://stevenputtemans.github.io. Continue reading Quan Hua Quan Hua is a software engineer at Autonomous, a start-up company in robotics, where he focuses on developing computer vision and machine learning applications for personal robots. He earned a bachelor of science degree from the University of Science, Vietnam, specializing in computer vision, and published a research paper in CISIM 2014. As the owner of Quan404.com, he also blogs about various computer vision techniques to share his experience with the community. Utkarsh Sinha Utkarsh Sinha lives in Pittsburgh, Pennsylvania, where he is pursuing a master's in computer vision at Carnegie Mellon University. He intends to learn the state of the art of computer vision at the university and work on real-life industrial scale computer vision challenges. Before joining CMU, he worked as a Technical Director at Dreamworks Animation on movies such as Home, How to Train your Dragon 2, and Madagascar 3. His work spans multiple movies and multiple generations of graphics technology. He earned his bachelor of engineering degree in computer science and his master of science degree in mathematics from BITS-Pilani, Goa. He has been working in the field of computer vision for about 6 years as a consultant and as a software engineer at start-ups. He blogs at http://utkarshsinha.com/ about various topics in technology—most of which revolve around computer vision. He also publishes computer vision tutorials on the Internet through his website, AI Shack (http://aishack.in/). His articles help people understand concepts in computer vision every day. Table of Contents Chapter 1: Getting the Most out of Your Camera System Chapter 2: Photographing Nature and Wildlife with an Automated Camera Chapter 3: Recognizing Facial Expressions with Machine Learning Chapter 4: Panoramic Image Stitching Application Using Android Studio and NDK Chapter 5: Generic Object Detection for Industrial Applications Chapter 6: Efficient Person Identification Using Biometric Properties Chapter 7: Gyroscopic Video Stabilization

Prikaži sve...
forward
Detaljnije

What You Will Learn Script games using C# Build your very first 2D and 3D games Work through the key concepts in game development such as physics, particle effects, and scripting Test and optimize your games to attain perfection Create menus, HUDs and collectables Create player character interactions Book Description One of the most popular game engines the world has ever seen has recently brought out a major update, bringing with it a whole new experience of game development. In this informal guide, you will get to grips with the basics of game development, starting off with using C# for scripting. You'll get the hang of Unity's development environment and will be able to set up the required assets for your first 2D game. You'll work on animating your player and getting it to move in the 2D environment. Next, you'll see how to build the game in 3D, making use of Unity's new 3D animation system. After building a beautiful 3D environment for the game, you will work with the latest physics system that Unity has to offer and will make your assets interactive. You'll induce artificial intelligence into the enemies and develop a mechanism to bomb them. Once you've made things pretty with the particle system, you'll move on to publishing your game across multiple platforms. You'll walk away with a cool 2D side scroller game, an even cooler top-down 3D game, and most importantly, the confidence to build your own games. Authors Tommaso Lintrami Tommaso Lintrami has been designing and programming games right from the age of 9. He has been working with Unity 3D for over 6 years now and delivers training in Unity. He has worked on a number of games and platforms. Table of Contents

Prikaži sve...
forward
Detaljnije

About This Book Explore the different sensors that can be used to improve the functionality of the Arduino projects Program networking modules in conjunction with Arduino to make smarter and more communicable devices A practical guide that shows you how to utilize Arduino to create practical, useful projects Who This Book Is For This book is an ideal choice for hobbyists or professionals who want to create quick and easy projects with Arduino. As a prerequisite, readers must have a working Arduino system and some programming background, ideally in C/C++. Basic knowledge of Arduino is helpful but not required to follow along with this book. What You Will Learn Understand and utilize the capabilities of the Arduino Integrate sensors to gather environmental data and display this information in meaningful ways Add modules such as Bluetooth and Wi-Fi that allow the Arduino to communicate and send data between devices Create simple servers to allow communication to occur Build automated projects including robots while learning complex algorithms to mimic biological locomotion Implement error handling to make programs easier to debug and look more professional Integrate powerful programming tools and software such as Python and Processing to broaden the scope of what the Arduino can achieve Practice and learn basic programming etiquette In Detail Arduino an opensource physical computing platform based on a simple microcontroller board, and a development environment for writing software for the board. The opensource Arduino software (IDE) makes it easy to write code and upload it to the board. It runs on Windows, Mac OS X, and Linux. The environment is written in Java and based on Processing and other opensource software. With the growing interest in home-made, weekend projects among students and hobbyists alike, Arduino offers an innovative and feasible platform to create projects that promote creativity and technological tinkering. Arduino by Example is a project-oriented guide to help you fully utilize the power of one of the world's most powerful open source platforms, Arduino. This book demonstrates three projects ranging from a home automation project involving your lighting system to a simple robotic project to a touch sensor project. You will first learn the basic concepts such as how to get started with the Arduino, and as you start building the project, you will develop the practical skills needed to successfully build Arduino powered projects that have real-life implications. The complexity of the book slowly increases as you complete a project and move on to the next. By the end of this book, you will be able to create basic projects and utilize the elements used in the examples to construct your own devices. Authors Adith Jagadish Boloor Adith Jagadish Boloor was born in Mangalore, India. He grew up tinkering with toys and gadgets that kindled his interest in how things work. His admiration for science and technology, specifically in the fields of robotics, 3D printing, and smart systems, grew into a passion that he is working towards, nurturing it into a career. He completed his higher studies at Purdue University, USA and Shanghai Jiao Tong University, China and is working towards obtaining a masters degree in robotics. Adith has experience working on robots ranging from simple obstacle—avoiding robots built at home to complex humanoid robots such as the Darwin-OP in Purdue University's research lab. He has coauthored a research paper and has two patents on his name. He enjoys traveling and grabs every opportunity he can to explore the different parts of the world. He is also an international chess player. Table of Contents Chapter 1: Getting Started with Arduino Chapter 2: Digital Ruler Chapter 3: Converting Finger Gestures to Text Chapter 4: Burglar Alarm – Part 1 Chapter 5: Burglar Alarm – Part 2 Chapter 6: Home Automation – Part 1 Chapter 7: Home Automation – Part 2 Chapter 8: Robot Dog – Part 1 Chapter 9: Robot Dog – Part 2 Chapter 10: Robot Dog – Part 3

Prikaži sve...
forward
Detaljnije

Ovaj materijal za početak rada obezbeđuje sve alate koji će biti potrebni za samostalno pisanje programa u Visual C# 2005 Ekspresu. To će pomoći u brzom sticanju veština za početak korišćenja jezika C#, tako da se mogu praviti softverske aplikacije koje nemaju ograničenja. Šta se može naučiti iz ove knjige? osnove programiranja u windows® okruženju načini za korišćenje prednosti vizuelnih alata u okviru Visual C# 2005 Ekspresa načini za testiranje i debagovanje aplikacija da bi glatko funkcionisale tehnike za rad sa ADO.NET klasama saveti za inkorporiranje karakteristika SQL Server Ekspresa u aplikacijama razvijanje aplikacija pomoću Visual C# 2005 Ekspresa upotrebom windows formi sa web servisima i različitim korisnim kontrolama, uključujući obogaćeni tekst i web pretraživač Kome je namenjena ova knjiga? Ova knjiga namenjena je programerima početnicima koji žele na lak način da se udube u korišćenje uzbudljivih tehnika Visual C# 2005 Ekspresa i da započnu kreiranje sopstvenih prilagođenih aplikacija. Wroxovo izdanje Visual C# 2005 Ekspresa pruža softverske alate potrebne za početak rada. Takođe obezbeđuje uređene vežbe koje vode čitaoca kroz sve tehnike potrebne za počinjanje programiranja na pravi način. CD-ROM koji se dobija uz knjigu sadrži izdanje Visual C# 2005 Ekspresa. CD sadrži Izdanje Visual C# 2005 Ekspresa Sveži dodaci, izvorni kod i tehnička podrška Wroxa na stranici www.wrox.com Izvorni kod http://www.wrox.com/WileyCDA/WroxTitle/ productCd-0764589555,descCd-download_code.html Kratak sadržaj Deo I Uvod i koncepti 1 1. Poglavlje: Ozbiljno započinjanje rada sa Visual C# 2005 Ekspres izdanjem 3 2. Poglavlje: Programiranje 101: Kratko razmatranje 21 3. Poglavlje: Brz prelazak na kreiranje prvog C# Ekspres Windows projekta 29 4. Poglavlje: Upoznavanje .NET-a 51 5. Poglavlje: Upoznavanje C# tipova 67 6. Poglavlje: Debagovanje aplikacija u C# Ekspresu 81 7. Poglavlje: Selekcije, iteracije i “hvatanje” izuzetaka 97 Deo II Kreiranje aplikacija pomoću C# Ekspresa 123 8. Poglavlje: Rad sa formama i kontrolama 125 9. Poglavlje: Ubacivanje okvira za dijalog i obogaćenog teksta u aplikacije 149 III Deo Korišćenje podataka u aplikacijama 167 10. Poglavlje: Upoznavanje koncepata baza podataka 169 11. Poglavlje: Korišćenje karakteristika SQL Server Ekspresa u okviru C# Ekspresa 181 12. Poglavlje: Iskorišćavanje .NET kontrola podataka 195 13. Poglavlje: Rad sa ADO.NET-om 207 Deo IV: Završni potezi 219 14. Poglavlje: Sticanje većeg iskustva u radu sa kontrolama 221 15. Poglavlje: Korišćenje web usluga iz C# aplikacija 255 16. Poglavlje: Objavljivanje aplikacije i naredni koraci 277 Dodatak A: Odgovori na pitanja u vežbama 283 Dodatak B: Šta se nalazi na CD-u i na web stranici? Indeks 291

Prikaži sve...
1,150RSD
forward
forward
Detaljnije

What You Will Learn Learn to think in the functional paradigm Understand common data structures and the associated algorithms, as well as the context in which they are commonly used Take a look at the runtime and space complexities with the O notation See how ADTs are implemented in a functional setting Explore the basic theme of immutability and persistent data structures Find out how the internal algorithms are redesigned to exploit structural sharing, so that the persistent data structures perform well, avoiding needless copying. Get to know functional features like lazy evaluation and recursion used to implement efficient algorithms Gain Scala best practices and idioms Book Description Functional data structures have the power to improve the codebase of an application and improve efficiency. With the advent of functional programming and with powerful functional languages such as Scala, Clojure and Elixir becoming part of important enterprise applications, functional data structures have gained an important place in the developer toolkit. Immutability is a cornerstone of functional programming. Immutable and persistent data structures are thread safe by definition and hence very appealing for writing robust concurrent programs. How do we express traditional algorithms in functional setting? Won’t we end up copying too much? Do we trade performance for versioned data structures? This book attempts to answer these questions by looking at functional implementations of traditional algorithms. It begins with a refresher and consolidation of what functional programming is all about. Next, you’ll get to know about Lists, the work horse data type for most functional languages. We show what structural sharing means and how it helps to make immutable data structures efficient and practical. Scala is the primary implementation languages for most of the examples. At times, we also present Clojure snippets to illustrate the underlying fundamental theme. While writing code, we use ADTs (abstract data types). Stacks, Queues, Trees and Graphs are all familiar ADTs. You will see how these ADTs are implemented in a functional setting. We look at implementation techniques like amortization and lazy evaluation to ensure efficiency. By the end of the book, you will be able to write efficient functional data structures and algorithms for your applications. Authors Atul Khot Atul Khot learned to program by reading C code and figuring out how it works. He wrote a lot of C++ code and then moved to Java and Scala. An avid open source advocate, he loves scripting languages, clean coding, and is always ready to learn a new command-line trick. He currently works at Webonise Labs, Pune. Atul was also a panelist of Dr. Dobb's Jolt Awards. Last but not least, he is a trekking enthusiast and also a big foodie. Raju Kumar Mishra Raju Kumar Mishra is a consultant and corporate trainer for big data and programming. After completing his B.Tech from Indian Institute of Technology (ISM) Dhanbad, he worked for Tata Steel. His deep passion for mathematics, data science, and programming took him to Indian Institute of Science (IISc). After graduating from IISc in computational science, he worked for Oracle as a performance engineer and software developer. He is an Oraclecertified associate for Java 7. He is a Hortonworks-certified Apache Hadoop Java developer, and holds a Developer Certification for Apache Spark (O'Reilly School of Technology and Databriks), and Revolution R Enterprise-certified Specialist Certifications. Apart from this, he has also cleared Financial Risk Manager (FRM I) exam. His interest in mathematics helped him in clearing the CT3 (Actuarial Science) exam. Table of Contents Chapter 1: Why Functional Programming? Chapter 2: Building Blocks Chapter 3: Lists Chapter 4: Binary Trees Chapter 5: More List Algorithms Chapter 6: Graph Algorithms Chapter 7: Random Access Lists Chapter 8: Queues Chapter 9: Streams, Laziness, and Algorithms Chapter 10: Being Lazy - Queues and Deques Chapter 11: Red-Black Trees Chapter 12: Binomial Heaps Chapter 13: Sorting

Prikaži sve...
forward
Detaljnije

Drowning in unnecessary complexity, unmanaged state, and tangles of spaghetti code? In the best tradition of Lisp, Clojure gets out of your way so you can focus on expressing simple solutions to hard problems. Clojure cuts through complexity by providing a set of composable tools—immutable data, functions, macros, and the interactive REPL. Written by members of the Clojure core team, this book is the essential, definitive guide to Clojure. This new edition includes information on all the newest features of Clojure, such as transducers and specs. Clojure joins the flexibility and agility of Lisp with the reach, stability, and performance of Java. Combine Clojure’s tools for maximum effectiveness as you work with immutable data, functional programming, and safe concurrency to write programs that solve real-world problems. Start by reading and understanding Clojure syntax and see how Clojure is evaluated. From there, find out about the sequence abstraction, which combines immutable collections with functional programming to create truly reusable data transformation code. Clojure is a functional language; learn how to write programs in a functional style, and when and how to use recursion to your advantage. Discover Clojure’s unique approach to state and identity, techniques for polymorphism and open systems using multimethods and protocols, and how to leverage Clojure’s metaprogramming capabilities via macros. Finally, put all the pieces together in a real program. New to this edition is coverage of Clojure’s spec library, one of the most interesting new features of Clojure for describing both data and functions. You can use Clojure spec to validate data, destructure data, explain invalid data, and generate large numbers of tests to verify the correctness of your code. With this book, you’ll learn how to think in Clojure, and how to take advantage of its combined strengths to build powerful programs quickly. 5 Tips for Thinking in Clojure 1. Rely on your REPL. Clojure (like other LISP languages) intends to provide a “live” development experience where you are actively manipulating and testing the program while you develop the code. To take full advantage of Clojure, it’s essential to work in a development environment that allows you to interactively evaluate parts of your code while you develop. We are fortunate to have a variety of tool choices in Clojure that can satisfy those demands. 2. Maps, not Objects. Developers coming from object-oriented languages are likely to look for the ability to create classes or objects to hold their data. Clojure takes a more direct and flexible approach to data, primarily storing information attributes in heterogenous maps. Rather than providing class-specific interfaces, Clojure provides a single generic data interface for creating, accessing, and transforming attribute-oriented information. The result is that modeling data and managing the evolution of data over time is generally much more generic and immediate than the equivalent operations in object-oriented languages. 3. Collections, not Loops. Imperative languages encourage you to write loops that manipulate data elements one-by-one. In Clojure, you instead think primarily in collections, not loops. When transformations need to be applied, you use a functional approach to describe the transformation from one collection to another, which may involve mapping, filtering, or otherwise transforming data at the collection level. 4. Isolate State. Clojure is not a pure functional language – it has constructs readily available to create and manage state, perform I/O, etc. However, most Clojure developers minimize the number of functions that work with these kinds of constructs. As much as possible, Clojure functions tend to be small and pure, just simple transformations of data to data. Clojure’s model for all state manipulation is to describe stateful change as a function from prior state to new state. Stateful change thus becomes little more than the application of pure functions to data. 5. Have Fun! Many people find Clojure to be one of the most enjoyable languages they’ve ever used. There is very little ceremony in the code, a literal syntax to easily represent data, a huge library of functions available for transforming data, and access to all of the existing functionality of the underlying host platform via either interop or libraries. Clojure gets out of the way and lets you get to work! Q&A with author Alex Miller Q: Why did you get involved with the 3rd edition of Programming Clojure? A: The first edition of Programming Clojure was important because it was the first Clojure book available. Stuart Halloway worked closely with Rich Hickey, the creator of Clojure, to capture the key ideas behind Clojure and let that philosophy shine through. I first picked up Clojure about the time this book was published and I found it to be a helpful and insightful guide. It has been a great challenge and pleasure to revisit this material that I used to learn Clojure myself from the other side of the page. Q: What’s changed since the 2nd edition? A: Aaron Bedra provided an excellent update in the second edition of Programming Clojure for the release of Clojure 1.3, which provided both a lot of new features and an overhaul of certain parts of the language (like numerics). In this third edition, everything has been brought up to date with Clojure 1.9, the latest release. I have included new material on features added since the last edition like transducers and spec. Additionally, many of the longer examples have been updated to take advantage of the latest features and functions of the language. Q: What kinds of problems are best solved with Clojure? A: Clojure was always conceived with the intent to be a general purpose language targeted at domains where its hosted languages (Java, C#, JavaScript) were prevalent. Those languages cover a lot of territory, and Clojure has been used in a wide variety of domains as well. However, the majority of Clojure developers are creating multi-tier information systems (server + web UI) where they can share code (in Clojure and ClojureScript) across the tiers. These kinds of systems take full advantage of Clojure’s portability and its focus on the representation and transformation of information. Typical domains that take maximum advantage are financial services, ecommerce, healthcare, energy, legal, entertainment, and more. Q: How portable is code between the different dialects of Clojure, ClojureScript, and ClojureCLR? A: At the heart of Clojure is the ability to represent data (using Clojure collections) and transform it using sequences and transducers. In almost all cases, code that creates and manipulates data, controls flow, or creates and invokes functions is exactly the same on all of these platforms. The areas where they start to differ is where the host platforms differ with respect to managing state or concurrency, or working with I/O, date/time, etc – places where Clojure and its dialects rely more heavily on the hosted platform. However, Clojure includes the ability to create conditional code such that minor host differences can be covered in a single cross-platform source file and users of that code don’t have to worry about those differences. Q: What’s the role of the new Clojure spec library? A: The spec library is perhaps the most important new feature added to Clojure in years. Clojure does a fantastic job of providing tools for representing any domain in data, and then manipulating that data. However, the combination of dynamic typing and generic data transformation means that while code be very concise and reusable, it’s sometimes hard to see at a glance the shape of the data flowing through your system. Specs provide a language for describing your data and the functions that use it. This language is based on predicate functions (code you already have) and once you write your specs you gain a whole host of tools for using them to validate data according to a spec, parse data into its constituent pieces, explain why an invalid value is invalid, automatically generate example data, detect invalid function calls, and even automatically test functions using generated data. Specs are quickly becoming an essential part of the Clojure toolset for managing data. What You Need Java 6 or higher Clojure 1.9 Resources Source code Errata Releases Discussion Forum Recent Posts: Missing type for extend-protocol on page 172, pdf beta-3 Any rough idea on the completing of this book? Spec Chapter anomalies StackOverflowError with improved replace-symbol - PDF page 103 - and workaround Introduce Side Effects with do - idiomatic handling of side effects in clojure? Contents & Extracts Acknowledgments Preface Introduction Who This Book Is For What’s in This Book How to Read This Book Notation Conventions Web Resources and Feedback Downloading Sample Code Getting Started Simplicity and Power in Action Clojure Coding Quick Start Navigating Clojure Libraries Wrapping Up Exploring Clojure excerpt Reading Clojure Functions Vars, Bindings, and Namespaces Metadata Calling Java Comments Flow Control Where’s My for Loop? Wrapping Up Unifying Data with Sequences Everything Is a Sequence Using the Sequence Library Lazy and Infinite Sequences Clojure Makes Java Seq-able Calling Structure-Specific Functions Wrapping Up Functional Programming excerpt Functional Programming Concepts How to Be Lazy Lazier Than Lazy Recursion Revisited Eager Transformations Wrapping Up Specifications Defining Specs Validating Data Validating Functions Generative Function Testing excerpt Wrapping Up State and Concurrency Concurrency, Parallelism, and Locking Refs and Software Transactional Memory Use Atoms for Uncoordinated, Synchronous Updates Use Agents for Asynchronous Updates Managing Per-Thread State with Vars A Clojure Snake Wrapping Up Protocols and Datatypes Programming to Abstractions Interfaces Protocols Datatypes Records reify Wrapping Up Macros When to Use Macros Writing a Control Flow Macro Making Macros Simpler Taxonomy of Macros Wrapping Up Multimethods Living Without Multimethods Defining Multimethods Moving Beyond Simple Dispatch Creating Ad Hoc Taxonomies When Should I Use Multimethods? Wrapping Up Java Interop Creating Java Objects in Clojure Calling Clojure From Java Exception Handling Optimizing for Performance A Real-World Example Wrapping Up Building an Application Getting Started Developing the Game Loop Representing Progress Implementing Players Interactive Play Documenting and Testing Your Game Farewell Author Alex Miller was about to give up on programming as irretrievably complex when he found Clojure, which renewed his love for code. Alex works by day on improving Clojure and spends his off hours organizing the Strange Loop conference and playing music with his kids. Stuart Halloway is a founder and president of Cognitect (formerly Relevance). He is a Clojure committer, and a developer of the Datomic database. Stuart has written a number of books and technical articles. Of these, he is most proud of Programming Clojure. Aaron Bedra is CTO and CSO at Eligible. He is the creator of Repsheet, an open source threat intelligence toolkit, and a frequent open source contributor. He enjoys sharing his password with friends and family and wearing questionable hats.

Prikaži sve...
forward
Detaljnije

What You Will Learn Discover the new features in practical mobile forensics Understand the architecture and security mechanisms present in iOS and Android platforms Identify sensitive files on the iOS and Android platforms Set up the forensic environment Extract data on the iOS and Android platforms Recover data on the iOS and Android platforms Understand the forensics of Windows devices Explore various third-party application techniques and data recovery techniques Book Description Mobile phone forensics is the science of retrieving data from a mobile phone under forensically sound conditions. This book is an update to Practical Mobile Forensics and it delves into the concepts of mobile forensics and its importance in today's world. We will deep dive into mobile forensics techniques in iOS 8 - 9.2, Android 4.4 - 6, and Windows Phone devices. We will demonstrate the latest open source and commercial mobile forensics tools, enabling you to analyze and retrieve data effectively. You will learn how to introspect and retrieve data from cloud, and document and prepare reports for your investigations. By the end of this book, you will have mastered the current operating systems and techniques so you can recover data from mobile devices by leveraging open source solutions. Authors Heather Mahalik Heather Mahalik is a principal forensic scientist with Oceans Edge, Inc., where she leads the forensic effort focusing on mobile and digital exploitation. She is a senior instructor and author for the SANS Institute, and she is also the course leader for the FOR585 Advanced Smartphone Forensics course. With over 13 years of experience in digital forensics, she continues to thrive on smartphone investigations, forensic course development and instruction, and research on application analysis and smartphone forensics. Prior to joining Oceans Edge, Heather was the Mobile Exploitation Team Lead at Basis Technology. When starting her career, she worked at Stroz Friedberg and for the U.S. Department of State Computer Investigations and Forensics Lab as a contractor. Heather earned her bachelor's degree from West Virginia University. She co-authored Practical Mobile Forensics (First edition) and was the technical reviewer for Learning Android Forensics. She has authored white papers and forensic course material and has taught hundreds of courses worldwide to Law Enforcement, Military, Government, IT, eDiscovery, and other forensic professionals focusing on mobile device and digital forensics. Rohit Tamma Rohit Tamma is a security analyst currently working with Microsoft. With over 7 years of experience in the field of security, his background spans consulting/analyst roles in the areas of application security, mobile security, penetration testing, and security training. His past experiences include working with Accenture, ADP, and TCS, driving security programs for various client teams. Rohit has also coauthored Learning Android Forensics, which explains various techniques to perform forensics on the Android platform. You can contact him at [email protected] or on Twitter at @RohitTamma. Continue reading Satish Bommisetty Satish Bommisetty is a security analyst working for a Fortune 500 company. His primary areas of interest include iOS forensics, iOS application security, and web application security. He has presented at international conferences, such as ClubHACK and C0C0n. He is also one of the core members of the Hyderabad OWASP chapter. He has identified and disclosed vulnerabilities within the websites of Google, Facebook, Yandex, PayPal, Yahoo!, AT&T, and more, and is listed in their hall of fame. Table of Contents Chapter 1: Introduction to Mobile Forensics Chapter 2: Understanding the Internals of iOS Devices Chapter 3: iOS Forensic Tools Chapter 4: Data Acquisition from iOS Devices Chapter 5: Data Acquisition from iOS Backups Chapter 6: Android Data Extraction Techniques Chapter 7: iOS Data Analysis and Recovery Chapter 8: Android Data Analysis and Recovery Chapter 9: Understanding Android Chapter 10: Android Forensic Setup and Pre Data Extraction Techniques Chapter 11: Android App Analysis, Malware, and Reverse Engineering Chapter 12: Windows Phone Forensics Chapter 13: Parsing Third-Party Application Files

Prikaži sve...
forward
Detaljnije
Nazad
Sačuvaj