Мы решили разнообразить митапы практическими проверками знаний. Николай Птущук проводит викторину, которая состоит из несложных задачек на знание html, css, js. За правильный ответ можно было получить презент.
Мы решили разнообразить митапы практическими проверками знаний. Николай Птущук проводит викторину, которая состоит из несложных задачек на знание html, css, js. За правильный ответ можно будет получить презент.
Мы решили разнообразить митапы практическими проверками знаний. Николай Птущук проводит викторину, которая состоит из несложных задачек. За правильный ответ можно было получить презент.
Мы решили разнообразить митапы практическими проверками знаний. Николай Птущук проводит викторину, которая состоит из несложных задачек. За правильный ответ можно было получить презент.
ЛЕКЦИЯ 4. Стандарт POSIX Threads. Реентерабельность функций. Обработка сигналов. Локальные данные потоков. Принудительное завершение потоков. Шаблоны программирования с использованием потоков
Курс "Параллельные вычислительные технологии" (ПВТ), осень 2014
Сибирский государственный университет телекоммуникаций и информатики
преподаватель:
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
Мы решили разнообразить митапы практическими проверками знаний. Николай Птущук проводит викторину, которая состоит из несложных задачек на знание html, css, js. За правильный ответ можно будет получить презент.
Мы решили разнообразить митапы практическими проверками знаний. Николай Птущук проводит викторину, которая состоит из несложных задачек. За правильный ответ можно было получить презент.
Мы решили разнообразить митапы практическими проверками знаний. Николай Птущук проводит викторину, которая состоит из несложных задачек. За правильный ответ можно было получить презент.
ЛЕКЦИЯ 4. Стандарт POSIX Threads. Реентерабельность функций. Обработка сигналов. Локальные данные потоков. Принудительное завершение потоков. Шаблоны программирования с использованием потоков
Курс "Параллельные вычислительные технологии" (ПВТ), осень 2014
Сибирский государственный университет телекоммуникаций и информатики
преподаватель:
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
В третьей главе рассматриваются базовые свойства акторов, описанные в PhD диссертации Gul Agha: каждый актор имеет адрес, большой почтовый ящик, куда доставляются сообщения, адресованные актору и поведение. В ответ на входящее сообщение актор может отправить конечный набор сообщений другим акторам и/или создать конечное число новых акторов и/или поменять свое поведение для обработки следующего сообщения.
В рамках данного курса будет разработана библиотека для разработки параллельных приложений на платформе .NET, построенная по модели акторов.
Исходные коды библиотеки будут выкладываться на GitHub: https://github.com/hwdtech/HWdTech.DS
Код библиотеки будет разработан с использованием следующих принципов, приемов и методик:
S.O.L.I.D. - принципы
Unit-tests
Mock
IoC контейнеры
Для удобства слушателей курса краткий обзор данных практик приведен в Главе 4.
ЛЕКЦИЯ 3. Реентерабельность. Сигналы. Локальные данные потоков. Принудительное завершение потоков
Курс "Параллельные вычислительные технологии" (ПВТ), весна 2015
Сибирский государственный университет телекоммуникаций и информатики
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
http://cpct.sibsutis.ru/~apaznikov
Причины потерь процессорного времени при организации последовательности вычислений внутри потока: 1. Ожидание ответа на запрос (поток спит). 2. Выполнение дополнительных "лишних" действий. Как способ устранения этих потерь - паттерн Пул потоков. Анализ императивного и функционального подхода к борьбе с "жадными" операциями. Эволюция методов организации параллельных вычислений на основе пула потоков.
ПВТ - осень 2014 - Лекция 5 - Многопоточное программирование в языке С++. Р...Alexey Paznikov
ЛЕКЦИЯ 5. Многопоточное программирование в языке С++. Работа с потоками. Защита данных. Синхронизация. Будущие результаты
Курс "Параллельные вычислительные технологии" (ПВТ), осень 2014
Сибирский государственный университет телекоммуникаций и информатики
преподаватель:
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
Дракон в мешке: от LLVM к C++ и проблемам неопределенного поведенияPlatonov Sergey
В этом докладе Дмитрий кратко рассказывает о таком звере, как LLVM, о котором много кто слышал, но немногие щупали.
Что такое компилятор на самом деле? Как происходит компиляция программы, как работают оптимизации и, наконец, откуда берется неопределенное поведение в детерменированных программах на C++?
ПВТ - осень 2014 - Лекция 6 - Атомарные операции. Внеочередное выполнение инс...Alexey Paznikov
ЛЕКЦИЯ 6. Атомарные операции. Внеочередное выполнение инструкций. Барьеры памяти. Семантика захвата-освобождения. Модель памяти C++
Курс "Параллельные вычислительные технологии" (ПВТ), осень 2014
Сибирский государственный университет телекоммуникаций и информатики
преподаватель:
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
Хочу знать, сколько уникальных посетителей было на моём сайте за произвольный...Ontico
Что нужно хранить для того, чтобы была возможность ответить на этот вопрос?
Для точного ответа нужно через равные интервалы времени сохранять множество посетителей сайта (пусть это для простоты будут IP-адреса), которых мы за прошедший интервал увидели. Понятное дело, что такой объём информации хранить нереально, а даже, если получится, придётся объединять большое количество множеств и считать элементы в том множестве, которое получилось в итоге. Это очень долго. Не спасает ситуацию даже переход от точных алгоритмов к приблизительным: гарантировать точность либо не получится, либо придётся использовать объём памяти и вычислительные ресурсы, сопоставимые с точным алгоритмом.
В 80-х годах появились первые вероятностные алгоритмы для приблизительной оценки количества элементов в множестве. При большом количестве уникальных элементов эти алгоритмы дают приблизительную оценку, которая отличается от истинного значения в (1±e), e<1>0.5. То есть они могут вернуть оценку, которая сильно отличается от истинного значения с некоторой вероятностью (1-p). Чем больше требуется точность, и чем меньше нужна вероятность ошибки, тем больше ресурсов требуют алгоритмы. Сохраняя внутреннее состояние одного из таких алгоритмов через равные промежутки времени в базе данных, мы можем оценить приблизительное количество уникальных посетителей не только за произвольный интервал времени, но и за произвольное объединение любых интервалов времени, например, мы можем посчитать общее количество уникальных IP, которых мы наблюдали в промежутке времени с 17:00 до 18:00 в течение последней недели.
В 2000-ные в научном сообществе велась активная работа по достижению теоретически оптимальных характеристик (т.е. потребление памяти, сложность добавления нового элемента, сложность запроса) вероятностных приблизительных алгоритмов для оценки кардинальности (количества элементов в множестве), разрабатывался необходимый инструментарий.
Первый такой алгоритм был предложен в 2010 году. О нём-то мы и поговорим.
Дмитрий Кашицын, Троллейбус из буханки: алиасинг и векторизация в LLVMSergey Platonov
Зачастую, знакомство с алиасингом в C++ у многих программистов начинается и заканчивается одинаково: -fno-strict-aliasing. На вопросы новичка, более опытные коллеги отвечают в стиле: «не трогай! а то все сломаешь!». Новичок и не трогает. В докладе будет предпринята попытка заглянуть под капот и понять, что же там, внутри. Что такое алиасинг, где он может быть полезен и какие реальные преимущества дает. Тема будет рассмотрена и со стороны программиста и со стороны разработчика компилятора. А по сему, вопрос «зачем?» будет центральным в повествовании.
- Определение чисел Фибоначчи, скорость роста
- Общая формула, экспоненциальная скорость роста
- Наивный алгоритм и анализ его времени работы
- Более быстрый алгоритм и анализ его времени работы, заключение
Из презентации вы узнаете:
— как работает database/sql;
— интерфейс и реализации database/sql/driver;
— обзор популярных ORM и что с ними не так;
— как мы делали свой лучший ORM;
— и почему столько раз его переделывали.
Дмитрий Жестилевский — Yet another threading framework: асинхронная разработк...Yandex
Код приложений для мобильных устройств, написанный на C++, часто оказывается сложнее аналогичного на Java, ObjC или C#. Данные языки предлагают решения стандартных задач разработчика «из коробки». Многие из этих задач связаны с асинхронным выполнением операций.
В докладе я представлю подход к написанию понятного и производительного асинхронного кода на С++, который применяется в разработке библиотек для мобильных геоприложений в Яндексе.
В третьей главе рассматриваются базовые свойства акторов, описанные в PhD диссертации Gul Agha: каждый актор имеет адрес, большой почтовый ящик, куда доставляются сообщения, адресованные актору и поведение. В ответ на входящее сообщение актор может отправить конечный набор сообщений другим акторам и/или создать конечное число новых акторов и/или поменять свое поведение для обработки следующего сообщения.
В рамках данного курса будет разработана библиотека для разработки параллельных приложений на платформе .NET, построенная по модели акторов.
Исходные коды библиотеки будут выкладываться на GitHub: https://github.com/hwdtech/HWdTech.DS
Код библиотеки будет разработан с использованием следующих принципов, приемов и методик:
S.O.L.I.D. - принципы
Unit-tests
Mock
IoC контейнеры
Для удобства слушателей курса краткий обзор данных практик приведен в Главе 4.
ЛЕКЦИЯ 3. Реентерабельность. Сигналы. Локальные данные потоков. Принудительное завершение потоков
Курс "Параллельные вычислительные технологии" (ПВТ), весна 2015
Сибирский государственный университет телекоммуникаций и информатики
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
http://cpct.sibsutis.ru/~apaznikov
Причины потерь процессорного времени при организации последовательности вычислений внутри потока: 1. Ожидание ответа на запрос (поток спит). 2. Выполнение дополнительных "лишних" действий. Как способ устранения этих потерь - паттерн Пул потоков. Анализ императивного и функционального подхода к борьбе с "жадными" операциями. Эволюция методов организации параллельных вычислений на основе пула потоков.
ПВТ - осень 2014 - Лекция 5 - Многопоточное программирование в языке С++. Р...Alexey Paznikov
ЛЕКЦИЯ 5. Многопоточное программирование в языке С++. Работа с потоками. Защита данных. Синхронизация. Будущие результаты
Курс "Параллельные вычислительные технологии" (ПВТ), осень 2014
Сибирский государственный университет телекоммуникаций и информатики
преподаватель:
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
Дракон в мешке: от LLVM к C++ и проблемам неопределенного поведенияPlatonov Sergey
В этом докладе Дмитрий кратко рассказывает о таком звере, как LLVM, о котором много кто слышал, но немногие щупали.
Что такое компилятор на самом деле? Как происходит компиляция программы, как работают оптимизации и, наконец, откуда берется неопределенное поведение в детерменированных программах на C++?
ПВТ - осень 2014 - Лекция 6 - Атомарные операции. Внеочередное выполнение инс...Alexey Paznikov
ЛЕКЦИЯ 6. Атомарные операции. Внеочередное выполнение инструкций. Барьеры памяти. Семантика захвата-освобождения. Модель памяти C++
Курс "Параллельные вычислительные технологии" (ПВТ), осень 2014
Сибирский государственный университет телекоммуникаций и информатики
преподаватель:
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
Хочу знать, сколько уникальных посетителей было на моём сайте за произвольный...Ontico
Что нужно хранить для того, чтобы была возможность ответить на этот вопрос?
Для точного ответа нужно через равные интервалы времени сохранять множество посетителей сайта (пусть это для простоты будут IP-адреса), которых мы за прошедший интервал увидели. Понятное дело, что такой объём информации хранить нереально, а даже, если получится, придётся объединять большое количество множеств и считать элементы в том множестве, которое получилось в итоге. Это очень долго. Не спасает ситуацию даже переход от точных алгоритмов к приблизительным: гарантировать точность либо не получится, либо придётся использовать объём памяти и вычислительные ресурсы, сопоставимые с точным алгоритмом.
В 80-х годах появились первые вероятностные алгоритмы для приблизительной оценки количества элементов в множестве. При большом количестве уникальных элементов эти алгоритмы дают приблизительную оценку, которая отличается от истинного значения в (1±e), e<1>0.5. То есть они могут вернуть оценку, которая сильно отличается от истинного значения с некоторой вероятностью (1-p). Чем больше требуется точность, и чем меньше нужна вероятность ошибки, тем больше ресурсов требуют алгоритмы. Сохраняя внутреннее состояние одного из таких алгоритмов через равные промежутки времени в базе данных, мы можем оценить приблизительное количество уникальных посетителей не только за произвольный интервал времени, но и за произвольное объединение любых интервалов времени, например, мы можем посчитать общее количество уникальных IP, которых мы наблюдали в промежутке времени с 17:00 до 18:00 в течение последней недели.
В 2000-ные в научном сообществе велась активная работа по достижению теоретически оптимальных характеристик (т.е. потребление памяти, сложность добавления нового элемента, сложность запроса) вероятностных приблизительных алгоритмов для оценки кардинальности (количества элементов в множестве), разрабатывался необходимый инструментарий.
Первый такой алгоритм был предложен в 2010 году. О нём-то мы и поговорим.
Дмитрий Кашицын, Троллейбус из буханки: алиасинг и векторизация в LLVMSergey Platonov
Зачастую, знакомство с алиасингом в C++ у многих программистов начинается и заканчивается одинаково: -fno-strict-aliasing. На вопросы новичка, более опытные коллеги отвечают в стиле: «не трогай! а то все сломаешь!». Новичок и не трогает. В докладе будет предпринята попытка заглянуть под капот и понять, что же там, внутри. Что такое алиасинг, где он может быть полезен и какие реальные преимущества дает. Тема будет рассмотрена и со стороны программиста и со стороны разработчика компилятора. А по сему, вопрос «зачем?» будет центральным в повествовании.
- Определение чисел Фибоначчи, скорость роста
- Общая формула, экспоненциальная скорость роста
- Наивный алгоритм и анализ его времени работы
- Более быстрый алгоритм и анализ его времени работы, заключение
Из презентации вы узнаете:
— как работает database/sql;
— интерфейс и реализации database/sql/driver;
— обзор популярных ORM и что с ними не так;
— как мы делали свой лучший ORM;
— и почему столько раз его переделывали.
Дмитрий Жестилевский — Yet another threading framework: асинхронная разработк...Yandex
Код приложений для мобильных устройств, написанный на C++, часто оказывается сложнее аналогичного на Java, ObjC или C#. Данные языки предлагают решения стандартных задач разработчика «из коробки». Многие из этих задач связаны с асинхронным выполнением операций.
В докладе я представлю подход к написанию понятного и производительного асинхронного кода на С++, который применяется в разработке библиотек для мобильных геоприложений в Яндексе.
* Почему Angular 2 такой быстрый и как его ускорить еще сильнее?
* Как работает Change Detection механизм и как им управлять?
* Зачем нам Zone.js и Функциональное Реактивное Программирование?
* Как работать с Redux и Mobx в Angular 2 и что можно от этого выиграть?
Об этом и ряде других вещей вы узнаете из этого доклада.
Введение в разработку многопоточных приложенийCUSTIS
Открытый семинар для студентов в компании CUSTIS (31 октября 2012 года).
Лектор: Дмитрий Костиков, ведущий разработчик C#, сертифицированный специалист Microsoft (MCTS), специалист по разработке корпоративных приложений (С#, SQL, Win/Web).
Аннотация: На семинаре будут рассмотрены принципы работы с многопоточностью, эволюция представлений и методик, описаны проблемы, возникающие при разработке многопоточных приложений, а также механизмы для работы с многопоточностью, применяющиеся в Windows и .NET.
Видеозапись семинара: https://vimeo.com/53323987.
Хранимые процедуры в NoSQL СУБД на примере Tarantool / Денис Линник (Mail.Ru)Ontico
HighLoad++ 2017
Зал «Найроби + Касабланка», 8 ноября, 11:00
Тезисы:
http://www.highload.ru/2017/abstracts/2950.html
Одним из приемов, позволяющих увеличить скорость обработки и получения данных, является написание хранимых процедур. В этом докладе будут рассмотрены преимущества и недостатки такого подхода на примере Tarantool.
Tarantool можно рассматривать как полноценный application server. При таком подходе к разработке приложения, запущенные на Tarantool, можно рассматривать как микросервисы.
...
DrupalCafe#9@Novosibirsk https://vk.com/drupalcafe9
Что такое очереди, как эту технику технологию применить, чего она позволяет избежать, какие задачи решает, как Queue API реализован в Drupal 7, какие наиболее популярные модули для D7 используют очереди.
-----
Сайт сибирского сообщества друпаллеров ДрупалСиб drupalsib.ru
Группа сибирского сообщества друпаллеров Вконтакте vk.com/drupalsib
Партнер Группа компаний И20 i20.biz
Aleksei Milovidov "Let's optimize one aggregate function in ClickHouse"Fwdays
Let's calculate an average of one column for each key, like the following query: SELECT key, avg(value) FROM table GROUP BY key. What can be more simple? But the question is: what is the most efficient way to do it? How to write code to achieve maximum performance on a variety of hardware?
Презентация со встречи сообщества SPb Python Interest Group рассказывающая об устройстве словарей в Python.
В презентации рассмотрена работа словаря в CPython 2.x, словаря в CPython 3.x, а также рассмотрены изменения в CPython 3.6.
Помимо CPython рассмотрены версии словаря в альтернативных реализациях Python, таких как PyPy, IronPython и Jython.
РусКрипто CTF 2010 Full Disclosure (мастер класс)Dmitry Evteev
В презентации рассмотрены следующие вопросы:
- технические и организационные подробности подготовки и проведения РусКрипто CTF 2010
- заложенные уязвимости, пути их обнаружения и эксплуатации
- хронология событий на РусКрипто CTF 2010 и не найденные игроками уязвимости
Поговорим о микрооптимизациях .NET-приложенийAndrey Akinshin
Доклад для Middle и Senior .NET-программистов о микроптимизациях приложения, из которого Вы узнаете:
О том, как важно понимать IL и ASM код, соответствующий вашей C#-программе;
О различных уровнях микрооптимизаций начиная от C# и JIT компиляторов, заканчивая CPU;
Об особенностях оптимизаций под различные процессорные архитектуры;
Об отличиях разных версиях JIT-компиляторов, включая RyuJIT;
О том, как правильно замерять время выполнения приложений и оценивать эффективность оптимизаций.
Доклад будет полезен всем разработчикам, которые хотят хотят сделать свои и без того быстрые программы ещё на 5-10% быстрее.
Доклад с митапа MSK .NET Community (http://mskdotnet.org).
Поговорим о самом мощном отладчике для Windows – WinDbg. Разберем как начать использовать этот отладчик, чем он может быть полезен для .NET разработчиков. Подробней остановимся на практических моментах его применения, зачем он прикладным программистам, web-разработчикам. Посмотрим и на другие инструменты отладки, которые занимают нишу между интуитивно управляемым комбайном Visual Studio и легким, но крайне аскетичным WinDbg.
Артемий Гарин "Выбор лучшего хранилища в Android (cпойлер: Realm)"IT Event
"Выбор хранилища для проекта — важная часть разработки. Раньше в Android, было сложно: много различных ORM-библиотек на SQLite, есть NoSQL библиотеки, но нет чего-то действительно быстрого и легкого в работе.
Появление Realm изменило всё. В докладе мы сравним его с популярными SQLite ORM библиотеками, посмотрим что быстрее, с чем проще работать. В конце доклада пара слов об еще одном, новом и интересном инструменте, который сравнимым с Realm."
Similar to Викторина | Odessa Frontend Meetup #15 (20)
Мы решили разнообразить митапы практическими проверками знаний. Николай Птущук проводит викторину, которая состоит из несложных задачек на знание html, css, js. За правильный ответ можно было получить презент.
Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...OdessaFrontend
Группа волонтеров по всему миру работает над React и React Native приложениями для ADHD America. В своей работе они используют Recoil — довольно новую библиотеку для работы с состоянием в Реакт приложениях. Сергей Журавель рассказывает почему они решили попробовать Recoil и показывает как использоватьт Recoil в React и React Native приложениях.
GatsbyJS считают убийцей WordPress и компилятором с кучей плюшек. Екатерина Шиповская рассматривает плюсы и минусы использования GatsbyJS. И помогает разобраться, так ли он хорош, и что делает его особенным.
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...OdessaFrontend
Дмитрий Ховрич рассказывает как использовать строгую типизацию TypeScript и писать надёжный код в функциональном стиле. А также делится знаниями как использовать функторы и монады в ежедневной фронтенд разработке.
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18OdessaFrontend
Существует ряд инструментов для работы с графикой в Web, в том числе Canvas API. Он на первый взгляд простой и не разнообразный, но вполне позволяет создать полноценный мир, ограниченный только вашим воображением и количеством оперативной памяти. Андрей Федотюк знакомит с основными принципами, некоторыми фишками и рассказывает все от базовой геометрии до создания полноценной игры.
Скомпилировалось — значит работает. К сожалению это выражение не про typescript. Кажется, что количество рантайм ошибок спровоцированных несоответствием типов должно стать меньше, однако компилятор ts не помогает разработчику писать качественный код, а наоборот поощряет использование грязных хаков. Филипп Сапронов рассказывает, как прекратить войну с компилятором и писать более надёжный код, используя всю мощь системы типов. Доклад будет интересен тем, кому ts кажется простым или наоборот сложным, а также тем, кто хочет научится понимать код тайпингов таких библиотек как lodash.
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17OdessaFrontend
Если еще несколько лет назад фронтенд это часто был простой и понятный интерфейс между пользователем и бекендом, то на сегодняшний день с учетом обилия фреймворков, либ и все возможных новшеств, фронтенд уже можно считать полноценным отдельным приложение со своей логикой и множеством подводных камней именно по этом сегодня как никогда важно задумываться о том, а как обеспечить простой и понятный процесс тестирования вашего фронта?
Как сделать так чтоб покрытие авто тестами не стало для вас болью или не для вас, но всё еще болью? Дмитрий Хименес обращает ваше внимание на несколько простых моментов, которые стоит учитывать при разработке фронтенда, чтобы сохранить возможность безболезненно сопровождать его автотестами.
OAuth2 и OpenID Connect простым языком | Odessa Frontend Meetup #17OdessaFrontend
OAuth2 и OpenID — это протоколы для защиты данных. Многие современные приложения и веб-приложения используют их чтобы защитить данные, которые предоставляют их сервисы. Однако они сложны, а информация которая доступна о них в интернете, зачастую противоречива и содержит множество терминологии ,что еще больше усложняет их понимание. В своем докладе Юрий Юдкин рассказывает как эти протоколы устроены и для чего они используются, простыми и понятными словами.
Объекты в ECMAScript | Odessa Frontend Meetup #16OdessaFrontend
Обычно мы задаем объекты литерально, через пару фигурных скобок. С их помощью мы можем моделировать окружающую нас действительность и описывать её в коде. А чем лучше мы знаем этот инструмент, тем более удивительные вещи мы можем творить с его помощью. Барабанов Дмитрий рассматривает объект с точки зрения спецификации EcmaScript. Это дает новую информацию к размышлению: а почему те или иные вещи работают именно таким образом в JavaScript?
Фриланс как профессиональная деградация | Odessa Frontend Meetup #16OdessaFrontend
Волшебное слово «Фриланс». Свободный график, отсутствие привязки к локации и свобода передвижения это то, с чем ассоциируется фриланс в первую очередь. Но является ли фриланс достойной альтернативой классической офисной работе на самом деле или это попытка выдать желаемое за действительное? Можно ли быть успешным фрилансером и высоко квалифицированным специалистом? Константин Кулаксыз рассказывает честно и без прикрас про дикий мир фриланса.
Cлайдер на CSS | Odessa Frontend Meetup #16OdessaFrontend
На сегодняшний день сложно себе представить сайт, на котором не будет слайдера. И, для его подключения, используется JS код, а иногда еще и с дополнительной библиотекой. Но Влад Цугульский рассказывает как написать свой простой слайдер на чистом СSS и при этом не нагружая сайт лишним кодом.
5 мая 2012 года мы с Женей Батовским рассказали о том, какие инструменты используют фронтендеры Яндекса. Это было больше чем просто доклад.
Я рассказал о сборке и оптимизации кода, а это было ещё до появления гранта, галпа и вебпака. И почти все утилиты написали коллеги из Яндекса.
Женя рассказал о том, как можно на одном компе собрать все браузеры и установить несколько версий одного браузера.
Это было 8 лет назад, тогда ещё лидировал Firefox, мы работали в Яндексе и у меня были дреды :)
В один прекрасный солнечный день вы осознаете, что ваш Vuex store и ваши Vuex модули переполнены дублирующимся кодом асинхронных вызовов и мутаций. Михаил Фарапонов рассказывает как сделать так, чтобы этого не допустить.
В современном мире тяжело понять, какие изменения положительно скажутся на сайте/приложении, а какие ему только навредят. Для этого есть масса инструментов и один из них — A/Б тестирование. Что это такое? Как его использовать? И, самое главное, зачем? Об этом рассказывает Сергей Полющенков.
Пощупать 3д в браузере | Odessa Frontend Meetup #15OdessaFrontend
Веб технологии давно позволяют прикоснуться ко всем 3 измерениям в браузере используя WebGL, и для этого достаточно понять самые простые принципы трехмерной графики. Что такое геометрия и материал. Как WebGL взаимодействует с ДОМэлементами и его событиями. Простыми словами про это подробно рассказывает веб-слесарь Константин Плаксивый.
Структуры данных в JavaScript | Odessa Frontend Meetup #13OdessaFrontend
Алгоритмы и структуры данных — это фундаментальные основы в программировании. Но, при изучении JavaScript, на это не хватает времени. Прогрессивные фрейморки высокоуровнего языка богаты функциональностью и оптимизацией, но достаточно ли этого? Николай Громов рассказывает как он понял, что алгоритмы никуда не ушли и почему понадобились структуры данных, а так же сравнивает их производительность на JavaScript.
Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13OdessaFrontend
Вы часто слышали слова «Результативность», «Производительность», «Эффективность», но их смысл стал размываться. Евгений Кравцов рассказывает о настоящем значении этих слов, применительно к профессиональной деятельности. Все, что вы хотели знать об эффективности, но стеснялись спросить). И да, вы все это знаете и без него, просто не пытались систематизировать эти знания. И нет, это не тренинг личностного роста
Как правильно делать анимацию и добиться 60fps на различных девайсах | Odessa...OdessaFrontend
Анимация — неотъемлемая часть любого нынешнего веб-интерфейса. Виталий Калашников рассказывает про аппаратное ускорение анимаций, как использовать вычислительную технику при создании динамического веб-приложения. Как с его помощью заставить анимацию работать 60 кадров в секунду даже на мобильном устройстве и при этом не допустить падение браузера у пользователей. А также рассказывает про CSS vs JS анимации и сравнивает производительность.
Мы решили разнообразить митапы практическими проверками знаний. Николай Птущук проводит викторину, которая состоит из несложных задачек. За правильный ответ можно было получить презент.
Как пройти собеседование по js? И зачем? vol. 2 | Odessa Frontend Meetup #12OdessaFrontend
Снова поговорим о собеседованиях. Иногда нам приходится искать работу. Или сотрудника. И в такой ситуации очень сложно обойтись без собеседования. Юрий Федоренко больше года тому делился собственным опытом прохождения и проведения собеседований. С тех пор коллекция его вопросов существенно пополнилась, а тысячи разработчиков в своих профайлах на линкедине сменили грейд с джуниора на мидла. Поэтому в новом докладе будут и новые вопросы, и свежие наблюдения.
16. x
5.Что будет в консоли?
var x = 1;
if (function f(){}) // if (true) {
x += typeof f; // x += "undefined"
}
console.log( ); // "1undefined"
01.
02.
03.
04.
05.
16
17. result
6.Что будет в консоли?
function foo(foo){
return typeof foo.bar;
}
const result = foo({ foo: { bar: 1 } });
console.log( );
01.
02.
03.
04.
05.
17