• Как сделать анимацию трансформирующую один элемент в другой?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Является ли желтая квадратная форма в конце анимации видоизмененной кнопкой или же это совершенно другой элемент разметки?

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


    С такими анимациями можно долго играться, самое главное - проверить в конечном итоге кроссбраузерность. А то в хроме и FF работает, а в каком-нибудь IE всякое может случиться.

    P.S.: Но в целом - я голосую за реализацию таких вещей целиком на JS. Практика показывает, что в проектах с такими анимациями очень быстро собирается большое количество одновременно анимирующихся значений у большого количества элементов, которые нужно синхронизировать между собой. На CSS голова лопнет все это делать. И да, чем больше всего меняется в CSS-анимациях в единицу времени, тем выше шанс найти какой-нибудь редкий баг и долго ломать себе голову в поисках проблемы. Лучше уж взять какую-нибудь библиотеку вроде anime.js или любимый многими GSAP и использовать их.
    Ответ написан
    Комментировать
  • Дополнительный заработок программисту?

    При всем моем уважении, но такой подход крайне деструктивен для жизни.

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

    2) Поэтому рационально будет идти по двум путям:

    - увеличивать доход на своей текущей работе (либо при смене работы)
    - идти в полукоммерческую схему со своим продуктом.

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

    p.s. у меня в свое время была работа, поддержка ряда клиентов в it-инфрастуктуре, пару клиентов на поддержке сайтов, плюс контракты на продвижение сайтов. Просто вся жизнь превратилась в работу, как смог накопить на квартиру, сразу же от этого всего отказался в пользу жирной работы, и своих проектов.
    Ответ написан
    2 комментария
  • Почему в IT так много индусов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Коммерческая IT индустрия в Индии исторически началась гораздо раньше, чем в СНГ. В 80-х они уже аутсорсили и иммигрировали в штаты.

    В 1991 в Индии департамент электроники провел огромную работу и реформировал ИТ отрасль, которая к тому времени уже существовала.
    В 1991 году он основал STPI - государственную корпорацию, которая занималась вопросом экспорта ИТ услуг зарубеж (консультации, разработку, интеграцию) на уровне, недоступном ранее частным компаниям для всех зарегистрированных инженеров и компаний. Офисы STPI были во всех крупных городах Индии. Спутниковый интернет предлагался частным компаниям для удаленной работы. С 1994 года частные компании могли даже свой спутниковый инет заполучить.

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

    Нигде в мире на тот момент не было такой господдержки для развития ИТ сектора, как в Индии.

    Ну и сейчас, 2018 год, это уже почти 30 лет опыта разработки, поддержки, развития и конечно люди с их знаниями.
    * Общее образование в индии уже десятки лет включает гораздо более адекватные базовые знания информатики, чем в СНГ, где среднестатистический преподаватель информатики линукс от виндовс не всегда отличает.
    * Для заинтересовавшихся полно учебных заведений с приличными программами
    * Население Индии очень большое, зарплата ИТшника гораздо больше, чем средняя по стране.

    Ну а "плохой индусский код" - потому что как и везде, в ИТ ломятся все подряд, поэтому хочешь нанять дешевого индуса - получишь макаку. Хочешь нанять нормального индуса - заплати... все равно не слишком много - гораздо дешевле чем американца или европейца.
    Ответ написан
    9 комментариев
  • Как происходит доработка верстки на фрилансе?

    Stalker_RED
    @Stalker_RED
    Расскажите как вообще происходит предоставление исполнителю доступа к коду в готовом проекте, который уже на хостинге.


    Возможно тебе дадут готовый докер или вагрант где уже все окружение настроено. И подробное описание-инструкцию, как у заказчика построен рабочий процесс.

    Или тебе дадут адрес гита и ключ или пароль к нему. Ты клонируешь себе репозиторий, создаешь ветку, вносишь туда все изменения, коммитишь, оно деплоится на тестовый сервер, потом тесты, релиз, все счастливы.

    Или, если проект еще не запущен, тебе дают архивчик с трудами твоего предшественника, и после ты возвращаешь обновленную версию.

    Или тебе дают ФТП-доступ к уже запущенному проекту. Ты пытаешься у себя поднять копию, но оно не работает, потому что там же уже серверный код, а не просто верстка, и оно хочет БД, и еще 100500 зависимостей, которые ты не умеешь разруливать, потому что ты верстальщик же, а не админ и совсем не программист. Тогда ты призываешь какого-то шамана, который научит тебя великому колдунству - внедрить проверку прям на живом сайте, типа "если есть такая-то кука - подключить такую-то css-ку". И ты фигачишь прям по живому, непрерывно подергиваясь, и проклиная всю индустрию.
    При этом тешишь себя надеждой, что ты ввязался в этот кошмар в последний раз, и в следующий раз заказы без гита идут лесом, ну в крайнем случае пусть будет архив, хотя сколько-сколько вы предлагаете за добавление двух пунктов в меню?
    Ответ написан
    Комментировать
  • Как развиваться дальше и где черпать идеи/задачи?

    @Wentixon
    Твоя проблема на самом деле в том, что видя трудности впереди ты бежишь от них и сразу же берешься за новое дело. Ты начал делать проект, так где он? Ты доделал его или все же получилось не то, что ты хотел сделать? Теперь ты изучаешь плюсы, не понимая зачем они тебе нужны? Это ли не безумие? Может тебе стоит попробовать что то другое? Например, вагоны поразгружать или кассиром поработать, как вариант. Короче не хочется много писать, просто возьми что то одно и доводи это до ума. То есть одна технология, один проект, который ты будешь постоянно развивать. Неважно что это будет, просто бей ниже мочи в жижу! Иначе далеко ты не уедешь, чтобы ты не изучал, будут появляться сложности, но если не будешь их преодолевать никогда не выйдешь на новый уровень. Я тоже в свое время метался, изучая и веб и андроид и игры и все короче.. Но потом понял, что я полный нуль и все знаю поверхностно, так что главное тупо идти в одном направлении и становится профи в чем то одном!
    Ответ написан
    9 комментариев
  • Где найти свой первый заказ?

    zamboga
    @zamboga
    Бизнес-аналитика, фин. моделирование, дашборды
    Ловите из моей копилки (сортировка от балды, комментарии мои, я "заказчик")

    • Биржи фриланса СНГ
    https://work-zilla.com — легко очень быстро найти исполнителя на простую работу за 100-3000₽
    kwork.ru
    https://5bucks.ru
    radideneg.ru
    moguza.ru
    https://fl.ru/ (ад.кг) -- один из самых известных фрилансных ресурсов рунета, полно предложений (август 2018)
    https://freelance.ru/ -- сильный конкурент fl.ru, полно предложений (август 2018)
    https://www.weblancer.net/ -- норм, не очень много предложений, но много "целевых", меньше мусора (август 2018)
    https://freelansim.ru/ -- не очень много предложений (август 2018)
    https://YouDo.com -- мало предложений (август 2018)
    https://freelancehunt.com/ -- много предложений (август 2018)
    § Статистика цен https://freelancehunt.com/statistics/rates/currency/rub
    https://www.freelancejob.ru -- очень мало предложений (август 2018)
    https://yukon.to — для даркента и "сомнительных" заданий. Типа "античата"
    www.free-lance.ru -- старое название fl.ru

    • Биржи фриланса международные
    https://www.upwork.com - конкурировать невозможно, только покупать профиль с 1000+ часов, остальное $5-$15 от рабовладельцев
    www.freelancer.com
    https://www.peopleperhour.com/
    https://www.guru.com/
    fiverr.com — для простого дизайна
    https://envato.com/
    https://talent.hubstaff.com
    https://remoteok.io
    https://weworkremotely.com/
    https://www.cybercoders.com/
    https://djinni.co
    https://www.toptal.com
    https://www.linkedin.com
    https://elance.com — куплен upwork
    https://odesk.com — куплен upwork

    • Агрегаторы фриланс-бирж
    https://primelance.com
    https://www.alot.pro
    https://work-at.me/freelance_projects/list
    https://ifreework.org/projects.html
    https://joby.su/search/ff/
    ayak.ru
    https://spylance.com/spy#notices
    j-scan.ru/search_old
    ejobstracker.com
    https://play.google.com/store/apps/details?id=alot...
    https://play.google.com/store/apps/details?id=free...
    https://play.google.com/store/apps/details?id=com....
    https://itunes.apple.com/us/app/mobile-freelance/i...
    https://play.google.com/store/apps/details?id=com....
    Где искать заказы?
    Ответ написан
    12 комментариев
  • Как сделать такие же эффекты css?

    Белая штука на кнопке:
    Кнопка relative, за ней :after блок абсолютом, transform:rotate(45deg) и анимация сдвига вправо.

    Пульсация еще проще: 3 блока(можно один + :before & :after) без заливки с бордером, анимируется скалирование (scale(1.3)). Мерцание кнопки - аналогично.
    Ответ написан
    Комментировать
  • Как сделать такие же эффекты css?

    kentuck1213
    @kentuck1213
    Ну так через панель разработчика можно увидеть как такое сделали.
    Ответ написан
    Комментировать
  • Чем webpack лучше gulp/grunt?

    miraage
    @miraage
    Старый прогер
    Холиварная тема.
    Кому-то зайдет.
    Лично мне не нравится работа со стилями.
    Я уж лучше по старинке через gulp всё сделаю.

    // EDIT July 2016

    webpack восхитителен
    Ответ написан
    4 комментария
  • На что обращать внимание при выборе веб-студии или же фрилансера помимо их/его портфолио?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Проверки:
    1. В момент озвучивания стоимости работы, попросите объяснить стоимость расчёта вёрстки, детализировав сам процесс.
    Сможет - значит делает сам, нет - значит перепродаёт.
    2. Если ответит, что "у меня стоимость часа [такая-то], а сколько это займёт - пока неясно". Сразу отказывайтесь!
    3. Вёрстка - всегда пост-оплата или договор (проверяйте только с юристом)!
    4. Проверяйте HTML-код на валидность сразу же, как только будет готов пустой каркас ("белый лист").
    5. Проверяйте ОБЯЗАТЕЛЬНОЕ! наличие семантической HTML5-разметки (header, nav, article, section, aside, footer, address, main, figure и т.д.).
    6. Проверяйте наличие микро-разметки: гугл, яндекс.
    7. Все анимации блоков - в отдельном НЕ СЖАТОМ! js-файле!
    8. Все формы/калькуляторы/поисковые строки - ТОЛЬКО в HTML: никаких AJAX-ов и валидаций быть не должно до момента установки вёрстки на бэкенд!

    Ссылки:
    1. Про качество и рейт: здесь
    2. Про стоимость вёрстки: здесь
    3. Про мотивацию: здесь
    4. Про проверку вёрстки и настроек сайта на хостинге: здесь
    Ответ написан
    7 комментариев
  • Что такое такое rest api?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    API социальных сетей - это вполне типичные примеры реализации REST API.

    REST (RESTful) - это общие принципы организации взаимодействия приложения/сайта с сервером посредством протокола HTTP. Особенность REST в том, что сервер не запоминает состояние пользователя между запросами - в каждом запросе передаётся информация, идентифицирующая пользователя (например, token, полученный через OAuth-авторизацию) и все параметры, необходимые для выполнения операции.

    Всё взаимодействие с сервером сводится к 4 операциям (4 - это необходимый и достаточный минимум, в конкретной реализации типов операций может быть больше):
    1. получение данных с сервера (обычно в формате JSON, или XML)
    2. добавление новых данных на сервер
    3. модификация существующих данных на сервере
    4. удаление данных на сервере

    Операция получения данных не может приводить к изменению состояния сервера.

    Для каждого типа операции используется свой метод HTTP-запроса:
    1. получение - GET
    2. добавление - POST
    3. модификация - PUT
    4. удаление - DELETE

    Т.е. :

    GET-запрос /rest/users - получение информации о всех пользователях
    GET-запрос /rest/users/125 - получение информации о пользователе с id=125
    POST-запрос /rest/users - добавление нового пользователя
    PUT-запрос /rest/users/125 - изменение информации о пользователе с id=125
    DELETE-запрос /rest/users/125 - удаление пользователя с id=125
    Ответ написан
    20 комментариев
  • Верстка с нуля: какие основные этапы работы?

    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 комментариев
  • Одновременное использование hover и before или другое решение проблемы?

    webvany
    @webvany Автор вопроса
    Дизайнер
    Проблема решилась самым простым образом.
    Сначала нужно писать псевдокласс :hover, а затем псевдоэлемент :before, таким образом:
    div:hover:after{}
    Ответ написан
    2 комментария
  • Необходимо ли разгонять DDR4-2133?

    DevMan
    @DevMan
    Частота памяти может только тешить самолюбие в тестах. В обычной работе разницу на глаз просто не заметить, и разгон не имеет смысла.
    Больше толку будет от ещё одной плашки во 2-ом канале.
    Ответ написан
    Комментировать
  • Как проверить, что знаешь на базовом уровне JavaScript?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    Ну вы можете пройти тест на том же https://learn.javascript.ru/quiz
    Но надо еще понимать, что каждый проводит тестовое задание по своему. Кто-то будет требовать от вас отличные знания прототипов, а кто-то классов. Кто-то будет спрашивать про промисы, новые штуки, а кто-то классические штуки. Слишком относительное понятие - базовые знания.
    Мне кажется, базовые знания JS сейчас - это поверхностное знание всех штук языка, но пока что не умение их применять в нужных задачах. Сможете пройти все тесты на https://learn.javascript.ru/ в конце глав, думаю можете идти на собеседование. Но лучше еще поделать проектов своих, чтобы увереннее себя чувствовать в этих знаниях, и уметь обосновать их надобность.
    Ответ написан
    6 комментариев
  • Как проверить, что знаешь на базовом уровне JavaScript?

    @JSmitty
    Хотите задачку? Ловите.

    Сделать на JS светофор основной (3 цвета) и связанный пешеходный (2 цвета) с кнопкой по запросу пешеходного перехода:
    1) основной включен на зеленый, пешеходный на красный
    2) по нажатию на запрос, через не менее чем 5 секунд на 5 секунд показывается желтый на основном, затем основной - красный, пешеходный зеленый на 15 секунд. После пешеходный на красный, основной сразу на зеленый.
    3) минимальное время зеленого на основном - 60 секунд. Если кнопка запроса перехода нажата ранее 60 секунд с момента включения зеленого - пункт 2 срабатывает через 60 секунд с момента включения зеленого.
    4) после нажатия запроса и до включения зеленого на основном светофоре, кнопка запроса игнорируется.

    Часть задачи - сделать отображение светофоров, и кнопку. Кнопка всегда доступна к нажатию (не ставим атрибут disabled). Другая часть - реализовать асинхронную логику. По возможности на чистом JS (не прибегая к библиотекам).
    Ответ написан
    7 комментариев
  • Какой клавиатурный тренажер посоветуете?

    DDDsa
    @DDDsa
    Ответ написан
    Комментировать