Pull to refresh
30
0
Send message

Паттерны реактивности в современном JavaScript

Level of difficultyHard
Reading time12 min
Views12K



"Реактивность" — это то, как системы реагируют на обновление данных. Существуют разные типы реактивности, но в рамках этой статьи, реактивность — это когда мы что-то делаем в ответ на изменение данных.


Паттерны реактивности являются ключевыми для веб-разработки


Мы работаем с большим количеством JS на сайтах и в веб-приложениях, поскольку браузер — это полностью асинхронная среда. Мы должны реагировать на действия пользователя, взаимодействовать с сервером, отправлять отчеты, мониторить производительность и т.д. Это включает в себя обновление UI, сетевые запросы, изменения навигации и URL в браузере, что делает каскадное обновление данных ключевым аспектом веб-разработки.


Реактивность, обычно, ассоциируется с фреймворками, но можно многому научиться, реализуя реактивность на чистом JS. Мы можем смешивать и играть с этими паттернами для лучшей обработки обновления данных.


Изучение паттернов приводит к уменьшению количества кода и повышению производительности веб-приложений, независимо от используемого фреймворка.

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

Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments8

Как я встраивал JS в свой игровой движок

Reading time14 min
Views7.6K

Писать на С++ игры долго и дорого, но при этом по перфомансу получается хорошо. Но далеко не всё в играх, требовательно к производительности, особенно 2D. Например всякие окошечки не производят тяжелых расчетов внутри. А на больших проектах они могут занимать до 80% всего объема кода. И на С++ есть проблемы на продакшене - если где-то крешится или бажит, приходится перезаливать приложение.

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

Совсем недавно прикрутил JS к своему движку. Кому интересны подробности - добро пожаловать под кат.

Читать далее
Total votes 14: ↑12 and ↓2+10
Comments21

Как подготовиться к собеседованию на позицию системного аналитика. ТОП-5 тем

Reading time7 min
Views110K

Представьте, что вам предстоит собеседование на позицию системного аналитика (СА). Что нужно знать для успешного прохождения интервью и какие вопросы могут задать? Эта статья может стать roadmap при подготовке к собеседованию.

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments12

Разработка REST-серверов на Go. Часть 1: стандартная библиотека

Reading time9 min
Views77K
Это — первый материал из серии статей, посвящённой разработке REST-серверов на Go. В этих статьях я планирую описать реализацию простого REST-сервера с использованием нескольких различных подходов. В результате эти подходы можно будет сравнить друг с другом, можно будет понять их относительные преимущества друг перед другом.

Первый вопрос разработчиков, которые только начинают применять Go, часто выглядит так: «Какой фреймворк стоит использовать для решения задачи X». И хотя это — совершенно нормальный вопрос, если задавать его, имея в виду веб-приложения и серверы, написанные на многих других языках, в случае с Go при ответе на этот вопрос нужно принять во внимание множество тонкостей. Существуют серьёзные аргументы как «за», так и «против» использования фреймворков в Go-проектах. Я, работая над статьями из этой серии, вижу своей целью объективное разностороннее исследование этого вопроса.


Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments8

Минкомсвязи ужесточит правила для софта с элементами иностранного происхождения

Reading time3 min
Views13K
На днях стало известно о том, что экспертный совет по программному обеспечению при Минкомсвязи собирается через полгода начать исключать из реестра отечественного софта продукты, которые базируются на разработках иностранного происхождения. По словам авторов идеи, эта мера принесет пользу заказчикам, которые находятся под санкциями или могут попасть под них.

Решение о поэтапном отказе от использования софта, который базируется на программных продуктах иностранного происхождения было принято в ноябре, на заседании экспертного совета по российскому ПО при Минкомсвязи. В частности, отказываться будут от «СУБД, серверов приложений и платформ», о чем сообщает «Коммерсант».
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments128

Шесть бесплатных автоматизированных платформ для изучения программирования

Reading time3 min
Views107K

Привет, сообщество! Мы в Хекслете составили список из пяти бесплатных автоматизированных онлайн-платформ для новичков.


На русском:


HTML Academy
«Академия» учит верстать сайты. Основной контент в формате подписки (390 рублей в месяц) и интенсивов (от 12500 рублей), но есть несколько бесплатных автоматизированных курсов по основам HTML, CSS и JavaScript.


