Рубрика «Блог компании Mail.Ru Group» - 119

Как сэкономить миллион долларов с помощью Tarantool - 1

Для чего используются базы данных, ведь есть старые добрые файлы? Чем они хуже базы данных или чем база данных лучше файлов? БД — более структурированное хранилище. Она позволяет делать транзакции, запросы и так далее. Самый простой случай: есть сервер с базой данных и несколько приложений, которые делают запросы к серверу. База данных отвечает, меняет что-то внутри себя, и всё хорошо ровно до того момента, пока нагрузка на неё не вырастает настолько, что база данных перестаёт справляться.

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

Если база не держит нагрузку на запись, то шарды можно добавлять до бесконечности. Шард устроен сложнее, чем реплика, потому что нужно как-то распределить данные по таблицам или внутри таблицы, по хэшу, по range — есть множество разных вариантов. Таким образом, добавляя реплики и шарды, вы можете делить любую нагрузку на базу данных. Казалось бы, больше желать нечего, о чём дальше говорить?
Читать полностью »

Не так давно мне довелось выступать на конференции FFConf с докладом «Вам следует использовать <впишите нужную библиотеку/фреймворк>, это самое лучшее!». И основные мысли я решил изложить в публикации, в надежде, что это спровоцирует в профессиональной среде более широкую дискуссию о «стоимости» современных фреймворков на мобильных устройствах.

Для желающих обратиться к оригиналу моего выступления вот видео:

и слайды презентации: speakerdeck.com/paullewis/framework-here-its-the-bestestest.
Читать полностью »

Шорткаты в JavaScript - 1

Изучая любой язык программирования, полезно знать о его особенностях и уметь эффективно использовать языковые конструкции. Хочу поделиться с вами шорткатами для JS. Эти сокращения в некоторых случаях могут облегчить чтение кода, а также существенно уменьшить его количество. Однако следует помнить, что они могут сыграть с вами злую шутку и, если использовать их повсеместно, ваш код перестанет быть читаемым и поддерживаемым.
Читать полностью »

Лекции Технопарка. Мастер-класс «20 ошибок при создании IT-компании» - 1

При создании любой компании можно наделать немало промахов, которые впоследствии могут похоронить весь бизнес. В каждой сфере есть свои специфические ошибки, в том числе и в IT. На тему того, как не бегать по граблям, в Технопарке рассказал Стас Щукин, обладающий 15-летним опытом работы с IT в таких компаниях, как «Ситроникс», «Связной», Tvigle Media и А1. Кроме того, шесть лет назад Стас основал собственную компанию, разрабатывающую заказные проекты, где периодически выступает в роли подрядчика, консультанта и основного разработчика. Текст выступления читайте под катом.
Читать полностью »

Как выбрать язык программирования? - 1

Именно таким вопросом задалась команда Почты Mail.Ru перед написанием очередного сервиса. Основная цель такого выбора — высокая эффективность процесса разработки в рамках выбранного языка/технологии. Что влияет на этот показатель?

  • Производительность;
  • Наличие средств отладки и профилирования;
  • Большое сообщество, позволяющее быстро найти ответы на вопросы;
  • Наличие стабильных библиотек и модулей, необходимых для разработки веб-приложений;
  • Количество разработчиков на рынке;
  • Возможность разработки в современных IDE;
  • Порог вхождения в язык.

Кроме этого, разработчики приветствовали немногословность и выразительность языка. Лаконичность, безусловно, так же влияет на эффективность разработки, как отсутствие килограммовых гирь на вероятность успеха марафонца.
Читать полностью »

image

Наверняка многие из вас неоднократно сталкивались с мифами о /dev/urandom и /dev/random. Может быть, в некоторые из них вы даже верите. В этом посте мы сорвём покровы со всех этих мифов и разберём настоящие сильные и слабые стороны этих генераторов случайных чисел.
Читать полностью »

image

Одним из главных принципов, лежащих в основе движения за открытый исходный код, — Open Source, — является свобода распространения информации. Жизнестойкость этой идеи подтверждают примеры многих успешных проектов, развиваемых свободным сообществом программистов со всего мира. Наверное, кого-то это удивит, но мы тоже активно развиваем множество opensource-проектов. И недавно мы обнаружили, информация об этих проектах разбросана по сети, и разработчики одних продуктов могут совершенно не знать о других, которые могли бы оказаться для них полезными. Так и родилась идея создать информационный сайт OpenSource.Mail.Ru.
Читать полностью »

Уже очень давно мне хотелось попробовать создать проект, который бы представлял собой настоящие JavaScript Application, а именно толстый клиент, без backend и своего хостинга, на основе open source и какого-нибудь BaaS/DaaS. К тому же я окончательно устал от jsperf.com, от этих бессмысленных двух шагов, от отсутствия хоть какого-то редактора кода и нормального поиска и от постоянной потери своих тестов, а история с капчой, которая не всегда срабатывает, окончательно добила меня. Я наконец выкроил время, чтобы осуществить давно задуманное и убить двух зайцев, реализовав альтернативу jsperf.

Создаём проект c OAuth и NoSQL за $0,00 - 1
Читать полностью »

Russian AI Cup: выбраны лучшие программисты искусственного интеллекта - 1

13 декабря завершился финал четвёртого ежегодного чемпионата по программированию искусственного интеллекта Russian AI Cup. В этот раз своё мастерство продемонстрировали свыше 1 600 программистов, создававшие искусственный интеллект для управления автомобилем в гонках на выживание.

По условиям чемпионата можно было использовать один из языков: C++, Java, C#, Python, Ruby или Pascal. После серии напряжённых состязаний в финал выбились 50 сильнейших. И по результатам последней «гонки» золотой приз завоевал Александр «santa324» Санталов из Москвы. В качестве награды он получил MacBook Pro. «Серебро» и «бронза» достались Антону «Angor» Гордиенко из Москвы и Юрию «SDil» Семёнову из Санкт-Петербурга, они были награждены ультрабуками MacBook Air. Не остались без призов и конкурсанты, занявшие с четвёртого по шестое места, им были вручены планшеты iPad Air 2. Поздравляем Дениса «ud1» Уткина, Сергея «SKolotienko» Колотиенко и Сергея «Karkun» Иванова! Однако остальным участникам ещё рано расслабляться, а нам рано подводить окончательные итоги чемпионата. Предстоит ещё неделя состязаний в Песочнице, и по их итогам лучшие 6 участников получат поощрительные призы от партнёров мероприятия.
Читать полностью »

Всем привет! Сегодня мы начинаем публиковать материалы проекта Sci-One, который снимается в нашем офисе. И первый пост будет про экзопланеты. Видео и текстовую версию смотрите ниже. За сценарий отдельное спасибо Екатерине Лобурь.

Научно-технический прогресс — это почти всегда благо. «Почти» потому, что мы прекрасно могли бы обойтись без продвинутых военных арсеналов и спам-технологий. Это очевидно, но, кроме того, расширение наших знаний и возможностей лишает таинственности окружающий нас мир. Плохо ли это? Конечно, нет. Всегда лучше больше знать и уметь, а сторонники противоположной точки зрения вряд ли оставят свои побеги на древе эволюции. И всё же иногда кажется, что в старину, а тем более в древние времена мир был куда более занятным местом, ведь его населяли невероятные человеческие фантазии. Однако эпоха Великих географических открытий и торжество науки лишили нас подавляющего числа мифов, рождённых незнанием. Но свято место пусто не бывает — «I want to believe!», мы начали мечтать об инопланетянах, о жизни на других планетах.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js