Search
Write a publication
Pull to refresh
4
0
Bronx @Bronx

User

Send message

Как не надо индексировать

Reading time5 min
Views41K

Развитие происходит по спирали: когда-то люди не умели правильно индексировать, потом (в основном) научились, потом пришли noSQL и все снова забыли знание древних. Что вы будете делать, когда последние из старых DBA отплывут в Валинор?

Снова и снова и сталкиваюсь с полным набором антипаттернов индексирования. Я их перечислю, но! Для каждого антипаттерна есть исключение, когда именно это и стоит делать. Поэтому кликбейтно сформулированное правило верно в 95% случаях, но если вы хотите копнуть глубже, то прочитайте про исключения.

И в конце полезные скрипты для MSSQL, Postgres и MySQL.

Читать далее

Основатель Signal: «Первые впечатления от web3»

Reading time15 min
Views81K

Несмотря на то, что я считаю себя криптографом, меня не особенно привлекает слово "крипто". Не думаю, что я уже староват, но я гораздо чаще кликаю на мемы в духе "Интернет всё помнит" о том, как "крипто" раньше означало "криптография", чем на последние новости об NFT.

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

Читать далее

Не повторяйте: мои инфраструктурные ошибки

Reading time7 min
Views16K

По мере своего карьерного роста я все чаще и чаще испытываю чувство дежа вю. Во время личной или деловой встречи моему собеседнику достаточно упомянуть какой-то малозначительный факт — и я сразу же вспоминаю о событии, которое произошло со мной несколько лет (или даже «работ») назад. Чаще всего это касается неверно принятых мною решений, последствия которых пришлось расхлебывать долгие месяцы. Такие флешбеки настолько сильны, что я едва сдерживаюсь, чтобы не закричать человеку в лицо: «Ни в коем случае не делай X!». Почему сдерживаюсь? Всё просто: моих коллег не было в том месте и в то время и они попросту не поймут, каких ужасов я натерпелся в подобной же ситуации.

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

Читать далее

Единый математический язык для физики и инженерного искусства в 21 веке

Level of difficultyMedium
Reading time18 min
Views15K

Конец 18-го и 19-й век были временем колоссального прогресса в математике. Величайшие умы тысячелетия вводили все новые математические системы и языки, такие как алгебры Клиффорда и Грассмана. Хотя эти алгебры вызвали значительный интерес, в то время они воспринимались как подспорье более прямолинейной и более общеприменимой векторной алгебры Гиббса. Это было фактически концом поисков объединяющего математического языка и началом распространения новых алгебраических систем, создаваемых по мере необходимости; например, спинорная алгебра, матричная и тензорная алгебры, дифференциальные формы и т. д.

В этой статье мы реализуем возрождение алгебр Клифорда и Грассмана в виде структуры, известной как геометрическая алгебра (ГА). Это понятие было впервые введено в середине 1960-х годов американским физиком и математиком Дэвидом Хестенсом. Прошло 40 лет, но есть признаки того, что его утверждение о том, что ГА является универсальным языком для физики и математики, теперь начинает принимать все более явственные очертания. Во всем мире растет число групп, которые применяют ГА к целому ряду проблем из многих научных областей, обеспечивая чрезвычайно мощную математическую структуру, в которой могут быть выражены самые передовые концепции квантовой механики, теории относительности, электромагнетизма и т. д. При этом, утверждается, что ГА также достаточно проста для преподавания школьникам! В этой статье мы рассмотрим развитие и недавний прогресс ГА и обсудим, действительно ли она является объединяющим языком для физики и математики 21-го века. Примеры, которые мы будем использовать для иллюстрации, будут взяты из ряда областей физики и техники.

Читать далее

Worker Services в .NET

Reading time5 min
Views9.3K

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

Читать далее

Как устроена Единая биометрическая система

Reading time11 min
Views16K

Единая биометрическая система (ЕБС) с 2018 года используется для идентификации человека по его биометрическим характеристикам: голосу и лицу.

Чтобы получать услуги по биометрии, пользователю необходимо зарегистрироваться в системе в одном из 13,1 тысяч отделений банков. Там операционист сделает его фотографию, запишет голос и отправит эти данные в систему. А для того чтобы компании могли оказывать по биометрии различные услуги, им необходимо провести интеграцию с ЕБС.

Оператором системы является «Ростелеком», а разработкой занимаемся мы – дочерняя компания РТЛабс .

Меня зовут Сергей Браун, я заместитель директора департамента цифровой идентичности в РТЛабс. Вместе с Артуром Душелюбовым, начальником отдела развития и разработки департамента цифровой идентичности, мы расскажем, как мы создавали платформу для любой биометрии, с какими проблемами встретились и как их решали.

Читать далее

Минимальная установка NextJS без create-next-app

Reading time8 min
Views11K

В данной небольшой заметке я бы хотел показать, как можно достаточно быстро развернуть и настроить проект на NextJS 11

Штатным и самым быстрым способом создания проекта является использование штатной утилиты create-next-app, которая, по аналогии со всем известной CRA создаст проект за считанные секунды.

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

Читать далее

Что стоит знать при переходе на Mac

Reading time9 min
Views104K

Вчера на Хабре вызвал шумиху пост об ужасных неудобствах Mac. В комментариях много было сказано о неинтуитивности macOS: мол, зачастую без гугления не поймёшь, как что-то сделать. И даже не узнаешь, что это вообще возможно сделать. И всё это значит, что с UX что-то не так.

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

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

Читать далее

Комплексные числа и геометрические узоры

Reading time6 min
Views30K
Когда речь заходит о комплексных числах, в первую очередь вспоминают о преобразовании Фурье и прочих аспектах цифровой обработки сигналов. Однако у них есть и более наглядная интерпретация, геометрическая — как точки на плоскости, координатам которой соответствуют действительная и мнимая часть комплексного числа. Рассматривая некоторую кривую как совокупность таких точек, можно описать её как комплексную функцию действительной переменной.

Дальше больше картинок и анимаций

Опасности пользования онлайн-менеджерами паролей

Reading time7 min
Views28K

Введение


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

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

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

Итак, начнём.
Читать дальше →

TypeScript: Раскладываем tsconfig по полочкам. Часть 1

Reading time10 min
Views103K

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

Читать далее

Настройки Windows 10: часть III, или куда приводят скрипты

Reading time34 min
Views40K

Здравствуйте, товарищи! Прошло чуть больше полугода после выхода предыдущей статьи о Windows 10 Sophia Script — скрипте, который за прошедшие годы стал самым крупным (а их осталось всего два) опенсорс-проектом по персонализации и настройке Windows 10, а также автоматизации рутинных задач. В статье я расскажу, что изменилось с момента релиза версии, описываемой в статье от 29.09.2020, с какими трудностями мы столкнулись, и куда всё движется.

Читать далее

Свод правил по работе с целыми числами в C/C++

Reading time11 min
Views60K

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

50 оттенков жёлтого. Часть 2

Reading time7 min
Views18K
Продолжим подкреплять теорию практикой. В первой части статьи я рассказал о своих ранних экспериментах по отбеливанию пластмассы — успешных и не очень. Несмотря на большой объём материала, там, по сути, был рассмотрен лишь один вариант — с использованием жидкой перекиси водорода и солнечного света. И хотя результаты получились обнадёживающие, у описанного метода есть масса ограничений.



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

Пожалуйста, прекратите использовать антипаттерн UPSERT (SQL Server)

Reading time5 min
Views46K

Я думаю, что все уже знают мое мнение о MERGE и почему я держусь от него подальше. Но вот еще один антипаттерн, который я постоянно встречаю, когда требуется выполнить UPSERT (UPdate inSERT — обновить строку, если она существует, и вставить, если ее нет):

Читать далее

Вакцины COVID, их сравнение и принципы действия

Reading time11 min
Views48K

Вакцин много, данных о них тоже, а что же лучше для конкретного человека ? Тема на нова, поэтому статья более аналитическая, нежели научно-популярная.

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

Постараюсь ответить на эти вопросы в статье.

Читать далее

Код на React и TypeScript, который работает быстро. Доклад Яндекса

Reading time16 min
Views29K
Евангелисты Svelte и других библиотек любят показывать примеры тормозящих компонентов на React. React и TypeScript дают много возможностей создавать медленный код. После доклада Виктора victor-homyakov вы сможете писать более производительные компоненты без усложнения кода.

— Здравствуйте, меня зовут Виктор, я один из разработчиков страницы поиска Яндекса. На ней каждый день сотни миллионов пользователей вводят свои запросы, получают страницу со ссылками или сразу с правильными ответами. Из-за такого количества запросов нам очень важно, чтобы наш код работал оптимально. И, конечно, я сразу должен затронуть тему преждевременной оптимизации кода.
Читать дальше →

Как и ожидалось, в полночь Adobe Flash превратился в тыкву

Reading time1 min
Views79K

Наступило 12 января 2021 года и в Adobe Flash Player сработала таймбомба. При нажатии на картинку перебрасывает на https://www.adobe.com/products/flashplayer/end-of-life.html

На картинке старый интерфейс онлайн-библиотеки. Особая пикантность ситуации в том, что по ссылке мне должны были открыться сканы книги опубликованной в 1971 году и посвящённой 250-летнему юбилею одного события.

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

Многие старые сайты уже никто не будет переделывать, а залитые в интернет сканы в формате swf не будут пересканировать и перезаливать.

Не знаю как вы, а я снова к букинистам.

Читать далее

Нормали и обратное транспонирование, часть 2: сопряжённые пространства

Reading time10 min
Views5.9K

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


Но некоторые вопросы были заметены под ковёр.

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

Information

Rating
5,033-rd
Registered
Activity