Book Image

Julia 1.0 Programming Cookbook

By : Bogumił Kamiński, Przemysław Szufel
Book Image

Julia 1.0 Programming Cookbook

By: Bogumił Kamiński, Przemysław Szufel

Overview of this book

Julia, with its dynamic nature and high-performance, provides comparatively minimal time for the development of computational models with easy-to-maintain computational code. This book will be your solution-based guide as it will take you through different programming aspects with Julia. Starting with the new features of Julia 1.0, each recipe addresses a specific problem, providing a solution and explaining how it works. You will work with the powerful Julia tools and data structures along with the most popular Julia packages. You will learn to create vectors, handle variables, and work with functions. You will be introduced to various recipes for numerical computing, distributed computing, and achieving high performance. You will see how to optimize data science programs with parallel computing and memory allocation. We will look into more advanced concepts such as metaprogramming and functional programming. Finally, you will learn how to tackle issues while working with databases and data processing, and will learn about on data science problems, data modeling, data analysis, data manipulation, parallel processing, and cloud computing with Julia. By the end of the book, you will have acquired the skills to work more effectively with your data
Table of Contents (18 chapters)
Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Preface
Index

Parsing Git logs with regular expressions


One of the very common tasks in data science is parsing logs produced by some application. In this recipe, we will write a simple snippet that presents how we can analyze the contributions of committers to the Git repository.

Getting ready

In order to run this recipe, you need to have the DataFrames.jl and DataFramesMeta.jl packages installed. If they are missing run the following commands to add them:

julia> using Pkg

julia> Pkg.add("DataFrames")

julia> Pkg.add("DataFramesMeta")

Also, you need to have Git installed. You can get it from https://git-scm.com/.

When you run the git log --stat command on a repository, it prints output that looks similar to this:

$ git log --stat
commit 14f30ad448a5d38be38c7b0e7274f0f7b0a951ee (HEAD -> master, upstream/master)
Author: Bogumił Kamiński <[email protected]>
Date: Mon Jun 18 21:40:46 2018 +0200

    Allow aggregate to use column number for aggregation (#1426)

 src/groupeddataframe/grouping...