Как стать автором
Обновить
-4
0.2
Антон @Tirael78

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

Отправить сообщение

Асинхронная репликация без цензуры

Время на прочтение12 мин
Количество просмотров24K


Олег Царёв ( zabivator )


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

Иногда бывает необходимо, чтобы приложение могло получать все обновления из базы и желательно в режиме реального времени. Этим занимается оpen source библиотека, которая называется libslave.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии6

Бинарные (файловые) хранилища, страшная сказка с мрачным концом

Время на прочтение17 мин
Количество просмотров40K


Даниил Подольский (Git in Sky)


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

Что такое файл? Файл – это кусок данных с именем. Что важно? Почему файл – это не строка в базе данных?

Файл слишком большой, чтоб можно было обращаться с ним как с одним куском. Почему? Есть у вас сервис, раз у нас HighLoad конференция, у вас сервис, который держит одновременно 100 тыс. соединений. Это не так уж много, если по каждому из соединений мы отдаем файл в 1 Мбайт размером, но нам нужно примерно 100 Гбайт памяти для буферов под эти файлы.
Всего голосов 69: ↑57 и ↓12+45
Комментарии43

Протокол Z-Wave становится открытым

Время на прочтение3 мин
Количество просмотров20K
Недавно были опубликованы в открытом доступе спецификации протокола Z-Wave, одного из самых популярных протоколов в домашней автоматизации. Нет, это не утечка, а осознанный шаг компании Sigma Designs, владельца протокола Z-Wave. На сегодняшний день Z-Wave используется внутри десятков миллионов умных домов, и открытие спецификации стандарта явно пойдёт на пользу популярности Z-Wave.


Давайте разберёмся, что же они там открыли...
Всего голосов 22: ↑21 и ↓1+20
Комментарии37

Книга «Онтогенез. От клетки до человека»

Время на прочтение16 мин
Количество просмотров9.5K
Всем привет! Мы совместно с «Книжными проектами Дмитрия Зимина» выпустили книгу Джейми Дэйвиса:

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

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

Джейми Дейвис проделал огромную работу по адаптации сложнейшего научного материала для уровня, понятного массовому читателю. В увлекательной и ироничной форме, снабдив свой рассказ более чем 80 иллюстрациями, автор приглашает читателя в путешествие через все аспекты биологического развития человека — от зачатия до смерти. Последние достижения эмбриологии, генетики, физики, нейропсихологии позволят нам узнать больше о стволовых клетках и белковом метаболизме, различиях между хромосомами и функциях генов, нейронных связях и прочих важнейших факторах, влияющих на внутреннюю эволюцию человека.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии4

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

Время на прочтение4 мин
Количество просмотров80K


У кого сейчас есть время на получение второго академического образования? Хм. Все больше компаний и команд обращают внимание не на формальные «корочки», а на реальные способности и достижения конкретного человека. Речь, конечно о хороших компаниях с современным взглядом на реальность и продвинутым руководством.

Необязательно проходить всю программу университета, чтобы научиться программировать. Онлайн-курсы, конечно, требуют самоконтроля, усердия и ответственности. Но, если есть цель и стремление, то все приложится. В компании таких же «вольных» слушателей по сети вы наверняка сможете пройти курс успешно.
Читать дальше →
Всего голосов 47: ↑38 и ↓9+29
Комментарии52

Что нового в Swift 3?

Время на прочтение10 мин
Количество просмотров24K
Как мы все давно знаем, Apple интегрировала Swift 3 в Xcode 8. Это первая версия языка с открытым исходным кодом, который работает как на macOS, так и на Linux. Если вы следили за процессом развития языка на Swift Evolution с декабря прошлого года и успели с ним поэкспериментировать в IBM sandbox, вы уже наверное поняли, что в нем появилось множество изменений. Совершенно уверен, что при компилировании существующего проекта в Xcode 8, ваш код удивит вас наличием ошибок. Но это поправимо. Давайте познакомимся с некоторыми изменениями в новой версий языка.
image
Читать дальше →
Всего голосов 39: ↑29 и ↓10+19
Комментарии20

Книга «HTML5 и CSS3. Разработка сайтов для любых браузеров и устройств. 2-е изд.»

Время на прочтение5 мин
Количество просмотров40K
image Привет, Хаброжители! У нас вышло второе издание книги Бена Фрэйна:

Книга охватывает все важные особенности адаптивного веб-дизайна. Методология адаптивного веб-дизайна расширяется в ней за счет применения новейших, наиболее полезных технологий, предоставляемых HTML5 и CSS3, как никогда ранее повышающих компактность и облегчающих сопровождение создаваемых конструкций. В книге также даются объяснения самым востребованным и передовым методам написания и предоставления кода, изображений и файлов.

Если вы в состоянии разобраться в коде HTML и CSS, значит, вам также под силу освоить создание конструкций на основе адаптивного веб-дизайна.

О чем эта книга


Глава 1 «Основы адаптивного веб-дизайна» представляет собой краткий обзор ключевых составляющих в создании программных продуктов, отвечающих требованиям адаптивного веб-дизайна.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии15

Книга «Изучаем Arduino. 65 проектов своими руками»

Время на прочтение5 мин
Количество просмотров25K
image Приходилось ли вам, разглядывая какое-нибудь устройство, задумываться над тем, как оно работает в действительности? Возможно, это был катер с дистанционным управлением, лифт, автомат по продаже напитков или электронная игрушка? А может быть, вам хотелось самому создать робота, придумать электронное управление для модели железной дороги? Или у вас вдруг возникало желание организовать получение и анализ долгосрочного прогноза погоды? Как и с чего вы могли бы начать собственный проект?

Плата Arduino поможет на практике раскрыть некоторые секреты электроники. Cозданная Массимо Банци и Дэвидом Куартиллье, система Arduino предлагает бюджетный способ создания интерактивных проектов и объектов, таких как дистанционно управляемые роботы, системы записи пройденного маршрута на основе GPS и электронные игры.

В этой книге обзор 65 проектов. Пример одного проекта под катом.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии6

Парадокс Хокинга

Время на прочтение5 мин
Количество просмотров25K


Суть проблемы, которую сформулировал Хокинг, заключается в следующем: при формировании и последующем распаде черных дыр теряется информация об их детальном составе.

Инфракрасное смещение


Чтобы объяснить суть парадокса, рассмотрим электромагнитные волны. Они бывают разной частоты, и самым низким частотам отвечают радиоволны. Если увеличить частоту, это будет уже инфракрасное излучение. Потом мы получим волны из видимого (светового) спектра. Далее за пределами видимого спектра будет ультрафиолетовое излучение, рентгеновские волны и, наконец, гамма-излучение.

Если мы поставим источник излучения на некотором расстоянии от какого-либо массивного космического объекта и будем следить за испускаемым им светом на большом расстоянии от центра гравитации, то увидим так называемое инфракрасное смещение. Наблюдаемая частота излучения вдалеке от гравитирующего тела будет несколько ниже излученной в его окрестности. Это объясняется тем, что энергия фотонов (электромагнитных волн) прямо пропорциональна их частоте. Фотон, по мере того как преодолевает гравитационное притяжение, совершает работу, соответственно, теряет энергию, поэтому его частота понижается.
Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии99

Сага о кластере. Все, что вы хотели знать про горизонтальное масштабирование в Postgres‘е

Время на прочтение17 мин
Количество просмотров24K


Олег Бартунов (zen), Александр Коротков (smagen), Федор Сигаев


Илья Космодемьянский: Сейчас будет самая животрепещущая тема по PostgreSQL. Все годы, что мы занимаемся консалтингом, первое, что спрашивают люди: «Как сделать мультимастер-репликацию, как добиться волшебства?». Много профессиональных волшебников будут рассказывать о том, как это сейчас хорошо и здорово реализовано в PostgreSQL — ребята из Postgres Professional в рамках этого доклада расскажут про кластер все. Название соответствующее — «Сага» — что-то эпическое и монументальное. Сейчас ребята из Postgres Professional начнут свою сагу, и это будет интересно и хорошо.

Итак, Олег Бартунов, Александр Коротков и Федор Сигаев.
Всего голосов 51: ↑49 и ↓2+47
Комментарии9

Web-Оповещения в нагруженных проектах

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

Есть несколько вариантов решения такого класса задач. Наиболее оптимальное и распространенное решение – это подписка на события. Как это реализуется в нагруженных проектах?
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии11

Python для математических вычислений. Опыт Марка Андреева

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров88K

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


Мы попытаемся найти в языке функции, которые обычно требуем от математических пакетов. Рассмотрим сильные и слабые стороны идеи использования python вместо MATLAB, Maple, Mathcad, Mathematica.

Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии30

NooLite + Raspberry Pi + Telegram = умный дом

Время на прочтение14 мин
Количество просмотров48K

2 года назад передо мной встала задача реализовать удаленное управление обогревательными приборами в своем загородном доме. В данной статье я хочу поделиться моим вариантом автоматизации и удаленного управления, к которому я в итоге пришел. Постараюсь охватить весь процесс и подробности создания этого хобби-проекта и поделиться всеми сложностями, с которыми пришлось столкнуться. В процессе реализации, как видно из названия статьи, я использовал Noolite (о нем расскажу в статье), Telegram и совсем немного Python.


