• Fri frakt över 249 kr
  • •
  • Snabba leveranser
  • •
  • Billiga böcker
Kundservice

Du är på sajten för privatpersoner.

Företag, bibliotek eller offentlig verksamhet?

Du handlar på classic.bokus.com, där alla dina funktioner finns intakta.
Till classic.bokus.com
Bokus logotyp. Gå till startsidan.
  • Erbjudanden
  • Nyheter
  • Student
  • Topplistor
  • Barn & ungdom
  • Bokus Play
  • E-böcker
  • Pocketböcker
  • Spel & pussel

Upp till 20% på populära nyheter →

Sidfot

Mina sidor

    Hjälp

    • Kundservice
    • Vanliga frågor och svar
    • Frakt och leverans
    • Retur vid ångerrätt
    • Reklamera vara
    • Betalning
    • Köpvillkor
    • Allmänna villkor
    • Information om webbplatsens tillgänglighet

    Om Bokus

    • Om oss
    • Pressrum
    • För studenter
    • För företag
    • För bibliotek och offentlig verksamhet
    • För leverantörer
    • Hållbarhet

    Populärt

    • Aktuella erbjudanden
    • Presentkort
    • Studentlitteratur
    • Nya böcker
    • Topplistor
    • Signerade böcker
    • Engelska böcker

    Inspiration

    • Boktips
    • BookTok
    • Populära bokserier
    • Barnbokskaraktärer
    • Populära författare

    Mina sidor

      Hjälp

      • Kundservice
      • Vanliga frågor och svar
      • Frakt och leverans
      • Retur vid ångerrätt
      • Reklamera vara
      • Betalning
      • Köpvillkor
      • Allmänna villkor
      • Information om webbplatsens tillgänglighet

      Om Bokus

      • Om oss
      • Pressrum
      • För studenter
      • För företag
      • För bibliotek och offentlig verksamhet
      • För leverantörer
      • Hållbarhet

      Populärt

      • Aktuella erbjudanden
      • Presentkort
      • Studentlitteratur
      • Nya böcker
      • Topplistor
      • Signerade böcker
      • Engelska böcker

      Inspiration

      • Boktips
      • BookTok
      • Populära bokserier
      • Barnbokskaraktärer
      • Populära författare
      Logotyp för Bokus
      Följ oss på Facebook (extern länk)Följ oss på Instagram (extern länk)Följ oss på YouTube (extern länk)Följ oss på TikTok (extern länk)
      bokus @ CookiesIntegritetspolicyKöpvillkor
      Till Citymail hemsida (extern länk)Till Budbee hemsida (extern länk)Till Postnord hemsida (extern länk)Till Schenker hemsida (extern länk)Till Early Bird hemsida (extern länk)Till Walleys hemsida (extern länk)
      1. Data och IT
      2. Systemvetenskap och AI

      Software Design by Example

      A Tool-Based Introduction with JavaScript

      AvGreg Wilson

      Inbunden, Engelska, 2022

      2 147 kr

      Beställningsvara. Skickas inom 10-15 vardagar. Fri frakt över 249 kr.

      Fler format och utgåvor

      E-bok

      708 kr

      E-bok

      710 kr

      Häftad

      740 kr

      Häftad

      776 kr

      Inbunden

      2 085 kr

      E-bok

      743 kr

      E-bok

      743 kr

      Beskrivning

      The best way to learn design in any field is to study examples, and some of the best examples of software design come from the tools programmers use in their own work. Software Design by Example: A Tool-Based Introduction with JavaScript therefore builds small versions of the things programmers use in order to demystify them and give some insights into how experienced programmers think. From a file backup system and a testing framework to a regular expression matcher, a browser layout engine, and a very small compiler, we explore common design patterns, show how making code easier to test also makes it easier to reuse, and help readers understand how debuggers, profilers, package managers, and version control systems work so that they can use them more effectively. This material can be used for self-paced study, in an undergraduate course on software design, or as the core of an intensive weeklong workshop for working programmers. Each chapter has a set of exercises ranging in size and difficulty from half a dozen lines to a full day’s work. Readers should be familiar with the basics of modern JavaScript, but the more advanced features of the language are explained and illustrated as they are introduced. All the written material in this project can be freely reused under the terms of the Creative Commons - Attribution license, while all of the software is made available under the terms of the Hippocratic License. All proceeds from sale of this book will go to support the Red Door Family Shelter in Toronto.Features• Teaches software design by showing programmers how to build the tools they use every day• Each chapter includes exercises to help readers check and deepen their understanding• All the example code can be downloaded, re-used, and modified under an open license

      Produktinformation

      • Utgivningsdatum:2022-12-29
      • Mått:178 x 254 x 26 mm
      • Vikt:780 g
      • Format:Inbunden
      • Språk:Engelska
      • Antal sidor:329
      • Förlag:Taylor & Francis Ltd
      • ISBN:9781032399676

      Utforska kategorier

      • Systemvetenskap och AI inom Data och IT
      • Programvaruutveckling inom Data och IT
      • Operativsystem inom Data och IT

      Mer om författaren

      Greg Wilson has worked in industry and academia for 35 years, and is the author, coauthor, or editor of several books, including Beautiful Code, The Architecture of Open Source Applications, JavaScript for Data Science, Teaching Tech Together, and Research Software Engineering with Python. He is the co-founder and first executive director of Software Carpentry and received ACM SIGSOFT’s Influential Educator Award in 2020.

      Innehållsförteckning

      • 1. Introduction. 1.1. Who is our audience? 1.2. What tools and ideas do we cover? 1.3. How are these lessons laid out? 1.4. How did we get here? 1.5. How can people use and contribute to this material? 1.6. Who helped us? 2. Systems Programming. 2.1. How can we list a directory? 2.2. What is a callback function? 2.3. What are anonymous functions? 2.4. How can we select a set of files? 2.5. How can we copy a set of files? 2.6. Exercises. 3. Asynchronous Programming. 3.1. How can we manage asynchronous execution? 3.2. How do promises work? 3.3. How can we chain operations together? 3.4. How are real promises different? 3.5. How can we build tools with promises? 3.6. How can we make this more readable? 3.7. How can we handle errors with asynchronous code? 3.8. Exercises. 4. Unit Testing. 4.1. How should we structure unit testing? 4.2. How can we separate registration, execution, and reporting? 4.3. How should we structure test registration? 4.4. How can we build a command-line interface for testing? 4.5. Exercises. 5. File Backup. 5.1. How can we uniquely identify files? 5.2. How can we back up files? 5.3. How can we track which files have already been backed up? 5.4. How can we test code that modifies files? 5.5. Exercises. 6. Data Tables. 6.1. How can we implement data tables? 6.2. How can we test the performance of our implementations? 6.3. What is the most efficient way to save a table? 6.4. Does binary storage improve performance? 6.5. Exercises. 7. Pattern Matching. 7.1. How can we match query selectors? 7.2. How can we implement a simple regular expression matcher? 7.3. How can we implement an extensible matcher? 7.4. Exercises. 8. Parsing Expressions. 8.1. How can we break text into tokens? 8.2. How can we turn a list of tokens into a tree? 8.3. Exercises. 9. Page Templates. 9.1. What will our system look like? 9.2. How can we keep track of values? 9.3. How do we handle nodes? 9.4. How do we implement node handlers? 9.5. How can we implement control flow? 9.6. How did we know how to do all of this? 9.7. Exercises. 10. Build Manager. 10.1. What’s in a build manager? 10.2. Where should we start? 10.3. How can we specify that a file is out of date? 10.4. How can we update out-of-date files? 10.5. How can we add generic build rules? 10.6. What should we do next? 10.7. Exercises. 11. Layout Engine. 11.1. How can we size rows and columns? 11.2. How can we position rows and columns? 11.3. How can we render elements? 11.4. How can we wrap elements to fit? 11.5. What subset of CSS will we support? 11.6. Exercises. 12. File Interpolator. 12.1. How can we evaluate JavaScript dynamically? 12.2. How can we manage files? 12.3. How can we find files? 12.4. How can we interpolate pieces of code? 12.5. What did we do instead? 12.6. Exercises. 13. Module Loader. 13.1. How can we implement namespaces? 13.2. How can we load a module? 13.3. Do we need to handle circular dependencies? 13.4. How can a module load another module? 13.5. Exercises. 14. Style Checker. 14.1. How can we parse JavaScript to create an AST? 14.2. How can we find things in an AST? 14.3. How can we apply checks? 14.4. How does the AST walker work? 14.5. How else could the AST walker work? 14.6. What other kinds of analysis can we do? 14.7. Exercises. 15. Code Generator. 15.1. How can we replace a function with another function? 15.2. How can we generate JavaScript? 15.3. How can we count how often functions are executed? 15.4. How can we time function execution? 15.5. Exercises. 16. Documentation Generator. 16.1. How can we extract documentation comments? 16.2. What input will we try to handle? 16.3. How can we avoid duplicating names? 16.4. Exercises. 17. Module Bundler. 17.1. What will we use as test cases? 17.2. How can we find dependencies? 17.3. How can we safely combine several files into one? 17.4. How can files access each other? 17.5. Exercises. 18. Package Manager. 18.1. What is semantic versioning? 18.2. How can we find a consistent set of packages? 18.3. How can we satisfy constraints? 18.4. How can we do less work? 18.5. Exercises. 19. Virtual Machine. 19.1. What is the architecture of our virtual machine? 19.2. How can we execute these instructions? 19.3. What do assembly programs look like? 19.4. How can we store data? 19.5. Exercises. 20. Debugger. 20.1. What is our starting point? 20.2. How can we make a tracing debugger? 20.3. How can we make the debugger interactive? 20.4. How can we test an interactive application? 20.5. Exercises. 21. Conclusion.
      Hoppa över listan

      Mer från samma författare

      Maya Gans, Toby Hodges, Greg Wilson - JavaScript for Data Science, Häftad

      JavaScript for Data Science

      Maya Gans, Toby Hodges, Greg Wilson

      Häftad, 2020

      828 kr

      Greg Wilson - Teaching Tech Together, Häftad

      Teaching Tech Together

      Greg Wilson

      Häftad, 2019

      422 kr

      Greg Wilson - Teaching Tech Together, Inbunden

      Teaching Tech Together

      Greg Wilson

      Inbunden, 2019

      1 169 kr

      Maya Gans, Toby Hodges, Greg Wilson - JavaScript for Data Science, Inbunden

      JavaScript for Data Science

      Maya Gans, Toby Hodges, Greg Wilson

      Inbunden, 2020

      2 529 kr

      Damien Irving, Kate Hertweck, Luke Johnston, Joel Ostblom, Charlotte Wickham, Greg Wilson - Research Software Engineering with Python, Häftad

      Research Software Engineering with Python

      Damien Irving, Kate Hertweck, Luke Johnston, Joel Ostblom, Charlotte Wickham, Greg Wilson

      Häftad, 2021

      931 kr

      Damien Irving, Kate Hertweck, Luke Johnston, Joel Ostblom, Charlotte Wickham, Greg Wilson - Research Software Engineering with Python, Inbunden

      Research Software Engineering with Python

      Damien Irving, Kate Hertweck, Luke Johnston, Joel Ostblom, Charlotte Wickham, Greg Wilson

      Inbunden, 2021

      2 529 kr

      Andy Oram, Andy Oram, Greg Wilson - Beautiful Code, Häftad

      Beautiful Code

      Andy Oram, Andy Oram, Greg Wilson

      Häftad, 2007

      4,0 utav 5 stjärnor. Totalt antal röster:(1)

      339 kr

      Greg Wilson, Andy Oram - Beautiful Code, E-bok

      Beautiful Code

      Greg Wilson, Andy Oram

      E-bok
      2007

      393 kr

      Andy Oram, Greg Wilson - Beautiful Code, E-bok

      Beautiful Code

      Andy Oram, Greg Wilson

      E-bok
      2007
      1,0 utav 5 stjärnor. Totalt antal röster:(1)

      366 kr

      Greg Wilson, Toby Hodges, Maya Gans - JavaScript for Data Science, E-bok

      JavaScript for Data Science

      Greg Wilson, Toby Hodges, Maya Gans

      E-bok
      2020

      967 kr

      Hoppa över listan

      Du kanske också är intresserad av

      Greg Wilson - Software Design by Example, Inbunden

      Software Design by Example

      Greg Wilson

      Inbunden, 2024

      2 085 kr

      Greg Wilson - Software Design by Example, E-bok

      Software Design by Example

      Greg Wilson

      E-bok
      2022

      710 kr

      Greg Wilson - Software Design by Example, E-bok

      Software Design by Example

      Greg Wilson

      E-bok
      2022

      708 kr

      Greg Wilson - Software Design by Example, Häftad

      Software Design by Example

      Greg Wilson

      Häftad, 2022

      740 kr

      Greg Wilson - Software Design by Example, E-bok

      Software Design by Example

      Greg Wilson

      E-bok
      2024

      743 kr

      Greg Wilson - Software Design by Example, Häftad

      Software Design by Example

      Greg Wilson

      Häftad, 2024

      776 kr

      Greg Wilson - Software Design by Example, E-bok

      Software Design by Example

      Greg Wilson

      E-bok
      2024

      743 kr

      Damien Irving, Kate Hertweck, Luke Johnston, Joel Ostblom, Charlotte Wickham, Greg Wilson - Research Software Engineering with Python, Häftad

      Research Software Engineering with Python

      Damien Irving, Kate Hertweck, Luke Johnston, Joel Ostblom, Charlotte Wickham, Greg Wilson

      Häftad, 2021

      931 kr

      Maya Gans, Toby Hodges, Greg Wilson - JavaScript for Data Science, Häftad

      JavaScript for Data Science

      Maya Gans, Toby Hodges, Greg Wilson

      Häftad, 2020

      828 kr

      Greg Wilson, Arthur Trew - Past, Present, Parallel, E-bok

      Past, Present, Parallel

      Greg Wilson, Arthur Trew

      E-bok
      2012

      739 kr