Pull to refresh
9
0
Иванцов Михаил@darkrain

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

Send message

Uber — причины перехода с Postgres на MySQL

Reading time19 min
Reach and readers111K


В конце июля 2016 года в корпоративном блоге Uber появилась поистине историческая статья о причинах перехода компании с PostgreSQL на MySQL. С тех пор в жарких обсуждениях этого материала было сломано немало копий, аргументы Uber были тщательно препарированы, компанию обвинили в предвзятости, технической неграмотности, неспособности эффективно взаимодействовать с сообществом и других смертных грехах, при этом по горячим следам в Postgres было внесено несколько изменений, призванных решить некоторые из описанных проблем. Список последствий на этом не заканчивается, и его можно продолжать еще очень долго.


Наверное, не будет преувеличением сказать, что за последние несколько лет это стало одним из самых громких и резонансных событий, связанных с СУБД PostgreSQL, которую мы, к слову сказать, очень любим и широко используем. Эта ситуация наверняка пошла на пользу не только упомянутым системам, но и движению Free and Open Source в целом. При этом, к сожалению, русского перевода статьи так и не появилось. Ввиду значимости события, а также подробного и интересного с технической точки зрения изложения материала, в котором в стиле «Postgres vs MySQL» идет сравнение физической структуры данных на диске, организации первичных и вторичных индексов, репликации, MVCC, обновлений и поддержки большого количества соединений, мы решили восполнить этот пробел и сделать перевод оригинальной статьи. Результат вы можете найти под катом.

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

Что происходит, когда вы добавляете строку в PostgreSQL

Level of difficultyMedium
Reading time9 min
Reach and readers17K

Привет, Хабр! Меня зовут Александр Гришин, я руководитель по развитию продуктов хранения данных в Selectel. Сегодня я предлагаю продолжить разбираться с PostgreSQL и заглянуть еще глубже в эту кроличью нору. Посмотрим, что происходит под капотом СУБД во время записи строк, поверхностно разберем, как устроены страницы памяти, что такое tuple, tuple chain, fillfactor, VM и FSM. Эти знания помогут разработчикам не только понимать, как работает база данных, но и эффективно управлять ее производительностью в продакшене.

Если вы начинающий DBA, разработчик, инженер или архитектор облачной инфраструктуры, эта статья для вас. Погнали?

Погнали!

x402 и MCP для чайников

Level of difficultyEasy
Reading time4 min
Reach and readers9.5K

С появлением всё большего количества сервисов/агентов/платформ/llm-юзеров встал вопрос о встроенной и универсальной оплате. Одним из самых лучших ответов на этот вопрос становится протокол x402.

x402 - это протокол от Coinbase, продолжение инициативы от Google с их AP2.

x402 позволяет делать нативные платежи для http-интерфейсов. Запрос->Заголовок->Оплата->Результат. Без карт, лишних кабинетов с балансами, и прочей мороки. Любой веб-ресурс или API может запрашивать оплату, а клиент (человек/агент/бот) могут оплачивать с помощью блокчейн транзакций.

Для тех, кто создаёт MCP, это колоссальный буст: наконец-то появляется монетизация. Каждый вызов вашего API, может быть платным, или только методы подписки или pro-функций, могут быть платными.

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

Протокол работает на HTTP 402 ответе. В связи с тем, что никто его толком не использует, и он десятки лет остался свободным, сейчас наконец появляется применение.

Читать далее

Swift становится ближе. Разработка в контейнере c IDE для VSCode

Level of difficultyEasy
Reading time13 min
Reach and readers9.1K

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

Вы устали иметь дело со сломанными Swift проектами через несколько месяцев после их создания? Каждый раз мучаетесь с настройкой Swift окружения, нюансами под каждую платформу и страдаете от засорения системы кучей устанавливаемых компонентов? Или просто интересуетесь тем как попробовать Swift для разработки за пределами экосистемы Apple? Тогда добро пожаловать под кат, будет интересно!

Читать интересное

Геодезический купол. Об устройстве и моем опыте расчетов

Reading time6 min
Reach and readers34K
Пожалуй сложно назвать геодезические купола чем-то необычным или новым. В этой заметке я расскажу немного об этих конструкциях в общем, об их устройстве, а также покажу на примере как я кое что на эту тему считал. Код тоже будет.

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

REST API на Laravel в 100 строк кода

Reading time5 min
Reach and readers124K

inb4: копипаста из документации


В гайде упор на быстрое развертывание минимального набора для полноценной разработки API в соответствии с best practice, взятыми из документации Laravel 5.7, собранными в одном месте. Писал для себя и коллег как шпаргалку, надеюсь пригодится кому-нибудь еще.

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

Agile coach здорового человека

Reading time19 min
Reach and readers27K

Вступительное слово


Для удобства я буду писать различные английские слова, такие как “Agile”, “coach”, “Scrum” и т.д. русскими буквами. Аджайл, коуч, скрам и т.д. Кто легко оскорбляется наличием транслитерации в тексте — прошу меня понять и простить.


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


К нашему всеобщему счастью в Аджайле обитают не только чудовища. Одно из порождений Аджайла, о котором сегодня пойдёт речь — аджайл коуч.


А стоит об этом поговорить, потому как всё чаще можно встретить людей, всерьёз рассуждающих, что лучше канбан, или скрам; увидеть компании, ищущие аджайл коучей/скрам-мастеров (именно в таком виде), и наткнуться на литературу, рассказывающую, что в начале было слово, и это слово было “Аджайл”.


И это опасная тенденция.

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

Нейрореволюция в головах и сёлах

Reading time8 min
Reach and readers94K
В последнее время всё чаще и чаще слышишь мнение, что сейчас происходит технологическая революция. Бытует мнение, что мир стремительно меняется.



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

Я работаю в области связанной с анализом изображений. Это одна из областей которую новые идеи затронули сильнее всего. Одна из таких идей — свёрточные нейронные сети. Четыре года назад с их помощью впервые начали выигрывать конкурсы по обработке изображений. Победы не остались незамеченными. Нейронными сетями, до тех пор стоящими на вторых ролях, стали заниматься и пользоваться десятки тысяч последователей. В результате, полтора-два года назад начался бум, породивший множество идей, алгоритмов, статей.

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

Кто лишится в ближайшие лет десять работы, а у кого будут новые перспективные вакансии.
Читать дальше →

Электродвигатели: какие они бывают

Reading time23 min
Reach and readers386K


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

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

Каждый электродвигатель обладает некоторыми отличительными свойствами, которые обуславливают его область применения, в которой он наиболее выгоден. Синхронные, асинхронные, постоянного тока, коллекторные, бесколлекторные, вентильно-индукторные, шаговые… Почему бы, как в случае с двигателями внутреннего сгорания, не изобрести пару типов, довести их до совершенства и ставить их и только их во все применения? Давайте пройдемся по всем типам электродвигателей, а в конце обсудим, зачем же их столько и какой двигатель «самый лучший».
Читать дальше →

Нейросеть как база данных активаций

Reading time5 min
Reach and readers8.5K
Чтобы ИИ на нейросетях был универсальным, надо понять, чего нейросети не хватает для универсальности. Для этого попробуем реализовать полноценное исполнение любых программ на нейросети.
Читать дальше →

Жизнь верстальщика в Linux

Reading time3 min
Reach and readers78K
Большинство fronted-разработчиков, используют ОС Windows или OS X в связи с отсутствием полноценного Photoshop. Но как быть тем, кто неравнодушен к Nix системам? Сейчас и попробуем выяснить, интересующихся прошу под кат.
Читать дальше →

Зарабатывающая идея реального форекс-робота

Reading time10 min
Reach and readers122K
Общеизвестно, что заработать на форекс невозможно. Изменения курсов валют носят случайный характер, а комиссия брокера уменьшает вероятность положительного итогового заработка, часто делая ее совсем непривлекательной, ― ниже, чем в казино, например. Тем не менее, я содержу себя и свои проекты исключительно за счет форекс уже три года, я шел к этому около 7 лет и, вспоминая этот путь, решил написать заметку для тех, кого привлекает эта антинаучная возможность заработка.

Речь пойдет не о чудесных Граалях, продаваемых в интернете, не о высокочастотной торговле и не о «безрисковых» вложениях в мифические ТОП-20 лучших трейдеров. Только хардкор: мы проводим многочисленные торговые операции, кто-то вручную, кто-то ― автоматически, и получаем в результате этих операций положительный прирост счета при статистически значимом количестве сделок.
Читать дальше →

Какой квадрокоптер выбрать для GoPro? Рассмотрим лучших среди бюджетных

Reading time4 min
Reach and readers120K
Свой первый квадрокоптер я купил более двух лет назад и купил я его, чтобы открыть новые ракурсы для своей «гопрошки». Сегодня совсем другая ситуация и на рынке квадрокоптеров и с курсом доллара, однако желание купить квадрокоптер для съёмки с воздуха — всё так же актуально. Поэтому в этой статье я расскажу о том, на какие квадрокоптеры стоит обратить внимание и с какими сложностями вы можете столкнуться.


«Подвес DJI Phantom»
Читать дальше →

Собираем базу людей из открытых данных WhatsApp и VK

Reading time15 min
Reach and readers222K
Etan Hunt
кадр из фильма Миссия Невыполнима II

Эта история началась пару месяцев назад, в первый день рождения моего сына. На мой телефон пришло СМС-сообщение с поздравлением и пожеланиями от неизвестного номера. Думаю, если бы это был мой день рождения мне бы хватило наглости отправить в ответ, не совсем культурное, по моему мнению, «Спасибо, а Вы кто?». Однако день рождения не мой, а узнать кто передаёт поздравления было интересно.

Первый успех


Было решено попробовать следующий вариант:
  • Добавить неизвестный номер в адресную книгу телефона;
  • Зайти по очереди в приложения, привязанные к номеру (Viber, WhatsApp);
  • Открыть новый чат с вновь созданным контактом и по фотографии определить отправителя.

Мне повезло и в моём случае в списке контактов Viber рядом с вновь созданным контактом появилась миниатюра фотографии, по которой я, не открывая её целиком, распознал отправителя и удовлетворенный проведенным «расследованием» написал смс с благодарностью за поздравления.

Сразу же за секундным промежутком эйфории от удачного поиска в голове появилась идея перебором по списку номеров мобильных операторов составить базу [номер_телефона => фото]. А еще через секунду идея пропустить эти фотографии через систему распознавания лиц и связать с другими открытыми данными, например, фотографиями из социальных сетей.
Далее перебор аккаунтов WhatsApp и VK по Москве и Ненецкому АО и распознание лиц

Мой топ-100 книг по Программированию, Компьютерам и Науке: часть 1

Reading time3 min
Reach and readers134K
Недавно сайт Fog Creek взял у меня интервью, и один из вопросов был связан с моими любимыми книгами по программированию, кодированию и разработке программ. Мне этот вопрос запомнился потому, что я давно себя считаю заядлым книжным ботаником. Книжный ботаник я потому, что безумно люблю книги о науке, компьютерах и программировании. Каждые несколько месяцев я уделяю день или два исследованию недавно изданной литературы и покупке наиболее понравившихся экземпляров. Я мог бы вечно разговаривать о своих любимых книгах. Ведь у меня их так много.

Меня настолько заинтересовал вопрос о книгах, что я решил начать новую серию статей на своём сайте catonmat о моих топ-100 книгах о программировании, программном обеспечении, науке, физике, математике и компьютерах. В каждой статье я буду размещать по пять книг, ведь разбивать огромное задачи на маленькие подзадачи — это самый простой способ их решать (GTD — get things done).

Взгляните на мою книжную полку, чтобы убедиться, что я настоящий ботаник:

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

Руководство хакера по нейронным сетям. Схемы реальных значений. Стратегия №1: Произвольный локальный поиск

