home libri books Fumetti ebook dvd top ten sconti 0 Carrello


Torna Indietro

merelo j.j. - raku recipes

Raku Recipes A Problem-Solution Approach




Disponibilità: Normalmente disponibile in 15 giorni
A causa di problematiche nell'approvvigionamento legate alla Brexit sono possibili ritardi nelle consegne.


PREZZO
64,98 €
NICEPRICE
61,73 €
SCONTO
5%



Questo prodotto usufruisce delle SPEDIZIONI GRATIS
selezionando l'opzione Corriere Veloce in fase di ordine.


Pagabile anche con Carta della cultura giovani e del merito, 18App Bonus Cultura e Carta del Docente


Facebook Twitter Aggiungi commento


Spese Gratis

Dettagli

Genere:Libro
Lingua: Inglese
Editore:

Apress

Pubblicazione: 10/2020
Edizione: 1st ed.





Trama

Explore Raku problems and solutions using the latest version of the Raku programming language. In Raku Recipes, the emphasis is on applying Raku code to various important tasks and applications including data science, analytics, microservices, and desktop/console applications. There are also fun one-liner script recipes and instructions on how to create mini-languages of your very own.    

All in all, over 70 recipes cover a broad range of the tasks and problems encountered by a modern Raku developer. You’ll be able to solve problems starting from basics such as input/output and math, to more complex domains such as microservices web sockets, web hooks, and mini-bots. 

What You Will Learn

  • Put Raku to use in a real world environment
  • Work with Raku modules, including design classes, roles, and more
  • Query a GeoIP database and extract information from the web
  • Carry out text processing such as creating a dictionary with fast searches over it and scraping markdown documents
  • Work with MongoDB, WikiData, and other data sources
  • Build data science and analytics applications using Raku
  • Integrate with Python, C, and other languages and libraries
  • Create mini-languages and shell scripting languages 

Who This Book Is For 

While some prior experience in Raku may be useful, it is not required. Prior programming experience using other scripting languages, such as Perl, is recommended, however.





Sommario

  1. How do I start to put (Perl 6|Raku|Camelia) to use in a real world environment.
    1. Get your tools ready.
    2. Put concepts from other languages to use in Perl 6.
    3. Get involved in the community.
    4. Install some external and useful modules.
    5. Detect OS environment and change program behavior according to it.
  2. Input and output
    1. Read files handled as arguments
    2. Read and process files asynchronously
    3. Connect input and output of external utilities and files.
    4. Read and process binary files.
    5. Watch a file for changes
  3. Data science and data analytics
    1. How do I extract unique email addresses/user names from several files.
    2. How do I create a weighted random number generator.
    3. How do I work with a spreadsheet, filtering by row or column, or sorting, or converting row into columns or the other way round.
    4. How do I apply a series of transformations to a group of elements and then extract a single quantity from them.
    5. How do I create a random data generator
    6. How do I process big, structured files.
  4. Math
    1. How can you generate mathematical sequences and extract random elements from it.
    2. Program a divide-and-conquer algorithm.
    3. Work with matrices.
    4. Compute Mandelbrot’s and Julia’s set
    5. Look for pairs of integers with a certain property, such as friendly numbers or contiguous primes, to use infinite precision integers.
    Configuration and execution of programs.
    1. Configure a program using JSON/YAML/.ini files.
    2. Configure a command line command with flags and arguments.
    3. Use shell environment variables in my program.
    4. Advanced/distributed configuration with etcd
    5. Create a Docker container for an application to distribute it easily
  5. Automation of system tasks.
    1. Check log for certain events.
    2. Check logs interactively on the console.
    3. Check git commits for patterns, metadata, or store them.
    4. Clean up your Docker image store.
    5. Process the last persons logged to our system
  6. Perl 6 modules
  7. Design classes, roles and modules in Perl 6.
  8. Document your module.
  9. Test your module.
  10. Release it as an open source module for every one.
  11. Use multiple dispatch to speed up applications.
Dealing with errors
  1. Design an exception hierarchy.
  2. Deliver meaningful error messages to the user.
  3. Catch and deal with errors in your program.
  4. Debug your application in CommaIDE.
  5. Make grammars fail graciously with pretty errors.
  • Web and microservices on the client side
    1. Query a GeoIP database
    2. Download and extract information from a web site.
    3. Use a web API to get information from a site.
    4. Check IP and addresses by querying Internet services.
  • Text processing
    1. Scrape markdown documents.
    2. Generate a set of static web pages
    3. Create a dictionary and do fast searches over it
    4. Compute differences in plain texts
    Microservices
    1. Create a microservice.
    2. Work with web sockets, connecting to a client.
    3. Respond to web hooks.
    4. Create a mini-bot for Telegram or Slack.
    5. Test your microservice.
  • Work with data sources.
    1. Work with relational databases.
    2. Interface with Redis.
    3. Use an ORM for hight-level data description and access.
    4. Work with MongoDB.
    5. Extract information from WikiData
  • Create a desktop/console application
    1. Use full-console UI.
    2. Create an application that uses system windows.
    3. Package your application for release.
    4. Make it work with other desktop applications by using service buses.
    5. Use a common desktop application framework.
    Interface with libraries and code in other languages
    1. Embed Python programs.
    2. Embed Perl programs.
    3. Run external programs and capture output.
    4. Wrap external libraries in C with NativeCall.
    5. Work with image processing libraries.
  • Speed up processing
    1. Use data parallelism with hyper/race.
    2. Work with asynchronous input/output
    3. Work with concurrency using channels and threads.
    4. Create powerful concurrent programs
    5. Monitor concurrency using CommaIDE.
  • Create mini-languages
    1. Use mini-languages that show off their possibilities
    2. Create and process a mini-language for recipes.
    3. Process recipes and generate reports.
    4. Resume common language patterns.
    5. Convert grammar into a full recipe-processing application that generates HTML or other external format.
  • Fun one-liners
  • How do I write a guessing name in a single line of code.
  • How do I compute the nth element in a sequence with a single line.
  • How do I perform system administration task repeatedly using a single line of code.




    Autore

    J.J. Merelo is a professor at the university of Granada, where he has been teaching since 1988. He has been using Perl since 1994, and Perl 6/Raku intensively since December 2016. He trains, teaches, and consults on Perl and Raku projects.  















    Altre Informazioni

    ISBN:

    9781484262573

    Condizione: Nuovo
    Dimensioni: 254 x 178 mm Ø 810 gr
    Formato: Brossura
    Illustration Notes:XXIII, 402 p. 58 illus.
    Pagine Arabe: 402
    Pagine Romane: xxiii


    Dicono di noi