NEW

Summary

Directory Structure

Directory structure:
└── packtpublishing-scala-programming-projects/
    ├── README.md
    ├── LICENSE
    ├── Chapter01/
    │   ├── build.sbt
    │   ├── project/
    │   │   ├── build.properties
    │   │   └── plugins.sbt
    │   └── src/
    │       ├── main/
    │       │   └── scala/
    │       │       ├── Main.scala
    │       │       └── Person.scala
    │       └── test/
    │           └── scala/
    │               └── MainSpec.scala
    ├── Chapter02/
    │   └── retirement-calculator/
    │       ├── build.sbt
    │       ├── project/
    │       │   ├── assembly.sbt
    │       │   └── build.properties
    │       └── src/
    │           ├── main/
    │           │   ├── resources/
    │           │   │   ├── cpi.tsv
    │           │   │   └── sp500.tsv
    │           │   └── scala/
    │           │       └── retcalc/
    │           │           ├── EquityData.scala
    │           │           ├── InflationData.scala
    │           │           ├── RetCalc.scala
    │           │           ├── Returns.scala
    │           │           └── SimulatePlanApp.scala
    │           └── test/
    │               ├── resources/
    │               │   ├── chapter3_validated.txt
    │               │   ├── cpi_2017.tsv
    │               │   └── sp500_2017.tsv
    │               └── scala/
    │                   └── retcalc/
    │                       ├── EquityDataSpec.scala
    │                       ├── InflationDataSpec.scala
    │                       ├── RetCalcIT.scala
    │                       ├── RetCalcSpec.scala
    │                       ├── ReturnsSpec.scala
    │                       └── SimulatePlanAppIT.scala
    ├── Chapter03/
    │   ├── retirement-calculator/
    │   │   ├── build.sbt
    │   │   ├── project/
    │   │   │   ├── assembly.sbt
    │   │   │   └── build.properties
    │   │   └── src/
    │   │       ├── main/
    │   │       │   ├── resources/
    │   │       │   │   ├── cpi.tsv
    │   │       │   │   └── sp500.tsv
    │   │       │   └── scala/
    │   │       │       └── retcalc/
    │   │       │           ├── EquityData.scala
    │   │       │           ├── InflationData.scala
    │   │       │           ├── RetCalc.scala
    │   │       │           ├── RetCalcError.scala
    │   │       │           ├── Returns.scala
    │   │       │           └── SimulatePlanApp.scala
    │   │       └── test/
    │   │           ├── resources/
    │   │           │   ├── cpi_2017.tsv
    │   │           │   └── sp500_2017.tsv
    │   │           └── scala/
    │   │               └── retcalc/
    │   │                   ├── EquityDataSpec.scala
    │   │                   ├── InflationDataSpec.scala
    │   │                   ├── RetCalcIT.scala
    │   │                   ├── RetCalcSpec.scala
    │   │                   ├── ReturnsSpec.scala
    │   │                   └── SimulatePlanAppIT.scala
    │   └── worksheets/
    │       ├── build.sbt
    │       ├── project/
    │       │   └── build.properties
    │       └── src/
    │           └── test/
    │               └── scala/
    │                   ├── either.sc
    │                   ├── exceptions.sc
    │                   ├── nonemptylist.sc
    │                   ├── option.sc
    │                   ├── referential_transparency.sc
    │                   └── validated.sc
    ├── Chapter04/
    │   ├── build.sbt
    │   ├── project/
    │   │   └── build.properties
    │   └── src/
    │       └── main/
    │           └── scala/
    │               ├── currying.sc
    │               ├── implicits_appContext.sc
    │               ├── implicits_conversion.sc
    │               ├── implicits_future.sc
    │               ├── implicits_parameter.sc
    │               ├── implicits_resolution.sc
    │               ├── implicits_sdk.sc
    │               ├── lazyness.sc
    │               └── variance.sc
    ├── Chapter05/
    │   ├── build.sbt
    │   ├── project/
    │   │   └── build.properties
    │   └── src/
    │       ├── main/
    │       │   └── scala/
    │       │       ├── typeclasses.sc
    │       │       ├── typeclasses_applicative.sc
    │       │       ├── typeclasses_apply.sc
    │       │       ├── typeclasses_functor.sc
    │       │       ├── typeclasses_monad.sc
    │       │       ├── typeclasses_monoid.sc
    │       │       ├── typeclasses_monoid_monad.sc
    │       │       ├── typeclasses_ordering.sc
    │       │       └── typeclasses_semigroup.sc
    │       └── test/
    │           └── scala/
    │               └── EqualitySpec.scala
    ├── Chapter06-09/
    │   └── online-shoppping-cart/
    │       ├── README.md
    │       ├── build.sbt
    │       ├── Future.sc
    │       ├── Procfile
    │       ├── client/
    │       │   └── src/
    │       │       └── main/
    │       │           └── scala/
    │       │               └── io/
    │       │                   └── fscala/
    │       │                       └── shopping/
    │       │                           └── client/
    │       │                               ├── CartDiv.scala
    │       │                               ├── NotifyJS.scala
    │       │                               ├── ProductDiv.scala
    │       │                               └── UIManager.scala
    │       ├── project/
    │       │   ├── build.properties
    │       │   └── plugins.sbt
    │       ├── server/
    │       │   ├── JSON.sc
    │       │   ├── app/
    │       │   │   ├── actors/
    │       │   │   │   ├── BrowserActor.scala
    │       │   │   │   ├── BrowserManagerActor.scala
    │       │   │   │   └── UserActor.scala
    │       │   │   ├── controllers/
    │       │   │   │   ├── Application.scala
    │       │   │   │   ├── WebServices.scala
    │       │   │   │   └── WebSockets.scala
    │       │   │   ├── dao/
    │       │   │   │   └── ProductDao.scala
    │       │   │   └── views/
    │       │   │       └── index.scala.html
    │       │   ├── conf/
    │       │   │   ├── application.conf
    │       │   │   ├── heroku.conf
    │       │   │   ├── logback.xml
    │       │   │   ├── routes
    │       │   │   └── evolutions/
    │       │   │       └── default/
    │       │   │           └── 1.sql
    │       │   └── test/
    │       │       ├── APISpec.scala
    │       │       ├── ApplicationSpec.scala
    │       │       ├── CartDaoSpec.scala
    │       │       ├── IntegrationSpec.scala
    │       │       └── ProductDaoSpec.scala
    │       └── shared/
    │           └── src/
    │               └── main/
    │                   └── scala/
    │                       └── io/
    │                           └── fscala/
    │                               └── shopping/
    │                                   └── shared/
    │                                       ├── Models.scala
    │                                       └── SharedMessages.scala
    └── Chapter10-11/
        └── bitcoin-analyser/
            ├── build.sbt
            ├── INSTRUCTIONS.md
            ├── data/
            │   └── transactions/
            │       ├── date=2018-09-09/
            │       │   ├── part-00000-30a257ae-4520-470a-9420-ffa01e20168d.c000.snappy.parquet
            │       │   ├── part-00000-7f73adb4-dfcb-40db-aa98-c204ad92f9d2.c000.snappy.parquet
            │       │   ├── part-00000-a943c9fe-fca2-4800-8cf5-a70e01eee675.c000.snappy.parquet
            │       │   ├── part-00000-bf9386d0-bdab-496e-a0cc-1d3a76efb128.c000.snappy.parquet
            │       │   ├── part-00000-d29d29dc-5109-46b9-a93e-d82a8e81b023.c000.snappy.parquet
            │       │   ├── .part-00000-30a257ae-4520-470a-9420-ffa01e20168d.c000.snappy.parquet.crc
            │       │   ├── .part-00000-7f73adb4-dfcb-40db-aa98-c204ad92f9d2.c000.snappy.parquet.crc
            │       │   ├── .part-00000-a943c9fe-fca2-4800-8cf5-a70e01eee675.c000.snappy.parquet.crc
            │       │   ├── .part-00000-b37c5aa1-30bd-4802-8457-75cad399e126.c000.snappy.parquet.crc
            │       │   ├── .part-00000-bf9386d0-bdab-496e-a0cc-1d3a76efb128.c000.snappy.parquet.crc
            │       │   └── .part-00000-d29d29dc-5109-46b9-a93e-d82a8e81b023.c000.snappy.parquet.crc
            │       └── date=2018-09-10/
            │           ├── part-00000-4c1b87e4-d129-4a65-97e0-d6d9b6a79442.c000.snappy.parquet
            │           ├── part-00000-626a9f68-9c4a-43f6-93bf-23022ab2255f.c000.snappy.parquet
            │           ├── .part-00000-4c1b87e4-d129-4a65-97e0-d6d9b6a79442.c000.snappy.parquet.crc
            │           ├── .part-00000-626a9f68-9c4a-43f6-93bf-23022ab2255f.c000.snappy.parquet.crc
            │           └── .part-00000-67f22d39-b93c-42c0-9197-9890604b4ea4.c000.snappy.parquet.crc
            ├── project/
            │   ├── assembly.sbt
            │   └── build.properties
            └── src/
                ├── main/
                │   ├── resources/
                │   │   └── log4j.properties
                │   └── scala/
                │       └── coinyser/
                │           ├── AppConfig.scala
                │           ├── BatchProducer.scala
                │           ├── BatchProducerApp.scala
                │           ├── HttpTransaction.scala
                │           ├── KafkaConfig.scala
                │           ├── notebook-batch.sc
                │           ├── notebook-streaming.sc
                │           ├── StreamingConsumer.scala
                │           ├── StreamingProducer.scala
                │           ├── Transaction.scala
                │           └── WebsocketTransaction.scala
                └── test/
                    └── scala/
                        └── coinyser/
                            ├── BatchProducerAppIntelliJ.scala
                            ├── BatchProducerIT.scala
                            ├── BatchProducerSpec.scala
                            ├── FakePusher.scala
                            ├── pusher-subscribe.sc
                            ├── StreamingConsumerApp.scala
                            ├── StreamingConsumerSpec.scala
                            ├── StreamingProducerApp.scala
                            └── StreamingProducerSpec.scala

Files Content