Pull to refresh

Technotext

Как фронтендер сертификацию PostgresPro сдавал

Level of difficultyEasy
Reading time4 min
Views10K

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

Я хочу поделится тем, каким образом я подготовился к сертификации. Какого рода вопросы были. Насколько сложно это было для человека, который о СУБД не знал ничего и пользовался БД на уровне элементарных запросов. И не большая часть моих размышлений на тему того на сколько это вообще нужно.

Читать далее

Что тестировщикам (и не только им) важно знать о базах данных. Шпаргалка по популярным ошибкам

Reading time6 min
Views16K

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

Разумеется, БД — вовсе не черный ящик с магией внутри, а такой же набор взаимодействующих по определенным правилам компонентов, как и все остальное, с чем ежедневно приходится иметь дело QA-инженерам (и разработчикам, на самом деле, тоже, но они обычно больше погружены в контекст). Понимание того, что там под капотом, помогает эффективно проводить тест-дизайн, локализовывать баги, общаться с разработкой.

Под катом — наша шпаргалка по распространённым багам в работе баз данных. Разбили их по категориями, снабдили примерами и объяснили первопричины появления. Надеемся, будет полезно не только QA-специалистам, но и бэкенд-разработчикам начального уровня, а также всем, кто хочет углубить свои познания в области взаимодействия с БД.

Читать далее

Тестирование сообщений в Kafka

Level of difficultyMedium
Reading time5 min
Views8.1K

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

Читать далее

Системная ошибка рынка труда или почему не хватает технических писателей со знанием языков разработки и API

Level of difficultyEasy
Reading time8 min
Views4.8K

Hola, Хабр! Я — технический писатель и за свою длинную карьеру в ИТ, нигде и никогда не сталкивался с ситуацией переизбытка в командах технических писателей. Наоборот, почти повсеместно в компаниях есть множество продуктов и проектов, в которых документация неполная, неточная, устаревшая и покрытая паутиной, а самих «техписов» хронически не хватает. Опытные спецы, умеющие читать код, документировать алгоритмы, описывать БД и API — это вообще люди уровня «ошибка выжившего». И, возможно, я нашел ответ на этот вопрос.

Читать далее

Как действительно понять нейронные сети и KAN на интуитивном уровне

Level of difficultyHard
Reading time39 min
Views14K

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

Знакомая ситуация?

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

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

Читать далее

Извлекаем почтовые индексы из ФИАС

Level of difficultyMedium
Reading time10 min
Views929

Казалось бы если ФИАС содержит эти данные, то просто выгрузи их ? Но не тут то было, дело в том что почтовые индексы есть у домов, но почтовых индексов нет у населённых пунктов, при этом населённые пункты через произвольное количество своёв "абстракции" связаны с домами. Эта связь записана в таблицу ADM_HIERARCHY - группировка по административному делению.

Собственно задача состоит в том что бы сгруппировать почтовые индексы всех домов и взять минимальный индекс как индекс собственно населённого пункта (индекс населённого пункта обычно заканчивается нолями, у "подчинённых" почтовых отделений индексы заканчиваются цифрами от 1 до 9).

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

О том как это сделать и решить проблему с выборкой будет эта статья-инструкция.

Читать далее

Как сделать безопасную загрузку с полностью зашифрованным диском на Linux без загрузчика на UEFI

Level of difficultyHard
Reading time14 min
Views15K

Наша новая статья — для довольно искушённых пользователей Linux. В ней DevOps-инженер Алексей Гаврилов разобрал, как установить Debian или аналогичный дистрибутив на полностью зашифрованный диск без загрузчика на UEFI с включённым Secure Boot. 

После завершения установки вы получите включённый Secure boot с использованием личных ключей для подписи EFI-файлов, подписанные ключом файл ядра и initramfs, а также зашифрованные разделы диска за вычетом EFI boot. Это позволит уменьшить возможность векторного взлома ноутбука и усложнит жизнь потенциальному взломщику, поскольку в его распоряжении будут только подписанные EFI-файлы.

Читать далее

Подмания: запускаем графические приложения в контейнерах. Часть 2

Level of difficultyMedium
Reading time12 min
Views3.4K

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

Это вторая статья о контейнеризации как стиле повседневного использования графических приложений в ОС Линукс.

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

Посему, без долгих предисловий, ныряем под кат!

Читать далее

Когда одного Postgres'a мало: сравнение производительности PostgreSQL и распределенных СУБД

Level of difficultyHard
Reading time12 min
Views18K

Общеизвестно, что PostgreSQL - крайне эффективная СУБД с богатой функциональностью. При этом не секрет, что PostgreSQL масштабируется только вертикально и её производительность ограничена возможностями одного сервера.

Написано много хороших постов, в которых сравнивают архитектуру монолитных и распределенных СУБД. К сожалению, обычно авторы ограничиваются теоретическим сравнением и не приводят конкретные цифры. Данный пост же наоборот основан на эмпирическом исследовании с использованием бенчмарка TPC-C, который является промышленным стандартом для оценки производительности транзакционных СУБД (On-Line Transaction Processing, OLTP).

Мы расскажем, когда именно одного Postgres'a становится мало, и какие возможны компромиссы между производительностью и надежностью. Для тех, кто не готов к компромиссам, мы покажем, что могут предложить такие распределенные СУБД, как CockroachDB и YDB.

Читать далее

Самодельные радиолампы: второй заход

Level of difficultyEasy
Reading time15 min
Views14K

В предыдущей статье я рассказал про вакуумную установку, в этот раз будем делать сами лампы. Ведь для этого уже всё есть? Как бы не так.

Там много картинок

Запускаем Yolo на пятирублёвой монете или Luckfox Pico Mini

Level of difficultyMedium
Reading time29 min
Views26K

В данной статье речь пойдет про использование очень маленькой Luckfox Pico Mini. Я расскажу про особенности платы, её настройку, а также о том как запускать на ней нейронные сети для детекции объектов с камеры.

Мне удалось добиться скорости детекции в 15 FPS (или даже 50!), результат, который по силам далеко не каждому одноплатнику.

Читать далее

SwiftUI: архитектура State-Model-View

Level of difficultyMedium
Reading time9 min
Views6.1K

В документации по UIKit компании Apple можно найти объяснение, что “структура приложений основана на шаблоне проектирования Model-View-Controller (MVC)”.

В материалах Apple по SwiftUI объяснений и даже просто ссылок на паттерны проектирования, похоже, нет. Попробуем сначала разобраться почему. Далее рассмотрим логичные и простые решения для построения как отдельных компонентов, так и уровень приложения с использованием состояний и property wrappers; подход, который логично обозначить как State-Model-View.

Читать далее

SVG-виджеты для tcl/tk. Часть I

Level of difficultyMedium
Reading time13 min
Views3.9K

Начать статью хочу с цитаты из слов Брайана Кернигана,которую мне посчастливилось найти:

Tcl/Tk придает работе магическую продуктивность, за несколько часов можно достигнуть тех же результатов, что за дни или недели при разработке на C или C++... Tk весьма эффективен для большинства приложений, многие элементы интерфейса (виджеты) реализованы настолько хорошо, что остается только удивляться, как подобная работа могла быть выполнена так качественно... Удачным кажется и то, что разделение задач между Тсl и С/С++ осуществляется достаточно легко, надо только знать, какой инструмент лучше справляется с задачей... Расширение системы дополнительным Tcl-кодом, загружаемым напрямую в Tcl-библиотеку приложения, в полном согласии с оригинальной идеей Остераута, повышает эффективность программы, в целом, упрощает ее структуру и улучшает мобильность... Я не уверен, что Тсl мог бы выжить как самостоятельный продукт - у него слишком много конкурентов. Но у сочетания Tcl/Tk в Unix-мире нет конкурентов... Система исключительно надежна, очень хорошо документирована... свободно доступна... безукоризненно высокого качества

Читать далее

Создал город из игры Герои 3 в 3D | Фабрика

Reading time7 min
Views17K

Всем привет, это Денис Вебер.

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

Если вам больше нравится формат видео, ссылку на ролик я оставлю в конце статьи.

Читать далее

Теория игр за 15 минут

Level of difficultyEasy
Reading time15 min
Views72K

Многие из вас, я уверен, слышали о теории игр в какой-то момент своей жизни. Если вы хотите выглядеть умным и произвести впечатление на свою девушку — просто упомяните «игру с нулевой суммой» или «эволюционную стратегию», и ваши шансы отвести её домой сегодня вечером только что подскочили на 50%. Или вы можете использовать теорию игр, чтобы принимать решения в инвестировании своих денег (чтобы их полностью потерять и разориться) или, например решая, на какой девушке жениться (что также очень вероятно вас разорит). Как видите, это очень полезная теория.

Чтобы казаться умным - достаточно выучить эти пару выражений, но чтобы на самом деле что-то понимать - придется разобраться. Оказывается, это не так уж сложно и довольно интересно. Давайте посмотрим.

Читать далее

Архитектура RAG: полный гайд

Level of difficultyHard
Reading time13 min
Views52K

Если, открывая холодильник вы еще не слышали из него про RAG, то наверняка скоро услышите. Однако, в сети на удивление мало полных гайдов, учитывающих все тонкости (оценка релевантности, борьба с галлюцинациями и т.д.) а не обрывочных кусков. Базируясь на опыте нашей работы, я составил гайд который покрывает эту тему наиболее полно.

Итак зачем нужен RAG?

Читать далее

Как Руанда построила эффективную экономику на руинах геноцида

Level of difficultyEasy
Reading time12 min
Views18K

Руанда. Что приходит вам на ум, когда вы слышите название этой маленькой африканской страны? Наверняка геноцид 1994 года — одно из самых страшных злодеяний второй половины прошлого века. 

Но для миллионов африканцев судьба Руанды вызывает огромную зависть. Этой стране удалось построить крайне эффективную для региона экономику, которая по многим ключевым показателям — от рейтинга Doing Business и индекса восприятия коррупции до прироста ВВП и представленности женщин в политике лидирует как минимум в Африке, а порой и обгоняет восточноевропейские страны. Рассказываем о парадоксальном пути развития Руанды. 

Читать далее

Опять Mikrotik и снова Telegram…

Level of difficultyMedium
Reading time16 min
Views5.4K

Здравствуйте Друзья!

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

В рамках того проекта мы управляли устройствами Микротик через Телеграм-бота. Было получено много опыта и много кода, в виде библиотек на языке Mikrotik Script, для работы с API Телеги, функций обработчиков, и всевозможных форм.

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

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

Читать далее

Еще один WSPR маяк?

Level of difficultyEasy
Reading time3 min
Views7K

Еще один WSPR маяк?

Привет, Хабр! Много ли вы видели различных проектов WSPR маяков? Не знаю, но хочу поделиться с вами своим небольшим проектом который ориентирован в основном на начинающих радиолюбителей.

Читать далее