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

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

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

По всем вопросам: @denisputnov
Download Telegram
Ну, моей продуктивности и стабильности явно можно позавидовать. Неожиданно так получилось, что разработка и учеба поглотили всё мое время, так что постов и идей, соответственно, особо не было. Но, с другой стороны, я и не ставил перед собой никаких обязательств по графику в канале, так что всё нормально (оправдываю себя).

Это все таки блог, так что тут я пишу не только что-то полезное, а всё, что хочу, в том числе о своей жизни, а поделиться мне есть чем :)

Начнем с того, что на мне все ещё висит наш прошлый проект - заказанный у нас с @syth0le интернет-магазин. Много времени уделять этому проекту не получалось, так что сам по себе сайт по обговоренным условиям готов на процентов 70-80. После выпуска проекта обязательно закину ссылку сюда.

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

Кстати, никто не отменял мою увлеченность ботами в телеге, так что я постоянно думаю о своих упавших, но ничего не делаю 🗿

Ну и самая главная новость прошедшей недели, так сказать, - это то, что мы с товарищем серьезно засели за реализацию ещё одного собственного pet-проекта. Это приложение, реализованное на Dart/Flutter и Python REST API, в сфере путешествий. Приложение поможет пользователю уточнить некоторые нюансы о поездке, спланировать маршрут, а вот остальная информация попозже. Хватит пока на этом) На разработку дедлайн в пол года, ссылочку на маркет вкину сюда, как будет готово (если будет 🌚 )

Кстати, идей для постов вроде не мало появилось, так что как минимум в ближайшую неделю поактивничаю)

Ну и конечно же спасибо за прочтение всех этих мыслей, держи жопу❤️

#blog
Ещё и блог.

Кстати, совсем забыли, что на самом-то деле это не только канал про фишки питона, но и мой блог, вообще-то)
Хочу поделиться в этом посте тем что вообще в жизни происходит и как успехи с каналом и обучением.

Начну с того, что за последние несколько недель мы успели закончить и сдать сайт, который у нас с @syth0le заказывали. Прошу заметить, что это был по сути наш учебный проект и заказчик знал об этом. Так что если кто-то найдёт ошибки в коде, а они есть, ну сори. Делали как могли.

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

Во-вторых, канал. Для меня это что-то сакральное, наверное, потому что мне просто нравится помогать и делиться мыслями, это интересно. Мало того, что я надеюсь кому-то помочь, так ещё и вся эта писанина дополнительно обучает меня. Я заново прохожу материал, повторяю и изучаю. Это круто.

Если вынести последние несколько недель в чеклист, то:
• Купил курс Владилена на 120 уроков по нативному js
• Изучаю vue.js вот по этой книге, рекомендую
• Изучаю Flutter и на данный момент в работе над тем тревел проектом, о котором писал ранее.
• К лету планирую собрать команду из 6-8 человек и написать крутое веб/мобильное приложение, но об этом лучше расскажу как-нибудь отдельно
• Хейчу PHP просто потому что
• Продвигаю канал рекламкой
• Пытаюсь завести привычку писать посты на неделю вперед или что-то типа того. Посты уже полностью готовы до 31.10.20
• Стараюсь не забывать о друзьях и себе
• А, ну ещё я добавил свои стикеры, хаха. Без лишних слов, они прекрасны.

Как-то так вышло. Даже душевно вроде.

А ещё просьба. У меня постепенно иссякают идеи для постов, так как уже которую неделю я стараюсь выпускать что-то ежедневно. Писать мне нравится, так что всех неравнодушных я прошу отписаться мне в ЛС, на рассмотрение принимаются любые идеи.

#blog
Список доступных хештегов:

Основные
:
#theory — общая теория программирования, разбор теоретических вопросов с собеседования
#quiz — короткий вопрос на свободную тему в разработке с вариантами ответов
#useful — просто полезные вещи
#blog — посты в формате блога обо мне / на свободную тему

Подгруппы:
#javascript — всё, связанное с языком
#typescript — аналогично 👆
#code — посты во встроенным в текст кодом, готовые примеры
#vite — посты, которые так или иначе затрагивают сборщик
#web — всё, касательно web разработки
#principles — принципы проектирования
#react — всё, касательно React
#patterns — всё о паттернах
#data — всё о данных и манипуляциях с ними
#news — новости

