Рубрика «mysql» - 5

Здравствуйте.

Сегодня мы предлагаем вашему вниманию перевод статьи из блога MemSQL, которая исходно является рекламной (посвящена достоинствам MemSQL, обновлена по состоянию на начало января 2020 года). Но мы решили все-таки перевести ее в сокращенном виде, поскольку она подробно объясняет, почему мы пока так и не собрались издавать ничего ни по MongoDB, ни по Cassandra, ни по прочим нереляционным базам данных. Может быть, мы были правы, ограничившись весьма успешной книгой "MySQL по максимуму".
Читать полностью »

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

Это приятная проблема, но в Сети мало чёткой информации, как аккуратно масштабировать веб-приложение с нуля до сотен тысяч пользователей. Обычно встречаются или пожарные решения, или устранение узких мест (а часто и то, и другое). Поэтому люди используют довольно шаблонные приёмы по масштабированию своего любительского проекта в нечто действительно серьёзное.

Попытаемся отфильтровать информацию и записать основную формулу. Мы собираемся пошагово масштабировать наш новый сайт для обмена фотографиями Graminsta с 1 до 100 000 пользователей.

Запишем, какие конкретные действия необходимо сделать при увеличении аудитории до 10, 100, 1000, 10 000 и 100 000 человек.
Читать полностью »

Привет жителям Хабра.

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

Выбор пал на бота, который будет получать информацию о жизни домена (whois), затем доставать оттуда дату регистрации и добавлять этот домен в БД (mysql), с последующий привязкой к пользователю и уведомлением в telegram.

Исходный код в моем репозитории на гите.

Мне захотелось использовать MVC структуру, что оказалось на мой взгляд не совсем верным, так как view не был задействован и это уже нельзя назвать mvc, но да ладно…
Читать полностью »

Есть такая проблема — в 2038м году количество секунд с начала эпохи Unix Time перевалит за величину signed int и исчезнет. Это как проблема 2000 года, только намного сложнее, потому что для неё нужно менять типы данных.

Так вот… в MySQL уже четырнадцать с половиной лет висит просьба что-то сделать на этот счёт. Функции UNIX_TIMESTAMP и FROM_UNIXTIME вообще не могут обрабатывать даты после 19 января 2038го.

Проверить это достаточно просто: попробуйте вот этот запрос.

select unix_timestamp('2038-01-20');

Читать полностью »

Legacy технологии

Предупреждение: ASP.NET MVC уже устарел. Рекомендуется использовать ASP.NET Core. Но если вам интересно, то читайте.

Решил немного расширить предыдущую статью про ASP.NET MVC и MySQL. В ней речь шла про работу с MySQL в ASP.NET MVC не через практически стандартный ORM Entity Framework (EF), а с помощью прямого доступа к СУБД через ADO.NET. И была приведена реализация этого метода доступа. И хотя метод устаревший и не рекомендуемый к использованию, но иногда полезен: например, в высоконагруженных приложениях или когда разработчик сталкивается с ситуацией, когда ORM не может сгенерировать корректно работающий SQL-запрос. И иногда можно совмещать в приложении оба способа — и через ORM и через ADO.NET. В итоге я подумал, и решил дописать приложение: добавив в него реализацию репозитория для Entity Framework и сделать выбор из них зависимым от параметра приложения с помощью Dependency Resolver.

Весь код можно взять вот по этому адресу, ниже этот код будет частично презентован с небольшими ссылками и пояснениями по отношению к предыдущему проекту. А здесь можно посмотреть на работу приложения.
Читать полностью »

Уже, наверное, раза три подбираюсь к ASP.NET MVC. После десяти лет с ASP.NET WebForms немного сложно переходить именно к технологии MVC, поскольку отличий столько, что скорее проще перечислить, что у этих технологий общего – это разве что библиотеки .NET Framework. Я не буду писать тут – лучше или хуже MVC чем WebForms, просто они обе хороши, и на обеих технологиях можно построить хорошее приложение. Свои мысли по поводу необходимости TDD я тоже пока оставлю при себе, хотя их есть у меня.

