НЕЙРОНАВТЫ 🤖 | Нейросеть & IT
Open in Telegram
Мы публикуем лекции и книги по программированию, видеоуроки, доклады с IT конференций.
Show more1 840
Subscribers
No data24 hours
-27 days
-1130 days
Posts Archive
DeepCamera
Камера с искусственным интеллектом с открытым исходным кодом. Наделите любую камеру/CCTV самыми современными функциями искусственного интеллекта, включая распознавание лиц, распознавание людей (RE-ID), обнаружение автомобилей, обнаружение падений и многое другое.
https://github.com/SharpAI/DeepCamera
#github
Советы по Django
'null' vs. 'blank'
В моделях Django 'null' влияет на хранение данных в базе, позволяя полям хранить значения 'NULL'.
'blank' влияет на валидацию форм, разрешая пустые значения в формах.
#python
Инструментарий инженера DevOps 🧰🎒
Операционная система → Linux (recommended), Windows
Программирование → Go, Python, Groovy, Bash
Container orchestration → Kubernetes, Docker Swarm
Containers → Docker, Podman, Containerd
Source Code Management → Git, Subversion
Cloud → AWS, GCP, Azure, CivoCloud
CI/CD → Jenkins, CircleCI, Bamboo
Хостинг IT-проектов → GitHub, BitBucket, GitLab
IaC (Infrastructure as Code) and IP (Infrastructure Provisioning) → Ansible, Puppet, Chef, Terraform, Pulumi, Stack, Crossplane
Непрерывная обратная связь → GetFeedback, Jira, Slack, Pendo
Обсервация (мониторинг, протоколирование и анализ поведения системы) → Nagios, Grafana , Prometheus, New Relic, ELK Stack Datadog
Планирование → Jira Software, Confluence, Slack
Автоматизированное тестирование → xray, snyk, JUnit, Selenium, Appium
Вы можете выбрать любой из этих инструментов для каждого этапа/категории. Ваш выбор может быть основан на вашем проекте или организации, а может быть полностью личным.
#devops
+9
Коллекция советов по программированию на Python, в основном это касается Matplotlib.
#python
Go-like каналы на C++
Каналы (channels, pipes) – это удобная абстракция для построения приложений, работающих в многопоточной среде. Они используются для передачи сообщений между потоками и, одновременно с этим, как средство синхронизации потоков. Я буду ссылаться на "Go-style channels", т.к. на мой взгляд, важная особенность каналов в языке GO – это возможность их мультиплексировать.
Реализации каналов на языке C++, конечно же, есть, например, в библиотеке boost::fibers, можно найти реализацию двух видов каналов. В документации boost::fibers можно найти описания способов мультиплексирования, правда не самих каналов, но и к ним можно применить подобную технику.
https://habr.com/ru/articles/805561/
#cpp
+1
ImHex
🔍 Hex-редактор для реверс-инженеров, программистов и людей, которые ценят свое зрение, когда работают ночью.
https://github.com/WerWolv/ImHex
#github
Циклы в PostgreSQL
В этом видео мы научимся использовать циклы в запросах СУБД PostgreSQL.
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций. Также циклом может называться любая многократно исполняемая последовательность инструкций, организованная любым способом.
#db #PostgreSQLbookflow
Пишем «Змейку» для Искры 1080 Тарту
Недавно мы познакомились с ПЭВМ Искра 1080 Тарту. Для данного компьютера написано мало программ. Достоверно известно о существовании менее тридцати, включая порты с других компьютеров. Я попытался слегка улучшить ситуацию, написав еще одну программу. Ею стала игра «Змейка».
Подготовка окружения для разработки
Программы для Искры можно писать и на самой Искре, но по нынешним меркам это не очень-то удобно. Было решено писать код на современном железе, а Искру использовать для тестирования.
Первым делом предстояло выбрать ассемблер 8080. Многие рекомендуют zasm. Но мне показалось, что это какой-то слишком сложный ассемблер. Ассемблер всего-то переводит мнемоники в машинный код и заменяет именованные метки на адреса в памяти. Притом, первое несложно делается и вручную, по табличкам. А вот пересчитывать все метки при добавлении новых инструкций — занятие действительно не самое захватывающее. Его и хотелось бы автоматизировать в первую очередь.
https://eax.me/iskra1080-zme...
Что такое дескрипторы?
Дескрипторы — это механизм, который позволяет контролировать доступ к атрибутам классов. Они предоставляют способ определения специальных методов для доступа, присваивания и удаления атрибутов. Дескрипторы часто используются для реализации логики, связанной с доступом к данным, внутри классов.
Для создания дескриптора нужно определить класс, который реализует хотя бы один из трех вышеуказанных методов. Затем экземпляры этого класса могут быть присвоены атрибутам других классов.
#python
+7
Nala
Это внешний интерфейс для libapt-pkg. В частности, мы взаимодействуем с python-apt api.
Особенно начинающим пользователям бывает сложно понять, что пытается сделать apt при установке или обновлении.
Мы пытаемся решить эту проблему, отказавшись от отображения лишних сообщений, улучшив форматирование пакетов и используя цвет, чтобы
показать, что именно произойдет с пакетом при установке, удалении или обновлении.
https://gitlab.com/volian/nala
#python
🖥 7 основных стратегий масштабирования вашей базы данных.
1 - Индексация:
Проверьте шаблоны запросов вашего приложения и создайте подходящие индексы.
2 - Материализованные представления:
Предварительно вычислите результаты сложных запросов и сохраните их для более быстрого доступа.
3 - Денормализация:
Уменьшите количество сложных объединений для повышения производительности запросов.
4 - Вертикальное масштабирование:
Увеличьте мощность вашего сервер базы данных, добавляя больше процессоров, оперативной памяти или хранилища.
5 - Кэширование:
Сохраните часто запрашиваемые данные в более быстром слое хранения для снижения нагрузки на базу данных.
6 - Репликация:
Создайте реплики основной базы данных на разных серверах для масштабирования чтения.
7 - Шардинг:
Разделите таблицы базы данных на более мелкие части и распределите их по серверам. Используется для масштабирования как записи, так и чтения.
А теперь ваш ход: Какие другие стратегии вы используете для масштабирования ваших баз данных?
#db
Использование миграций баз данных в Go
Недавно мы столкнулись с необходимостью найти библиотеку для удобной работы с базами данных. В нашем проекте команда решила не использовать ORM (Object-Relational Mapping), а вместо этого применить миграции. Так как я работал только с ORM, мне, как и автору статьи, было мало знакомо понятие миграций баз данных. В поисках информации о миграциях и популярных решениях, я наткнулся на эту статью. Перевод статьи я оставил ниже. Возможно, она будет вам полезна. Буду признателен, если вы сможете поделиться библиотеками, которые используете.
https://habr.com/ru/articles/809301/
original https://blog.stackademic.com/using-database-migrations-with-golang-7f6736f580c8
#golang
Ускорение роутера в Django в 51 раз
История началась с разбора использования ресурсов приложением, которое занимается проксированием. Обнаружили, что довольно много времени оно тратит на выбор маршрута (роута), и решили ускорить этот процесс. Описанная в статье оптимизация не требует каких-то особых вложений, усилий или условий, поэтому приведенный код можно забрать к себе и использовать без каких-либо чрезмерных вмешательств.
https://habr.com/ru/companies/tochka/articles/822431/
#python
IntelliJ IDEA 2024.3 уже здесь!
AI Assistant присоединился к вечеринке с быстрым и точным автодополнением кода! ⚡
https://blog.jetbrains.com/ai/2024/11/jetbrains-ai-assistant-2024-3/
Qrcp
Передавайте файлы по Wi-Fi с компьютера на мобильное устройство, сканируя QR-код, не отходя от терминала.
https://github.com/claudiodangelis/qrcp
#github
Как проверить, что страница открыта из кэша Edge Cache на Vercel
#frontend
Настройка CI/CD для самых маленьких разработчиков
Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позволяет не тратить время на поход к коллегам (и ожидание их реакции), т.е. в целом повышает комфорт работы и дает понимание, почему все происходит именно так.
Настроек для пайплайна Gitlab очень много. В этой статье, не вдаваясь в недра тюнинга, поговорим о том, как выглядит скрипт пайплайна, из каких блоков он состоит и что может содержать.
https://habr.com/ru/companies/maxilect/articles/799177/
#devops
