Pull to refresh
0
Михаил Баев @Mikebaread⁠-⁠only

Python Developer

Send message

Простой Telegram-бот на Python за 30 минут

Reading time4 min
Views1.2M
На Хабре, да и не только, про ботов рассказано уже так много, что даже слишком. Но заинтересовавшись пару недель назад данной темой, найти нормальный материал у меня так и не вышло: все статьи были либо для совсем чайников и ограничивались отправкой сообщения в ответ на сообщение пользователя, либо были неактуальны. Это и подтолкнуло меня на написание статьи, которая бы объяснила такому же новичку, как я, как написать и запустить более-менее осмысленного бота (с возможностью расширения функциональности).

Читать дальше →
Total votes 35: ↑29 and ↓6+23
Comments22

Устранение рекурсии в Python

Reading time4 min
Views20K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Removing a recursion in Python, part 1" автора Эрика Липперта (Eric Lippert).


На протяжении последних 20 лет я восхищался простоте и возможностям Python, хотя на самом деле никогда не работал с ним и не изучал подробно.


В последнее время я присмотрелся к нему поближе — и он оказался действительно приятным языком.


Недавний вопрос на StackOverflow заставил меня задуматься, как преобразовать рекурсивный алгоритм в итеративный, и оказалось, что Python довольно подходящий язык для этого.
Проблема с которой столкнулся автор вопроса заключалась в следующем:

Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments12

Как быстро написать веб-сайт или веб-приложение и не увязнуть в сборщиках

Reading time5 min
Views14K
Это маленькое руководство описывает создание реактивного веб-приложения используя отрисовку на стороне сервера (Server-Side Rendering, SSR). Клиентская часть являет собой полноценное Vue-приложение, в моём случае используя шаблон MVVM. Серверное приложение работает на микрофреймворке Flask, который может предоставить конечные точки подключения (endpoint) и отдать готовую HTML страницу. HTML страницы (расположены в подкаталоге myapp/templates) рендерятся шаблонизатором Jinja (устанавливается в качестве зависимости Flask).
Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments9

Почему жульничает дружественный ИИ в Ghost Recon Wildlands

Reading time8 min
Views14K
При создании игр разработчики одержимы желанием создать для игроков интересный и увлекательный игровой процесс: поставить их в новые условия или по-новому взглянуть на знакомые. И иногда для этого необходимо немного сжульничать. Разработчики вносят небольшие изменения в системы геймплея или в определённые базовые функции геймдизайна. Это относится и к неигровым персонажам. Ксеноморф из Alien Isolation имел на спине сенсоры ближнего радиуса действия, и «режиссёр» всегда знал, где находится пользователь, враги в Far Cry становились чуть менее точными, когда воевали с игроком, а демоны из DOOM терпеливо ждали своей очереди, чтобы получить шанс разорвать игрока на клочки. Это может казаться контринтуитивным, но ограничивая поведение персонажей или давая им больше знаний и навыков, чем это необходимо, разработчики в некоторых случаях способны сделать игровой процесс более целостным. И это подводит нас к исследованию Ghost Recon Wildlands компании Ubisoft: выпущенной в 2017 году экшн-игры в открытом мире, в которой игроки методично уничтожают наркокартель Санта-Бланка.


В этой статье я расскажу о трёх управляемых ИИ неигровых персонажах, работающих с игроком в офлайновых миссиях: Холте, Мидасе и Уивере. Эта команда призраков должна иметь возможность отвечать на команды игрока и реагировать на окружающий его мир, в то же время поддерживать создаваемую игрой иллюзию, в то время, как вы тайно уничтожаете вражеские командные посты или идёте в лоб на боевом вертолёте, разнося всё на куски. Это интересная задача дизайна. Игра стала одним из выдающихся современных примеров того, как ИИ жульничает не для того, чтобы выполнять то, чего от него ожидают, а потому что мы, игроки, не можем смириться со своим провалом.
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments7

Кортеж здорового человека

Reading time5 min
Views29K

Именованный кортеж
Эта статья — об одном из лучших изобретений Python: именованном кортеже (namedtuple). Мы рассмотрим его приятные особенности, от известных до неочевидных. Уровень погружения в тему будет нарастать постепенно, так что, надеюсь, каждый найдёт для себя что-то интересное. Поехали!

Читать дальше →
Total votes 64: ↑64 and ↓0+64
Comments35

Про одного парня

Reading time14 min
Views191K
История реальная, я все видел своими глазами.

Несколько лет один парень, как и многие из вас, работал программистом. На всякий случай напишу так: «программистом». Потому что он был 1Сником, на фиксе, производственной компании.

До этого он пробовал разные специальности – 4 года во франче программистом, руководителем проектов, умел закрывать по 200 часов, одновременно получая процент с проекта, за руководство и немного занимаясь продажами. Пробовал самостоятельно разрабатывать продукты, был начальником IT-отдела в большой компании, численностью 6 тысяч человек, примерял разные варианты применения своей кавычечной профессии – программиста 1С.

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

Этому парню стало интересно, как можно зарабатывать больше денег, не занимаясь продажами и не создавая свой собственный бизнес.
Читать дальше →
Total votes 272: ↑239 and ↓33+206
Comments247

Повышаем продуктивность на GitHub: советы для новичков и не только

Reading time3 min
Views27K


От переводчика: публикуем для вас статью Даррена Барнса, который делится своим опытом работы с GitHub. Его советы будут полезны, в первую очередь, новичкам. Возможно, и опытный кодер найдет что-то для себя.

GitHub — отличный сервис, которым пользуются пусть не все, но очень многие программисты. После того, как объем приватных репозиториев стал неограниченным, сервис привлек внимание даже тех, кто не работал с ним раньше.

Сервис разрабатывался программистами для программистов. Его создатели добавили большое количество очень удобных инструментов, которые повышают производительность. Но, к сожалению, не все разработчики об этих инструментах знают. А кто знает — не всегда использует.
Читать дальше →
Total votes 66: ↑62 and ↓4+58
Comments5

SCSS — немного практики, часть I

Reading time5 min
Views532K

image


Статей про SASS(SCSS), Less на хабрахабре уже полно, но на мой взгляд не хватает такой, в которой было бы немного реальной практики. Я постараюсь восполнить этот пробел. Около года назад одна из SASS-статей меня "зацепила", и с тех пор я полюбил эту технологию настолько, что ручной набор обычного CSS кода представляется мне лишней тратой времени. Сия статья посвящается тем верстальщикам (или web-программистам), которые про SCSS ещё не слышали, или же ещё не пробовали в деле. Более опытным товарищам, полагаю, в ней ловить нечего.


Что такое SCSS


SCSS — "диалект" языка SASS. А что такое SASS? SASS это язык похожий на HAML (весьма лаконичный шаблонизатор), но предназначенный для упрощения создания CSS-кода. Проще говоря, SASS это такой язык, код которого специальной ruby-программой транслируется в обычный CSS код. Синтаксис этого языка очень гибок, он учитывает множество мелочей, которые так желанны в CSS. Более того, в нём есть даже логика (@if, each), математика (можно складывать как числа, строки, так и цвета). Возможно, некоторые возможности SCSS покажутся вам избыточными, но, на мой взгляд, лишними они не будут, останутся "про запас".

Читать дальше →
Total votes 45: ↑38 and ↓7+31
Comments24

Шаблоны проектирования в React

Reading time7 min
Views44K
Шаблоны проектирования, которые возникли и развились в экосистеме React за время её существования, улучшают читабельность и чистоту кода, облегчают повторное использование компонентов.

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

Сообществу React понадобилось около двух лет для того, чтобы выработать несколько идей, которые теперь стали популярными. Тут можно отметить переход с React.createClass к классам ES6 и к чистым функциональным компонентам, отказ от миксинов и упрощение API. Теперь, учитывая то, что число React-разработчиков постоянно растёт, то, что в развитие этого проекта вкладываются серьёзные силы, можно наблюдать эволюцию нескольких интересных шаблонов проектирования. Этим шаблонам и посвящён данный материал.
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments5

Свежие утилиты, плагины и инструменты для продуктивности дизайнера. Выпуск № 4

Reading time4 min
Views12K


Несмотря на новогодние каникулы, в западном дизайн-сообществе по-прежнему публикуются новые утилиты, плагины и сервисы, которые призваны улучшить workflow дизайнера и разработчика. В этом списке я привожу 16 нужных ссылок на новые штуки, которые были высоко оценены сообществом!
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments14

Полезное дизайнеру: бесплатные новинки для оптимизации дизайн-процессов. Выпуск 2-й

Reading time4 min
Views12K


За последнее время мне удалось найти множество интересных мини-продуктов и небольших инструментов / утилит, которые призваны ускорить ваш дизайн-процесс. В этом выпуске вы найдете 14 ссылок на разные релизы, авторы которых вносят значительный вклад в развитие профессионального сообщества дизайнеров и разработчиков.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments9

Свежие утилиты, плагины и инструменты дизайнеру и разработчику на заметку. Выпуск пятый

Reading time5 min
Views16K


Несмотря на проблемы глобального потепления, в западном дизайн-сообществе вновь публикуются новые утилиты, плагины и сервисы, которые призваны улучшить workflow дизайнера и разработчика. В этом списке я привожу 21 нужную ссылку на новые штуки, которые были высоко оценены сообществом!
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments1

Новинки для дизайнеров и разработчиков: свежие утилиты, плагины и инструменты. Выпуск 6-й

Reading time6 min
Views17K


И вновь за последнее время в западном сообществе дизайнеров и разработчиков свет увидело множество полезных и не очень продуктов, которые распространяются безвозмездно. В шестом выпуске «Полезного дизайнеру» я оставил только полезные 28 ссылок и предлагаю с ними ознакомиться…
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments5

Вещи, которые вызывают недоверие и отталкивают ваших клиентов от сайта

