Огляд конференцій, на яких ми побували в 2016 році



Можливо, ви вже чули про те, що в Badoo щороку в грудні ми з колегами ходимо в лазню складаємо календар конференцій для технарів по всьому світу, на які хочемо потрапити. І 2016 рік не став винятком: у нас в списку більше ста конференцій, але мучити звітами з кожною ми вас, звичайно, не будемо. Замість цього ми вибрали найкращі, на думку розробників, і зібрали невеликі відгуки очевидців з Badoo. Спойлер: конференцій вісім. Спойлер другий: деякі відгуки не такі вже й невеликі. Тому нижче – зміст.

Зміст
1. CodeFest, Новосибірськ, Росія
2. SQA Days 19, Санкт-Петербург, Росія
3. DevConf, Москва, Росія
4. Velocity, Нью-Йорк, США
5. GopherCon, Денвер, США
6. Percona Live, Амстердам, Нідерланди
7. ZendCon, Лас-Вегас, США
8. HighLoad++, Москва, Росія


1. CodeFest, Новосибірськ, Росія, 26-27 березня


Тут ви можете послухати і поговорити про розробку, управління проектами і тестування. Проводиться конференція CodeFest з 2010 року, ми в неї беремо участь з 2013-го, кожен раз відправляючи в далекий Новосибірськ велику делегацію. З кожним роком головна IT-конференція Сибіру (та й в принципі одна з найбільших в Росії) стає все багатшим на цікаві доповіді та квартирники, а душевності і активності CodeFest'а позаздрить більшість конкурентів.

Ілля Кудінов, старший QA-інженер, Relz



Я на цій конференції виступав з доповіддю, і мені дуже допомогло те, що організатори виявилися товариськими і доброзичливими. CodeFest проводиться не перший рік і на одній і тій же площадці, так що нічого дивного в тому, що простір організовано добре. Мені дуже сподобалися активності в зоні корпоративних стендів: в одному з них був барбершоп (!), про що ще говорити!

Я не тільки виступав, але і багато слухав інших хлопців. Все було дуже здорово, але, напевно, спілкування з доповідачами після їх виступу – це найцікавіша частина будь-конференції (як для слухачів, так і для доповідачів, повірте мені на слово).

Особливо запам'яталися success-stories від розробника Appium (приємно слухати про успіх фреймворку, який ми почали використовувати, як кажуть, before it was cool) і заводний «самовоспитательный» доповідь від Максима Дорофєєва.

Моя вам порада: якщо хочете почути потенційно популярний доповідь, приходьте в зал раніше, тому що інакше вам доведеться стояти в дверях, проходах або навіть сидіти на підлозі.



Антон Турецький, системний адміністратор, banuchka



Я вже не в перший раз приїжджав на CodeFest. Це конференція, на яку дуже велика кількість людей їдуть за отриманням знань. Для мене це якась зворотна сторона: тут люди дивляться на тебе під час виступу і уважно слухають відповіді на запитання, які поставили. На конференції майже немає пафосу, якщо доречно так говорити. Напевно, кожен, хто хоча б раз бував на CodeFest скаже, що там дружня і сімейна атмосфера.

На жаль, секція з адміністрування не дуже сильна, серйозних доповідей, цікавих мені, я не зустрів. Зате мені сподобалися кілька виступів з-за доповідачів, їх манери оповіді і поведінки на сцені.

Якщо ви плануєте поїхати на CodeFest в наступному році, то будьте готові до віддаленості майданчика від центру міста (якщо будете там жити) і божевільних таксистам Новосибірська.


2. SQA Days 19, Санкт-Петербург, Росія, 20-21 травня


Вважається однією з кращих конференцій в Росії і СНД для тестувальників та всіх зацікавлених. Проводиться двічі в рік, в різних містах Росії і країн СНД, об'єднуючи у собі професіоналів контролю якості зі всієї Європи. У рамках більшості «епізодів» SQA Days проводяться «англійські» дні, на яких зі слухачами діляться своїм досвідом працівники іноземних компаній. А про afterparty конференції (традиційно і дуже обдумано влаштовується в кінці ПЕРШОГО дня конференції) ходять легенди.

Володимир Щербаков, QA-інженер



Я на цій конференції був не перший раз. Враження про пітерської залишилися такі ж, як і про інших: організовано все дуже добре, гостям не дають нудьгувати, багато доповідей на вибір. В цілому організація – на високому рівні, черги я зустрічав тільки на обіді, в інших випадках місця в аудиторіях завжди було достатньо, доповіді починалися за розкладом.

