[Перевод] Пять распространенных ошибок памяти в JavaScript |
Или советы по предотвращению утечек памяти в ваших веб-приложениях.
В JavaScript нет примитивов управления памятью. Вместо этого память управляется виртуальной машиной JavaScript посредством процесса восстановления памяти, который известен как Garbage Collection.
Но если мы не можем заставить его работать, как мы узнаем, что он будет работать правильно? Что мы знаем об этом? Выполнение скрипта приостанавливается во время процесса — это освобождает память для недоступных ресурсов. Скрипт недетерминирован и не будет проверять всю память за один раз, а будет выполняться в несколько циклов. Этот процесс непредсказуем и будет выполняться при необходимости.
Значит ли это, что нам не нужно беспокоиться о выделении ресурсов и памяти? Конечно, нет. Если вы не будете осторожны, у вас будут утечки памяти.
Читать далееhttps://habr.com/ru/post/677364/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677364
Метки: javascript ReactJS react утечки памяти |
Что такое шейдеры, зачем они нужны и как разобраться во всем этом. Краткий экскурс по рендерингу в Unity |
Всем привет. Сегодня я хотел бы задеть такую тему, как рендеринг и шейдеры в Unity. Шейдеры - простыми словами это инструкции для наших видео-карт, которые говорят, как правильно отрисовывать и трансформировать объекты в игре. Итак, welcome to the club buddy.
Читать далееhttps://habr.com/ru/post/677360/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677360
Метки: C# unity CGI (графика) AR и VR render shaders hlsl shaderlab graph engine |
[Перевод] Хороший инженер знает свои инструменты |
Раньше, когда я думал, что я крутой инженер, я провалил собеседование из-за одного глупого вопроса. Как раз дин из тех, что «не имеют никакого отношения к работе». Вот он: «Что бы вы изменили в JavaScript?»
Что за глупый вопрос, какое он имеет отношение к размещению div на странице и решению бизнес-задач? Кем считает себя этот интервьюер??? JavaScript совершенен и удивителен, если вы боретесь с какой-либо из его сложных деталей, вы, очевидно, просто еще недостаточно умны.
Именно так я думал тогда. Но я ошибался.
Читать далееhttps://habr.com/ru/post/677358/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677358
Метки: javascript Программирование |
Язык барабанов: осмысленный и беспощадный |
Недавно задумался о том, как прямо на наших глазах меняются представления о телекоммуникации, и уже практически ушел в историю «телефон на тумбочке в прихожей» (в последний раз видел такой телефон в свежеарендованной квартире весной текущего года). Так, я нашел в Интернете удивительно логичное объяснение кнопочного телефона, сформулированное пользователем ребенку: «Это как домофон, только набираешь не номер квартиры, а номер мобильного» (не могу найти первоисточник). В то же время, Чарльз Петцольд в книге «Код» упоминает о том, что английское слово «relay» (от которого происходит русское «реле») до эпохи телеграфа означало «перекладная» — то есть, свежая лошадь для гонца из таких курьерских служб как «Пони-Экспресс».
Поэтому я проверил, а с каким явлением в 80-е годы XIX века ассоциировали телефон Белла и Эдисона – и с удивлением обнаружил, что ближайшим ее аналогом считалась связь через язык барабанов. Именно с главы «Говорящие барабаны» начинается знаменитая книга Джеймса Глика «Информация. Теория. Поток», и ниже я постараюсь обрисовать язык барабанов как средство связи. Тем интереснее, что до сих пор существуют системы барабанных кодов, которые передают как музыку, так и язык.
Читать далееhttps://habr.com/ru/post/677356/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677356
Метки: Стандарты связи Научно-популярное Изучение языков языки телекоммуникации африка фонетика |
[Перевод] Знакомство с тестированием веб-приложений |
https://habr.com/ru/post/676752/?utm_source=habrahabr&utm_medium=rss&utm_campaign=676752
Метки: html javascript css перевод разработка веб-сайтов модульное тестирование тестирование мобильных приложений тестирование веб-сервисов блог компании ruvds.com ruvds_ веб-тестирование |
Рокетмены и право. Ракетомоделизм — это законно? |
https://habr.com/ru/post/677178/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677178
Получение generic-типа в runtime |
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanPostProcessor;
...
@Autowired
private Set beanPostProcessors;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
...
List strings = new ObjectMapper()
.readValue("[1, 2, 3]", new TypeReference<>() {});
// все элементы strings - строки (не Integer и не Long)
List ints = new ObjectMapper()
.readValue("[1, 2, 3]", new TypeReference<>() {});
// все элементы ints - Integer (не String и не Long)
https://habr.com/ru/post/588252/?utm_source=habrahabr&utm_medium=rss&utm_campaign=588252
Метки: Java generics generic types kotlin spring сезон java |
Миниатюрное десктопное GUI приложение на PHP — 2 МБ хватит для всех |
Я часто заморачиваюсь на тему минимизации размера своих GUI приложений. Прошлая моя статья была про Nuklear. Но сейчас захотелось более современных технологий. Чтоб HTML5, CSS3 и PHP. Чтоб приложение ни от чего не зависело, т.е. построено по принципу "всё включено". И чтоб конечный размер приложения не превысил 2 МБ. Получится ли?
В Linux я часто пользуюсь утилитой df. Мне её очень не хватает в Windows, а искать аналоги лень. Так что было сделано волевое решение сделать свою, на РНР 5, с бутстрапом и JQuery.
Читать далееhttps://habr.com/ru/post/674192/?utm_source=habrahabr&utm_medium=rss&utm_campaign=674192
Метки: Ненормальное программирование php Программирование Разработка под Linux Разработка под Windows desktop web gui native serverless |
Фронтенд-новости №15. CSS становится сложнее, VITE 3.0, самый высокий сайт в мире |
Дайджест новостей и полезных статей из мира фронтенд-разработки за неделю 11–17 июля.
Читать далееhttps://habr.com/ru/post/677318/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677318
Метки: Блог компании HTML Academy css javascript html новости |
[Перевод] Оператор PIVOT |
По материалам статьи Craig Freedman: The PIVOT Operator
Несколько статей будут посвящены тому как в SQL Server реализован оператор PIVOT и UNPIVOT. Начнем с оператора PIVOT. Оператор PIVOT берет нормализованную таблицу и преобразует ее в другой вид, в котором столбцы результирующей таблицы получаются из значений исходной таблицы. Например, предположим, что мы хотим хранить данные о суммарной выручке от продаж за год по каждому из сотрудников. Для этих целей можно создать следующую таблицу:
Читать далееhttps://habr.com/ru/post/677340/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677340
Метки: Microsoft SQL Server sql server |
Chrome OS Flex: стабильная версия ОС от Google для установки на старые ПК. Что она может? |
https://habr.com/ru/post/676870/?utm_source=habrahabr&utm_medium=rss&utm_campaign=676870
Метки: Блог компании Selectel Google Chrome IT-инфраструктура Софт IT-компании chrome os операционные системы flex |
Браузерная игра про пиратов |
«Йо-хо-хо!» - невольно приходит на ум при любом взаимодействии с морем, передвигаешься ли на речном трамвайчике или же сидишь в баре круизного корабля. В последнем случае еще можно приобрести бутылку рому. Море привлекает своими волнами, закатами и рассветами. А особенно прикольно, когда на море завелись злые пираты. Ну... если это мы, конечно же.
Возьмем шейдер неба и шейдер воды - атмосфера готова! Что может быть проще. И да, я буду писать игру под браузер на Javascript с использованием библиотек Three.js и Cannon.js. Первую я использую для отображения 3D графики, а вторую - в качестве легковесного скриптового физического движка.
Я заставил небесную сферу и плоскость воды двигаться вместе с кораблем. Это обеспечивает практически бесконечный мир - только по мере движения будут подгружаться разные острова. Волны привязаны к началу координат, а сама плоскость воды передвигается. В этом примере уменьшен размер плоскости, чтобы было видно, как это работает.
Читать далееhttps://habr.com/ru/post/677308/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677308
Метки: Разработка игр Canvas WebGL javascript three.js cannon.js игра про пиратов |
Радикальная удалёнка… налоговый рай архипелаг Свальбард |
Почему норвежский архипелаг Свальбард (также известный как Шпицберген) может быть очень интересной и выгодной локацией для многих удалёнщиков и онлаин предпринимателей. Я говорю об этом совершенно серьёзно, приготовьтесь к захватывающему открытию этого места!
Lat oss gå (поехали)!!https://habr.com/ru/post/677304/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677304
Сила воли. И где же ее прячет мозг? |
Перед вами финальный забег. На дорожке восемь спортсменов, их ноги уперлись в стартовые колодки. Голос судьи раздается над стадионом: «На старт!», «Внимание!», и за долю секунды до выстрела, один бегун срывается с места и получает дисквалификацию. Именно в такие моменты важно подавлять тягу к действию. На связи RISE: сообщество про ноотропы и личную продуктивность.Так как же пофиксить и взрастить в себе выдержку?
Читать далееhttps://habr.com/ru/post/677300/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677300
Метки: Мозг сила воли мотивация дисциплина приоритеты |
Работа над неразмеченными данными с QGIS и opentripmap на практике |
В этом посте я хочу поделиться интересным опытом работы с неразмеченными данными при помощи открытого ресурса opentripmap.
Задача
По исходным данным определить является ли конкретное фото, сделанное пользователем туристическим или нет. А так же масштабировать и автоматизировать алгоритм решения на любой регион Российской Федерации, избегая ручную работу.
Читать далееhttps://habr.com/ru/post/677298/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677298
Метки: классификация анализ данных data api визуализация данных openstreetmap big data dataset data science maps api data analysis data engineering разметка фотографий разметка данных |
Моделирование базы данных в Neo4j |
Моделирование базы данных в графовых БД существенно отличается от реляционных. В этой статье я расскажу о best practices, тонкостях и нюансах моделирования данных в Neo4j.
Читать далееhttps://habr.com/ru/post/677296/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677296
Метки: Проектирование и рефакторинг Администрирование баз данных neo4j проектирование бд |
Double, Float — не вещественные числа |
Во многих источниках тип double и float, числа с плавающей запятой/точкой зачем-то называют вещественными. Такое чувство что кто-то когда-то совершил ошибку или не внимательно написал эту глупость и все как один начали её повторять, совершенно не задумываясь о чём они говорят.
Ладно это были бы просто троечники студенты и любители, так эту ошибку говорят и те, кто обучают специалистов. И эта проблема терминологии не одного ЯП, их правда много (Java, C++, C#, Python, JS и т.д.) везде, где бы я не искал, всегда находятся статьи, ответы, лекции, где дробные числа называют вещественными!
Читать далееhttps://habr.com/ru/post/677294/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677294
Метки: python java c++ алгоритмы ооп вещественные числа javascript структуры данных computer science теория чисел |
Как создать проект на ассемблере в STM32CubeIDE |
Доброго времени суток, сегодня я хотел бы поделиться своим опытом создания шаблона проекта в CubeIDE для программирование на Ассемблере.
Так как CubeIDE использует средства GNU то и синтаксис ассемблера у нас будет советующий. Для начала откроем CubeIDE и создадим новый проект. В качестве испытуемого микроконтроллера возьму STM32G030F6P6 уж очень мне они нравятся. А так данный способ работает и с другими сериями микроконтроллера STM32.
Читать далееhttps://habr.com/ru/post/677292/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677292
Метки: assembler stm32 stm32cubeide |
Создание ботов для торговли криптовалютами и акциями (часть вторая) |
Я не планировал писать вторую статью на эту тему, но получив от вас много вопросов и откликов, на предыдущий пост (https://habr.com/ru/post/675092/) решил ответить сразу всем, закрыть эту тему и перейти к следующим, не связанным с торговлей.
Читать далееhttps://habr.com/ru/post/677290/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677290
Метки: postgresql Анализ и проектирование систем Криптовалюты криптовалюта бот акции торговля биржа |
[Перевод] Распространенные ошибки при написании плагинов Joomla 4 |
Перевод недавней статьи профессионального PHP-разработчика, руководителя Akeeba Ltd и ведущего разработчика Akeeba Backup для WordPress, Joomla! и standalone Николаса Дионисопулоса.
В статье он делится своим опытом отладки плагинов Joomla 4, написанных разными разработчиками, в тех случаях, когда они, как правило, приводят к неожиданному сбою сайта. Оказывается, большинство плагинов страдают от нескольких очень распространенных и легко предотвратимых проблем. Так же в статье много сопутствующей, но от этого не менее важной и интересной информации.
Читать далееhttps://habr.com/ru/post/677262/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677262
Метки: Разработка веб-сайтов Open source php joomla joomla plugin development developing debug джумла joomla 4 разработка |