Debug_Yourself – Telegram
Debug_Yourself
669 subscribers
87 photos
3 videos
7 files
80 links
Рассказываю про свой путь становления программистом.
Делюсь информацией, которую изучаю, проектами, которые делаю, шишками, которые набиваю. Также иногда проскакивает диванная философия.

Админ - @arutemu_su
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
• Делаете ваши первые шаги в освоении английского или хотите прокачать свой уже неплохой уровень языка? А, может быть, просто собираетесь в путешествие и хотели бы освоить несколько полезных фраз?

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

• Начните не только изучать иностранный язык, но и получать удовольствие от самого процесса погружения и общения на английском.

https://news.1rj.ru/str/chekmasova
Всех приветствую. Прошу прочесть это сообщение, для Вас будет полезно.

Как вы заметили, очень давно не выходили посты. Данная тематика мне попросту надоела, да и вам наверное тоже. Ведь таких каналов тысячи. И несмотря на их количество, качество предлагаемого Вам контента очень низкое. Тысячи схем и способов, работоспособность которых стремится к нулю, лишь тратя Ваше время. А я готов поспорить, что вы хотите вкладывать ваше время в нечто более интересное, приносящее профит, так ведь?

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

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

Многие подписчики наверняка поняли, что я увлекаюсь и изучаю программирование. Я изучал python, фреймворки flask и django для создания веб-сервисов, сейчас изучаю создание телеграм ботов. И именно этим опытом я хочу поделиться. Потому что у меня ежедневно возникает сотни различных вопросов, проблем, и я понимаю, что кто-то тоже сталкивался с этим, но из-за отсутствия ответов стопорился.

Так о чем конкретно я буду Вам вещать? Что именно я изучаю в данный момент. Какой проект делаю (даже буду приводить примеры), как я пытаюсь устроиться проггером. А я повторюсь, я не профессиональный матёрый сеньер-ас программист, напротив, я новичок, и именно опытом становления от новичка до профи я и хочу поделиться.

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

С уважением, @arutemu_su
Debug_Yourself pinned «Всех приветствую. Прошу прочесть это сообщение, для Вас будет полезно. Как вы заметили, очень давно не выходили посты. Данная тематика мне попросту надоела, да и вам наверное тоже. Ведь таких каналов тысячи. И несмотря на их количество, качество предлагаемого…»
ЧЕМ Я ЗАНИМАЮСЬ?

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

А занимаюсь я созданием телеграм ботов. Точнее учусь их создавать. Не вижу особого смысла разглагольствовать на тему того, почему телеграм пизже остальных мессенджеров и соц сетей в целом. Как минимум вы читаете меня в тг, а это о чем-то говорит. А теперь задумайтесь, тг имеет хорошую популярность и лояльную аудиторию будучи запрещенным в РФ. С собственной криптовалютой и прочими готовящимися нововведениями рост будет экспоненциальный! Также в конце этого поста оставлю ссылку на статью, где показана статистика по тг аудитории РФ. Не знаю, кто и каким образом собрал эти данные, но наверное в целом ситуация примерно так и выглядет.

Непосредственно о ботах. Они крутые и в них есть потребность. Пока что я не знаю, насколько это поле непаханное, но из личного опыта могу сказать, что общаясь с другими админами тг каналов часто вижу, как кто-то ищет людей, которые смогли бы сделать бота. И готовы платить не много не мало 15-30к за простого бота, который помогает заказать какой-либо товар. И говорят, что прогеров реально не хватает, а те, что есть, завышают цены, потому что чувствуют ситуацию на рынке, где большой спрос и малое количество прогеров, готовых его удовлетворить.

Есть два пути, как этих ботов делать: при помощи конструкторов и вручную, при помощи мозгов и языка программирования (ЯП). Хочу высказать свое мнение на этот счет: появление конструктора, где за пару кликов можно сделать простого бота - вещь неизбежная и являлась лишь вопросом времени. Здесь низкий порог входа. Я лично не пробовал пока пользоваться конструктором, но уверен, что за 1-2 дня можно разобраться. И именно из-за своей простоты, когда даже обезьяна сможет создавать ботов, их цена сильно упадет: во-первых, трудозатраты уменьшаться, а во-вторых, таких обезьян будет много, конкурируя за клиентов, они будут опускать цены еще ниже, и возможно в будущем вы сможете либо проехать на метро, либо купить бота.

Второй путь сложнее - надо выбрать ЯП, изучить его, надо думать над архитектурой бота. Первые попытки заставят вас вырывать волосы на голове (это из личного опыта). И адекватный человек возразит - нахуя так париться, если конструктор просто убьет надобность программировать ботов, а низкая цена сделает это дело бессмысленным. Доля правды в этом есть. Но конструктор обычно решает шаблонные задачи, нетипичные проблемы всегда требует незаурядного ума. Добавьте сюда то, что даже если будет большой наплыв обезьян, они сломают рынок, снизят себестоимость, и вы как программист ботов будете ненужны, то у вас будет опыт программирования в принципе. Опытный программист нужен всегда! Изучить смежные технологии куда проще, когда у вас есть опыт и база за плечами. Выбрав второй путь, идти по нему сложнее, но вы точно останетесь в плюсе. Исходя из своих суждения я пошел по второму пути. В качестве ЯП выбрал Python, а качестве библиотеки для создания ботов взял pyTelegramBotAPI. Изучив документацию и прочую литературу в инете, я понял, что надо закрепить знания, и поступил следующим образом: придумал сам себе проект, довольно типичный - бот, который позволит делать онлайн заказы в кофейне (где кофе на вынос). Сделав его, я получу опыт и проект в свое портфолио, а также уверенность в том, что смогу реализовать что-то похожее, а в идеале я с этим ботом пойду к владельцам кофеен и буду пытаться его продать. Таким образом я 100% в плюсе, вопрос только в том, насколько я окажусь предприимчивым.

Спасибо, что дочитали. В следующем посте я подробнее расскажу, почему именно такой язык, такая библиотека, даже покажу, что я уже сделал, с примерами моего кода. А вот обещанная статья о РФ аудитории telegram
Приветствую. Сегодня пол дня готовил первую статью по теме "Как я учусь делать телеграм бота". Больше времени ушло на то, чтобы наиболее доступным образом изложить мысли в голове. Статью я не дописал, ну точнее я ее разбил на две части, так скажем.

На данный момент я описал идею своего будущего бота, на чем я его делаю, с какими первыми проблемами столкнулся (в частности блокировка телеграма).

Остановился наверное на самом интересном: на коде. Этому моменту я хочу уделить особое внимание, чтобы читатель видел мою логику. Завтра планирую доделать и к вечеру уже будет первая часть.

ССЫЛКА НА СТАТЬЮ
Доброго утра. Вчера я скинул ссылку на свою статью, и только утром обнаружил, что она не открывается ни у кого. Это пиздец как огорчило. Я посмотрел в инете и узнал, что новая версия этого сайта неадеватно работает в РФ (может и СНГ) без VPN. А на старой версии новорегам нельзя создавать статьи.

Мне очень понравился этот сервис. Там можно с умом писать целые разделы, работать с кодом (при чем выбирать язык), и другие приятные фишки. И самое главное - не надо париться, как это сделать. UI на высоте. Пару кликов и текст красиво и читабельно оформлен.

В общем я написал короткий гайд, который позволит вам поставить VPN за 5 минут. Теперь перед чтением врубайте VPN и наслаждайтесь.
Доброго вечера. За сегодня описал часть процесса создания бота, а именно предполагаемую структуру, работу с БД и немного кода в основном файле. За завтра планирую описать оставшийся код и то, на чем я застрял и не знаю пока, как решить. Глядишь, завтра и решение придет.

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