В HTML Academy не столько задания для прокачки в программировании, сколько для знакомства с основами веб-разработки. Но это идеальный формат для тех, кто никогда не писал код и хочет попробовать. Большое количество веб-разработчиков начинало путь именно здесь.


Code Basics
Это новый бесплатный сервис от Хекслета. Его основная идея — через решение простых заданий прямо в браузере погружать новичков в основы программирования. Сейчас есть уроки по PHP, JavaScript и Python, ближайшее время появятся — новые. Платформа подойдет лучше всего для изучения основ синтаксиса, и меньше — для прокачки алгоритмов.


Обучение построено вокруг чередования небольших порций теории (3-4 абзаца) и закрепления практики в тренажере. У каждого практического задания есть решение учителя, которое можно сравнить со своим после успешного прохождения и раздел для обсуждения задания.

Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments52

Gradle 5.0 — что нового

Reading time2 min
Views11K

В процессе разработки CUBA мы применяли все три основных инструмента сборки — начали с Ant, потом перешли на Maven на короткое время, а сейчас используем Gradle и, похоже, что в ближайшее время останемся с ним.


Не так давно вышел Gradle 5.0. В этой версии появилось большое количество новых возможностей, которые помогут разработчикам писать более сложные сценарии и собирать свои проекты ещё быстрее и безболезненнее.


image

Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments5

GUI-фреймворки — на поток

Reading time5 min
Views18K
Приветствую вас, коллеги!

Пару-тройку месяцев назад я начал приглядываться к Golang с целью использовать его для десктопных приложений. Язык понравился, объем и тематика написанных для него пакетов произвели впечатление, но вот с GUI дело обстоит не так радужно. Не буду сейчас подробно останавливаться на деталях, достаточно будет сказать, что после чтения нескольких обзоров и беглого просмотра существующих GUI-пакетов решил написать свой — тем более, что опыт в этом у меня есть.

Первая мысль была — пойти по уже проторенному пути: написать набор соответствующих функций на С, точнее, адаптировать уже готовый — то, что я писал когда-то для Harbour и C++, сделать привязку к нему с помощью cgo (C API для Golang) и дружелюбную обертку. Я даже начал это делать, получил первое окошко, но как представил, сколько впереди еще работы, отдельно для Windows, отдельно для Linux, работы чисто технической, поскольку я это уже проходил, энтузиазм несколько поостыл.

И тогда пришла другая идея.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments60

Как проверить автомобиль перед покупкой: используем доступные в Интернете базы данных и логику

Reading time11 min
Views144K


Согласно данным аналитического агентства «АВТОСТАТ», по итогам октября 2017 года объем рынка легковых автомобилей с пробегом в России составил 473 тыс. единиц, а по итогам 10 месяцев 2017 года — около 4,4 млн единиц, что на 1,5% больше, чем год назад.

Источник: www.autostat.ru/press-releases/32145

Ни для кого не секрет, что в этой доходной сфере помимо добросовестных продавцов попадаются мутные товарищи, а иногда и отъявленные мошенники. Любовь наших сограждан к халяве и правовые особенности владения транспортными средствами оставляют множество возможностей для желающих несправедливо получить золото семейного запаса обычных российских граждан.

Однако, благодаря некоторым усилиям государственных органов и прочих организаций у нас появилась возможность довольно оперативно собирать интересующую информацию о конкретных автомобилях по открытым источникам в Интернете. Как делать это быстро и бесплатно, мы постараемся рассказать в этой статье.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments61

VAX — инструмент для визуального программирования, или как написать SQL мышкой

Reading time7 min
Views40K


Я хочу рассказать про созданный мною web редактор для «визуального программирования» и его историю создания.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments88

Почему визуальное программирование и D3NE могут быть Вам полезны

Reading time8 min
Views30K

Визуальное программирование позволяет описывать процессы в графическом виде, в отличии от текстового представления, где нужно приложить дополнительные усилия, чтобы мыслить так, как это должен выполнять компьютер. Звучит многообещающе, но попробуем разобраться в сути и выяснить, почему Вам стоит это попробовать.



