Pod is an evolution of Perl 5's POD markup. Compared to POD, Perl 6's Pod is much more
uniform, somewhat more compact, and considerably more expressive.
Established in 2005 specification has undergone several revisions and is currently stable.The specification is written in Perl 6 Pod and is a good means of testing implementations.
There are several implementations in Perl 5 and Perl 6.
I'll talk about the differences from Perl 5 POD, key features and how I use Perl 6 Pod.
Видео доклада: https://www.youtube.com/watch?v=slnQBoxsHPU
Rust - системный язык программирования, который быстро исполняется, предотвращает почти все падения, и устраняет гонки по данным.
Как он этого достигает? Про это доклад.
Александр Крашенинников "Hadoop High Availability: опыт Badoo"IT Event
Инфраструктура Hadoop – популярное решение для таких задач, как распределённое хранение данных и вычисления Map/Reduce на кластере. Хорошая масштабируемость и развитая экосистема подкупают и обеспечивают Hadoop’у прочное место в инфраструктуре различных информационных систем. Но чем больше ответственности возлагается на этот компонент, тем важнее обеспечивать его отказоустойчивость и high availability.
Видео доклада: https://www.youtube.com/watch?v=slnQBoxsHPU
Rust - системный язык программирования, который быстро исполняется, предотвращает почти все падения, и устраняет гонки по данным.
Как он этого достигает? Про это доклад.
Александр Крашенинников "Hadoop High Availability: опыт Badoo"IT Event
Инфраструктура Hadoop – популярное решение для таких задач, как распределённое хранение данных и вычисления Map/Reduce на кластере. Хорошая масштабируемость и развитая экосистема подкупают и обеспечивают Hadoop’у прочное место в инфраструктуре различных информационных систем. Но чем больше ответственности возлагается на этот компонент, тем важнее обеспечивать его отказоустойчивость и high availability.
СУБД 2013 Лекция №8 "Конфигурирование базы данных"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №8 "Конфигурирование базы данных". Лектор - Павел Щербинин.
Сначала объясняются основы конфигурирования и общие принципы настройки. Далее рассказывается об области видимости, о настройке использования памяти, обсуждается размер блока ключей key_cache_block_size. Рассматривается устройство и использование кэша InnoDB, а также кэшей потоков и таблиц. Затем говорится об особенностях ввода/вывода в InnoDB. Далее рассказывается о табличном пространстве, оптимизации файловой сортировки, переменных состояния. Финальная часть лекции посвящена репликации: настройка, синхронизация, топология, планирование пропускной способности, администрирование и обслуживание, проблемы и их решения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Очередной скучный доклад про логгированиеPython Meetup
Стас Рудаков, компания СООО "Гейм Стрим"/Wargaming.net
Значение логов очень часто недооценивается, а зря. Доклад с оживленным диспутом со всеми участниками митапа, чтобы разобраться: как, куда и зачем писать логи. Помимо этого затронут вопрос, как из логов выжать больше информации.
Документация на тему архитектуры языка PHP скудна и разрозненна, несмотря на то что тема интересна многим. В моем докладе я постараюсь заполнить этот пробел и рассказать о модулях PHP: как они работают, зачем и как их пишут. В процессе мы рассмотрим опыт Badoo в этой сфере на примерах двух модулей. И еще напишем очень небольшой собственный модуль.
— Что такое модули PHP, как они работают
— Как начать писать свой модуль PHP
— Скелет модуля — Функции, классы, методы
— Разбор параметров функции
— Сборка модуля
— Подгрузка модуля
— Простой пример модуля из Badoo
— Сложный пример модуля из Badoo
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекPython Meetup
"SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек", Алексей Черкес
Кратко рассказано о том, что такое биндинг и Pуthon c API. Краткий обзор средств биндинга для Python. SWIG: что такое, зачем нужен, особенности, схема работы утилит, порядок запуска и сборки, принципы работы, как происходит сопоставление объектных моделей С++ и целевого языка. Примеры на Python и C#. Опыт применения, плюсы/минусы.
Введение в реверс-инжиниринг вредоносного ПО - Сергей ХарюкHackIT Ukraine
Презентация с форума http://hackit-ukraine.com/
Сергей Харюк
Вирусный аналитик, Zillya
Введение в реверс-инжиниринг вредоносного ПО
О спикере: Администратор форума посвященого тематике ревер-инжиниринга, изучает тему реверс-инжиниринга более 5 лет. Работает вирусным аналитиком в антивирусной лаборатори "Zillya".
Функциональное программирование в примерах.
Язык Haskell: характеристики, история, сильные и слабые стороны, истории успеха и неудач.
Спецификация Haskell’98: синтаксис, компиляторы, интепретаторы, документация, IDE.
Особенности языка: тип Maybe, списки, классы типов, основы монад.
Библиотеки и фреймворки: Parsec, GenXml, HaXml
DSL
На десерт что-то из Existential Types, State Monad, ST Monad, Monad Transformers.
СУБД 2013 Лекция №8 "Конфигурирование базы данных"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №8 "Конфигурирование базы данных". Лектор - Павел Щербинин.
Сначала объясняются основы конфигурирования и общие принципы настройки. Далее рассказывается об области видимости, о настройке использования памяти, обсуждается размер блока ключей key_cache_block_size. Рассматривается устройство и использование кэша InnoDB, а также кэшей потоков и таблиц. Затем говорится об особенностях ввода/вывода в InnoDB. Далее рассказывается о табличном пространстве, оптимизации файловой сортировки, переменных состояния. Финальная часть лекции посвящена репликации: настройка, синхронизация, топология, планирование пропускной способности, администрирование и обслуживание, проблемы и их решения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Очередной скучный доклад про логгированиеPython Meetup
Стас Рудаков, компания СООО "Гейм Стрим"/Wargaming.net
Значение логов очень часто недооценивается, а зря. Доклад с оживленным диспутом со всеми участниками митапа, чтобы разобраться: как, куда и зачем писать логи. Помимо этого затронут вопрос, как из логов выжать больше информации.
Документация на тему архитектуры языка PHP скудна и разрозненна, несмотря на то что тема интересна многим. В моем докладе я постараюсь заполнить этот пробел и рассказать о модулях PHP: как они работают, зачем и как их пишут. В процессе мы рассмотрим опыт Badoo в этой сфере на примерах двух модулей. И еще напишем очень небольшой собственный модуль.
— Что такое модули PHP, как они работают
— Как начать писать свой модуль PHP
— Скелет модуля — Функции, классы, методы
— Разбор параметров функции
— Сборка модуля
— Подгрузка модуля
— Простой пример модуля из Badoo
— Сложный пример модуля из Badoo
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекPython Meetup
"SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек", Алексей Черкес
Кратко рассказано о том, что такое биндинг и Pуthon c API. Краткий обзор средств биндинга для Python. SWIG: что такое, зачем нужен, особенности, схема работы утилит, порядок запуска и сборки, принципы работы, как происходит сопоставление объектных моделей С++ и целевого языка. Примеры на Python и C#. Опыт применения, плюсы/минусы.
Введение в реверс-инжиниринг вредоносного ПО - Сергей ХарюкHackIT Ukraine
Презентация с форума http://hackit-ukraine.com/
Сергей Харюк
Вирусный аналитик, Zillya
Введение в реверс-инжиниринг вредоносного ПО
О спикере: Администратор форума посвященого тематике ревер-инжиниринга, изучает тему реверс-инжиниринга более 5 лет. Работает вирусным аналитиком в антивирусной лаборатори "Zillya".
Функциональное программирование в примерах.
Язык Haskell: характеристики, история, сильные и слабые стороны, истории успеха и неудач.
Спецификация Haskell’98: синтаксис, компиляторы, интепретаторы, документация, IDE.
Особенности языка: тип Maybe, списки, классы типов, основы монад.
Библиотеки и фреймворки: Parsec, GenXml, HaXml
DSL
На десерт что-то из Existential Types, State Monad, ST Monad, Monad Transformers.
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Дмитрий Щадей "Зачем и как мы используем jsLint"Yandex
Все знают, что «JSLint – статический анализатор кода», но никто не спешит его использовать в собственных проектах. В докладе рассказывается о том, каким образом и какой ценой он упростит вам жизнь. И разумеется, поставлен вопрос «почему» перед каждой jslint-овой ошибкой, а также рассматривается, как можно интегрировать JSLint в ваш проект.
Мастер-класс по BigData Tools для HappyDev'15Alexey Zinoviev
Данила, BigData Tool Master,
собрал Hadoop - кластер,
Запустил Dataset
Он скрипты на Scala
Run'ил на Spark постоянно
И писал в HDFSssss
Если во время доклада "Когда все данные станут большими..." мы будем говорить о вопросах и ответах, то на этом мастер-классе мы уже потопчемся в вотчине BigData-разработчиков.
Начнем с классики на Hadoop, познаем боль MapReduce job, потыкаем Pig + Hive, затем плавно свальсируем в сторону Spark и попишем код в легком и удобном pipeline - стиле.
Для кого хорошо подходит данный мастер-класс: вы умеете читать и понимать код на Java на уровне хотя бы Junior, умеете писать SQL-запросы, в универе вы ходили хоть на одну пару по матану или терверу, вас либо недавно поставили, либо вскоре поставят на проект, где надо уметь ручками работать с вышеперечисленным зверинцем. Ну или вам просто интересно посмотреть на мощь даннодробилок, написанных на Java, и у вас в анамнезе неудачный опыт с NoSQL/SQL, как хранилищем, которое было ответственно за все, включая аналитику.
- Краткая вводная про Docker (namespaces, cgroups и как Docker все это использует)
- Как заходить в Docker из вашего софта?
- Примеры: pam_docker и php_fpm_docker
Что такое REPL, как он устроен и какие крутые возможности в нём заложены. Поговорим о выполнении кода в REPL и о том как работает автокомплит в динамических языках. Ответим на вопрос что такое vm.runInContext, перехватим парочку промисов, сделаем вывод результатов действительно приятным и даже узнаем как подгрузить нужные модули и не подать виду. В заключение рассмотрим потрясающие возможности, которые даёт нам инфраструктура npm и как это всё можно использовать в работе.
Доклад ориентирован на тех, кому небезынтересен мир Node.js, но будет доступен также и более широкому кругу JS-разработчиков. Надеюсь, для кого-нибудь этот доклад станет очередной ступенькой в изучении любимого языка.
Андрей Субботин "Автоматизация локализации iOS-приложений"Yandex
Андрей Субботин рассказал про ужасы локализации и как с ними бороться на пошаговом примере: от «Эврика, нам нужно перевести проект на язык Х!» до «Как не прострелить себе ногу, когда у вас есть Xcode, разработчики, переводчики и дедлайн».
Были рассмотрены все базовые инструментаы локализации (genstrings, ibtool) и способы их использования.
2. Кто я
http://search.cpan.org/∼zag/
lang/rakudo ( FreeBSD )
книга "Все о Perl 6"
Использование Perl 6 Pod Александр Загацкий
3. Содержание
Основные моменты:
Введение в Pod
Структура Pod
Фитчи Pod
Реализации
Применение Pod
Использование Perl 6 Pod Александр Загацкий
4. Synopsis 26
18 октября 1994 В списке анонса perl 5.000 присутвует
поддержка POD
9 апреля 2005 Synopsis 26.Автор - Damian Conway.
25 апреля 2007 Вторая редакция
16 августа 2009 S26 - The Next Generation
31 июля 2010 Последняя редакция. :!DRAFT
Использование Perl 6 Pod Александр Загацкий
5. POD -> Pod
POD - Perl Old Documentation
Pod в S26:
Pod - является эволюцией POD. В сравнении с POD, Perl
6 Pod более однороден, компактен и выразительнее. Pod
также характеризуется описательной нотацией разметки,
вместо презентационной.
Таким образом Pod избавился от слова "старый".
Использование Perl 6 Pod Александр Загацкий
6. Отличия POD от Pod: Границы блоков документции.
POD
§ ¤
1 =head1
2 ...
3
4 =cut
¦ ¥
Pod
Разграниченные блоки / Delimited blocks
Блоки-параграфы / Paragraph blocks
Сокращенные блоки / Abbreviated blocks
Блоки-деклараторы / Declarator blocks (*)
Использование Perl 6 Pod Александр Загацкий
7. Параметры блоков
Конфигурационные параметры представлены парной нотацией
в стиле perl6 (S02)
=for Image :title(’3 стиля для =table’)
= :align(’center’) :!border
src/3block_datapng.png
Использование Perl 6 Pod Александр Загацкий
8. Равнозначность стилевых блоков
Типы блоков одинаково представлены во внутренней структуре
документа.
Использование Perl 6 Pod Александр Загацкий
9. Блоки-деклараторы / Declarator blocks
Блоки без имен.Ассоциируются с ближайшим декларатором.
§ ¤
1 sub fu ( #= This text stored in &fu.WHY
2 Any $bar, #= This text stored in $bar.WHY
3 Mode :$baz #= This text stored in $baz.WHY
4 ) { ... }
5
6 #= This is a special chainsaw
7 my SwissArmy $chainsaw #= (It has a rocket launcher)
8
9 say $chainsaw.WHY; # prints: This is a special chainsaw
10 # (It has a rocket launcher)
¦ ¥
Использование Perl 6 Pod Александр Загацкий
10. access to pod/doc text by code
Использование Perl 6 Pod Александр Загацкий
11. Особенности Pod
=item, =itemN - уровни в списках
=table определение таблиц
контекстуальные псевдонимы
=SYNOPSIS, =NAME ... - семантические блоки
=config, :like - предварительное конфигурирование и
параметр :like
DOC use - расширяемость
Использование Perl 6 Pod Александр Загацкий
12. Уровни в списках
§ ¤
1 =item1 Animal
2 =item2 Vertebrate
3 =item2 Invertebrate
4
5 =item1 Phase
6 =item2 Solid
7 =item2 Chocolate
¦ ¥
Результат
* Animal
- Vertebrate
- Invertebrate
* Phase
- Solid
- Chocolate
Использование Perl 6 Pod Александр Загацкий
15. Контекстуальные псевдонимы
Включение кода без копирования
§ ¤
1 # This is actual code...
2 sub hash_function ($key)
3 =alias HASHCODE
4 {
5 my $hash = 0;
6 for $key.split("") -> $char {
7 $hash = $hash*33 + $char.ord;
8 }
9 return $hash;
10 }
11 =begin pod
12 An ancient (but fast) hashing algorithm is used:
13 =begin code :allow<A>
14 A<HASHCODE>
15 =end code
16 =end pod
¦ ¥
Использование Perl 6 Pod Александр Загацкий
16. Семантические блоки
=begin SYNOPSIS
use Magic::Parser
my Magic::Parser $parser .= new();
my $tree = $parser.parse($fh);
=end SYNOPSIS
Использование Perl 6 Pod Александр Загацкий
17. =config и :like
Предварительное конфигурирование
=config head1 :formatted<B U> :numbered
=config head2 :like<head1> :formatted<I>
=config head3 :formatted<U>
=config head4 :like<head3> :formatted<I>
=config C<> :allow<E I>
:like - блок имеет такие же параметры форматирования как
имя блока указанного в качестве значения.
=for para :like<head4>
some text
Использование Perl 6 Pod Александр Загацкий
18. Расширяемость
Режим документации
perl –doc DBI::DBD::Metadata
Подключение расширений
DOC use Pod6::Image;
=Image http://example.com/perl_logo_32x104.png
Переопределение Pod обработчика:
DOC INIT {
use My::Pod::To::Text;
pod_to_text( $=POD );
exit(0);
}
Использование Perl 6 Pod Александр Загацкий
19. 1.Реализация на perl5 (Domian Conway)
http://search.cpan.org/dist/Perl6-Perldoc/
Использование Perl 6 Pod Александр Загацкий
20. 2.Реализация на perl5: Perl6::Pod
http://search.cpan.org/dist/Perl6-Pod/
Использование Perl 6 Pod Александр Загацкий
21. 3.Реaлизация на Rakudo (Martin Berends)
http://github.com/eric256/perl6-examples/tree/master/bin
Использование Perl 6 Pod Александр Загацкий
22. 4.Реaлизация на Rakudo (SUPERNOVA)
http://github.com/lue/SUPERNOVA
Использование Perl 6 Pod Александр Загацкий
23. 5.Google Summer of Code
"Pod parser for Rakudo"
Использование Perl 6 Pod Александр Загацкий
24. Презентации: Perl6::Pod::Slide
Perl6::Pod::Slide: Latex + beamer
§ ¤
1 =begin Slide :title(’5.Google Summer of Code’)
2 "Pod parser for Rakudo"
3 =Image i/p6-gscode.jpg
4 =end Slide
¦ ¥
+ возможность ввода формул
1−α 2 kd
Γ0 S0 (1 − α)2 = kd α2 ⇒ =
α Γ0 S0
Использование Perl 6 Pod Александр Загацкий
25. Perl6::Pod::Slide: Списки
Перечисляемые списки:
=item руководства для конечных пользователей
=item Wiki, CMS ...
=item Элементы сруктуры документа
Результат:
Использование Perl 6 Pod Александр Загацкий
26. Perl6::Pod::Slide: Списки
Перечисляемые списки:
=item руководства для конечных пользователей
=item Wiki, CMS ...
=item Элементы сруктуры документа
Результат:
руководства для конечных пользователей
Wiki, CMS ...
Элементы сруктуры документа
Использование Perl 6 Pod Александр Загацкий
27. Perl6::Pod::Slide: Списки и атрибуты
Нумерованные списки и атрибут :pause:
=for item :numbered
Списки
=for item :numbered :pause
Таблицы
=for item :numbered
Уровни заголовков
Результат:
Использование Perl 6 Pod Александр Загацкий
28. Perl6::Pod::Slide: Списки и атрибуты
Нумерованные списки и атрибут :pause:
=for item :numbered
Списки
=for item :numbered :pause
Таблицы
=for item :numbered
Уровни заголовков
Результат:
1 Списки
2 Таблицы
Использование Perl 6 Pod Александр Загацкий
29. Perl6::Pod::Slide: Списки и атрибуты
Нумерованные списки и атрибут :pause:
=for item :numbered
Списки
=for item :numbered :pause
Таблицы
=for item :numbered
Уровни заголовков
Результат:
1 Списки
2 Таблицы
3 Уровни заголовков
Использование Perl 6 Pod Александр Загацкий
30. Perl6::Pod::Slide: Создание pdf
Экспорт в Tex:
pod6slide < tech_docs.pod > tech_docs.tex
Конвертация в Pdf:
pdflatex tech_docs.tex
Использование Perl 6 Pod Александр Загацкий
31. zag.ru: Формат для блога
Расширяем для поддержки доп функционала. Например:
=Image
Использование Perl 6 Pod Александр Загацкий
32. Формат для книги о Perl 6
Книга "Все о Perl 6". http://zag.ru/perl6-book/
Использование Perl 6 Pod Александр Загацкий
34. Perl 6 Pod to HTML: http://zag.ru/perl6-pod/
Использование Perl 6 Pod Александр Загацкий
35. Вопросы ?
S26 Documentation
https://github.com/zag/specs/raw/master/S26-
documentation.pod
home page, mail http://zag.ru, zag(at)cpan.org
Использование Perl 6 Pod Александр Загацкий