Gutscheinbedingungen

**Gültig nur für Bestellungen an die Wunsch-Poststation bis 10.06.2026 auf Spielzeug, Schreibwaren, Filme, Geschenke & Trends, Musik, tolino eReader & Zubehör, Hörbücher und Hörbuch-Downloads (außer Abo), nicht preisgebundene Bücher und Kalender online auf thalia.at und in der Thalia App. Einzelne Artikel können ausgeschlossen sein. Aufgrund der Buchpreisbindung sind deutschsprachige Bücher und eBooks ausgenommen. Zusätzlich ausgenommen sind preisgebundene Artikel, Abos & Flatrates, eBooks, Games, Geschenkkarten/-boxen, Shelfies, Software, Zeitschriften sowie einzelne Artikel von tonies®. Pro Einkauf einmal einlösbar. Kein Click & Collect möglich. Keine Barauszahlung. Nicht kombinierbar mit anderen Aktionen und Gutscheinen. Gutschein wird auf max. 500€ Bestellwert angerechnet. Nicht gültig für Versandkosten und Services.

Produktbild: Professional Clojure

Professional Clojure

55,99 €

inkl. gesetzl. MwSt., Versandkostenfrei


Beschreibung

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

07.06.2016

Verlag

John Wiley & Sons Inc

Seitenzahl

264

Maße (L/B/H)

23,3/18,7/1,7 cm

Gewicht

461 g

Auflage

1. Auflage

Sprache

Englisch

ISBN

978-1-119-26727-0

Beschreibung

Rezension

"A book that makes you think, from the first chapter's dive into thoughtful code-led examples, and covers web services, testing and performance. Brings you closer to functional thinking." (MagPi, October 2016)

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

07.06.2016

Verlag

John Wiley & Sons Inc

Seitenzahl

264

Maße (L/B/H)

23,3/18,7/1,7 cm

Gewicht

461 g

Auflage

1. Auflage

Sprache

Englisch

ISBN

978-1-119-26727-0

Herstelleradresse

Libri GmbH
Europaallee 1
36244 Bad Hersfeld
DE

Email: gpsr@libri.de

Kundinnen und Kunden meinen

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Konto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Die Bewertungen sind nach Format, Anzahl Sterne und Datum sortiert.

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kund*innen durch Ihre Meinung

Kundinnen und Kunden meinen

0 Bewertungen filtern

Die Leseprobe wird geladen.
  • Produktbild: Professional Clojure
  • INTRODUCTION xv

    CHAPTER 1: HAVE A BEGINNER'S MIND 1

    Functional Thinking 2

    Value Oriented 2

    Thinking Recursively 5

    Higher Order Functions 8

    Embracing Laziness 11

    When You Really Do Need to Mutate 12

    Nil Punning 15

    The Functional Web 16

    Doing Object-Oriented Better 16

    Polymorphic Dispatch with defmulti 18

    Defining Types with deftype and defrecord 20

    Protocols 21

    Reify 22

    Persistent Data Structures 23

    Shaping the Language 27

    Summary 29

    CHAPTER 2: RAPID FEEDBACK CYCLES WITH CLOJURE 31

    REPL-Driven Development 32

    Basic REPL Usage with Leiningen 32

    Remote REPLs with nREPL 34

    REPL Usage with a Real Application 35

    Connecting Your Editor to a REPL 39

    Reloading Code 40

    Reloading Code from the REPL 40

    Automatically Reloading Code 43

    Writing Reloadable Code 49

    Summary 51

    CHAPTER 3: WEB SERVICES 53

    Project Overview 53

    Namespace Layout 54

    Elements of a Web Service 55

    Libraries, Not Frameworks 55

    HTTP 55

    Routing 64

    JSON Endpoints 70

    Example Service 74

    Create the Project 75

    Additional Namespaces 75

    Default Middleware 77

    The Storage Protocol 78

    Handlers 83

    Middleware 88

    Routes 89

    Deployment 94

    Using Leiningen 94

    Compiling an Uberjar or Uberwar 95

    Hosting 96

    Summary 97

    CHAPTER 4: TESTING 99

    Testing Basics with clojure.test 100

    with-test 101

    deftest 101

    are 102

    Using Fixtures 103

    Testing Strategies 104

    Tests Against DB 104

    Testing Ring Handlers 106

    Mocking/Stubbing Using with-redefs 108

    Redefining Dynamic Vars 110

    Record/Replay with VCR 111

    Measuring Code Quality 112

    Code Coverage with Cloverage 112

    Static Analysis with kibit and bikeshed 114

    Keeping Dependencies Under Control 116

    Testing Framework Alternatives 119

    Expectations 119

    Speclj 119

    Cucumber 120

    Kerodon 126

    Summary 127

    CHAPTER 5: REACTIVE WEB PAGES IN CLOJURESCRIPT 129

    ClojureScript Is a Big Deal 129

    A First Brush with ClojureScript 131

    Starting a New ClojureScript Project 132

    Getting Fast Feedback with Figwheel 132

    Creating Components 134

    Modeling the Data 135

    Responding to Events and Handling State Change 136

    Understanding Errors and Warnings 137

    Namespace Layout 141

    Styling 141

    Form Inputs and Form Handling 142

    Navigation and Routes 145

    HTTP Calls: Talking to a Server 147

    Drag and Drop 149

    Publishing 150

    Reagent in Depth 151

    Form 1: A Function That Returns a Vector 151

    Form 2: A Function That Returns a Component 152

    Form 3: A Function That Returns a Class 153

    Sequences and Keys 154

    Custom Markup 155

    Reactions 156

    A Note on Style 158

    Testing Components with Devcards 159

    Interop with JavaScript 162

    One Language, One Idiom, Many Platforms 164

    Things to Know About the Closure Compiler and Library 164

    Modeling State with DataScript 165

    Go Routines in Your Browser with core.async 166

    Summary 167

    CHAPTER 6: THE DATOMIC DATABASE 169

    Datomic Basics 170

    Why Datomic? 170

    The Datomic Data Model 172

    Querying 175

    Transactions 181

    Indexes Really Tie Your Data Together 183

    Datomic's Unique Architecture 187

    Modeling Application Data 188

    Example Schema for Task Tracker App 188

    Entity ids and Partitions 196

    Datomic's Clojure API 197

    Basic Setup 197

    Experimenting in the REPL 200

    Building Applications with Datomic 206

    User Functions 206

    Account Functions 209

    Task Functions 210

    Deployment 213

    The Limitations 214

    Summary 215

    CHAPTER 7: PERFORMANCE 217

    What Is Performance? 219

    Choosing the Right Data Structure Is a Prerequisite for Performance 219

    Benchmarking 221

    Timing Slow Things 221

    Use Criterium for Timing Fast Things 223

    Use Test Selectors for Performance Tests 225

    Parallelism 225

    Memoization 226

    Inlining 227

    Persistent Data Structures 228

    Safe Mutation with Transients 228

    Profi ling 229

    Avoiding Reflection with Type Hinting 230

    Java Flags 232

    Math 232

    Summary 232

    INDEX 235