Задать вопрос
  • Клиент на Upwork угрожает международным судом, возможно ли это?

    kumaxim
    @kumaxim
    Web-программист
    Допустим, я и Вы - оба граждане Российской Федерации. Мы с Вами подписали договор, по которому я Вам плачу условные 5 т.р. за 10 часов Вашей работы в месяц. Все у нас было хорошо 6 месяцев, однако, потом с моей стороны возникли проблемы, скажем клиент/партнер меня кинул, на счете у меня осталось 25 рублей, откуда брать денег не понятно. В данном случае, не получая денег от меня Вы останавливайте работу и имеете право подать на меня в суд с требованием взыскать условныу 5 т.р., которые я Вам задолжал. С Вашей стороны, да и со стороны закона все чисто, гладко и ровно.

    Теперь давайте переместимся на мою сторону. Денег у меня на счете сейчас нет и не предвидится. Взять бысто деньг мне не от куда. С Вами по существу мне спорить не о чем. Я прекрасно понимаю, что если Вы получите решение суда и предъявите его приставу, то мой счет будет очень быстро заблокирован и как-то рассчитаться с Вами я не смогу. В таком случае, моей стратегий будет затягивание времени. Скажем, Вы подаете на меня в суд, я в суде заявил возражение, мол истец не выполнил в полной мере процедуру досудебного урегулирования конфликтов, предусмотренную договором. Разумеется, в нашем договоре есть пункт типа "Все споры и претензии решаются путем переговоров...", однако, не прописан их формат, условия согласования и т.п. На этот момент я давлю и прошу отложить рассмотрение дела по существу на 8 недель. Затем, через 2 месяца я предоставлю в суд справку о том, что мол ложусь в стационар на неделю, поэтому присутствовать не могу и т.п.

    Всеми этими действиями я добиваюсь одного - максимально отсрочить блокировку моего счета, как план минимум. Мне это нужно для того, чтобы найти способ залатать дыру, которая у меня появилась из-за недобросовестных действий моего клиента/партнера. Для того чтобы Вы не подали на меня в суд вовсе, я могу начать докапываться до всяких мелочей, в духе а вот тут две запятые не в том месте... либо я могу начать пугать Вас, мол по Вашей вине у меня вот сайт упал, я понес убытки, для тебя это такая-то статья ГК РФ... либо я могу развести Вас на какое-то правонарушение, и имея на руках на Вас компромат сказать: "Да, я Вам должен условные 5 т.р.,однако, если Вы подадите на меня в суд, тогда я достану вот эти вот факты и заставлю Вас заплатить условные 10 т.р." Эти дела никак не связаны, однако, в Вашей голове промелькнет: "Да ну его нафиг, не буду с этим му###м связываться", чего мне собственно и нужно.

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

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

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

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

    opium
    @opium
    Просто люблю качественно работать
    Сказать честно никак, обычно и не спрашивают подтверждение
    Ответ написан
    Комментировать
  • Как правильно организовать работу с изображениями при локальной разработке/обслуживании сайтов?

    castomi
    @castomi
    Серверный администратор - tickets.settin.ru
    Можно проксировать изображения с продакшена.
    location ~* ^.+\.(svg|svgz|ttf|jpg|jpeg|gif|png|ico|webp)$ {
        try_files $uri @prod;
        access_log off;
        expires 8d;
    }
    location @prod {
        proxy_pass       http://prod.ru;
    }

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

    P.S. естественно этот конфиг подойдёт только для nginx, но я думаю и на апаче изобразить такое же просто. Но я конкретно с апачем редко сталкиваюсь, так что написал на том что мне понятно.
    Ответ написан
    6 комментариев
  • Про конкуренцию на фрилансе?

    opium
    @opium
    Просто люблю качественно работать
    Надо понимать что хорошие специалисты на тостере не сидят)
    Я вот на тостере для того. чтобы заказы интересные забирать время от времени.
    Если хороший спец работает года 3 то у него просто нет проблем с поиском работы, работа сама его ищет.
    Ответ написан
    20 комментариев
  • Почему при if (6 || 5 && (x = 1)) переменная x не равна единице?

    bubandos
    @bubandos
    bash'у, javascript'ую, php'лю, css'аю, html'каю
    потому что, фактически, ваше выражение выглядит вот таким образом:
    var x = 0
    if (6 || (5 && (x = 1))) document.write(x); // 0

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

    https://tc39.github.io/ecma262/#sec-binary-logical...
    вторая часть п.12.13.3 касается как раз указанного в начале обсуждения случая.
    Ответ написан
    18 комментариев
  • MySQL или PostgreSQL при геозапросах?

    sim3x
    @sim3x
    Голосую за постгрес

    Или в приказном порядке сказать чтоб разработка велась на PostgreSQL?
    приказывать придется, только если на мускул завяжитесь

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

    полнотекстовой поиск
    для такого требуется интегрировать shinxsearch
    Различный сортировки по характеристикам, производителям и тд.
    зависит от структуры БД
    Автоматический подбор аналогов
    не зависит от СУБД, нужно писать свое решение или втупую добавлять руками
    Анализ синтаксиса названий товаров в категории для автоматического определения нового товара в нужную категорию и прочие плюшки.
    не относится к СУБД совсем, отдельное решение, с большой долей ручной работы (в начале)
    Проще/дешевле тыкать в поставщиков палочкой и заставлять их формировать прайсы с одинаковыми SKU
    Ответ написан
    4 комментария
  • Куда ехать фрилансить, в какую страну?

    opium
    @opium
    Просто люблю качественно работать
    смело приезжайте в наше кондо в тае
    и с жильем все решим и фрилансеры живут у нас в основном
    Ответ написан
    6 комментариев
  • Как выглядит "прокачанный" аккаунт ГитХаб?

    Bandicoot
    @Bandicoot
    Вась-программист
    Там, где активность похожа на лесную поляну)
    Ответ написан
    1 комментарий
  • Не завышено ли тестовое?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Задание простое для человека с опытом yii2. Но для стажера это странно. Однако разобраться со всем этим Вам все равно нужно, так что не вижу причин не сделать это в рамках тестового задания. Да будет не просто и не быстро, но это навыки, которые не раз пригодятся.
    Ответ написан
    2 комментария
  • Как объяснить человеку, что ему нужно знать язык досконально?

    @InoMono
    Вы ошибаетесь:
    Досканально знать язык не нужно. Хорошо в нем ориентироватся - да. На остальное - есть справочники. Тебе нужно ориентироваться, чтобы знать где именно искать.

    Вторая ваша ошибка:
    Говнокодерство к уровню знания языка отношения не имеет.
    Да, самое никакующее знание языка будет давать говнокодерство.
    Но при этом и самое отличное знание языка от говнокодерства ничуть тебя не гарантирует.

    Не говнокодить - это знать методологии/паттерны/приемы, а не язык. И грамотно и уместно применять их - а это вообще не знания даже, а навыки.

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

    Чтобы не быть г*внокодером


    Кроме отрицательной эмоциональной окраски - что тут такого.
    Даже выдающиеся программисты говнокодят, если проект одноразовый или сроки жмут.
    Это нормально.

    Другое дело, что есть и такие которые всегда говнокодят и иначе не могут.
    Ответ написан
    30 комментариев
  • Обязательно ли сегодня оптимизировать картинки под retina?

    vicodin
    @vicodin
    Имею некоторый опыт
    было обязательно ещё вчера, вы не представляете как печально видеть замыленные логотипы и иконки, особенно учитывая, что это не требует каких-либо дополнительных усилий
    Ответ написан
    Комментировать
  • Как в JS работать с альтернативными часовыми поясами?

    Veliky
    @Veliky
    Full Stack Web Dev
    Возможно для вас будет лучше использовать Moment Timezone.
    Ответ написан
    Комментировать
  • Как решить проблему с adminEmail?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Ошибка очевидно говорит, что в массиве $app->params нет элемента adminEmail.
    Возможно потому что к моменту обращения к Вашему классу еще не подключен конфиг, а Вы уже из него тянете данные. Смотрите в дебаге поочередность вызовов.
    Ответ написан
    7 комментариев
  • В чём причина постоянного переделывания кода?

    search
    @search
    мама говорит что я особенный
    На самом деле, рефакторинг - это неотъемлемый элемент процесса разработки. Без него никак. На поздних этапах обязательно всплывают неучтенные подробности. К тому же сам разработчик развивается и стремится улучшить то, что было написано несколькими месяцами ранее.

    Но если в рамках рефакторинга программист коммитет больше 20 файлов за раз, то есть вариант что он не видит всей картины, поэтому пилит "супергибкую архитектуру". В этом случае, можно сесть вместе с разработчиком и составить майндмеп всех элементов будущей системы и связей между ними. Это будет полезно как для разработчика, так и для менеджера проекта.
    Ответ написан
    5 комментариев
  • Нужен совет по верстке на Bootstrap 4?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Если Вы используете какую-то технологию, это не значит, что другие нельзя использовать с ней. То что Вы хотите это явно:
    https://masonry.desandro.com/
    при чем c bootstrap она отлично ладит (с 4-м не юзал, но думаю что проблем быть не должно)
    Ответ написан
    3 комментария
  • Что за странное поведение после миграции?

    @iSensetivity
    бухгалтер, програміст-самоук
    Почистите кеш фреймворка. Папка runtime
    Ответ написан
    1 комментарий
  • Как лучше реализовать онлайн оповещения?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Вариант с ajax не советую
    Cron - вариант
    Web socket - хороший вариант, но придется с ним разобраться.

    Проще всего сделать логику, которая будет решать есть уведомления или нет и повесить ее в конфиге на событие beforeRequest. тогда при каждом запросе будет выполняться эта логика. Допустим создать таблицу id|user_id|message|date_create|date_not_actual и писать в нее события. Зарегился пользователь записали и т.д. А в Вашей логике читать эту базу и выводить оповещения. Можно закешировать, сделав зависимость от count сообщений для пользователя. Пример таблицы абстрактный, тут смотря какие уведомления и о чем хранить.
    Ответ написан
    5 комментариев
  • Какой ноутбук для вёрстки выбрать?

    @AnneSmith
    самая ленивая
    макбук конечно
    занятие крайне муторное, пусть хоть красивая машинка вас радует
    Ответ написан
    34 комментария