З виступів мені найбільше запам'ятався доповідь по логированию системних помилок, виступав Лев Астахов на тему «Инструментация середовища виконання в арсеналі тестувальника». Тут ви можете подивитися відео з його виступу, а тут презентацію. Лев розповів, як їх команда збирає дані про виконання, помилки програми. На мій погляд, дуже корисна штука, яка дозволяє виявити приховану проблему без глибокого вивчення – все перед очима.

Побувати на SQA Days я б порекомендував всім QA-фахівців: думаю, що кожен знайде для себе доповіді по своєму рівню знань та інтересам, а в кулуарах завжди можна поспілкуватися з людьми з різних компаній і з доповідачами, щоб задати їм питання.


3. DevСonf, Москва, Росія, 17 червня


Щорічна конференція, присвячена провідним технологіям програмування та web-розробки. Ми публікували частина відео з виступів, якщо ви хочете освіжити їх у пам'яті.

Саша Крашенинников, керівник Data Team, alexkrash



Я не в перший раз побував на цій конференції, зауважив, що нова площадка набагато краще колишньою, але трохи завелика для заходу такого рівня. У 2015 році я був доповідачем, а в цьому – ходив підтримати наших хлопців. Не можу не похвалити колег: ми, як завжди, молодці. Підготували якісний матеріал. Розповіли про граблі, які обскакали (всі брешуть – не можна вірити даним, що приходять з пристроїв користувачів). Андрій Воліков привів огляд існуючого математичного апарату для вирішення завдань геолокаціі і пошуку приналежності точки полігону. Спойлер для тих, хто не дивився виступ: як остаточне рішення був запропонований програмний інтерфейс S2 від Google.

Ще мені запам'ятався доповідь про микросервисы на Go: дуже досвідчений спікер, його подача матеріалу зачепила. Тема оркестрации і хореографії сервісів на підставі програмного рішення Consul – цю доповідь можна покласти у «скарбничку», якщо стоїть завдання побудови «з нуля» або адаптації проекту до описаної архітектури. Вадим розглянув комплекс того, з чим доводиться стикатися при побудові микросервисной архітектури: моніторинг, масштабування та інше.

Всупереч сформованій думці, DevConf давно перестала бути орієнтованою виключно на PHP-розробників, і тепер тут можна послухати доповіді про архітектури, роботу з даними та «кухню» різних проектів.

Діма Костін, PHP-розробник, DsTr123



Я запам'ятав три доповіді конференції. Виступ про те, як написати highload-додаток Go: дуже структуровано було викладено використання його у production, основні підводні камені, дебаггинг в прод-середовищі.

Олексій Акулович з «ВКонтакте» розповів про аудиоотпечатки ВК, які дозволяють знаходити дублікати пісень незалежно від джерела запису і зміщення його за часом. Про архітектуру різних проектів завжди слухати найцікавіше. Сподобався масштаб фічі і унікальність. Сама доповідь містила історію розвитку фічі, відомості про те, яка вона зараз, з якими проблемами стикалися в ході її створення.

Корисним виявився і доповідь про HTTP2: просто і ясно було розказано, які проблеми можна вирішити з його допомогою.


4. Velocity, Нью-Йорк, США, 20-23 червня


Конференція для DevOps, web-розробників, техлидов, де виступають сотні відомих спікерів.

Ігор Сотників, старший PHP-розробник



Найбільше мені запам'яталися не доповіді, а майстер-класи. Це окрема секція, вона проходить за день до основної конференції і оплачується додатково. Я ходив на service workers і performant accessibility.

На першому майстер-класі ми слухали лектора, він давав приклади коду, і частина дій можна було відразу ж виконувати на ноутбуці. На другому – все було досить банально: ми просто слухали лектора, промовця з презентацією.

Був ще один майстер-клас: після короткої лекції з архітектури присутніх розбили на групи людей по сім і дали завдання накидати приблизний план архітектури для запропонованих ввідних.

відео з конференції можна знайти тут.

З забавного: між доповідями люди купками сиділи на підлозі, після з'ясувалося, чому: не вистачало розеток. Для тих, хто планує поїхати на Velocity в новому році: велика частина доповідачів – небудь спонсори, або автори o'reilly, тому, якщо звіт не спонсорський, значить, велика ймовірність знайти профільну брошуру o'reilly і ознайомитися з тезами.


