Конференция YAPC::EU 2013, Киев

Конференция YAPC::EU 2013, Киев.

17 Aug 2013


О конференции

Время, место: Киев, Украина, 12-14 августа 2013
Страница конференции
Расписание
Все доклады
Слайды, презентации

Главная европейская Perl-конференция. Знаменитости: Ларии Уолл, Мэтт Траут.

...

Самое интересное

  • http://act.yapc.eu/ye2013/talk/4772 несостоявшийся доклад про Blio, блого-движок на файлах.
    Генерируемые статические сайты (блоги) – это тренд!
  • Списки репозиториев можно устанавливать в /etc/apt/sources.list.d тоже через пакеты
  • Redis оч хвалят, в т.ч. Booking
  • Booking ругают ZeroMQ
  • Несколько раз как норма упоминалась ситуация с продакшеном на RedHat и разработкой на Ubuntu
  • Dependency injection – громкое название для вменяемой практики: давать возможность снаружи объекта поменять объекты/классы, которыми он будет пользоваться. Полезно (иногда) для оптимизаций и (очень) для тестирования.

Доклады

25 Years of Perl in (about) 25 Minutes

Dave Cross (davorg)
Аннотация: http://act.yapc.eu/ye2013/talk/4505
Слайды: http://perlhacks.com/25-years-of-perl

Неожиданное впечатление: 25 лет – не так уж и много…

The Why and How of Redis

Aaron Crane (arc)
Аннотация: http://act.yapc.eu/ye2013/talk/4933
Слайды: –
Redis: http://redis.io/

Завлекательный рассказ про то, какие классные и полезные штуки удобно делать с Redis.

Упорядоченные множества, автоочищение кэша, неблокирующие и блокирующие чтения, конвейеры (piplene, выполнение нескольких команд за один запрос).

Кеши для веб-приложений, очереди, нотификации.

Вывод: попробовать заиспользовать где-нибудь.

Benchmarking is REALLY hard

Peter Rabbitson (ribasushi)
Аннотация: http://act.yapc.eu/ye2013/talk/4922
Слайды: https://github.com/ribasushi/perltalk-BenchmarkingIsHard

Микробенчмаркинг – непростое дело, результаты оч сложно надежно воспроизвести.

Проблемы: умные процессоры, агрессивное управление частотой и температурой, кеширование, дешевое (=ненадежное) оборудование, неточные часы, много фоновых процессов.

Даже название функций может (иногда) влиять на скорость, см. Adventures in Benchmarking Давида Гольдена (xdg). Впрочем, брайан ди фой (brian d foy) считает, что не все так просто: (Mis)adventures in benchmarking

Рекомендации:

  •  хорошая вентиляция;
  •  фиксировать частоту процессора;
  •  минимум фоновых процессов;
  •  вызовы функций дороги, микровремя неточно – мерять не единичные операции, а крупные циклы;
  •  dumbbench (https://github.com/tsee/dumbbench)

Также см. Your benchmarks suck! Штефена Мюллера (Steffen Mueller)

Perl6 is dead, long live Perl5

Christian Karg (odrm)
Аннотация: http://act.yapc.eu/ye2013/talk/4943
Слайды: –

Докладчик из Pirum (http://www.pirum.com/).

Pirum: Application Service Provider, London based, 130+ clients globally, 21+ млн. транзакций в сутки, 20 сотрудников, 6 Perl-разработчиков. Вся бизнес-логика – на Perl. Хотят расширить разработку до 20.

Интересная идея для отладки: хеш обрабатывается tie, и все изменения логгируются ==> можно понять, когда и откуда взялся определенный атрибут.

Хвалится паттерном фабричного сабклассинга (Factory subclassing pattern). Вывод: разобраться уже, что под этим понимают.

Adventures in Perl packaging

Jon Jensen (jon_jensen)
Аннотация: http://act.yapc.eu/ye2013/talk/4861
Слайды: http://jon.endpoint.com/yapc-eu-2013

Агитирует за установку всего системными пакетами (deb, yum) и создание собсвенных локальных репозиториев при необходимости. Потому что надежно, быстро, воспроизводимо, тянет перловые и неперловые зависимости.

Bread::Board by example

Thomas Klausner (domm)
Аннотация: http://act.yapc.eu/ye2013/talk/4850
Слайды: http://domm.plix.at/talks/2013_kiev_bread_board/

Отличные подробные слайды, можно все прочитать по ним. Развернутые примеры.

A breadboard (or protoboard) is usually a construction base for prototyping of electronics. The term ‘breadboard’ is commonly used to refer to a solderless breadboard (plugboard).

Inversion of Control solves a problem that does not exists in Perl. Object coupling is bound at run time. Perl is a very dynamic language. Inversion of Control is just an overly complex buzzword used by system “architects” to make a totaly obvious practice every sane developer uses sound more grown-up and corporate.

Lifecycle Management – how often objects should be newly initiated. Singleton vs New Object every time. Easy.

Dependency Injection – вместо захардкоженных зависимостей внутри объекта (шаблонизатор, http-запросы и т.п.) делаем возможность передавать соответствующие объекты снаружи при инициализации. This is the real core of what Bread::Board does.

Summary: Bread::Board is complex and introduces a lot of work when you use it the first time. But after you mastered it, it makes it very easy to have lots of well defined application components.

snaked: pure perl cron replacement

Petya Kohts
Аннотация: http://act.yapc.eu/ye2013/talk/4835
Слайды: http://www.kohts.ru/cron-5/ye2013/snaked-yapc-europe-2013.pdf
Видео: http://www.youtube.com/watch?v=fUwY3K35yAc

API design by counterexample

Zefram
Аннотация: http://act.yapc.eu/ye2013/talk/4920
Слайды: –

Разбирал противоречия и нелогичности в интерфейсах и поведении DateTime.

Поучительные рассуждения про методы классов, неизменяемые объекты, клонирование.

“Оставьте переменные языку, реализуйте все остальное”.

DevOps for the Masses

DrForr
Аннотация: http://act.yapc.eu/ye2013/talk/4683
Слайды: –

The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win – почитать.

The Visible Ops Handbook – тоже.

Agile Companies Go P.O.P.

Curtis Poe (Ovid)
Аннотация: http://act.yapc.eu/ye2013/talk/481
Слайды: –

People, Organisation, Process.

Between players of equal skills, a bad strategy beats no strategy.

Нетехническая речь про важность стратегии, миссии, структурированных интервью и т.п.

Is your software development process complete?

Herbert Breunung (lichtkind)
Аннотация: http://act.yapc.eu/ye2013/talk/4953
Слайды: скорее всего, будут здесь http://lichtkind.de/vortrag/
статья

Сначала документация, потом прототипы, потом код, потом тесты. Тесты не сначала, т.к. тест – это программа, а программы слишком подробны (точны).

Questhub: a place to share your Perl quests

Vyacheslav Matyukhin (mmcleric / berekuk)
Аннотация: http://act.yapc.eu/ye2013/talk/4924
Слайды: https://speakerdeck.com/berekuk/questhub-dot-io-yapc-eu-2013-talk

http://questhub.io

Richard Jelinek (the whip)
Аннотация: http://act.yapc.eu/ye2013/talk/4609
Слайды: http://propaganda.pm/Main/TheWhip

Your problem is not technology. The problem is you.

State of the Velociraptor

Matt S Trout (mst)
Аннотация: http://act.yapc.eu/ye2013/talk/4971
Слайды: –

The future of Perl is you

Monitoring with Perl and Unix::Statgrab

Jens Rehsack (Sno)
Аннотация: http://act.yapc.eu/ye2013/talk/4909
Слайды: https://github.com/rehsack/talk-Unix-Statgrab,
http://www.netbsd.org/~sno/talks/yapc-eu-2013/Unix-Statgrab.pdf

libstatgrab, statgrab и saidar есть в deb-пакетах (и в разных других тоже)

libstatgrab (http://www.i-scream.org/libstatgrab) – кроссплатформенная библиотека для получения статистики о системе

Unix::Statgrab (https://metacpan.org/module/Unix::Statgrab) – Perl-интерфейс к libstatgrab.

А также:

saidar – псевдографический интерфейс для libstatgrab, похоже на systat в FreeBSD. Cкриншот:

 

statgrab – текстовый просмотр статистики

const.0 = 0
cpu.idle = 88554547
cpu.iowait = 50264
cpu.kernel = 1274742
cpu.nice = 15377
cpu.swap = 0
cpu.systime = 1376813463
cpu.total = 96035946
cpu.user = 6191280
disk.sda.disk_name = sda
disk.sda.read_bytes = 16834522112
disk.sda.systime = 1376813463
disk.sda.write_bytes = 35653095424
general.hostname = lena-san-thinkpad
general.os_name = Linux
general.os_release = 3.2.0-32-generic
general.os_version = #51-Ubuntu SMP Wed Sep 26 21:33:09 UTC 2012
general.platform = x86_64
general.uptime = 525788
load.min1 = 0.420000
load.min15 = 0.490000
load.min5 = 0.470000
mem.cache = 1094270976
mem.free = 306368512
mem.total = 4028600320
mem.used = 3722231808
net.eth0.collisions = 0
net.eth0.duplex = unknown
net.eth0.ierrors = 0
...

Damian Gryski
Аннотация: http://act.yapc.eu/ye2013/talk/4939
Слайды: https://github.com/dgryski/yapceu2013-server-side-cookies

Redis + MySQL + ZeroMQ + C + Perl

ZeroMQ ругают, остальным довольны.

“State table for this system is phenomenal”.

SQL metaprogramming - non-ORM uses of DBIx::Class

Peter Rabbitson (ribasushi)
Аннотация: http://act.yapc.eu/ye2013/talk/492
Слайды: –

https://github.com/dbsrgits/dbix-class/tree/master/examples

Easy Parallel Computing in Perl 5 for Multi-Core CPUs

Darko Obradovic
Аннотация: http://act.yapc.eu/ye2013/talk/4946
Слайды: www.kamele.org/p5parallel.pdf

Parallel::Simple

Parallel::parallel_map

subs::parallel

Asynchronously Fantastic

Sawyer X
Аннотация: http://act.yapc.eu/ye2013/talk/4977
Слайды: –

We think & act in non-blocking way.
We program in blocking way.

Чтобы не запутываться с callback-ами, рекомендует Promises.pm

How to speak manager

Denis Banovic (@bano99)
Аннотация: http://act.yapc.eu/ye2013/talk/4860
Слайды: –

Как приручить менеджера, разумные рекомендации.

Our::Boilerplate - how to make your own modern Perl dialect

Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 (daxim)
Аннотация: http://act.yapc.eu/ye2013/talk/4914
Слайды: –

Template::Flute - Designer friendly template engine

Jure Kodzoman (Yure)
Аннотация: http://act.yapc.eu/ye2013/talk/4917
Слайды: –

Template::Flute – шаблонизатор без специальных тегов, подстановки выполняются по наличию div-ов с специальными классами в соответствии с xml-спецификацией.

Есть списки, условное выполнение.

Про производительность говорят неохотно, про предкомпиляцию шаблонов обещают подумать.

Binary Protocols Using Pack for Fun and For Profit

Nicholas Perez (nperez)
Аннотация: http://act.yapc.eu/ye2013/talk/4937
Слайды: –

booking.com, вторая часть рассказа про server-side cookies.

Блиц-доклады

IPC::Cmd::run_forked - control external programs easily

Petya Kohts
Аннотация: http://act.yapc.eu/ye2013/talk/4834

См. http://search.cpan.org/~bingos/IPC-Cmd/lib/IPC/Cmd.pm

Выполнение внешней программы с таймаутом.

Rex - Deployment and Configuration Management

Jan Gehring (jfried)
Аннотация: http://act.yapc.eu/ye2013/talk/4910
Слайды: http://de.slideshare.net/jfried/rex-25172864

(Кажется) легковесный инструмент автоматизации администрирования. Изучить, заиспользовать.

Long live Lingua::<iso639-3>

Richard Jelinek (the whip)
Аннотация: http://act.yapc.eu/ye2013/talk/4610
Слайды: –

Increasing Perl Awareness (PRFORGE)

Tudor Constantin
Аннотация: http://act.yapc.eu/ye2013/talk/4935
Слайды: –

http://www.prforge.com/

What’s new in DBIx::Class

Peter Rabbitson (ribasushi)
Аннотация: http://act.yapc.eu/ye2013/talk/4921
Слайды: –

10x performance

Unstupidifying MP3 tagging

Sawyer X
Аннотация: http://act.yapc.eu/ye2013/talk/4980
Слайды: –

https://github.com/xsawyerx/regtag

Macroeconomics 101 in Five Minutes

Curtis Poe (Ovid)
Аннотация: http://act.yapc.eu/ye2013/talk/4822
Слайды: –

Obsolete skills are obsolete

Alex Kapranoff (kappa)
Аннотация: http://act.yapc.eu/ye2013/talk/4955
Слайды: –

Production is boring — a lame excuse

Печальная и поучительная история про бывшего Perl-программиста (FPD – Former Perl Developer)

Примеры устаревших навыков:

  •  БД с master-slave репликацией
  •  Вообще использование БД, когда достаточно зачитать в память полгигабайта данных на старте сервиса
  •  Неспособность предоставить самодостаточный пакет, пригодный к установке в одну команду
  •  Уверенность, что о “деплое” можно подумать попозже, потому что продакшен – это скучно

The Kingdom of the Blind

Dave Cross (davorg)
Аннотация: http://act.yapc.eu/ye2013/talk/4905
Слайды: http://www.slideshare.net/davorg/the-kind

Doors of Durin

Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 (daxim)
Аннотация: http://act.yapc.eu/ye2013/talk/4952
Слайды: –

http://www.unicode.org/roadmaps/smp/
http://std.dkuug.dk/JTC1/SC2/WG2/docs/n1641/n1641.htm

Send-a-newbie programme

Mihai Pop
Аннотация: http://act.yapc.eu/ye2013/talk/5002
Слайды: –

The Long Journey

Theo van Hoesel (vanHoesel)
Аннотация: http://act.yapc.eu/ye2013/talk/4991
Слайды: http://www.slideshare.net/theovanhoesel/yapc-eu2013thelongjourney

Function::Parameters is pretty cool

Lukas Mai (mauke)
Аннотация: http://act.yapc.eu/ye2013/talk/5003
Слайды: –

Function::Parameters

LWP over libcurl

Stanislav Poussep (Stas)
Аннотация: http://act.yapc.eu/ye2013/talk/4962
Слайды: http://www.slideshare.net/creaktive/yapc-eu-lwp

LWP::Protocol::Net::Curl
github

PAC terminal - good choice for CLI

By Naim Shafiyev (shafiev)
Аннотация: http://act.yapc.eu/ye2013/talk/4994
Слайды: –

Some handy little modules

Salvador Fandiño (salva)
Аннотация: http://act.yapc.eu/ye2013/talk/5005
Слайды: https://github.com/salva/ps-some-little-modules

  • lib::glob
  • Begin
  • perlrc
  • modify @INC to include some paths,
  • mock your development environment to mimic the one in production,
  • load modules and define constants accesible from one-liners, etc.)

Посмотреть поподробнее на Begin и perlrc.

The YAPC.travel project

Andrew Shitov (ash)
Аннотация: http://act.yapc.eu/ye2013/talk/4992
Слайды: –

http://yapc.travel

OpenSource conferences in Ukraine

Mykola Marzhan (delgod)
Аннотация: http://act.yapc.eu/ye2013/talk/4997
Слайды: –

OSDN, KyivBSD, FOSS Sea, FOSS Lviv

IRC logs on the web

Moritz Lenz (moritz)
Аннотация: http://act.yapc.eu/ye2013/talk/5004
Слайды: –

http://irclog.perlgeek.de/

Organizing a Perl Workshop for Dummies

Tadeusz Sośnierz (tadzik)
Аннотация: http://act.yapc.eu/ye2013/talk/4996
Слайды: –

В мае 2013 Warsaw.pm провели первый Polish Perl Workshop.

Самое сложное и главное – помещение.

Is Perl 6 Perl ?

liz
Аннотация: http://act.yapc.eu/ye2013/talk/5006
Слайды: –

Multiple platform packaging

Jens Rehsack (Sno)
Аннотация: http://act.yapc.eu/ye2013/talk/5009
Слайды: www.netbsd.org/~sno/talks/yapc-eu-2013/pkgsrc-5min.pdf,
https://github.com/rehsack/talk-pkgsrc-5min

http://pkgsrc.org/

Изучить поподробнее.

sending test reports through cpanm

Breno Oliveira (garu)
Аннотация: http://act.yapc.eu/ye2013/talk/5023href
Слайды: –

cpanm-reporter – отправлять отчеты о неудачных тестах после установки модулей через cpanm.

Open source at Net-a-Porter

Gianni Ceccarelli (dakkar)
Аннотация: http://act.yapc.eu/ye2013/talk/5008
Слайды: –

Используют ActiveMQ

Simpleness CMS

Dimitry Ivanov (ivanoff)
Аннотация: http://act.yapc.eu/ye2013/talk/4993
Слайды: –

http://cms.simpleness.org/

How I won an indoor golf set from reg.ru

Brian McCauley (Nobull)
Аннотация: http://act.yapc.eu/ye2013/talk/5013
Слайды: http://www.slideshare.net/nobull/how-i-won-a-golf-set-from-reg-ru

DBD::CSV

???
Аннотация: ???
Слайды: –

A road to hacking on perl5

Ruslan Zakirov (ruz)
Аннотация: http://act.yapc.eu/ye2013/talk/5018
Слайды: http://www.slideshare.net/ruzakirov/yapc-eu2013

Hire a Designer, Save a Life

Lyle Hopkins (CosmicNet)
Аннотация: http://act.yapc.eu/ye2013/talk/5016
Слайды: –

http://savejanine.com/

Perl Quiz

Ivan Fomichev
Аннотация: http://act.yapc.eu/ye2013/talk/5001
Слайды: –

use perl or die;

Stefan Seifert (Nine)
Аннотация: http://act.yapc.eu/ye2013/talk/5025
Слайды: http://niner.name/talks/use_perl_or_die/

CiderWebmail

CiderCMS

Это все. До встречи на следующей YAPC!