Ускорение роутера в Django в 51 раз
История началась с разбора использования ресурсов приложением, которое занимается проксированием. Обнаружили, что довольно много времени оно тратит на выбор маршрута (роута), и решили ускорить этот процесс. Описанная в статье оптимизация не требует каких-то особых вложений, усилий или условий, поэтому приведенный код можно забрать к себе и использовать без каких-либо чрезмерных вмешательств.
https://habr.com/ru/companies/tochka/articles/822431/
#python@bookflow
👉 @Bookflow
История началась с разбора использования ресурсов приложением, которое занимается проксированием. Обнаружили, что довольно много времени оно тратит на выбор маршрута (роута), и решили ускорить этот процесс. Описанная в статье оптимизация не требует каких-то особых вложений, усилий или условий, поэтому приведенный код можно забрать к себе и использовать без каких-либо чрезмерных вмешательств.
https://habr.com/ru/companies/tochka/articles/822431/
#python@bookflow
👉 @Bookflow
👍1
Использование миграций баз данных в Go
Недавно мы столкнулись с необходимостью найти библиотеку для удобной работы с базами данных. В нашем проекте команда решила не использовать ORM (Object-Relational Mapping), а вместо этого применить миграции. Так как я работал только с ORM, мне, как и автору статьи, было мало знакомо понятие миграций баз данных. В поисках информации о миграциях и популярных решениях, я наткнулся на эту статью. Перевод статьи я оставил ниже. Возможно, она будет вам полезна. Буду признателен, если вы сможете поделиться библиотеками, которые используете.
https://habr.com/ru/articles/809301/
original https://blog.stackademic.com/using-database-migrations-with-golang-7f6736f580c8
#golang@bookflow
👉 @Bookflow
Недавно мы столкнулись с необходимостью найти библиотеку для удобной работы с базами данных. В нашем проекте команда решила не использовать ORM (Object-Relational Mapping), а вместо этого применить миграции. Так как я работал только с ORM, мне, как и автору статьи, было мало знакомо понятие миграций баз данных. В поисках информации о миграциях и популярных решениях, я наткнулся на эту статью. Перевод статьи я оставил ниже. Возможно, она будет вам полезна. Буду признателен, если вы сможете поделиться библиотеками, которые используете.
https://habr.com/ru/articles/809301/
original https://blog.stackademic.com/using-database-migrations-with-golang-7f6736f580c8
#golang@bookflow
👉 @Bookflow
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
1 - Индексация:
Проверьте шаблоны запросов вашего приложения и создайте подходящие индексы.
2 - Материализованные представления:
Предварительно вычислите результаты сложных запросов и сохраните их для более быстрого доступа.
3 - Денормализация:
Уменьшите количество сложных объединений для повышения производительности запросов.
4 - Вертикальное масштабирование:
Увеличьте мощность вашего сервер базы данных, добавляя больше процессоров, оперативной памяти или хранилища.
5 - Кэширование:
Сохраните часто запрашиваемые данные в более быстром слое хранения для снижения нагрузки на базу данных.
6 - Репликация:
Создайте реплики основной базы данных на разных серверах для масштабирования чтения.
7 - Шардинг:
Разделите таблицы базы данных на более мелкие части и распределите их по серверам. Используется для масштабирования как записи, так и чтения.
А теперь ваш ход: Какие другие стратегии вы используете для масштабирования ваших баз данных?
#db@bookflow
👉 @Bookflow
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Nala
Это внешний интерфейс для libapt-pkg. В частности, мы взаимодействуем с python-apt api.
Особенно начинающим пользователям бывает сложно понять, что пытается сделать apt при установке или обновлении.
Мы пытаемся решить эту проблему, отказавшись от отображения лишних сообщений, улучшив форматирование пакетов и используя цвет, чтобы
показать, что именно произойдет с пакетом при установке, удалении или обновлении.
https://gitlab.com/volian/nala
#python@bookflow
👉 @Bookflow
Это внешний интерфейс для libapt-pkg. В частности, мы взаимодействуем с python-apt api.
Особенно начинающим пользователям бывает сложно понять, что пытается сделать apt при установке или обновлении.
Мы пытаемся решить эту проблему, отказавшись от отображения лишних сообщений, улучшив форматирование пакетов и используя цвет, чтобы
показать, что именно произойдет с пакетом при установке, удалении или обновлении.
https://gitlab.com/volian/nala
#python@bookflow
👉 @Bookflow
👍3❤1
Что такое дескрипторы?
Дескрипторы — это механизм, который позволяет контролировать доступ к атрибутам классов. Они предоставляют способ определения специальных методов для доступа, присваивания и удаления атрибутов. Дескрипторы часто используются для реализации логики, связанной с доступом к данным, внутри классов.
Для создания дескриптора нужно определить класс, который реализует хотя бы один из трех вышеуказанных методов. Затем экземпляры этого класса могут быть присвоены атрибутам других классов.
#python@bookflow
👉 @Bookflow
Дескрипторы — это механизм, который позволяет контролировать доступ к атрибутам классов. Они предоставляют способ определения специальных методов для доступа, присваивания и удаления атрибутов. Дескрипторы часто используются для реализации логики, связанной с доступом к данным, внутри классов.
Для создания дескриптора нужно определить класс, который реализует хотя бы один из трех вышеуказанных методов. Затем экземпляры этого класса могут быть присвоены атрибутам других классов.
#python@bookflow
👉 @Bookflow
👍3
Пишем «Змейку» для Искры 1080 Тарту
Недавно мы познакомились с ПЭВМ Искра 1080 Тарту. Для данного компьютера написано мало программ. Достоверно известно о существовании менее тридцати, включая порты с других компьютеров. Я попытался слегка улучшить ситуацию, написав еще одну программу. Ею стала игра «Змейка».
Подготовка окружения для разработки
Программы для Искры можно писать и на самой Искре, но по нынешним меркам это не очень-то удобно. Было решено писать код на современном железе, а Искру использовать для тестирования.
Первым делом предстояло выбрать ассемблер 8080. Многие рекомендуют zasm. Но мне показалось, что это какой-то слишком сложный ассемблер. Ассемблер всего-то переводит мнемоники в машинный код и заменяет именованные метки на адреса в памяти. Притом, первое несложно делается и вручную, по табличкам. А вот пересчитывать все метки при добавлении новых инструкций — занятие действительно не самое захватывающее. Его и хотелось бы автоматизировать в первую очередь.
https://eax.me/iskra1080-zmejka/
#python@bookflow #asm@bookflow
👉 @Bookflow
Недавно мы познакомились с ПЭВМ Искра 1080 Тарту. Для данного компьютера написано мало программ. Достоверно известно о существовании менее тридцати, включая порты с других компьютеров. Я попытался слегка улучшить ситуацию, написав еще одну программу. Ею стала игра «Змейка».
Подготовка окружения для разработки
Программы для Искры можно писать и на самой Искре, но по нынешним меркам это не очень-то удобно. Было решено писать код на современном железе, а Искру использовать для тестирования.
Первым делом предстояло выбрать ассемблер 8080. Многие рекомендуют zasm. Но мне показалось, что это какой-то слишком сложный ассемблер. Ассемблер всего-то переводит мнемоники в машинный код и заменяет именованные метки на адреса в памяти. Притом, первое несложно делается и вручную, по табличкам. А вот пересчитывать все метки при добавлении новых инструкций — занятие действительно не самое захватывающее. Его и хотелось бы автоматизировать в первую очередь.
https://eax.me/iskra1080-zmejka/
#python@bookflow #asm@bookflow
👉 @Bookflow
👍6🍌1
Media is too big
VIEW IN TELEGRAM
Циклы в PostgreSQL
В этом видео мы научимся использовать циклы в запросах СУБД PostgreSQL.
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций. Также циклом может называться любая многократно исполняемая последовательность инструкций, организованная любым способом.
#db@bookflow #PostgreSQLbookflow
👉 @Bookflow
В этом видео мы научимся использовать циклы в запросах СУБД PostgreSQL.
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций. Также циклом может называться любая многократно исполняемая последовательность инструкций, организованная любым способом.
#db@bookflow #PostgreSQLbookflow
👉 @Bookflow
👍3😁1
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
👍1
👍5❤2