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

Все потоки

Сначала показывать
Период
Уровень сложности

Тестовый стенд для испытания линейной камеры

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

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

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

Далее расскажу, как делали.

Вдохновился серией чёрного зеркала и сделал свой симулятор жизни

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

В серии чёрного зеркала (7 сезон 4 серия) в основе сюжета как программист сделал симулятор в котором развивались виртуальные существа (Тронглеты). Решил от части повторить, что бы существом управлял агент ИИ.

Сделал симулятор, где в рандом сгенерированном мире появляется агент. У него есть показатели:
- голод
- жажда
- комфорт
- его цель
- мысли
- глобальная цель.
Он может взаимодействовать с миром, находить предметы, крафтить любые предметы, придумывать, что нашел. Даже если в разработке я не закладывал какие-то предметы, объекты или механики он может всё равно их «найти». Например, нашел тростник который в будущем использовал для создания тетивы для лука. Он сам подбирает эмодзи, название предмета, придумывает механику и кладет себе в инвентарь. Для упрощения сделал пошаговую симуляцию.
Начало промта выглядит вот так (полный промт больше в 10 раз):

Про механику мира и разработку. Скриптом создаем карту 20х20 клеток. На нее случайно раскидываем эмодзи 🍓🌳🦌⛰🕳. Агенту отправляется видимость клеток на 3 вокруг нет. Он может ходить только на одну клетку заход. Ещё агенту задаются состояния:

Что у него есть голод 0/100
Комфорт
Жажда
Инвентарь
Взаимодействовать с миром он может, убрать объект логически, добавить объект логически, добавить и убрать предмет в инвентарь. По сути больше ничего, дальше он сам должен существовать в этом мире. Нет ни рецептов крафта, не сколько съеденная ягода восстанавливает голода. Но много про то "где" он находится и как "выживать" в этом мире (без подсказок)
Начало промта выглядит так:

Читать далее

Современные DDoS-атаки: чем они опасны для бизнеса

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

Частота DDoS-атак неуклонно растёт. Их количество в 2024 году в мире увеличилось на 108 % по сравнению с 2023 годом. Например, специалисты Центра мониторинга угроз в прошлом году отразили почти 11 тысяч DDoS-атак на российские организации. А самая длительная кибератака длилась более 108 часов. Ни одна компания не застрахована от потенциального ущерба, поэтому нужно знать как распознать DDoS-атаки и предотвратить их.

Читать далее

Obsidian для профессионалов: рабочая система заметок на стыке подходов

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

Как совместить порядок классической иерархии и гибкость Zettelkasten в одной базе знаний? Делюсь своим опытом построения эффективной системы заметок в Obsidian для инженеров и IT-специалистов: структура, шаблоны, метаданные, соответствие ITIL и ISO. Если вы хотите, чтобы ваши заметки работали на вас, а не против - эта статья поможет навести порядок и ускорить работу с документацией.

Читать далее

Бюрократия или хаос: какой из этих способов управления компанией наиболее успешный?

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

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

Сеть кондитерских магазинов Алёнка — здесь я работал менеджером по развитию.

Управляющая компания Ассортида — здесь искал субарендаторов для гастрономов.

Читать далее

Принцип зеркального отражения и математический бильярд

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

Представьте себе мяч, который летит и упруго отскакивает от наклонной плоскости под углом 45°. Интуитивно понятно, что при абсолютно упругом ударе без трения он подчиняется тому же правилу, что и световой луч: угол падения равен углу отражения. То есть траектория мяча после удара симметрична траектории до удара относительно перпендикуляра к поверхности в точке. Этот факт существенно упрощает анализ движения – вместо того чтобы рассматривать изломанную траекторию с отражениями, можно воспользоваться принципом зеркального отображения.

Суть принципа в том, что каждый отскок о плоскость можно заменить продолжением движения мяча по прямой линии в “зеркальном” пространстве...

Читать далее

