es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

Кисель в АйТи | AI и технологии

Кисель в АйТи | AI и технологии

Ir al canal en Telegram

Я – Александр, и это мой авторский канал, где я пишу про разработку, AI и работу в айти. Купить рекламу: https://telega.in/c/kisel_it

Mostrar más
4 294
Suscriptores
-424 horas
-147 días
-3530 días
Archivo de publicaciones
Еще раз убедился, что нужно фиксировать ВСЕ зависимости. Всегда. Жили-были два пакета: jsonschema и typing_extensions. Были строго зафиксированы их версии. Всё работало 3 с лишним месяца, но сегодня при обновлении одного из стендов мы узнали, что эти два пакета несовместимы и проект больше не стартует. jsonschema начал валится в ошибку:
TypeError: TypeVar.__init__() got an unexpected keyword argument 'default'
Помогло изменение версии jsonschema вниз, либо поднятие typing_extensions вверх. Но ведь раньше они работали вместе, так что продолжили поиски. В итоге всё таки нашли виновника - в requirements не было пакета referencing. Он начал подтягиваться с версией 0.36.0, вместо предыдущей 0.35.1 и всё сломал. Лучше один раз зафиксировать всё, чем потом несколько часов разбираться.

Основано на реальных событиях, я сам такое видел 😁 #мемы

В этой статье расскажу о своём опыте работы в VR-шлеме, какие инструменты использую, и поделюсь советами по настройке. Возмож
В этой статье расскажу о своём опыте работы в VR-шлеме, какие инструменты использую, и поделюсь советами по настройке. Возможно, это побудит вас попробовать такой формат работы и создать своё идеальное виртуальное рабочее пространство. https://habr.com/ru/articles/876720/ На фото мой Quest 3. Кажется ему скоро будет год 😎 Всё еще радует)

На всех рабочих проектах достаточно старые версии docker и docker-compose. И вот я сам не заметил, как проспал важное изменен
На всех рабочих проектах достаточно старые версии docker и docker-compose. И вот я сам не заметил, как проспал важное изменение: version в docker-compose файлах теперь можно не указывать 😎 Даже warning добавили: the attribute 'version' is obsolete, it will be ignored, please remove it to avoid potential confusion #docker

Кажется январь - официально месяц утечек данных. Тут собрал вам ссылочек, кому интересно: Утечка Otelier https://www.bleeping
Кажется январь - официально месяц утечек данных. Тут собрал вам ссылочек, кому интересно: Утечка Otelier https://www.bleepingcomputer.com/news/security/otelier-data-breach-exposes-info-hotel-reservations-of-millions Утечка у Альфа-групп https://www.securitylab.ru/news/545057.php?muid=d26eadd9-8aea-48c2-9ec4-52542c2ea51d Утечка у Ростелекома https://habr.com/ru/news/875312/ Утечка из китайских сервисов https://cybernews.com/security/chinese-data-leak-expose-didi-weibo-kfc-communist-party/ Утечка Hewlett Packard Enterprise https://habr.com/ru/news/875230/ Подробности как обычно не раскроют, но всё равно показательно - проблемы с безопасностью есть даже у крупных компаний с деньгами. Страшно представить, как с этим обстоят дела у компаний поменьше. Уверен, что там и про пентест врятли кто-то слышал.

Пусть Python и считается самым простым языком для изучения, это не отменяет существования сотен тонкостей и подводных камней. Так уж у нас прижилось, что .extend() и обычное присваивание некоторые разработчики считают равноценными. Но это ошибка, так как .extend() изменяет существующий список, а сложение создает новый список из двух переданных. Так же на эту тему есть пара интересных примеров с .extend() и оператором += (украл одолжил с StackOverflow) Пример №1
list1 = [5, 6]
list2 = [7, 8]

def get_list():
    return list1

get_list().extend(list2)  # ✅ Работает
get_list() += list2       # ❌ SyntaxError
Случай редкий, да и визуально может показаться, что всё нормально. Просто вспомним, что такие операторы нельзя использовать с функциями, а так же с объектами, которые не реализуют iadd и add. Пример №2
my_tuple = ([1, 2], [3, 4], [5, 6])
my_tuple[0].extend([10, 11])  # works
my_tuple[0] += [10, 11]  # TypeError
А всё почему? А потому, что`.extend()` изменяет список на месте, а += пытается создать новый список и присвоить его элементу кортежа, что невозможно, так как кортеж — неизменяемый. #python #разработка

Ура, друзья. Вот и долгожданный юбилей, нас ровно 200 😋

Рунет живи...
Рунет живи...

В последнее время всё чаще говорят про инструменты для Python, написанные на Rust. Видимо на фоне успехов Astral с ruff и uv
В последнее время всё чаще говорят про инструменты для Python, написанные на Rust. Видимо на фоне успехов Astral с ruff и uv лёд тронулся. На это накладывается кратно возросшая популярность Rust, который за 4 года уверенно поднялся с 35 места до 20 места по популярности (смотреть тут). А там совсем рядом Swift и Go, про которые точно все слышали. Пока общий процент пакетов на Rust от общего всё еще небольшой. Это ruff, uv, polars, ripgrep и плюсом инструменты для интеграции PyO3 и maturin. Сама интеграция выглядит и правда максимально просто. Один из самых простых примеров с хабра тут. Хочется верить, что Rust еще посоревнуется с C/C++, на котором еще с древности пишут все оптимизации/инструменты, которые должны работать быстро. Из причин вижу несколько: - современный язык - высокая производительность - не течёт память, меньше вероятность ошибки - меньше уязвимостей в коде Посмотрим, что будет дальше.

Наконец добрался до списка инструментов из TechnologyRadar. Выделил для себя следующее: Devbox 🤔 Инструмент который позволяе
Наконец добрался до списка инструментов из TechnologyRadar. Выделил для себя следующее: Devbox 🤔 Инструмент который позволяет вам легко создавать изолированные оболочки для разработки. Можно сохранить всё в конфиг json и положить в гит. Нужно пробовать. Если реализовано нормально, то точно стоит затащить в рабочие проекты. Как проверю в бою, поделюсь опытом :) Ссылка: https://www.jetify.com/docs/devbox/ Difftastic 😐 Подсветка изменений в коде на основе синтаксиса, а не тупо “текста”. Выглядит интересно, но судя по всему затащить в GitLab не получится, так что для большинства задач неприменим. Visual regression testing tools 🚬 Кое-что из мира тестирования. В эту категорию попадают BackstopJS, Applitools и Percy. Такие инструменты позволяют отслеживать визуальные изменения. Под капотом оно просто сравнивает всё с эталонным интерфейсом с помощью скриншотов и предупреждает, если что то разъехалось. За последние пару лет очень хорошо выросла точность, поэтому верю, что этим начнут пользоваться более массово. ClickHouse 😐 Старичок ClickHouse, придуманный Яндексом в далеком 2009 году. Можно сказать уже классика. Знать про этот инструмент необходимо каждому, очень уж он распространён. На одном ХХ сейчас 1100 вакансий с упоминанием ClickHouse 😊 Unleash 😋 Удобный инструмент для работы с фича флагами. Избавляет от необходимости лишний раз изобретать велосипед Ссылка: https://www.getunleash.io/ Mockoon 😘 Просто комбайн для создания моков API под любые задачи. Рекомендую и для бэков и для фронтов. Ссылка: https://mockoon.com/ ReadySet ⌨️ Прослойка для кэширования запросов для MySQL и Postgresql. Располагается между БД и приложением. А еще умеет автоматически обновлять кэшированные запросы при изменении данных. Звучит очень вкусно, есть ли подвох?) uv 🔫 Убийца pip и virtualenv в одном флаконе, написанный на Rust от разработчиков линтера ruff. Попробовать точно стоит. Первый релиз был в начале 2024 года, а теперь у проекта уже 35 тысяч звёзд. Ну и куда же без AI: ColPali - лучший инструмент для извлечения информации из PDF. Еще и самый быстрый. Cursor - целая IDE заточенная на разработку с помощью AI. Semantic Router - удобный и быстрый инструмент для понимания намерений пользователя. из текста.

Какую версию Python используешь?
Anonymous voting

Вышла новая статья 😘 В ней мы разберемся, что нового появилось в версиях 3.12, 3.13, 3.14, и решим, пришло ли время обновить проект. Основной упор сделан на ключевые нововведения, чтобы составить общую картину и понять, куда развивается язык. https://tproger.ru/articles/python-3-12--3-13-i-3-14--obnovlyatsya-ili-net-

В конце года самое время подвести итоги по всем фронтам. Как раз для этих целей хорошо подходит Technology Radar. Если кто то
В конце года самое время подвести итоги по всем фронтам. Как раз для этих целей хорошо подходит Technology Radar. Если кто то не пользовался или даже не слышал, то этот пост для вас. По сути это регулярный бесплатный отчёт, в котором эксперты Thoughtworks делятся своим взглядом на современные технологии. Отличная шутка, чтобы найти новые инструменты и посмотреть куда всё двигается "в общем и целом". Многие продукты существуют в "вакууме" и новые инструменты часто приходят с большим запозданием. Так что отличный шанс взять оттуда что-то свежее. В целом всё просто, если немного понимать структуру отчёта. Что включает Technology Radar? Весь отчёт разделён на четыре квадранта: 1. Techniques (Техники): Современные методологии и практики — от подходов к тестированию до управления проектами. Пример: Component Testing. 2. Tools (Инструменты): Полезные утилиты для разработки, деплоя и отладки. Пример: Devbox, GitButler. 3. Platforms (Платформы): Инфраструктура и среды выполнения, такие как облачные сервисы и базы данных. Пример: PGLite. 4. Languages & Frameworks (Языки и фреймворки): Современные языки программирования и библиотеки, которые стоит оценить. Пример: Pingora. 🌀 Как это работает? Все технологии в отчёте распределяются по четырём рекомендательным кольцам: - Adopt (Принять): Технологии, которые уже доказали свою ценность и готовы к широкому внедрению. - Trial (Испытать): Новые решения, которые стоит попробовать в пилотных проектах. - Assess (Оценить): Инструменты или подходы, которые пока нужно изучить и оценить их пользу. - Hold (Воздержаться): Технологии, от которых лучше отказаться или применять с осторожностью. 🛠 Как пользоваться? 1. Заходим, видим дату отчета Volume 31 | October 2024. Самый свежий на данный момент. https://www.thoughtworks.com/radar 2. Выбираем интересующую нас “технологию” 3. Изучаем Самое интересное в разделе Tools. Следующим постом сделаю список инструментов, которые мне приглянулись и про которые как минимум стоит знать. Насколько объективны данные - судить вам. Но выглядит интересно. #что_нового

#Pytup: Итоги года Краткая выжимка из очередного митапа для всех, кто интересуется развитием Python: 🟢 Новые версии Python 3
#Pytup: Итоги года Краткая выжимка из очередного митапа для всех, кто интересуется развитием Python: 🟢 Новые версии Python 3.12, 3.13, 3.14 - Основная версия всё ещё 3.11 — на неё опирается большинство проектов. - Поговорили про PEP-696: Type Defaults в 3.13 упрощают работу с типами. Подробнее: PEP-696 - Прирост производительности Python пока около 5% на версию, хотя хотелось бы больше. NoGIL остаётся одной из самых ожидаемых функций. 📲 Мобильные платформы iOS и Android - Теперь они официально поддерживаются Python на уровне Tier 3. - Это значит, что Python компилируется и работает на этих платформах, но пока без полноценного тестирования. 🔧 Технологические тренды - Переписывание на Rust продолжает набирать обороты. - Обсудили FastStream — новый фреймворк для очередей, который звучит многообещающе. - DI и Dishka: Dependency Injection всё чаще упоминается в сообществе, появляются новые подходы. 💡 AI и автоматизация - Искусственный интеллект активно внедряется: - Построение графиков и отчётов. - Быстрая декомпозиция задач. - Прототипирование интерфейсов и автоматизация рутинных процессов. - AI упрощает работу, но разработчики по-прежнему нужны (пока 😉). 📊 Python остаётся №1 на GitHub - Язык лидирует по количеству кода, а рост популярности AI усиливает его доступность. 🎓 Обратная сторона популярности - Разработчики учат больше технологий, но глубина знаний языка часто проседает. - С другой стороны, понимание архитектур и паттернов стало намного лучше, чем несколько лет назад. 🌟 Призыв к OpenSource - Всех призвали поучаствовать в развитии OpenSource проектов Какие из изменений Python вам кажутся наиболее важными? Делитесь в комментариях 👇

