Pull to refresh
-1
0
Send message

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

Level of difficultyEasy
Reading time24 min
Views1K

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

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

Читать далее
Total votes 1: ↑0 and ↓1-1
Comments0

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

Level of difficultyMedium
Reading time11 min
Views27K

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

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


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

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

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

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

Не Unity единым…

Level of difficultyEasy
Reading time15 min
Views36K

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

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

Читать далее
Total votes 95: ↑95 and ↓0+95
Comments89

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

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

image
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments14

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

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

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


Бублики — это инструкции в файле Dockerfile
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments11

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

Level of difficultyEasy
Reading time15 min
Views3.7K

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

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

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

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

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

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

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments1

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

Reading time9 min
Views26K

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

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

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

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

Level of difficultyMedium
Reading time12 min
Views6.2K

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

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments11

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

Reading time11 min
Views12K
Компилятор — часть Emscripten. А что, если удалить все свистелки и оставить только его?

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

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

Level of difficultyEasy
Reading time4 min
Views12K

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments1

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

Level of difficultyMedium
Reading time13 min
Views3.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.

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments13

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

Reading time13 min
Views74K
Вот таких тирекс-тянок выдает нейросеть

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

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

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

Reading time3 min
Views12K

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

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

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments1

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

Reading time10 min
Views20K

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

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

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

Reading time19 min
Views5.8K

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

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

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

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments6

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

Reading time17 min
Views7.1K

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

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

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

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments6

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

Reading time4 min
Views22K

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

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

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

Что изучать?

Читать далее
Total votes 18: ↑17 and ↓1+16
Comments5

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

Reading time5 min
Views13K

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

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

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

Читать далее
Total votes 19: ↑17 and ↓2+15
Comments32

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

Reading time20 min
Views24K


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

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

Reading time10 min
Views56K


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

Information

Rating
Does not participate
Registered
Activity