Muutke küpsiste eelistusi

Perl 6 Fundamentals: A Primer with Examples, Projects, and Case Studies 1st ed. [Pehme köide]

  • Formaat: Paperback / softback, 142 pages, kõrgus x laius: 235x155 mm, kaal: 2584 g, 12 Illustrations, color; 3 Illustrations, black and white; XIX, 142 p. 15 illus., 12 illus. in color., 1 Paperback / softback
  • Ilmumisaeg: 27-Jul-2017
  • Kirjastus: APress
  • ISBN-10: 1484228987
  • ISBN-13: 9781484228982
  • Pehme köide
  • Hind: 41,04 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 142 pages, kõrgus x laius: 235x155 mm, kaal: 2584 g, 12 Illustrations, color; 3 Illustrations, black and white; XIX, 142 p. 15 illus., 12 illus. in color., 1 Paperback / softback
  • Ilmumisaeg: 27-Jul-2017
  • Kirjastus: APress
  • ISBN-10: 1484228987
  • ISBN-13: 9781484228982
Gain the skills to begin developing Perl 6 applications from the ground up in this hands-on compact book, which includes a foreword from Larry Wall, creator of Perl. You’ll learn enough to get started building with Perl 6, using Perl 6’s gradual typing, handy object orientation features, powerful parsing capabilities, and human-usable concurrency. After a short introduction, each chapter develops a small example project, explaining the Perl 6 features used. When the example is done, you’ll explore another aspect, such as optimizing further for readability or testing the code. 

Along the way you’ll see Perl 6 basics, such as variables and scoping; subroutines; classes and objects; regexes; and code testing. When you’ve mastered the basics, Perl 6 Fundamentals moves onto more advanced topics to give you a deeper understanding of the language. You’ll learn, amongst other things, how to work with persistent storage, how to generate good error messages, and how to write tricky applications such as a file and directory usage graph and a Unicode search tool.

What You'll Learn
  • Get coding with Perl 6
  • Work on several hands-on examples and projects
  • Integrate Python libraries into your Perl 6 programs
  • Parse INI files using regexes and grammars
  • Build a date time converter 
  • Carry out refactoring and other automated tests
Who This Book Is For

If you already know one or more programming languages, and want to learn about Perl 6, this book is for you.


About the Author xi
About the Technical Reviewer xiii
Acknowledgments xv
Foreword xvii
Chapter 1 What Is Perl 6?
1(4)
1.1 Perl 5, the Older Sister
1(1)
1.2 Library Availability
2(1)
1.3 Why Should I Use Perl 6?
2(1)
1.4 Summary
3(2)
Chapter 2 Running Rakudo Perl 6
5(4)
2.1 Installers
5(1)
2.2 Docker
6(1)
2.3 Building from Source
7(1)
2.4 Testing Your Rakudo Star Installation
8
2.5 Documentation
8(1)
2.6 Summary
8(1)
Chapter 3 Formatting a Sudoku Puzzle
9(14)
3.1 Making the Sudoku Playable
12(4)
3.2 Shortcuts, Constants, and More Shortcuts
16(2)
3.3 I/O and Other Tragedies
18(2)
3.4 Get Creative!
20(1)
3.5 Summary
21(2)
Chapter 4 Datetime Conversion for the Command Line
23(16)
4.1 Libraries to the Rescue
23(3)
4.2 DateTime Formatting
26(2)
4.3 Looking the Other Way
28(2)
4.4 Dealing with Time
30(1)
4.5 Tighten Your Seat Belt
31(2)
4.6 MAIN Magic
33(1)
4.7 Automated Tests
34(4)
4.8 Summary
38(1)
Chapter 5 Testing say()
39(4)
5.1 Summary
42(1)
Chapter 6 Silent-Cron, a Cron Wrapper
43(18)
6.1 Running Commands Asynchronously
43(3)
6.2 Implementing Timeouts
46(2)
6.3 More on Promises
48(3)
6.4 Possible Extensions
51(1)
6.5 Refactoring and Automated Tests
51(8)
6.5.1 Refactoring
51(2)
6.5.2 Mocking and Testing
53(5)
6.5.3 Improving Reliability and Timing
58(1)
6.5.4 Installing a Module
58(1)
6.6 Summary
59(2)
Chapter 7 Stateful Silent-Cron
61(6)
7.1 Persistent Storage
61(1)
7.2 Developing the Storage Back End
62(3)
7.3 Using the Storage Back End
65(1)
7.4 Room for Expansion
66(1)
7.5 Summary
66(1)
Chapter 8 Review of the Perl 6 Basics
67(6)
8.1 Variables and Scoping
67(1)
8.2 Subroutines
67(2)
8.3 Classes and Objects
69(2)
8.4 Concurrency
71(1)
8.5 Outlook
71(2)
Chapter 9 Parsing INI Files Using Regexes and Grammars
73(22)
9.1 Regex Basics
74(2)
9.1.1 Character Classes
75(1)
9.1.2 Quantifiers
75(1)
9.1.3 Alternatives
76(1)
9.2 Parsing the INI Primitives
76(3)
9.3 Putting Things Together
79(1)
9.4 Backtracking
80(2)
9.5 Grammars
82(1)
9.6 Extracting Data from the Match
83(5)
9.7 Generating Good Error Messages
88(5)
9.7.1 Failure Is Normal
88(1)
9.7.2 Detecting Harmful Failure
89(1)
9.7.3 Providing Context
90(2)
9.7.4 Shortcuts for Parsing Matching Pairs
92(1)
9.8 Write Your Own Grammars
93(1)
9.9 Summary
93(2)
Chapter 10 A File and Directory Usage Graph
95(18)
10.1 Reading File Sizes
95(2)
10.2 Generating a Tree Map
97(4)
10.3 Flame Graphs
101(2)
10.4 Functional Refactorings
103(6)
10.5 More Language Support for Functional Programming
109(1)
10.6 More Improvements
110(1)
10.7 Explore!
111(1)
10.8 Summary
112(1)
Chapter 11 A Unicode Search Tool
113(6)
11.1 Code Points, Grapheme Clusters, and Bytes
115(1)
11.2 Numbers
116(1)
11.3 Other Unicode Properties
117(1)
11.4 Collation
117(1)
11.5 Summary
118(1)
Chapter 12 Plotting Using Inline::Python and Matplotlib
119(16)
12.1 Extracting the Stats
119(1)
12.2 Plotting with Python
120(2)
12.3 Bridging the Gap
122(1)
12.4 Using the Bridge to Plot
123(2)
12.5 Stacked Plots
125(4)
12.6 Idiomatic Use of Inline::Python
129(5)
12.6.1 Types of Python APIs
129(1)
12.6.2 Mapping the Function API
130(2)
12.6.3 An Object-Oriented Interface
132(2)
12.7 Summary
134(1)
Chapter 13 What's Next?
135(4)
13.1 Scaling Your Code Base
135(1)
13.2 Packaging Your Application
136(1)
13.2.1 Packaging as a Traditional Perl 6 Module
136(1)
13.2.2 Deploying with Docker
137
13.2.3 Windows Installers
137(1)
13.3 Closing Thoughts
137(2)
Index 139
Moritz Lenz is a Perl 6 core developer. He has contributed significantly to the official test suite, the Rakudo Perl 6 compiler, and is the initiator of the official Perl 6 documentation project. He has also authored several modules, and runs infrastructure for the Perl 6 community. In his day job, he develops Perl 5 and Python code, and maintains a Continuous Delivery system for his employer.