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

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

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

Дизайн встраиваемой базы данных для ANN запросов: MusyaDB

Уровень сложностиСложный
Время на прочтение23 мин
Количество просмотров2.5K

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

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

Типы данных в Python. Что нужно о них знать?

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

Всем привет! Меня зовут Дима. Я являюсь Backend Python Developer'ом. Хочу оставить здесь скомпонованную информацию, которой когда-то давно не хватало мне. А именно, расскажу Вам про основные типы данных в Python, как они устроены и в чём их отличие.

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

Опасность устарела: несколько важных нюансов в новых стандартах C++

Время на прочтение16 мин
Количество просмотров15K
Undefined behavior (UB) — боль, знакомая каждому разработчику со стажем; эдакий «код Шредингера», когда не знаешь, правильно тот работает или нет. К счастью, стандарты языка С++20/23/26 привнесли относительно неопределенного поведения кое-что новое. И довольно важное, если вы — архитектор ПО, а «плюсы» — ключевой стек вашей компании (подробнее о том, как и почему мы в «Лаборатории Касперского» много используем С++, читайте здесь).

В этой статье я со своих позиций Senior Software Architect и Security Champion в микроядерной операционной системе KasperskyOS рассмотрю кейсы-ловушки, в которые можно попасть практически в любом из стандартов, и покажу, что меняется в С++20/23/26, — уменьшается ли количество кейсов с неопределенным поведением, и становится ли С++ безопаснее.


Читать дальше →
Всего голосов 58: ↑56 и ↓2+60
Комментарии48

Дайте мне 15 минут, и я изменю ваш взгляд на GDB

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

Материал подготовлен на основе выступления с CppCon 2015 "Greg Law: Give me 15 minutes & I'll change your view of GDB" (доступно по ссылке ). Многие моменты я изменял и корректировал, поэтому учтите, что перевод достаточно вольный.

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

В статье будет рассматриваться отладка кода на C в ОС Linux.

Читать далее
Всего голосов 47: ↑45 и ↓2+63
Комментарии16

Куда податься, чтобы продвигаться: каналы продвижения для b2b и b2c

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

Зачада: есть шикарный IT-продукт, которому нужно найти клиентов. Владелец продукта хочет бесконечное количество лидов прямо завтра и прямо за 0 ₽. Это, безусловно, устроит и его, и unit-экономику, и инвесторов, и даже местную собаку Чучу. Но увы, такой расклад невозможен. Вопрос: что делать?

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

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

История переформатирования 100 000+ файлов Google в 2012 году

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

В сентябре далёкого 2012 года я трудился начинающим инженером в Google, занимаясь разработкой Bazel (инструмент сборки, внутри компании также известный под именем Blaze). Однажды мне на почту пришло загадочное приглашение из Google Календаря. Его прислали два инженера из США, пригласив на встречу меня и моего тимлида.

Я сразу узнал имена отправителей — это были Роб Пайк и Расс Кокс. И хотя работать мне с ними не доводилось, я был о них наслышан. Расса Кокса я знал по его блогу, который любил читать, а Роба Пайка просто, потому что он известен. В ходе встречи они поделились с нами своим амбициозным планом: переформатировать каждый BUILD-файл Bazel в кодовой базе Google с помощью автоматизированного скрипта.
Читать дальше →
Всего голосов 32: ↑26 и ↓6+34
Комментарии6

FastAPI: веб-разработка на Python

Время на прочтение14 мин
Количество просмотров13K
image Привет, Хаброжители!

FastAPI — относительно новый, но надежный фреймворк с чистым дизайном, использующий преимущества актуальных возможностей Python. Как следует из названия, FastAPI отличается высоким быстродействием и способен конкурировать в этом с аналогичными фреймворками на таких языках, как Golang. Эта практическая книга расскажет разработчикам, знакомым с Python, как FastAPI позволяет достичь большего за меньшее время и с меньшим количеством кода.

Билл Любанович рассказывает о тонкостях разработки с применением FastAPI и предлагает множество рекомендаций по таким темам, как формы, доступ к базам данных, графика, карты и многое другое, что поможет освоить основы и даже пойти дальше. Кроме того, вы познакомитесь с RESTful API, приемами валидации данных, авторизации и повышения производительности. Благодаря сходству с такими фреймворками, как Flask и Django, вы легко начнете работу с FastAPI.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+11
Комментарии3

Мега-Учебник Flask Глава 14: Ajax (издание 2024)

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

Это четырнадцатая часть серии мега-учебника Flask, в которой я собираюсь добавить функцию перевода на живой язык, используя службу переводов Microsoft и немного JavaScript.

Начать изучение
Всего голосов 8: ↑7 и ↓1+6
Комментарии5

Статический анализ структуры базы данных (часть 1)

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

Статический анализ структуры базы данных — это процесс выявления ошибок, нерекомендуемых практик и потенциальных проблем в базе данных только на основе структуры, типов данных, свойствах объектов. Статиеский анализ структуры не задействует ни пользовательские данные, ни статистику по таким данным.

Рассмотрим подробнее статический анализ структуры базы данных — что это, какие задачи решает, как интегрировать статический анализ в CI.

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

Как начать использовать USB Type-C в своих разработках

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

В современных embedded-устройствах используется огромное количество различных разъемов, таких как USB Type-B, miniUSB, microUSB и так далее. Все они отличаются форм-фактором, максимальной пропускной способностью и другими различными характеристиками. Самым верным решением в данной ситуации было бы минимизировать количество используемых разъемов и остановиться на каком-то одном, «едином» для большинства разработок. Наиболее перспективным выглядит использование разъема Type-C. В нем объединены невероятная пропускная способность с высокой мощностью питания. Такие производители, как Apple, Huawei, Sony уже внедряют разъем Type-C в свои разработки, постепенно отказываясь от использования «старых» разъемов. А чем embedded-разработчики хуже?


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

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

Крошечная библиотека TFT для микроконтроллеров ATtiny

Время на прочтение8 мин
Количество просмотров14K
Библиотека TFT на ATtiny85, управляющая цветным дисплеем Adafruit 2.0" 320x240

В статье речь пойдёт о маленькой графической библиотеке, предназначенной специально для микроконтроллеров ATtiny, используемых с различными миниатюрными TFT-дисплеями, которые можно недорого приобрести на сайтах Adafruit, AliExpress или Banggood.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+56
Комментарии3

Батарейное питание для устройств MySensors

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

Эта музыка будет вечной если я заменю батарейки (С)



Это опус посвящен моим изысканиям по питанию автономными беспроводными устройствами, входящими в систему умного дома MySensors.


Сперва был литий...


Вернее литий-ионные и литий-полимерные аккумуляторы.


Долгое время эти аккумуляторы от старых гаджетов копились в ящике. Думал — вот оно, универсальное питание для всех малогабаритных микроконтроллеров. Тем более, напряжение 3.3-4.2В отлично подходит как для AVR, так и для всяческих ESP и STM. Для надежности можно поставить LDO стабилизатор нужной мощности и получить стабильные 3.3 для МК и всей периферии.

Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии42

Датчики для умного дома

Время на прочтение8 мин
Количество просмотров23K
Сделали мы шкаф управления для дома вот тут , разработали контроллер и тут.

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

Но вся эта система далеко не умный дом, это лишь продолжение ваших рук и ног, и единственная помощь от неё только лишь в том, что не надо вставать с кровати, чтобы выключить свет.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии37

Разработка 2-наносекундного излучателя лидара. Тестовое задание от Яндекс.Беспилотники

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

Это рассказ о том, как потратить 3 недели на тестовое задание от работодателя мечты и провалить второй тур собеседования. Несмотря на то, что работу я не получил, тестовое задание оказалось испытанием, с которым я справился, попутно вынеся для себя несколько важных уроков.

Читать далее
Всего голосов 101: ↑100 и ↓1+120
Комментарии110

