Lectures of the Technosphere. Perl Programming (Fall 2015)



    Today we suggest you familiarize yourself with one of the Technosphere courses that is dedicated to Perl programming. This course is open - any student or graduate student of Moscow State University named after M.V. Lomonosov. Also in the Technosphere there are several more open courses , on September 1, they open an entry. This semester a pleasant addition awaits you: they will be supported by methodological material that will contain enough information so that you can recall the material of any lecture on it and, if necessary, study it more deeply.

    The goal of the “Programming in Perl” course is to learn the capabilities of a language (its strengths and weaknesses), learn how to write software products in this language, and learn how to quickly navigate in someone else's code. Under the cat are all the lectures in video format and a brief description of them.

    Lecture 1. Introduction




    History of Perl. Performance comparison. Examples of projects. Documentation (perldoc). Setting up the environment. Running scripts (perlrun). Deparse module. Data :: Dumper module. DDP module. Debugging perl scripts (perldebug).

    Lecture 2. Syntax and data




    Basic syntax (conditions, loops, control functions, postfix notation). Variables (basic types, references, interpolation). Functions (declaration, arguments, context, prototypes, built-in functions, grep / map / sort, eval). Operators (execution order, special operators, numbers and strings).

    Lecture 3. Modularity and reuse




    Include. Phase blocks. Package. Export. Versions. Pragmatic modules. No. Symblo tables. CPAN

    Lecture 4. Regular expressions and Unicode




    Unicode support (definitions, strings and octets, conversions, UTF8-flag, input / output). Regular expressions (matching, searching and replacing, transliteration, character classes, modifiers, groups, looking around, captures, quantifiers, working with Unicode, debugging).

    Lecture 5. Communication with the outside world




    Work with files. Perl IO backend. Process interaction. Work with sockets. Serialization (data conversion to binary, JSON, CBOR, MSGPACK, Storable, XML). Analysis of input parameters.

    Lecture 6. OOP




    Methods Examples. Inheritance. Method resolution order. Details Moose-like.

    Lecture 7. Working with databases




    SQL DBI Connect SQL injection. Prepare, execute. Fetchrow. Fetchall_arrayref. Fetchall_hashref. Selectrow Selectall. Mistakes Transaction. Last_insert_id. DBIx :: Class. Files. Resultset, result. Search. Find, single. Count Relations. Join Prefetch Update, delete. Many_to_many. Storage DBIx :: Class :: Schema :: Loader. SQL :: Translator. Memcached

    Lecture 8. Inside Web Applications




    HTTP protocol CGI, mod_perl, FastCGI, PSGI. Web frameworks. Security mechanisms in applications.

    Lecture 9. Asynchronous-event programming




    Operation of the operating system (concurrency and pseudo-parallelism, process status and context switching, multitasking degree, system call, blocking I / O operations). Processing N parallel connections (accept + fork, C10k, non-blocking I / O, event loop). AnyEvent (closures, functions with deferred result, AnyEvent interface, Guard). Coro.

    Lecture 10. Speeding up Pearl. Expanding “C”




    Generation of XS-modules. Macroprocessor. Data types inside. Work with the stack. Typemaps. Perl embedding (perlembed).

    Lecture 11-12. Testing. Performance analysis




    Functional Testing. Performance testing. Stress Testing. Usability testing. Testing the user interface. Security testing. Localization testing. Compatibility testing. Profiling. Benchmarks Search for leaks in Pure Perl. Search for leaks in XS.

    Subscribe to our youtube channel Technostream Mail.Ru ! There you will find all the lectures, master classes and broadcasts of our educational projects.

    Also popular now: