kanadezzz

kanadezzz

Пикабушник
поставил 6 плюсов и 0 минусов
отредактировал 0 постов
проголосовал за 0 редактирований
Награды:
5 лет на Пикабу
6362 рейтинг 9 подписчиков 0 подписок 7 постов 3 в горячем

Заказчик всегда прав

Заказчик всегда прав Фриланс, Ecommerce, Заказчики

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


Результат: 9 из 10 покупателей, разогретых на покупку, уходят, дойдя до оплаты. Сейчас переделываем на пошаговое оформление.

Показать полностью 1

Заказчики делятся на два типа

Заказчики делятся на два типа Фриланс, Разработка, Заказчики

Все заказчики делятся на два типа: те, что много требуют и плохо платят, и те, что мало требуют и хорошо платят. Занимаюсь разработкой 10 лет. И первые пять лет, как специально, попадался только первый тип. Последнее время - только второй.

О российских продуктах

О российских продуктах Telegram, Павел Дуров

Несколько раз видел в Сети чьё-то высказывание о том, что "Telegram - единственный российский продукт, который ценится и за её пределами. А власти, мол, пытаются сейчас и это добить". Ну, во-первых, Телеграм - не российский продукт, как неоднократно заявлял сам Дуров. И никакого отношения к России не имеет. А, во-вторых, как же рашн водка?

Привет ребятам из РКН

Привет ребятам из РКН Блокировка Telegram, Telegram, Роскомнадзор, Павел Дуров

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

Откуда берутся эксперты во всех областях?

Откуда берутся эксперты во всех областях? Фриланс, Веб-разработка, Заказчики

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


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


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

Показать полностью

Как привязать к себе заказчика

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


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

Как привязать к себе заказчика Фриланс, Заказчики

Тройное комбо в области парсинга данных, или как мы сделали кроулер сайтов на основе ИИ, двух тысяч прокси и Chrome API

Тройное комбо в области парсинга данных, или как мы сделали кроулер сайтов на основе ИИ, двух тысяч прокси и Chrome API Машинное обучение, Искусственный интеллект, Веб-разработка, Длиннопост

Занимаемся разработкой. Задача стояла следующая: собрать данные с израильской доски объявлений, которая блокирует на входе все страны кроме Израиля и некоторых европейских (исключая Россию). Далее блокирует всех, кто ведёт себя хотя бы сколько-нибудь подозрительно. Например, при запросе страницы сайта чаще 1 раза в 3 секунды уже есть возможность попасть в бан-лист. Далее, чтобы узнать номер телефона автора объявления (без которого все остальные бесполезны) нужно пройти капчу на иврите (местный язык). Т.е. доступную только евреям. Иными словами, создатели сайта явно против того, чтобы их парсили. Но мы решили попробовать.


Сначала сделали полуавтоматический режим. Написали расширение для Google Chrome, которое парсило страничку объявления после прохождения капчи человеком. По ходу дела пришлось подучить иврит. Посадили человека собирать данные. Через пару часов выясняется, что сайт заблокировал нашего человека. Как в итоге выяснилось, по IP, из-за слишком частого перехода по страницам. Поставили ему VPN с примерно 20-ю странами. Хватило на пару дней — сайт располагает удивительно мощным алгоритмом вычисления парсеров. Добавили в расширение Chrome очистку куков и кеша при каждом посещении. Сработало, но снова только на неделю. В отчаянии хотели было звонить заказчику и плакаться о том, что ничего не получится. Но решили попробовать кое-что ещё. И вот тут начинается самое интересное.


Ещё за полгода до этого меня заинтересовала тема ИИ и нейросетей. Написал даже простенький парсер изображений, который определял наличие человеческой физиономии на фотографии. И тут в голову пришла мысль — почему бы не использовать машинное зрение для прохождения капчи. На сайте, с которым мы боролись, капча не сложная. Больше узконаправленная на евреев, чем сложная. Было решено попробовать написать парсер для неё, однако перед этим нужно было решить вопрос блокировки по IP. VPN не подходит, как уже стало известно. Следующее, что пришло в голову — прокси. Долго мучились с с тем, чтобы найти список годных проксей. Бесплатные все не подходят — они фактически не работают. Стали пробовать платные. Картина не намного лучше, но всё же. Нашли в итоге русский сайт с более-менее рабочими серверами. Прикрутили их к cURL через API и написали сборщик данных на PHP. Поставили его на cron. Скрипт просто брал из 800 прокси случайный и пробовал собрать через него данные. Если без результата — брал следующий и по кругу. Таким образом удавалось собирать все данные кроме номера телефона, который под капчей. Неделю парсер проработал без блокировок, что можно считать успехом. Дальше встал вопрос капчи.


При написании парсера изображений я пользовался гугловской библиотекой TensorFlow. На её основе была построена и обучена нейросеть на питоне, которая определяла цифры на картинке, изображенные рукописным шрифтом на иврите. Заняла разработка сей вещи столько времени, денег и нервов, что заказчик до сих пор вспоминает это со слезами. Однако в итоге парсер верно читал капчу примерно в 7 случаях из 10, чего вполне достаточно для прохождения. Дальше встал новый вопрос: как брать изображение капчи у сайта через cURL, если капча асинхронная, а cURL не умеет выполнять скрипты?


Здесь мы вспомнили про созданное ранее расширение для Google Chrome. С его помощью был выработан примерно следующий алгоритм: cURL собирает все данные кроме номера телефона, далее передаёт управление в постоянно работающее браузерное расширение (да, костыль, но на тот момент было самым быстрым решением), там вычисляется изображение капчи, отдаётся на сервер в нейросеть, считывается и возвращается в расширение, где в итоге открывается и сохраняется номер телефона в базу. Всё.


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

Показать полностью
Отличная работа, все прочитано!