Pull to refresh
0
@masdimaread⁠-⁠only

User

Send message

Как плафоны снижают яркость ламп

Reading time1 min
Views49K
Я выяснил, насколько плафон снижает яркость светодиодной лампы.

Для этого я провёл эксперимент по измерению светового потока (общего количества света) и освещённости пяти светодиодных ламп в исходном виде и со снятым плафоном.

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

56 проектов на Python с открытым исходным кодом

Reading time13 min
Views103K
image

1. Flask


Это микро-фреймворк, написанный на Python. Он не имеет валидаций для форм и уровня абстракции базы данных, но позволяет вам использовать сторонние библиотеки для общих функций. И именно поэтому это микро-фреймворк. Flask предназначен для простого и быстрого создания приложений, а также является масштабируемым и легким. Он основан на проектах Werkzeug и Jinja2. Вы можете узнать больше о нем в последней статье DataFlair о Python Flask.

2. Keras


Keras — нейросетевая библиотека с открытым исходным кодом, написанная на Python. Она удобна для пользователя, модульная и расширяемая, а так же может работать поверх TensorFlow, Theano, PlaidML или Microsoft Cognitive Toolkit (CNTK). В Keras есть все: шаблоны, целевые и передаточные функции, оптимизаторы и многое другое. Он также поддерживает сверточные и рекуррентные нейронные сети.

Работа над последним проектом с открытым исходным кодом на основе Keras — Классификация рака молочной железы.
Читать дальше →

7 полезных расширений VS Code для Python-разработчиков

Reading time4 min
Views95K
Наиболее важные и полезные расширения VS Code для Python-разработчиков в нашем новом переводе.

Я пользуюсь PyCharm, и меня всё устраивает. Скорее всего, я не буду менять редактор в ближайшее время. Но вокруг VS Code столько шумихи, столько людей в Reddit и Twitter советовали мне перейти на VS Code, что я просто не мог его не попробовать.
Читать дальше →

Как повысить рейтинг в Google и каких ошибок избегать

Reading time4 min
Views15K

“Повышу рейтинг в поиске Google” легче сказать, чем сделать. Конкуренты будут отбирать рейтинг. Это данность. Для победы в конкуренции недостаточно опубликовать контент и ждать результатов. Обратные ссылки помогают, но не дают желаемый результат. 

Читать далее

Google захватывает Python

Reading time3 min
Views45K

Google объявили себя идейным спонсором Питона. Visionary Sponsor как они это называют. Начали они с того, что вчера перечислили в фонд Питона 350 тысяч долларов. На картинке как они видят себя и экосистему Питона. Гугл уже 10 лет спонсируют Питон, ничего нового вроде бы, но кроме нового термина они поставили новые цели:

План зохвата:

Отложенные задачи в рамках микро-сервисной архитектуры

Reading time9 min
Views18K

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

Для решения такой задачи было создано очередное решение под названием Trigger Hook. Принципиальная схема работы показана на рисунке 1. На схеме показано, что происходит с заданиями в течения всего их жизненного цикла. Смена цвета означает смену статуса задачи.

Читать далее

Опыт построения логов на Postgres

Reading time10 min
Views16K
Мы разработали свою систему логирования на PostgreSQL… Да я знаю, что есть надстройки над ElasticSearch (GrayLog2, Logstash), и что есть другие похожие инструменты, и есть те, про которые не знаю. Тем не менее, наш инструмент на текущий момент построен на PostgreSQL, и он работает.

Во время рабочей недели со всех сервисов СБИС в облаке к нам поступает в сутки более 11 млрд записей, хранятся они 3 дня, общий объем занимаемого при этом места не превышает 32 Тб. Все это обрабатывает 8 серверов с PostgreSQL 9.6. Каждый сервер имеет 24 ядра, RAM 16Гб и 4 SSD диска по 1Тб.


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

Миллион строк в секунду из Postgres с помощью Python

Reading time4 min
Views56K
image

asyncpg — новая Python open-source библиотека для работы с PostgreSQL. Она была написана с использованием asyncio и Python 3.5. asyncpg — самый быстрый драйвер для работы с PostgreSQL среди похожих реализаций на Python, NodeJS и Go.

Почему asyncpg?