Само по себе программирование подразумевает не только процесс написания кода, но зачастую на это тратится большая часть времени при разработке. Только представьте, сколько усилий приходится тратить на то, чтобы держать в голове множество правил и спецификаций к конкретному языку программирования, вместо того, чтобы сосредоточиться на решаемой проблеме. Особенно может раздражать разнообразие синтаксиса в языках: где-то нужна точка с запятой, где-то не нужны фигурные скобки, где-то вообще ни одно выражение не обходится без скобок. Что уж и говорить о холиварах, напоминающие религиозные споры.

Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments79

Пять лет, пять образовательных проектов: коротко о главном и истории преподавателей

Reading time14 min
Views9.2K
image

Недавно исполнилось пять лет Технопарку Mail.Ru — первому образовательному проекту, который мы организовали совместно с МГТУ им. Н.Э. Баумана. За время его работы были также запущены проекты в других сильнейших технических вузах страны: Техносфера Mail.Ru (ВМК МГУ), Технотрек Mail.Ru (МФТИ), Технополис Mail.Ru (СПбПУ) и Техноатом Mail.Ru (МИФИ). В честь дня студента, который традиционно отмечается 25 января, мы решили вспомнить, как начиналось наше направление IT-образования, как появлялись и развивались наши образовательные проекты, и рассказать, что они представляют собой сегодня, а также сказать спасибо нашим вузам-партнерам, без которых ничего этого не было бы. Технопарк был первым и несколько лет — единственным. Мы поговорим о нём подробнее, потому что именно на Технопарке отрабатывались решения и подходы, которые позднее легли в основу остальных проектов. А потом дадим слово нашим преподавателям.
Читать дальше →
Total votes 54: ↑54 and ↓0+54
Comments6

BLE под микроскопом

Reading time6 min
Views95K
image

BLE под микроскопом. Часть 1

часть 2, часть 3
В мире существует большое разнообразие способов передачи информации «по воздуху». В последнее время всё большую популярность обретает формат BLE. Сегодня мы рассмотрим особенности этого протокола и поговорим о том, почему же он так востребован в современном мире. Так же мы рассмотрим средства разработки и особенности работы вспомогательных приложений на windows, android от фирмы Nordic.
Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments35

Еще один взгляд на безопасность Интернета вещей

Reading time6 min
Views5.4K
Рынок Internet of Things является сегодня, пожалуй, одним из наиболее привлекательных для технологических инвестиций. Конечно, стоит отдавать себе отчет в том, что во многом его чрезмерная активность является надуманной и, кроме того, в реальности подобные технологии уже давно нас окружают. В некоторых случаях, IoT воспринимают и как красивое сочетание букв, обещающее превратить ваш собранный на коленке проект в круглую сумму на банковском счету. Не будем вдаваться в подробности с точки зрения экономики этого процесса, отметим только, что большинство ожиданий инвесторов основывается на красивых цифрах прогнозов объема рынка лет через пять-десять. Один из вариантов выглядит как «15 миллиардов устройств в этом году – 200 миллиардов устройств через пять лет». Как же тут не порадоваться за темпы роста… К сожалению, подобные прогнозы редко бывают близки к истине и на реальное развитие событий оказывают влияние множество факторов, часть из которых мы даже не можем сейчас предугадать.



Однако есть один вопрос, который занимает умы разработчиков, производителей и конечных пользователей продуктов информационных технологий уже не один десяток лет – безопасность. Сегодня, когда число «умных» устройств в пересчете на одного пользователя существенно выросло, он становится еще более важным. В сети можно найти множество информации по данной теме, но, как говорится, «Безопасности много не бывает», и мы надеемся, что этот материал окажется полезным нашим читателям.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

Измерение производительности функций в JavaScript

Reading time7 min
Views35K


Производительность всегда играла ключевую роль в программном обеспечении. А в веб-приложениях её значение ещё выше, поскольку пользователи легко могут пойти к конкурентам, если сделанный вами сайт работает медленно. Любой профессиональный веб-разработчик должен об этом помнить. Сегодня по-прежнему можно успешно применять массу старых приёмов оптимизации производительности, вроде минимизации количества запросов, использования CDN и не использования для рендеринга блокирующего кода. Но чем больше разработчики применяют JavaScript, тем важнее становится задача оптимизации его кода.
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments15

Автоматизация тестирования вебсайта: Pytest, Allure, Selenium + несколько секретных ингредиентов

