progway — программирование, IT
2.66K subscribers
25 photos
1 video
246 links
Чат: @prog_way_chat

Разборы вопросов и задач с собеседований, мысли, полезные материалы и просто вещи, что мне интересны из мира IT

Полезности и навигация в закрепе

По всем вопросам: @denisputnov
Download Telegram
Channel name was changed to «progway - программирование, IT»
О себе:
Привет. Меня зовут Путнов Денис. Почти всю свою карьеру в IT я работаю с фронтендом и менторингом людей в этой сфере. Я успел поработать в стартапе, над кучей личных проектов, дорасти до Senior уровня в компании Netcracker, а сейчас я и вовсе работаю в X5 Технологиях. Параллельно работе, я менторил большую группу людей в RS School, по знакомству помогал друзьям и их знакомым, консультировал людей абсолютно разных уровней — начиная с полного нуля и заканчивая разработчиками Senior уровня. Успел пройти несчётное количество собеседований: в поисках новой работы и лучших условий или просто с желанием оценить себя. Всё это — мой опыт, который я планирую использовать в работе над этим каналом.

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

Готовиться нужно перед любым собеседованием. Знать и помнить абсолютно всё — неподъмная задача.

Зачем?
Мой канал — это способ раскрасить ваши будни в телеграме среди потока мемов и прочих не сильно важных вещей на рынке, дать возможность оставаться актуальным разработчиком на рынке труда. Все мы знаем, что лучше читать 100 постов в год, чем 100 постов в день. Так информация усваивается очевидно лучше.

Я потратил достаточно времени на обучение других людей в сфере IT, моего персонального менторинга коснулись более 50 человек за последние 4 года, и для меня предельно ясна проблема. Вопросы у всех одинаковые. С целью решения этой проблемы я и продолжаю вести этот канал. Моя цель — собрать самые актуальные вещи с современного рынка и в понятной и простой форме подать это аудитории.

А в чём мой интерес?
Подготавливая посты для вас, я тоже остаюсь актуальным разработчиком на рынке и утоляю свою жажду делиться знаниями. А для меня это важно.

Ссылки:
Telegram: @denisputnov
GitHub: github.com/denisputnov
LinkedIn: linkedin.com/in/denisputnov
👍5🔥21👏1
progway — программирование, IT pinned «О себе: Привет. Меня зовут Путнов Денис. Почти всю свою карьеру в IT я работаю с фронтендом и менторингом людей в этой сфере. Я успел поработать в стартапе, над кучей личных проектов, дорасти до Senior уровня в компании Netcracker, а сейчас я и вовсе работаю…»
О Futter в целом:
Всё время, сколько я занимаюсь программированием, я помню себя человеком вечно смотрящим что-то, проходящим курсы и изучающим что-то новое.
Последние же дни я трачу на изучение Dart/Flutter тучи времени, и тут я хочу объяснить почему именно он:

1. Конечно же кроссплатформенность.
Flutter фреймворк позволяет создавать нативные кроссплатформенный приложения. Что это значит? Один и тот же код может запуститься как на Android, так и на iOS. Один Flutter-разработчик покрывает задачи сразу двух людей - разработчиков под эти две системы, что выгодно как экономически, так и организационно. Не нужно согласовывать действия разных команд, это значительно ускоряет разработку.

2. Собственная виртуальная машина.
Flutter реализует собственную виртуальную машину на языке Dart, что по моему мнению - главный аргумент в пользу этой технологии. Разработка идёт в разы быстрее. При работе с Dart VM после каждого изменения НЕ нужно компилировать весь проект с нуля, ведь виртуалка просто подменяет измененный файл в готовом скомпилированном проекте. Как результат, все изменения видны в эмуляторе за 5 секунд, чем тот же Kotlin похвастаться не может. Ему нужно полностью компилировать приложение заново после каждого изменения. Так и получается, что со среднем временем компиляции в 2 минуты (что достаточно быстро, обычно время больше) на 100 изменений в коде Flutter-разработчик посмотрит уже через 8 минут, а вот разработчик на Kotlin - чуть более чем через 3 часа.

3. Большие возможности из коробки и собственный графический движок Skia.
Flutter предлагает разработчикам какое-то немыслимое количество встроенных функций. Уже готовые меню, навигационные окна, поля ввода/вывода, декларативно-реализуемые виджеты прокрутки и сотни разных иконок - вот что такое Flutter. И почему-то не получается говорить об этом без восхищения, инструментарий и правда огромен.
А что если вам его не хватает? Есть Skia! Google купила его ещё в далёком 2005, а теперь это очень сильный и производительный движок для отрисовки UI на всех платформах. Помимо того, что движок отлично справляется с отрисовкой интерфейса (с оговоркой на ограничение в 60 fps max) в Flutter реализована поддержка инструментов Skia, благодаря чему, например, вы можете отрисовать логотип приложения/компании на системном уровне, а не просто загрузить его в качестве asset'а.

4. Flutter - это не только mobile.
Даже для многих знакомых с Flutter людей становится открытием тот факт, что существует так же Flutter-Web и Flutter-Desktop. Такой же декларативный подход, такой же огромный встроенный функционал, но уже в ваших браузерах и локально!

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