ССЫЛКА НА СТАТЬЮ
Приветствую. Сегодня был довольно продуктивный день. И хотя я не уделил разработке бота ни минуты, свое время я вложил в не менее полезные вещи: Во-первых, возникла необходимость поставить ОС linux. Решил реанимировать свой старый ПК и поставить линуху на него. Опыта с линуксом как такового не было. Пытался разобраться с Arch Linux, кто не знаком с ним, он позиционируется одним из самых крутых дистрибутивов с крутой философией, но направленным скорее на продвинутых пользователей. Там ты можешь полностью настроить свою систему сам. И я даже поставил его, поизучал, но времени на хороший разбор не было. Наверное я еще не достаточно дорос, поэтому оставил его на потом.

Но я слышал, что есть дистрибутив, основанный на Arch’е, который взял все самое лучшее из него, при этом он с низким порогом вхождения и user-friendly. Это Manjaro. И я вам скажу, что он хорош. Неплохая документация (есть даже на русском, но по большей части устаревшая). Про важность чтения док-ции на оригинальном (читать как английском) языке я как-нибудь напишу в след. раз.

А касаемо Manjaro, пока могу сказать, что пользуясь ей, чувствуешь, что целью создания выступает желание, в первую очередь, позволить людям насладиться работой за компьютером. Множество фитч, приятный графический интерфейс и прочие вещи для linux в принципе не новы. Это скорее в порядке вещей. Те, кто думает познакомиться с linux, могу смело рекомендовать этот дистрибутив.

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

Вообще было еще вводное занятие, где ввели в курс дела. Сказали, что будем изучать JS, конкретно Node.js и прочите связанные с ней технологии. В связи с этим попросили поставить unix-подобную ОС, чтобы быть как тру прогер.

Первое занятие посвятили git и github. И я могу сказать, что такой хорошей подачи материала я давно не видел. Парень реально подготовился. Просто осознайте: он создал свою собственную платформу для обучения(ну точнее он и его дружинники), создал свои курсы, начал вести лекции и делиться своим опытом - все это бесплатно. По его словам, партнеры им тоже не платят. Уж столько я наебов повидал в жизни, что и здесь хочется что-то лицезреть, но буду надеятся, что добро в людях еще осталось.

В общем, день можно считать удачным. Я даже поделюсь стримом, там можно смотреть с минуты 25 наверное. Просто сами оцените подачу материала и сделайте выводы. Мне нигде так понятно не было объяснено про git, как на его стриме.
Друзья. Я хочу немного расширить аудиторию. Если вы читаете какие-либо каналы схожей тематики, или просто считаете, что знаете интересный канал и им стоит поделиться, то смело пишите мне. Буду очень благодарен.

Поздним вечером допишу еще часть о том, как я учусь делать телеграм бота, и поделюсь.

С уважением, @arutemu_su
По идее мне завтра в 6 утра надо быть уже на ногах, время почти 2 ночи. Но, уверен, каждый испытывает время от времени периоды вдохновения, когда забываешь про еду, про сон, про проблемы - весь фокус на своей идее. Вот и я также занимался обещанной статьей про то, Как я учусь делать телеграм бота. Она далеко не полностью готова, каждый день я ее дописываю, где-то правлю, поэтому можете время от времени смотреть на нее с самого начала, найдете что-то новое.

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

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

В моменты выгорания я позволяю себе отдохнуть и почитать примеры успешных людей, которые стали программистами, послушать интервью, пообщаться с людьми в IT. Наверное, это единственное проверенное лекарство.
Буквально пару дней назад узнал про очень крутую вещь под названием Student Developer Pack.

Фишка в том, что GitHub позволяет получить доступ к некоторым платным фитчам довольно популярных программ/приложений. К примеру, лицензию на pro версии продукции JetBrains, небольшой бюджет на DigitalOcean, либо неограниченное количество приватных репозиториев на время твоего студенчества. И еще много другого.

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

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

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

