братан, как с английским у тебя?skyfun738,
Цитата (crazyassmf @ 31.10.22)братан, как с английским у тебя?skyfun738,
Худо-бедно владею на элементарном уровне. Пару лет назад на Филиппинах даже на слух подтянул и общение. Сейчас конечно навык утратился малость. Последнее время на английском в основном твиттер почитываю.
Польский тоже забываю, хотя очень неплохо на нём общался и прожил полгода в Польше (2019).
Мамкин программист #айти
Месяц прошёл с моего прошлого полноценного поста. Всё это время без дела не сидел. Так получилось, что первый проект выбрал не я, а он меня.
Моим рабочим пространством в Яндексе является страничка в браузере, в которой и решаются все пользовательские обращения. Каждый раз когда очередь из тикетов обращений заканчивается, появляется pop-up с такими кнопками.
За смену, кнопочку "Можем повторить" "Повторять ещё минуту" приходится нажимать ~200 раз. Она начала меня бесить через пару смен и терпеть это безобразие не было сил. Вызов принят, решил я и начал думать как написать свою первую, хоть и маленькую, но полноценную программу по нажиманию на кнопку в браузере. Звучит просто, а вот реализовать неофиту будет сложно.
В общем на всё ушло около 10 дней чистого времени. Изучал и кодил по выходным и то не в каждый. Самым сложным оказалось найти необходимые библиотеки, выяснить какие методы мне нужны и понять как их использовать.
Приличная часть времени ушла на изучение билиотек:
tkinter - графический интерфейс (GUI);
threading - для разделения на 2 потока, ибо tkinter конфликтует с другими циклами и графический интерфейс просто висит;
selenium webdriver, lackey, PyAutoGUI - это собственно библиотеки, задача которых найти кнопку и нажать её. Вобще нужна только одна библиотека из этих 3-х, правда не всегда понятно какая именно. Сейчас остановился на PyAutoGUI.
Остальная часть времени ушла на поиск багов, коих было прилично. Сейчас остался ещё один сложноуловимый баг: через пару часов работы, начинает слегка подвисать всё.
Вид графического интерфейса ниже на картинке. Сам код покажу уже по завершению, надеюсь успешному.
Старт и Стоп понятно зачем, а вот счётчик считает сколько раз программа нажала кнопку, чтобы напоминать сколько ресурсов сэкономил саппорт благодаря этой утилите.
Код без графического интерфейса занимает 7 строк, с GUI - 70 строк.
Теперь прекрасно понимаю почему программисты не любят GUI: много кода, много багов, много ресурсов системы, ниже скорость и надёжность.
Программу пишу не только для себя, но и для коллег по работе, поэтому без GUI никак. Надписи сделал на английском, вдруг пригодится отделу международной поддержки, а там не все могут знать русский. Будет круто, если получится внедрить на работе, сразу + в резюме.
Денег за программу мне не светит, так как по договору вся интеллектуальная собственность на время контракта принадлежит Яндексу.
В принципе есть способ монетизировать, просто предложив задонатить по 100 руб коллегам, но это уже делёжка шкуры неубитого путина.
Если у вас возник вопрос "почему Яндекс сам не пофиксит?", то у меня такой же вопрос к ним. Может им неинтересно или никто не жалуется.
Может это такая фича, а не баг и нах#й им не сдалось то что я накодил )) Хотя я спрашивал у коллег и все говорили, что круто было бы решить проблему с этой кнопкой.
Если нужно не в качестве обучения, а для дела, то подобные вещи гораздо быстрее и проще пишутся на AutoHotkey. Приходилось когда-то писать авторегистратор для старзов почти с таким же GUI как у тебя )
Autohotkey норм вариант, но вообще если в браузере, почему не плагин для браузера написать? Зачем связываться с посторонним GUI? В этой задаче и горячими клавишами можно обойтись вроде, а счетчик на кнопке плагина установить.
сорри я совсем далек, но есть же готовые кликеры - которым только алгоритм задаешь в файл и пошло, знаю, что так многие раньше модерили озон и тд тупо на автокликерах
skyfun738, круто!
Как выше писали, да уже есть готовые решения и громоздкий велосипед как-бы не нужен, но самое главное что ТС САМ написал простейший код, гуглил, пробовал и тд! Верной дорогой идёт)
Цитата (swordfish @ 14.11.22)Autohotkey норм вариант, но вообще если в браузере, почему не плагин для браузера написать? Зачем связываться с посторонним GUI? В этой задаче и горячими клавишами можно обойтись вроде, а счетчик на кнопке плагина установить.
Интересный вариант решения. Надо подумать.
Большинство коллег работает в яндекс-браузере, а сам что-то брезгую его устанавливать, сижу через Firefox. Юзать Chrome для работы запрещено. В целом хочется кроссбраузерное решение.
Цитата (tltdabomb @ 14.11.22)сорри я совсем далек, но есть же готовые кликеры - которым только алгоритм задаешь в файл и пошло, знаю, что так многие раньше модерили озон и тд тупо на автокликерах
Цитата (Dm3ya @ 14.11.22)skyfun738, круто!
Как выше писали, да уже есть готовые решения и громоздкий велосипед как-бы не нужен, но самое главное что ТС САМ написал простейший код, гуглил, пробовал и тд! Верной дорогой идёт)
Как то забыл про готовые решения, хотя кажется тем же AutoHotkey сам пользовался лет 8 назад. Разумеется одной из основных целей было самообучение. Начинать надо с простого и при этом полезного в хозяйстве, чтобы не надоело через неделю.
Кратенький гайд о том как лучше пользоваться Яндекс-такси, чтобы редко обращаться в службу поддержки.
Если прям совсем кратко: такси не для бедных.
Теперь подробнее:
- Не привязывайте карту к приложению и платите только наличными;
- Имейте наличных примерно в 2 раза больше, чем изначально планируете заплатить;
- Имейте полный набор купюр до 50 руб включительно, чтобы оплатить почти без сдачи (например поездка стоит 321 руб, отдайте 350 руб);
- Выбирайте тариф как можно дороже, чтобы водители охотнее и быстрее вас обслужили;
- Заказывайте не во двор, а ближе к дороге;
- Всегда проверяйте маячок (точку), водители ориентируются на неё, а не на адрес.
Что не любят таксисты:
- дешёвые заказы;
- давать сдачу;
- заезжать во дворы;
- ездить в деревни, сады и прочие ебеня.
Вывод: в основном в поддержку обращаются очень небогатые и принципиальные люди, они хотят платить 80-120 руб за поездку, но чтобы обслуживание было на 3 000 руб, а именно чисто, вежливо и быстро. Эти люди готовы тратить своё время, ради компенсации в 15 рублей.
Ну и таксисты отмораживаются от таких дешёвых заказов, ибо шкурка выделки не стоит, поэтому всячески увиливают. Пока он сделает 3 таких заказа по 100 руб за час, его коллега, дождётся заказа на 1500 руб и сделает их за 40 минут.
Лично сам на такси не ездил, вроде даже никогда, не помню. Знаю своё нищебродское место ))
Человек, работающий в поддержке Яндекс.Такси, ни разу не ездил на такси?)) Чувак, это такие желтенькие машины, там деньги водителю даешь, и он тебя отвозит куда тебе надо:)
Цитата (cansas-city @ 26.11.22)Человек, работающий в поддержке Яндекс.Такси, ни разу не ездил на такси?)) Чувак, это такие желтенькие машины, там деньги водителю даешь, и он тебя отвозит куда тебе надо:)
Не было необходимости, люблю ходить пешком даже в плохую погоду.
Конечно, всех нюансов не знаю, особенно по водительской части и технической работы приложений (водительского и пользовательского). Гайдик составлен на основе приблизительной статистики обращений клиентов.
Откуда же я знаю, как отвечать клиентам, если сам не ездил? Ответ проще некуда, у меня есть доступ к мануалам ответов на часто задаваемые вопросы, а также к данным поездки: треку, платёжкам, истории обращений.
Тема Яндекс-такси ещё неисчерпана. Можно будет написать пост о самых частых заблуждениях клиентов, а когда меня уволят (ждать осталось недолго), то расскажу о косяках в работе компании, за которые приходится испытывать испанский стыд.
Напишу чуток, как продвигается дело с моей программой для службы поддержки #айти
Сейчас вышел на финишную прямую. Только что написал письмо в службу информационной безопасности компании. В письме указал, что делает программа, какую проблему она решает, а также две ссылки с директорией exe-файла и исходниками.
Чтобы вы понимали, исходники весят 8,4 килобайта, а exe-шник 154 Мб. Для тех кто далёк от программирования немножко поясню, это всё из-за используемых библиотек и интерпретатора python, которые у стороннего пользователя не установлены на ПК.
Ещё не так давно, сам наивно полагал, что сколько кода написал, столько и будет весить программа, ведь всё должно превращаться в нули и единицы, которые ПК должен уметь читать по умолчанию. А так получается каждая программа со своим багажом, размером с дом, без которого ничего не может сделать.
Вернёмся к программе. Изначально хотел чтобы она распространилась по-тихому в отделе через сарафанное радио, но люди которым предлагал потестировать, напрочь отказались. Один сослался на результат онлайн-сервиса virustotal, там 10% антивирусников дали ложноположительные результаты наличия каких-то троянов. Видимо это проблема таких вот самосборок. Наставница отказалась в последний момент якобы по причине несогласованности моих разработок с руководством.
Вчера написал начальнице, что мол так и так создал такую программу, хочу узнать ваше мнение. Сначала она повозмущалась, опять же что я ничего не согласовал с отделом безопасности. На что ответил ей, как можно согласовывать ещё несуществующий проект от новичка-любителя, который с трудом понимает, что он делает и не уверен будет ли эта хрень работать вообще. Скинул ей скрин интерфейса программы и сделанное мной саппортское лого для иконки. По итогу начальница успокоилась и написала, чтобы держал в курсе.
Честно говоря, мне дико смешно от того на какой измене они сидят. В их глазах выгляжу как НЕО, который проник в компанию и вот вот уничтожит её своей жалкой безделушкой жуткой программой.
С одной стороны мне понятно это недоверие, хрен знает что ожидать от чувака о котором ничего не знаешь. С другой вспоминается как туземцы реагируют на изобретения цивилизации и сразу начинают считать либо за бога, либо за дьявола, просто потому что не знают природу этих вещей. Непонимание вселяет ужас.
Самое главное уже получил для себя - опыт. От идеи до приложения, которое может работать не только на твоём ПК, но и у других.
Пока делал exe-файл (разумеется не с первой попытки), выяснил, что картинка кнопки которую использую для поиска, не всегда работала. Оказалось, что в разные дни, изображение кнопки слегка отличается. Полагаю из-за того что работают разные серверы: один работает, другой обновляется. Пришлось допиливать поиск кнопки по двум картинкам на что ушло 5-10 минут.
Цитата (skyfun738 @ 13.11.22)Мамкин программист #айти
Месяц прошёл с моего прошлого полноценного поста. Всё это время без дела не сидел. Так получилось, что первый проект выбрал не я, а он меня.
Моим рабочим пространством в Яндексе является страничка в браузере, в которой и решаются все пользовательские обращения. Каждый раз когда очередь из тикетов обращений заканчивается, появляется pop-up с такими кнопками.
За смену, кнопочку
"Можем повторить""Повторять ещё минуту" приходится нажимать ~200 раз. Она начала меня бесить через пару смен и терпеть это безобразие не было сил. Вызов принят, решил я и начал думать как написать свою первую, хоть и маленькую, но полноценную программу по нажиманию на кнопку в браузере. Звучит просто, а вот реализовать неофиту будет сложно.
В общем на всё ушло около 10 дней чистого времени. Изучал и кодил по выходным и то не в каждый. Самым сложным оказалось найти необходимые библиотеки, выяснить какие методы мне нужны и понять как их использовать.
Приличная часть времени ушла на изучение билиотек:
tkinter - графический интерфейс (GUI);
threading - для разделения на 2 потока, ибо tkinter конфликтует с другими циклами и графический интерфейс просто висит;
selenium webdriver, lackey, PyAutoGUI - это собственно библиотеки, задача которых найти кнопку и нажать её. Вобще нужна только одна библиотека из этих 3-х, правда не всегда понятно какая именно. Сейчас остановился на PyAutoGUI.
Остальная часть времени ушла на поиск багов, коих было прилично. Сейчас остался ещё один сложноуловимый баг: через пару часов работы, начинает слегка подвисать всё.Вид графического интерфейса ниже на картинке. Сам код покажу уже по завершению, надеюсь успешному.
Старт и Стоп понятно зачем, а вот счётчик считает сколько раз программа нажала кнопку, чтобы напоминать сколько ресурсов сэкономил саппорт благодаря этой утилите.
Код без графического интерфейса занимает 7 строк, с GUI - 70 строк.
Теперь прекрасно понимаю почему программисты не любят GUI: много кода, много багов, много ресурсов системы, ниже скорость и надёжность.
Программу пишу не только для себя, но и для коллег по работе, поэтому без GUI никак. Надписи сделал на английском, вдруг пригодится отделу международной поддержки, а там не все могут знать русский. Будет круто, если получится внедрить на работе, сразу + в резюме.Денег за программу мне не светит, так как по договору вся интеллектуальная собственность на время контракта принадлежит Яндексу.
В принципе есть способ монетизировать, просто предложив задонатить по 100 руб коллегам, но это уже делёжка шкуры неубитого путина.
Если у вас возник вопрос "почему Яндекс сам не пофиксит?", то у меня такой же вопрос к ним. Может им неинтересно или никто не жалуется.
Может это такая фича, а не баг и нах#й им не сдалось то что я накодил )) Хотя я спрашивал у коллег и все говорили, что круто было бы решить проблему с этой кнопкой.
skyfun738, ты это, осторожнее... первый шаг в сторону ботоводства сделан
Цитата (tester37 @ 26.11.22)skyfun738, ты это, осторожнее... первый шаг в сторону ботоводства сделан
Пошёл по наклонной ))
Цитата (mihhhhey @ 26.11.22)Лого прикольное.
Я бы наверное тоже чего-то заподозрил, посмотрев на 150ти-мегабайтный размер )
Мерси за комплимент лого.
По поводу размера сам в шоке, думал будет потолок 20 Мб. Если делать одним файлом, то получалось 60-80 Мб, но не работало. Поэтому пришлось делать в виде директории - папочка в которой лежит куча файлов в том числе exe.
Полагаю, если писать на языке со статической типизацией типа C# (под windows), то файл будет в разы, а то и в десятки раз меньше.
Если меня читают специалисты по созданию exe-шников, хотелось бы услышать компетентное мнение.
Самодокументируемый код - наше всё!
Коротко о сегодняшнем дне
😱
#мемыАйти