Reading time4 min
Reach and readers52K
Мы начинаем публиковать перевод книги (как называет ее сам автор) «Руководство хакера по нейронным сетям». Книга состоит из четырех частей, две из которых уже закончены. Мы постараемся разбить текст на логически завершенные части, размер которых позволит не перегружать читателя. Также мы будем следить за обновлением книги и опубликуем перевод новых частей после их появления в блоге автора.

Содержание:
Глава 1: Схемы реальных значений
Часть 1:
   Введение   
      Базовый сценарий: Простой логический элемент в схеме
      Цель
         Стратегия №1: Произвольный локальный поиск

Часть 2:
         Стратегия №2: Числовой градиент

Часть 3:
         Стратегия №3: Аналитический градиент

Часть 4:
      Схемы с несколькими логическими элементами
         Обратное распространение ошибки

Часть 5:
         Шаблоны в «обратном» потоке 
      Пример "Один нейрон"

Часть 6:
      Становимся мастером обратного распространения ошибки


Глава 2: Машинное обучение
Часть 7:
      Бинарная классификация

Часть 8:
      Обучение сети на основе метода опорных векторов (SVM)

Часть 9:
      Обобщаем SVM до нейронной сети

Часть 10:
      Более традиционный подход: Функции потерь


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

Чудо-Юдо рыба-Юкит или 128-й конструктор сайтов на рынке

Reading time6 min
Reach and readers34K
Почти полтора месяца назад мы объявили о запуске открытой беты нашего нового конструктора сайтов uKit — https://ukit.com

О технической стороне
Наверняка многим будет интересно узнать больше о реальном нагруженном проекте на ноде+монго, о том, как применяются kibana, gulp, о построении системы шаблонов с препроцессором less. Но! Об этом всем мы расскажем, когда пройдет некоторое время, накопится опыт реального, а не тестово-прототипного использования. Чтоб истории получились интересные, с граблями, блэкджеком и бородатыми сисадминами.
А пока просто расскажем о том, что и зачем мы сделали.
И предвосхищая вопрос, вы, конечно, молодцы, но...
Читать дальше →

Стань повелителем загрузки Linux

Reading time24 min
Reach and readers96K
Сначала мы познакомимся с udev и научимся с его помощью исследовать установленные в компьютере устройства прямо во время загрузки: в качестве примера будем автоматически выбирать настройки видеокарт для Xorg. Затем решим задачу работы с одним образом на десятках компьютеров одновременно путём внедрения собственного обработчика в initramfs, а заодно оптимизируем систему для сетевой загрузки. Чтобы дополнительно уменьшить время загрузки и снизить нагрузку на сеть попробуем NFS заменить на NBD, и помочь TFTP с помощью HTTP. В конце вернёмся в начало — к загрузочному серверу, который также переведём в режим «только для чтения».



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

Начало смотрите здесь:
Первоначальная настройка сервера
Подготовка образа для загрузки по сети
Читать дальше →

Linux для планшета

Reading time8 min
Reach and readers148K
image

В этой статье я покажу вам на своём опыте, что GNU/Linux и графические оболочки для него уже дозрели до уровня планшетов и вовсе не нужно бояться покупать трансформер\планшет только из-за того, что вы приверженный линуксоид. Здесь описывается сравнение и выбор оптимальной среды рабочего стола (далее DE) для планшета или трансформера, её установка и доработка для сенсорного управления.
Читать дальше →

Верните музыку! Или дело одного скрипта [iOs VK App]

Reading time3 min
Reach and readers29K
Если Вы как и я пользуетесь вконтакте для прослушивания музыки, то я думаю Вас как и меня очень огорчило пропадание вкладки с музыкой из официального приложения. Одно радует, что разработчики оставили одну маленькую брешь, скорее всего специально… Заинтересовавшихся под кат.
Читать дальше →

Information

Rating
Does not participate
Location
Кустанай, Кустанайская обл., Казахстан
Date of birth
Registered
Activity