5. GopherCon, Денвер, США, 11-13 липня


Фото dnabyte

GopherCon – це перша і велика конференція за Go для розробників, фанатів та тих, хто хоче навчитися. Проходить вона з 2015 року в Денвері (США). Недалеко від нього розташований місто South Park (той самий). Тут дарують м'яку іграшку – маскота Go, яким можна похвалитися.

Вадим Істратов, голова розробки проекту «Біллінг», WASD42



Організація конференції була на найвищому рівні, незважаючи на кількість відвідувачів: 1400 учасників! Дуже швидка реєстрація, великі кондиціоновані зали, непоганий Wi-Fi по всьому конференц-центру. Відмінні кави-брейки та обід.



Але враження залишилися змішані: з одного боку – потужні, цікаві і видовищні доповіді від євангелістів Go і багато корисних tutorial-сесій, з іншого – відверто слабкі доповіді в дусі «як я провів літо або для чого ще можна використовувати Go». Зрозуміло, що GopherCon – вузькопрофільна конференція, але наявність доповідей про IDE, «сирі» дебагери тощо трохи розчарували. Залишилося відчуття, що на три повноцінних дні тим просто не вистачило. Конференції з JavaScript і PHP, як правило, розбавляють основні потоки пов'язаними темами.



Зачепила цікава ідея з HackDay, коли будь-який бажаючий зі своїм проектом міг отримати реальну допомогу від інших гоферов.

З доповідей найбільше сподобалися виступи The Design of the Go Assembler (Rob Pike) про історію Go-асемблера і його внутрішній устрій і Understanding nil (Francesc Campoy) про особливості використання nil-значень Go, про те, що він з себе представляє, і основних помилках, з ним пов'язаних.



Основні потоки йшли з онлайн-трансляцією і текстової трансляцією в реальному часі (!), що дозволило тим, для кого англійська мова все ще є проблемою, краще розуміти виступу.

Не ігноруйте afterparty – це не менш важлива частина конференції, ніж виступи. Саме там можна поспілкуватися з гуру один на один і познайомитися з цікавими людьми.

Конференція закінчувалася о п'ятій годині вечора, так що було час поїздити по окрузі. Я не можу не поділитися з вами хоча б однією фотографією:



Фото з гори Еванс

Для тих, хто пропустив конференцію: всі відео виступів і тут, презентації спікерів.

Для тих, хто планує відвідати GopherCon в наступному році: якщо конференція буде проходити в Денвері, то потрібно враховувати, що ви будете перебувати на висоті 1600 метрів над рівнем моря, страждати від jet-лага і спеки, тобто будете швидко втомлюватися.

Сергій, техлид у відділі «Біллінг», Domini

Я часто скептично ставлюся до конференцій, так як багато доповіді – всього лише переказ мануалів і форумів не несе досить концентрованої інформації, щоб витратити на них цілий день. Або представлення нового продукту, більше схожий на прес-реліз, ніж на розмову технічних фахівців. І лише дещиця – унікальний неповторний досвід, заради якого, на мій погляд, і варто їх відвідувати. Щодо GopherCon у мене були хороші очікування і, на щастя, вони підтвердилися.

Конференція вийшла, на мій погляд, дуже збалансованої: технічні доповіді були розділені досить абстрактними, а занудьгувати від усього цього не давали прикольні доповіді на теми, не пов'язані безпосередньо з програмуванням, але пов'язані з історією Go.



Що стосується організації, вона була на найвищому рівні: рекомендований організаторами готель був чудовий і перебував дуже далеко від місця проведення конференції, було знято досить площ. Технологічна підтримка доповідачів була вище всяких похвал, аж до субтитрів у реальному часі. У залі між доповідями вдалося зустріти безліч цікавих співрозмовників. Не можна не відзначити і прекрасні види з гір Денвера, хоч це і не має прямого відношення до конференції.

З доповідей мені найбільше запам'яталися Understanding nil і don't Just Check Errors, Handle Them Gracefully. Перший, як можна здогадатися, про призначення nil в Go, а другий – про те, як правильно обробляти помилки (я бачив чимало суперечок про це). Обидва доповідачі розповідали не про набір постулатів і вимушені заходи досягти того чи цього, а вибудували чітку логічний ланцюжок, що показує, чому та чи інша частина мови сформульована таким чином, а не інакше. І, розуміючи цю логіку, показані підходи приймаєш відразу без коливань. Але на цьому все не закінчується. Отримавши відмінну базу, подальші міркування на ці теми можна продовжувати самостійно, що, на мій погляд, відмінний результат для доповіді.

Окремо хотілося б відзначити доповідь Visualizing Concurrency in Go, викликає справжній wow-ефект, особливо на великому екрані.

Ще сподобалися доповіді Communicating Sequential Goroutines, cgo: Safely Taming the Beast про таких низькорівневих речі, про які в мануалі не напишуть.

Ну і наостанок не можна не згадати доповідь The Go Gopher: A Character Study Рене Френч про маскота Go.


6. Percona Live, Амстердам, Нідерланди, 3-5 жовтня


Percona Live – конференція, яку проводить консалтингова компанія Percona. Присвячена екосистемі MySQL та інших баз даних.

Олексій Рибак, голова розробки Badoo, fisher



Конференції розробників баз даних – одні з небагатьох, де можна дізнатися, як робляться великі проекти з інженерної точки зору. Percona вже багато років проводить свою конференцію не тільки в Каліфорнії (вони починали як міні-конференція паралельно з головною конференцією MySQL), але і в Європі.

Конференція в Амстердамі мені здалася цікавою подією, оскільки, по-моєму, це єдина європейська конференція такого рівня (не рахуючи Росії, HighLoad++, на мій погляд, в цьому сенсі абсолютно унікальна). Я вже був на Percona Live в 2012 році, коли вона проводилася в Лондоні. Конференція тоді була менше, сесія доповідей тривала лише один день. З 2015 року Percona примудряється збирати доповідей вже на два дні, а в цьому році в рамках конференції навіть пройшов PostgreSQL Day.

В цілому було багато народу з великих проектів: Facebook (чотири доповіді, найцікавіший, на мій погляд, був у Mark Callaghan про MyRocks і MongoRocks), купа доповідей від Percona, Oracle, MariaDB і від інших великих проектів: Uber (про той самий перехід з PostgreSQL на MySQL, викликав відоме бурління в інтернетах), Dropbox, Yandex (ClickHouse!), Badoo (від нас було дві доповіді: про Spark і про Pinba).



Тоні Довгаль розповідає про Pinba та його використання в Badoo

Відразу скажу, якщо вам цікава тематика, рекомендую вивчити програму конференції самостійно і подивитися всі презентації, це дуже просто: перший день і другий. Клікаєте на доповідь і дивіться слайди, тут же можна їх завантажити собі, дуже зручно.



Саша Крашенинников виступає з доповіддю від Badoo

У міжнародних конференцій є ряд особливостей, які здаються великими мінусами: дуже багато доповідей паралельно. Одночасно йдуть п'ять–десять доповідей, тому вкрай важливо вивчати програму заздалегідь і планувати день. Ті, хто був на HighLoad + + в цьому році, повинні добре розуміти, про що я: для наших технічних конференцій це нетипово, ми звикли до одного–двох потоків, але це неминуче майбутнє, як і зростання виставкових зон. ;)

Я послухав багато доповідей, але не можу сказати, що мені багато чого запам'яталось. Напишу про основне: про новини MySQL 8.0. До речі, знаєте чому 8.0? По-перше, коли-то давно вже готувалася версія 6.0, але приблизно в той же час Oracle купував Sun, в компанії мали місце організаційні негаразди, і цю гілку спіткала приблизно та ж доля, що і PHP 6.0 – вона померла під вагою організаційних проблем. Тому випускали 5.6 і 5.7, але тепер хочеться більшого: пора міняти мажорну версію. Сімка була зайнята MySQL Cluster, тому вирішили зробити вісімку.

Що нового в MySQL 8.0
Не можу сказати, що 8.0 тягне на революційний реліз. Найважливіші новини для розробників мобільних додатків:

– по-перше, кодування utf8mb4 стане кодуванням за замовчуванням (а це значить, що MySQL починає з коробки підтримувати emoji!);
– по-друге, поліпшена робота з географічними GIS-індексами.

Багато переробили в нутрощах:

– зробили new data dictionary (випиляли MyISAM, це перший крок до підтримки транзакцій для DDL-операцій);
– запилили invisible indexes (це потрібно в експлуатації, наприклад, перед дропом: перевірити, що індекс і правда нікому не потрібен, «вимкнути» його перед повним фізичним видаленням);
– зробили role-based management (круто, звичайно, але у Oracle це є вже двадцять років).

Загалом, упорядковують багато «родові» проблеми MySQL, але для програміста – нічого революційного. Однак плани круті, про це – нижче.

Подальші плани MySQL: InnoDB MySQL Cluster!
У рамках конференції був зроблений анонс MySQL InnoDB Cluster. Можливо, його анонсували і раніше, але я почув про це вперше. Це дуже цікава тема для технарів, MySQL намагається «наздогнати ринок», і повноцінний кластер для InnoDB – дуже великий крок вперед. Перегляньте п'ятихвилинне відео, щоб зрозуміти, про що це.

Якщо MySQL це зробить, це помітно спростить життя DBA, які хочуть отримати персистентный кластер з коробки. Саме ця фіча часто є ключовою, коли інженери вибирають СУБД на проект з декількох серверів: ніхто не хоче самостійно писати управління кластером. Цей проект – довгостроковий, roadmap там на кілька років, і, на жаль, для дуже великих проектів ця модель кластеризації далеко не завжди підходить, оскільки призводить до утроению числа серверів. А може, та, на щастя: роботи вистачить на наш вік. ;)

Інша активність на конференції


Оскільки Percona проводить багато конференцій, організація була на високому рівні, навіть мобільний додаток зробили з усіма доповідями. Виставкова зона була не дуже великою, я майже весь час провів поруч зі стендом Tarantool. Там я поцікавився про використання Tarantool disk store production у Mail.Ru Group, зустрів кількох знайомих з інших компаній. З великих партнерських заходів відвідав тільки поїздку на корабликах в офіс Booking.com.

Як ви, можливо, знаєте, в Амстердамі повно каналів, їх загальна довжина становить сотні кілометрів, і вони утворюють концентричні кільця по всьому місту.



І ось в один з вечорів ми попливли на корабликах в офіс Booking.com прямо з готелю, в якому проходила конференція. Там було кілька жартівливих доповідей і потім – моторошна чергу за їжею, так що ми досить швидко втекли гуляти по вечірньому Амстердаму.




7. ZendCon, Лас-Вегас, США, 18-21 жовтня


Фото Lukasz Szymanski

ZendCon – міжнародна конференція для PHP-розробників, що проходить в Лас-Вегасі. Включає в себе два з половиною дні доповідей і один день майстер-класів. Все це проходить у вісім–дев'ять паралельних потоків. Крім цього, є, звичайно, стенди, обіди і afterparty (без неї – нікуди).

Михайло Курман, голова розробки A-Team



Я думаю, що ця конференція буде цікава тим, хто хоче пройнятися духом PHP-розробки в Америці, подивитися на те, як це працює не в російському просторі. Я звернув увагу на багато цікавих доповідей, але не всі вони технічні, швидше – околопрограммистские (варто бути готовим до цього, коли плануєш відвідати ZendCon).

Велика різниця з російськими конференціями: у Росії більше говорять про технічні речі, а на ZendCon багато говорили про те, як побудувати свою роботу (скільки листів написати, як вести зустріч). Це цікаво: з якими проблемами люди зіштовхуються на роботі і як вирішують ці проблеми.



Міша Курман і Данило Мухаметзянов захищають свій проект на майстер-класі, ZendCon

Організація на хорошому рівні: в роздатці є розклад з картою, а якщо раптом втратиш її, то розклад завжди є перед залами. З доповідей мені найбільше запам'яталися ці три:

– Asynchronous programming in PHP (Adam Englander). Це єдиний технічний доповідь, на якому я був. Мова йшла про те, як програмувати асинхронні речі з прикладами коду.

Extremely defensive PHP programming (Marco Pivetta). Дуже сподобався спікер: він розповідав про очевидні речі, але основний посил був такий: всі ідіоти, а я – тим більше. Про те, як робити так, щоб нічого не ламалося, як мінімізувати ризики. Він навів хороший приклад зі стандартом USB: вставили однією стороною, зрозуміли, що не так, перевернули, вставили іншою стороною. Дуже незручно. Код потрібно писати так, щоб такої проблеми не виникало і «провід» можна було вставити з першого разу.