JetHome E1: элегантный красавец на ESP32

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


Сегодня мы поговорим об очередном контроллере для DIY рынка на ESP32, это красавец JetHome E1 в элегантном корпусе на DIN-рейку. Кроме стильного корпуса, этот контроллер обладает интересной начинкой (тут и Ethernet интерфейс и 5 встроенных реле и прочие атрибуты подобных контроллеров) и хорошей родословной — его выпускает компания, которая специализируется на производстве Linux контроллеров и мини-компьютеров и имеет большой опыт в этом деле и даже собственную производственную линию в Санкт-Петербурге.

То есть это ещё один контроллер отечественного производства (как и Lavritech V7.1 Lite), причём выпускаемый на промышленном оборудовании с «заводским качеством». Ну и по традиции я приглашаю посмотреть, что и как там устроено внутри и что нам предлагает JetHome E1 для решения наших задач по автоматизации.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+25
Комментарии30

Модернизация освежителя воздуха Air Wick

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

Доброго времени суток, Хабр!

Лет пять назад мы купили себе освежитель воздуха Air Wick. Я его разобрал, вытащил и выкинул плату, в надежде, что так я быстрее сделаю свою … Если Вы решите, что оно того не стоило, то я готов поспорить.

Читать далее
Всего голосов 22: ↑21 и ↓1+24
Комментарии29

Контроллер измерения влажности почвы для вертикальной фермы

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

Приветствую, Хабр!

Статья о разработке контроллера измерения влажности почвы с передачей данных по Wi‑Fi. Конкретно это устройство было разработано для вертикальной фермы на 64 ячейки.

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

К вопросу о диодах (идеальных)

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

Очередная зарисовка, как всегда, выросшая из практической задачи.
Имеется устройство -аккумуляторная батарея, состоящая из трех секций аккумуляторных ячеек (АЯ) (литий-ионных, хотя это неважно) и необходимо обеспечить их совместную работу на общую нагрузку. Для решения данной задачи поставлены три ключа на полевых транзисторах, индивидуально управляемых с микроконтроллера. Естественно, что каждый ключ образован двумя последовательно включенными транзисторами, управляемыми минусом на затворе (я постоянно путаю буквы n и p, так что пользуюсь такой терминологией), так что стоят они в плюсах батарей - пока ничего нового, таких схем двенадцать на дюжину, см рис.1.

Но случилась беда - при попытке включиться при глубоком минусе (-40) батареи неожиданно начали отключаться под нагрузкой, хотя всего лишь год назад вполне выдерживали такой режим. Связано это было с изменившимися параметрами ячеек.

И что было дальше ?
Всего голосов 39: ↑39 и ↓0+56
Комментарии29

Что делать, если Заказчик просит сделать часть работ бесплатно

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

Вводные:

Вы уже находитесь в проекте (договор заключен, работы идут).
Внешний Заказчик.
Кейс: Заказчик выдвигает новое требование (или уточняет старое) и просит сделать это бесплатно.
Эти работы для вас существенны, и вы очень не хотели бы их делать бесплатно.

Что делать?

Читать далее
Всего голосов 9: ↑5 и ↓4+2
Комментарии24

7 раз отрежь, один релизни. А/Б тесты статических сайтов

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

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

Прорабатывается ТЗ и задача отдаётся разработчикам. Затем новая версия тестируется и уходит конечным пользователям. На этом жизненный цикл идеи завершён. Теперь остаётся дождаться массива свежей аналитики и отпраздновать…

Однако эта идея изначально была обречена. Она была поддержана лишь схожими с её автором людьми. Однако эти люди не самая подходящая ЦА, а возможно и вовсе её редкие исключения. И есть только один гарантированный способ проверить гипотезу - проверить её именно на аудитории бизнеса. Но, не на всей. Этот способ называется А/Б тестированием.

И именно ему будет посвящена данная статья. От идеи до конкретной реализации тестирования на next.js (которую можно повторить и на других технологиях).

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

Информация

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