Запустили морской бой на PostgreSQL 🛳
Если захотеть, на базах данных можно сделать все, что угодно. Хотя большинство разработчиков старается не выстраивать бизнес-логику в базах данных. Тем не менее, находятся энтузиасты, которые бросают себе вызов и создают, например, матчер биржи.
Мы решили повторить успех коллег и сделать собственный морской бой на SQL. Для этого мы воспользуемся услугами PostgreSQL 12 и языком PLpgSQL. Ниже коротко опишем все этапы:
1. Ввод данных — самая сложная задача в данном проекте. Самый простой способ ее решить — попросить пользователя написать корректные SQL-запросы для вставки необходимой информации в специальную таблицу.
2. Игровой цикл состоит из пяти таблиц: две для визуального отображения поля, две для списка кораблей и еще одна для списка событий в игре.
3. Время коммитов. Вся логика игры запускается клиентом-экраном, то есть от начала до завершения выполняется одна процедура. Это означает, что новые таблицы и новые данные в существующих таблицах не изменятся для второго игрока до тех пор, пока транзакция не будет завершена.
4. Запускать игру в реальном окружении мы не рекомендуем. Лучше развернуть отдельную базу данных с игрой.
Подробнее про процесс написания читайте в блоге: http://slc.tl/gUChp
Если захотеть, на базах данных можно сделать все, что угодно. Хотя большинство разработчиков старается не выстраивать бизнес-логику в базах данных. Тем не менее, находятся энтузиасты, которые бросают себе вызов и создают, например, матчер биржи.
Мы решили повторить успех коллег и сделать собственный морской бой на SQL. Для этого мы воспользуемся услугами PostgreSQL 12 и языком PLpgSQL. Ниже коротко опишем все этапы:
1. Ввод данных — самая сложная задача в данном проекте. Самый простой способ ее решить — попросить пользователя написать корректные SQL-запросы для вставки необходимой информации в специальную таблицу.
2. Игровой цикл состоит из пяти таблиц: две для визуального отображения поля, две для списка кораблей и еще одна для списка событий в игре.
3. Время коммитов. Вся логика игры запускается клиентом-экраном, то есть от начала до завершения выполняется одна процедура. Это означает, что новые таблицы и новые данные в существующих таблицах не изменятся для второго игрока до тех пор, пока транзакция не будет завершена.
4. Запускать игру в реальном окружении мы не рекомендуем. Лучше развернуть отдельную базу данных с игрой.
Подробнее про процесс написания читайте в блоге: http://slc.tl/gUChp
Быстрые новости за последнюю неделю 🏃♂️
1. Вышел проект открытой программной платформы для создания мобильных устройств — Precursor.
— А подробнее? По словам автора, это Arduino или Raspberry Pi для мобильной отрасли. На базе платформы можно будет собрать любой мобильный девайс.
— Читать статью: http://slc.tl/cx9I5
2. Разработчики Puppy Linux выпустили новый релиз — 9.5.
— А поподробнее? Главное новшество — использование пакетной базы Ubuntu 20.04. Это означает, что дистрибутив можно ставить лишь на машины с архитектурой x86_64. Архитектура i386 не поддерживается.
— Читать статью: http://slc.tl/y7LJl
3. Рассказали про особенности обучения в Испании, его стоимость и личные впечатления.
— Читать статью: http://slc.tl/1v7M8
4. Apple открыла исходные тексты Swift System и выложила Swift 5.3.
— А поподробнее? Официальные сборки готовы для таких ОС, как Linux (Ubuntu 16.04/18.04/20.04, СentOS 7/8), macOS (Xcode 12) и Windows 10. Исходные тексты распространяются под лицензией Apache 2.0.
— Читать статью: http://slc.tl/e6P7H
5. Домашняя кофеварка подверглась взлому.
— А поподробнее? Как оказалось, при включении кофеварка работает как WiFi-точка доступа. Это необходимо для подключения гаджета к приложению на смартфоне пользователя. Проблема в том, что соединение не защищено.
— Читать статью: http://slc.tl/gcaE4
1. Вышел проект открытой программной платформы для создания мобильных устройств — Precursor.
— А подробнее? По словам автора, это Arduino или Raspberry Pi для мобильной отрасли. На базе платформы можно будет собрать любой мобильный девайс.
— Читать статью: http://slc.tl/cx9I5
2. Разработчики Puppy Linux выпустили новый релиз — 9.5.
— А поподробнее? Главное новшество — использование пакетной базы Ubuntu 20.04. Это означает, что дистрибутив можно ставить лишь на машины с архитектурой x86_64. Архитектура i386 не поддерживается.
— Читать статью: http://slc.tl/y7LJl
3. Рассказали про особенности обучения в Испании, его стоимость и личные впечатления.
— Читать статью: http://slc.tl/1v7M8
4. Apple открыла исходные тексты Swift System и выложила Swift 5.3.
— А поподробнее? Официальные сборки готовы для таких ОС, как Linux (Ubuntu 16.04/18.04/20.04, СentOS 7/8), macOS (Xcode 12) и Windows 10. Исходные тексты распространяются под лицензией Apache 2.0.
— Читать статью: http://slc.tl/e6P7H
5. Домашняя кофеварка подверглась взлому.
— А поподробнее? Как оказалось, при включении кофеварка работает как WiFi-точка доступа. Это необходимо для подключения гаджета к приложению на смартфоне пользователя. Проблема в том, что соединение не защищено.
— Читать статью: http://slc.tl/gcaE4
Zalman ZM-VE500: чем пользуются инженеры дата-центра? 💡
До массового появления серверов с UEFI нестандартная разметка диска или загрузка нестандартной операционной системы могли превратиться в целый квест для системного администратора. Далеко не все серверы оснащались оптическим дисководом, а самым идеальным вариантом для Legacy-загрузки всегда был запуск с CD или DVD-диска.
Потом появился Zalman. Их инженеры заставили жесткий диск представляться как CD/DVD-привод, а ISO-образы монтироваться как диски. Линейку новых устройств назвали ZM-VE*.
А недостатки есть?
1. Не все USB-порты обладают возможностью запитать устройство корректно, особенно на некоторых старых серверах.
2. Некоторые серверные платформы в процессе запуска иногда сбрасывают питание USB, что полностью выключает Zalman.
3. На некоторых платформах Zalman определяется некорректно и загрузка с него невозможна.
Подробнее у нас в блоге: http://slc.tl/VmzbM
До массового появления серверов с UEFI нестандартная разметка диска или загрузка нестандартной операционной системы могли превратиться в целый квест для системного администратора. Далеко не все серверы оснащались оптическим дисководом, а самым идеальным вариантом для Legacy-загрузки всегда был запуск с CD или DVD-диска.
Потом появился Zalman. Их инженеры заставили жесткий диск представляться как CD/DVD-привод, а ISO-образы монтироваться как диски. Линейку новых устройств назвали ZM-VE*.
А недостатки есть?
1. Не все USB-порты обладают возможностью запитать устройство корректно, особенно на некоторых старых серверах.
2. Некоторые серверные платформы в процессе запуска иногда сбрасывают питание USB, что полностью выключает Zalman.
3. На некоторых платформах Zalman определяется некорректно и загрузка с него невозможна.
Подробнее у нас в блоге: http://slc.tl/VmzbM
Как оптимизировать инфраструктуру для работы 1С? ⚡️
8 октября менеджер продуктов Игорь Офицеров проведет мастер-класс по настройке физических серверов и облачных решений, используемых для 1С.
На какие вопросы ответим на вебинаре?
— Как настроить BIOS физического сервера и выжать максимум производительности для 1С?
— На какие опции обращать внимание при создании виртуальных машин для 1С в облаках?
— Какие дополнительные возможности облачных платформ позволяют сократить затраты на инфраструктуру в 2 раза?
— Как оценить производительность системы при помощи нагрузочных тестов и правильно интерпретировать их результаты?
Когда пройдет вебинар?
8 октября в 11:00 по Москве. Бронируйте 1,5 часа своего времени, чтобы не только узнать наши рекомендации по оптимизации инфраструктуры для 1С, но и обменяться опытом и приемами на Q&A-сессии. Кстати, за лучший вопрос — традиционно дарим нашего плюшевого маскота Тирекса.
→ Зарегистрироваться
8 октября менеджер продуктов Игорь Офицеров проведет мастер-класс по настройке физических серверов и облачных решений, используемых для 1С.
На какие вопросы ответим на вебинаре?
— Как настроить BIOS физического сервера и выжать максимум производительности для 1С?
— На какие опции обращать внимание при создании виртуальных машин для 1С в облаках?
— Какие дополнительные возможности облачных платформ позволяют сократить затраты на инфраструктуру в 2 раза?
— Как оценить производительность системы при помощи нагрузочных тестов и правильно интерпретировать их результаты?
Когда пройдет вебинар?
8 октября в 11:00 по Москве. Бронируйте 1,5 часа своего времени, чтобы не только узнать наши рекомендации по оптимизации инфраструктуры для 1С, но и обменяться опытом и приемами на Q&A-сессии. Кстати, за лучший вопрос — традиционно дарим нашего плюшевого маскота Тирекса.
→ Зарегистрироваться
Мы подвели итоги конкурса на лучшую инструкцию и составили топ-10 с самым высоким, по мнению жюри, рейтингом 💥
1 место. «Инструкция: как написать идеальную регистрацию»
— http://slc.tl/G5XLg
2 место. «Инструкция: как создать приложение для просмотра погоды на Flutter»
— http://slc.tl/ZtnNT
3 место. «Как ускорить вычисления и повысить производительность программ с помощью принципов массивного параллелизма и OpenCL»
— http://slc.tl/zxfWN
4 место. «Оптимизация подключения REST API для React-приложений»
— http://slc.tl/jZAN7
5 место. «RC-машинка из ESP8266 NodeMCU и LEGO»
— http://slc.tl/ZB3LP
6 место. «Тестируем веб-приложение с Cypress»
— http://slc.tl/gZfPe
7 место. «Инструкция: как сделать из идеи MVP продукта»
— http://slc.tl/hDblm
8 место. «Создание и развертывание ретранслятора Telegram-каналов, используя Python и Heroku»
— http://slc.tl/naKkB
9 место. «Как компании (оператору) разработать проект защиты персональных данных, реализовать его и не нарушать закон?»
— http://slc.tl/2KT8Y
10 место. «Как за 30 минут бесплатно проверить свой сайт на наличие уязвимостей»
— http://slc.tl/IpVoD
→ Узнать больше про конкурс
1 место. «Инструкция: как написать идеальную регистрацию»
— http://slc.tl/G5XLg
2 место. «Инструкция: как создать приложение для просмотра погоды на Flutter»
— http://slc.tl/ZtnNT
3 место. «Как ускорить вычисления и повысить производительность программ с помощью принципов массивного параллелизма и OpenCL»
— http://slc.tl/zxfWN
4 место. «Оптимизация подключения REST API для React-приложений»
— http://slc.tl/jZAN7
5 место. «RC-машинка из ESP8266 NodeMCU и LEGO»
— http://slc.tl/ZB3LP
6 место. «Тестируем веб-приложение с Cypress»
— http://slc.tl/gZfPe
7 место. «Инструкция: как сделать из идеи MVP продукта»
— http://slc.tl/hDblm
8 место. «Создание и развертывание ретранслятора Telegram-каналов, используя Python и Heroku»
— http://slc.tl/naKkB
9 место. «Как компании (оператору) разработать проект защиты персональных данных, реализовать его и не нарушать закон?»
— http://slc.tl/2KT8Y
10 место. «Как за 30 минут бесплатно проверить свой сайт на наличие уязвимостей»
— http://slc.tl/IpVoD
→ Узнать больше про конкурс
Как дата-центры снижают негативное воздействие на природу? 🌱
Согласно последнему исследованию Supermicro, экосознательные дата-центры могут снижать свое влияние на окружающую среду на 80%. Но на данный момент «зелеными» можно назвать лишь 12% из них.
Почему так происходит?
В основном отрасль сконцентрирована на обеспечении отказоустойчивой работы оборудования, а не энергоэффективности и, как следствие, меньшей выработке CO2 в атмосферу. Хотя это даже выгодно: среднестатистическое предприятие может сэкономить до $38 млн на энергоресурсах.
Как оценить энергоэффективность дата-центра?
С помощью показателя PUE. Он отражает отношение электрической энергии, потребляемой дата-центром, к энергии, которая расходуется его оборудованием.
Как сократить PUE?
Есть несколько способов:
1. Реализовывать естественное охлаждение — фрикулинг.
2. Избегать простоев работы серверов, когд они потребляют энергию впустую.
3. Переходить с физических серверов на виртуальные машины.
→ Читать статью полностью
Согласно последнему исследованию Supermicro, экосознательные дата-центры могут снижать свое влияние на окружающую среду на 80%. Но на данный момент «зелеными» можно назвать лишь 12% из них.
Почему так происходит?
В основном отрасль сконцентрирована на обеспечении отказоустойчивой работы оборудования, а не энергоэффективности и, как следствие, меньшей выработке CO2 в атмосферу. Хотя это даже выгодно: среднестатистическое предприятие может сэкономить до $38 млн на энергоресурсах.
Как оценить энергоэффективность дата-центра?
С помощью показателя PUE. Он отражает отношение электрической энергии, потребляемой дата-центром, к энергии, которая расходуется его оборудованием.
Как сократить PUE?
Есть несколько способов:
1. Реализовывать естественное охлаждение — фрикулинг.
2. Избегать простоев работы серверов, когд они потребляют энергию впустую.
3. Переходить с физических серверов на виртуальные машины.
→ Читать статью полностью
Помните конкурс на лучшие идеи для мерча? Мы выбрали лучшие идеи 🦖
Наш Тирекс отправляется к:
— @vinnityom за кружку с Activity Сhart из менеджера репозиториев.
— @nana_ncux за блокнот-дискету.
— @ZooL_kms за идею шапки-Тирекса.
— @malysh_ulya за сумку-Тирекса.
— @r00t0vi4 за кружку с меняющимся цветом логотипа от температуры.
— @andreyzaytsev за кепку с Тирексом в облаках.
Как и договаривались, превратили идеи в наброски и прикрепили ниже.
Наш Тирекс отправляется к:
— @vinnityom за кружку с Activity Сhart из менеджера репозиториев.
— @nana_ncux за блокнот-дискету.
— @ZooL_kms за идею шапки-Тирекса.
— @malysh_ulya за сумку-Тирекса.
— @r00t0vi4 за кружку с меняющимся цветом логотипа от температуры.
— @andreyzaytsev за кепку с Тирексом в облаках.
Как и договаривались, превратили идеи в наброски и прикрепили ниже.
Краткий чек-лист для безопасной работы с персональными данными 📑
Многие сайты или приложения собирают информацию о своих пользователях — его ФИО, номер телефона, e-mail и прочие данные. Чтобы хранить и обрабатывать чужие персональные данные, ресурсу нужно соблюдать 152-ФЗ, а именно:
— Зарегистрироваться в Роскомнадзоре как оператор ПДн.
— Запрашивать разрешение на сбор и обработку данных у субъектов и собирать их только при необходимости.
— Отвечать на обращения субъектов и предоставлять всю информацию.
— Собирать и хранить информацию только для достижения определенных целей в определенный срок.
— Хранить и защищать данные по закону, обеспечивать конфиденциальность, не передавать третьим лицам.
— Уточнять, блокировать или уничтожать данные по заявлению субъектов, или когда цели достигнуты.
→ Читать статью полностью
Многие сайты или приложения собирают информацию о своих пользователях — его ФИО, номер телефона, e-mail и прочие данные. Чтобы хранить и обрабатывать чужие персональные данные, ресурсу нужно соблюдать 152-ФЗ, а именно:
— Зарегистрироваться в Роскомнадзоре как оператор ПДн.
— Запрашивать разрешение на сбор и обработку данных у субъектов и собирать их только при необходимости.
— Отвечать на обращения субъектов и предоставлять всю информацию.
— Собирать и хранить информацию только для достижения определенных целей в определенный срок.
— Хранить и защищать данные по закону, обеспечивать конфиденциальность, не передавать третьим лицам.
— Уточнять, блокировать или уничтожать данные по заявлению субъектов, или когда цели достигнуты.
→ Читать статью полностью
Бот для Telegram на облачных функциях ☁️
Пошаговая инструкция от Selectel
Наш коллега Николай очень любит кататься на велосипеде. Чтобы поездка не была омрачена неожиданным дождем или сильным ветром, нужно заранее проверять погоду. Самые точные и проверенные погодные данные у пилотов гражданской авиации. Там от этого зависят жизни сотен людей, поэтому прогнозы максимально точны.
В новом материале написали подробную инструкцию, как создать код Telegram-бота на языке Python, а затем запустить его при помощи сервиса Selectel — Облачные функции. Задача бота — по нажатию кнопки отправлять пользователю самый точный прогноз погоды.
Почему именно с помощью Облачных функций?
Это самый оптимальный вариант. Каждый раз таскать с собой радиосканнер или трансивер на соответствующий диапазон — неудобно, а выделять под это отдельный сервер — нецелесообразно. Количество запросов будет ничтожно мало, поэтому такой сервис обойдется фактически бесплатно: выйдет примерно в 22 рубля за 100 000 запросов.
→ Читать инструкцию полностью
Пошаговая инструкция от Selectel
Наш коллега Николай очень любит кататься на велосипеде. Чтобы поездка не была омрачена неожиданным дождем или сильным ветром, нужно заранее проверять погоду. Самые точные и проверенные погодные данные у пилотов гражданской авиации. Там от этого зависят жизни сотен людей, поэтому прогнозы максимально точны.
В новом материале написали подробную инструкцию, как создать код Telegram-бота на языке Python, а затем запустить его при помощи сервиса Selectel — Облачные функции. Задача бота — по нажатию кнопки отправлять пользователю самый точный прогноз погоды.
Почему именно с помощью Облачных функций?
Это самый оптимальный вариант. Каждый раз таскать с собой радиосканнер или трансивер на соответствующий диапазон — неудобно, а выделять под это отдельный сервер — нецелесообразно. Количество запросов будет ничтожно мало, поэтому такой сервис обойдется фактически бесплатно: выйдет примерно в 22 рубля за 100 000 запросов.
→ Читать инструкцию полностью