This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/perl | |
# ------------------------------------------------------------------------------ | |
# Необходимо разработать консольное приложение на базе фреймворка AnyEvent, | |
# которое принимает список URL из STDIN, вызывает их все сразу в | |
# неблокирующем режиме, выводя на экран полученные ответы по мере их получения | |
# и статистику по скорости вызова каждого урла после завершения всех вызовов. | |
# ------------------------------------------------------------------------------ | |
use Modern::Perl; | |
use AnyEvent::Fork; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/perl | |
# ------------------------------------------------------------------------------ | |
# Разработать JSON-сервис на Perl: | |
# * загружает из файла настроек порт, параметры коннекта к БД и список | |
# разрешенных методов и начинает слушать заданный порт | |
# * получает запрос JSON-RPC (содержит внешнее имя метода и аргументы) | |
# * конвертирует запрос в SELECT * FROM name(args) и выполняет его в БД Postgresql | |
# * возвращает JSON-RPC структуру с результатом запроса или описанием ошибки | |
# ------------------------------------------------------------------------------ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/perl | |
# ------------------------------------------------------------------------------ | |
# Напишите программу на Perl, которая получает первым аргументом командной | |
# строки имя tab-separated файл и записывает его содержимое в таблицу БД. | |
# Таблица создана таким запросом: | |
# | |
# create table banners ( | |
# banner_id int unsigned not null primary key, | |
# title varchar(200), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
# ------------------------------------------------------------------------------ | |
# Написать скрипт, который принимает в аргументах url с сайтом и делает | |
# рекурсивный обход всех страниц этого сайта (как указанного в аргументе, | |
# так и его поддомены, если они будут встречаться) и выводит их в виде дерева | |
# на stdout. | |
# | |
# Необходимо использовать Mojo::IOLoop, Mojo::UserAgent и Mojo::DOM для решения. | |
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
#include <ctype.h> | |
#include <string.h> | |
#include <limits.h> | |
/* ---------------------------------------------------------------------------- | |
* Напишите программу, которая считывает со стандартного ввода строку и выводит | |
* на стандартный вывод значение арифметического выражения, содержащегося в | |
* этой строке. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
# ----------------------------------------------------------------------------- | |
use Modern::Perl; | |
use AnyEvent; | |
use AnyEvent::HTTP; | |
use Const::Fast; | |
# ----------------------------------------------------------------------------- | |
# Задача: распараллелить N действий так, чтобы в T секунд совершалось не больше |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define _GNU_SOURCE | |
#include <stdlib.h> | |
#include <stdio.h> | |
#include <ctype.h> | |
#include <string.h> | |
/* ----------------------------------------------------------------------------- | |
* Написать функцию, которая меняет первые буквы слов на заглавные и сохраняет | |
* их в отдельную строку. | |
* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/perl | |
# Напишите на Perl примитивный базовый класс MyApp::Accessor для | |
# использования в качестве базового класса для генерации ацессоров | |
# (методов которые сохраняют и отдают свойство объекта). Ацессоры должны | |
# работать настолько быстро, насколько это возможно в принципе. Какими | |
# технологиями/модулями, по вашему, лучше всего пользоваться в реальной | |
# разработке для создания ацессоров? | |
# P.S. Accessor – это примитивная функция, которая служит для доступа к | |
# свойству объекта извне. Т.е. $obj->property() – возвращает значение, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package AA; | |
sub func { print "AA\n" } | |
package BB; | |
use parent 'AA'; | |
sub func { print "BB\n"; shift->SUPER::func(@_); } | |
package CC; | |
use parent 'AA' | |
sub func { print "CC\n"; shift->SUPER::func(@_); } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Чем отличаются между собой переменные, объявленные с помощью my, our,local, state? | |
# Что и почему напечатается, если в качестве XXX подставлять вышеуказанные 4 типа объявления переменных? | |
# | |
func() for 1..10; | |
sub func { | |
my $var; | |
$var++; | |
say "A=$var"; | |
} |
OlderNewer