{
  "action": "Product-ShowQuickView",
  "queryString": "pid=1680508199",
  "locale": "default",
  "product": {
    "uuid": "5c82f3c2ba9e4c35018d2d7b1f",
    "id": "1680508199",
    "productName": "Concurrent Data Processing in Elixir: Fast, Resilient Applications with Otp, Genstage, Flow, and Broadway",
    "productType": "standard",
    "brand": "Does Not Apply",
    "price": {
      "sales": {
        "value": 70.5,
        "currency": "AUD",
        "formatted": "A$70.50",
        "decimalPrice": "70.50"
      },
      "list": null
    },
    "renderedPrice": "    <div class=\"price\">\n        \n        \n<span>\n    \n\n    \n\n    \n    <span class=\"sales\">\n        \n        \n        \n            <span class=\"value\" content=\"70.50\"></span>\n        \n        A$70.50\n\n\n    </span>\n</span>\n\n    </div>\n\n\n",
    "images": {
      "large": [
        {
          "alt": "Concurrent Data Processing in Elixir: Fast, Resilient Applications with Otp, Genstage, Flow, and Broadway",
          "url": "/on/demandware.static/-/Sites-storefront-catalog-m-en/default/dwadb76672/images/large/a39a7643109469a87adc86e5b775ea56.png",
          "index": "0",
          "title": "Concurrent Data Processing in Elixir: Fast, Resilient Applications with Otp, Genstage, Flow, and Broadway",
          "absURL": "https://www.emega.com.au/on/demandware.static/-/Sites-storefront-catalog-m-en/default/dwadb76672/images/large/a39a7643109469a87adc86e5b775ea56.png"
        }
      ],
      "small": [
        {
          "alt": "Concurrent Data Processing in Elixir: Fast, Resilient Applications with Otp, Genstage, Flow, and Broadway",
          "url": "/on/demandware.static/-/Sites-storefront-catalog-m-en/default/dwadb76672/images/large/a39a7643109469a87adc86e5b775ea56.png",
          "index": "0",
          "title": "Concurrent Data Processing in Elixir: Fast, Resilient Applications with Otp, Genstage, Flow, and Broadway",
          "absURL": "https://www.emega.com.au/on/demandware.static/-/Sites-storefront-catalog-m-en/default/dwadb76672/images/large/a39a7643109469a87adc86e5b775ea56.png"
        }
      ]
    },
    "selectedQuantity": 1,
    "minOrderQuantity": 1,
    "maxOrderQuantity": 10,
    "variationAttributes": null,
    "longDescription": "<div> <div> <div> <p><span>Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or fault-tolerance. Most projects benefit from running background tasks and processing data concurrently, but the world of OTP and various libraries can be challenging. Which Supervisor and what strategy to use? What about GenServer? Maybe you need back-pressure, but is GenStage, Flow, or Broadway a better choice? You will learn everything you need to know to answer these questions, start building highly concurrent applications in no time, and write code that's not only fast, but also resilient to errors and easy to scale.</span></p><p><span>Whether you are building a high-frequency stock trading application or a consumer web app, you need to know how to leverage concurrency to build applications that are fast and efficient. Elixir and the OTP offer a range of powerful tools, and this guide will show you how to choose the best tool for each job, and use it effectively to quickly start building highly concurrent applications.</span></p><p><span>Learn about Tasks, supervision trees, and the different types of Supervisors available to you. Understand why processes and process linking are the building blocks of concurrency in Elixir. Get comfortable with the OTP and use the GenServer behaviour to maintain process state for long-running jobs. Easily scale the number of running processes using the Registry. Handle large volumes of data and traffic spikes with GenStage, using back-pressure to your advantage. Create your first multi-stage data processing pipeline using producer, consumer, and producer-consumer stages. Process large collections with Flow, using MapReduce and more in parallel. Thanks to Broadway, you will see how easy it is to integrate with popular message broker systems, or even existing GenStage producers.</span></p><p><span>Start building the high-performance and fault-tolerant applications Elixir is famous for today.</span></p><p><span>What You Need: </span></p><p><span>You'll need Elixir 1.9+ and Erlang/OTP 22+ installed on a Mac OS X, Linux, or Windows machine.</span></p> </div> </div> </div><div><h2>Item Details</h2><ul><li><strong>Publisher:</strong> Pragmatic Bookshelf</li><li><strong>Dimensions:</strong> 18.59 x 1.19 x 23.01 cm</li><li><strong>Language:</strong> English</li><li><strong>Print length:</strong> 176 pages</li><li><strong>Item weight:</strong> 354 g</li><li><strong>Book Type:</strong> Paperback</li><li><strong>ISBN-10:</strong> 1680508199</li><li><strong>ISBN-13:</strong> 978-1680508192</li><li><strong>Publication date:</strong> 31 August 2021</li></ul></div>",
    "shortDescription": null,
    "rating": 5,
    "promotions": null,
    "attributes": null,
    "availability": {
      "messages": [
        "In Stock"
      ],
      "inStockDate": null
    },
    "available": true,
    "options": [],
    "quantities": [
      {
        "value": "1",
        "selected": true,
        "url": "/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&quantity=1"
      },
      {
        "value": "2",
        "selected": false,
        "url": "/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&quantity=2"
      },
      {
        "value": "3",
        "selected": false,
        "url": "/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&quantity=3"
      },
      {
        "value": "4",
        "selected": false,
        "url": "/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&quantity=4"
      },
      {
        "value": "5",
        "selected": false,
        "url": "/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&quantity=5"
      },
      {
        "value": "6",
        "selected": false,
        "url": "/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&quantity=6"
      },
      {
        "value": "7",
        "selected": false,
        "url": "/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&quantity=7"
      },
      {
        "value": "8",
        "selected": false,
        "url": "/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&quantity=8"
      },
      {
        "value": "9",
        "selected": false,
        "url": "/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&quantity=9"
      },
      {
        "value": "10",
        "selected": false,
        "url": "/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&quantity=10"
      }
    ],
    "selectedProductUrl": "/eMEGA/1680508199.html?%2FeMEGA%2F1680508199.html=undefined&quantity=undefined",
    "readyToOrder": true,
    "online": true,
    "pageTitle": null,
    "pageDescription": null,
    "pageKeywords": null,
    "pageMetaTags": [
      {},
      {},
      {},
      {}
    ],
    "template": null
  },
  "addToCartUrl": {},
  "resources": {
    "info_selectforstock": "Select Styles for Availability",
    "assistiveSelectedText": "selected"
  },
  "quickViewFullDetailMsg": "View Full Details",
  "closeButtonText": "Close Quickview Dialog",
  "enterDialogMessage": "Start of Quickview dialog window. Select Close to cancel and close the window.",
  "template": "product/quickView.isml",
  "renderedTemplate": "<div class=\"product-quickview product-standard col product-wrapper product-detail\" data-pid=\"1680508199\">\n    <div class=\"row\">\n        <!-- Product Images Carousel -->\n        \n\n<div class=\"primary-images col-12 col-sm-6 cst-gallery-wrap\">\n\n    \n    <div id=\"pdpCarousel-1680508199\" class=\"carousel slide cst-original-carousel\" data-interval=\"0\"\n        data-prev=\"Previous\"\n        data-next=\"Next\">\n        \n        <div class=\"carousel-inner\" role=\"listbox\">\n            \n                <div class='carousel-item active'>\n                    <img src=\"/on/demandware.static/-/Sites-storefront-catalog-m-en/default/dwadb76672/images/large/a39a7643109469a87adc86e5b775ea56.png\" class=\"d-block img-fluid\" alt=\"Concurrent Data Processing in Elixir: Fast, Resilient Applications with Otp, Genstage, Flow, and Broadway image number 0\"\n                        itemprop=\"image\" />\n                </div>\n            \n        </div>\n        \n    </div>\n\n    \n    <div class=\"cst-gallery\" id=\"cst-gallery-1680508199\" data-pid=\"1680508199\" data-title=\"Concurrent Data Processing in Elixir: Fast, Resilient Applications with Otp, Genstage, Flow, and Broadway\"\n        data-first-img=\"/on/demandware.static/-/Sites-storefront-catalog-m-en/default/dwadb76672/images/large/a39a7643109469a87adc86e5b775ea56.png\">\n\n        \n        <div class=\"cst-gallery__thumbs\" id=\"cst-thumbs-1680508199\">\n            \n                \n                    <button class=\"cst-gallery__thumb is-active\"\n                type=\"button\" data-index=\"0\" data-large=\"/on/demandware.static/-/Sites-storefront-catalog-m-en/default/dwadb76672/images/large/a39a7643109469a87adc86e5b775ea56.png\"\n                aria-label=\"Image 1\">\n                <img src=\"/on/demandware.static/-/Sites-storefront-catalog-m-en/default/dwadb76672/images/large/a39a7643109469a87adc86e5b775ea56.png\" alt=\"Concurrent Data Processing in Elixir: Fast, Resilient Applications with Otp, Genstage, Flow, and Broadway\" loading=\"lazy\" />\n                </button>\n                \n            \n            \n        </div>\n\n        \n        <div class=\"cst-gallery__main\">\n            <div class=\"cst-gallery__main-inner\" id=\"cst-main-inner-1680508199\">\n                <img class=\"cst-gallery__main-img\" id=\"cst-main-img-1680508199\"\n                    src=\"/on/demandware.static/-/Sites-storefront-catalog-m-en/default/dwadb76672/images/large/a39a7643109469a87adc86e5b775ea56.png\" alt=\"Concurrent Data Processing in Elixir: Fast, Resilient Applications with Otp, Genstage, Flow, and Broadway\" />\n                <div class=\"cst-gallery__zoom-panel\" id=\"cst-zoom-panel-1680508199\">\n                    <img class=\"cst-gallery__zoom-img\" id=\"cst-zoom-img-1680508199\"\n                        src=\"/on/demandware.static/-/Sites-storefront-catalog-m-en/default/dwadb76672/images/large/a39a7643109469a87adc86e5b775ea56.png\" alt=\"\" />\n                </div>\n                <div class=\"cst-gallery__fullview-overlay\" id=\"cst-fullview-1680508199\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                        stroke-width=\"2.5\">\n                        <circle cx=\"11\" cy=\"11\" r=\"8\" />\n                        <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n                        <line x1=\"11\" y1=\"8\" x2=\"11\" y2=\"14\" />\n                        <line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\" /></svg>\n                    Click to see full view\n                </div>\n            </div>\n        </div>\n    </div>\n\n    \n\n    <script type=\"application/json\" id=\"cst-imgs-1680508199\">\n        [{\"url\":\"/on/demandware.static/-/Sites-storefront-catalog-m-en/default/dwadb76672/images/large/a39a7643109469a87adc86e5b775ea56.png\",\"alt\":\"Concurrent Data Processing in Elixir: Fast, Resilient Applications with Otp, Genstage, Flow, and Broadway\"}]\n        </script>\n\n\n</div>\n\n        <!-- Product Name and Number -->\n        <div class=\"col-sm-6\">\n            <div class=\"row\">\n                <div class=\"col\">\n                    <section>\n                        <h1 class=\"product-name\">Concurrent Data Processing in Elixir: Fast, Resilient Applications with Otp, Genstage, Flow, and Broadway</h1>\n                    </section>\n                </div>\n            </div>\n\n            <div class=\"detail-panel\">\n                <!-- Attributes -->\n                <section class=\"attributes\">\n\n                    <div class=\"row\">\n    <div class=\"col\">\n        \n    </div>\n</div>\n\n\n                        \n\n                        <div class=\"d-sm-none row availability align-self-end \" data-ready-to-order=\"true\" data-available=\"true\">\n                            \n<div class=\"col-4\">\n    <span class=\"availability non-input-label\">\n        Availability:\n    </span>\n</div>\n<div class=\"col-8\">\n    <ul class=\"list-unstyled availability-msg\">\n        <li>\n            \n                \n                    <div>In Stock</div>\n                \n            \n        </li>\n    </ul>\n</div>\n\n\n                        </div>\n\n                    <hr>\n\n                    <!-- Applicable Promotions -->\n                    <div class=\"row\">\n                        <div class=\"col-12 promotions\">\n                            <div class=\"align-self-center\">\n                                \n\n                            </div>\n                        </div>\n                    </div>\n                </section>\n\n                \n                    <!-- Options -->\n                    \n                \n            </div>\n        </div>\n    </div>\n\n    \n\n    \n</div>\n<div class=\"modal-footer row align-items-end\">\n    \n\n    <div class=\"hidden-xs-down col availability align-self-end global-availability\" data-ready-to-order=\"true\" data-available=\"true\">\n        <div class=\"row\">\n            \n<div class=\"col-4\">\n    <span class=\"availability non-input-label\">\n        Availability:\n    </span>\n</div>\n<div class=\"col-8\">\n    <ul class=\"list-unstyled availability-msg\">\n        <li>\n            \n                \n                    <div>In Stock</div>\n                \n            \n        </li>\n    </ul>\n</div>\n\n\n        </div>\n    </div>\n\n    <div class=\"col\">\n        <div class=\"row align-items-end\">\n            <!-- Quantity -->\n            <div class=\"hidden-xs-down col-4\">\n                \n                    \n<label for=\"quantity-1\">Quantity</label>\n<select class=\"quantity-select custom-select form-control\" id=\"quantity-1\">\n    \n        <option value=\"1\"\n                data-url=\"/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&amp;quantity=1\"\n                selected\n        >\n            1\n        </option>\n    \n        <option value=\"2\"\n                data-url=\"/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&amp;quantity=2\"\n                \n        >\n            2\n        </option>\n    \n        <option value=\"3\"\n                data-url=\"/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&amp;quantity=3\"\n                \n        >\n            3\n        </option>\n    \n        <option value=\"4\"\n                data-url=\"/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&amp;quantity=4\"\n                \n        >\n            4\n        </option>\n    \n        <option value=\"5\"\n                data-url=\"/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&amp;quantity=5\"\n                \n        >\n            5\n        </option>\n    \n        <option value=\"6\"\n                data-url=\"/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&amp;quantity=6\"\n                \n        >\n            6\n        </option>\n    \n        <option value=\"7\"\n                data-url=\"/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&amp;quantity=7\"\n                \n        >\n            7\n        </option>\n    \n        <option value=\"8\"\n                data-url=\"/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&amp;quantity=8\"\n                \n        >\n            8\n        </option>\n    \n        <option value=\"9\"\n                data-url=\"/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&amp;quantity=9\"\n                \n        >\n            9\n        </option>\n    \n        <option value=\"10\"\n                data-url=\"/on/demandware.store/Sites-eMEGA-Site/default/Product-Variation?pid=1680508199&amp;quantity=10\"\n                \n        >\n            10\n        </option>\n    \n</select>\n\n                \n            </div>\n\n            <div class=\"col-8 mx-auto\">\n                <!-- Prices -->\n                <div class=\"prices\">\n                    \n                    \n\n    <div class=\"price\">\n        \n        \n<span>\n    \n\n    \n\n    \n    <span class=\"sales\">\n        \n        \n        \n            <span class=\"value\" content=\"70.50\"></span>\n        \n        A$70.50\n\n\n    </span>\n</span>\n\n    </div>\n\n\n                </div>\n\n                <!-- Cart and [Optionally] Apple Pay -->\n                \n                    \n<div class=\"row cart-and-ipay\">\n    <div class=\"col-sm-12\">\n        <input type=\"hidden\" class=\"add-to-cart-url\" value=\"/on/demandware.store/Sites-eMEGA-Site/default/Cart-AddProduct\">\n        <button class=\"add-to-cart-global btn btn-primary\"\n                data-pid=\"1680508199\"\n                >\n            <i class=\"fa fa-shopping-bag\"></i>\n            \n                Add to Cart\n            \n        </button>\n    </div>\n</div>\n\n                \n            </div>\n        </div>\n    </div>\n</div>\n",
  "productUrl": "/eMEGA/1680508199.html"
}