1 000% прибыли на продаже атласной ленты. Мои выводы за 11 лет цветочного бизнеса

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

В 2013 году я сыграл свадьбу. Она была специально для сбора денег. Накрыл маленький стол на 5к, получил 70к. Возврат инвестиций 1300%. Я арендовал точку в ТЦ Олимп в Нефтекамске, взял б/у холодильники на авито, прилавок сделал из 5 поддонов, которые поставили один на другой. Их нашел на улице.

Читать далее

Арбитраж криптовалют — или переливаем из пустого в порожнее

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

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

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

Мне интересно

Гарантийное обслуживание конечных автоматов

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

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

Так повелось, что математики ограничились применением конечных автоматов к алфавитам, а прикладники тем временем увидели знакомое слово «состояние» и со свойственным всем нам верхоглядством решили, что набор «состояний» и «переходов» — это и есть конечный автомат. Всем, наверное, доводилось видеть такой код:

Подписаться, чтобы посмотреть код

Видим невидимое: контроль качества Android-библиотек через объектив AppTracer Lite SDK

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

Привет! Меня зовут Даниил Климчук, я работаю в команде, занимающейся SDK для авторизации через сервисы экосистемы VK. В него входит несколько компонентов, а именно авторизация по протоколу OAuth 2.1, кнопка One Tap для авторизации в один клик, шторка с описанием сценария авторизации и поддержка авторизации через Mail и OK.

Читать далее

Мечтают ли андроиды о Robolectric? Разбираем фреймворк по косточкам

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

Я уверен, вы слышали про Robolectric, но использовали ли хоть раз для UI‑тестирования или screenshot-тестирования? Да, у библиотеки неоднозначная репутация в Android-комьюнити. Возможно, вы будете в восторге, когда её устройство перестанет быть для вас загадкой.

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

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

Читать далее

Как новичок пытался написать свой «терминал»

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

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

Для этого, на языке программирования Python я начал писать своё CLI‑приложение, которое упрощает работу с консолью. И что из этого вышло?

Узнать продолжение

Конфликт на уровне ценностей: откуда берется непрофильная дичь на профессиональных ресурсах

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

Привет, Хабр! Меня зовут Андрей, я редактор в команде техпиара МТС Web Services. Как-то раз в одном чате поднялся вечный вопрос: «Почему иногда хейтят даже материалы, которые проверены вдоль и поперек?» Кажется, что в них все продумано: тема, заголовок, структура, оформление. Но ты нажимаешь кнопку «опубликовать», и получаешь либо ничего, либо мощную порцию негатива.

Обычно в таких ситуациях причины ищут на поверхности: подача, информационный фон, слишком спорное мнение. Находят какие-то очевидные моменты… но проблема повторяется снова.

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

На примере работы с контентом я покажу, насколько тяжело бывает увидеть и свои, и чужие ценности — и что мы сталкиваемся с ними регулярно: в командной работе, бизнесе и менеджменте. А поможет мне в этом классик советского научпопа — Карл Левитин и его «Геометрическая рапсодия».

Читать далее

Ближайшие события

Контракты в Kotlin или как заключить сделку с совестью

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

Всем привет, меня зовут Иван, я Android-разработчик и сегодня мы с вами поговорим об контрактах. Я попробую рассказать и показать примеры для работы с API

Читать далее

Автоматический подбор браузером контрастного цвета в CSS

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

Вам когда-нибудь хотелось, чтобы можно было написать простой CSS для объявления цвета, после чего браузер сам бы определял, чёрный или белый должен сочетаться с этим цветом? Теперь это возможно благодаря contrast-color(). В статье мы объясним, как это работает.

Представьте, что вы разрабатываете веб-сайт или веб-приложение, и в дизайне требуется куча кнопок с разными цветами фона. Для обработки цвета фона можно создать переменную --button-color, а затем присваивать ей разные значения.

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

Читать далее

История Flash-игр. Часть 1: Энтузиасты

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

