Forwarded from MaaS — meme as a service (ex. Представляешь, )
Google Gemini разочаровался в себе и... предложил заплатить разработчику за баг
Во время переписки ИИ от Google честно признался: «Мои знания устарели, я только мешаю». При этом он предложил пользователю оплатить услуги настоящего программиста для решения проблем.
Причиной стали вечные конфликты Vite, Tailwind и PostCSS, в которых Gemini окончательно запутался. Вместо решения — депрессия и предложение нанять «кожаного программиста».
Ну что, работяги — можем спать спокойно? Никакой ИИ нас пока что не заменит
@your_tech
Во время переписки ИИ от Google честно признался: «Мои знания устарели, я только мешаю». При этом он предложил пользователю оплатить услуги настоящего программиста для решения проблем.
Причиной стали вечные конфликты Vite, Tailwind и PostCSS, в которых Gemini окончательно запутался. Вместо решения — депрессия и предложение нанять «кожаного программиста».
Ну что, работяги — можем спать спокойно? Никакой ИИ нас пока что не заменит
@your_tech
😢12😁7❤2
crewAI | Оркестрируемые GPT
Зарубежные мечтатели неутомимо хотят слить всю работу на ИИ... На сей раз создали этакий «командный пост» для ваших нейронок вроде ChatGPT, Claude, Grok и прочих. Смысл в том, что доля портаков значительно сокращается, если LLM «судят» ответы друг друга. Даже вводят термин «гиперагент».
Тул добился звания «Репозиторий дня» на GitHub, а это уже немало!
Доступен в РФ: да
Цена: бесплатно
Зарубежные мечтатели неутомимо хотят слить всю работу на ИИ... На сей раз создали этакий «командный пост» для ваших нейронок вроде ChatGPT, Claude, Grok и прочих. Смысл в том, что доля портаков значительно сокращается, если LLM «судят» ответы друг друга. Даже вводят термин «гиперагент».
Тул добился звания «Репозиторий дня» на GitHub, а это уже немало!
Доступен в РФ: да
Цена: бесплатно
👍3✍1
Google Image Scraper | Массовый парсинг картинок из Google
Тул помогает собирать сотни изображений для любой вашей цель — будь то ML-датасет, дизайн или что-то еще. При запуске указываем ключевые слова, количество файлов и параметры — и скрипт автоматически выгрузит нужные фото в нужном разрешении. Поддерживает работу в headless-режиме, гибкую настройку качества и параллельные загрузки.
Цена: бесплатно
#инструмент
@zen_of_python
Тул помогает собирать сотни изображений для любой вашей цель — будь то ML-датасет, дизайн или что-то еще. При запуске указываем ключевые слова, количество файлов и параметры — и скрипт автоматически выгрузит нужные фото в нужном разрешении. Поддерживает работу в headless-режиме, гибкую настройку качества и параллельные загрузки.
Цена: бесплатно
#инструмент
@zen_of_python
✍1👍1
Шпаргалка NumPy.pdf
649.4 KB
Шпаргалка NumPy
Удобная шпаргалка, чтобы основные функции и методы этой ключевой «вычисляющей» библиотеки были под рукой.
В ней собраны разделы вроде Creating Arrays, где показано, как создавать массивы разных типов и форм, Array Mathematics — с примерами арифметических операций, и Subsetting, Slicing, Indexing для работы с выборками. Есть также блоки про манипуляции с массивами, объединение, разбиение и сохранение данных.
#шпаргалка
@zen_of_python
Удобная шпаргалка, чтобы основные функции и методы этой ключевой «вычисляющей» библиотеки были под рукой.
В ней собраны разделы вроде Creating Arrays, где показано, как создавать массивы разных типов и форм, Array Mathematics — с примерами арифметических операций, и Subsetting, Slicing, Indexing для работы с выборками. Есть также блоки про манипуляции с массивами, объединение, разбиение и сохранение данных.
#шпаргалка
@zen_of_python
🔥3
Самое время собрать свою команду из IT-акул: Открыта регистрация на самый масштабный онлайн-хакатон в мире — «Лидеры цифровой трансформации»!
⚡️ 40 млн рублей призового фонда:
— 1 млн рублей — для тех, кто займёт первое место
— 600 тысяч — второе
— 400 тысяч — третье
20 актуальных задач от ведущих компаний страны: Газпромбанк.Тех, VK Tech, Kaspersky, АФЛТ-Системс (Группа «Аэрофлот»), Союзмультфильм, Авито, Итэлма, ОЭЗ «Алабуга», Х5.
14 дней на разработку решений.
Призёрами хакатона станут 60 команд!
Принять участие могут:
🔘 граждане РФ и других стран от 18 лет
🔘 специалисты: Front / Back / FullStack, Web-разработчики, UX / UI дизайнеры, Product / Project-менеджеры, Data Scientists, Data Engineers, аналитики и другие профессионалы
🔘 местоположение — неважно, всё проходит онлайн
Других ограничений нет!
📎 Успейте зарегистрироваться до 18 сентября!
А больше новостей и подробностей — на нашем канале, подписывайтесь.
Это #партнёрский пост
— 1 млн рублей — для тех, кто займёт первое место
— 600 тысяч — второе
— 400 тысяч — третье
20 актуальных задач от ведущих компаний страны: Газпромбанк.Тех, VK Tech, Kaspersky, АФЛТ-Системс (Группа «Аэрофлот»), Союзмультфильм, Авито, Итэлма, ОЭЗ «Алабуга», Х5.
14 дней на разработку решений.
Призёрами хакатона станут 60 команд!
Принять участие могут:
Других ограничений нет!
А больше новостей и подробностей — на нашем канале, подписывайтесь.
Это #партнёрский пост
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡1🌭1
Как сеньоры документируют проекты: протокол архитектурных решений
В статье рассказывается, как сеньоры применяют ADR (Architectural Decision Record — протокол архитектурных решений), чтобы документировать важные архитектурные изменения, их причины и последствия. ADR помогает сохранять логику принятия решений, избегать повторений ошибок и облегчает командную работу, особенно для новых участников. Автор сравнивает такой протокол с «личным дневником, но для всей команды», подчеркивая его пользу в будущем: спустя время возвращаться к архитектурным мотивам становится гораздо проще.
#основы
@zen_of_python
💅 — Если применяешь такое
В статье рассказывается, как сеньоры применяют ADR (Architectural Decision Record — протокол архитектурных решений), чтобы документировать важные архитектурные изменения, их причины и последствия. ADR помогает сохранять логику принятия решений, избегать повторений ошибок и облегчает командную работу, особенно для новых участников. Автор сравнивает такой протокол с «личным дневником, но для всей команды», подчеркивая его пользу в будущем: спустя время возвращаться к архитектурным мотивам становится гораздо проще.
#основы
@zen_of_python
💅 — Если применяешь такое
✍3❤1💅1
Вопрос подписчика
Задает @StSav012:
«Предлагаю задачку на алгоритм.
Для данных n ∈ ℕ и чётного N ≥ n > 1, N ∈ ℕ, найти чётное ñ, ближайшее к n, являющееся делителем N. Если таких чисел несколько, выбрать наибольшее.Конечно, хочется скорость O(log(n)).
Что ещё можно ускорить?»
NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
#обсуждение
@zen_of_python
Задает @StSav012:
«Предлагаю задачку на алгоритм.
Для данных n ∈ ℕ и чётного N ≥ n > 1, N ∈ ℕ, найти чётное ñ, ближайшее к n, являющееся делителем N. Если таких чисел несколько, выбрать наибольшее.Конечно, хочется скорость O(log(n)).
def find_closest_even_divisor(n: int, max_n: int) -> int:
"""
For given n ∈ ℕ and an even N ≥ n, N ∈ ℕ,
find an even ñ closest to n so that ñ is a divisor of N.
If there are several such numbers, pick the largest one.
"""
if max_n <= 0:
raise ValueError(f"There are no positive divisors for {max_n}")
if max_n & 1:
raise ValueError(f"There are no even divisors for {max_n}, which is odd")
if n > 0.75 * max_n:
return max_n
if max_n % n == 0 and n & 1 == 0:
return n
divisors: list[int] = []
dd: int = 1
while max_n > 1 and max_n & 1 == 0:
max_n >>= 1
dd <<= 1
divisors.append(dd)
d: int = 3
dc: list[int]
while max_n > 1:
dc = []
dd = 1
while max_n % d == 0:
max_n //= d
dd *= d
dc.append(dd)
else:
if dc:
divisors += [divisor * dd for divisor in divisors for dd in dc]
if d < isqrt(max_n) and d < 2 * n:
d += 2
else:
break
return min(divisors, key=lambda _d: (abs(n - _d), -_d))
Что ещё можно ускорить?»
NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
#обсуждение
@zen_of_python
AI Journey Contest 2025: Брось вызов задачам уровня профи в мире ИИ!
Участвуй в международном онлайн-соревновании по ИИ и получи возможность побороться за денежный приз! Призовой фонд — 6,5 млн рублей!
Выбери один или несколько треков:
• Agent-as-Judge — универсальный «судья», способный оценивать ИИ-тексты.
• Human-centered AI Assistant — персонализированный ассистент на основе
GigaChat, имитирующий поведение людей и способный предугадать их предпочтения.
Бонус: Участникам предоставляются токены для API + возможность получить дополнительно 1 млн токенов!
• GigaMemory — механизм долговременной памяти для LLM, помогающий ассистенту запоминать и использовать важные факты в диалоге.
Не упусти возможность не только прокачать свои скиллы, получить заветную строчку в списке своих достижений и выиграть солидный приз, но и заявить о себе на AI Journey — главной международной конференции по ИИ в России!
Соревнование проходит до 30 октября.
Регистрируйся и участвуй
Это #партнёрский пост
Участвуй в международном онлайн-соревновании по ИИ и получи возможность побороться за денежный приз! Призовой фонд — 6,5 млн рублей!
Выбери один или несколько треков:
• Agent-as-Judge — универсальный «судья», способный оценивать ИИ-тексты.
• Human-centered AI Assistant — персонализированный ассистент на основе
GigaChat, имитирующий поведение людей и способный предугадать их предпочтения.
Бонус: Участникам предоставляются токены для API + возможность получить дополнительно 1 млн токенов!
• GigaMemory — механизм долговременной памяти для LLM, помогающий ассистенту запоминать и использовать важные факты в диалоге.
Не упусти возможность не только прокачать свои скиллы, получить заветную строчку в списке своих достижений и выиграть солидный приз, но и заявить о себе на AI Journey — главной международной конференции по ИИ в России!
Соревнование проходит до 30 октября.
Регистрируйся и участвуй
Это #партнёрский пост
👍1
Forwarded from Типичный программист
This media is not supported in your browser
VIEW IN TELEGRAM
CodeViz: бесплатное дополнение для VS Code, превращающее код в интерактивную карту 😬
Плагин строит визуальную структурированную карту вашего кода прямо в IDE. Можно наглядно увидеть архитектуру проекта, связи между файлами и понять его суть.
Поддерживается масса яп, всё работает быстро и абсолютно бесплатно. Сохраняйте.
Плагин строит визуальную структурированную карту вашего кода прямо в IDE. Можно наглядно увидеть архитектуру проекта, связи между файлами и понять его суть.
Поддерживается масса яп, всё работает быстро и абсолютно бесплатно. Сохраняйте.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8❤1
Цепочка обязанностей
Цепочка обязанностей (Chain of Responsibility, CoR) — поведенческий паттерн, который пропускает запрос через последовательность обработчиков, пока один из них не возьмётся за дело (или пока цепочка не закончится). Этот подход «развязывает» отправителя и получателей запроса: отправителю не нужно знать, кто именно обработает задачу, а обработчики остаются взаимозаменяемыми и настраиваемыми в рантайме.
Используйте CoR, если:
🔘 обработка запроса может зависеть от набора условий/правил, которые меняются со временем;
🔘 нужно включать / выключать шаги обработки без переписывания вызвавшего кода;
🔘 часть запросов может обрабатываться на ранних шагах, а остальные — «прокатываться» дальше;
🔘 вы строите конвейер: фильтры, middleware, валидаторы, пост-обработчики.
Минимальный состав паттерна
🔘 Handler (интерфейс / абстракция): объявляет метод
🔘 ConcreteHandler: решает, обрабатывать ли запрос, либо передаёт дальше;
🔘 Client: строит цепочку и отправляет запрос первому звену.
Пример
Цепочка обязанностей (Chain of Responsibility, CoR) — поведенческий паттерн, который пропускает запрос через последовательность обработчиков, пока один из них не возьмётся за дело (или пока цепочка не закончится). Этот подход «развязывает» отправителя и получателей запроса: отправителю не нужно знать, кто именно обработает задачу, а обработчики остаются взаимозаменяемыми и настраиваемыми в рантайме.
Используйте CoR, если:
Минимальный состав паттерна
handle(request)
и хранит ссылку на «следующего»;Пример
from __future__ import annotations
from abc import ABC, abstractmethod
from dataclasses import dataclass
from typing import Optional, Any, Callable
class Handler(ABC):
def __init__(self, nxt: Optional["Handler"] = None):
self._next = nxt
def set_next(self, nxt: "Handler") -> "Handler":
self._next = nxt
return nxt # позволяет строить цепочку «в линию»
def handle(self, request: Any) -> Any:
# Базовая реализация: попытаться обработать здесь,
# иначе передать дальше.
result = self._handle_here(request)
if result is not None:
return result
if self._next:
return self._next.handle(request)
return None # никто не справился
@abstractmethod
def _handle_here(self, request: Any) -> Optional[Any]:
...
@dataclass
class HttpRequest:
path: str
headers: dict
user_id: Optional[int] = None
payload: Optional[dict] = None
class AuthHandler(Handler):
def _handle_here(self, req: HttpRequest) -> Optional[Any]:
token = req.headers.get("Authorization")
if not token:
# Нет токена — «решение на месте»: отклоняем и НЕ передаём дальше
return {"status": 401, "message": "Unauthorized"}
# валидируем (упростим) и ставим идентификатор
req.user_id = 42
return None # пропускаем дальше
class RateLimitHandler(Handler):
def __init__(self, check: Callable[[HttpRequest], bool], nxt: Optional[Handler] = None):
super().__init__(nxt)
self.check = check
def _handle_here(self, req: HttpRequest) -> Optional[Any]:
if not self.check(req):
return {"status": 429, "message": "Too Many Requests"}
return None
class RouterHandler(Handler):
def _handle_here(self, req: HttpRequest) -> Optional[Any]:
if req.path == "/me" and req.user_id:
return {"status": 200, "data": {"id": req.user_id}}
if req.path == "/ping":
return {"status": 200, "data": "pong"}
# Не мой маршрут — пропускаю дальше (если есть)
return None
class NotFoundHandler(Handler):
def _handle_here(self, req: HttpRequest) -> Optional[Any]:
# Терминальный обработчик: если дошли сюда — 404
return {"status": 404, "message": f"Route {req.path} not found"}
# Сборка цепочки
def build_pipeline() -> Handler:
auth = AuthHandler()
rate = RateLimitHandler(check=lambda r: True)
router = RouterHandler()
notfound = NotFoundHandler()
auth.set_next(rate).set_next(router).set_next(notfound)
return auth
if __name__ == "__main__":
pipeline = build_pipeline()
print(pipeline.handle(HttpRequest(path="/ping", headers={"Authorization": "Bearer x"})))
print(pipeline.handle(HttpRequest(path="/me", headers={"Authorization": "ok"})))
print(pipeline.handle(HttpRequest(path="/unknown", headers={"Authorization": "ok"})))
print(pipeline.handle(HttpRequest(path="/ping", headers={})))
Please open Telegram to view this post
VIEW IN TELEGRAM
Этот код демонстрирует:
🔘 короткое замыкание (401 и 429 останавливают конвейер);
🔘 прохождение запроса дальше при None;
🔘 терминальный обработчик 404.
Политики прохождения запроса
🔘 Short-circuit (рекомендуется по умолчанию): первый, кто вернул результат, «закрывает» цепочку;
🔘 Fall-through: все обработчики обязаны отработать (например, аудит/метрики/логирование), результат — агрегация;
🔘 Микс: часть «жёстких» (аутентификация, лимиты) — short-circuit; «мягкие» (логирование) — всегда проходят.
#основы
@zen_of_python
Политики прохождения запроса
#основы
@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Альфа-Банк приглашает IT-специалистов на турнир по спортивному хакингу AlfaCTF — он пройдёт 13-14 сентября
Разработчики, тестировщики и аналитики будут решать таски: взламывать, находить уязвимости, собирать флаги и бороться за звание лучшего хакера.
🤓 🤓 🤓 🤓 🤓 🤓 🤓 🤓
🤓 🤓 🤓 🤓 🤓 🤓 🤓 🤓
🤓 🤓 🤓 🤓 🤓 🤓 🤓 🤓
🤓 🤓 🤓 🤓 🤓 🤓 🤓 🤓
🤓 🤓 🤓 🤓 🤓 🤓 🤓 🤓
🤓 🤓 🤓 🤓 🤓 🤓 🤓 🤓
🤓 🤓 🤓 🤓 🤓 🤓 🤓 🤓
Всего три уровня сложности, есть и простой для студентов. Команды-победители получат до 450 тысяч рублей. Собрать команду и зарегаться нужно на сайте. Для разминки найдите баг на картинке:
Это #партнёрский пост
Разработчики, тестировщики и аналитики будут решать таски: взламывать, находить уязвимости, собирать флаги и бороться за звание лучшего хакера.
Всего три уровня сложности, есть и простой для студентов. Команды-победители получат до 450 тысяч рублей. Собрать команду и зарегаться нужно на сайте. Для разминки найдите баг на картинке:
Это #партнёрский пост
Please open Telegram to view this post
VIEW IN TELEGRAM
👎4❤1✍1
Вопрос подписчика
Задает @mozmoroz:
«Какие платные курсы с куратором можете посоветовать по питону для получения базы знаний с пониманием что такое питон и цикл if? Возраст 15 лет»
NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
#обсуждение
@zen_of_python
Задает @mozmoroz:
«Какие платные курсы с куратором можете посоветовать по питону для получения базы знаний с пониманием что такое питон и цикл if? Возраст 15 лет»
NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
#обсуждение
@zen_of_python
⚡1