Хотите сказать спасибо - отмечайте ответ решением ✔
Занимаюсь разработкой интеграций социальных сетей в области маркетинга.
Если нужна отдельная консультация по Facebook Graph / Marketing / Business Manager API и другим вещам, приходите на мой сайт.
Контакты

Достижения

Все достижения (59)

Наибольший вклад в теги

Все теги (298)

Лучшие ответы пользователя

Все ответы (835)
  • Почему в американских лендингах нет телефонов, как точек захвата?

    zoonman
    @zoonman
    CEO @ LinuxQuestions.ru
    Потому что в Америке принято продавать продукт, а не впаривать говно.
    Именно поэтому принято, чтобы продукт говорил сам за себя.

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

    Есть еще один момент, телефонный звонок крайне навязчив, фактически посягательство на личное время и часто неуместен. Лично я провожу в некоторые дни до 60% своего времени на совещаниях. Мне некогда выслушивать и кому-то звонить. А вот email я могу быстренько просмотреть.

    Вам не нужна форма захвата, вам нужно показать продукт и дать пользователю возможность им пользоваться. Если продукт нравится, то за него заплатят. Остальное все - шелуха.
    Ответ написан
  • Где найти человека способного быстро и качественно научить основам JS за деньги?

    zoonman
    @zoonman
    CEO @ LinuxQuestions.ru
    Чувак, идешь сначала сюда https://learn.javascript.ru/
    Пока Илья с товарищами по команде тебе надоедают, учишь английский.
    Потом переключаешься на бритоголового https://egghead.io/
    Потом, если покажется мало, начнешь курить спеки. К этому времени уже освоишь гугл и сможешь сам их найти.

    Лучшие практики SPA

    1. KISS - использовать только то, что действительно нужно. Например вам не нужен Javascript, если нужно просто сделать выпадающее меню. Достаточно просто CSS. Тоже самое применяется и к JS, вам не нужен Angular, если есть просто форма обратной связи. Такая задача решается на vanillajs.
    2. Использование фреймворков, например bootstrap, foundation и т.д. Обычно из них берется типография и сетки. Иногда формы. Я обычно беру bootstrap-stylus и собираю из него.
    3. Critical rendering path - минимальный набор CSS, который требуется для отображения первого экрана страницы, который потом будет встроен внутрь html-файла. Пример.
    4. Применение систем сборки, например gulp. Основной смысл заключается в том, что сначала вы дробите SPA на множество мелких компонентов/модулей/блоков. Затем унифицируете их. В итоге получается набор небольших файлов. Затем из этого набора собирается два больших файла (css, js) и они прогоняются через оптимизатор и минификатор.
    5. Использование CDN. CDN позволяет ускорить загрузку для часто-посещаемых и популярных страниц за счет уменьшения времени доставки контента. Особенно актуально для SPA, поскольку они представляют собой статический контент, который можно кэшировать без последствий.
    Системы сборки

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

    Модули AMD, CJS, UMD

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

    Сборка и подключение css

    Здесь и так ясно, что нужно сначала освоить сборщики. postcss - это когда обычный css скармливается фильтру, который разбирает его, добавляет префиксы к свойствам, оптимизирует наименования цветов и т.д. Убирает дублирующие свойства.

    В целом очень толково про оптимизацию расписано здесь https://developers.google.com/web/?hl=ru
    Ответ написан
  • Путь программиста.Стоит ли?

    zoonman
    @zoonman
    CEO @ LinuxQuestions.ru
    Не важен путь, который выберете вы. Важно то, как вы его пройдете.
    Самообразование - ключ к любой профессии. Никто и никогда вас не станет ничему учить. Забудьте об этом, все только сами.
    Как, по-вашему люди из самых запдрыпанных мест становятся великими? Трудом.
    Учитесь тому, что интересно. Хотите GameDev? Без проблем. Сейчас осень, впереди зима и весна. Садитесь за Java или Swift. Напишите к лету приложение и разместите его в магазине. Будет настоящий незаменимый опыт. Потом еще и еще. Не сразу, но начнете на этом зарабатывать. Было бы желание, остальное приложится.
    И к экзаменам тоже можно подготовиться. И сдать их на отлично самому. Не смотрите на ленивцев вокруг. Они вас кормить не станут. Они так и дальше будут сосать пиво из бутылочки и сидеть на шее у родителей до последнего.
    Или вы тоже хотите пойти на стройку, чтобы зарабатывать на пиво? Тогда вперед.
    Ответ написан
  • Однодневкам-одновопросникам тостера запретить задавать вопросы?

    zoonman
    @zoonman
    CEO @ LinuxQuestions.ru
    Нельзя.

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

    zoonman
    @zoonman
    CEO @ LinuxQuestions.ru
    Я понимаю, о чем вы пишите и почему. Ваш код работает, т.к. решает поставленные задачи и удовлетворяет потребности ваших клиентов. Имеет ли он право на жизнь? Да, но только в вашем отдельно взятом случае.

    Дело в том, что ваш код не гибок, в нем отсутствует масштабируемость, его невозможно поддерживать.

    Что если вам потребуется сделать блог, в котором нужно иметь комментарии, которые обновляются в режиме реального времени? И комментарии могут содержать HTML, но такой, чтобы ваш сайт не могли взломать?
    А еще комментарии короче 2000 символов по воскресеньям платные. Оплата через Яндекс.Деньги.
    Вы все это делаете, все работает.
    Затем заказчик вам говорит, я хочу запустить такую же систему другу, но с оплатой по понедельникам через WebMoney.
    Вы копируете сайт, переписываете функцию оплаты.
    Дальше ваш заказчик видит, что у друга больше денег, он просит добавить WebMoney к себе.
    Вы опять переписываете код. Добавляете условия.
    Потом к вам приходит друг заказчика и хочет другое оформление. Вы переписываете его функции.
    Затем он просит добавить поиск по названиям записей к себе на сайт. Вы делаете. Буквально на следующий день к вам приходит заказчик и тоже просит поиск, но не только по названиями, но и по телу статей и по комментариям. Вы делаете.
    Затем ваш заказчик видит, что дела у него идут в гору и он просит отменить платные комментарии и сделать просто платные аккаунты для всех. Вы переписываете.
    Тем временем друг просит вас сделать все тоже самое, но с его оформлением.
    Дела у заказчика идут в гору и сайт начинает тормозить. Вы делаете кэширование.
    Внезапно сайт заказчика попадает в топ и нагрузка резко увеличиваете настолько, что один сервер уже не справляется. Вы переносите все на самый мощный, но он его тоже мало.
    Нужно делать горизонтальное масштабирование.
    Для этого нужно переписать все функции, которые работают с базой данных. А их уже больше двухсот. И просто замена не подходит.
    Сайт открывается через раз, заказчик звонит вам каждые 2 часа и спрашивает, как там прогресс.
    И тут вам присылает письмо друг заказчика и говорит, что хочет перейти с MySQL на PostgreSQL.
    И вы понимаете, что вам надо будет переписать еще 300 функций, но на другом сайте. Вы его посылаете, поскольку вы и так в мыле.
    Друг жалуется на вас заказчику. Заказчик, не ставя вас в известность, нанимает другого исполнителя, у которого отваливается челюсть от того, что творится в системе. Он объясняет, что ему нужно будет потратить полгода, чтобы вникнуть в то, чтобы понять ваш код, но он может сделать все тоже самое за 4 месяца, причем для заказчика и его друга так, что это будет расширяемо и поддерживаемо не только им.
    Тем временем, спустя двое суток жизни на кофеине вы героически переписываете все функции заказчика и идете отсыпаться. После суток сна вы обнаруживаете на автоответчике сообщение, что вы уволены. А все потому, что забыли проверить функцию логина.

    А теперь разберем эту историю по частям. Почему же вас уволили?

    Незнание абстракций и шаблонов проектирования привело к тому, что вы вынуждены были поддерживать 2 разных проекта с практически одинаковой логикой.
    Например ORM смог вам помочь поддерживать 2 разные базы данных без каких-либо усилий. Сменить одну базу на другую стоило бы исправления конфигурации, а не переписывания 300 функций.
    Использование фреймворков позволило бы сократить время на реализацию подключений платежных систем. Многие из них имеют готовые реализации.
    Опять же в современных фреймворках, например в той же Doctrine реализован шардинг. В большинстве случаев ваши проблемы свелись к изменению настроек.
    Но даже если бы вы накосячили, то интеграционные тесты не позволили бы попасть говну в продакшен. А если бы оно и попало, ну накосячили вы с тестами тоже, то проблема была бы обнаружена на раннем этапе благодаря "сине-зеленому" развертыванию и она бы не затронула всех пользователей.
    И да, ваш код не прошел внешний аудит.

    Чтобы быть настоящим профессионалом, нужно не только знать, но и уметь применять на практике ООП, популярные фреймворки, шаблоны проектирования, тестирование и средства непрерывной интеграции, а еще пользоваться нормальными IDE и нести ответственность за сделанную работу.

    Когда пишете свой код, почаще задавайте себе вопрос: А если бы это был код для моего кардиостимулятора? Это поможет.
    Это вам для общего развития.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (32)