Как стать автором
Обновить
3
0

Пользователь

Отправить сообщение

Всё, о чём должен знать разработчик Телеграм-ботов

Время на прочтение15 мин
Количество просмотров650K

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

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

Подробный гайд о том, как работать с ботами — под катом.

Читать далее
Всего голосов 127: ↑127 и ↓0+127
Комментарии73

Data Science Pet Projects. FAQ

Время на прочтение13 мин
Количество просмотров55K

Привет! Меня зовут Клоков Алексей, сегодня поговорим о пет-проектах по анализу данных. Идея написать эту статью родилась после многочисленных вопросов о личных проектах в сообществе Open Data Science (ODS). Это третья статья на Хабре, до этого был разбор алгоритма SVM и анонс крутого NLP курса от ребят из DeepPavlov. В этой статье вы найдете идеи для новых петов и другие полезности. Итак, разберем частые вопросы и дадим определение пет-проекта:


  1. Зачем делать пет-проекты?
  2. Из каких этапов может состоять разработка пет-проекта?
  3. Как выбрать тему и найти данные?
  4. Где найти вычислительные ресурсы?
  5. Как завернуть работающие алгоритмы в минимальный прод?
  6. Как оформить презентабельный вид проекта?
  7. Как и зачем искать коллабораторов?
  8. Когда проходит ODS pet project хакатон?
  9. Где посмотреть примеры пет-проектов и истории участников ODS?

Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии11

Взять и погрузиться в DevSecOps — книги, вебинар и другие ресурсы, которые помогут сделать это

Время на прочтение4 мин
Количество просмотров7.3K

Мы продолжаем рассказывать о полезных ресурсах для ИТ-специалистов. В прошлый раз составили подборку для системных администраторов, сегодня — для специалистов, занимающихся автоматизацией разработки безопасных приложений. В список попали тематические справочники, сборники историй с фейлами, курируемый репозиторий на GitHub и тематический вебинар, который пройдет 22 июня.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Образ мышления Factorio

Время на прочтение7 мин
Количество просмотров71K

Раньше я считал, что компьютерная игра Factorio — это огромная трата ресурсов, сжигающая ежегодно миллиарды долларов ВВП. Мне казалось совершенно ненормальным, что Shopify компенсирует своим сотрудникам её приобретение. Я даже думал, что платить за игру в Factorio сотрудникам Shopify должен её конкурент — Amazon.

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

Это может показаться скучным, но сколько человеко-часов в год тратится на игры «три в ряд»? Некоторые игры называют медитативными, и к Factorio это относится в двух смыслах: во-первых, в ней присутствует аспект темы и вариации — каждый новый создаваемый продукт является неким сочетанием известных задач (например, новый предмет, который должен перемещаться по конвейерам) и новых трудностей (движение жидкостей по трубам и комбинирование их оттока с твёрдыми продуктами для создания новых предметов). Но также она медитативна в том смысле, что медитация — это способ культивации определённого образа мышления, а Factorio способна и на это. Можно медитировать, чтобы находиться в моменте; вы играете в Factorio, чтобы воспитать в себе привычку никогда не оставлять ручной процесс без автоматизации.

Читать далее
Всего голосов 66: ↑66 и ↓0+66
Комментарии112

Что не так с качеством в ИТ

Время на прочтение10 мин
Количество просмотров14K

Эту статью я решил написать после прочтения резонансных эмоциональных публикаций на тему технического регресса в ИТ-индустрии (https://habr.com/ru/post/596517/ и https://habr.com/ru/post/673236/). Поскольку я сам много лет занимался вопросами безопасности и качества в сфере транспорта, в ней я постараюсь осветить корни проблемы и возможные пути её решения.

Снижение качества продукции в сфере ИТ — часть общемирового тренда на падение уровня качества во всех ключевых отраслях экономики. Если посмотреть динамику за последние 30 лет, то ситуация в ИТ принципиально ничем не отличается от ситуации в строительстве или любой другой отрасли. Эту проблему тщательно замалчивают, поскольку предание её огласке поставило бы множество неудобных вопросов перед органами власти в любом государстве.

Читать далее
Всего голосов 45: ↑26 и ↓19+14
Комментарии134

Простейший обход И-нет блокировок с обеих сторон

Время на прочтение3 мин
Количество просмотров16K
C некоторых пор к задачам по обходу блокировок по IP страны добавились проблемы работы специализированного лицензионного софта. Последние не всегда решаются с помощью VPN (в переводе виртуальной частной сети [предприятия]). Кроме того, на провайдеров VPN, особенно предоставляющих бесплатный сервис, сложно полагаться в вопросах конфиденциальности. Поэтому разумно рассмотреть ручное решение с помощью удаленной виртуальной машины (VPS), которая имеет доступ в Интернет из страны её физического расположения.

Автор в свое время перебрал несколько вариантов и остановился на создании локальной сети из трех машин. Здесь будет изложен наипростейший вариант решения наглядным способом. Нужно собрать и сконфигурить локальную сеть в простейшей конфигурации, например, такую:
         +-----------+              +-------------+      +-----------------+
И-нет <->| VPS(Linux)|<-ssh tунель->| Mocт(Linux) |<-ЛС->| клиент(Windows) |
         +-----------+              +-------------+      +-----------------+
Читать дальше →
Всего голосов 13: ↑4 и ↓9-3
Комментарии20

Как REST выродился в собственную противоположность

Время на прочтение13 мин
Количество просмотров12K

Меня все сильнее раздражает, сколько людей готовы записывать в REST API любой интерфейс на основе HTTP. Сегодня приведу в качестве примера SocialSite REST API. Это же вызовы удаленных процедур (RPC). Он просто выкрикивает RPC. Связность между элементами на экране настолько сильная, что это творение заслуживает рейтинга X.

Читать далее
Всего голосов 20: ↑16 и ↓4+17
Комментарии19

История о том, как Python помог купить мебель в ИКЕА

Время на прочтение9 мин
Количество просмотров28K

5-го июля 2022 года стартовала масштабная онлайн распродажа в интернет-магазине мебели ИКЕА по причине ухода компании с российского рынка. В связи с этим началось несравнимое ни с чем по своим масштабам паломничество покупателей к сайту магазина. Шведско-нидерландский идол не выдержал такого натиска. Разработчикам ИКЕИ пришлось создать электронную очередь на сайте, чтобы распределить нагрузку. Как бы это парадоксально не звучало, этим шведско-нидерландское божество создало "ад" для рядового покупателя. Ему пришлось выстаивать часами/днями в очереди, постоянно обновлять страницу в надежде увидеть на сайте жёлтое кресло, а не пугающее объявление. Я был в их числе, но спустя сутки решил делегировать эту задачу своим союзникам - Python и Telegram-боту.

Нажимаем кнопку "ЧИТАТЬ ДАЛЕЕ" и смотрим
Всего голосов 19: ↑14 и ↓5+15
Комментарии21

Лучшие книги по Python 2021-2022 года: для новичков и профи

Время на прочтение6 мин
Количество просмотров225K

Привет, Хабр! Поговорим о книгах?

Есть мнение, что люди начали читать меньше и всё чаще многие потребляют уже готовый контент в виде роликов на YouTube или сокращённых вариантов различных произведений. Но это вряд ли, ведь если бы люди не читали книги, могли бы тогда развиваться отечественные и зарубежные сервисы для любителей чтения? К примеру, LitRes, Bookmate и другие. 

И да, в IT-команде Сбера много книголюбов с самыми разными предпочтениями. А поскольку мы на Хабре, то поговорим сегодня о технической литературе. Точнее, о Python и лучших книгах по этому языку для профи, программистов среднего уровня и начинающих. Подборка  ― уже под катом.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии12

PostgreSQL Antipatterns: где скаляру в GiST место?

Время на прочтение3 мин
Количество просмотров3.3K

В PostgreSQL есть "волшебный" тип индекса GiST, который позволяет быстро искать разные сложные вещи - от интервалов до массивов и даже реализовывать полнотекстовый поиск.

Про его внутреннее устройство и возможности подробно рассказывал Егор Рогов, а я в статье "PostgreSQL Antipatterns: работаем с отрезками в «кровавом энтерпрайзе»" показал, как с помощью расширения btree_gist он позволяет решать типовые бизнес-задачи.

Одной из таких задач является поиск отрезков внутри сегмента со скалярным идентификатором. И если для btree очевидно, что поле с меньшей кардинальностью должно стоять в индексе раньше - индекс от этого и меньше и быстрее (см. "DBA: находим бесполезные индексы"), то так ли это однозначно для btree_gist?

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Зачем нужно иногда вставать из-за компьютера? Часть вторая. Сила тренировки в восстановлении после тренировки?

Время на прочтение8 мин
Количество просмотров11K

Большинство смотрят на тренировку как на «пытку», «наказание» в отместку за съеденную еду. А все, что заставляет наш организм расставаться с так сложно добываемыми в предыдущие миллионы лет эволюции калориями воспринимается мозгом как угрожающий жизнедеятельности организма фактор. Но можно ли взглянуть на тренировку с другой стороны?

В первой части этой большой темы мы разобрали, что тренировка нужна не столько, чтобы «сжечь лишнее съеденное», но и полезна усилением кровообращения во всем организме, улучшением трофики (питания) тканей, а значит, улучшением функции суставов, сохранением мышечной массы, которая является метаболически-активной тканью по сравнению с жировой тканью, укреплением костной ткани и многими другими полезными эффектами.

Мы не любим спорт потому, что тренировки сопровождаются процессом физического и психического утомления после физической нагрузки. Но, если задуматься, что происходит внутри клеток и тканей после тренировки? Я считаю, что тренировка полезна самим процессом восстановления после физических упражнений, которое случается после физкультуры, ведь восстанавливаются не только тренируемые мышечные группы, но "достается" полезных эффектов всему организму. Разберемся на простом не сильно заумно-медицинском языке, каких?

Читать далее
Всего голосов 14: ↑11 и ↓3+9
Комментарии88

Как мы составили Словарь больших данных для тех, кто не в теме бигдаты

Время на прочтение5 мин
Количество просмотров4.7K


Я Павел Свиридонов, гуманитарий, который вместо известной сети быстрого питания попал в IT-компанию. У меня нет технического образования, и я всё ещё не до конца понимаю, как работает интернет. Но как выяснилось, не только я хлопаю ресницами и пытаюсь улететь с совещаний, где речь заходит про…

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

Обидно!

И вот, отчасти чтобы помочь другим гуманитариям, отчасти чтобы разобраться в теме самому, я задумал маленькую контентную революцию: составить Словарь больших данных! Но такой, чтобы собранные в нём основные термины по бигдате, объяснялись просто, на бытовых примерах, понятных любому человеку, независимо от образования и профессии.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+16
Комментарии4

Groupby aggregation в pandas

Время на прочтение3 мин
Количество просмотров69K


Агрегация является одной из самых частых операций при анализе данных. Разные технологии предлагают нам кучу способов эффективно группировать и агрегировать интересующие нас поля(столбцы, признаки). В этой статье будет рассказано про реализацию агрегации в pandas.
По своей специализации я очень мало работаю с python, но часто слышу про плюсы и мощь этого языка, в особенности когда речь заходит про работу с данными. Поэтому я проведу здесь параллель операций с T-SQL и приведу некотрые примеры кода. В качестве данных я буду использовать наверное самый популярный data set — Ирисы Фишера.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Не трогайте разработчиков. Отстаньте. Просто не беспокойте

Время на прочтение13 мин
Количество просмотров75K


Всем привет! Меня зовут Ян, я руководитель разработки Департамента ИТ инвестиционного бизнеса Газпромбанка. Совершенно неожиданно я занял первое место на конференции Highload++ с докладом про то, как организована работа в наших командах разработки.

Очень коротко: мы пересобрали процесс разработки как таковой, постаравшись выкинуть оттуда явно кривые решения. Получилось следующее: каждые две недели в команде есть дежурный, который отвечает вообще за все внешние коммуникации. То есть он не разрабатывает, а ловит всех входящих в мессенджерах и в личке и не даёт им пробиться до самой команды. Естественно, этот дежурный знает всё происходящее и может ответить на любой вопрос, а это требует и понимания архитектуры, и знания интерфейсов, и понимания особенностей кода коллег.

В результате из простой задачи «не трогайте разработчиков» получилось сделать и очень правильное обучение (если вы дежурите, то у вас нет шансов не разбираться во всех процессах команды), и снижение техдолга (дежурный не берёт таски по фичам на спринты, но может заниматься документацией и всякими вещами в наведении порядка, до чего обычно не доходят руки), и много чего ещё. Сначала казалось, что за это мы платим снижением эффективности команды на 8–10 % (ведь мы выключаем дежурного из разработки), но на деле оказалось, что эффективность даже растёт. Есть ряд вещей, которые очень поменялись и в управлении такими командами в лучшую сторону.

Естественно, такой подход имеет кучу подводных камней и подходит далеко не всем и не каждому типу команд.

Сейчас расскажу про практический опыт.
Читать дальше →
Всего голосов 157: ↑139 и ↓18+154
Комментарии79

Как срубить бабла с хомяков

Время на прочтение3 мин
Количество просмотров60K

Влетайте в майнинг! Это безумно прибыльно! А еще безопасно: если крипта упадет то у вас хотя бы останется оборудование, вещали из Ютюб каналов.

Читать далее
Всего голосов 90: ↑63 и ↓27+62
Комментарии192

Самый крутой бесплатный ресурс по обучению программированию с нуля

Время на прочтение3 мин
Количество просмотров88K
image


Куинси Ларсон, основатель бесплатной образовательной платформы для программистов freeCodeCamp

Куинси Ларсон


Путь Куинси Ларсона в программирование был замысловатым. Он 6 лет был директором школы и вдруг ему захотелось повысить эффективность системы образования, поэтому стал учиться программированию. Куинси Ларсон проанализировал, какие были учебные программы (буткэмпы) на тот момент и понял, что ни о какой доступности и открытости нет речи, и тогда решил сделать свой инклюзивный-диверсити-бесплатный образовательный лагерь в 2014 году. Куинси Ларсон хотел помочь начинающим программистам, чтобы те не шли таким корявым путем как он сам. Благодаря freeCodeCamp теперь никто больше не должен есть стекловату и смотреть в бездну. Узнав про мотивацию Куинси Ларсона, я обрадовался, ибо не один я такой странный и хочу собрать концентрат, Ontol, самых полезных бесплатных материалов в одном месте.

Помимо работы над freeCodeCamp, Куинси Ларсон борется за свободный интернет, контрибьютит в open-source и играется со своими двумя детишками.

freeCodeCamp


Образовательной платформой FreeCodeCamp пользуются 350 000 студентов в день из 160 стран. За 2021 год студенты провели за обучением 2,1 млрд минут или 4000 лет. 217 000 учеников считают себя выпускниками этой школы, 40 000 получили работу ИТишника впервые, после обучения тут.

А еще, говорят, что можно зайти на этот сайт с полным 0, а выйти уже трудоустроенным (дело за малым — разрешение на работу). Ах да, надо же знать английский (или очень хотеть его выучить).

На русском языке про FreeCodeCamp нет странички в Википедии (хотя есть на сербском, албанском, португальском, манипури, румынском, малаяльском языках), зато есть сотни более кривых «пересказов» их курсов на русском языке, но не бесплатно, а за 150к+
Читать дальше →
Всего голосов 26: ↑16 и ↓10+11
Комментарии11

Первые шаги в aiohttp

Время на прочтение6 мин
Количество просмотров86K

Привет, меня зовут Артём. Я работаю бэкендером в KTS и веду курсы по разработке в KTS Metaclass. Заметил, что труднее всего студентам даются темы по асинхронному программированию.

Основываясь на своём преподавательском опыте, я написал туториал, рассказывающий о создании базового aiohttp-сервиса с нуля и затрагивающий самые сложные для студентов вопросы: как сделать асинхронное python-приложение, как работать с базой данных и как разложить свой проект в интернете.

Это первая статья цикла, в ней мы напишем небольшое веб-приложение на aiohttp  — стену с отзывами, где каждый может оставить свое мнение о каком-то продукте.

Погнали!
Всего голосов 2: ↑2 и ↓0+2
Комментарии6

Первые шаги в aiohttp, часть 2: подключаем базу данных к приложению

Время на прочтение16 мин
Количество просмотров23K

Привет!

В прошлой статье мы познакомились с aiohttp и написали на нем свое первое веб-приложение: стену с отзывами.

В этой статье мы продолжим изучение и подключим к нашему приложению базу данных PostgreSQL, используя для этого Gino, SQLAlchemy и Aiopg, а также автоматически сгенерируем и применим миграции с помощью Alembic.

Если вам интересно асинхронное программирование, приходите к нам на курс в KTS, где мы гораздо подробнее разберем эту тему.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии12

Первые шаги в aiohttp, часть 3: публикуем приложение в Интернете

Время на прочтение8 мин
Количество просмотров7.3K

Сегодня разберем заключительную часть цикла «Первые шаги в aiohttp». В первой статье мы создали и настроили проект, а во второй подключили базу данных.

В этой части статьи мы рассмотрим размещение нашего веб-сервиса в Интернете, используя платформу Heroku.

Асинхронное программирование — большая тема. Если хотите разобраться в ней подробнее, приходите к нам на курс. 

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Пишем свой Google, или асинхронный краулер с rate limits на Python

Время на прочтение11 мин
Количество просмотров13K

Меня зовут Александр, я руковожу backend-разработкой в КТS. Сегодня расскажу, как написать асинхронный краулер.

Такая задача часто встречается на практике, когда нужно реализовать периодическую синхронизацию/обкачку между сервисами. 

Статья написана по мотивам вебинара, который мы провели в рамках нового курса «Асинхронное программирование на Python для начинающих». Курс стартует 18 октября, поэтому, если вам интересно — загляните посмотреть.

Что будет в статье:

1. Цель
2. Исходный код
3. Планировщик
4. Задача для краулера
5. Пробный запуск
6. Промежуточный итог
7. Функции put и join
8. Semaphore
9. Остановка фонового планировщика
10. Работа краулера на примере обкачки нашего блога на Хабре
11. Заключение

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии5
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность