Задать вопрос
  • Легаси-монстр. Как побеждаете?

    @MasterMike
    Из вопроса не очень понятно, что именно составляет ваш интерес отрефакторить этот проект.

    Если вы чисто по доброте душевной хотите помочь бизнесу, то не надо этого делать, иначе вы на своем личном опыте осознаете фразу "инициатива наказуема" )

    Касательно сути вопроса поддержу уже сказавших свое мнение: постепенное помодульное переписывание старого кода на современный лад. Старый код работает вместе с новым и так далее, пока от legacy ничего не останется.
    Ответ написан
    3 комментария
  • Легаси-монстр. Как побеждаете?

    @RidgeA
    Немного банальностей:
    1. Бизнес не даст ресурсов на переписывание проекта с 0: время и большие риски
    2. Бизнесу как правило все-равно какое говно там крутится, лишь бы деньги приносило.
    3. Если более-менее адекватное руководство - нужно донести идею постепенного рефакторинга кода по мере необходимости в процессе фикса багов и разработки новых фич и тем самым аргументировать что на разработку новых фич/фикс багов нужно больше времени.

    Как я бы делал:
    1. Тесты на существующие функции (если возможно, видел методы в контроллерах с мешаниной вызовов методов моделей, созданием DTO и сохранением их через репозиторий, прямых http-запросов и запросов в бд на 1000+ строк, покрыть такое тестами - невозможно)
    2. Составить план рефакторинга, где отметить что и где надо сделать, коротко, в основном для команды разработчиков.
    3. Постепенно рефакторить старый код по мере взаимодействия с ним.
    4. Новый код - писать сразу правильно, для взаимодействия со старым кодом где нет возможности/времени его переделать - делать какие-то адаптеры, что бы не распространять токсичный код.
    5. Как оперативная мера защиты от SQL иньекций можно поставить что-то вроде этого https://github.com/nbs-system/naxsi
    6. Мониторинг кода, который не используется - pinba.org , по мере обнаружения такого кода - удалять безвозвратно (в крайнем случае есть VCS, я надеюсь). Начать с более высокоуровнего кода - контроллеры, напримерю. Плюс IDE в этом могут помочь и grep.
    7. Как вариант - новые фичи можно пилить в отдельном проекте (v2), крутить оба и постепенно переходить на новый, со временем старый (v1) выкинуть (и начать делать новый - v3 :-) )
    Ответ написан
    3 комментария
  • Как организовать корзину товаров на VueJS, Vuex?

    muzikant777
    @muzikant777
    PHP/Vue разработчик
    Удивительно, но в официальном репозитории есть пример прям про это.
    А ещё есть курс для начнинающих на основе этого примера.
    И всё про корзину продуктов! Радость, счастье!
    Ответ написан
    1 комментарий
  • Как влияет на ноутбук 2 и 3 монитор?

    положительно влияет
    вы получаете дополнительный монитор
    ничего
    одни за, никаких против
    Ответ написан
    5 комментариев
  • Как влияет на ноутбук 2 и 3 монитор?

    fdroid
    @fdroid
    press any key
    Отрицательно влияет. Мониторы занимают много места, превращая компактный компьютер в громоздкую рабочую станцию. Работать неудобно в ворохе проводов.
    Одни минусы, никаких плюсов.
    Ответ написан
    2 комментария
  • Для выполнения каких задач какой язык программирования подходит?

    Jump
    @Jump
    Системный администратор со стажем.
    каждый язык сделан под свою группу задач
    так и есть.
    якобы можно программировать все и на всем, различие только в простоте и лаконичности метода выполнения задачи.
    Это так, но с некоторыми оговорками.

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

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

    Ну и есть специализации - например php это язык для серверного бэкэнда для этого он разрабатывался и неплохо себя в этом показывает. Написать на нем обычное десктопное приложение затруднительно, хотя и можно, но это будет набор костылей.
    Пайтон - универсальный, подходит для написания бэкэнда, для скриптов администратора, для научных расчетов, на нем можно и десктопные приложения писать.
    C# заточен для работы в майкрософтовской инфраструктуре - если нужно написать десктопное приложение идеальный язык.
    Java - корпоративный язык.
    JS - скрипты администратора, фронтэнд.
    Ответ написан
    5 комментариев
  • Как использовать КИК для разработки ПО, не нарушая законы РФ?

    @EkaterinaBel
    Скажите, является ли данная схема законной, нет ли нарушений российских законов?

    Во-первых, сразу видно, что это схема. И сделано только для того, чтобы работать с иностранными клиентами, получая денежные средства на счет вне РФ и платить минимум в РФ. Поэтому претензии будут, скорее всего. Какие именно, сказать, сложно. Могут просто переквалифицировать в дивиденды. Это самый простой вариант.

    Во-вторых, все мои расходы сведутся к 10 200 рублей в год -
    это не так. Надо будет еще страховые взносы заплатить. в 2019 году 36 238 руб. для ИП
    На патенте вычесть страховые взносы нельзя, то есть плюсом.
    Никакие вычеты (недвижимость, лечение-обучение) тоже не применяются. Это только для НДФЛ 13%

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

    В-четвертых, посмотрите, какую отчетность надо предоставлять по КИК. Затребовать заключение об отсутствии прибыли вполне могут. Это дополнительные затраты на перевод, как минимум.

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

    Даже не спрашиваю, но я так понимаю, что живете (зарегистрированы) Вы в Саратове, договор с КИКом будет на разработку ПО, а не на что-то другое.
    Иначе по налогам обложат по ОСНО, и заплатите 33%
    Ответ написан
    2 комментария
  • Как выглядит современный процесс верстки?

    @coderxx
    keep calm and learn js
    Не уверен что начинающим верстальщикам нужно заморачивать себе голову всем этим ужосом:) Но может кому-то и пригодится:
    - создаю новый проект на базе немного допиленного Optimized4HTML (можно копировать папку руками, можно сохранить в PhpStorm как темплейт, второе разумеется удобнее). Проект имеет следующую структуру:
    5c13ab56a03e8108817224.png
    - открываю его в PHPStorm, через командную строку устанавливаю пакеты и запускаю вотчер со следующей конфигурацией:
    5c13ad0d5c912921297608.png
    (таким образом отслеживаются изменения в файлах index.html, *.scss, common.js, а так же релодится браузер; в процессе верстки просто перескакиваем на виртуальный рабочий стол с открытым сайтом и сразу видим изменения, а если есть второй монитор то вообще песня). Кстати, перечень пакетов ннада?
    5c13ae2b57082880473288.png
    - из плюшек emmet и sass обязательно, в качестве таскранера - gulp.
    - макеты у меня в .sketch, так же кто не пробовал советую попробовать Figma, получите практически скетч в браузере. Adobe Photoshop не люблю. Adobe XD не пробовал, но осуждаю. Здесь наверное больше дело вкуса и реалий, в которых вы работаете (например, в каком формате получаете макеты, какая ОС на рабочем компе).
    Вроде все просто. Что непонятно - спрашивайте, отвечу.

    UPD. Optimized4HTML недавно перешел на Gulp 4, советую попробовать. Учтите, что Gulp 4 не имеет обратной совместимости с галпфайлами предыдущей версии, так как немного изменился синтаксис.
    Ответ написан
    9 комментариев
  • Тестовое задание (Junior Frontend), приемлемое ли?

    @stratosmi
    Имхо, вы путаете:

    Junior
    и
    Trainee

    Для джуна задание нормальное. Более чем несложное.

    А то, как вы к нему относитесь боязливо - скорее выдает трейни.

    Радует что нет адаптива


    И это вы пишите в конце второго десятилетия 21 века?
    Когда трафик со смартфонов давно превысил 60% ?
    Ответ написан
    Комментировать
  • Тестовое задание (Junior Frontend), приемлемое ли?

    bootd
    @bootd Куратор тега CSS
    Гугли и ты откроешь врата знаний!
    При чём тут какая-то связка с php? Как php вообще относится к вёрстке? Если вы там адаптивности боитесь, то, лично моё мнение, вам ещё нужно подтянуть знания и вы себя в оценке переоценили))

    Что насчёт самого макета, то я бы сказал, слишком лёгкий. Чё тут делать то? Карту вставить? Подвигать стрелочки при наведении через css? Сделать кнопку с раскрытием меню?

    P.S. Я никак не хочу обидеть или оскорбить вас, но я не понимаю, сути вашего вопроса. У вас навыки 70% х 30%, а вы вместо того, что бы начать верстать, пришли сюда с глупым вопросом, а не слишком ли сложно!
    Ответ написан
    2 комментария
  • Какой Time Tracker для фрилансера выбрать?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    9 комментариев
  • Permission на клиенте. Как реализуют профи?

    Fragster
    @Fragster
    помогло? отметь решением!
    На клиенте рисовать только доступные кнопки, с клиента периодически слать запрос на доступные кнопки + отдельная кнопка для обновления с клиента. Иметь возможность "пропихнуть" кнопки с сервера в дополнение к ответу на запрос. На сервере, естественно, проверять доступность функции.
    Если же нам надо продать "недоступные кнопки", то их можно рисовать, но в задизэйбленом состоянии.
    Ответ написан
    1 комментарий
  • Как IT компании находят нишу в enterprise-разработке?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Как правило компания делает доя себя, а она при этом морской порт... Со временем грамотный менеджер понимает — у всех порты одинаковые, а только мы круты в автоматизации. Выделяется отдел в отдельную компанию и сам порт-владелец уже не сам заказчик, а один из заказчиков...

    Всё тоже самое, но только изначально компания внешняя... Сделала заказ и поняла, что стоит тут копать и переиспользовать разработки.

    Вариант 3. Основатель такой компании работал над некими проектами, как описано выше, но компания замкнулась на основном заказчике и не шла в тренде... Все :)
    Ответ написан
    1 комментарий
  • В чем заключается работа wordpress php разработчика с опытом?

    blood-moon
    @blood-moon
    Фрилансер
    Делай то что просит начальство а в свободное время изучай фреймворки (Laravel , Yii2) или android разработку . Ты же не хочешь до 40 лет 'настраивать плагины' ?)
    А так , зачем им заставлять тебя писать плагину если для решения той задачи уже есть готовые ? Только трата времени = денег .
    Моё личное мнение : классифицировать себя как разработчик N cms - не есть хорошо .
    Ответ написан
    Комментировать
  • С чем связанна странная манера сайтов дорогих брендов?

    @ilovemaryjane
    А вы что ожидали увидеть? Это дерьмо, пропихиваемое мафией с awwwards? Эти омерзенные сайты с отключенным скроллом или скроллджекингом, загружающиеся не менее минуты, с WebGL от которого все виснет и закипает процессор и состоящие на 90% из мигающего видео на заднем плане?
    Ответ написан
    Комментировать
  • Есть ли сайт, где собраны общепринятые практики программирования?

    xez
    @xez
    TL Junior Roo
    но про что обычно не пишут в книжках.

    В книжках, как раз и пишут.
    Например:
    Чистый код Роберта Мартина,
    Совершенный код Стива Макконнелла
    Паттерны проектирования, тоже, можно сказать, про это.
    Ответ написан
    3 комментария
  • Есть ли сайт, где собраны общепринятые практики программирования?

    Moskus
    @Moskus
    Естественно, нет, потому что всё, что вы описали - это не какое-то тайное знание, которое можно только запомнить, а логичные приёмы, которые следуют из знания фундаментальных принципов и анализа требований к продукту. Если попытаться заменить фундаментальные знания таким сборником прецедентов, он получится гигантским и совершенно непригодным для освоения - столько всего просто нельзя запомнить. Объем фундаментальных знаний - на порядки меньше объёма частностей, которые из них выводятся, но сложность этих знаний, при этом, выше. Кто фундаментальные знания не осилил, остаётся говнокодером, пока не осилит.
    Ответ написан
    Комментировать
  • Как в Crome DevTools можно просматривать все события страницы?

    @xtress
    Web-dev
    Выполните в консоли monitorEvents(document.body); Увидите все события по мере их появления. Если надо фильтровать - второй аргумент для этой функции: monitorEvents(document.body, 'click'); - покажет все клики.
    Ответ написан
    3 комментария
  • Какой хороший курс по JS (для среднего уровня)?

    tundramani
    @tundramani
    learn.javascript.ru
    +
    фленагана справочник
    +
    годы тяжелой практики
    Ответ написан
    2 комментария