Баба-Яга против! — Роман Дворнов, Ostrovok.ruYandex
В последнее время во фронтенде появляется столько нового и внедряется настолько быстро, что не все успевают осознать последствия. Хорошо это или плохо? Рассмотрим некоторые новинки с точки зрения «за», а главное – «против».
Субъективная точка зрения на фронтенд разработку.
Площадка: IT-бар КЛЮЧ, https://vk.com/event69759919
Видео с доклада: https://www.youtube.com/watch?v=pyAYbbDJjPo
Баба-Яга против! — Роман Дворнов, Ostrovok.ruYandex
В последнее время во фронтенде появляется столько нового и внедряется настолько быстро, что не все успевают осознать последствия. Хорошо это или плохо? Рассмотрим некоторые новинки с точки зрения «за», а главное – «против».
Субъективная точка зрения на фронтенд разработку.
Площадка: IT-бар КЛЮЧ, https://vk.com/event69759919
Видео с доклада: https://www.youtube.com/watch?v=pyAYbbDJjPo
Петренко Дмитрий - Автоматизация создания сеток Web 2.0Дмитрий Петренко
Как создавать сетки WEB 2.0 и Social networks используя максимальную автоматизацию при этом?
Мы поговорим о сервисе autofillmagic.com
Доклад был подготовлен для конференции NAZAPAD-7
Выступление 30.08.2017
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyDmytro Zharii
Мой доклад про создание читабельных отчетов для автоматизации тестирования на .NET/C# + Webdriver + Gallio Icarus/MbUnit + BDDfy
Доклад был сделан специально для онлайн конференции Auto ConfeT&QA, прошедшей в октябре 2012 года.
http://confetqa.ru/
======================================
См. также:
Gallio Icarus:
http://gallio.org
BDDfy – фреймворк для БыДиДификации кода :)
Страница проекта на Github:
http://teststack.github.com/TestStack.BDDfy/
Описание на английском:
http://www.mehdi-khalili.com/bddify-in-action/introduction
SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014Dmytro Zharii
Демонстрация работы инструмента записи веб-элементов PageObject для Selenium WebDriver при помощи SWD Page Recorder. Демонстрация работы фреймворка SWD Starter Kit
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компанийYandex
БЭМ хорош не только для крупных проектов и больших команд. БЭМ — не про именование CSS-классов и i-bem. Он вполне подходит для прототипирования. В докладе пойдет речь о библиотеке для создания основных блоков (форма регистрации, список новостей и статей, категория товаров, карточка товара, форма заказа и т.д.), сборке статичной html-версии сайта и практике разработки.
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...IT-Portfolio
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагрузкой, в поисках проблем...", Филипп Дельгядо (CTO Goodwix, ex-teamlead Яндекс.Деньги)
Аннотация
Не так давно с некоторым изумлением узнал, что Java для нагруженных систем представляется совершенной terra incognita. Хотя и совершенно не хочется бороться с мифами, по крайней мере, с удовольствием расскажу, как просто и без хлопот использовать Java в вебе. Про "суровый" highload рассказывать не буду, а вот про простые решения - с удовольствием. Ну и на закуску расскажу, за что я нежно люблю блобы.
О себе
Teamlead сколько себя помню, успел поработать и в "Яндекс.Деньгах" и в "БК Марафон". Люблю простые решения, сложные задачи и хорошую коммуникацию.
Курс молодого бойца-автоматизатора – как стать ветераном и остаться в живыхautomated-testing.info
Курс молодого бойца-автоматизатора – как стать ветераном и остаться в живых, Андрей Ребров
Сейчас, когда интерес к автоматизации более чем велик, многие команды задумываются над вопросом – нужна ли автоматизация им самим? Нужно ли TDD? Какой CI сервер поставить? Какую автоматизацию применить? Да и вообще, какой первый шаг сделать?
В своем докладе я постараюсь рассказать основные приемы внедрения автоматизации:
- постановка цели автоматизации
- первые шаги
- анализ и метрики
- коммуникации
Конечной темой доклада будет переход к DevOps.
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Yandex
БЭМ упрощает разработку сайтов, которые нужно быстро создать и долго поддерживать. Эту технологию используют во фронтенде почти всех сервисов Яндекса, и она уже успела обрасти множеством библиотек и инструментов, которыми мы хотим с вами поделиться. С обширным арсеналом БЭМ, со всей его модульностью и мощью, вам останется «всего-то» придумать идею и реализовать её. На мастер-классе вы сможете вместе с нами создать то, что мы «только что» придумали. Вы узнаете, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомитесь с готовыми библиотеками блоков и инструментами для автоматизации сборки. Мы покажем, как разные инструменты — например, autoprefixer, css-препроцессор Roole или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки на БЭМ. На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельная часть мастер-класса будет посвящена декларативным шаблонам BEMHTML и BEMTREE, которые позволяют преобразовывать сырые данные во view-ориентированный BEMJSON. Мы вместе напишем серверную часть приложения в БЭМ-методологии и используем данные от разных социальных и поисковых сервисов (RSS с Яндекс.Фоток, API Twitter и Instagram). В результате получится работающий сайт, а вы — на практике познакомитесь с полным стеком БЭМ-технологий. После мастер-класса мы сможем свободно пообщаться на профессиональные темы. Например, вы расскажете о трудностях, с которыми встретились при реализации проекта на БЭМ, и мы вместе подумаем, как воплотить вашу идею в жизнь.
SECON'2016. Аверин Сергей, Javascript-фреймворки: должен остаться только одинSECON
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
Петренко Дмитрий - Автоматизация создания сеток Web 2.0Дмитрий Петренко
Как создавать сетки WEB 2.0 и Social networks используя максимальную автоматизацию при этом?
Мы поговорим о сервисе autofillmagic.com
Доклад был подготовлен для конференции NAZAPAD-7
Выступление 30.08.2017
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyDmytro Zharii
Мой доклад про создание читабельных отчетов для автоматизации тестирования на .NET/C# + Webdriver + Gallio Icarus/MbUnit + BDDfy
Доклад был сделан специально для онлайн конференции Auto ConfeT&QA, прошедшей в октябре 2012 года.
http://confetqa.ru/
======================================
См. также:
Gallio Icarus:
http://gallio.org
BDDfy – фреймворк для БыДиДификации кода :)
Страница проекта на Github:
http://teststack.github.com/TestStack.BDDfy/
Описание на английском:
http://www.mehdi-khalili.com/bddify-in-action/introduction
SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014Dmytro Zharii
Демонстрация работы инструмента записи веб-элементов PageObject для Selenium WebDriver при помощи SWD Page Recorder. Демонстрация работы фреймворка SWD Starter Kit
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компанийYandex
БЭМ хорош не только для крупных проектов и больших команд. БЭМ — не про именование CSS-классов и i-bem. Он вполне подходит для прототипирования. В докладе пойдет речь о библиотеке для создания основных блоков (форма регистрации, список новостей и статей, категория товаров, карточка товара, форма заказа и т.д.), сборке статичной html-версии сайта и практике разработки.
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...IT-Portfolio
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагрузкой, в поисках проблем...", Филипп Дельгядо (CTO Goodwix, ex-teamlead Яндекс.Деньги)
Аннотация
Не так давно с некоторым изумлением узнал, что Java для нагруженных систем представляется совершенной terra incognita. Хотя и совершенно не хочется бороться с мифами, по крайней мере, с удовольствием расскажу, как просто и без хлопот использовать Java в вебе. Про "суровый" highload рассказывать не буду, а вот про простые решения - с удовольствием. Ну и на закуску расскажу, за что я нежно люблю блобы.
О себе
Teamlead сколько себя помню, успел поработать и в "Яндекс.Деньгах" и в "БК Марафон". Люблю простые решения, сложные задачи и хорошую коммуникацию.
Курс молодого бойца-автоматизатора – как стать ветераном и остаться в живыхautomated-testing.info
Курс молодого бойца-автоматизатора – как стать ветераном и остаться в живых, Андрей Ребров
Сейчас, когда интерес к автоматизации более чем велик, многие команды задумываются над вопросом – нужна ли автоматизация им самим? Нужно ли TDD? Какой CI сервер поставить? Какую автоматизацию применить? Да и вообще, какой первый шаг сделать?
В своем докладе я постараюсь рассказать основные приемы внедрения автоматизации:
- постановка цели автоматизации
- первые шаги
- анализ и метрики
- коммуникации
Конечной темой доклада будет переход к DevOps.
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Yandex
БЭМ упрощает разработку сайтов, которые нужно быстро создать и долго поддерживать. Эту технологию используют во фронтенде почти всех сервисов Яндекса, и она уже успела обрасти множеством библиотек и инструментов, которыми мы хотим с вами поделиться. С обширным арсеналом БЭМ, со всей его модульностью и мощью, вам останется «всего-то» придумать идею и реализовать её. На мастер-классе вы сможете вместе с нами создать то, что мы «только что» придумали. Вы узнаете, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомитесь с готовыми библиотеками блоков и инструментами для автоматизации сборки. Мы покажем, как разные инструменты — например, autoprefixer, css-препроцессор Roole или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки на БЭМ. На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельная часть мастер-класса будет посвящена декларативным шаблонам BEMHTML и BEMTREE, которые позволяют преобразовывать сырые данные во view-ориентированный BEMJSON. Мы вместе напишем серверную часть приложения в БЭМ-методологии и используем данные от разных социальных и поисковых сервисов (RSS с Яндекс.Фоток, API Twitter и Instagram). В результате получится работающий сайт, а вы — на практике познакомитесь с полным стеком БЭМ-технологий. После мастер-класса мы сможем свободно пообщаться на профессиональные темы. Например, вы расскажете о трудностях, с которыми встретились при реализации проекта на БЭМ, и мы вместе подумаем, как воплотить вашу идею в жизнь.
SECON'2016. Аверин Сергей, Javascript-фреймворки: должен остаться только одинSECON
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
The containers and particularly Docker have been one of the buzzwords of the last years, but do they offer what they promise?
In this talk will see a basic Docker 101 introduction and then will see how we can take advantages of all its features for developing and deploying our Grails applications.
In the modern world, where apps consist of microservices and are deployed in a cloud, developers are facing many issues related to apps config. How to deploy an app in different environments without cracking its package. How to apply configuration for deployed instances of an app without redeployment. How an app can be notified if some configuration properties changes. This session introduces a standardization effort tasked with solving these problems by defining a Java EE config service. Such a service is aimed at the cloud and provides the ability to create one or more configurations that are independent of and decoupled from apps using them. The session describes how such a service fits into the Java EE family and integrates with other Java EE frameworks.
My presentation to the UK Department of Media, Culture and Sport. Autonomy is a strong tool to unlock innovation in your organization. The constant question is how to handle accountability in autonomous organizations. In this talk, I look at the benefits of an organization with autonomous teams and discuss ways of ensuring accountability and governance in those organizations.
This is the talk I presented at the O'Reilly Software Architecture conference in San Francisco on November 15th, 2016. I talk about Conway's Law, my experience building organizations and evolving architectures at Avvo, Spotify and Adobe; and I talk about ways to leverage the homomorphic force of Conway's Law to improve your architecture.
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...Morgan Simonsen
Presentation given at the Nordic Infrastructure Conference (NIC) 2015 about migrating servers to Azure IaaS using the Microsoft Migration Accelerator (MA).
Esta obra presenta un enfoque eminentemente técnico de la experiencia de varios años de trabajo en grandes redes, desde el punto de vista de las áreas de “Planificación y Operación de red”, “Seguridad de redes y TI” y “Auditoría de seguridad”, que podríamos afirmar que son los pilares fundamentales de toda Red.
Los prólogos de este libro están escritos por “Chema Alonso” y “Antonio Castro Lechtaler”, que como todos conocemos, son dos referentes internacionales en Redes y Seguridad.
El autor es Alejandro Corletti Estrada que luego de la publicación “Seguridad por Niveles” en el año 2011, nuevamente nos deja esta obra para “difusión y descarga gratuita para cualquier uso docente” quedando prohibida toda acción y/o actividad comercial o lucrativa, como así también su derivación y/o modificación sin autorización expresa del autor.
Servicio VPN con OpenVPN y Latch sobre Raspberry PiTelefónica
Trabajo de Fin de Máster de los alumnos de la Universidad Europea de Madrid Álvaro Núñez-Romero Casado, Javier José Pecete García, Alejandro Amorín Niño y Juan Antonio Baeza Miralles que describe cómo montar un servicio de VPNs personal sobre una Raspberry Pi usando OpenVPN y Latch.
SECON'2016. Сергей Аверин. Javascript-фреймворки: должен остаться только одинSECON
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет. В докладе пойдет речь о том, что хорошо работающий фронтенд — это больше про слаженную работу команды, про понятный и масштабируемый код, чем про сухие циферки. Но и циферки тоже будут.
1) Какие у нас были проблемы с текущим фреймворком — UI, архитектура, код.
2) Как измеряли, что примерно стоит брать (исследование популярности).
3) Что рассматривали.
4) На пути к демо-проекту, какие были сложности (то, что уперли идею с Typescript, собственный компилятор шаблонов, четыре Flux-фреймворка и все плохи).
5) Два пилотных демо-проекта: цифры.
6) Оценка трудоемкости перехода.
Проблемы и пути их решения при командной разработке проектовАгентство AlterEGO
– Кому нужна командная разработка?
– Что делать в команде?
– Решение реальных задач, распределение ответственности
– Командная разработка на 1С-Битрикс
– Миграции БД
– Проблемы и пути их решения
Javascript-фреймворки: должен остаться только одинSergey Xek
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
В докладе пойдет речь о том, что производительность фронтенда — это больше про слаженную работу команды, про понятный и масштабируемый код, чем про сухие циферки. Но циферки тоже будут.
1) Какие у нас были проблемы с текущим фреймворком — UI, архитектура, код.
2) Как измеряли, что примерно стоит брать (исследование популярности).
3) Что рассматривали.
4) На пути к демо-проекту, какие были сложности (то, что уперли идею с Typescript, собственный компилятор шаблонов, четыре Flux-фреймворка и все плохи).
5) Два пилотных демо-проекта: цифры.
6) Оценка трудоемкости перехода.
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Ontico
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
В докладе пойдет речь о том, что производительность фронтенда — это больше про слаженную работу команды, про понятный и масштабируемый код, чем про сухие циферки. Но циферки тоже будут.
1) Какие у нас были проблемы с текущим фреймворком — UI, архитектура, код.
2) Как измеряли, что примерно стоит брать (исследование популярности).
3) Что рассматривали.
4) На пути к демо-проекту, какие были сложности (то, что уперли идею с Typescript, собственный компилятор шаблонов, четыре Flux-фреймворка и все плохи).
5) Два пилотных демо-проекта: цифры.
6) Оценка трудоемкости перехода.
Презентация делалась для JuJa конференции - Java конференции для (пре) Juniors: https://juja.com.ua/materials/jujacon-2017/
В ней
- описываются основные темы-вопросы, которые часто спрашивают на собеседовании на позицию Junior Java Developer;
- советы, что спросить собеседующего;
- как себя позиционировать, как относиться к собеседованию, как не бояться и как понять, что вам "туда".
D2D Pizza JS Илья Беда "Куда мы все катимся?"Dev2Dev
Окружение JavaScript, наверно, самая быстроразвивающаяся отрасль в мире разработки программного обеспечения. Все слышали шутку про книгу “36 новых JavaScript фреймворков, выпущенных в марте”, и это не далеко от правды.
В своем обзорном докладе я расскажу о своем пути во frontend. О том, как вижу современную индустрию, о существующих проблемах и путях их решения. Все не так уж радужно, как может показаться. Надеюсь, мой доклад позволит вам взглянуть на мир JavaScript с другой стороны или, по крайней мере, задуматься о том, в правильном ли направлении вы движетесь?
Доклад с конференции D2D Pizza JS - http://dev2dev.ru/events/8/
http://techtalks.nsu.ru
Видеозапись: http://www.youtube.com/watch?v=9sWD3RBwz30
23 сентября 2014. Проходим тест Джоэла (Семён Факторович и Олег Годовых, Noveo)
«Вот уже 14 лет как Джоэл Спольски придумал свой Joel test, но до сих пор далеко не все компании успешно проходят его. Мы поговорим о самых важных частях этого теста: о сервисах и инфраструктурных инструментах разработки (к ним относятся системы контроля версий, багтрекеры, continuous integration...) Принципы, о которых мы расскажем, одинаково применимы и для крупных компаний, и для стильных молодежных стартапов, и для студенческих курсовых проектов.»
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Джоэл Спольски много лет назад придумал тест на качество и адекватность IT-компании, но ценности он не теряет и по сей день.
Сентябрь 2014, TechTalks NSU, Новосибирск
Опыт разработки SEO софта на примере FastTrust и ComparseRАлександр Алаев
Рассказываю про свой непростой опыт разработки десктопных программ на примере FastTurst и ComparseR. Всем, кто собирается заняться разработкой инди приложения или сервиса рекомендую.
Видео: https://www.youtube.com/watch?v=IUtbbN9aevU
Веб-приложения становятся все больше и сложнее, так что многое остается вне нашего поля зрения. Поэтому фреймворки и приложения должны предоставлять дополнительные инструменты, упрощающие разработку и понимание того, что же происходит у них там — «под капотом». В ходе доклада я расскажу о таких инструментах: какими они могут быть, какие задачи решать, что необходимо для их создания.
SPA Meetup, 28 февраля 2015, Москва, Авито
3. Я подумал, как мне привязать
своё выступление к
технологиям?
А потом понял: я же в этом что-
то оказывается понимаю
Но я джуниор!
Я пять лет занимаюсь веб-
разработкой, но джуниор!
Я руквожу тремя с половиной
людьми.
Они молодцы.
А я джуниор.
26. Зачем нужен Битрикс?
ЗП не как у php-макаки
Много проектов, всем нужна поддержка (как минимум)
Безбедная старость (абсолютный лидер любого топа)
40% скидка для кого-хочешь
27. Зачем нужен Битрикс?
ЗП не как у php-макаки
Много проектов, всем нужна поддержка (как минимум)
Безбедная старость (абсолютный лидер любого топа)
40% скидка для кого-хочешь
Необходимый и достаточный набор компонентов из коробки
28. Зачем нужен Битрикс?
ЗП не как у php-макаки
Много проектов, всем нужна поддержка (как минимум)
Безбедная старость (абсолютный лидер любого топа)
40% скидка для кого-хочешь
Необходимый и достаточный набор компонентов из коробки
CRM 24
29. • Проект делался год
• Когда я пришел не было никакой документации
• Это была вандер-вафля из информационных систем
• Основная система с которой шла интеграция
написана инвалидами на Perl (лихие 90е, мы
выживали как могли)
• Не использовалась система контроля версий
• Базовый класс на 32кб, который наследовался
такими же дочерними классами
• В качестве CMS использован 1С-Битрикс
• И масса других приятностей
39. Проблемы с которыми я столкнулся на тестовом проекте
1.Зависимость SKU (Stock Keeping Unit (идентификатор товарной позиции))
от картинки
40. Проблемы с которыми я столкнулся на тестовом проекте
1.Зависимость SKU от картинки
2.Зависимоть SKU в каталоге от верстки
41. Проблемы с которыми я столкнулся на тестовом проекте
1.Зависимость SKU от картинки
2.Зависимоть SKU в каталоге от верстки
3.Они написали свой JS фреймверк BX:JS
42. Проблемы с которыми я столкнулся на тестовом проекте
1.Зависимость SKU от картинки
2.Зависимоть SKU в каталоге от верстки
3.Они написали свой JS фреймверк BX:JS
4.tfoot в таблицу убивает функционал корзины
43. Проблемы с которыми я столкнулся на тестовом проекте
1.Зависимость SKU от картинки
2.Зависимоть SKU в каталоге от верстки
3.Они написали свой JS фреймверк BX:JS
4.tfoot в таблицу убивает функционал корзины
5.button в корзину требует переписывания 100500 строчек кода. Проще
сделать <a>.
44. Проблемы с которыми я столкнулся на тестовом проекте
1.Зависимость SKU от картинки
2.Зависимоть SKU в каталоге от верстки
3.Они написали свой JS фреймверк BX:JS
4.tfoot в таблицу убивает функционал корзины
5.button в корзину требует переписывания 100500 строчек кода. Проще
сделать <a>.
6.Подписка на товары не реализована, хотя заявлена
45. Проблемы с которыми я столкнулся на тестовом проекте
•Зависимость SKU от картинки
•Зависимоть SKU в каталоге от верстки
•Они написали свой JS фреймверк BX:JS
•tfoot в таблицу убивает функционал корзины
•button в корзину требует переписывания 100500 строчек кода. Проще
сделать <a>.
•Подписка на товары не реализована, хотя заявлена
•Все что связано с JS крайне трудно читаемо. Простыни кода, нет единой
метрики кода: видно что каждый писал так как любит. Сначал используют +=,
потом отбивают "", потом опять +=
46. Проблемы с которыми я столкнулся на тестовом проекте
1.Зависимость SKU от картинки
2.Зависимоть SKU в каталоге от верстки
3.Они написали свой JS фреймверк BX:JS
4.tfoot в таблицу убивает функционал корзины
5.button в корзину требует переписывания 100500 строчек кода. Проще
сделать <a>.
6.Подписка на товары не реализована, хотя заявлена
7.Все что связано с JS крайне трудно читаемо. Простыни кода, нет единой
метрики кода: видно что каждый писал так как любит. Сначал используют +=,
потом отбивают "", потом опять +=
8.Порой, чтобы не рушить супер-связанную логику, проще сделать
невидимым какую-то штуку, чем искать зависимости.
47. Проблемы с которыми я столкнулся на тестовом проекте
1.Зависимость SKU от картинки
2.Зависимоть SKU в каталоге от верстки
3.Они написали свой JS фреймверк BX:JS
4.tfoot в таблицу убивает функционал корзины
5.button в корзину требует переписывания 100500 строчек кода. Проще
сделать <a>.
6.Подписка на товары не реализована, хотя заявлена
7.Все что связано с JS крайне трудно читаемо. Простыни кода, нет единой
метрики кода: видно что каждый писал так как любит. Сначал используют +=,
потом отбивают "", потом опять +=
8.Порой, чтобы не рушить супер-связанную логику, проще сделать
невидимым какую-то штуку, чем искать зависимости
9.SVG в качестве картинки для пункта меню — нельзя. Только png
48. Проблемы с которыми я столкнулся на тестовом проекте
1.Зависимость SKU от картинки
2.Зависимоть SKU в каталоге от верстки
3.Они написали свой JS фреймверк BX:JS
4.tfoot в таблицу убивает функционал корзины
5.button в корзину требует переписывания 100500 строчек кода. Проще
сделать <a>.
6.Подписка на товары не реализована, хотя заявлена
7.Все что связано с JS крайне трудно читаемо. Простыни кода, нет единой
метрики кода: видно что каждый писал так как любит. Сначал используют +=,
потом отбивают "", потом опять +=
8.Порой, чтобы не рушить супер-связанную логику, проще сделать
невидимым какую-то штуку, чем искать зависимости
9.SVG в качестве картинки для пункта меню — нельзя. Только png
10.??????
11.PROFIT: Я понял что уже достаточно познал, и можно руководить.
51. Программист говорит: “ща все будет” и начинает делать что привык. А к чужим
системам привык он применять лом, гвоздодер и кувалду.
52. • Взять проект и начать пилить его.
• Просмотреть видео на ютубе. За пару часов придет понимание
этой CMS
• http://www.youtube.com/watch?v=JioES6mkKQU
• http://camouf.ru/blog-note/bx_site_created/
• Потом сесть за проект. Сделать плохо. Понять вопросы. Перейти
к документации.
• Разработчик Bitrix Framework
• Крайне не однородная. То легко то капец.
• Администратор. Модули.
• Администратор. Бизнес.
• Сесть за проект. Понять в чем вопрос. Загуглить его. Почитать 20
страниц форума. Реализовать задачу.
• Написать в техподдержку. Ответ в течении 5 часов.
• Повторить.
53. API — модель (M)
Шаблон — представление (V)
Компонент – Контроллер (C)
Модуль - это модель данных и API для доступа к этим данным. Статические
методы классов модуля могут вызываться в компонентах, шаблонах, других
модулях.
Компонент - это контроллер и представление. Компонент с помощью API
одного или нескольких модулей манипулирует данными. Шаблон компонента
(представление) выводит данные на страницу.
54. Комплексный и обычный компонент
Контроллер обычных компонентов. Содержит в себе массив
компонентов. Комплексный – для разделов сайта. Обычный – для
страницы.
55. Процесс работы на пальцах
Вы создаете копию шаблона компонента. Называете её как вам нравится.
Дальше вся работа идет с этой копией. Это обеспечивает безболезненное
обновление.
Все шаблоны храните в /local/templates/.default/components. По умолчанию
Они пойдут в /bitrix/templates/<имя шаблона сайта>/components.
Каждый шаблон имеет структуру
•Template.php – представление. То что отвечает за оформление страницы.
•Style.css – стили шаблона.
•Прочая ерунда, которую вы редко используете.
Опционально:
•Script.js – битриксовский js код. Придется с ним изрядно попотеть.
56. $arParams – то что задали
компоненту перед
вызовом.
$arResult – то что получили,
отработав код.
Result_modifier.php –
вызывается перед
подключением шаблона.
Component_epilog.php –
подключается после
исполнения шаблона.
57. В реальности никто никого не ограничивает и не регламентирует.
Следствие: в шаблонах много бизнес-логики.
58. В БД создает 4 таблицы:
•типы объектов;
•экземпляры объектов;
•свойства объектов;
•значения свойств объектов.
Каталог
Каталог парфюмерии
Аромат
Лаванда
Плюсы
•общая структура данных для любого
проекта
•возможность многократно менять
типы данных для полей без
уничтожения самих данных
Минусы
•Производительность
•Непрозрачный доступ к данным
Могут наследовать свойства, связываться с другими инфоблоками по свойств
или иметь торговые предложения (у одного товара много разных вариаций с
объемом или цветом).
Инфоблок
Модуль, позволяющий каталогизировать и управлять различными
типами (блоками) однородной информации.
59. Процесс работы на пальцах
Вы создаете инфоблок. Заполняете требуемые свойства (вес, цена, что
угодно). Делаете наследование или связи. Указываете какие поля с чем
связаны.
Через админку добавляете нужный компонент для работы с этим
инфоблоком (как понять какой нужны? Читаете, или выставляете «список
новостей». В 90% это нужный компонент.
Копируете шаблон компонента. Затем копируете код который создался.
Добавляете его в шаблон.
Правите компонент.