image
Читать дальше →
Всего голосов 43: ↑38 и ↓5+33
Комментарии47

«Flaskr» — введение во Flask, разработка через тестирование (TDD) и jQuery

Время на прочтение20 мин
Количество просмотров20K

Flask – это замечательный микро веб фреймворк, основанный на Python. Flaskr – это миниблог, который описан в официальном руководстве по Flask. Я продирался через это руководство больше раз, чем могу в этом признаться. Тем не менее, я хотел бы взять это руководство для следующего шага, добавив в него разработку через тестирование (test driven development) и немножко jQuery.

Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии19

Генерируем псевдослучайные ID а-ля Youtube

Время на прочтение4 мин
Количество просмотров24K
Привет, %username%! Бывает необходимо генерировать ID не подряд, причем чтобы они гарантированно не повторялись. На youtube это используется для того, чтобы вы не могли брутфорсом получить все новые и старые видосики, так же это не редкость на разных файлообменниках и вообще везде где нужно предотвратить или хотя бы затруднить возможность прямого перебора значений.


К примеру, в системе moodle, которая использовалась у нас в универе для тестирования студентов, ID ответов были инкрементными и сквозными на всю базу. Логично предположить, что правильным ответом был тот, что с наименьшим ID в пределах вопроса. В общем, проблем с тестами у нас не было. Потом они перешли на GUID, но я к тому моменту уже выпустился, хехе.

Давайте рассмотрим несколько способов генерации таких ограниченных по длине последовательностей от самых простых до криптографически стойких.
Читать дальше →
Всего голосов 69: ↑63 и ↓6+57
Комментарии41

Интервью с Ильёй, который выступит на Moscow Python уже послезавтра

Время на прочтение3 мин
Количество просмотров5.1K
Итак, я выжил после организации INTERCOM, но впереди еще два эвента! И уже послезавтра я с коллегами из Moscow Python соберу разработчиков на одноименной конференции: чтобы пить кофе, общаться, общаться и еще раз общаться! А чтобы было о чем общаться, мы распределили по двум потокам 14 спикеров, которые расскажут самое любопытное из мира Python разработки и зададут темы для обсуждения. Илья Беда, техлид Bro.Engineering – тот самый «full stack developer», который и на Python backend, и на JavaScript фронтенд и на Qt десктоп. На конференции Илья расскажет про конструирование собственных DSL, используя структуры данных Python. А на Хабре – уже ответил на множество каверзных вопросов и рассказал, как смотрит на разработку. Кстати, с предыдущими тремя интервью вы можете ознакомиться здесь, здесь и здесь.
Под катом - ответы на все вопросы
Всего голосов 43: ↑33 и ↓10+23
Комментарии2

Принципы и приёмы обработки очередей

Время на прочтение16 мин
Количество просмотров39K


Принципы и приёмы обработки очередей


Константин Осипов (Mail.ru)


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


Для начала о себе — я занимаюсь разработкой СУБД Tarantool в Mail.ru. Этот доклад будет об обработке очередей. У нас много очередей внутри системы, фактически вся база данных построена как система массового обслуживания.


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




Всего голосов 48: ↑45 и ↓3+42
Комментарии2

Балансировка 70 тысяч запросов в секунду на HighLoad++

Время на прочтение5 мин
Количество просмотров39K

Библиотека докладов


Это не просто статья — это целая библиотека докладов про внутреннее устройство тех или иных крупных и высоконагруженных проектов. Все эти доклады звучали на конференциях HighLoad++ и РИТ++ за последние несколько лет.


Читать дальше →
Всего голосов 43: ↑38 и ↓5+33
Комментарии11

Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность

Время на прочтение15 мин
Количество просмотров35K
image

Дмитрий Калугин-Балашов (Mail.RU)


Доклад у меня по базам данных In-Memory NoSQL. Кто знает, что такое In-Memory NoSQL база данных? Поднимите руки, пожалуйста… Как вам не стыдно? Зал по базам данных, и только половина знает, что это такое.

Если вы выбираете базу данных, ориентируясь на ее популярность, то так делать не надо. Как, вообще, выбираем базы данных?


Читать дальше →
Всего голосов 50: ↑44 и ↓6+38
Комментарии27

Отчет с Moscow Python Meetup 22 сентября

Время на прочтение1 мин
Количество просмотров11K


В конце сентября в нашем офисе состоялся очередной Moscow Python Meetup. И сегодня мы хотим поделиться материалами выступлений, под катом вас ждут презентации и видеозаписи трех докладов.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии2

Информация

В рейтинге
2 687-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность

Специализация

Backend Developer
Lead