Самые "лучшие и удобные" интерфейсы для ввода номера (нет)
Гений дизайна собрал самые «лучшие и удобные» интерфейсы для ввода телефона на сайтах (нет) 🤣, затестить можно по этой ссылке: https://fun.mishasaidov.com/badux/
Источник: t.me/nfaqs/2187
Гений дизайна собрал самые «лучшие и удобные» интерфейсы для ввода телефона на сайтах (нет) 🤣, затестить можно по этой ссылке: https://fun.mishasaidov.com/badux/
Источник: t.me/nfaqs/2187
Внимание! Нужен кодер, чьи навыки программирования на Python оставляют желать лучшего. Если вы часто забываете комментировать код, пишете функции длиной в 500 строк, игнорируете принципы SOLID и DRY, и ваши коллеги часто пугаются вашего кода (если вы смогли устроиться на работу) — вы именно тот, кого я ищу.
Опыт в создании костылей, пренебрежение паттернами проектирования, презрение к тестам и любовь к глобальным переменным — это именно то, что мне нужно. Задача проста: написать код для небольшого приложения или модуля, который будет выглядеть как будто вы писали его в 3 часа ночи после пяти энергетиков и бессонной ночи.
Почему я ищу такого кодера? Я хочу создать тестовое задание для конкурса в телеграм канале Python - учим и работаем с секцией код-ревью. Ваш «говнокод» станет прекрасным примером того, как НЕ нужно программировать, и даст возможность джунам проявить свои навыки в поиске и устранении ошибок.
Предоставьте мне свой худший код, и, возможно, он станет легендой. Я не планирую использовать ваш код в реальных проектах, это чисто учебный материал.
Платить за такой код, конечно, я не буду. Но вы получите уникальную возможность влиться в историю как автор самого ужасного кода, который когда-либо видели мои джуны. Если вы готовы покорить глубины программирования и создать нечто уникально ужасное, свяжитесь со мной. Но помните, я не ищу просто плохой код. Я ищу настоящий «говнокод».
P.S. Если у вас есть друзья, которые могут соревноваться с вами в плохом коде, пригласите и их. Пусть лучший говнокодер победит!
P.S.S. Анонимность гарантирована
нам понадобится
git
Python
-------------
всё делал по этому репозиторию (отдельное спасибо gothboy.me )
начнём
копируем всё из архива в папку на диске c
открываем файл main.py с помощью блокнота или notepad++
нам нужна эта строчка
STANDART_STATUS = "ваш статус когда музыка не играет в спотифи"
VK_TOKEN = "токен который вы получите на этой ссылке ( выберете Kate Mobile)"
SPOTIFY_TOKEN = "ваш токен SPOTIFY получаете его когда копируете ссылку на свой профиль он после user/"
CLIENT_ID = "индификатор приложения в спотифи (получить его можно здесь)"
CLIENT_SECRET = "индификатор приложения в спотифи (получить его можно здесь нажмите
Эра популярных языков программирования началась когда, один инженер из IBM предложил перейти из чистого машинного языка на языки высокого уровня.
Что это означает?
Обо всём по порядку...
Все языки программирования делятся на низкоуровневые и выскоуровневые. Простыми словами код высокоуровневого языка читается человеком намного легче, а с низкоуровневым всё наоборот.
Раньше программы для компьютеров писали на чистом машинном языке. Машинный код состоит из 0 и 1(двоичный код). Так как писать на таком двоичном языке человеку не очень то и удобно, появился первый компилируемый язык программирования. Называется он Ассемблер.
Компилятор-специальная программа который переводит Скрипт на язык который понимает компьютер.
Любой код написанный на языке программирования называется Скрипт.
Сейчас принято так чтобы при обучении определённого языка программирования, новичка первым делом учат выводить сообщение
"Hello World! ".
Python-Этот язык программисты любят за простоту и читаемость синтаксиса
print("Hello World!")
У Python ширококий спектр примирения, такие как...
-Веб-разработка
-Робототехника
-Разработка приложений
-научные вычисления
-искусственный интеллект
Где-то в начале этой зимы мне захотелось сделать игрового бота для teleram. Идея показалась мне достаточно новой и свежей, так как на данный момент это не особо распространённая тема и в тоже время она очень интересная.
Однако я плохо знал JavaScript, а Python вообще был дремучим лесом… И именно потому что я вообще не знал Python, я и решил писать на нем. Знаю, что это странный выбор, так как ресурсов на python, для ботов, намного меньше чем на JavaScript, однако мне показалось что так будет намного интереснее. К тому же это был прекрасный повод выучить этот язык.
Перебрав несколько топов и прочитав отзывы, я остановился на PyCharm так как это качественный продукт всеми любимой, или не очень, Jetbrains. И вот тут пошел какой-то кабздец…
После установки среды, я решил, на свою грешную голову, установить библиотека дабы облегчить свою жизнь в будущем. Установка прошла без всяких проблем, но дальше начался кромешный ад. Стоит упомянуть, что как самый разумный хомосапионс я в это же время уехал за город где интернета почти небыло. Чтобы объяснить насколько почти, для загрузки одной страницы в интернете надо было высовывать телефон на подоконник или выходить на улицу и идти в сторону горбка. Помним, что зима – холодно. И вот во всей это ситуации, PyCharm почему-то решил, что я недостоин использовать telebot всячески доказывал мне что я его не установил. Уже не помню, как я решил эту проблему, но это было как-то очень костыльно и мучался я достаточно долго, чуть ли не весь день. Как потом выяснилось, чтобы это исправить надо было зайти в настройки и поставить пару галочек. Хотя у других людей почему-то таких проблем вообще не возникало. Но с другой стороны благодаря такой ошибочке я много узнал о самой среде и ее возможностях.
После долгих мучений я наконец-то готов был писать код. Напомню что Python я не знал, поэтому мне нужно было выучить хотя бы азы, в этом мне помогла книжечка. Не могу сказать что она прям очень топ. Но для начала подойдет, да и искать что-то другое в условиях полу-офлайна не очень хотелось, а эта книжечка была предусмотрительно сохранена в последние минуты перед выездом из города (буквально на коленках). Изучать азы пайтона я решил по старой схеме, всем рекомендую мне всегда помогает, простым мануалом в котором писался код по нарастанию сложности от создания переменных до функций стандартных библиотек, мне этого должно было хватить, да и книжка закончилась. На все про все у меня ушло на это около 2х дней с перерывами на чай с печёньками, еду, отдых и здоровый сон.
Но тут меня снова поджидал полный провал. А именно, библиотека вполне аргументировано послала меня на все три направления нашего пространства так как она требовала хорошего соединения. Но после некоторых хитромудрых манипуляций с интерпретатором, библиотека подумала, сгруппировалась с PyCharm, и они уже вдвоем послали меня на все четыре направления к рептилоидам. Но самой большой печалью было то что все это дело теперь надо было сносить и устанавливать заново, ибо как починить то что я сделал я в душе не знал. И в процессе всего этого был потерян тот мануал, который потом и кровью прописывался строка за строкой и служил хорошей шпаргалкой. Я долго переживал и горевал из-за его утраты, мне даже нечего было оплакивать, так как его тело безвозвратно исчезло из корзины. Но как потом оказалось он мне и не сильно то был и нужен все мои знания остались при мне, что было удивительно и очень круто.
После переустановки IDE у меня снова вылезла та же ошибка что и раньше (PyCharm отказался видеть библиотеку). И я снова провозился целый день чтобы тыкнуть его мордой в то что мне надо.
Собственно теперь я писал код на угад (почти в слепую так как не мог скомпилировать код). Так как библиотека все еще отказывалась работать в условиях плохого соединения. И тут мне в голову пришла одна из наилучших идей что могла ко мне прийти в тот момент. Я решил выкинуть в топку все планы по поводу тестовых ботов для обучения и тому подобному, и сразу делать сложный проект; и вот там там уже, с боем, разбираться по пути, и по мере поступления ошибок.
Что ж по боту. Решил сделать его из нескольких модулей, которые будут конэктится между собой и выдавать готовый результат на выходе. Таким образом я мог продолжать работу над ботом до возвращения к цивилизации. Были реализованы все готовые классы и объекты, которые потом использовались в боте. Создан модуль с готовыми конечными объектами, которые игрок мог наблюдать в игре, а также создано некое подобие самого хранилища информации где и жил наши игроки. Имея все это добро, надо было его как-то связать, ведь все это было проделано чуть ли не отдельно в разных проектах, несколько раз переделалось в поисках наилучшего решения и на выходе я получил несколько отдельных файлов с уже готовым кодом. На этом этапе я как-раз вернулся в цифровой мир и уже мог нормально пользоваться интернетом, но в тоже время началась учеба и доля времени которое я мог тратить на бота упало в разы. Так что теперь разработка шла в несколько раз медленнее, но все так же интересно). Но вернемся к нескольким кускам тела нашего бота, долго думая че ж делать с этими кусками и как их красиво соединить, таки было сделано единственно верное решение создать еще один модуль который будет собирать все это как кусочки лего. Таким образом у меня было достаточно красивое тело бота, собранное из кусков своих собратьев и приведуших версий. Однако он все еще не мог контактировать с людьми. Поэтому оставалось сделать последний модуль, Интерфейс, который должен был общаться с telegram. Тут не было ничего сложного. Документация библиотеки просто превосходная, спасибо ребятам которые ее писали. Благо у меня теперь было постоянное подключение к сети telebot больше не плевался, а стабильно выполнял свою работу. Ну как стабильно, не плохо выполнял свою работу.
После некоторой коррекции стыков между модулями и подпиливания мелочей. Он был готов выполнять все что от него требовалось, едина печаль что у меня не хватало времени прописать весь контент что я б хотел туда запихнуть. Но это легко исправить в будущем так как все модули полностью автономны и добавить какой-либо объект не составит труда (Бот и создавался таким чтобы к нему можно было в любой момент добавить, что ни будь без особого геморроя).
Теперь нужен был сервер куда закинуть этого бота и заставить работать. Мой бот использовал метод pooling который делает постоянные запросы на сервера telegram и таким образом узнает про все изменения. Но все же я хотел и хочу перейти на Webhook так как это намного упростит жизнь боту, мне и telegram, да и ошибок станет в разы меньше.
Что же по поводу серверов, я решил использовать сервис heroku который полностью соотвецтвует своему названию. Хотя мое мнение о нем постоянно менялось во время работы к концу оно таки стало негативным, можете называть это детской травмой, но особо аргументировать я не буду, если хотите сами зайдите и попробуйте там настроить Webhook, я так и не нашел как это сделать бесплатно. Поэтому heroku пошел гулять лесом и в конечном итоге я вернулся назад к polling и своему компьютеру. И сейчас есть идея таки добить этот чертов Webhook установив сервер и само подписываемый сертификат. Не знаю, как это у меня получится, но, если не получится буду искать другие способы.
И так в конце я пришел к тому что у меня есть готовый, не стыдный бот, которого можно даже кому-то показать и похвастается. Однако есть проблемы с его подключением и стабильности соединения с telegram. Что не может не вызывать печали. Но я думаю, что это исправится в будущем.
Ах, да… Идея бота. Это текстовый игровой бот, сюжет которого в том, что случился небольшой ядерный бум, а главный герой остался живим в бункере. И ему предстоит выжить как можно дольше.
PS/ Я использую стикеры найденные в инете пока мне рисуют оригинальные. Так что это не мои их кто-то другой нарисовал) И ничьих прав я не нарушаю