#mobile
🔥1
Как-то я удивлён.
Раньше думал "Зачем вообще Flask нужен, если есть великий и могучий Django? Там и комьюнити побольше, с возможностями получше, да и огромное количество реализованных проектов и паттернов...", а сейчас сижу и изучаю Flask и выглядит это как предательство собственных принципов 🤡

Несколько мыслей о фреймворке:
Flask легковесный и простой. Запустить лендинг или портфолио можно за 20 строк, да и в целом архитектурно всё выглядит даже примитивно.
Простые конструкции очень упрощают понимание того чем ты занят как в обучении, так и в работе.

• Быстрее Django, но медленнее Tornado или aiohttp, что вполне ожидаемо.

• Такой-же удобный шаблонизатор, как в Django.

Как итог, для своих проектов я бы брал именно Flask, что и всем теперь буду советовать. Особенно он идеален для разработки Pet-проектов, слишком уж просто с ним взаимодействовать. Что тут ещё сказать, лайк таким👍

#python #web
👍2
Пока немного познакомлю народ со своим github, а именно:
На гите у меня есть много всего интересного, конечно, но особенно я выделяю вот этот репозиторий.

Там вы найдёте различную написанную мной документацию по разным технологиям, а так же шаблоны для разработки на Python и уже готовые программы.

В общем, считаю, что достойно внимания👍

#github
👍1💯1
Новый сервис придумал сегодня.
В голову пришла идея нового сервиса, что будет полезен для всех программистов, и долго думать я не стал - сразу же предложил идею другу, и вот, спустя почти 7 часов, мы имеем:
- концепт-проект дизайна сервиса в Figma,
- архитектура базы данных,
- готовая домашная страница сайта,
- на половину дописанный back-end на flask,
- идею api для нашего сервиса,
- а самое главное - понимание того кому и зачем это нужно.

Проект на данный момент имеет название "Codeye", что является вольным сокращением слов Code and Eye.
Цель проекта - помочь начинающим и не только программистам получать качественную помощь и знания.

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

#progress #codeye
🔥1
Продолжаем дневник разработчика, в общем.
Сегодня на разработку было потрачено по 11 часов с каждого человека. За сегодня успели:
- арендовать хост и доменное имя,
- запустить тестовое приложение онлайн,
- пересобрать back-end, расширить базу данных,
- значительно улучшить конфиденциальность,
- на ~30% закончить вёрстку главной страницы (очень большой объем работы),
- разработать логотип и доработать общий брендинг,
- получить огромный опыт для себя.

Разрабатывать такие pet-проекты - отличный, если не лучший способ получить огромное количество знаний и удовольствия от процесса.
Настоятельно советую всем взяться за что-то, что вас мотивирует, и реализовать. Сам я к таким советам не прислушивался никогда, но стоило лишь попробовать..🍑

Кстати, брендинг вроде и правда неплохой вышел, разве нет?)

Добра.

#progress #codeye
👍2
MVP codeye сегодня,
18:00 по МСК
Ну-с, почти как и обещал.
На
часах 18:11 и доступ к сайту открыт для всех желающих. Сейчас на хосте крутится самая первая наша версия, в которой процентов 20 от запланированных изначально функций. Также на данный момент у нас не настроена мобильная версия сайта, так что не все страницы отображаются адекватно.
Но в общем, дальше-то - лучше.

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

Сейчас хотелось бы получить любой фидбэк, так что рад всех выслушать @grnbows

#codeye #progress
Слишком много было про codeye, сегодня поговорим про ботов.

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

У ботов есть очевидное преимущество - они более легкодоступны и интуитивны, чем мобильные приложения. В то время, как основной конкурент чат-ботов требует лишних манипуляций, сами чат-боты базируются на уже готовых платформах, будь то Telegram, Discord, What's App, VK или MailAgent (даже такое практикуют, ужас). Самыми развитыми платформами на данный момент являются конечно же VK и Telegram - они предлагают наибольший функционал, более стабильные и удобные API, чем конкуренты.

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

НО, это не значит "все бежим делать чат ботов". Развитие чат-ботов никогда не вытеснит приложения с рынка, но потеснить их вполне в силе. Приложения всё так же актуальны для крупных проектов, когда, например:
- необходим графический интерфейс для взаимодействия с программой (напр. фоторедакторы, навигатор и тд);
- есть потребность в полном взаимодействии с файлами устройства (органайзеры вызовов, сообщений, другого медиа);
- если речь идёт о стриминговом сервисе (представьте Spotify или YouTube как бота в Telegram, даже звучит смешно);
- требуется сложная система авторизации (банковские приложения);
- необходима сложная система фильтрации (напр. приложение интернет-магазина типа aliexpress, avito, wildberries и тд);
- ну и так далее.

Тут конечно же не все примеры, а только те, что первыми пришли в голову.

Как итог, помните, что каждая задача имеет своё решение. Чат-боты прекрасны, и они идеальны для несложного взаимодействия условно типа «вопрос/ответ», а приложения идеальны в более сложных и объемных задачах. Лично я считаю именно так и не отношу себя ни к одной из категорий людей, что описал выше. Но, конечно же, чат-ботов я обожаю.

Кстати, кто не знал, у меня есть два своих:

На данный момент отключены по техническим причинам, скоро будут включены снова!
@pyInfoParserBot - курсы валют и информация о коронавирусе,
@about_chat_bot - техническая информация о чате, что очень часто нужна разработчикам.

#mobile #chatbot
🔥1