Занимаясь веб-разработкой в it-компании Intelsy на аутсорс- и аутстафф-проектах, я постоянно подключаю и использую библиотеки. Решил собрать воедино всю накопленную информацию по этой теме и поделиться с теми, кому это может быть нужно: с опытными или начинающими разработчиками, с целыми командами - для облегчения работы и ее усовершенствования.
web-разработчик
Взгляд на асинхронность в JavaScript: роль Event Loop, промисов и async/await
В этой статье мы сосредоточимся на ключевых элементах асинхронного программирования в Java Script: Event Loop, Event Bus, промисы и синтаксический сахар async/await. Разберемся, как эти концепции взаимодействуют между собой и как их использование помогает нам создавать более эффективные и отзывчивые веб-приложения.
Мы начнем с изучения роли Event Loop - механизма, ответственного за управление выполнением асинхронного кода. Затем мы перейдем к рассмотрению Event Bus, который обеспечивает коммуникацию между различными компонентами приложения. После этого мы ознакомимся с промисами и синтаксическим сахаром async/await, которые значительно упрощают работу с асинхронным кодом и делают его более читаемым и понятным.
Используем поля Joomla для фильтрации материалов
В данном руководстве рассмотрим, как можно кастомизировать вывод настраиваемых полей для фильтрации материалов Joomla через переопределение шаблона.
Принципы общения с людьми при провалах — 25 тезисов для обретения дзена
Я часто сталкиваюсь с необязательностью даже нормальных знакомых, друзей или коллег. Что уж говорить про выкрутасы всяких рандомных персонажей, с которыми иногда приходится общаться. Мне надоело говорить всем одно и то же, поэтому написал алгоритм для делового общения. Вот принципы, которые сделают комфортной вашу коммуникацию в сети.
Создал две версии. Одна — стерильная (на заглавной картинке выше), для обсуждения на вечернем чаепитии благородных девиц. Её можно скинуть совету директоров для распространения на бизнес-завтраках или для обучения сотрудников на тренингах по деловой коммуникации. Вторая — гораздо более доходчивая, для погружения в суровую жизненную реальность. Выбирайте что по вкусу.
Юзабилити-тестирование сайта
Юзабилити-тестирование становится ключевым инструментом в руках разработчиков и дизайнеров, позволяя выявить и устранить потенциальные проблемы интерфейса ещё до того, как сайт попадёт к конечному пользователю.
Эта статья будет интересна широкому кругу профессионалов, занимающихся созданием и продвижением веб-ресурсов. Веб-разработчики найдут здесь информацию о том, как интегрировать тестирование юзабилити в процесс разработки, чтобы сделать сайты максимально удобными и понятными для пользователей. Дизайнеры узнают, как использовать обратную связь от тестирования для улучшения визуальных и функциональных аспектов интерфейса. Маркетологам и владельцам бизнеса статья поможет понять, почему юзабилити является критически важным фактором для увеличения конверсии и удержания клиентов, и как его можно измерить и оптимизировать с помощью современных инструментов, таких как Testograf.
Игра, которую невозможно не полюбить
Здравствуйте, уважаемые хабровцы!
Меня зовут Ернар Шамбаев, я - разработчик компьютерной версии игры “Мастер тогызкумалака”, и сегодня я бы хотел рассказать вам об одной увлекательной настольной логической игре, про которую вы вряд ли слышали, несмотря на то, что в нее играют сотни тысяч человек по всей планете и по ней проводятся даже чемпионаты мира, Европы и Азии. Надеюсь, после прочтения данной статьи количество поклонников этой игры увеличится.
Трудно сказать, какая настольная игра является древнейшей на Земле. Споры не утихают по сей день. Кто-то говорит, что самой древней игрой является египетский сенет, кто-то настаивает, что древнейшая игра - это ур из Месопотамии, кто-то считает таковой го, кто-то - игры семейства манкала. А может, банальные игральные кости - древнейшая игра? Думаю, точка в этом вопросе не будет поставлена никогда. В любом случае не оспаривается, что игры семейства манкала (к ним относится тогызкумалак, которому посвящена статья) - это крайне древние игры, и им насчитывается несколько тысяч лет.
Человеку нужен не только хлеб, человеку нужны и зрелища. Ему нужна пища для ума, какой-то способ времяпровождения, который скрасит быт и рутину. Такой пищей для ума кочевников, которые пасли скот в бескрайних степях на территориях, сейчас относящихся к Казахстану, стала игра тогызкумалак (в переводе с казахского - “девять шариков”). Число 9 было священным у тюркских народностей. Российский исследователь игр А.П. Шиляев полагает, что казахская игра - свидетельство зарождения десятеричной системы счисления. Считается, что тогызкумалаку около 4 тысяч лет (возможно, цифра слегка завышена). Тогда, естественно, никто не мог предположить, что игра станет настоящим вызовом в эпоху компьютеров и нейросетей.
Как работать с текстом при дизайне игровых интерфейсов
Статья про приёмы, упрощающее восприятие текста игроками и про особенности работы с текстом на игровых проектах.
Вороной, Манхэттен, рандом
Это история про то, как не довести дело до конца, но получить уйму опыта, и вообще ни разу не обломаться.
Итак, у нас был один программист, один художник, абсолютное непонимание рабочего процесса, незнакомый нам игровой движок и желание что-то намутить. Если вам интересно, как в одном месте сошлись карта Вороного, частный случай расстояния Минковского, преобразования над полигонами, процедурная генерация и шумы — и все это в красивой стилизованной обертке, то вам под кат.
Осторожно, очень много картинок!
Joomla-дайджест. 2-е полугодие 2023 года
Все главные новости из мира Joomla с момента выхода предыдущего дайджеста 4 августа 2023 года в одной статье. Также в дайджест попадает январь 2024 года. Традиционно наш дайджест обозревает новости, расширения, шаблоны и статьи из мира Joomla. Прошлый выпуск вы можете прочитать здесь.
Press start
Все хотят выпустить игру-мечты, но бывает так, что от начала до конца разработки происходит столько событий, недель, месяцев и лет, что от первоначального замысла, механик, сюжета и побочных активностей остается хорошо если треть. А остальные задумки переносятся в DLC и следующие номерные части. Но даже эту треть задумок нужно довести до релиза, протестировать и отполишить.
На этой лодке, корабле или дредноуте, под названием "игровая студия", "вместе гребут", живут и трудятся очень много людей. И от каждого из них игра получает частичку души, много времени и уникальное видение. У большинства разрабатываемых игр есть заказчик, а недоступное многим крупным и средним студиям право "делать что хочу, как хочу и когда хочу" есть лишь у небольшой прослойки инди (independent/независимых) студий, которых еще не купили крупные издатели, но и денег с предыдущей разработки хватает на текущую жизнь.
Конечно, чтобы сделать игру нужны начальные инвестиции. Это к вопросу, почему игры стоят 10-20-40-80 убитых енотов. Когда вам скажут, что игра разошлась миллионным тиражом и разработчики должны купаться в шампанском - вспомните этот пример: авторами достаточно известной action-RPG Nier: Automata были PlatinumGames, издателем и заказчиком были Square Enix, инвесторами и соинвесторами были Tencent Invests, JPMorgan Chase & Co и Sega Corporation. У игры были два главных продюсера, в общем в разработке игры участвовали более 300 человек из трех игровых студий в Японии и США. Затраты на разработку игры составили более 20М$, а продажи превысили 7.5млн копий. Почему студия заработала на игре "всего" 35М$ при средней цене 35 за копию 7.5M * 35 == 35M? Это я расскажу в конце статьи. Такая вот высшая игровая математика. Но сначала давайте посмотрим как устроена разработка игры.
Важные аспекты Unicode, о которых должен знать каждый разработчик JavaScript
Должен признаться: на протяжении очень долгого времени я испытывал страх перед Unicode. Когда была необходимость в работе с Unicode, я предпочитал искать альтернативные пути решения, поскольку не совсем понимал, что делаю.
Я старался избегать работы с Unicode до тех пор, пока не столкнулся с проблемой, требующей глубокого понимания этого стандарта, а других вариантов решения просто не было.
Приложив определенные усилия, прочитав кучу статей — я постепенно начал понимать что к чему, и это оказалось не так уж трудно. Хотя, некоторые статьи приходилось перечитывать раза по 3.
Как оказалось, Unicode — это универсальный и удобный стандарт, но работать с ним может быть непросто из-за множества абстрактных терминов.
Если у вас есть пробелы в понимании Unicode, то сейчас самое подходящее время их заполнить! Заварите себе вкусный чай или кофе ☕. И давайте погрузимся в удивительный мир абстракций, символов, астралов (astrals) и суррогатов (surrogates).
В этой статье объясняются основные концепции Unicode, которые создадут необходимую базу для работы с ним.
Вы также узнаете, как JavaScript взаимодействует с Unicode и какие трудности могут возникнуть на этом пути.
А также, каким образом новые функции из ECMAScript 2015 могут помочь в решении этих проблем.
Готовы? Давайте начнем!
Защита JPG-файлов от копирования с помощью Exif и IPTC-тегов
Всем привет! На связи Павел Стариков Fullstack-разработчик digital-агентства. Представьте, вы потратили целый день на создание хороших фотографий для статьи на сайте. Выставили свет, поставили «на уши» множество людей, долго работали в «фотошопе». Фотографии получились отличные, вот только спустя год Яндекс внезапно присылает фильтр «малополезный контент», при этом другие статьи, которые своровали нашу картинку – на первых местах по SEO-высокочастотным запросам. Обидно, не правда ли?
Для предотвращения подобных ситуаций поисковые системы обращают внимания на текстовые мета-теги, которые можно записать в каждую фотографию. Основной формат изображений – JPEG имеет сразу несколько механизмов. Как Exif-данные, содержащие сведения об авторе, камере, дате изменения, так и менее известный стандарт IPTC, который хранит данные в двоичном формате.
Как GameDev-специалисту защитить свои права на продукт? Практические рекомендации от юристов
Как создателю игры приобрести право использования всех составляющих элементов игры, право на игру в целом и избежать юридических рисков? Публикуем подробную инструкцию от GameDev-юристов
Процессы разработки, опубликования и продажи игры связаны с множеством юридических рисков.
Когда мы говорим о GameDev, первостепенная задача юристов состоит в получении исключительных прав на все элементы игры. Также необходимо обеспечить этим элементам дополнительную защиту, правильно оформить отношения внутри команды, подключить платежные системы и сопроводить этапы опубликования игры и продаж. Остановимся подробнее об особенностях и сложностях каждого из этапов и расскажем о фишках, которые можно использовать для эффективного решения задач.
Что выбрать: Npm, Yarn или Pnpm?
На данный момент у нас используются три самых популярных менеджера пакетов (Npm, Yarn и Pnpm). И всё бы ничего, но разные команды начали периодически обращаться с проблемой несоответствия типов Typescript из наших транзитивных зависимостей. Выяснилось что это проблема Npm и Yarn, но как же её решать?
На ум сразу приходит самое очевидное решение: следить за версиями всех зависимостей в своих проектах и вовремя обновлять. К этому, естественно, необходимо стремиться всегда, но мы понимаем, на практике что это крайне сложно, а в legacy-проектах или в проектах, у которых нет постоянной поддержки и вовсе нереально. Следующим вариантом созрел Pnpm, тем более что в наших монорепах он себя уже продолжительное время отлично показывал. Я решил испытать его на действующих клиентских приложениях.
Подход, который помог нам точно оценить трудозатраты на разработку дизайн-системы
При планировании проекта команде дизайна приходится отвечать на много вопросов. Главные — что делать, как долго и сколько это будет стоить. Ответы есть не всегда и точно не у дизайнеров, которые занимаются отдельными задачами и не видят картину в целом.
Меня зовут Александр Самсонов, я руководитель отдела UX в СберТехе. Вместе с командой работаю над продуктом Platform V UK Kit — дизайн-системой React-компонентов корпоративного масштаба. Расскажу, как мы начали оценивать затраты ресурсов при разработке дизайн-системы, и как метод помог нам лучше планировать работу, точно отвечать на вопросы и не выглядеть в глазах бизнеса нервными белыми воронами в чёрных толстовках.
Как я заглянул внутрь фильтров «БАРЬЕР Компакт ОСМО 100 М» и выяснил, что делает воду чистой и вкусной
Здравствуйте, уважаемые читатели Хабра. Меня зовут Олег (@Interfer), я проджект в крупной российской ИТ-компании. А еще я муж и отец замечательной девочки, которой недавно исполнилось пять лет.
Уже много лет моя семья для питья использует только бутилированную воду, а для готовки - воду из фильтра. Увы, тому, что течет из наших кранов, я даже после чайника не доверяю.
Но в последнее время я задумался о чем-то более удобном. Перелопатил много литературы и видео на ютьюбе и открыл для себя удивительную технологию - фильтры обратного осмоса. Давайте расскажу чуть подробнее что это и почему они прямо сейчас производят реальную революцию.
В ходе своих исследований я написал в компанию БАРЬЕР, задав им ряд вопросов по работе их системы. Пояснил им, что хочу написать статью для Хабра. Компания крайне заинтересовалась идеей, обратилась на Хабр с предложением сделать из этого совместный проект и под это дело бесплатно выдала мне комплект фильтров БАРЬЕР Компакт ОСМО 100 М”, с условием, что я их распилю, красиво сфотографирую и покажу результат в публикации. Ребятам из БАРЬЕРА показалась интересной идея показать разрез фильтров не глянцевой иконографикой, а по старинке.
Как я из телефона сделал сервер для своего бота в телеграме
Как я из телефона сделал сервер для своего бота в телеграме
Все началось с того что я написал своего бота и решил его выложить в открытый доступ, а точнее чтобы он работал круглосуточно, но платить деньги, за хостинг мне не хотелось. И тогда я вспомнил, что у меня как раз в ящиках залежались старые 2 телефона, можно сказать только один, потому что второй я превратил в кирпич (Неправильно перепрошил). Мой путь поиска программы для установки линукса начался с Termux, но к сожелению он работает только с Android 7+. А телефон на Android 5. Поэтому действенным решением я выбрал UserLAnd.
Улучшаем производительность с RxJS
Всем привет! Сегодня я хочу поделиться приемами улучшения производительности фронтенда путем оптимизации RxJS стримов.
Куда девать 300 багов: автоматизация бэклога и RICE для багов
POV: Вы только что начали работать над новым проектом и встретились с небольшой проблемой — в бэклоге багов обнаружилось 300+ открытых тасок. Первая реакция — недоумение, отчаяние и боль от увиденного. «Ну ничего, – думаете вы, – это же как раз то, зачем я нужен этой компании, сейчас я им всё пофикшу!».
Моя статья как раз об этом — как разобраться в баговой каше и преобразить её в автоматизированный и легко понимаемый бэклог, куда девать древние баги, что делать с приоритетами, и как держать в курсе всех заинтересованных.
Хороший ретрай, плохой ретрай, или История одного падения
Порой простое и очевидное решение может потянуть за собой хвост проблем в будущем. Например, добавление ретраев.
Меня зовут Денис Исаев, и я работаю в Яндекс Go. Сегодня я поделюсь опытом решения проблем с отказоустойчивостью из-за ретраев. Основано на реальных инцидентах в системе из 800 микросервисов.
Этот пост — продолжение вымышленных историй о разработчике Васе, который несколько лет назад разбирался с идемпотентностью в распределённых системах. Теперь перед ним новые задачи — получится ли справиться с ними в этот раз? Давайте узнаем.
Information
- Rating
- Does not participate
- Location
- Москва и Московская обл., Россия
- Registered
- Activity