Тема инди-игр уже давно набирает популярность. Новости о том, как разработчик одиночка или маленькая студия вырвались в топы Стима, появляются регулярно. Но что если я скажу, что инди-игры были и задолго до Стима? Что была целая индустрия, объединявшая тысячи разработчиков по всему миру? Маленькая, неприбыльная и забытая сейчас, но очень популярная 20 лет назад. Это был Flash. На хабре уже есть несколько статей о нём, но я расскажу как эта индустря работала изнутри.

Если кто не застал, флеш игры - это такие бесплатные игры в браузере, которые заполонили интернет в нулевых. К ним не относились серьёзно, но встречались и годные, даже шедевральные проекты, которые помнят до сих пор. Я посвятил разработке таких игр больше 10 лет и хочу рассказать, насколько эта была необычная, интересная и где-то безумная индустрия.

Делались эти игры в программе Macromedia Flash, которая вообще-то задумывалась только как инструмент создания веб анимаций. Ну вот этих вот Масянь и всяких прочих Смешариков.

Читать далее

Я 25 лет настраивал фотоаппарат, выстраивал композицию, ставил свет, а потом пришла нейросеть

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

Эту историю для моего блога рассказал профессиональный фотограф Олег Цербаев

В начале 2000-х появилась цифровая фотография, мир раскололся на два лагеря: «Это не искусство!» против «Это будущее!». За три года в рекламной индустрии почти не осталось фотографов старше 40 лет. Крупные журналы начали работать с молодыми ребятами, фотоиндустрия в итоге выросла в разы. То, что происходит сейчас с нейросетями — намного масштабнее. Это не просто новый инструмент в нашем арсенале, а целая новая реальность.

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

Читать далее

Почему Apache Spark становится ядром аналитических платформ в России: тренды, особенности и прогнозы для бизнеса

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

Эксперты компании «Криптонит» проанализировали главные тренды использования Apache Spark в бизнесе, выделили особенности его применения в России и спрогнозировали дальнейшее развитие на основе выявленных тенденций.

Растущая востребованность Spark объясняется не только открытым исходным кодом и гибкостью, но и лёгкостью интеграции с современными технологиями — от машинного обучения до облачных платформ.

«В России Apache Spark становится не просто популярным фреймворком для обработки данных, а частью экосистемы отечественных решений в сфере Big Data. Особенно это касается объектов критической инфраструктуры, где всегда отдаётся предпочтение только самым надёжным и проверенным решениям», — пояснил Иван Попович, руководитель направления обработки данных компании «Криптонит».

Для критически важных отраслей (госуправление, финансы, энергетика) важна локализация данных и соответствие требованиям регуляторов.

«Открытый исходный код здесь играет ключевую роль, так как обеспечивает прозрачность и возможность тщательной верификации. Также он даёт уникальную возможность адаптировать решение под конкретные требования проекта. Хотя само по себе наличие открытого кода не является гарантией безопасности, Apache Spark за 15 лет своего развития доказал эффективность и надёжность в самых различных областях применения», — добавил эксперт.

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

Читать далее

Observable – не только удобный state-manager

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

Несколько месяцев назад я написал статью — «Observable — удобный state‑manager», что было скорее заметкой, и за что мне здорово досталось в комментариях! Уважаемым комментаторам — спасибо, я постарался учесть все замечания.

Сегодня представляю вам kr‑observable 2.0 — библиотеку для реактивного программирования на JavaScript. И удобный state-manager тоже.

Читать далее

Пример использования библиотеки EMX Controls для создания финансовых кроссплатформенных приложений

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

Не так давно мы успешно портировали проект CryptoTradingFramework на Avalonia UI с использованием библиотеки визуальных контролов EMX Controls. На примере клиентского приложения CryptoMarketClient мы хотели бы рассказать о возможностях библиотеки EMX Controls для разработки GUI для финансовых приложений.

Читать далее