GithubHelp home page GithubHelp logo

modern-concurrency-on-apple-platforms-book-code's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

modern-concurrency-on-apple-platforms-book-code's Issues

errata and suggestions for your book

I couldn't find a better way to contact you, so I decided to post here. Hope you don't mind.

I absolutely love your book! I received it as a Christmas gift and devoured it. Here's a list of errata items and suggestions. I know I could have submitted them directly to Apress, but that would require me to submit them one at a time and it would take too long.

  • p. xviii: I recommend mentioning that
    code for the exercises is available at
    https://github.com/AndyIbanex/modern-concurrency-on-apple-platforms-book-code
  • p. 9: "such us shared" -> "such as shared"
  • p. 35: "a few ways" -> "two ways" since only two are described
  • p. 44: "avoid code reuse" -> "avoid code repetition"
  • p. 49: "calculated properties" -> "computed properties" (Apple terminology)
  • p. 85: "they begin executing" -> "they can begin executing"
    since the task group could determine that it should wait to execute
    the task because there are already too many tasks running
  • p. 91: It would be good to point out that
    "background" and "low" are the same,
    "high" and "userInitiated" are the same, and
    "medium" and "utility" are the same.
  • p. 100 I was confused initially when I read
    "the images will always show up in the same order",
    but then I realized you meant that the vertical order of the
    images on the screen will match their order in the Array.
  • p. 101 "new child task" -> "new implicit child task"
    to make this more clear
  • p. 117 "and if they mutate, a copy is created" ->
    "and if they mutate, a copy-on-write copy is created"
    to emphasize that a full copy is not made immediately
  • p. 119 "If it were a struct" -> "If it were a value type"
    to emphasize that the statement is not specific to structs
  • p. 142 "and have read-only properties" ->
    "and only have read-only properties"
    to emphasize that Sendable types cannot have any mutable properties
  • p. 148 "Finally, if you have a variable" -> "If you have a variable"
    because you use "Finally" again later on the page
  • p. 153 "As iOS 15" -> "As of iOS 15"
  • p. 172 "Struct" -> "struct"
  • p. 172 "Func" -> "func"
  • p. 174 "Func" -> "func"
  • p. 176 "For" -> "for"
  • p. 176 "Let" -> "let"
  • p. 177 "Each command" -> "Each line" since
    what is being read from stdin is not necessarily commands.
  • p. 186 "no danger or recursive calls" -> "no danger of recursive calls"
  • p. 187 In Listing 9-18, "self" -> "let"
  • p. 194 "hierarchy were" -> "hierarchy where"

AsyncSequence caching

If there's a better place for me to ask questions about the book than here, please let me know. I'm happy to post them elsewhere.

On page 175 you say "If you use the same async sequence in another loop, you will get the data instantly, because it will be cached."

I wonder what happens if the sequence is very long and/or the values it returns are very large. It seems like the app could crash due to running out of memory. I wonder if it only caches the values if there is enough free memory to do so.

I also wonder if it is possible to create an infinite AsyncSequence that never stops returning values ... in which case it definitely couldn't cache all the values.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.