Читая сотни вопросов на GitHub и SO, касающихся написания бота, я заметил, что наверное процентов 80% остались неотвеченными. А из тех, которые все же получили ответ, наверное половина все равно остались нерешенными. Знаете почему? Потому что люди не умеют задавать правильно вопросы. Данный феномен носит название «Проблема XY».

Если говорить своими словами, то при решении проблемы Х люди зачастую спрашивают не о самой проблеме, а о своих неудачных решениях Y. В итоге люди, пытающиеся помочь, фокусируются совершенно не там том, что требует решения. Зачастую, постановка вопроса приводит их в замешательство, потому что решение Y кажется несвязанным с X. В итоге обе стороны тратят свое время понапрасну.

Не буду лгать, я сам периодически замечаю за собой подобную проблему. К примеру, на SO я задал вопрос, связанный с реализацией кнопки «Назад» при создании бота. Разумеется, вопрос я задал до того, как узнал про гайд «Как правильно задавать вопросы». И я не получил ответа.

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

«Всем доброго. Пишу бота, используя библиотеку pyTelegramBotAPI. Подскажите, как можно реализовать функционал кнопки «Назад», когда из текущей функции можно вернуться к предыдущей. Пытался сделать <коротко описать вашу попытку решить> - не получилось.»

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

Если уж задавать вопрос с кодом, то лучше сделать его абстрактным, чтобы на его понимание у человека ушло меньше времени. В моем случае, можно было заменить мои функции на

def func_1():
pass

def func_2():
pass

def func_3():
pass


И спросить, как реализовать переход из функции 2 в 1, или из 3 в 2 при помощи кнопки «Назад».

Так что учитесь правильно задавать вопросы и будете получать правильные ответы.
Друзья!

Если для вас работа разработчиком остается тайной, покрытой мраком. Если хочется побольше узнать про эту кухню. Либо вы уже где-то работаете, но с удовольствием бы послушали, что рассказывают люди из других компаний, то хочу обрадовать: есть возможность взять интервью у android разраба, за плечами которого опыт работы в mail.ru, яндексе и на текущий момент Авито.

Чтобы сделать это интервью интересным для всех, во-первых, предлагаю вам задать интересующие вопросы мне, я же выберу самые интересные и задам уже гостю. Само интервью будет ориентировочно завтра вечером. Поэтому сегодня в течение дня можете писать мне в лс @arutemu_su с вопросами. Только просьба, в начале сообщения напишите что-то типа «ВОПРОСЫ К ИНТЕРВЬЮ», чтобы я мог как-то выделять ваши сообщения и не потерять их.

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

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

За сегодня подготовил список вопрос. Как мне кажется, получится интересное интервью на 20-30 минут. Постарался сформировать все самое интересное, что было как в моей голове, так и прислано в лс. Ориентировочно ждать завтра вечером, если никаких форс-мажоров не случится.

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

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

Чтобы нам не скучать, в течение получаса напишу статью про обещанный выше крутой сервис. Она почти готова.
ГДЕ САМООБУЧАТЬСЯ ПРОГРАММИРОВАНИЮ?

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

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

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

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

Сейчас достаточное количество сервисов, где есть банк задач, который вы решаете, уровень сложности со временем растет. Проверка решения происходит в автоматическом режиме на сервере. Я не буду называть все, да и не знаю всех наверное, выделю CODEWARS, который хочу посоветовать, и аналог JavaRush, с которым тоже имел опыт. Сразу скажу, что на codewars я оставил свою реферальную ссылку. Кому будет интересно, можете регаться по ней, мне сделаете приятное.

На codewars вам предложено погрузиться в тематику восточных боевых искусств. Уровни здесь названы Кью (это как раз система измерения твоей, так скажем, охуенности и опытности в восточных боевых искусствах). Вы можете просто решать задачи, которые составили другие участники - это называется Ката. А можете посоревноваться с другими соперниками - это называется Кумитэ (честно, сам еще не пробовал).

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

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

В JavaRush вам придется платить. Причем, на старой версии можно было купить подписку на год - 12к, но на 9 мая и НГ можно было брать за 6к. Если есть деньги, то за год наверное это приемлемая цена. Но это старые цены. Сейчас там есть только подписка на месяц. И ее минимальная цена 1800 руб. Скорость прохождения курса разная, но давайте предположим, что мы изучаем учимся/работаем и время на изучение проги мы можем выделять только по вечерам. Даже предположим, что мы способный ученик, который схватывает на лету и долго на задачах не сидит. Чтобы решить все задачи, ну или хотя бы дойти до совсем сложных, мы потратим пол года и 10800 руб. Цифры не заоблачная, но это статья расходов, а наши условия очень идеализированы!

Codewars на английском, а JavaRush на русском. Это отличие скорее поднимает порог входа на первый ресурс, но программист, не знающий/не изучающий английский - программист без будущего! Так что занимаясь на Codewars вы убиваете двух зайцев.

JavaRush это все таки линейность. Да, для новичков это плюс. Объем инфы в проге большой, он подобен лесу. И как в любом лесу, в нем можно заблудиться. А тут тебе подсказывают, что надо изучить и какие задачи решить для закрепления материала. Но насколько я помню, лекции там не славились особой содержательностью. То есть в них была разжевана часть материала, но в основном тебе все равно придется читать теорию на сторонних (бесплатных) ресурсах. Так что по факту лекции можно смело опустить и оставить в сухом остатке лишь набор задач по конкретным темам, которые позволят эти тему закрепить. Причем уровень задач растет в принципе адекватно.
Codewars не имеет никаких теоретических статей. Да они и не нужны. Логика проста - тебе дана проблема! Вот и реши ее как хочешь. Примени все свои знания и накопленный опыт, но чтобы в итоге программа выдала тот результат, который требуется. И ты так и делаешь. Начинаешь читать теорию, заполнять пробелы в знаниях. Начинаешь понимать, где реально применимы те или иные компоненты языка. А потом, когда отправляешь свое решение задачи объемом в 20 строк, и решение даже правильное, ты смотришь, как ее решили другие. И гении, которые лаконично без говна и палок решили эту задачу в 1 строку заставляют тебя задуматься. Ты узнаешь много нового. Вот тут начинается обучение и прокачка твоего скилла.

Но больше всего мне наверное нравится то, что на codewars вы можете прокачивать любой язык. Там реально есть все популярные языки. И там есть очень много категорий: фундаментальные основы, алгоритмы, математика, парадигмы программирования, шаблоны проектирования, работа с данными и еще много всего.

Конечно JavaRush, даже исходя из названия, подразумевает лишь изучение Java. Но я даже не знаю, что лучше: платить за изучение одного языка, либо иметь выбор из нескольких, и изучать их бесплатно?

В принципе, больше мне добавить нечего. CODEWARS мне нравится. Я стараюсь иногда там размять мозг. И не вижу смысла в использовании ни JavaRush, ни его аналогов, когда есть есть бесплатный сервис, по качеству даже превышающий конкурентов.

Для пожелания и критики, с уважением, @arutemu_su.
Debug_Yourself pinned «Codewars не имеет никаких теоретических статей. Да они и не нужны. Логика проста - тебе дана проблема! Вот и реши ее как хочешь. Примени все свои знания и накопленный опыт, но чтобы в итоге программа выдала тот результат, который требуется. И ты так и делаешь.…»
ИНТЕРВЬЮ БЫТЬ!

Друзья. Наконец удалось взять долгожданное интервью у android разраба @drumbledore. Повторюсь, у гостя за плечами опыт работы в mail.ru, яндексе и на текущий момент Авито. На данный момент параллельно с работой он запустил свой канал, посвященный конкретно android разработке. Слушаем.