Как стать автором
Обновить
-1
0

Пользователь

Отправить сообщение

Секреты USA в Micro QR Code M4 (часть 1)

Уровень сложностиПростой
Время на прочтение24 мин
Количество просмотров1K

Встроенные в Micro QR Code технологии насыщенны мифами и нереальностями. Программисты моделисты часто добавляют артефакты и/или cookies в свои наработки, которые интересно находить при расшифровке кодов и алгоритмов. А затем и самому кодировать и декодировать практически любую информацию. Рассмотрим этапы расшифровки микрокодов самого старшего микроуровня – М4 формата буквенно-цифрового кодирования на историческом примере.

Первый и, наверное, самый важный на фоне остальных мифов вопрос: почему максимальное количество смешанных символов для кодирования в микрокодах ровно 21 (цифро-кода – 35 символов, но для алфавита это не актуально)?

Читать далее
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Вам не нужен для этого JavaScript

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров27K

Прошу вас не возмущаться названием статьи. Я не ненавижу JavaScript, я люблю его. Ежедневно я пишу на нём кучу кода. Но ещё я люблю CSS и даже люблю JSX HTML. Я люблю все эти три технологии по причине, которая называется…

▍ Правило наименьших полномочий


Это один из базовых принципов веб-разработки, означающий, что следует выбирать наименее мощный язык, подходящий для решения задачи.

В случае веба это означает, что нужно по возможности выбирать HTML вместо CSS, а затем CSS вместо JS. JS — самый универсальный язык из всех трёх, потому что на нём вы описываете, как должен вести себя браузер; но также он может ломаться, отказываться загружаться, требует дополнительных ресурсов для скачивания, парсинга и исполнения. Кроме того, при его использовании очень легко ограничить доступ пользователей, выполняющих браузинг при помощи клавиатуры или специальных возможностей.

В отличие от JS с его императивностью, HTML и CSS декларативны. Вы говорите браузеру, что делать, а не как это делать. Это значит, что браузер сам выбирает, как это делать, и может сделать это наиболее эффективным образом.

Так как функции HTML и CSS обрабатываются браузером, они могут быть более производительными, более нативными, более адаптируемыми к предпочтениям пользователя и в общем случае иметь бОльшую accessibility. Это не значит, что так будет всегда (особенно когда дело касается accessibility), но когда все сложные задачи берёт на себя браузер, от этого обычно выигрывают конечные пользователи.
Читать дальше →
Всего голосов 97: ↑95 и ↓2+93
Комментарии38

Не Unity единым…

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров36K

Игры бывают разные, большие и маленькие, триA и супер инди, в компаниях с сотнями разработчиков и что создаются самородками-одиночками. Редко их делают с нуля и пишут код только игры, чаще пишут игровые тулы, редактор и параллельно пишут саму игру. За всей этой многомиллиардной индустрией стоит код, много кода, очень много кода. Игровые движки и фреймворки – мощные инструменты, которые помогают разработчику творить его идеи и создавать увлекательные игровые миры. Это каркас, на котором строятся все игровые вселенные, они включают в себя сотни инструментов, библиотек и ресурсов, позволяя разработчикам превратить строчки кода в театр для одного зрителя.

Существует более сотни игровых движков, каждый из них содержит как минимум одну фичу которой нет ни в каком другом. Всех возможностей вместе нет ни в одном, и это прекрасно - иначе бы такой движок монополизировал рынок. Хм, Unreal5 ты ли это? Иногда полезно пробежать по release notes движка, чтобы оставаться в курсе последних новостей. Возможно вы разрабатываете свое решение и эта статья натолкнет вас на новые идеи. Готовы узнать что ваша любимая игры была сделана не на Unity, а на православном SDL?

Читать далее
Всего голосов 95: ↑95 и ↓0+95
Комментарии89

Руководство по Docker Compose для начинающих

Время на прочтение9 мин
Количество просмотров776K
Автор статьи, перевод которой мы сегодня публикуем, говорит, что она предназначена для тех разработчиков, которые хотят изучить Docker Compose и идут к тому, чтобы создать своё первое клиент-серверное приложение с использованием Docker. Предполагается, что читатель этого материала знаком с основами Docker. Если это не так — можете взглянуть на эту серию материалов, на эту публикацию, где основы Docker рассмотрены вместе с основами Kubernetes, и на эту статью для начинающих.

image
Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии14

Изучаем Docker, часть 3: файлы Dockerfile

Время на прочтение12 мин
Количество просмотров703K
В переводе третьей части серии материалов, посвящённых Docker, мы продолжим вдохновляться выпечкой, а именно — бубликами. Нашей сегодняшней основной темой будет работа с файлами Dockerfile. Мы разберём инструкции, которые используются в этих файлах.

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными


Бублики — это инструкции в файле Dockerfile
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии11

Реклама в интернете в 2023 году для предпринимателей и начинающих маркетологов

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров3.7K

Я уже писал аналогичную статью в феврале 2020 года на другой платформе, решил, что пора обновить рекомендации.

Кто я такой, чтобы давать советы Habr?

Я Цымбалюк Андрей, руководитель направления цифровой маркетинг в промышленной компании.

У меня опыт в более 40 направлениях бизнеса и опыт управления маркетинговым бюджетом 150 млн рублей в год. Также, у меня небольшое маркетинговое агентство, в котором продвигаю 3 медицинских клиники на текущий момент.

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

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

Читать далее
Всего голосов 8: ↑6 и ↓2+4
Комментарии1

Анализ временных рядов, применение нейросетей (1 часть)

Время на прочтение9 мин
Количество просмотров26K

В этой статье, я опишу некоторые основные понятия в теории анализа временных рядов, классические статистические алгоритмы прогнозирования и интересные алгоритмы машинного обучения, которые применяются для временных рядов

Если Вы готовы погрузиться в одну из очень интересных тем статистики и Вы любитель машинного обучения, продолжайте читать :-)

Читать далее
Всего голосов 16: ↑14 и ↓2+12
Комментарии8

Поговорим об оптимизирующих компиляторах. Сказ шестой: цикловые инварианты

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров6.2K

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

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии11

Компиляция C в WebAssembly без Emscripten

Время на прочтение11 мин
Количество просмотров12K
Компилятор — часть Emscripten. А что, если удалить все свистелки и оставить только его?

Emscripten необходим для компиляции C/C++ в WebAssembly. Но это гораздо больше, чем просто компилятор. Цель Emscripten в том, чтобы полностью заменить ваш компилятор C/C++ и запустить в вебе код, который изначально не предназначен для Сети. Для этого Emscripten эмулирует всю операционную систему POSIX. Если программа использует fopen(), то Emscripten предоставит эмуляцию файловой системы. Если используется OpenGL, то Emscripten предоставит С-совместимый контекст GL, поддерживаемый WebGL. Это немалая работа, и немало кода, который придётся внедрить в итоговый пакет. Но можно ли просто… удалить его?
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии5

Взаимодействие с MOEX ISS через Python

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров12K

В этой статье я хочу дать поверхностное представление о том, как работает взаимодействие с MOEX ISS на Python requests. Да, сегодня уже существуют готовые решения для работы с MOEX, например aiomoex. Но как по мне, лучше всегда сначала что‑то захардкодить и понять, как это работает под капотом. Если вы только знакомитесь с MOEX ISS или начинаете заниматься анализом временных рядов, думаю, вам эта статья будет полезна. Если же вы более продвинутый специалист, то вряд ли найдете здесь что‑то новое.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

VulkanSceneGraph: Введение в графическую библиотеку

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.5K

Возможно, кто-то из читателей помнит мою серию публикаций о графической библиотеке OpenSceneGraph. Уже на тот момент, в общем-то было понятно, что использование OpenSceneGraph в 2018 году мало оправдано из-за того, что OpenGL, на котором основан OpenSceneGraph потихоньку сдает свои позиции. В феврале 2016 года орган по стандартизации OpenGL Khronos group, выпускают приемника OpenGL - Vulkan API версии 1.0. Производители оборудования в общем-то почти сразу стали добавлять в драйверы своей аппаратуры поддержку нового API. По крайней мере, актуальная на тот момент GeForce GTX 970 уже имела таковую поддержку (про более старые серии аппаратуры ничего сказать не могу).

Не смотря на то, что OpenSceneGraph таки получил поддержку OpenGL 3.x (и ваш покорный слуга собирал его с таковой поддержкой), разработчикам этой библиотеки стало понятно, что огромное количество внутренних проблем OpenGL делает его поддержку бесперспективной. Поэтому, в конце мая 2018 года стартовала разработка новой графической библиотеки VulkanSceneGraph, ориентированной исключительной на Vulkan API. 13 ноября 2022 года состоялся официальный релиз VulkanSceneGraph-1.0, а совсем недавно, 31 августа 2023 выпустили VulkanSceneGraph-1.0.9.

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии13

SD – это Linux, а Midjourney – Mac: краткое полное руководство по Stable Diffusion

Время на прочтение13 мин
Количество просмотров74K
Вот таких тирекс-тянок выдает нейросеть

Текст про Midjourney привлек внимание, и в комментариях наметилась дискуссия про Stable Diffusion. Аргументы убедили меня попробовать SD самостоятельно, но вскоре я понял, что это не самая простая задача. Сообщество любителей Stable Diffusion произвело на свет множество удобных инструментов, которые своим количеством и сложностью могут отпугнуть новичков.

Всю неделю, что я экспериментировал с нейросетью, я боролся с желанием SD добавлять вторичные гендерные признаки по моим запросам и грустил, смотря на результаты генерации котиков. О своих страданиях частично писал в личном Telegram-канале — подписывайтесь! В этом же тексте — собрал основные советы по работе со Stable Diffusion и подвел итог, сравнив эту нейросеть с Midjourney.
Читать дальше →
Всего голосов 106: ↑105 и ↓1+104
Комментарии53

Лучшие практики UX/UI в e-сommerce

Время на прочтение3 мин
Количество просмотров12K

Меня зовут Станислав Хрусталёв, я автор сайта hardclient.com. Работаю в управлении клиентским опытом с 2009 года. Пишу на эту тему, собираю лучшие практики из мира Customer Experience и оцениваю сервисные модели компаний.

Некоторое время назад я задался идеей: собрать базу лучших практик UX/UI в области электронной коммерции. Как сделать покупки в интернет-магазине максимально удобными для клиента? Чтобы он возвращался снова и рекомендовал вас друзьям и знакомым?

Время шло, и из небольшой статьи материал стал превращаться в крупнейшую (?) открытую русскоязычную базу с лучшими практиками UX/UI в сфере e-commerce.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Укрепление Nginx с помощью Fail2ban: тестируем и оцениваем «профит»

Время на прочтение10 мин
Количество просмотров19K

«Только запустил Nginx-приложение, а в access.log уже десятки записей с непонятными запросами, переборами паролей и другого» — типичная ситуация для незащищенного сервера. Это следствие работы «ботов» для сканирования белых сетей, поиска открытых портов, сбора информации о версиях запущенных служб и подбора паролей к сервисам.

В статье расскажу, как с помощью open source-инструмента Fail2ban укрепить Nginx и защитить сервисы от взлома. А также продемонстрирую способы блокирования DDoS-атак. Подробности под катом.
Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии47

Проектируем карточки товаров в листинге интернет-магазина: 173 гайдлайна

Время на прочтение19 мин
Количество просмотров5.8K

Мы часто сталкивается с листингом товаров, совершая покупки онлайн. И от того, как спроектированы карточки товаров, зависит, купим мы их или нет.

Как сделать карточки информативными, функциональными и привлекающими внимание, чтобы обеспечить лучший клиентский опыт?

Обсудим 173 гайдлайна в этой статье.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии6

Проектируем каталог товаров в интернет-магазине: 152 гайдлайна

Время на прочтение17 мин
Количество просмотров7.1K

От того, насколько грамотно спроектирован каталог в интернет-магазине, зависит, найдет ли клиент то, что ему нужно.

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

152 гайдлайна с примерами в этой статье.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии6

База знаний веб-разработчика: прокачиваем навыки владения CSS

Время на прочтение4 мин
Количество просмотров22K

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

На базовом уровне

Цель: Помнить все свойства в CSS. Достигается примерно за 300 часов

Что изучать?

Читать далее
Всего голосов 18: ↑17 и ↓1+16
Комментарии5

Автоматизируем теплицу на Linux

Время на прочтение5 мин
Количество просмотров13K

Сельское хозяйство – инерционная отрасль, в которой новые технологии приживаются долго. Кажется, что автоматизация может увеличить урожайность и повысить производительность труда. Но как это работает на самом деле?

Меня пригласили в биотехнологический комплекс РУП "Институт овощеводства" под Минском, где выращивают салат, базилик, лук, перец, огурцы, голубику и картофель, и где реализовано несколько проектов автоматизации. Моим гидом был Александр из LedFarm.by, отвечавший за светодиодное освещение.

Надеюсь, этот небольшой обзор будет полезен читателям, которые задумываются о своей «умной теплице» или домашней гидропонике.

Читать далее
Всего голосов 19: ↑17 и ↓2+15
Комментарии32

Руководство по программированию сокетов на Python. Клиент, сервер и несколько соединений

Время на прочтение20 мин
Количество просмотров24K


К концу руководства вы освоите основные функции и методы модуля Python socket, научитесь применять пользовательский класс для отправки сообщений и данных между конечными точками и работать со всем этим в собственных клиент-серверных приложениях. Материалом делимся к старту курса по Fullstack-разработке на Python. Для удобства чтения первая часть — за спойлером.
Посмотреть
Всего голосов 5: ↑3 и ↓2+1
Комментарии4

Руководство по программированию сокетов на Python. От введения до работающего примера

Время на прочтение10 мин
Количество просмотров56K


К концу руководства вы освоите основные функции и методы модуля Python socket, научитесь применять пользовательский класс для отправки сообщений и данных между конечными точками и работать со всем этим в собственных клиент-серверных приложениях. Материалом делимся к старту курса по Fullstack-разработке на Python.
Посмотреть первую часть
Всего голосов 8: ↑6 и ↓2+4
Комментарии0

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность