Обновить
4
0.6

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

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

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

Время на прочтение4 мин
Охват и читатели6.1K

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

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

Читать далее

Отладка микроконтроллера через Type-C кабель

Время на прочтение4 мин
Охват и читатели10K

Как избавиться от дополнительных разъемов на печатной плате IoT-устройств при наличии разъема Type-C?

Этим вопросом мы задались, когда в своих разработках начали переход с micro-USB на 24pin Type-C. В этой статье я постараюсь описать наш опыт использования Type-C, расскажу о распиновке разъемов Type-C для устройств с ESP32, STM32, Миландра, RISC-V или ARM, а также о том, что внутри кабеля Type-C и как его выбрать.

Читать далее

PostgreSQL: пример использования диапазонного типа данных при расчете коэффициента возраст-стаж в ОСАГО

Время на прочтение4 мин
Охват и читатели5.5K

В этой статье рассматриваются преимущества такого редко используемого и, на мой взгляд, незаслуженно обойденного вниманием типа данных, как диапазон. Мы сначала спроектируем структуру базы для хранения коэффициента возраст-стаж при расчете стоимости полиса ОСАГО в рамках привычной многим MySQL. Затем перепроектируем под PostgreSQL и посмотрим, как выглядят sql запросы в обоих случаях. И в финале сравним, какие преимущества дает нам использование диапазонов.

Заметка адресована как пользователям MySQL, так и пользователям PostgreSQL, которые не работали с таким типом данных в своей практике. Если в вашей предметной области есть работа с диапазонами величин, то этот пост точно для вас.

Читать далее

Топ полезных SQL-запросов для PostgreSQL

Время на прочтение7 мин
Охват и читатели145K

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

Читать далее

Лучшие практики модальных окон. Компоненты дизайн системы

Время на прочтение10 мин
Охват и читатели36K

Меня зовут Андрей Насонов, я работаю UI/UX-дизайнером и руковожу дизайн-отделом. В 2008 году я начал заниматься графическим дизайном, а в 2015 году перешел в веб-дизайн.
В этой статье я описываю работу модального окна для десктоп-версии сайтов.

Читать далее

Торопиться не надо… (Про спинлоки)

Время на прочтение13 мин
Охват и читатели19K

После небольшой статьи про особенности при работе с кэшем (https://habr.com/ru/post/687146/) мне в личку прилетело несколько замечаний про работу спинлоков и приглашение на собес от пчелайнов, приятно, что технические статьи читают не только технари... лирика. Возвращаясь к обсуждению спинлоков, вышедших за рамки хабра, если это вызвало интерес, почему бы не написать про работу с этими примитивами синхронизации. Тема действительно интересная, да и разработчики придумали более десятка разновидностей спинлоков под разные вкусы и нужды. Все опять будет с тестами и примерами работы. @tbl Линус действительно прав, в юзерспейсе спинлоки "зло злющее", но как обычно есть нюансы...

Читать далее

Cache pollution? Запасайтесь тестами

Время на прочтение16 мин
Охват и читатели13K

Всем ведь приходилось заниматься улучшением производительности? Для игр особенно актуально, ну может какая-то три-в-ряд не страдает этим. Как обычно серебряной пули нет, начинаем со структур данных, алгоритмов, спускаемся ниже если не помогает, придумываем SoA, AoS шаблоны. Если проблема не решается, подтягиваем профайлеры и предметно разбираем узкие места, но все чтобы мы не делали зачастую таким узким местом всегда будет "железо". Можно сколько угодно оптимизировать другие места, но CPU c его гигагерцами будет простаивать 90% времени если его неправильно "кормить" данными. Одной (только одной из проблем) проблемой организации эффективной работы с данными будет меньше, если знать и уметь работать с кэшами разных уровней. Тут на вики описано, как "на пальцах" быстренько убить перф на обходе массива, простого и общего решения для такого обхода нет. Можно и дальше увеличивать размер кэша, что собственно и делают (гдето здесь на хабре была новость, что Интел при переходе на L1 кэш размером 32кб, заново спроектировал блок доступа к нему, сорян не нашел ссылку), но это дорого, неэффективно на масштабах современных процов, и всегда найдутся данные, которые этот кэш отравят, опять. Интересно как починить? го под кат...

Читать далее

Открытый проект по тестированию файловой системы exFAT и SD карт на встраиваемых устройствах с помощью MATLAB

Время на прочтение8 мин
Охват и читатели4K

Для тестирования выбрана аппаратная платформа на базе чипа STM32H753VIH с частотой ядра 480 МГц. Подключение к SD карте выполнено через интерфейс SDMMC с частотой 60 МГц. В качестве драйвера работает стандартная библиотека STM32H7xx_HAL. Используется промежуточное программное обеспечение FileX из пакета Azure RTOS поддерживающее exFAT.

Читать далее

Ещё раз о гидропонике

Время на прочтение15 мин
Охват и читатели49K

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

Читать далее

Глубокое погружение в Java Memory Model

Время на прочтение53 мин
Охват и читатели260K


Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.


В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

Читать дальше →

Технология создания динамических моделей на примере обогрева помещения

Время на прочтение14 мин
Охват и читатели11K

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

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

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

Читать далее

Начинаем работать с BACnet

Время на прочтение13 мин
Охват и читатели18K
imageМногие из нас, наверное, смотрели боевики и видели, как герои, сидя в темной комнате, удаленно управляют дверями в зданиях, открывая и закрывая их. Управляли освещением, лифтами, чтобы помочь кому-то куда-то пройти или, наоборот, помешать – ну и думали, что да, в теории такое возможно, и в каких-то зданиях, вероятно, есть какая-то автоматизация, но больше это кажется какой-то выдумкой. Так получилось, что в устройство, которое мы делаем, заказчик захотел добавить поддержку BACnet. Так я познакомился с тем, что, оказывается, существует специализированный протокол для автоматизации зданий, который развивается аж с 1987 года.
Читать дальше →

Типы таблиц в PostgreSQL: logged, unlogged и temporary tables

Время на прочтение11 мин
Охват и читатели55K

В PostgreSQL существует большое количество разных типов таблиц. Каждая из них предназначена для решения конкретных задач. Самая распространённая и известная — heap table или стандартная таблица. Про её структуру я рассказывал в прошлой статье. Стандартная таблица позволяет хранить строки, обновлять данные, делать OLAP и OLTP-запросы.  

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

Читать далее

Как сдать английский язык на сертификат ESOL SELT В1 для визы Skilled Worker

Время на прочтение6 мин
Охват и читатели10K

Знакомый айтишник собрался подаваться на британскую визу. Среди прочих документов для подачи на Skilled Worker visa потребовался сертификат В1, которого у него не было, и надо было срочно готовиться к экзамену. Поэтому он обратился ко мне, как к преподавателю английского.  Делюсь собранными данными, своими рекомендациями, если вы соберетесь сдавать SELT В1, и личным опытом моего знакомого. Приложенные скриншоты взяты из видео LanguageCert с информацией по прохождению Listening/Reading/Writing /Speaking, которые доступны здесь и здесь. Материалы с пробными экзаменами, включая аудиоматериалы и ответы, можно скачать по ссылке.

Запись на сдачу, cтруктура экзамена и тайминг

Записаться в любой из центров можно здесь. Экзамен состоит из двух блоков (чтение/аудирование/письмо и устная часть) и в Армении проходит в American University of Armenia. Необходимо выбрать дату отдельно на обе части. Знакомый записывался на сдачу за месяц до экзамена. Он выбрал временные слоты таким образом, чтобы пройти все части за один день, и заплатил 235 долларов по карте он-лайн. 

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

Оба блока проходят он-лайн на компьютере с наушниками в лингафонном кабинете: open-space с отдельными столами и компьютерами для каждого студента. Устная часть - это интервью с сертифицированным инструктором. Темы базируются на ежедневных ситуаций и практическом опыте взрослого человека.

Читать далее

NORVI ENET: ESP32 + Ethernet W5500 (а что, так можно было?)

Время на прочтение8 мин
Охват и читатели13K


Продолжаем знакомство с контроллерами Norvi и на этот раз разберём устройство и назначение довольно продвинутой модели AE06-T, принадлежащей к семейству NORVI ENET. Контроллеры этой линейки имеют все достоинства рассмотренных ранее устройств NORVI IIOT, а кроме этого — сетевой Ethernet интерфейс на чипе W5500, встроенный картридер, внешнюю антенну и Micro-USB разъём.

Здесь мы имеем контроллер с двумя интерфейсами (Wi-Fi и проводной Ethernet), что позволяет создавать на нём интересные решения по автоматизации с подключением к различным сетям, резервированием подключений, передачей данных из одной сети в другую и прочими нетривиальными возможностями.

Интересным является и само по себе использование «старой-доброй» микросхемы W5500 вместо обычно используемого для ESP32 чипа физики LAN8270A — что и как там устроено и как это всё работает будем разбираться далее…
Читать дальше →

Радикальная удалёнка… налоговый рай архипелаг Свальбард

Время на прочтение4 мин
Охват и читатели38K

Почему норвежский архипелаг Свальбард (также известный как Шпицберген) может быть очень интересной и выгодной локацией для многих удалёнщиков и онлайн предпринимателей. Я говорю об этом совершенно серьёзно, приготовьтесь к захватывающему открытию этого места!

Lat oss gå (поехали)!!

Мои вопросы работодателю, когда подаюсь на разработчика

Время на прочтение9 мин
Охват и читатели92K

За последние 10 лет я поменял 3 работы, прособеседовался с 10+ компаний на позицию разработчика (software engineer) и вел переписку с HR/рекрутерами из нескольких десятков фирм. По ходу дела заметил, что вопросы, которые я задаю на собеседовании с менеджером/командой или с HR, повторяются, и решил их структурировать. Некоторые из них являются общими, и их может задать кандидат на почти любую вакансию; другие касаются только вакансий для программистов. В этой статье поделюсь с вами наиболее типичными и важными вопросами, которые, на мой взгляд, может задать соискатель потенциальному работодателю.

Читать далее

Как сделать удобную дизайн-систему. Цвета. Часть 1

Время на прочтение3 мин
Охват и читатели13K

Дизайн-система позволяет быстро взаимодействовать с компонентами, легко вносить изменения во все макеты и в целом прививает дизайнеру навык организации больших объемов информации.

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

Основное правило дизайн-систем: чем меньше компонентов — тем лучше и вам, разработчику и конечному юзеру. Это касается количества цветов, шрифтов, иконок и так далее. Дизайн будет выглядеть более консистентным и единым.

Читать далее

Как спроектировать фильтр электромагнитных помех для DC-DC преобразователя?

Время на прочтение9 мин
Охват и читатели34K

Поставщики компонентов наперебой рассказывают, как просто при помощи их изделий создать готовое к промышленному выпуску решение. После посещения одного из таких мероприятий от Wurth Electronic по проектированию пассивных фильтров электромагнитных помех (ЭМП) у меня появились смутные сомнения по поводу методики подбора компонентов, и мы решил провести собственное исследование.

Сегодня мы постараемся рассеять маркетинговый туман и внести осознанность в проектирование фильтров ЭПМ для импульсных преобразователей (DC-DC).

Читать далее

Основы линейной алгебры для 3D-приложений. Урок 2

Время на прочтение7 мин
Охват и читатели35K

Продолжаем разбираться с линейной алгеброй для 3D-приложений вместе Александром Паничевым — ведущим разработчиком логики в UNIGINE. В прошлом уроке мы поговорили про предназначение математики в трехмерной графике и вспомнили основные операции над векторами. А в этом уроке переходим к более сложным темам: углы Эйлера и кватернионы.

Читать далее

Информация

В рейтинге
2 086-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность