ᴀɴᴅʀᴇ | ᴅᴀᴛᴀ sᴄɪᴇɴᴄᴇ
164 subscribers
110 photos
7 videos
35 links
Телеграм канал обычного студента, которому нравится всё изучать
Download Telegram
Всем привет! Меня зовут Андрей — я студент третьего курса факультета математики и компьютерных наук Кубанского государственного университета

Тут я буду рассказывать про:
▫️Свои проектыот мини-скриптов, которые решают одну конкретную задачу, до полноценных идей, которые я планирую развивать дальше

▫️Разборы «под капотом»как устроены решения и какие подходы я пробовал

▫️Идеи и наработкимысли, концепции, которыми хочу поделиться
Буду рассказывать, как устроено то или иное решение, какие методы пробовал, что пошло не так и почему

И ещё одна важная причина, по которой появился этот канал — поиск единомышленников. В одиночку можно придумать многое. Но хорошая идея, как правило, проходит через разговор, спор и командную работу

Будет здорово найти тех, с кем можно не просто обмениваться идеями, а вместе думать, пробовать, ошибаться — и, главное, расти!
13🤝5🎄4🔥3🦄2💊21🐳1🤨1😈1🆒1
Хочу начать с одного проекта — а именно, с моей курсовой работы

Тема звучит так: «Обзор систем агрегации информационных источников по ключевым словам и выражениям». Да, тема не самая простая и звучит довольно абстрактно. В ходе обсуждения с научным руководителем мы пришли к решению реализовать практическую часть в виде телеграм-бота, который будет собирать и отправлять пользователю посты из различных тг-каналов по темам, указанным им самим.

Теперь подробнее:
• Пользователь отправляет текстовый запрос

• Бот с помощью семантического анализа определяет смысл запроса

• Просматривает Telegram-каналы, в которых состоит, и ищет посты, степень схожести которых превышает определённую пороговую константу. Она как раз и показывает, насколько пост соответствует смыслу запроса

• Подходящие посты отправляются пользователю в личный чат


Однако у бота есть и ряд ограничений:
• Может просматривать только те каналы, в которых является админом

• Семантический поиск пока реализован не слишком гибко и требует доработки
❤‍🔥7🦄4🔥2🌚2🆒2💊2👾2👍1👻1🤝1🎄1
🤔 Чем отличается Фреймворк от Библиотеки ?

Библиотекаэто набор готовых функций, классов или методов, которые пользователь вызывает по мере необходимости

📌 Пример:
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()
• Фреймворк решает: «Когда приходит запрос, вызови эту функцию»
• Мы подстраиваемся под структуру, заданную фреймворком

#фреймворк #библиотека
🔥96❤‍🔥1
Не оптимизируй отдельные части – оптимизируй всю систему

Прочёл интересную книгу, автором которой является известный израильский учёный и бизнес-консультант Элияху Голдратт и он же и автор «Теории ограничений»
Теория ограниченийэто философия управления и системный подход, основанный на идее, что любая система имеет как минимум одно ограничение (узкое место), которое определяет её общую производительность


Речь идет о спасении крупного проекта по разработке нового продукта, который отстаёт от графика и превышает бюджеты. Понимая, что традиционные методы улучшений дают мизерный результат, Пуллман и Леви принимают радикальное решение — создать секретную группу «фабрику мысли» из трёх молодых сотрудников. Их миссия — найти способ кардинально сократить время разработки продуктов

Они разрабатывают и внедряют новый метод — Управление по Критической цепи, который радикально меняет подход к срокам, приоритетам над проектом, что в итоге приводит к его успешному завершению

Подробнее о ТО будет в посте ниже 👇
19🔥7🍓4❤‍🔥1👏1
ᴀɴᴅʀᴇ | ᴅᴀᴛᴀ sᴄɪᴇɴᴄᴇ pinned «Всем привет! Меня зовут Андрей — я студент третьего курса факультета математики и компьютерных наук Кубанского государственного университета Тут я буду рассказывать про: ▫️Свои проекты — от мини-скриптов, которые решают одну конкретную задачу, до полноценных…»
🔗 Производительность системы определяется ее слабым звеном

Это аналогично цепи: прочность зависит от самого слабого звена. Чтобы усилить цепь, нужно укрепить именно это звено

Принципы Теории ограничений:
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🔥84🥰3👍2❤‍🔥1👏1🤔1💯1
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Сканирование: обнаружен человечишка

OpenCV – не просто модуль, а целая платформа, с огромным набором инструментов. Основной функционал:
• Чтение и записьдоступ к изображениям и видео почти всех популярных форматов (.jpg, .mp4 итд)

Захват видеодоступ к камере устройства

Компьютерное зрениеособые алгоритмы находят на изображении уникальные ключевые точки

Анализ движенияалгоритмы оптического потока могут отслеживать движение каждого пискеля между кадрами

Калибровка камерывозможность определить внутренние параметры камеры (фокусное расстояние, искажение линзы)

Машинное обучениеOpenCV имеет собственный встроенный модуль ML


И это примерно 10% от общего функционала. Сам по себе модуль невероятно мощный, огромный и требует не одного поста, чтобы рассказать о нём всё. Думаю, что буду использовать его точно не один раз 🤓

🔗 Подробнее можно почитать здесь и здесь
58🔥6❤‍🔥1
🍪 Кто такие эти ваши кукисы и зачем их запрашивают ?

Cookies – это простой способ веб-сервиса хранить ваши данные. При первом посещении сервис передаёт браузеру на хранение некие данные в виде текста. При следующем обращении к этому сервису браузер передаёт эти данные, и сайт «узнаёт» пользователя, как старого кента, которого недавно видел

Файлы куки собирают и хранят:
• Личные данные пользователя, включая номер телефона, адрес и данные карты

• Пользовательские настройки — адаптацию базовых настроек под конкретного человека

• Пользовательскую статистику — информацию о посещаемых сайтах, запросах и кликах


Несмотря на то, что сайты могут показывать релевантный контент, основанный на вашей истории просмотров, и избавляют от необходимости постоянно вводить логин и пароль, у них есть несколько недостатков

❗️Если вы используете незащищенное Wi-Fi-соединение, мошенники могут перехватить ваши куки. В браузере копятся тысячи файлов cookie с разных сайтов. Это может повлиять на скорость работы браузера
7❤‍🔥6🔥3🆒1😎1
📊 Анализ сообществ ВКонтакте по ссылке

В этом посте я хочу показать вам один из своих первых проектов — парсер для сообществ в ВК. Пользователь отправляет ссылку на любое открытое сообщество и на выходе получает статистику по 10 последним постам, а также общую сводку по ним. Количество постов можно настраивать

На примере показан подробный анализ сообщества Регион 93. Мы рассматриваем:
• Название сообщества
• Описание
• Город
• Количество подписчиков
Далее система анализирует каждый пост, подсчитывая:
• Количество лайков
• Репосты
• Комментарии
• Просмотры

🗃 В конце формируется общая статистика по всем постам. Кроме того, для удобства дальнейшего использования (например, для детального сравнительного анализа с другими сообществами) все данные сохраняются в формате JSON

🔗 Ссылка на репозиторий
11👍3🔥3❤‍🔥1👏1🆒1