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

    @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 комментария
  • Какие в Москве есть бaдишопы кроме EPAM и Luxoft, перевозящие сотрудников в США по L1B-визе?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    H1B не лучше, а хуже в первую очередь из-за квот и рандома. По L1B нет квот, переезд гарантирован, грин-карту быстро получите.
    Но тут всё не так просто, для начала ответьте на вопросы:
    1) А зачем компании вас вообще перевозить?
    2) А достаточно ли у вас знаний, умений и навыков для вакансии с релокейтом?
    3) Какие условия релокейта вам предложат?
    4) Есть ли у вас $15-20к для сопутствующих расходов?

    Перевозят обычно старших разработчиков. Людей с опытом и определённым набором навыков. Ну или гениев, участников всяких олимпиад по кодингу и международных стажировок, ну или просто дико везучих людей без всего вышеперечисленного :)
    Вы же не думаете, что всех и просто так перевозят, правда?
    Ответ написан
    9 комментариев