Reading time4 min
Views28K
Дисклеймер: Вещи, о которых я сегодня поговорю для большинства людей связанных с веб-средой являются очевидными и вполне понятными (по крайней мере, мне так кажется), однако я не перестаю встречать их на необъятных просторах интернета и по сей день.

Итак, что же отпугнёт потенциального клиента от вашего сайта (речь будет в основном о продающих лендингах) или заставит его насторожиться:

Счетчики, таймеры, купить сейчас


image

Вы наверняка с ними сталкивались. Те самые счетчики, по истечении времени которых акция на товар или услугу пропадёт, цена снова взлетит до потолка или вообще так желаемая вами вещь пропадет со складов компании. Но это в лучшем случае.
Читать дальше →
Total votes 35: ↑23 and ↓12+11
Comments111

Делаем адаптивный HTML, добавляя одну строку в CSS

Reading time4 min
Views191K
image

В этой статье я расскажу вам, как использовать CSS Grid для создания супер классной сетки изображений, которая варьирует количество столбцов в зависимости от ширины экрана.

И самое классное: адаптивность будет добавлена с помощью одной строки CSS.
Это означает, что нам не нужно загромождать HTML лишними классами (Col-sm-4, col-md-8) или создавать медиа-запросы для каждого размера экрана.

Рассмотрим все подробнее.
Читать дальше →
Total votes 67: ↑66 and ↓1+65
Comments103

Модульная сетка макета с нуля: анализ, расчет и построение

Reading time13 min
Views166K
Intro

Краткая предыстория


Привет, Хабр. Я читаю тебя без малого 10 лет, но ни разу не писал статей. Сначала сказать было нечего, потом — некогда. Но сегодня звёзды сошлись и подвернулась подходящая тема. Модульная сетка.


Казалось бы, набросать сетку — дело пяти минут. Всё разжёвано до нас, и бутстрапы есть на любой вкус, и «Аннушка уже пролила своё масло...». Но на практике у дизайнеров частенько возникают вопросы. Многих вводят в ступор даже небольшие отступления от привычных 12-колоночных сеток, потому что им не до конца понятны принципы построения.


Когда-то эту тему хорошо раскрывал цикл статей Алексея Черенкевича, но тексты пропали из открытого доступа. И хотя их ещё можно найти в архивах, сами тексты за прошедшие годы несколько устарели.


Словом, в очередной раз отвечая на вопрос по модульной сетке и не найдя ни одной подходящей ссылки, решил как-то обобщить в заметке всё, что размазывалось по десяткам комментариев на разных сайтах.


Как работает сетка


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


Сетка помогает соблюдать это правило, не вычисляя каждое расстояние и размер в отдельности. Вы закладываете ключевые закономерности один раз, при построении сетки, а затем просто придерживаетесь их.


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

Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments4

Советы по повышению конверсии с ваших бизнес-презентаций

Reading time7 min
Views15K
Важный аспект во взаимодействии между компанией и ее клиентами/партнерами – презентация. Она способна визуально рассказать всю важную информацию о продукте или услугах и побудить клиента/партнера к действию.

Содержание



Эффективные бизнес-презентации в 2018 году
Прокачать презентацию!
Total votes 18: ↑16 and ↓2+14
Comments3

Создание дизайна Landing Page

Reading time11 min
Views241K


Landing Page – (далее по тексту Целевая страница) – одностраничный сайт, построенный таким образом, чтобы обеспечить сбор контактов максимального количества целевых посетителей и максимальную конверсию в контексте его использования.

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

Так научимся же создавать качественные и красивые целевые страницы. Разобьём урок на 3 части. Содержание, Оформление и Практика.
Читать дальше →
Total votes 50: ↑32 and ↓18+14
Comments47

27 бесплатных сервисов для создания визуального контента без дизайнера

Reading time7 min
Views42K
Лера Матвиишина, маркетолог хостинговой компании HOSTiQ, специально для блога Нетологии адаптировала статью Andrew Tate c ресурса AdEspresso и выбрала из подборки 27 бесплатных инструментов, которые помогут создавать визуальный контент без помощи дизайнера.

К 2018 году 84% маркетинговых материалов будут визуальными. Благодаря визуальному контенту любая компания сможет интересно общаться с пользователями и отстроиться от конкурентов.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments6

JavaScript: путь к ясности кода

Reading time11 min
Views33K
Работающий код не всегда идеален, но создавая тексты программ стоит стремиться к тому, чтобы чтобы их было легко читать, понимать и модифицировать. Стоит стремиться к ясности кода. Чтобы этого достичь, код должен быть хорошо организован, ещё до открытия редактора всё нужно тщательно спланировать, подумать над оправданным разделением задач по компонентам программы.

image

Программирование с учётом ясности того, что получается, это то, что отделяет великих разработчиков от разработчиков обычных. В этом материале мы хотим привести несколько базовых принципов, которые позволят вам сделать первые шаги на пути к ясному коду.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments11
1

Information

Rating
Does not participate
Location
Brno, Jihomoravsky Kraj, Чехия
Date of birth
Registered
Activity