FrontDays #1. Алексей Ульянов, React.js и методологии разработки на нёмFrontDays
От Flux к Redux. Расскажу о том, как и почему появилась методолгия Flux и какие проблемы она решила. А также почему стоит перейти или как минимум попробовать в деле Redux.
FrontDays #1. Алексей Ульянов, React.js и методологии разработки на нёмFrontDays
От Flux к Redux. Расскажу о том, как и почему появилась методолгия Flux и какие проблемы она решила. А также почему стоит перейти или как минимум попробовать в деле Redux.
Разработка и внедрение PHP SDK myTargetSocialKey Ads
Василий Кулаков, руководитель группы разработки SocialKey Ads, выступал на традиционном АПИишнике myTarget с темой доклада «Разработка и внедрение SDK для myTarget API на PHP».
Ссылки на SDK на гитхабе:
Лицензия Apache 2.0
https://github.com/Digsolab/mytarget-php-ads-sdk
https://github.com/Digsolab/MyTargetClientBundle
Ссылка на сервис: http://goo.gl/9Lrrcl
Блог о бизнесе в социальных сетях: http://goo.gl/Bp6c0v
Алексей Андросов "Архитектура фронтенда Яндекс.Почты"Yandex
Алексей Андросов "Архитектура фронтенда Яндекс.Почты"
Я.Субботник в Новосибирске
О докладе:
Яндекс.Почта – это большое ajax-приложение. Из доклада вы узнаете, как работает фронтенд почты изнутри, как загружаются данные, обновляется страница и происходит взаимодействие с пользователем, какой мы используем шаблонизатор и почему, как живут самые разные приложения (Яндекс.Подписки, История общения) в рамках одной почтовой платформы.
Безболезненный Fallback cache на Scala / Олег Нижников (Tinkoff.ru)Ontico
HighLoad++ 2017
Зал Калининград, 7 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/2847.html
В крупных (или микросервисных) архитектурах у Backend'а есть свои Backend'ы. И, если какой-то сервис очень важный, он не всегда очень производительный. Как сделать так, чтобы ваша система продолжала отвечать, даже если важные источники информации перестали отвечать?
Рассказываю о нашем опыте в Tinkoff:
1. Как мы выбирали СУБД и на чём остановились.
2. Как поддерживать версионность форматов данных.
3. Как понять, что ваш сервис умер или ожил.
4. Как встроить cache, не переписывая приложения на Scala.
5. Итоги и замеры.
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"Yandex
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"
Я.Субботник в Челябинске в рамках конференции UWDC
О докладе:
Все, что вы хотели узнать про одностраничное ajax-приложение Яндекс.Почта, но боялись спросить. Изнанка фронтенда, загрузка данных, обновление страниц и взаимодействие с пользователями без регистрации, без смс. Бонус-трек: как работают сторонние приложения в рамках одной платформы.
ASP.NET MVC за пределами Hello World. Дятлов Александр D2D Just.NETDev2Dev
ASP.NET MVC простой и распространённый инструмент. Но строить на его основе большое веб-приложение не так просто. Туториалы не раскрывают проблем возникающих при росте проекта. Зачастую, изначально стройная архитектура размазывается с каждой следующей итерацией.
Я хочу поделиться своим опытом. Рассказать об основных проблемах и предложить выбранные мной решения.
React со скоростью света: не совсем обычный серверный рендерингTimophy Chaptykov
Расскажу о небольшом исследовании, в котором мы думали о том, можем ли мы себе позволить использовать React для отдельных элементов на сайте, как устроен серверный рендеринг в VK; и получилось ли связать одно с другим. Упомяну о строковых шаблонизаторах, виртуальной DOM и LR-парсерах.
This presentation will teach you to never repeat yourself and organize your code correctly for reuse.
It also illustrates advantages of the use of third-party libraries.
Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...Аліна Шепшелей
About half of the developers, one way or another, faced with the legacy-projects. Not everyone can (and want) work with them. But with the right approach, such projects can be carried out with pleasure and even enthusiasm. We suggest that such a legacy of understanding, what are these project management techniques, practices, and explore the developers consider useful decisions: • Examples of optimization - it's worth a try; • Monitoring applications - JavaMelody; • Monitoring applications - logs and ELK (ELasticSearch + Logstash + Kibana); • Monitoring applications - Java Mission Control and Heap Dump Memory Analyzer Tool.
Валерий Чугреев, ИСЭРТ РАН — Архитектура MVC в контексте web-разработки — про...Dev_Party
Валерий Чугреев, ИСЭРТ РАН — Архитектура MVC в контексте web-разработки — проблемы и решения.
Конференция Dev Party (http://devparty.ru).
Вологда, 02.04.2016.
Видео с доклада: http://getdev.net/Event/asp-net-mvc-4
Доклад об ASP.NET MVC, откуда и зачем он появился, какие задачи решает, какой подход к разработке исповедует. Этот доклад больше пригодится тем, кто хочет углубить и структурировать свои знания об ASP.NET MVC
Разработка и внедрение PHP SDK myTargetSocialKey Ads
Василий Кулаков, руководитель группы разработки SocialKey Ads, выступал на традиционном АПИишнике myTarget с темой доклада «Разработка и внедрение SDK для myTarget API на PHP».
Ссылки на SDK на гитхабе:
Лицензия Apache 2.0
https://github.com/Digsolab/mytarget-php-ads-sdk
https://github.com/Digsolab/MyTargetClientBundle
Ссылка на сервис: http://goo.gl/9Lrrcl
Блог о бизнесе в социальных сетях: http://goo.gl/Bp6c0v
Алексей Андросов "Архитектура фронтенда Яндекс.Почты"Yandex
Алексей Андросов "Архитектура фронтенда Яндекс.Почты"
Я.Субботник в Новосибирске
О докладе:
Яндекс.Почта – это большое ajax-приложение. Из доклада вы узнаете, как работает фронтенд почты изнутри, как загружаются данные, обновляется страница и происходит взаимодействие с пользователем, какой мы используем шаблонизатор и почему, как живут самые разные приложения (Яндекс.Подписки, История общения) в рамках одной почтовой платформы.
Безболезненный Fallback cache на Scala / Олег Нижников (Tinkoff.ru)Ontico
HighLoad++ 2017
Зал Калининград, 7 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/2847.html
В крупных (или микросервисных) архитектурах у Backend'а есть свои Backend'ы. И, если какой-то сервис очень важный, он не всегда очень производительный. Как сделать так, чтобы ваша система продолжала отвечать, даже если важные источники информации перестали отвечать?
Рассказываю о нашем опыте в Tinkoff:
1. Как мы выбирали СУБД и на чём остановились.
2. Как поддерживать версионность форматов данных.
3. Как понять, что ваш сервис умер или ожил.
4. Как встроить cache, не переписывая приложения на Scala.
5. Итоги и замеры.
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"Yandex
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"
Я.Субботник в Челябинске в рамках конференции UWDC
О докладе:
Все, что вы хотели узнать про одностраничное ajax-приложение Яндекс.Почта, но боялись спросить. Изнанка фронтенда, загрузка данных, обновление страниц и взаимодействие с пользователями без регистрации, без смс. Бонус-трек: как работают сторонние приложения в рамках одной платформы.
ASP.NET MVC за пределами Hello World. Дятлов Александр D2D Just.NETDev2Dev
ASP.NET MVC простой и распространённый инструмент. Но строить на его основе большое веб-приложение не так просто. Туториалы не раскрывают проблем возникающих при росте проекта. Зачастую, изначально стройная архитектура размазывается с каждой следующей итерацией.
Я хочу поделиться своим опытом. Рассказать об основных проблемах и предложить выбранные мной решения.
React со скоростью света: не совсем обычный серверный рендерингTimophy Chaptykov
Расскажу о небольшом исследовании, в котором мы думали о том, можем ли мы себе позволить использовать React для отдельных элементов на сайте, как устроен серверный рендеринг в VK; и получилось ли связать одно с другим. Упомяну о строковых шаблонизаторах, виртуальной DOM и LR-парсерах.
This presentation will teach you to never repeat yourself and organize your code correctly for reuse.
It also illustrates advantages of the use of third-party libraries.
Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...Аліна Шепшелей
About half of the developers, one way or another, faced with the legacy-projects. Not everyone can (and want) work with them. But with the right approach, such projects can be carried out with pleasure and even enthusiasm. We suggest that such a legacy of understanding, what are these project management techniques, practices, and explore the developers consider useful decisions: • Examples of optimization - it's worth a try; • Monitoring applications - JavaMelody; • Monitoring applications - logs and ELK (ELasticSearch + Logstash + Kibana); • Monitoring applications - Java Mission Control and Heap Dump Memory Analyzer Tool.
Валерий Чугреев, ИСЭРТ РАН — Архитектура MVC в контексте web-разработки — про...Dev_Party
Валерий Чугреев, ИСЭРТ РАН — Архитектура MVC в контексте web-разработки — проблемы и решения.
Конференция Dev Party (http://devparty.ru).
Вологда, 02.04.2016.
Видео с доклада: http://getdev.net/Event/asp-net-mvc-4
Доклад об ASP.NET MVC, откуда и зачем он появился, какие задачи решает, какой подход к разработке исповедует. Этот доклад больше пригодится тем, кто хочет углубить и структурировать свои знания об ASP.NET MVC
DevOps или исскуство ухода за Интернет-проектомAlexander Titov
Половина дела - создать интернет-проект, другая половина - позволить
ему работать и зарабатывать для вас деньги при любом количестве
пользователей и переменчивых погодных условиях вплоть до атаки инопланетян.
Жизнь есть жизнь, и она наполнена рисками - пренебрежение
эксплуатацией может оставить вас без бизнеса. Совсем.
http://devconf.ru/offers/81
Доклад будет о правильном и бережном уходе за интернет-проектами. О применении культуры DevOps на практике, о путях внедрениях и сложностях на пути технического директора, который осознанно встал на путь DevOps.
Приложения для Windows Phone: как мы это делаем #codefestActis Wunderman
Презентация руководителя отдела мобильных приложений Григория Никонова для конференции CodeFest 2013. Рассказ о нашем опыте в разработке мобильных приложений и, в частности, о том, как сэкономить время и усилия за счёт фреймворков.
Методология DevOps - новое течение в управлении разработкой и эксплуатацией. DevOps дает возможность бизнесу быстрее добиваться своих целей, активнее меняться и постоянно пробовать новое.
Основные направления DevOps:
- новая инженерная культура, построенная на взаимной - ответственности коллектива;
- автоматизация и инструменты;
- управление изменениями и мониторинг;
- распространение знаний между всеми участниками технической команды.
4. Основная концепция
Любую систему, основанную на работе с
данными, можно описать
c помощью двух типов процессов:
наблюдение данных и изменение данных
5. Наблюдение
$observableObjects = [
'Class1' => [
'id1' => 1
],
'Class2' => [
'id3' => 1,
'id4' => 1
]
];
1. Данные, наблюдаемые пользователем, всегда
можно представить в виде множества объектов
2. Множество наблюдаемых объектов всегда меньше
или равно множеству объектов, инициированных
во время выполнения скрипта
3. Class и id объекта достаточно для его
идентификации, по этому наблюдаемое
множество объектов можно описать в виде
массива:
6. Изменение
1. Любые изменения данных, всегда можно
представить в виде следующего массива:
$changedObjects = [
'Class1' => [
'id1' => [
‘action' => ‘create’,
‘data' => [
‘prop1' => ‘val1’,
]
],
'id2' => [
‘action' => ‘update’,
‘data' => [
‘prop1' => ‘val2’,
]
]
],
'Class2' => [
'id3' => [
'action' => ‘delete’
]
]
];
7. Sockets Сервер
Главное условие - оставить Sockets сервер
максимально легковесным что бы не
получить проблемы с памятью.
Его единственная задача отправлять
сообщения клиенту
9. FrontEnd
Нужно хранить данные на фронте в виде
массива, схожего с массивом наблюдаемых
объектов - тогда можно унифицировать
получение обновлений с сервера
10. Что именно делаем?
1. В AppServiceProvider в register() создаем
контейнеры для трекинга наблюдаемых и
изменяемых объектов
2. В Model в setRawAttributes() трекаем наблюдаемые
объекты
3. В Model в save() и в delete() трекаем изменения
4. Не забываем о BelongsToMany и переопределяем
attach() и detach()
5. По комиту транзакции или в
register_shutdown_function() ставим в очередь
задачу на обработку изменений