Git Product home page Git Product logo

hands-on-design-patterns-and-best-practices-with-julia's Introduction

Hands-On Design Patterns and Best Practices with Julia

Hands-On Design Patterns and Best Practices with Julia

This is the code repository for Hands-On Design Patterns and Best Practices with Julia , published by Packt.

Proven solutions to common problems in software design for Julia 1.x

What is this book about?

Design patterns are fundamental techniques for developing reusable and maintainable code. They provide a set of proven solutions that allow developers to solve problems in software development quickly. This book will demonstrate how to leverage design patterns with real-world applications.

This book covers the following exciting features:

  • Master the Julia language features that are key to developing large-scale software applications
  • Discover design patterns to improve overall application architecture and design
  • Develop reusable programs that are modular, extendable, performant, and easy to maintain
  • Weigh up the pros and cons of using different design patterns for use cases
  • Explore methods for transitioning from object-oriented programming to using equivalent or more advanced Julia techniques

If you feel this book is for you, get your copy today!

https://www.packtpub.com/

Instructions and Navigations

All of the code is organized into folders. For example, Chapter02.

The code will look like the following:

abstract type Formatter end
struct IntegerFormatter <: Formatter end
struct FloatFormatter <: Formatter end

Following is what you need for this book: This book is for beginner to intermediate-level Julia programmers who want to enhance their skills in designing and developing large-scale applications.

With the following software and hardware list you can run all code files present in the book (Chapter 1-12).

Software and Hardware List

Chapter Software required OS required
1-12 Julia Version 1.3.0 or above Windows, Mac OS X, and Linux (Any)

Code in Action

Click on the following link to see the Code in Action:

YouTube

Errata

  • Page 39 and 49: Before running the using Calculator command, he/she can first go to the Pkg mode (by pressing the ] key) and then run the dev Calculator command. For example:
       (@v1.4) pkg> dev Calculator

       Path `/Users/tomkwong/.julia/dev/Calculator` exists and looks like the correct package. Using existing path.

         Resolving package versions...

          Updating `~/.julia/environments/v1.4/Project.toml`

         [17fd2872] + Calculator v0.1.0 [`~/.julia/dev/Calculator`]

          Updating `~/.julia/environments/v1.4/Manifest.toml`

         [17fd2872] + Calculator v0.1.0 [`~/.julia/dev/Calculator`]
  • Page 54: The subtypetree function does not work when there is cycle in the type hierarchy. It is generally not a problem with the exception that the Any type is a subtype of itself. So, running subtypetree(Any) would get into an infinite loop. Please see Chapter02/subtypetree2.jl for a more robust version.

  • Page 219: The vendor_id of the TripPayment has the wrong type. It should be Int rather than String.

  • Page 249: The second image on page number 249 is incorrect. The correct image is as follows:

  • Page 318, 352, 494: These pages contain typos where "accessor" was misspelled as "assessor".

Related products

Get to Know the Author

Tom Kwong , CFA, is an experienced software engineer with over 25 years of industry programming experience. He has spent the majority of his career in the financial services industry. His expertise includes software architecture, design, and the development of trading/risk systems. Since 2017, he has uncovered the Julia language and has worked on several open source packages, including SASLib.jl. He currently works at Western Asset Management Company, a prestige asset management company that specializes in fixed income investment services. He holds an MS degree in computer science from the University of California, Santa Barbara (from 1993), and he holds the Chartered Financial Analyst® designation since 2009.

Other books by the authors

Suggestions and Feedback

Click here if you have any feedback or suggestions.

hands-on-design-patterns-and-best-practices-with-julia's People

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.