• Как перенести VDS сервер Ubuntu на другой хостинг?

    akelsey
    @akelsey
    Самый простой способ это подсмотреть точный дистрибутив, как я понял это Ubuntu 16.04, нужно задеплоить на новом VPS точно такой же сервер с Ubuntu 16.04, и затем с помощью команды rsync, вроде такой:

    sudo rsync -aAXvP — exclude={/boot/,/dev/,/etc/fstab,/etc/modprobe*,/etc/modules/,/lost+found/,/etc/mtab,/etc/network*,/etc/sysconfig/ip*,/etc/sysconfig/kernel,/etc/sysconfig/network*,/lib/modules/,/media/,/mnt/,/proc/,/run/,/sys/,/tmp/,/var/lib/lxcfs/,/var/lock/}  root@mysite.ru:/ /

    я бы попробовал это сделать например на любой системе виртуализации у себя дома, на работе, потом на хостовой машинке подменить hosts файл и проверить что всё работает (за одно этот образ машины можно потом будет сохранить как бэкап) и если всё ок - покупать новую VPS и повторить.

    PS
    В целом можно потом на той же машине на которую скопировался сайт попробовать обновить дистрибутив до 22.04 и уже на новую впс если всё взлетит (нужно проверить весь функционал), уже ставить систему с поддержкой, т.к. 16.04 закончилась в августе 2021.
    Ответ написан
    1 комментарий
  • CMS или Framework?

    ArsenyMatytsyn
    @ArsenyMatytsyn
    Руководитель frontend направления, предприниматель
    Судя по постановке вопроса — WordPress + WooComerce + Купленная\Бесплатная тема и попытки ее настроить или OpenCart + Переделка базовой темы.
    Фреймворк для магазина это при такой постановке вопроса откровенно херовый вариант, ибо: артикулы, номенклатура, прихода\расходы, модификации, цены, графики, отчеты, покупатели, личные кабинеты, скидки, бонусы, акции, валюты, НДС, сервисы доставок, внешние API и еще вагон и еще вагон и маленькая тележка аргументов против бездумного окунания в то, чего не понимаешь. Для саморазвития можно и... нужно, наверное.
    Ответ написан
    2 комментария
  • Сколько стоит час веб-разработчика-фрилансера?

    @deliro
    Ты веcь такой кругом молодец, то знаешь, это знаешь. А теперь представь себе среднестатистический проект, который должен приносить бизнесу деньги. За две недели работы ты едва напишешь хлипкий CRUD для данных, неправильно смаппив бизнес-сущности в объекты ORM, ещё через месяц натянешь какой-то слайдер на jQ, попутно захватив 2мб JS кривых библиотек, а через два заказчик поставит тебе плохую оценку, потому что твой ценник он оплатил не за то, что ему нужно, а потому что ты знаешь монады, которые ему даром не сдались.

    А теперь давай представим простого программиста. Из алгоритмов он с трудом вспоминает сортировку пузырьком, а двусвязный список — предел его знаний о структурах данных, и даже этим списком он пользовался два раза в жизни. Хаскель он никогда не видел в глаза, C++ учил только в школе, вместо этого пишет неэффективный код на PHP. И у него есть опыт. За день он распишет сущности, за второй сделает универсальный CRUD, на третий день поднимет фронт на React'е с SSR. Да, внутренности проекта будут "медленными". Вместо O(logN) что-то будет выполняться за O(N) или даже O(N^2), но всем похер. Пока всё работает на приемлемом уровне — бизнес радуется.

    Кстати, к чему эта поучительная лапша? Я хотел сказать, что всеми этими модными словами можно пугать друзей и преподавателей, но в реальной жизни все алгоритмы уже реализованы, все типы данных уже подобраны оптимально. Знать их полезно для себя (чтобы мозг не атрофировался), но не для работы. Для работы тебе нужны такие навыки как:

    * Оптимальный баланс между говнокодом и идеальным кодом
    * Оптимальный баланс между скоростью разработки и оптимизацией кода
    * Оптимальный баланс между поддерживаемым кодом и костылями
    * Умение использовать те инструменты, с которыми ты работаешь. Опять же, для того, чтобы писать быстро, при этом имея минимальное количество говнокода и обеспечивая максимальную поддерживаемость (в пределах сроков). Например, можешь выкинуть в помойку свой Vim, как бы круто ты себя не чувствовал, разрабатывая в консольном редакторе, если продукты от JetBrains позволят за это же время сделать что-то лучше или чего-то больше
    * Чувство "знаю больше менеджеров". Это то чувство, когда тебе кажется, что "вот эта фича скоро изменится" и надо сделать архитектуру заранее более гибкой. Или "вот эту фичу мы через месяц выпилим" и не надо тратить на неё силы — напиши костыль и через месяц с чистой совестью удали его
    * Знания, как сделать ту или иную фичу. Потому что фичи повторяются (немного видоизменяясь) от проекта к проекту. И если ты сделал что-то за два дня, в следующий раз ты похожее сделаешь за три часа

    Что касается инструментов, выбери любой полноценный фреймворк, который умеет решать 90%+ потребностей "из коробки": Symfony, Django, Laravel

    Всякие "минималистичные" поделия вроде Falcon, Flask (в PHP не знаю, я на питоне пишу) оставь хипстерам. Пусть они говорят: "Мой фалкон такой быстрый, он написан на Cython". Тебя это не должно волновать, потому что бизнес с твоей скоростью разработки уже заработал достаточно денег, чтобы купить ещё десять серверов, пока фалконисты неделю гуглили, как прикрутить миграциии и запустить юнит-тесты на VPSке за пять баксов.
    Ответ написан
    5 комментариев
  • Есть ли смысл учить jquery?

    profesor08
    @profesor08 Куратор тега JavaScript
    Нечего там учить
    $(selector).css({});
    $(selector).each(el => void);
    $(selector).on("click", event => void);
    Ответ написан
    Комментировать
  • Что лучше использовать веб-разработчику: Linux Mint или Ubuntu?

    Adamos
    @Adamos
    Вы задаете вопрос, который ежемесячно обсасывается на Тостере вдоль и поперек.
    Значит, привычки гуглить и навыка читать нагугленное нет.
    Следовательно, Линукс противопоказан. Dixi.
    Ответ написан
    2 комментария
  • Почему не работает javascript после ajax получения ответа?

    antonio1107
    @antonio1107
    Заместитель руководителя
    Решено! JQuery обработчики, такие как hover(), click(), bind(), on() и т.д. обрабатывают элементы только при загрузке.
    Чтобы они реагировали на подгруженный ajax'ом контент, есть несколько решений:
    1. Загрузить ajax'ом скрипт заново(не лучший вариант). Но работает.
    2. Использовать обработчик live(). Но с версии >= JQuery 1.9 его убрали и перенесли в обработчик on(), в котором объединили и bind(), и delegate().
    3. На мой взгляд, самый лучший. Для тега установить атрибут onClick, установить ему значение функции, например:
      а в скрипте переделать обработчики в функцию.
      Вместо:
      $("div").click(function(){
      //что-то делает
      });
      
      //переделать на:
      function function_name(){
      //что-то делает
      }

      Т.е. у тэга div при нажатии атрибут onClick вызывает эту функции. И тут без разницы, подгружен контент ajax'ом или нет.
      Если хотите в функции использовать значение $(this), то задайте в атрибуте у функции onClick="function_name(this);", а в скрипте в функции задайте событие для этого значения
      function function_name(i){
      $(i).вешаем обработчики
      //$(i) это тоже, что и $(this) у обработчика $("div").click()
      }



    Надеюсь, кому-то будет полезно :)
    Ответ написан
    3 комментария
  • Какие дисциплины изучать программисту чтобы меньше зависеть от языков и технологий?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. Вопрос терминалогии - Вы все таки решили перейти на уровень выше. Чем выше - тем абстрактнее, чем ниже - тем ближе к железу.
    2. Понимание общих алгоритмов всегда полезно. Литературы море - Кнут, Седжвик www.ozon.ru/context/detail/id/128304/, www.ozon.ru/context/detail/id/1317133 итд.
    3. Самое главное: если вы хотите работать в IT - вам придется всю свою трудовую жизнь гнаться за технологиями и саморазвиваться. Это нормально. Постоянно будут выходить новые версии языков и надо будет уметь с ними работать. Язык это всего лишь инструмент для реализации задачи. Разные задачи оптимально реализовывать на разных языках. Знание общих алгоритмов (как кстати и паттернов ) полезно, разминает мозг - но без опыта реализации на конкретном языке нафиг не нужно.
    Ответ написан
    1 комментарий
  • Хорошие ресурсы (интерактивные?) по обучению html, css, javascript?

    AndrewShmig
    @AndrewShmig
    codeacademy.com
    Ответ написан
    Комментировать