Perl provides tools like perldoc, cpan, and Perl::Tidy to help developers work more efficiently. One-liners allow running Perl commands and programs directly from the command line. ExtUtils::Command provides functions that emulate common shell commands to make Perl scripts more portable. Perl::Tidy can reformat code to make it more readable.
Redis & ZeroMQ: How to scale your applicationrjsmelo
Presented at #PHPLX 11 July 2013
When you need to do some heavy processing how do you scale you application?
You can use Redis and ZeroMQ to leverage the heavy work for you!
With this presentation we will know more about this two technologies and how they can be used to help solve problems with the performance and scalability of your application.
images oriented of c++ it can be easily learn to c++, it can be eagerly understand for students.and it can be easily understand the programming in c++. I have attached the simple programs in my slide it is very useful for students.
Redis & ZeroMQ: How to scale your applicationrjsmelo
Presented at #PHPLX 11 July 2013
When you need to do some heavy processing how do you scale you application?
You can use Redis and ZeroMQ to leverage the heavy work for you!
With this presentation we will know more about this two technologies and how they can be used to help solve problems with the performance and scalability of your application.
images oriented of c++ it can be easily learn to c++, it can be eagerly understand for students.and it can be easily understand the programming in c++. I have attached the simple programs in my slide it is very useful for students.
1. what is the different unbuffered and buffered channel?
2. how to implement a job queue in golang?
3. how to stop the worker in a container?
4. Shutdown with Sigterm Handling
5. Canceling Workers without Context
6. Graceful shutdown with worker
7. How to auto-scaling build agent?
8. How to cancel the current Job?
"Da sempre fare il deploy di applicazioni multi-istanza rappresenta una sfida per lo sviluppatore e per il sistemista. Oggi grazie a strumenti gratuiti e un pò di esperienza in materia è possibile eseguire tale operazione lavorando su pipeline che prevedono testing automatico, validazione del code style e molto altro, in modo da ottenere una Continuous Integration consistente, efficace ed in tempi brevissimi. Scopriamo insieme come con un progetto Laravel e le pipeline di Bitbucket."
All you need to know about the JavaScript event loopSaša Tatar
Learn the difference between JavaScript Engine, JavaScript Runtime, what is JavaScript event loop and why we should care.
At the end the presentation goes through a couple of examples and implementations of throttle and debounce utility functions.
Application Logging in the 21st century - 2014.keyTim Bunce
Slides for my talk at the Austrian Perl Workshop in Salzburg on October 10th.
A video of the talk can be found at https://www.youtube.com/watch?v=4Qj-_eimGuE
Go debugging and troubleshooting tips - from real life lessons at SignalFxSignalFx
Exploring tips and advice on writing production Go systems that are easy to debug and troubleshoot. Jack Lindamood from SignalFx presents patterns that facilitate this process.
Jack addresses tools built into Go you can take advantage of, build process techniques they've learned over time, and open source tools and libraries you can use that help troubleshoot your production code when things go wrong.
Read more here: http://blog.signalfx.com/a-pattern-for-optimizing-go
This is the first set of slightly updated slides from a Perl programming course that I held some years ago for the QA team of a big international company.
I want to share it with everyone looking for intransitive Perl-knowledge.
The updates after 1st of June 2014 are made with the kind support of Chain Solutions (http://chainsolutions.net/)
A table of content for all presentations can be found at i-can.eu.
The source code for the examples and the presentations in ODP format are on https://github.com/kberov/PerlProgrammingCourse
1. what is the different unbuffered and buffered channel?
2. how to implement a job queue in golang?
3. how to stop the worker in a container?
4. Shutdown with Sigterm Handling
5. Canceling Workers without Context
6. Graceful shutdown with worker
7. How to auto-scaling build agent?
8. How to cancel the current Job?
"Da sempre fare il deploy di applicazioni multi-istanza rappresenta una sfida per lo sviluppatore e per il sistemista. Oggi grazie a strumenti gratuiti e un pò di esperienza in materia è possibile eseguire tale operazione lavorando su pipeline che prevedono testing automatico, validazione del code style e molto altro, in modo da ottenere una Continuous Integration consistente, efficace ed in tempi brevissimi. Scopriamo insieme come con un progetto Laravel e le pipeline di Bitbucket."
All you need to know about the JavaScript event loopSaša Tatar
Learn the difference between JavaScript Engine, JavaScript Runtime, what is JavaScript event loop and why we should care.
At the end the presentation goes through a couple of examples and implementations of throttle and debounce utility functions.
Application Logging in the 21st century - 2014.keyTim Bunce
Slides for my talk at the Austrian Perl Workshop in Salzburg on October 10th.
A video of the talk can be found at https://www.youtube.com/watch?v=4Qj-_eimGuE
Go debugging and troubleshooting tips - from real life lessons at SignalFxSignalFx
Exploring tips and advice on writing production Go systems that are easy to debug and troubleshoot. Jack Lindamood from SignalFx presents patterns that facilitate this process.
Jack addresses tools built into Go you can take advantage of, build process techniques they've learned over time, and open source tools and libraries you can use that help troubleshoot your production code when things go wrong.
Read more here: http://blog.signalfx.com/a-pattern-for-optimizing-go
This is the first set of slightly updated slides from a Perl programming course that I held some years ago for the QA team of a big international company.
I want to share it with everyone looking for intransitive Perl-knowledge.
The updates after 1st of June 2014 are made with the kind support of Chain Solutions (http://chainsolutions.net/)
A table of content for all presentations can be found at i-can.eu.
The source code for the examples and the presentations in ODP format are on https://github.com/kberov/PerlProgrammingCourse
Building a Perl5 smoketest environment in Docker using CPAN::Reporter::Smoker. Includes an overview of "smoke testing", shell commands to contstruct a hybrid environment with underlying O/S image and data volumes for /opt, /var/lib/CPAN. This allows maintaining the Perly smoke environemnt without having to rebuild it.
presentation will make you aware about the programming techniques in shell , and will help you to build more strong foundation into the world of shell programming.
Tips and Tricks for Increased Development EfficiencyOlivier Bourgeois
Short presentation targetted at university students showing some tools and software that are usually not talked about in courses which helps development productivity.
Flame Graphs for MySQL DBAs - FOSDEM 2022 MySQL DevroomValeriy Kravchuk
Flame graph is way to visualize profiling data that allows the most frequent code paths to be identified quickly and accurately. They can be generated using Brendan Gregg's open source programs on github.com/brendangregg/FlameGraph, which create interactive SVG files to be checked in browser. The source of profiling data does not really matter - it can be perf profiler, bpftrace, Performance Schema, EXPLAIN output or any other source that allows to convert the data into the expected format of comma-separated "path" plus metric per line.
Different types of Flame Graphs (CPU, Off-CPU, Memory, Differential etc) are presented. Various tools and approaches to collect profile information of different aspects of MySQL server internal working are presented Several real-life use cases where Flame Graphs helped to understand and solve the problem are discussed.
Perl - laziness, impatience, hubris, and one liners
1. Perl - laziness, impatience, hubris, and one liners
by Kirk Kimmel
2. WARNING:
● The slides for this presentation are available
online < kimmel.github.com > licensed under a
Creative Commons Attribution-ShareAlike 3.0
Unported License.
● All images and comics are copyright their
respective owners. xkcd rocks
3. Further Reading (all free)
● Andy Lester's “A Field Guide To The Perl
Command Line”
http://speakerdeck.com/u/petdance/p/a-field-
guide-to-the-perl-command-line
● The “Modern Perl” book
https://github.com/chromatic/modern_perl_book
● Higher Order Perl
http://hop.perl.plover.com/#free
6. perldoc in the browser
● Yes you can use perldoc in the browser for a
more familiar browsing environment
● cpan Pod::Webserver
● Start the server with: podwebserver
● http://localhost:8020/
7.
8. A preface to One-liners
● perldoc perlrun
● perl -e 'one line program' for Perl prior to 5.10
● perl -E 'one line program' to use all the new
features
● perl -E 'say “Hello World”'
● An alternative with less quoting
perl -E 'say q(Hello, World)'
9. command flags
● perl -n
● Tells Perl to add the following loop around your
program
while (<>) {
...
}
● perl -p
while (<>) {
...
print $_;
}
10. ● perl -l
Enables automatic line-ending processing.
If used with -n it will chomp the input record
separator $/
● Example:
find . -name '*.whatever' -exec rm{} ;
find . -name '*.whatever' | perl -lne unlink
12. What is ack?
● Ack is designed as a replacement for 99% of
the uses of grep.
● By default, ack prints the matching lines and
can do colorized output.
● Ack can list files that would be searched,
without actually searching them, to let you take
advantage of ack's file-type filtering capabilities.
● ack has very smart defaults which make
common search tasks faster.
13. Helping with the transition
● Shell::Command is a library that emulates common shell commands and is cross
platform.
● cat
● eqtime
● rm_rf
● rm_f
● touch
● mv
● cp
● chmod
● mkpath
● test_f
● test_d
● dos2unix
14. a quick example
#!/usr/bin/perl
use warnings;
use strict;
use Shell::Command;
my $name = 'newfile.pl';
rm_rf '*.tar.gz';
touch $name;
mkpath 'cars';
# https://gist.github.com/1306010
15. ExtUtils::Command
● Shell::Command is a wrapper around ExtUtils::Command
● The module is used to replace common UNIX commands. In
all cases the functions work from @ARGV rather than taking
arguments
● perl -MExtUtils::Command -e touch files...
● perl -MExtUtils::Command -e rm_f files...
● perl -MExtUtils::Command -e rm_rf directories...
● perl -MExtUtils::Command -e mkpath directories...
● perl -MExtUtils::Command -e eqtime source destination
● perl -MExtUtils::Command -e test_f file
● perl -MExtUtils::Command -e test_d directory
17. Making Perl look pretty
● cpan Perl::Tidy
● perltidy -pbp script.pl > new.pl
● .perltidyrc if you want to make a certain style
the default for all Perl scripts.
● perltidy -b filename.pl
● https://gist.github.com/1305940
18. before: Regex::Common
t/test_balanced.t
# VOODOO LINE-NOISE
my($C,$M,$P,$N,
$S);END{print"1..$Cn$M";print"nfailed: $Nn"if$N}
sub ok{$C++; $M.= ($_[0]||!@_)?"ok $Cn":($N+
+,"not ok $C (".
((caller 1)[1]||(caller 0)[1]).":".((caller 1)[2]||(caller 0)
[2]).")n")}
sub try{$P=qr/^$_[0]$/}sub fail{ok($S=$_[0]!~$P)}sub
pass{ok($S=$_[0]=~$P)}