Debugging your web application on IBM i from A to Z (Apache to Zend) (Stephanie Rabbani). Спікер розповідав про інструмент пошуку помилок (Z-Ray): як правильно налаштувати, показував приклади. Виступ було полурекламным, але мені здалося цікавим, тому що можна подивитися Z-Ray.

Цікаве спостереження. Всі доповіді на конференції починалися приблизно так: «Привіт, мене звати так-то, у мене троє дітей, є собака, я ходжу в церкву і граю в баскетбол».

На майстер-клас ми потрапили невдало: прийшли, тому що назва здалося дуже цікавим – Demystification OOP. Спікер була дуже відкритою, познайомилася зі слухачами, а потім… почала розповідати, як писати на PHP. Піти було незручно, тому ми залишилися. Через якийсь час нас розділили на групи, причому намагалися розділити так, щоб команди складалися з незнайомих один з одним людей. Завдання було простим: написати код і захистити його (розповісти, що він робить). Кожна група виходила на сцену» і захищала свій проект. Це було на рівні початкових курсів програмування на PHP.

Незважаючи на те, що майстер-клас був досить простим для нас, спікер була підготовленою, розповідала дуже добре. Корисно було тим, хто тільки вчиться програмувати на PHP.

Паша Мурзаков, старший PHP-розробник, lu4e3ar



Організація конференції була на дуже високому рівні, ніяких накладок я не помітив. Чого не можу сказати про доповідях: більшість з них або були орієнтовані на початковий рівень знань/ досвіду, які носили відверто рекламний характер. На щастя, завдяки величезній кількості потоків майже завжди вдавалося знайти щось цікаве.



Розповім про те, що запам'яталося мені. На мою думку, ці доповіді будуть корисні вже не новачків в PHP, а, швидше, програмістів середнього рівня.

Extremely defensive PHP programming (Marco Pivetta). Автор – один з мейнтейнерів Doctrine 2 і Zend Framework 2. Марко розповів, що термін defensive PHP programming був придуманий за аналогією з defensive driving (техніка керування, яка дозволяє уникнути поганих наслідків, припускаючи, що інші учасники руху допустять помилки). Також автор згадує принцип Poka-yoke, який на російську часто перекладається як «захист від дурня»: зробити так, щоб неправильне використання чого-небудь не призводило до поганих наслідків.

У доповіді пропонується:

– максимально обмежувати область видимості і варіанти використання (private – для методів/ властивостей класу за замовчуванням, final – для самих класів);
– всі стани, передані ззовні, повинні бути інкапсульовані – збережені в приватні властивості. Якщо це об'єкт, він повинен бути клоновано, щоб заборонити його можливість зміни зовні (наприклад, DateTime vs DateTimeImmutable);
– уникати перемикаючих логіку функції параметрів;
– ніяких залежностей через сетери, тільки через конструктор. Для опціональних залежностей – заглушки;
– весь публічний інтерфейс повинен бути «транзакційних» (наприклад, не повинно бути двох методів: відняти гроші з одного рахунку і додати гроші на інший рахунок, замість цього повинен бути один метод переказу грошей);
– уникати mixed змінних. Замість цього можна використовувати value object, всередині яких можна инкапсулировать різні варіанти;
– трейты? Просто немає.

І ще безліч принципів, які знайомі, напевно, кожному, але структуровано освіжити їх у пам'яті ніколи не заважає.

PHP internal architecture (Elizabeth Smith). У своїй доповіді Елізабет розповіла про різні аспекти внутрішнього устрою PHP. Вони порівнюються з тим, як це зроблено в інших популярних мовах: Ruby, Python, і т. д. як виведення цього порівняння: одне з найбільших відмінностей від інших PHP – наявність SAPI в тому вигляді, в якому він є в PHP.

Елізабет розповіла про історію розвитку різних SAPI, а також про те, що ця архітектура привела в тому числі до появи php-fpm, перша версія якого була написана у нас в Badoo. Ще Елізабет розповіла про лексер/ парсер і tokens_get_all, про AST/ опкоды і VLD, який дозволяє переглянути отримані опкоды.

У другій половині доповіді детальніше розповідається про экстеншенах. Більшість з нас знають, що їх можна розділити на дві групи: Zend Extensions і Modules PHP. Будь-який з них можна проклассифицировать за мейнтейнерам, ступеня убудованості і отключаемости на наступні категорії:

