Всем привет! Меня зовут Андрей — я студент третьего курса факультета математики и компьютерных наук Кубанского государственного университета
Тут я буду рассказывать про:
И ещё одна важная причина, по которой появился этот канал — поиск единомышленников. В одиночку можно придумать многое. Но хорошая идея, как правило, проходит через разговор, спор и командную работу
Будет здорово найти тех, с кем можно не просто обмениваться идеями, а вместе думать, пробовать, ошибаться — и, главное, расти!
Тут я буду рассказывать про:
▫️Свои проекты — от мини-скриптов, которые решают одну конкретную задачу, до полноценных идей, которые я планирую развивать дальшеБуду рассказывать, как устроено то или иное решение, какие методы пробовал, что пошло не так и почему
▫️Разборы «под капотом» — как устроены решения и какие подходы я пробовал
▫️Идеи и наработки — мысли, концепции, которыми хочу поделиться
И ещё одна важная причина, по которой появился этот канал — поиск единомышленников. В одиночку можно придумать многое. Но хорошая идея, как правило, проходит через разговор, спор и командную работу
Будет здорово найти тех, с кем можно не просто обмениваться идеями, а вместе думать, пробовать, ошибаться — и, главное, расти!
❤13🤝5🎄4🔥3🦄2💊2☃1🐳1🤨1😈1🆒1
Хочу начать с одного проекта — а именно, с моей курсовой работы
Тема звучит так: «Обзор систем агрегации информационных источников по ключевым словам и выражениям». Да, тема не самая простая и звучит довольно абстрактно. В ходе обсуждения с научным руководителем мы пришли к решению реализовать практическую часть в виде телеграм-бота, который будет собирать и отправлять пользователю посты из различных тг-каналов по темам, указанным им самим.
Теперь подробнее:
Однако у бота есть и ряд ограничений:
Тема звучит так: «Обзор систем агрегации информационных источников по ключевым словам и выражениям». Да, тема не самая простая и звучит довольно абстрактно. В ходе обсуждения с научным руководителем мы пришли к решению реализовать практическую часть в виде телеграм-бота, который будет собирать и отправлять пользователю посты из различных тг-каналов по темам, указанным им самим.
Теперь подробнее:
• Пользователь отправляет текстовый запрос
• Бот с помощью семантического анализа определяет смысл запроса
• Просматривает Telegram-каналы, в которых состоит, и ищет посты, степень схожести которых превышает определённую пороговую константу. Она как раз и показывает, насколько пост соответствует смыслу запроса
• Подходящие посты отправляются пользователю в личный чат
Однако у бота есть и ряд ограничений:
• Может просматривать только те каналы, в которых является админом
• Семантический поиск пока реализован не слишком гибко и требует доработки
❤🔥7🦄4🔥2🌚2🆒2💊2👾2👍1👻1🤝1🎄1
🤔 Чем отличается Фреймворк от Библиотеки ?
Библиотека — это набор готовых функций, классов или методов, которые пользователь вызывает по мере необходимости
📌 Пример:
• Вызываем функцию sqrt из библиотеки math
• Контролируем, когда и как она вызывается
• Программа работает по нашему сценарию
Фреймворк — это основа для построения приложений, сервисов итд. Он определяет структуру программы, и ты пишешь код, который встраивается в этот фреймворк. Управление потоком выполнения находится у него. Это называется инверсия управления
📌 Пример:
• Мы не контролируем, когда будет вызвана функция
• Фреймворк решает: «Когда приходит запрос, вызови эту функцию»
• Мы подстраиваемся под структуру, заданную фреймворком
#фреймворк #библиотека
Библиотека — это набор готовых функций, классов или методов, которые пользователь вызывает по мере необходимости
📌 Пример:
import math
result = math.sqrt(16)
print(result)
• Вызываем функцию sqrt из библиотеки math
• Контролируем, когда и как она вызывается
• Программа работает по нашему сценарию
Фреймворк — это основа для построения приложений, сервисов итд. Он определяет структуру программы, и ты пишешь код, который встраивается в этот фреймворк. Управление потоком выполнения находится у него. Это называется инверсия управления
📌 Пример:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def user():
return "Привет, пользователь!"
if __name__ == '__main__':
app.run()
• Мы не контролируем, когда будет вызвана функция
user()• Фреймворк решает: «Когда приходит запрос, вызови эту функцию»
• Мы подстраиваемся под структуру, заданную фреймворком
#фреймворк #библиотека
🔥9❤6❤🔥1
📁 Собрал для вас небольшой список интересных статей
• Почему же так важно писать красивый и понятный код ?
• Сильный искусственный интеллект: достижение или конец света ?
• Что ваш IP-адрес может рассказать о вас ?
• Что не так с новым ChatGPT-5 ?
• Вайбкодеры – главная головная боль
• Почему же так важно писать красивый и понятный код ?
• Сильный искусственный интеллект: достижение или конец света ?
• Что ваш IP-адрес может рассказать о вас ?
• Что не так с новым ChatGPT-5 ?
• Вайбкодеры – главная головная боль
1🤔6❤🔥5❤1🔥1
⚙ Не оптимизируй отдельные части – оптимизируй всю систему
Прочёл интересную книгу, автором которой является известный израильский учёный и бизнес-консультант Элияху Голдратт и он же и автор «Теории ограничений»
Речь идет о спасении крупного проекта по разработке нового продукта, который отстаёт от графика и превышает бюджеты. Понимая, что традиционные методы улучшений дают мизерный результат, Пуллман и Леви принимают радикальное решение — создать секретную группу «фабрику мысли» из трёх молодых сотрудников. Их миссия — найти способ кардинально сократить время разработки продуктов
Они разрабатывают и внедряют новый метод — Управление по Критической цепи, который радикально меняет подход к срокам, приоритетам над проектом, что в итоге приводит к его успешному завершению
Подробнее о ТО будет в посте ниже 👇
Прочёл интересную книгу, автором которой является известный израильский учёный и бизнес-консультант Элияху Голдратт и он же и автор «Теории ограничений»
Теория ограничений — это философия управления и системный подход, основанный на идее, что любая система имеет как минимум одно ограничение (узкое место), которое определяет её общую производительность
Речь идет о спасении крупного проекта по разработке нового продукта, который отстаёт от графика и превышает бюджеты. Понимая, что традиционные методы улучшений дают мизерный результат, Пуллман и Леви принимают радикальное решение — создать секретную группу «фабрику мысли» из трёх молодых сотрудников. Их миссия — найти способ кардинально сократить время разработки продуктов
Они разрабатывают и внедряют новый метод — Управление по Критической цепи, который радикально меняет подход к срокам, приоритетам над проектом, что в итоге приводит к его успешному завершению
Подробнее о ТО будет в посте ниже 👇
1❤9🔥7🍓4❤🔥1👏1
ᴀɴᴅʀᴇ | ᴅᴀᴛᴀ sᴄɪᴇɴᴄᴇ pinned «Всем привет! Меня зовут Андрей — я студент третьего курса факультета математики и компьютерных наук Кубанского государственного университета Тут я буду рассказывать про: ▫️Свои проекты — от мини-скриптов, которые решают одну конкретную задачу, до полноценных…»
🔗 Производительность системы определяется ее слабым звеном
Это аналогично цепи: прочность зависит от самого слабого звена. Чтобы усилить цепь, нужно укрепить именно это звено
Принципы Теории ограничений:
📌 Разберём на конкретном примере: Команда из 10 человек (бэкенд, фронтенд, тестировщики, аналитик) работает над созданием нового продукта. Несмотря на все усилия, команда стабильно выпускает только 2-3 фичи в месяц. Все постоянно заняты, но результат не растет.
Применяем 5 шагов TO:
💁🏻♂ Нужно искать самое слабое звено и воздействовать на него, выстраивая работу всей команды вокруг этого звена
Это аналогично цепи: прочность зависит от самого слабого звена. Чтобы усилить цепь, нужно укрепить именно это звено
Принципы Теории ограничений:
1. Найти то самое «бутылочное горлышко», которое сдерживает всю команду или систему от достижения более высоких результатовВажно: Не допускайте инерции! После того как вы расширили ограничение, старые правила и процессы, которые были подчинены ему, могут стать новым барьером!
2. Решить, как максимально использовать ограничение. Не пытаться сразу его устранить, а заставить его работать с максимальной эффективностью без простоев.
3. Подчинить всё остальное работе ограничения. Перестроить работу всей системы так, чтобы все остальные элементы работали в ритме, заданном ограничением. Их задача — не мешать ограничению и постоянно обеспечивать его работой, но не перегружать.
4. Расшить ограничение системы. Если после шагов 2 и 3 мощности ограничения все равно не хватает, только теперь принимаются радикальные меры: увеличить его мощность (нанять больше людей, купить более мощное оборудование, автоматизировать и т.д.)
5. Вернуться к шагу 1. После устранения одного ограничения найдется следующее «бутылочное горлышко». Процесс непрерывен и направлен на постоянное улучшение
📌 Разберём на конкретном примере: Команда из 10 человек (бэкенд, фронтенд, тестировщики, аналитик) работает над созданием нового продукта. Несмотря на все усилия, команда стабильно выпускает только 2-3 фичи в месяц. Все постоянно заняты, но результат не растет.
Применяем 5 шагов TO:
1. Идентифицировать ограничение – Аналитик готовит ТЗ быстро, есть запас готовых задач на 2 недели вперед. Фронтенд и бэкенд-разработчики обычно успевают сделать свою часть работы за 1-1.5 недели. Тестировщики (их в команде всего 2 человека) постоянно завалены работой. Готовая к проверке функциональность копится колонке «тест», иногда там висит 10-15 задач. Разработчики начинают новую задачу, пока старые не протестированы. Готовые к выпуску модули ждут своей очереди на регрессионное тестирование по 1-2 недели
Вывод: Ограничение системы — отдел тестирования. Его пропускная способность определяет скорость выпуска фич для всей команды
2. Максимально использовать ограничение – обеспечить, чтобы тестировщики работали только на самой ценной работе и не тратили время впустую. Вводят правило: тестировщики не занимаются рутинными задачами (настройка окружения, сборка итд). Вводят «зоны тишины» — часы, когда тестировщиков нельзя отвлекать вопросами
3. Подчинить всё остальное работе ограничения – теперь вся команда работает в ритме, заданном тестированием. Разработчики не просто бросают готовую задачу в общую очередь, а согласовывают ее сдачу с тестерами. Если они заняты, разработчики не начинают новую задачу, а помогают устранять найденные баги или занимаются техническим долгом. Это предотвращает накопление очереди. Аналитик перестает забрасывать команду новыми ТЗ и начинает помогать с написанием более четких «acceptance criteria», что уменьшает количество вопросов от тестеров и разработчиков
Результат после шагов 2 и 3: Очередь в тестировании сократилась. Команда начала стабильно выпускать 3-4 модуля в месяц, просто за счет лучшей организации работы, без найма новых людей
4. Расширить ограничение – теперь, когда ограничение используется на 100%, но бизнес-цели требуют выпускать 5-6 модулей в месяц, пришло время расшивать «бутылочное горлышко». Наняли еще одного тестировщика. Инвестировали в инструменты: купили лицензии на мощную систему управления тестированием, внедрили более серьезную автоматизацию регрессионных тестов
Результат: Пропускная способность отдела тестирования выросла. Теперь система способна выпускать 5-6 модулей в месяц
5. Вернуться к шагу 1 – после расширения тестирования обнаружилось новое ограничение. Теперь им стала скорость разработки сложной бэкенд-логики. Команда снова применяет цикл TOC, но уже к этому новому ограничению
💁🏻♂ Нужно искать самое слабое звено и воздействовать на него, выстраивая работу всей команды вокруг этого звена
2🔥8❤4🥰3👍2❤🔥1👏1🤔1💯1
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Сканирование: обнаружен человечишка
OpenCV – не просто модуль, а целая платформа, с огромным набором инструментов. Основной функционал:
И это примерно 10% от общего функционала. Сам по себе модуль невероятно мощный, огромный и требует не одного поста, чтобы рассказать о нём всё. Думаю, что буду использовать его точно не один раз 🤓
🔗 Подробнее можно почитать здесь и здесь
OpenCV – не просто модуль, а целая платформа, с огромным набором инструментов. Основной функционал:
• Чтение и запись – доступ к изображениям и видео почти всех популярных форматов (.jpg, .mp4 итд)
• Захват видео – доступ к камере устройства
• Компьютерное зрение – особые алгоритмы находят на изображении уникальные ключевые точки
• Анализ движения – алгоритмы оптического потока могут отслеживать движение каждого пискеля между кадрами
• Калибровка камеры – возможность определить внутренние параметры камеры (фокусное расстояние, искажение линзы)
• Машинное обучение – OpenCV имеет собственный встроенный модуль ML
И это примерно 10% от общего функционала. Сам по себе модуль невероятно мощный, огромный и требует не одного поста, чтобы рассказать о нём всё. Думаю, что буду использовать его точно не один раз 🤓
🔗 Подробнее можно почитать здесь и здесь
5❤8🔥6❤🔥1
🍪 Кто такие эти ваши кукисы и зачем их запрашивают ?
Cookies – это простой способ веб-сервиса хранить ваши данные. При первом посещении сервис передаёт браузеру на хранение некие данные в виде текста. При следующем обращении к этому сервису браузер передаёт эти данные, и сайт «узнаёт» пользователя, как старого кента, которого недавно видел
Файлы куки собирают и хранят:
Несмотря на то, что сайты могут показывать релевантный контент, основанный на вашей истории просмотров, и избавляют от необходимости постоянно вводить логин и пароль, у них есть несколько недостатков
❗️Если вы используете незащищенное Wi-Fi-соединение, мошенники могут перехватить ваши куки. В браузере копятся тысячи файлов cookie с разных сайтов. Это может повлиять на скорость работы браузера
Cookies – это простой способ веб-сервиса хранить ваши данные. При первом посещении сервис передаёт браузеру на хранение некие данные в виде текста. При следующем обращении к этому сервису браузер передаёт эти данные, и сайт «узнаёт» пользователя, как старого кента, которого недавно видел
Файлы куки собирают и хранят:
• Личные данные пользователя, включая номер телефона, адрес и данные карты
• Пользовательские настройки — адаптацию базовых настроек под конкретного человека
• Пользовательскую статистику — информацию о посещаемых сайтах, запросах и кликах
Несмотря на то, что сайты могут показывать релевантный контент, основанный на вашей истории просмотров, и избавляют от необходимости постоянно вводить логин и пароль, у них есть несколько недостатков
❗️Если вы используете незащищенное Wi-Fi-соединение, мошенники могут перехватить ваши куки. В браузере копятся тысячи файлов cookie с разных сайтов. Это может повлиять на скорость работы браузера
❤7❤🔥6🔥3🆒1😎1
📊 Анализ сообществ ВКонтакте по ссылке
В этом посте я хочу показать вам один из своих первых проектов — парсер для сообществ в ВК. Пользователь отправляет ссылку на любое открытое сообщество и на выходе получает статистику по 10 последним постам, а также общую сводку по ним. Количество постов можно настраивать
На примере показан подробный анализ сообщества Регион 93. Мы рассматриваем:
🗃 В конце формируется общая статистика по всем постам. Кроме того, для удобства дальнейшего использования (например, для детального сравнительного анализа с другими сообществами) все данные сохраняются в формате JSON
🔗 Ссылка на репозиторий
В этом посте я хочу показать вам один из своих первых проектов — парсер для сообществ в ВК. Пользователь отправляет ссылку на любое открытое сообщество и на выходе получает статистику по 10 последним постам, а также общую сводку по ним. Количество постов можно настраивать
На примере показан подробный анализ сообщества Регион 93. Мы рассматриваем:
• Название сообществаДалее система анализирует каждый пост, подсчитывая:
• Описание
• Город
• Количество подписчиков
• Количество лайков
• Репосты
• Комментарии
• Просмотры
🗃 В конце формируется общая статистика по всем постам. Кроме того, для удобства дальнейшего использования (например, для детального сравнительного анализа с другими сообществами) все данные сохраняются в формате JSON
🔗 Ссылка на репозиторий
❤11👍3🔥3❤🔥1👏1🆒1