Reading time5 min
Views19K
Уже больше года у Acronis новый логотип, о том, как он создавался можно прочитать тут. В рамках ребрендинга обновился и сайт www.acronis.com. Для построения сайта мы выбрали CMS Drupal. Сайт получился классный снаружи и непростой внутри: 28 локалей (!), отзывчивый веб-дизайн, карусели, визарды, всплывающие окна… в итоге пришлось задействовать множество различных модулей друпала, некоторые из них кастомизировать и писать собственные. При работе такой динамичной, сложной системы неизбежны ошибки. Их предотвращением и выявлением занимается команда контроля и обеспечения качества вебсайта. В этой статье мы хотим поделиться своим успешным рецептом автоматизации тестирования нашего сайта.


Добро пожаловать под кат!
Total votes 16: ↑16 and ↓0+16
Comments10

Смарт-часы со стрелками. Что носить тем, кто предпочитает классические циферблаты

Reading time6 min
Views76K
Умные часы в подавляющем большинстве отображают всю информацию на цифровом дисплее, и это не учитывает вкусы тех, кто привык к «классическому» отображению времени. Одних разработчиков это подталкивает к созданию циферблатов-заставок со стрелками, других — к созданию «аналоговых» смарт-часов, и последние — в нашей сегодняшней подборке.


Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments8

Генератор своими руками на 220 вольт. Теперь отключения света не страшны

Reading time2 min
Views544K
Я покажу как собрать простой, но достаточно мощный, генератор на 220 вольт.



Потребуется:


— коллекторный мотор, можно другой на 12 вольт
— насадка на ось мотора — патрон от дрели
— бесперебойник UPS или инвертор с 12 на 220
— диод на 10 ампер: Д214, Д242, Д215, Д232, КД203 и т. д.
— провода
— велосипед
— и желательно аккумулятор на 12 вольт

Сборка:


— закрепляем велосипед так, что бы заднее колесо крутилось свободно, вывешиваем его
— прикручиваем патрон на ось мотора
— крепим мотор так, что бы патрон плотно прижимался к колесу, можно подтянуть его пружиной
— подключаем мотор к аккумулятору: минусовой провод мотора к минусу аккумулятора, плюсовой провод мотора к аноду диода, катод диода к плюсу аккумулятора
— аккумулятор соединяем с бесперебойником или с инвертором
Всё! К бесперебойнику можно подключать потребители на 220 вольт и пользоваться электричеством! Как только аккумулятор разрядится, достаточно будет покрутить педали и примерно через час аккумулятор зарядится.
Читать дальше →
Total votes 270: ↑262 and ↓8+254
Comments181

Для чего blender фотографу?

Reading time3 min
Views51K
Существуют ли эмуляторы фотостудий? Таким вопросом однажды задался мой товарищ, изучая цены на аренду осветителей и вспоминая первые эксперименты с настольными лампами и листами ватмана. Хороший студийный свет стоит дорого, требует затемненное помещение и специальные фоны. В виртуальном мире эксперименты со светом не ограничены ничем, а результат можно повторить в реальности имея готовую схему. Мы отыскали несколько приложений. Платное и даже онлайн. Но руки чесались сделать что-то своё. Выделил пару выходных на благодатное дело и смоделировал виртуальную студию с пресетами освещения и «фотомоделью» Сюзанной — маскотом свободного 3Д редактора blender.



Читать дальше →
Total votes 68: ↑66 and ↓2+64
Comments25

Токарная ЧПУ Siemens Sinumerik 840D sl: создание режущего инструмента [шот 02]

Reading time5 min
Views50K
Всем доброго времени суток!
Это проект Открытого технического образования «Политех 2.0».
Вот наша история и идеология.

Ну а после непродолжительной паузы мы продолжили выкладывать видео по ЧПУ и вот очередной вводный шот.
Сразу просьба отписать в комментариях — стоит ли дублировать здесь, на Хабре текстовый обучающий материал, или лучше отписывать новое и события этапов развития нашего проекта. Просто у нас есть в заготовках материалы по CAD/CAM системам, которые не достойны отдельного видео, но возможно были бы интересны Вам!

В данном видео я хотел бы рассказать о том, как создавать режущий инструмент, необходимый для программирования токарной обработки в системе ЧПУ Siemens Sinumerik 840D Sl.:



Данная статья несколько дополнит сам видеоролик и его контент, так что если появились вопросы — милости просим подкат.

Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments15
1
23 ...

Information

Rating
Does not participate
Registered
Activity