Мы создаем EdgeDB — базу данных нового поколения, с PostgreSQL на бэкенде. Нам необходима высокая производительность, низкая задержка доступа и дополнительные возможности самого PostgreSQL.

Самый очевидный вариант – использовать psycopg2 — популярнейший драйвер Python для работы с PostgreSQL. У него отличное комьюнити, он стабильный и проверенный временем. Также есть aiopg, который реализует асинхронный интерфейс, поверх psycopg2. Тогда очевиден вопрос — зачем писать свой велосипед? Короткий ответ: производительность и поддержка возможностей PostgreSQL. Ниже мы рассмотрим это более детально.
Читать дальше →

Блокировки в Postgres: 7 советов по работе с блокировками

Reading time6 min
Views24K
И снова здравствуйте! Уже в следующий вторник стартует новый поток по курсу «Реляционные СУБД», поэтому мы продолжаем публиковать полезный материал по теме. Поехали.



На прошлой неделе я писал о конкурентном доступе в Postgres, какие команды блокируют друг друга, и как вы можете диагностировать заблокированные команды. Конечно, после постановки диагноза вам может потребоваться и лечение. С Postgres можно выстрелить себе в ногу, но Postgres также предлагает вам способы не сбить наводку. Вот некоторые из важных советов о том, как стоит и как не стоит делать, которые мы сочли полезными при работе с пользователями по переходу с их единой базы данных Postgres на Citus или при создании новых приложений аналитики в реальном времени.
Читать дальше →

Что умеет планировщик заданий в Postgres Pro

Reading time17 min
Views53K
Планировщик заданий (scheduler) не во все времена считался обязательным инструментом в мире баз данных. Все зависело от назначения и происхождения СУБД. Классические коммерческие СУБД (Oracle, DB2, MS SQL) представить себе без планировщика решительно невозможно. С другой стороны, трудно вообразить потенциального пользователя MongoDB, который откажется от выбора этой модной NoSQL-СУБД из-за отсутствия планировщика. (Кстати, термин «планировщик заданий» в русском контексте СУБД употребляют, чтобы отличить его от планировщика запросов — query planner, мы же для краткости будем звать его здесь планировщиком).

PostgreSQL, будучи Open Source и впитав традиции сообщества с образом жизни DIY («сделай сам»), в наше время регулярно претендует на место как минимум заместителя коммерческой СУБД. Из этого автоматически следует, что PostgreSQL просто обязана иметь планировщик, и что этот планировщик должен быть удобен для администратора базы и для пользователя.
Читать дальше →

SafetyNet Attestation — описание и реализация проверки на PHP

Reading time10 min
Views9.5K

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

После многочасовых поисков и скрупулёзного изучения официальной документации Google решил поделиться полученным опытом. Потому что, кроме официальной документации, я нашел только отрывочные описания частных примеров реализации на разных ЯП. И ни намека на комплексное объяснение особенностей проверки по SafetyNet на сервере.

Статья будет полезна разработчикам, которые хотят подробнее разобраться с технологией верификации устройств по протоколу SafetyNet Attestation. Для изучения описательной части не обязательно знать какой-либо язык программирования. Я сознательно убрал примеры кода, чтобы сфокусироваться именно на алгоритмах проверки. Сам пример реализации на PHP сформулирован в виде подключаемой через composer библиотеки и будет описан ниже.

А в конце статьи — ссылка на разработанную мной библиотеку на PHP, которая обеспечивает полный цикл верификации JWS.

Читать далее

Deep dive into PostgreSQL internal statistics. Алексей Лесовский

Reading time24 min
Views9.9K

Расшифровка доклада 2015 года Алексея Лесовского "Deep dive into PostgreSQL internal statistics"


Disclaimer от автора доклада: Замечу что доклад этот датирован ноябрем 2015 года — прошло больше 4 лет и прошло много времени. Рассматриваемая в докладе версия 9.4 уже не поддерживается. За прошедшие 4 года вышло 5 новых релизов в которых появилась масса новшеств, улучшений и изменений относительно статистики и часть материала устарела и не актуальна. По мере ревью я постарался отметить эти места чтобы не вводить тебя читатель в заблуждения. Переписывать же эти места я не стал, их очень много и получится в итоге совсем другой доклад.


СУБД PostgreSQL — это огромный механизм, при этом состоит этот механизм из множества подсистем, от слаженной работы которых напрямую зависит производительность СУБД. В процессе эксплуатации обеспечивается сбор статистики и информации о работе компонентов, что позволяет оценить эффективность PostgreSQL и принять меры для повышения производительности. Однако, этой информации очень много и представлена она в достаточно упрощенном виде. Обработка этой информации и ее интерпретация порой совсем нетривиальная задача, а "зоопарк" инструментов и утилит запросто поставит в тупик даже продвинутого DBA.

SQLite с использованием Go и Python

Reading time8 min
Views20K

В основном я предпочитаю использовать реляционные базы данных (SQL), поскольку они предоставляют несколько возможностей, которые весьма полезны при работе с данными. SQLite - отличный выбор, так как база данных там представляет собой единый файл, что упрощает обмен данными. Несмотря на то, что это единый файл, SQLite может обрабатывать до 281 терабайта данных. SQLite также поставляется с клиентом командной строки sqlite3, который отлично подходит для быстрого прототипирования.

Примечание: В других базах данных есть транзакции, языки запросов и схемы. Однако базы данных на основе SQL имеют тенденцию быть более развитыми испытанными временем, а сам SQL стандартизирован.

Читать далее

Четыре API для базы данных

Reading time13 min
Views32K

Как то мы уже обращались к теме превосходства объектного/типизированного представления в реализации моделей предметной области в сравнении с SQL. И верность тех доводов и фактов на на йоту не уменьшилась. Казалось бы, зачем отступать и обсуждать технологии, которые глобально низвергают абстракции обратно в дообъектную и дотипизированную эпоху? Зачем провоцировать рост спагетти-кода, непроверяемых ошибок и упование на виртуозное мастерство разработчика?

Есть несколько соображений о том, почему стоит поговорить про обмен данными через API на основе SQL/REST/GraphQL, в противовес представлению их в виде типов/объектов:

Читать далее

Микромодульный подход к дизайну продукта

Reading time5 min
Views4K

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

Если у вас в проекте уже over 9 000 экранов, а вчера попросили нарисовать еще столько же, велком под кат.

Поехали

PostgreSQL. Плохие запросы, примеры и их поиск

Reading time9 min
Views31K

При поиске проблем в RDBMs разработчик обычно подозревает медленные запросы. А что, если дело не в них? О том, какого типа запросы дают нагрузку на базу данных, не позволяя вашему приложению работать должным образом, рассказал в своем докладе на конференции Saint HighLoad++ Online 2020 администратор баз данных Data Egret Андрей Сальников. 

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

Читать далее
Всего треть хабровчан может обойтись без общения с живыми сотрудниками банка, в Москве цифровыми сервисами пользуются меньше, чем в Якутии, а моментальный перевод может занять три дня. Мы изучили ответы, которые вы оставили в нашем с Газпромбанком опросе про цифровую трансформацию отечественной банковской сферы, и выяснили много интересного. Разбор результатов, который мы сделали вместе с коллегами из Газпромбанка, а также истории и мнения хабровчан — под катом!
Читать дальше

В Китае создали настольный квантовый компьютер стоимостью $5000

Reading time3 min
Views36K

Дешёвый квантовый компьютер, предназначенный для школ и университетов, должен быть выпущен в конце этого года. Он получил название SpinQ и предназначен для изучения принципов квантовых вычислений. Cloud4Y рассказывает, что это за устройство и почему у него такой низкий ценник.  

Читать далее

Кейс: увеличение капитализации DeFi-стартапа на 300%

Reading time9 min
Views3.7K

Может ли недавно запущенный стартап с небольшой аудиторией быстро повысить рыночную капитализацию? Оказывается, может.

Команде BDCenter Digital удалось увеличить капитализацию заказчика в 4 раза – причем при очень жестких KPI по затратам. А ключом к успеху стали исследование аудитории и комплексная маркетинговая стратегия. 

Читать далее

На фондовом рынке США сформировался пузырь небывалых размеров

Reading time13 min
Views164K

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

Читать далее

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Date of birth
Registered
Activity