@deprecated
#python — всё, связанное с этим языком
#mobile — мобильная разработка
#design — штучки для дизайна
#github — интересности с гита
#chatbot — мои боты и всё, что с ними связано
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Неожиданно пропасть на 20 дней, а потом вернуться - в моём стиле.

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

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

2. Чтобы было чем делиться - нужно, чтобы что-то происходило вокруг нас. Но в моей жизни в январские каникулы не осталось ничего более, кроме как рутины, сессии и каких-то обязательств. Я так же продолжаю черпать новую информацию отовсюду, но иногда посещает чувство, что периодами меня накрывает какой-то информационыый вакуум (наверное, в простонародье - лень). Какие-то знания получать становится не так легко, а продуктивность в январе у меня заметно упала.

3. Мотивация - тема вечных холиваров, которая одновременно как достойна отдельного поста, так и не достойна ни единого слова. Тема, полная воды, не всегда оправданная, но иногда действительно важная. Так вот, какая-либо мотивация ко мне возвращается, наверное, только сейчас. Сессия меня угнетает, есть много мыслей насчет образования, но думаю, что мои посты здесь - не то место, чтобы их высказывать.

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

MongoDB. О самой популярной NoSQL СУБД в мире и о key-value хранилищах в целом.
— О Markdown и документации к коду.
— Контекстные менеджеры.
— Асинхронный код.
— Важность архитектуры и выбор правильного архитектурного подхода в разработке ПО.
— Выгорание и отдых.
— Профессиональный логгинг вашего приложения.
— Что такое SPA.
— Что такое парсинг и сущесвует ли авторское право на контент.
Python yeild.
— Механизм замыкания как расширение универсальности вашей программы.
Linux, Unix, WSL и тому подобные штуки (передаю привет всем, с кем мы общались в лс на эту тему, спасибо вам).
Bash-скрипты - почему, зачем и как.

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

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

По классике, товарищи, спасибо за прочтение. Это, кстати, не просто слова❤️

#blog
👍2
Насчёт отдыха и выгорания.

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

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

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

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

Очень многие эмоции имеют накопительный эффект, в том числе и так важная тут усталость.
Я живу в такой ситуации, что усталость, зачастую, достаточно плохо чувствуется. Я могу работать продуктивно месяц подряд семь дней в неделю, но потом не делать ничего одну неделю в принципе. Усталость накапливается, достигает критической точки и я выпадаю из жизни на достаточно большой срок, причем вернуться на тот же уровень продуктивности бывает сложно. Для меня это та самая проблема моего отдыха.

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

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

Достаточно очевидные мысли, но понимать самому и слышать подтверждение извне — разные вещи. Как-то так.

#blog
О переходе.

Обычный пост из серии блога, где я хочу объяснить почему на канале теперь будет JavaScript (не только он).

Я думаю, многим не понравится, что с Python я резко и без особых предпосылок перескочил на JavaScript. Как говорится, ничего не предвещало беды, но пришло откуда не ждали.

Я могу сказать, что Python был моим первым серьёзным языком программирования и я безумно рад, что это был именно он, не смотря на все проблемы этого языка. Я очень люблю Python до сих пор и считаю этот язык лучшим выбором для начала, но уже достаточно давно я стал заниматься именно JavaScript из-за собственного интереса или обстоятельств. Сначала я просто пытался изучить новый язык из интереса и ради развития кругозора, прошёл пару курсов, а потом как-то и сайтики нужно было пописать, да и просто более глубокий интерес развился, так что как-то закрутилось. Прям история любви.

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

Почему должно быть всё равно?
Большинство концептов, существующих в программировании, можно рассмотреть обособленно от конкретного языка. В современном мире различия не так критичны, поэтому огромная часть теории актуальна от языка к языку. Я не знаю Java или С#, но практически все книги по архитектуре приложений и тому подобным темам я прочитал с примерами на этих двух языках. И если отбросить всю предвзятую ненависть к JavaScript, которая присуща комьюнити сегодня, то на каком бы языке теория не была описана - при желании всё легко читается и понимается. Даже на JavaScript.

#blog
👍2
Сделал на реакте блог, просто от безделья. Там некоторые посты с канала. Если кому-то интересно как канал мог бы выглядеть в форме сайта, то пощупать можно тут.

Страница проекта на guthub: markdown-github-blog

#blog
👍4
Pet-проекты и где они обитают

Почти год назад в этом канале я писал о pet-проектах. В том посте я рассказал совсем базовые вещи: что это такое и почему стоит попробовать. Сегодня хочу снова поднять эту тему немного в другом ключе.

