Pull to refresh
1
0
Sergey Kaleev @skaleev

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

Send message

Типы данных для хранения вещественных чисел в PostgreSQL

Level of difficultyMedium
Reading time6 min
Views1.9K

В статье рассматриваются особенности типов данных для хранения вещественных чисел в PostgreSQL.

Типы данных PostgreSQL для работы с вещественными числами:

1) float4, синоним real, синоним float(1..24)

2) float8, синоним float, синоним double precision, синоним float(25..53)

3) numeric синоним decimal. Диапазон для этого типа значительный: 131072 цифр до точки и 16383 цифр после точки. Но если при определении типа указать numeric(точность, масштаб), то максимальные значения точности и масштаба 1000. numeric можно объявить с отрицательным масштабом: значения могут округляться десятков, сотен, тысяч.

Кроме чисел и null поддерживаются значения Infinity, -Infinity, NaN.

Поля типов данных фиксированной длины не могут вытесняться в TOSAT-таблицу, переменной длины (numeric) могут.

float4 обеспечивает точность 6 разрядов (значащих чисел в десятичной системе счисления), float8 обеспечивает точность 15 разрядов. Последний разряд округляется:

Читать далее

Как не надо собеседовать

Level of difficultyEasy
Reading time11 min
Views15K

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

Читать далее

Биполярный транзистор. Принцип работы

Level of difficultyMedium
Reading time12 min
Views7.6K

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

Зачем еще одна?

Дело в том, что я заметил такую тенденцию в вузовских учебниках – довольно подробное описание работы p-n перехода и очень поверхностное описание работы биполярного транзистора. Зачастую «механика» работы такого транзистора описывается довольно схематично (в совершенно неработоспособном виде) и далее следует быстрый переход на описание внешних параметров. Причем у этих же авторов описание «механики» работы полевого транзистора дается куда обширнее. Видимо, авторы учебников сами не очень «догоняют», как там все работает. И это не удивительно. Человечество вначале эры полупроводников пыталось повторить схему работы вакуумной лампы на полупроводниках, т.к. работа лампы достаточно логична. И собственно полевые транзисторы, в какой-то степени повторяют принцип работы вакуумных ламп. Но вот биполярный транзистор, хотя и был изобретен первым, но это было скорее случайное изобретение, а не осознанный путь к цели.

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

Если Вы задавали себе вопросы наподобие таких:

почему через коллекторный p-n переход, включенный в обратном направлении, течет ток, да еще и самый, что не на есть главный рабочий ток?

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

Почему ток в базы через открытый эмиттерный p-n переход меньше тока через закрый коллекторный p-n переход?

Ну и совсем «подковыристый» вопрос. Почему при включении биполярного транзистора по схеме с общим эмиттером, когда транзистор полностью открыт (находится в режиме насыщения), напряжение на коллекторе становиться меньше напряжения базы? Ведь если смотреть на транзистор с точки зрения пирога n-p-n переходов (как рисуют в учебниках), то сумма падения напряжения на двух p-n переходах (открытом эмиттерном и закрытом коллекторном) должно быть больше напряжения на одном открытом эмиттерном переходе. А оно у нас меньше.

Ответы на эти вопросы под катом

УЗИарт: как врач УЗИ создал себе программу для автоматической подготовки медицинских протоколов

Level of difficultyEasy
Reading time10 min
Views5.5K

Привет, Хабр! Меня зовут Александр Юрьевич Доротенко. Я врач УЗИ высшей категории. Опыт работы УЗИ – с прошлого века (с февраля 2000 года). За плечами уже четыре десятка лет работы врачом, из них два десятка лет также стараюсь программировать для рабочих целей.

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

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

Начинаю свой рассказ

Как я пять раз переделывал умный дом — и выкинул половину ненужного

Level of difficultyEasy
Reading time13 min
Views49K

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

В этой статье я расскажу, как все устроено у меня сейчас — и почему многое из задуманного я в итоге выкинул. Что работает стабильно, а что мешает. Какие сценарии прижились, а какие пришлось отключить. Почему я установил Sprut.Hub, но все равно держу Home Assistant. И зачем в квартире больше кабелей, чем светильников.

Эта статья не про то, «как надо» или «как не надо». Она про то, как получилось у меня — и почему я этим доволен. 

Читать далее

Пока ты делаешь 10 задач в день, кто-то делает одну — и получает больше

Level of difficultyEasy
Reading time5 min
Views48K

Ты закрыл 10 задач за день. Был на созвонах, фикcил баги, даже написал пару тестов. День не прошёл зря?

В это же время кто-то сделал одну задачу — и сэкономил твоей команде два месяца работы.

Читать далее

Проектирование Sequence-диаграмм: руководство для системных аналитиков

Level of difficultyMedium
Reading time14 min
Views4.9K

Привет, коллеги! Меня зовут Юля, я системный аналитик в компании EvApps.

Сегодня поговорим о sequence-диаграммах (диаграммы последовательности) – одном из способов моделирования взаимодействий между объектами в системе. В этой статье мы рассмотрим преимущества использования sequence-диаграмм, типичные ошибки при их создании, а также пример их проектирования. Ключевая идея – показать мыслительный процесс, а не просто шаблонное описание. Статья будет полезна прежде всего системным аналитикам, а также тем, кто участвует в проектировании и разработке программного обеспечения.

Читать далее

Практический опыт построения надежной защиты российских веб-приложений

Level of difficultyMedium
Reading time6 min
Views2.5K

Современные веб-приложения требуют не только высокой производительности, но и надёжной защиты — от классических SQL-инъекций до сложных атак, включая перегрузку API. В условиях растущих киберугроз и ограничений на использование западного программного обеспечения особенно важно выбрать эффективную архитектуру, отвечающую требованиям российского рынка.
В этой статье мы делимся практическим опытом построения системы безопасности с использованием аппаратного балансировщика DS Proxima и решения SolidWall WAF для защиты веб-приложений и API. Рассматриваем архитектурные особенности, результаты тестирования и ключевые преимущества подхода, который объединяет безопасность, масштабируемость и предсказуемую производительность.

Читать далее

Гексапараллакс, как модель разработки ПО

Level of difficultyEasy
Reading time4 min
Views790

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

Читать далее

Работа с данными в DuckDB или не pandas’ом единым сыт DS

Reading time9 min
Views2.4K

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

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

Читать далее

Как работает ingress-nginx: нырнем еще глубже. Часть 2 — балансировка

Level of difficultyMedium
Reading time8 min
Views2.1K

В первой части мы разобрались с принципами работы Ingress-nginx контроллера. Теперь пришло время углубиться в то, как в Ingress-nginx устроен механизм обновления бэкендов и как реализована балансировка нагрузки на примере sticky sessions. Готовы узнать больше? Поехали!

Напомню, если вдруг забыли, эта статья написана по мотивам выступления на DevOpsConf’25, а меня зовут Алексей Колосков, я Lead DevOps из Hilbert Team.

Итак, рассмотрим, как реализовано обновление бэкендов в самом контроллере.

Читать далее

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

Level of difficultyEasy
Reading time6 min
Views21K

— Привет! Подскажи, пожалуйста, какой срок по этой задаче?

— 2 дня и 1000 долларов

— А почему тысяча долларов? Мы же договаривались на 500?

— Когда мы договаривались, ты не спрашивал сроки

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

Под кат

Embedded Linux для начинающих (Часть первая)

Level of difficultyEasy
Reading time10 min
Views14K

Однажды по работе мне прилетела задача по сборке и запуску Linux на одноплатном ПК. Тогда я, будучи разработчиком ПО для микроконтроллеров, встал в небольшой ступор — задачка явно не решалась установкой IDE и нажатием в ней кнопки «Собрать проект». Гугл помог узнать о том, что существует некий Buildroot. В материалах по теме всё выглядело довольно просто: скачай, настрой, дерни пару команд, загрузи результат на одноплатник — и можно запускать! Получается, процесс не многим сложнее установки дистрибутива Linux или Windows на обычный ПК? Конечно же, нет. Ведь если у тебя в руках кастомный одноплатник неизвестного китайского бренда, а не BeagleBone или Raspberry Pi, то зарыться в Buildroot придётся с головой...

Читать далее

О контроллере батареи ИБП (часть 2)

Level of difficultyMedium
Reading time6 min
Views5.1K

О сколько нам открытий чудных
...

Судя по результатам голосования и комментариям к предыдущей статье, к вопросу контроля АКБ у самых простых ИБП есть некоторый интерес. Данная статья - продолжение данной темы.

Сейчас прототип собран на макетной плате (токовый шунт к которому подключено два АПЦ). Измеритель напряжения и тока INA3221, как рекомендовали в комментариях, я решил не использовать, так как дискретность его измерения 8мВ сравнима с дискретностью 12-ти битного АПЦ в обычном микроконтроллере (для ESP32 получается точность измерения около 6мВ).

Читать далее

В реестре РЭП, с новым интерфейсом и анонсированным Wi-Fi 7. Обзор новых беспроводных контроллеров Eltex

Reading time9 min
Views2.3K

Многие до сих пор думают, что Wi-Fi от Eltex — это исключительно программные контроллеры SoftWLC (которые, к тому же, имеют довольно спорную репутацию). Между тем уже год, как они выпустили довольно годную линейку новых аппаратных контроллеров и новый виртуальный контроллер с отличным современным web-интерфейсом и кучей полезных фич. Которых, кстати, за последние полгода заметно прибавилось. Мы протестировали решение в нашей техлаборатории и проверили заявленный функционал. В этой статье хочу разобрать, насколько удачными получились новые контроллеры, что они умеют и можно ли их рекомендовать для крупного энтерпрайза.

Читать далее

Типизация в Python: как аннотации спасают ваш код и ускоряют разработку

Level of difficultyMedium
Reading time6 min
Views7.4K

Ошибки из-за несоответствия типов — самые обидные и распространенные. Аннотации в Python решают это раз и навсегда. В этой статье я покажу, как они делают ваш код безопаснее и красивее

Читать далее

Как я встраивал wysiwyg редактор в свой django проект

Level of difficultyEasy
Reading time3 min
Views1.5K

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

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

Почитав разные статьи про то, какие есть редакторы, я остановился на TinyMCE.

Читать далее

Книжный клуб системных аналитиков: как мы создали сообщество для обмена знаниями

Level of difficultyEasy
Reading time8 min
Views517

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

Меня зовут Станислав Нижник. Я ведущий системный аналитик в MedTech-компании СберЗдоровье. 

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

Читать далее

Open source профессиональный и любительский — взять лучшее от двух миров? [Что думают эксперты и лидеры индустрии]

Reading time13 min
Views1.1K

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

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

Читать далее

Domain-Driven Design: чистый подход к проектированию бизнес-логики

Level of difficultyMedium
Reading time6 min
Views9.6K

Недавно наша команда столкнулась с новым проектом — крупной backend-системой, которую руководство решило реализовать в формате монорепозитория. Масштаб бизнес-логики оказался огромным, и быстро стало понятно, что без четкой архитектурной дисциплины невозможно поддерживать читаемость, изолировать бизнес-логику и эффективно управлять сложностью. Поэтому мы выбрали подход Domain-Driven Design (DDD), при котором домен описывает бизнес-правила, а оркестратор и инфраструктура вынесены в отдельные слои. Меня зовут Рамиль Куватов, я разработчик в VK Tech, и эта статья — попытка описать и систематизировать принципы, которые помогают нам сохранять архитектуру чистой, а систему — устойчивой к изменениям.

Читать далее

Information

Rating
Does not participate
Location
Сургут, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity