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

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

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

Азбука NoSQL-инъекций

Время на прочтение13 мин
Количество просмотров62K
Бывают SQL-инъекции! А возможны ли NoSQL-инъекции? Да! Redis, MongoDB, memcached — все эти программные продукты относятся к классу нереляционных СУБД, противоположному популярным MySQL, Oracle Database и MSSQL. Так как интерес к перечисленным базам данных в последнее время значительно возрос, хакеры всех мастей просто не могли пройти мимо них.


Читать дальше →
Всего голосов 139: ↑98 и ↓41+57
Комментарии52

Интерактивный NPC на Unreal Engine

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

Всем привет.

Я хочу с вами поделиться результатами эксперимента по созданию интерактивного NPC на Unreal Engine 5.

Speech recognition, Text-to-speech, LLM модели, LipSync, MetaHuman и все это без использования сторонних сервисов.

Видео работы и ссылка на демо версию прилагается.

Если вам интересно увидеть результат и обсудить перспективы интерактивных NPC в игровой индустрии - добро пожаловать под кат.

Читать далее
Всего голосов 18: ↑19 и ↓-1+20
Комментарии24

Парочка open source решений по доставке уведомлений

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

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

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

Nginx cache: всё новое — хорошо забытое старое

Время на прочтение12 мин
Количество просмотров97K
В жизни каждого проекта настает время, когда сервер перестает отвечать требованиям SLA и буквально начинает захлебываться количеством пришедшего трафика. После чего начинается долгий процесс поиска узких мест, тяжелых запросов, неправильно созданных индексов, не кэшированных данных, либо наоборот, слишком часто обновляемых данных в кэше и других темных сторон проекта.

Но что делать, когда ваш код “идеален”, все тяжелые запросы вынесены в фон, все, что можно, было закэшировано, а сервер все так же не дотягивает до нужных нам показателей SLA? Если есть возможность, то конечно можно докупить новых машин, распределить часть трафика и забыть о проблеме еще на некоторое время.

Но если вас не покидает чувство, что ваш сервер способен на большее, или есть магический параметр, ускоряющий работу сайта в 100 раз, то можно вспомнить о встроенной возможности nginx, позволяющей кэшировать ответы от бэкенда. Давайте разберем по порядку, что это, и как это может помочь увеличить количество обрабатываемых запросов сервером.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии27

Запросы, хуки и спагетти

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

Привет, Хабр!

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

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

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

Плюсы и минусы каждого инфраструктурного решения за четыре года работы в стартапе

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

Последние четыре года я занимался в стартапе руководством инфраструктурой, которая должна была быстро масштабироваться. С самого начала я принял фундаментальные решения, которых компании нужно было придерживаться несмотря ни на что все эти четыре года. В посте я перечислю некоторые из важных решений, принятых мной, расскажу, сожалею ли я о них, или одобряю.
Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Комментарии6

STM32. Процесс компиляции и сборки прошивки

Уровень сложностиПростой
Время на прочтение30 мин
Количество просмотров20K
Многие из начинающих разработчиков софта для микроконтроллеров реализуют свои проекты исключительно в средствах разработки, которые предоставляются производителем. Многое скрыто от пользователя и очень хорошо скрыто, из-за чего некоторые воспринимают эти процессы сродни настоящей магии. Я, в свою очередь, как человек в пытливым умом и природной любознательностью, решил попробовать собрать проект без использования IDE и различного рода автоматизаций.

Так родилась идея для этой статьи: не используя ничего, кроме текстового редактора и командной строки, собрать проект мигания светодиодом на отладочной плате STM32F0-Discovery. Поскольку я не до конца понимал, как происходит процесс компиляции и сборки проекта, мне пришлось восполнять пробелы в знаниях. Разобравшись с этим вопросом, я подумал — а почему бы не рассказать другим об этом?

Всем кому интересно — добро пожаловать под кат! 🙂

Читать дальше →
Всего голосов 124: ↑123 и ↓1+122
Комментарии67

Выпускайте Кракена: опыт использования KrakenD

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

Привет, Хабр! Меня зовут Владимир Калугин, я руковожу бэкенд-разработкой в МТС Travel. Сегодня расскажу про KrakenD, готовое решение, которое мы используем для реализации API-шлюза, важной штуки для продуктов с микросервисной архитектурой. Уверен, наш опыт может пригодиться разработчикам из других сервисов.

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

Миграция микросервисной архитектуры на API Gateway

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

Микросервисная архитектура Amediateka была спроектирована более 6 лет назад предыдущей командой разработки. С тех пор добавилось много новых микросервисов, но фундаментальная часть архитектуры осталась прежней. В этом году мы решили внедрить несколько глобальных изменений, одно из которых - API Gateway. Статья расскажет о том, что это такое, какие преимущества дает, как просто и безопасно мигрировать функционирующую систему на API Gateway и сделает обзор готовых решений.

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

Лаборатория-мастерская в деревне. Малыми средствами, своими руками, с самого начала

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

Квартирный вопрос, испортивший, как всем известно, людей нашего времени, тем не менее решается. И решается куда как проще на некотором удалении от столиц и крупных городов, а в глуши и вовсе зачастую приходится только набраться решимости и закатать рукава… Речь пойдёт о строительстве небольшого приусадебного всепогодного и всесезонного помещения в основном для некрупного настольного технического творчества. Строительство при этом велось весьма невеликими средствами, в одиночку, без применения строительной техники и почти без использования наёмной рабочей силы. С другой стороны, и публика мы непривередливая и некапризная.
Читать дальше →
Всего голосов 195: ↑194 и ↓1+193
Комментарии145

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

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

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

О том, как нам удалось построить цифровую площадку для всех участников рынка металлопроката и подключить к ней больше сотни поставщиков, рассказывает Владимир Селиванов — технический директор маркетплейса «Платферрум».

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

Создаем чат-бота на Python: Полное руководство

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

В этом полном руководстве от DataTech Community мы шаг за шагом рассмотрим процесс создания чат-бота на Python. Откройте для себя мощь NLTK и TensorFlow в обработке естественного языка и машинном обучении, чтобы создать интеллектуального помощника, способного общаться и отвечать на вопросы пользователей. Научитесь подготавливать данные, строить и обучать модель нейронной сети, а затем интегрировать ее в логику чат-бота для создания эффективного и интеллектуального виртуального помощника.

Читать далее
Всего голосов 17: ↑12 и ↓5+7
Комментарии4

Где изучать Golang в 2024

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

2024 году изучение языка программирования Go (Golang) остается одним из наиболее перспективных и востребованных направлений для разработчиков. 

Одним из главных преимуществ изучения Golang в 2024 году является его широкое применение в различных областях разработки программного обеспечения. Он идеально подходит для создания масштабируемых и высокопроизводительных веб-серверов, микросервисов и распределенных систем. Благодаря своей простоте и эффективности, Golang также находит применение в области разработки сетевых приложений, обработки данных, а также в сфере искусственного интеллекта и машинного обучения.

Еще одним преимуществом изучения Golang является его активное сообщество разработчиков. Go имеет обширную документацию, мощные библиотеки и инструменты, которые помогут вам эффективно разрабатывать приложения на этом замечательном языке. Благодаря активному сообществу вы сможете быстро получить поддержку и решить любые возникающие проблемы.

Ежедневно в наш чат приходят новички и задают один и тот же вопрос, посоветуйте ресурсы для начинающего, сегодня вышла новая версия версия Go 1.22.0в честь этого мы собрали список бесплатных курсов и полезных источников. Мы уже писали про многие из них в нашем канале для Golang разработчиков – залетайте, там много всего полезного. 

Надеюсь, этот список будет вам полезен)

Давайте начнем!

Читать
Всего голосов 19: ↑14 и ↓5+9
Комментарии9

Апгрейд и рефакторинг PHP-проектов — теперь это просто с Rector

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

Привет! В статье поделюсь, как инструмент автоматического рефакторинга Rector помогает обуздать легаси и автоматизировать обновление PHP проектов и пакетов, чтобы процесс проходил эффективнее и малой кровью. 

Статья написана на основе доклада с PHP Russia 2022.

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

Испытания 5 отечественных автомобильных аккумуляторов в корпусе D23. Часть 7: итоги большого теста

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


Привет, Хабр! Сегодня завершается серия экспериментов с российскими и белорусскими аккумуляторами для автомобилей азиатского производства, а именно, АКТЕХ Standart, Тюмень ASIA, АКОМ ASIA, Tubor Classic и ZUBR ASIA.

Мы смоделировали несколько характерных критических ситуаций, которые могут произойти под капотом автомобиля, и выяснили, как АКБ поведут себя в каждой из них.

Осталось повторить измерение ёмкости и тока холодной прокрутки, чтобы определить, как экстремальные испытания сказались на динамике этих характеристик. То есть, насколько долговечным и надёжным является каждый из аккумуляторов.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии8

Figma to Frontend: как мы автоматически синхронизируем дизайн и код

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

Меня зовут Анастасия Кабалкина, я Head of design в VK Tech. В этой статье расскажу, как мы синхронизировали треть нашей дизайн-системы за счет автоматической генерации дизайн-токенов и компонентов.

Читать далее
Всего голосов 47: ↑44 и ↓3+41
Комментарии9

Как писать более чистый CSS: дюжина советов от банальных до неочевидных

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

Если CSS для вас все еще боль и страдания, добро пожаловать под кат. Мы наткнулись на интересную подборку советов по CSS на английском языке и решили перевести ее, дополнив собственными примерами с кодом.

CSS как технология действительно немного раздут, но не так хаотичен и сложен, как его иногда описывают. Просто нужно стремиться к лаконичности - в том числе, с помощью описанных подходов.

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

Сериализация данных в Golang с Protobuf

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

Привет, Хабр!

Protobuf, или Protocol Buffers, это бинарный формат сериализации, разработанный в Google для эффективного обмена данными между сервисами. Это как JSON, только компактнее, быстрее и типизированнее. Если JSON был вашим первым крашем в мире сериализации, то Protobuf – это тот, с кем вы хотите серьёзных отношений.

Если вы хотите, чтобы ваши приложения общались между сервисами с молниеносной скоростью и минимальными задержками, тогда Protobuf — твой хороший выбор.

Читать далее
Всего голосов 16: ↑11 и ↓5+6
Комментарии2

Ода бесполезности споров

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

Одним из самых больших разочарований, постигшим меня на пороге зрелости, явилось осознание факта – что даже абсолютная правота не является залогом победы в споре. Это знание изменило мой мир так же, как теорема Гёделя о неполноте изменила формальную логику. Я осознал, что вокруг меня существуют люди, которых невозможно переубедить, вне зависимости от убедительности аргументации и шаткости их позиции.

Традиционно начну издалека. Меня всегда интересовал вопрос: Почему ученые, раз такие умные, не вступают в дискуссии с обывателями, одержимыми разными лженаучными глупостями – ведь показать им истину не сложно: наука выработала многоженство инструментов, способных убедительно доказать любой спорный вопрос: от наличия законов Менделя на примере садовых мушек, до отмены «Новой Хронологии» через дендрохронологический анализ.

Сейчас я знаю ответ – переубедить сторонников лженаучных теорий невозможно. Но вовсе не потому, что они серьёзно заблуждаются. А в точности до наоборот – их невозможно переубедить, потому что они не заблуждаются вообще.

Рассмотрим это на историческом примере:
Всего голосов 260: ↑253 и ↓7+246
Комментарии474

История разработки фасетного поиска средствами PHP

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

Как экспериментальный Pet Project дошел до production и на что способны современные версии языка PHP. Немного о проблематике фасетного поиска в части построения агрегатов.

Если ваша первая реакция: «Почему не на Sphinx/ElasticSearch/etc?», не торопитесь с выводами. Воспринимайте изложенное как интересный исследовательский опыт в области возможностей языка и его оптимизаций.

Спойлер: пришлось даже написать порт на GoLang, чтобы лучше понять пути оптимизации кода.

Читать далее
Всего голосов 59: ↑58 и ↓1+57
Комментарии6
1
23 ...

Информация

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