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

Разработка

Сначала показывать
Порог рейтинга

Не делайте лишних колонок в ваших таблицах, вам это не нужно

Анализ и проектирование систем *

Всем привет.

Я люблю базы данных, люблю строить запросы, люблю проектировать БД. Раскладывать по полочка, систематизировать это моё любимое занятие. Конечно первые годы я проектировал таблицы БД как меня научили в ВУЗе - каждому свойству отдельная колонка.

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

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

Речь конечно об Online Transaction Processing (OLTP). Когда нам надо получить данные по одной сущности, например, показать профиль пользователя, или показать товарные позиции определённого заказа.

Ниже я расскажу о продвинутом способе хранения данных.

Читать далее
Рейтинг 0
Просмотры 69
Комментарии 0

Новости

Новый сетевой стек Reticulum — если нужно построить децентрализованную сеть

Блог компании VAS Experts Разработка систем связи *

С помощью Reticulum можно развернуть территориально-распределенную сеть на бюджетном железе и без IP. Поговорим об особенностях технологии.

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

Сравнение алгоритмов детекции лиц

Python *Обработка изображений *Машинное обучение *

Привет, Хабр! Очень часто я на просторах интернета натыкаюсь на такой вопрос: «А какое готовое решение по детекции лиц лучше всего использовать?» Так вот, я отобрал 5 решений с Github, которые показались мне хорошими, относительно новыми и лёгкими в использовании, и хотел бы сравнить их между собой. Всем, кому интересно, что из этого вышло, добро пожаловать под кат!

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

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 5

Python *
Tutorial

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

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

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

Нейронная сеть считает лес кругляк и распознает автомобильные номера. Как это сделано?

Python *Искусственный интеллект TensorFlow *
Из песочницы

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

Необходимая подготовка читателя — должно быть общее представление о компьютерном зрении (computer vision) и нейронных сетях. Здесь не будет описаний, что такое сверточная нейронная сеть и т.п., статей по таким основам найдете много на хабре (вот хорошая Глубокое обучение для новичков: распознаем изображения с помощью сверточных сетей). В то же время, совсем новички могут получить представление, какие знания и компетенции нужны для решения подобных задач.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.5K
Комментарии 4

Будущее российской микроэлектроники

Производство и разработка электроники *История IT Процессоры

В конце февраля 2022 года крупнейший тайваньский производитель полупроводников TSMC объявил о прекращении поставок и производства отечественных микропроцессоров из-за новых санкционных ограничений, введённых Бюро экспортного контроля Минторга США в ответ на военные действия на Украине. Под удар попали дизайн-центры МЦСТ, Байкал Электроникс, Ядро, НТЦ «Модуль», МТЦ «Элвис». Это буквально задушило все существующие и планируемые разработки микропроцессоров, включая всю линейку процессоров Байкал и практически все процессоры Эльбрус. Прямо сейчас Байкал Электроникс находится в подвешенном состоянии, поскольку производство порядка 200 тысяч процессоров на TSMC уже оплачено, 150 тысяч кристаллов готовы, но их предстоит корпусировать и ещё 50 тысяч чипов должны находиться в производстве. Ситуация критическая – никто не знает что будет дальше и вероятность того, что в дальнейшем с российскими разработчиками микросхем не будет работать ни одна фабрика в мире, включая китайские, выше 50%. На данный момент положение микроэлектронного производства в России таково, что ни одна процессорная разработка малой топологии невозможна по определению – у нас просто нет собственных производственных мощностей.

Читать далее
Всего голосов 79: ↑72 и ↓7 +65
Просмотры 16K
Комментарии 78

Города, инверсии и логистика: разбор задач для QA-инженеров

Блог компании VK Блог компании Ozon Tech Занимательные задачки IT-инфраструктура *Учебный процесс в IT
Друзья, недавно мы опубликовали разбор задач из отборочного контеста на курс «Автоматическое тестирование веб-сервисов на Go». А теперь предлагаем поломать голову над задачами для QA-инженеров: сначала попробуйте найти решение самостоятельно, а потом сравните с нашими вариантами.


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

Подбор синонимов для терминов с использованием Викиданных (python)

Python *
Из песочницы

Существует множество сервисов по подбору синонимов, но они редко справляются с терминами, которые содержат в себе более одного слова. Для подбора синонимов для более сложных выражений могут помочь Викиданные. Мало кто знает, что помимо стандартной Википедии существует дополнительная база данных Викиданные(Wikidata), которая представляет собой граф знаний фонда Викимедия. Сейчас она интегрирована в саму Википедию, поэтому для многих статей в левом меню можно найти пункт Элемент Викиданных. Викиданные представлены в модели rdf, то есть информация имеет вид триплетов, которые характеризуют сущность. Триплет выглядит, как утверждение субьект - предикат - обьект. Пример, для сущности Англия одним из таких информационных триплетов представлен: Англия - имеет столицу - Лондон. 

Один из предикатов(типов связи) это altLabel, подразумевающий под собой альтернативные названия, который как раз таки и поможет нам в поиске синонимов.

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

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

Конвертируем Spring XML в Java-based Configurations без слёз

Java *

Как-то я засиделся на работе добавляя новую функциональность в один "небольшой" и довольно старенький сервис написанный на Spring.

Редактируя очередной XML файл Spring конфигурации я подумал: а чего это в 21 веке мы всё еще не перевели наш проект на Java-based конфигурации и наши разработчики постоянно правят XML?

С этими мыслями и была закрыта крышка ноутбука в этот день...

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

Flutter: Что нового в версии 2.10

Разработка веб-сайтов *Разработка мобильных приложений *Dart *Разработка под Windows *Flutter *
Перевод

Что нового в версии 2.10? Основные нововведения.

Сложность: Новичок.

Релиз Flutter версии 2.10 состоялся 03.02.2022 и в рамках этого релиза было объявлено о нескольких интересных вещах, включая большое обновление поддержки Flutter для Windows, несколько значительных улучшений производительности, новую поддержку значков и цветов в фреймворке, а также некоторые улучшения инструментов. Кроме того, было произведено удаление канала разработки, сокращение поддержки старых версий iOS и небольшое количество критических изменений о которых вы узнаете в статье. Приступим!

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

Security Week 2216: когда кнопка Mute не работает

Блог компании «Лаборатория Касперского» Информационная безопасность *
На прошлой неделе группа исследователей из трех американских университетов опубликовала научную работу, в которой анализируется реальная функциональность кнопки Mute в приложениях для конференц-связи. Да, по всем очевидным признакам кнопка Mute должна отключать запись звука с микрофона и передачу его на сервер, но так ли это на самом деле? Усомниться в этом заставляет встроенная функциональность ряда клиентов для удаленных переговоров, например Microsoft Teams:



Если у вас выключен микрофон и вы начинаете говорить, программа напоминает вам, что микрофон-то выключен и надо бы его включить обратно! А как они узнали, что микрофон выключен? И где эта проверка происходит, на клиенте или где-то на сервере? Для подробного исследования вопроса авторы работы перехватывали поток данных с микрофона и сравнивали с сетевым трафиком от клиента к серверу, дебажили работу самих клиентов и даже применяли машинное обучение. Результаты получили разнообразные, но можно сделать вывод, что наибольший режим приватности на конференц-звонках происходит при работе через веб-интерфейс.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1K
Комментарии 5

Сохраняем код чистым в приложении на Flutter

Блог компании OTUS Разработка мобильных приложений *Dart *Flutter *

Каждому из вас наверняка знакома ситуация, когда через полгода работы над проектом команды из нескольких человек, вы внезапно обнаруживаете, что в разных частях проекта используется разные правила оформления кода, тесты написаны, но отчеты по ним не собираются и не анализируются, в виджетах встречается бизнес-логика и вычислительно сложные задачи вызываются непосредственно в методе build. Кроме этого появились гигантские классы и методы, в коде избыточно много использования типа dynamic или в функциях отсутствует тип возвращаемого результата. И у вас возникает желание открутить маховик времени в начало проекта и сделать все необходимое, чтобы вероятность возникновения такого хаоса была минимальной. В этой статье мы рассмотрим некоторые удобные механизмы анализа кода и результатов тестов для Flutter.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 385
Комментарии 0

Пять причин работать в Платформе nanoCAD с модулем «СПДС»

Блог компании Нанософт разработка CAD/CAM *

Платформа nanoCAD с модулем «СПДС» - программное обеспечение, способное закрывать не только текущие потребности проектировщиков, но и в перспективе решать задачи завтрашнего дня. Приведем пять аргументов в пользу этого тезиса, основываясь на реальных отзывах.

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

QA-обучение без границ

Тестирование IT-систем *Тестирование веб-сервисов *Учебный процесс в IT Управление персоналом *Карьера в IT-индустрии

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

Последние два десятилетия для многих русскоязычных тестировщиков движение в  профессии выглядело как “обучение → получение первого опыта на русскоязычном проекте → получение опыта на англоязычном проекте”. 

В марте 2022 года число вакансий в российской ИТ-отрасли сократилось на 25%, а число резюме выросло на 15%. Можно предположить, что число вакансий и резюме в следующие полгода сбалансируется, но более интересные с точки зрения развития и зарплаты проекты будут доступны в основном для неплохо говорящих по-английски QA-трейни и QA-джунов. Таким образом, для чуть более амбициозных вышеуказанная последовательность сократится до более короткой “обучение → получение опыта на англоязычном проекте”. Но она и более сложная.

Давайте посмотрим на то, какие есть варианты обучения у IT-новичков и какие варианты может им предложить рынок в очередной “новой нормальности.”

Читать далее
Рейтинг 0
Просмотры 536
Комментарии 0

Что будет после Теории Всего? (TOE)

Математика *Научно-популярное Физика

Допустим, мы дождались, и физики с математиками достигли святого грааля - Теории Всего. Фанфары, нобелевские речи, единение гравитации и квантовой механики, но... Я утверждаю, что есть еще одна задача, столь сложная, что открытие TOE может показаться легкой разминкой. Более того, есть еще и вторая задача, куда сложнее первой.

Читать далее
Всего голосов 10: ↑6 и ↓4 +2
Просмотры 3.4K
Комментарии 17

Обход графа в ширину (BFS) и глубину (DFS)

Алгоритмы *
Из песочницы

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

Читать далее
Рейтинг 0
Просмотры 1.3K
Комментарии 3

Введение в секционирование таблиц

Microsoft SQL Server *
Перевод

В этой статье я собираюсь продемонстрировать особенности планов исполнения запросов при обращении к секционированным таблицам. Обратите внимание, что существует большая разница между секционированными таблицами (которые стали доступны только с SQL Server 2005) и секционированными представлениями (которые были доступных ещё в SQL Server 2000, и по-прежнему доступны в SQL Server 2005 и последующих версиях). Особенности планов запросов к секционированным представлениям я продемонстрирую в другой статье.

Читать далее
Рейтинг 0
Просмотры 556
Комментарии 0

Настольный клиент для Yandex Speechkit text2speech на коленке

API *Голосовые интерфейсы
Tutorial

Вчера понадобилось мне записать голос для голосового (IVR) меню. Решил воспользоваться голосами от яндекс.облака, тем более что они теперь все высококачественные, и от человеческого неотличимы. Но как бы это сделать поудобнее, чтобы не надо было потом редактировать и конвертировать? Казалось бы, можно воспользоваться демкой на странице описания, но во первых там есть ограничение длины текста, во вторых она дает сохранить только запись в формате ogg, и в третьих иногда добавляет в запись рекламу. Оно и понятно в общем то, эта демка предназначена для показа технологии а не для коммерческого использования.

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

Беглый гуглёж ничего не принес, только несколько малопонятных проектов на гитхабе.

Уже думал быстренько наваять какой нибудь свой веб-интерфейс но тут вспомнил что есть Postman. Для тех кто не в теме - это замечательная программа для тестирования любых api интерфейсов.

Под катом - как настроить Postman для преобразования текста в речь.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 663
Комментарии 2

Zustand — руководство по простому управлению состоянием

JavaScript *Angular *ReactJS *VueJS *TypeScript *
Перевод

За последние несколько лет управление состоянием в React претерпело значительные изменения. Многие перешли с Flux на Redux и ищут еще более простые решения. Кроме того, появление React Hooks открыло новые возможности для управления состоянием.

Некоторые из новых библиотек управления состоянием, которые появились на горизонте, — это Recoil, Jotai, Radio Active state и Zustand.

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

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

Требования к ETL-сервисам – построение аналитических решений на базе myBI Connect

Блог компании OTUS Big Data *Data Engineering *

Привет от Technology Enthusiast! Сегодня речь пойдет о сервисах интеграции данных, их функциональных возможностях и ограничениях. Рассмотрение будем вести на примере сервиса myBI Connect, опираясь на который я реализовал с десяток аналитических проектов за последние несколько лет.

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

Требования и ожидаемые результаты

Функциональные возможности

Сценарии использования и бизнес-ценность

Планы развития, продвинутое моделирование и BI

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 273
Комментарии 0