• Веб-дизайнер-фрилансер после 35 лет?

    @McBernar
    Вы хорошую тему подняли.

    Дизайн в 2010 был гораздо более востребован по нескольким причинам:
    1. Не были развиты маркеты готовых шкурок типа Themeforest
    2. Не было вменяемых конструкторов типа Тильды
    3. Люди еще не успели наиграться в дизайн, поэтому с радостью пилили свои фантазии

    Сейчас же все три пункта не работают. Малый бизнес понял, что зарабатывать можно с любой ерундой, главное, чтобы информация была правильно подана и директ нормально настроен. Средний бизнес не будет экономить на подобных вещах — им проще в студию обратиться. Ну а большой бизнес давно завел свои собственные команды разработки.

    Я давно заметил, что сам по себе дизайн уже не особо актуален. Нет, безусловно, есть еще куча клиентов на рынке, но и конкуренция стала в разы больше.

    Могу дать три совета — как работать дальше:

    1. Посмотрел ваши работы. Вполне себе проработанные и крепкие, но нет в них ничего свежего. Можете попробовать порисовать концепты — можно придумывать фейковые проекты, можно делать непрошенные редизайны существующих проектов. Главное, чтобы графически они рвали устоявшиеся шаблоны. Так делают многие ребята. Подобные концепты в принципе всегда неплохо заходят. Дрибл и Беханс. Соответственно, если сделаете что-то интересное — получите много трафика и потенциальных клиентов, которые придут именно к вам за вашим стилем и идеями.

    2. Попробовать найти удаленную команду. В Скайенге часто ищут дизайнеров на удаленку, например. Можно найти команду в штатах, если с английским нормально все. В этом случае вы просто сбросите с себя заморочки по поиску клиентов и будете спокойно работать за хорошие деньги.

    3. Можете поискать работу в Москве/Киеве. Сначала переехать самому, потом перевезти семью. Это будет в любом случае лучше, чем остаться без работы в небольшом провинциальном городке.

    Повторюсь — вы правильно рассуждаете. Просто дизайн уже никому не нужен.
    Удачи.
    Ответ написан
    10 комментариев
  • Верстка с нуля: какие основные этапы работы?

    Vlad_IT
    @Vlad_IT Куратор тега Вёрстка
    Front-end разработчик
    Использую vscode+webpack+pug+scss+бэм. Из физических инструментов, основной моник: lg ultrawide 29um69g, рядом прикручен моник от ноутбука повешенный вертикально, подключенный через универсальный скаллер.

    0) Запускаю Spotify :-)

    1) Произвожу установку всех необходимых модулей для сборки. В моем случае у меня набор конфигураций для webpack (отдельные файлы для pug, scss, static и.т.д., выбираю что нужно).

    2) Запускаю avocode, загружаю в него макет. Определяю в нем переменные (в то же время записываю их, чтобы сразу кинуть в scss файл) для цветов, размеров шрифтов и.т.д. чтобы при получении кусочков кода из него, он сразу расставлял переменные.

    3) Запускаю VS Code, открываю нужную папку.

    4) Пишу размету на Pug. Пишу с БЭМ, если встречаю повторяющийся блок, то открываю файл _mixins.pug, в который пишу миксины для повторяющихся блоков, например товаров, пунктов меню, каких-то блоков и.т.д. Pug умеет делать циклы, это ускоряет сильно.

    5) Когда HTML готов, начинаю делать каркас. Если дизайн сделан по сетке, определяю контейнеры, колонки, строки в свои классы (не пишу в html тучи классов аля col-md-6, а пишу в SCSS инклуды в нужные мне блоки, типа @include make-col(2) и.т.д.).

    6) Экспортирую картинки из Avocode. Очень делается просто, указываю папку и просто кликаю экспорт и ввожу название файла и расширения. Преимущественно для иконок использую svg, если нет svg, то ищу эту иконку в интернете (дизайнеры редко рисуют иконки сами, но зато любят вставлять их не в векторе). Если иконка простая, могу сам ее в inkscape обвести, ну и если нет, то экспортирую png в размере (благо авокод это позволяет, если конечно дизайнер не вставил в исходном маленьком размере). Когда есть контакт с дизайнером, трясу его, ибо растр это плохо для иконок.

    7) Пишу стили блоков из страницы. На этом этапе можно на втором монике параллельно смотреть футураму или
    Арчера :-) Но чаще на широком монике слева браузер, справа VS Code, а на втором монике Avocode (может меняться местами с браузером). Мысленно нарезаю страницу на блоки. Для каждого блока (БЭМ) создаю отдельный scss файл (кто-то даже для элемента создает, но мне лень), из него сразу выписываю все селекторы. Иногда могу сначала выписать все селекторы со страницы (но так лучше не делать, т.к. во время работы может потребоваться изменить что-то в разметке), но чаще для одного блока выполняю этот пункт и за ним сразу выполняю пункт 8, потом для нового блока опять 7 и 8 и.т.д.

    8) Пишу css код вместе с Avocode, у него беру нужные мне параметры (а он уже подставил в них переменные), и вставляю в мой код. И параллельно сверяю со скрином макета используя вот это расширение https://chrome.google.com/webstore/detail/perfectp...

    9) Пишу адаптив. Я не могу привыкнуть к методологии mobile-first, поэтому пишу всегда сначала полную версию сайта. Я понимаю, что это чревато всякими проблемами и это типа не модно, но мне норм.

    10) Медиа-запросы пишу прямо в блоках, для каждого блока/элемента/модификатора может быть отдельный медиа-запрос. Но для начала определяю breakpoint'ы для разных экранов (чтобы их не было сотни разных), если использую Bootstrap, то беру его breakpoint'ы.

    11) Добавляю анимашки. Даже если заказчик не просил отдельно (и если не указал отдельно, что нельзя), он все равно будет доволен, а с animate.css+onscreen.js это вообще работа 10 минут. Сложные анимации обговариваю отдельно, чтобы не сделать ненужную работу.

    11) Все снова сверяю, пишу скрипты где надо. Для слайдеров в 99% случаев подходит slick (с доработками конечно, но там хорошее API), для других случаев могу написать свой.

    12) Сдаю заказчику и жду ответа сидя на тостере/пикабу.

    Это чисто мой опыт, опыт фрилансера, не знаю, как делают другие и не могу на 100% утверждать что это 100% правильный способ. Я так и не смог заставить свой конфиг webpack правильно вставлять спрайты svg.
    Надеюсь чем-то поможет мой ответ.
    Ответ написан
    7 комментариев
  • Дизайн с нуля: какие основные этапы работы?

    lukoie
    @lukoie
    0 заводим асану, и гуглодокс-папку в "проектах" под проект
    1 берем из шаблонов заготовку для брифа и клиент заполняет
    2 создаем на его основе ТЗ и утрясаем с заказчиком(ЛПР)
    3 создаются эскизы страниц
    4 на их основе - мокапы
    5 на их основе - вайрфрейм
    6 прототип
    7 создается окончательный продакшн дизайн
    8 проводится ДТП, допиливается всё по внутренним стандартам(именование слоев, группы, название файлов, лишний мусор внутри и т.п.)
    9 чистится файловый мусор и бекапится
    10 передаем заказчику окончательный вариант

    теперь пару(но далеко не все) деталей:
    - именование макетов важно
    - пункты в районе 4-6 в зависимости от величины проекта - опциональны
    - в зависимости от задач между 3 и 4 может быть пункт схема юзерфлоу, или визуальная доска связей между экранами, если проще
    - на выходе может(а может и нет) формироваться юайкит и фирменный стиль в той или иной компоновке.
    Ответ написан
    Комментировать
  • Как сделать ограничение, чтобы пользователь мог посмотреть картинку только один раз и не мог её сохранить?

    sabramovskikh
    @sabramovskikh
    1) Перевести изображение в canvas, будет уже сложнее его сохранить
    1.1) Разбить картинку на сотню маленьких картинок и выстраивать их в нужном порядке. Наврятли кто-то станет заморачиваться их сохранять или склеивать.
    2) Использовать одноразовые ссылки. Сгенерировали ссылку с контентом отдали пользователю, при входе на страницу ссылка удаляется и вход на нее запрещается
    p.s. Preen Screen хорошо обойдет вашу защиту
    Ответ написан
    Комментировать
  • Как сделать ограничение, чтобы пользователь мог посмотреть картинку только один раз и не мог её сохранить?

    risentveber
    @risentveber
    fullstack web developer
    Большинство пользователей в интернете уже не сможет скачать картинку, если вы вставите ее как фоновое изображение какого-либо элемента - например div'a. По крайней мере при щелчке на элементе правой кнопкой мыши в выпадающем меню такого пункта не будет.
    Ответ написан
    Комментировать
  • Как сделать ограничение, чтобы пользователь мог посмотреть картинку только один раз и не мог её сохранить?

    Можно поставить поверх картинки прозрачный div. А при нажатии F12 или правой кнопкой мыши отловить событие и перезагрузить страницу. После перезагрузки картинку больше не показывать.
    Ответ написан
    3 комментария
  • Docker. Как его применять на вебсервере?

    Ernillew
    @Ernillew
    Администрирую *nix-системы с 1997 года
    > Docker. Как его применять на вебсервере?

    Никак. Docker — игрушечная технология не предназначенная для использования в реальных задачах. Ставя докер вы четко говорите себе «Мне плевать на обновления безопасности, они мне не нужны».
    Если вам нужна контейнеризация, то есть lxc.
    Ответ написан
  • Какой php-фреймворк выбрать после Django?

    @Ramallah
    Настоятельно рекомендую сказать друзьям "нет" в этом вопросе. Ведь завтра они захотят "поиграть шрифтами".
    Ответ написан
    Комментировать
  • Есть ли сейчас смысл в Python/Django в связи с бурным развитием PHP?

    Есть ли сейчас смысл в PHP в связи с бурным развитием Python/Django?
    Ответ написан
    2 комментария
  • Как масштабировать чат написанный на socket.io/nodejs?

    undassa
    @undassa
    Last.Backend
    io.on('connection', function (socket) {
    //
    });


    Данное событие сработает при успешном создании постоянного соединения между клиентом и сервером.
    Так как сокет соединение - это соединение в единственном экземпляре, то оно попадёт либо на 1й инстанс либо на 2й инстанс. И данное событие сработает либо тут либо там.

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

    1. Использовал бы в качестве канала между инстансами нативный модуль redis.
    2. При успешном подключении послал бы в канал redis.publish уведомление по новом подключении

    НО! Необходимо вручную определять события которые надо прикидывать на второй инстанс, иначе от такого масштабирования нет толку, потому что оба инстанса будут обрабатывать одни и теже команды.

    Резюмируя: В этом нет смысла. Если есть необходимость - надо просто через редис уведомить второй сервис.
    Ответ написан
    2 комментария
  • Время полной загрузки Macbook Pro 13" Late 2011 (i7 2800, 8GB RAM)?

    bagyr
    @bagyr
    Reset Safari, как я понял, не помог.
    В ~/Library/Caches/com.apple.safari посмотреть можно (cache.db у меня ~150 мб, стартует на i5 ощутимо быстрее).
    Можно создать нового пользователя, посмотреть как там.
    Чтоб отсечь проблемы с винтом (а на это похоже), можно поставить макось на внешний HDD.
    Ответ написан
    Комментировать
  • IPhone из Тайланда?

    taliban
    @taliban
    php программист
    1 тыс рублей? 34 долара? IPhone? А Вы случаем не отсылали денег на канадскую лотерею или президенту в африку?
    Ответ написан
    3 комментария