– Core Built-in – офіційно відключаються;
– Core Default – включені за замовчуванням, але відключаються;
– Core – йдуть у постачанні з PHP, але не включені за замовчуванням;
– PECL – не йдуть у постачанні з PHP, але можна завантажити за допомогою PECL;
– 3rd party.

У випадку якщо ви пишете якийсь экстеншен, краще, якщо в результаті він потрапить хоча б в PECL, це буде плюсом до його популярності, підтримки і простоті використання.

Але коли ж потрібно писати экстеншены? Найбільш типових випадків два:

– необхідно збільшити продуктивність коду;
– потрібен биндинг до сторонньої бібліотеки, написаної на іншій мові.

Для першого випадку в доповіді не рекомендується відразу ж писати экстеншен, тому що:

– найчастіше PHP не є вузьким місцем;
– экстеншены писати складніше, ніж код на PHP, ймовірність допустити помилки вище.

Для другого випадку є FFI, який допомагає обійтися без экстеншенов. Але з переходом на PHP 7 він був зламаний і зараз існує проект MFFI.

My journey to the center of PHP (Sammy Kaye Powers). Ця доповідь – логічне продовження попереднього, – він про success story однієї людини, який вирішив додати простий спосіб генерації випадкових криптографічно стійких чисел (CSPRNG) в PHP. Доповідь в першу чергу цікавий тим, що спікер розповів про те, як він майже з нуля розібрався з написанням экстеншенов на PHP і зараз його функції знаходяться в ядрі PHP 7:
1 і 2.

Також у доповіді було порушено механізм внесення виправлень в PHP – мейл-листи, RFC, голосування, документація. І успішний результат в самому кінці – правка прийнята 41 голосом одноголосно.

Слайди веселі і говорять самі за себе: рекомендую до перегляду.



Фото Renato Mefi

Для тих, хто планує відвідати ZendCon в наступному році, поділюся спостереженнями: розташування залів в Hard Rock Hotel & Casino досить заплутане: краще заздалегідь вивчити карту і виходити трохи раніше, щоб не запізнитися на доповідь.


8. HighLoad++, Москва, Росія 7-8 листопада


Це професійна конференція розробників високонавантажених систем, що проводиться для обміну знаннями про технології. Ми не втрачаємо можливість виступити на HighLoad++, і 2016 рік не став винятком: від нас було чотири спікера. В цьому році Highload++ відзначила своє десятиріччя.



Артем Денисов виступає з доповіддю від Badoo

Валентина Єрмолова, молодший PHP-програміст, walsk



Я дуже задоволена організацією: найкраща з усіх конференцій, на яких я була. Я б порекомендувала HighLoad++ цікавим людям, які люблять відкривати для себе нові області. Наприклад, в цьому році була можливість послухати виступи про нейромережі. Я в цьому повний чайник, але область мені цікава. Доповіді були оглядові та прості. Мабуть, ця можливість була найприємнішою несподіванкою на конференції.

Практично весь час я слухала виступи і не побувала на виставці. Найбільше мені запам'яталися три доповіді.

Олег Бартунов розповів про індекс RUM в PostgreSQL. Доповідь було присвячено повнотекстовому пошуку і побудований в форматі «ми запилили full text search в PostgreSQL, так що викидайте свій сфінкс». Олег дуже детально і аргументовано розписав, чому добре робити пошук прямо з бази. Цікаво, що вони запилили новий індекс, і Олег пояснив принцип його роботи і розповів, як їм довелося повозитися, щоб цей індекс доставити кінцевим юзерам (а саме – прокинути в ядро механізм, який дозволяє всім юзерам створювати свої access methods, а потім викласти на GitHub код для роботи з цим індексом), і всякі тонкощі його використання.

Виступ про архітектуру нейромереж Григорія Сапунова. Тут був дуже докладну розповідь про те, які бувають базові елементи нейромереж і які складні схеми з них будують. Взагалі-то доповідь досить простий, але було дуже цікаво саме через незнання питання.

Дмитро Стогів і оптимізації в PHP 7. В нашому блозі на Хабре деякий час назад був пост «Як Badoo заощадив 1М, перейшовши на PHP 7», але в мене все руки не доходили подивитися, а що ж саме там поміняли. А Дмитро докладно і зрозуміло розповів, що і як.

На цьому, мабуть, зупинимося. В коментарях розкажіть про конференціях, на яких ви побували в 2016 році, раптом ми пропустили якісь дуже цікаві заходи, але внесемо їх у наш календар на 2017 рік.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.