Обучение программированию — это не только теория, на мой взгляд. Наоборот, хороший программист — это далеко не тот человек, кто использует правильные термины или знает абсолютно все микромоменты в технологии. Хороший программист — это человек творческий, способный решать задачи бизнеса быстро, дешево и качественно. Способный быстро адаптироваться к новым условиям и найти выход из ситуации, в которую попал впервые. Именно поэтому на многих собеседованиях вас просят писать код на обычной бумаге. Это заставляет вас работать в заведомо некомфортных условиях, и если вы в таких условиях пишете качественный код, то вы — хороший программист.

И как бы глубоки ваши теоретические знания ни были, без практических навыков вы не сможете показать хороший результат. А чтобы получить новые практические навыки и поэкспериментировать с технологиями, есть отличный вариант — pet-проекты. Замкнутый круг.

И в этом случае pet-проекты выступают прям панацеей для получения новых навыков. Идеи для таких проектов можно искать где угодно, но я бы посоветовал banda.works.

Вообще, это небольшая команда, которая делает открытые проекты для помощи в обучении и трудоустройстве новичкам в вебе. И сайт с pet-проектами — это один из проектов этой команды.
И сервис, на самом деле, находка. Там бесплатно размещены не только интересные проекты, но и некоторые вступительные испытания крупных компаний. Так что это отличный вариант изучить что-то действительно востребованное на рынке. Там, кстати, удобная сортировка по технологиям, так что если вы хотите написать проект на условном React, то сортировка делается в 1 клик.

Ещё тема трудоустройства поднимается в их телеграм канале: @bandaworks_bb.
Так же советую. Рекламу в этом канале я не продаю, так что этой рекомендации более чем можно доверять.

Примерно такие мысли на сегодня, спасибо за прочтение. Это важно для меня.

#blog #useful
​​Сказ о том, как я HTML в JPG конвертировал...

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

В общем, проблем несколько:
— Лень
— Занимает относительно много времени и не приносит удовольствия
— Посты можно оформить только с ПК
— Я счастливый обладатель MacBook на M1, так что для нормальный работы в Photoshop нужно тратиться на лицензию

Я решил найти другое решение: бесплатное, быстрое, удобное и кросс-платформенное. И нашел.

Для решения задачи я хотел использовать Python, но решение это было не лучшее. Нет нормального API для работы с DOM элементами, нужна песочница для запуска браузера, работает медленнее, а самое главное - на Python у меня гораздо меньше опыта. Я реализовал рабочий вариант на imgkit достаточно быстро, но он не устроил меня, код удалён.

Ну и, соответственно, я решил использовать node js. Я имею куда больше опыта c node и javascript, так что рабочее решение, которое по моим тестам работало быстрее решения на Python в 7.5 раз, было готово меньше чем через 20 минут.

Я быстро накатил первую попавшуюся из поиска библиотеку node-html-to-image, воспользовался неплохой документацией, сверстал максимально странный, но рабочий макет и вот, мой html конвертируется в изображение за, в среднем, 2.4 секунды. Ещё за полчаса я изучил библиотеку node-telegram-bot-api и создал на основе скрипта-генератора удобный для себя интерфейс для управления им. Теперь картинки к моим постам генерируются на бесплатном хостинге heroku, и делают они это через API бота в телеграм. Процесс выглядит так.

В итоге, процесс создания картинки максимально упрощён. Я могу оформить пост с любого устройства, где поддерживается клиент телеграмма (то есть даже с утюга), мне не нужно платить за подписку на Photoshop и я даже могу делегировать создание постов на кого-то куда проще.

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

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

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

#blog #useful #github #design #chatbot
​​Теперь не только в Telegram

К сожалению или счастью, следуем трендам. Теперь @prog_way_blog доступен в TikTok'е и некоторые посты будут дублироваться там в видео-формате. Основной поток постов не изменится и всё так же продолжит выходить в прежнем формате на лучшей площадке мира — в Telegram.

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

Аккаунт доступен по ссылке

Я надеюсь, что этот старт поможет мне расширить аудиторию канала, так что ваша активность под видосиками очень кстати. Всем неравнодушным — спасибо за поддержку.

И всем без исключения спасибо, что находите мой канал интересным и остаётесь в нём. И так же спасибо за прочтение, это очень важно для меня ❤️

#blog