Краткая сводка о том, что же выпустили OpenAI за 12 дней анонсов. День 1: Выпуск o1 и ChatGPT Pro OpenAI представила модель o
Краткая сводка о том, что же выпустили OpenAI за 12 дней анонсов. День 1: Выпуск o1 и ChatGPT Pro OpenAI представила модель o1, разработанную для улучшенного рассуждения и решения сложных задач. Также был запущен ChatGPT Pro — подписка за $200 в месяц, предоставляющая неограниченный доступ к модели o1 и расширенным голосовым функциям. День 2: Усиление обучения с подкреплением Представлены новые возможности для тонкой настройки моделей с использованием обучения с подкреплением, что позволяет улучшить производительность в специфических задачах. День 3: Запуск Sora Выпущена модель Sora для генерации видео на основе текста, доступная для подписчиков ChatGPT Plus и Pro. День 4: Обновление Canvas Обновлена функция Canvas в ChatGPT, улучшены возможности для совместного написания кода и текстов. День 5: Интеграция с Apple Intelligence ChatGPT теперь интегрирован с Apple Intelligence, расширяя возможности пользователей на устройствах Apple. День 6: Режим реального времени с видео и "Режим Санты" Представлен расширенный голосовой режим с поддержкой видео и специальный "Режим Санты" для праздничного настроения. День 7: Проекты в ChatGPT Введена функция "Проекты" для организации работы с AI, позволяющая создавать папки для различных задач. День 8: Поиск в ChatGPT Улучшены возможности поиска в ChatGPT, добавлена поддержка карт и видео для более быстрого и точного поиска информации. День 9: Инструменты для разработчиков Представлены новые API и SDK для разработчиков, включая поддержку function calling, структурированных выводов и возможностей обработки изображений. День 10: 1-800-CHAT-GPT Запущена телефонная линия 1-800-CHAT-GPT и поддержка ChatGPT в WhatsApp, расширяя доступность сервиса. День 11: Новые интеграции приложений для настольного приложения (Mac) Представлены дополнительные интеграции приложений для настольного приложения ChatGPT на Mac, улучшая взаимодействие с пользователями. День 12: Новые модели o3 и o3-mini Анонсированы новые модели o3 и o3-mini, представляющие следующий шаг в развитии AI-технологий OpenAI. Видео с анонсами тут https://openai.com/12-days/

Всё, будущее наступило?) Теперь ждем AI на каждой упаковке 🤡 Что изменилось то? 🤣
Всё, будущее наступило?) Теперь ждем AI на каждой упаковке 🤡 Что изменилось то? 🤣

Давайте поговорим про “спортивное программирование” 😓 Все эти Leetcode, Codewars, Яндекс.Контест и т.д. В целом всё сводится к бесконечному решению разнообразных задач. Но есть одно большое НО. Проблема номер один - читаемость и поддерживаемость кода не является критерием решения задачи. Человек, который долгое время сам для себя решал задачи потом начинает производить на свет в каждом своём МР что то в стиле:
result = reduce(lambda acc, x: acc + [x**2 if x % 2 == 0 else x**3], filter(lambda y: y > 0, map(lambda z: z * -1 if z < 0 else z, range(-10, 10))), [])
Попробуй разберись, что он хотел этим сказать… Но ведь работает, правда? А еще и эффективнее на 0.01мс, чем обычный цикл! Ох уж эти lambda-filter-reduce программисты 😘 Проблема номер два - большую часть из решенных задач ты забудешь. Если ты год назад смог написать какой либо алгоритм, не факт, что через год ты его легко напишешь снова. Эффективнее было бы вложить это время в пет-проект на незнакомом стеке, потыкать незнакомые паттерны, запроектировать всё это дело и довести до ума. По ходу всегда возникают проблемы и их решение - как раз то, что пригодится в дальнейшем для стандартного роста Junior → Middle → Senior → Архитектор/Тех.Лид. Выбор оптимального стека и хорошая архитектура - самые важные решения. Для этого нужен определенный кругозор. И тебя будут осуждать в первую очередь за то, что проект превратился в неподдерживаемое говно, а не за скорость твоего кода. Заниматься оптимизацией нужно точечно и только тогда, когда это реально необходимо. Так что ко всем этим решалкам задач стоит относиться как к отдельному хобби. Да, может быть полезно, но не факт. Если нравится, то почему бы и нет. Просто не нужно питать илюзий, что это лучшая и универсальная таблетка для роста скиллов.

Ого, залетел тут в список лучших статей за ноябрь на Tproger Навалите голосов за Django vs FastAPI, будем выигрывать мерч 💃

Какой материал вам понравился больше всего?
Anonymous voting

OpenAI выпустили новую модель o1 pro, которая будет доступна на новом тарифе ChatGPT Pro за 200 баксов. По бенчмаркам o1 pro
OpenAI выпустили новую модель o1 pro, которая будет доступна на новом тарифе ChatGPT Pro за 200 баксов. По бенчмаркам o1 pro справляется с кодом всего на 10% лучше o1. Пока выглядит не очень вкусно. Даже учитывая безлимитные запросы ко всем доступным моделям. Да и в целом не понимаю, что может оправдать такую цену 🍴