А сейчас я буду говорить о стандартнейшей задаче – обычной работе с данными: просмотре в табличном виде списка записей, добавлении, изменении и удалении данных (операции CRUD). Однако практически во всех книгах и во многих решениях в интернете для ASP.NET MVC почему-то рассматривается вариант исключительно через ORM (Object Relation Mapping): или Entity Framework (EF) или LINQ для SQL. Технологии отличные, спору нет, наконец-то программист может и не разбираться – а как вообще эта самая реляционная СУБД (которой он, скорее всего, пользуется) вообще работает, и даже SQL, по идее, знать уже необязательно: прокладка в виде EF и коннектора для СУБД разберутся между собой. «Вот оно счастье – нет его краше». Но тем программистам, которые не боятся прямой работы с базой данных через механизм ADO.NET, зачастую непонятно – а с чего вообще начинать в ASP.NET MVC и надо ли.

Если вы профессионал в ASP.NET MVC - откройте, пожалуйста

Предупреждение: статью писал для новичков в ASP.NET MVC, поэтому если хочется сказать, что вот так-то писать не надо, а надо вот так — напишите, пожалуйста, в комменты. Это и мне будет польза и читателям, которые в теме ASP.NET MVC не настолько гуру, как вы.

Читать полностью »

Как использовать MySQL без пароля (и рисков для безопасности) - 1

Говорят, что лучший пароль — тот, который не надо запоминать. В случае с MySQL это реально благодаря плагину auth_socket и его версии для MariaDB — unix_socket.

Оба эти плагина — вовсе не новы, о них много говорилось в этом же блоге, например в статье о том, как изменять пароли в MySQL 5.7, используя плагин auth_socket. Однако, разбирая, что новенького в MariaDB 10.4, я обнаружил, что unix_socket теперь устанавливается по умолчанию и является одним из методов аутентификации ("одним из", потому как в MariaDB 10.4 одному пользователю для аутентификации доступно больше одного плагина, что и объяснятется в документе "Аутентификация" от MariaDB 10.04).

Читать полностью »

Привет! Как водится, три раза в году мы рассказываем о том, над чем работали. Это статья о том, что нового в DataGrip 2019.3, а значит и во всех IDE от JetBrains с поддержкой баз данных.

DataGrip 2019.3: MongoDB, дебаггер, модный прогресс-бар, много новых инспекций - 1
Читать полностью »

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

Меня зовут Владимир Бородин, я руководитель платформы данных Яндекс.Облака. Сегодня я хочу рассказать вам, как всё устроено и работает внутри сервисов Yandex Managed Databases, почему всё сделано именно так и в чём преимущества – с точки зрения пользователей – тех или иных наших решений. И конечно, вы обязательно узнаете, что мы планируем доработать в ближайшее время, чтобы сервис стал лучше и удобнее для всех, кому он нужен.

Что ж, поехали!

image

Читать полностью »

Открытый микрофон: backend. Приглашаем спикеров - 1

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

«Это никому неинтересно», «Я не делаю ничего такого», «Мне нечего рассказывать» — классические переживания большинства спикеров-инженеров.

В Badoo мы уверены, что делиться экспертизой с другими — это круто, и регулярно выступаем на митапах и конференциях. Но нам легко говорить, потому что в компании системно готовят спикеров, помогают с прогонами и коучами. При этом выступления все равно даются непросто.

Страх присущ всем. Чтобы проверить идею, обкатать тему и оценить вероятность тапок, летящих из зала, standup-артисты практикуют мероприятия в заранее заявленном формате «открытого микрофона». Это когда у вас есть небольшой морально подготовленный зрительный зал, собственно микрофон и только 10 минут, чтобы рассказать все, что хочется. 

В общем, мы решили позаимствовать эту идею, и 12 декабря хотим организовать свой «открытый микрофон» с кодом и слайдами. Приглашаем спикеров по теме разработки бэкенда!
Потенциально интересные темы и другие детали под катом.
Читать полностью »


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