• Функционал vs Функциональность?

    @rromm
    А я не понимаю использования слова функционал как синонима функциональности потому, что мне кажется очевидным, что функционал – это набор функций, а функциональность – свойство объекта, характеризующее наличие/количество этих функций (объём функционала) – как канал и канальность, т.е. функционал – это, грубо говоря, содержание функциональности.
    пример: тут вон какой функционал, а там какая функциональность? (про объём функциональности)
    пример: функциональная вещь. (про наличие функциональности вообще, т.е. некого объёма функционала, в отличие от вещей с одной или стандартным кол-вом функциий).
    Ответ написан
    Комментировать
  • Webpack не находит модуль '@babel/core'. Как пофиксить?

    miraage
    @miraage
    Старый прогер
    Какой-то пакет из ваших зависимостей требует babel 7+, а у вас - 6.
    Читайте, обновляйтесь.

    https://babeljs.io/blog/2018/08/27/7.0.0
    Ответ написан
    1 комментарий
  • Аутентификация через REST API прямым запросом?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Use JWT, только помните что это не аутентификация, а просто формат токенов, обеспечивающий определенный уровень доверия. И не в get query string, a headers.

    Специально для тех кто советует POST - почитайте что такое REST Verbs, зачем они нужны и про кэширование. Кэшировать GET критически важно для API, в если использовать POST для получения данных, а не для записи это уже не REST.
    Ответ написан
    1 комментарий
  • Как работает stateless token authentication?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    очень легко мыслить токенами, как сессией, но токен это не сессия, не стоит путать.
    Токены используют как раз для того чтоб отойти от классической схемы с сессиями/паролями.
    по порядку:
    1) смотрите у вас есть сервис, состоит например из 10 серверов, которые отвечают за разные части функционала, поскольку функционал коммерческий вам нужно проверять каждый запрос от пользователя есть ли у него права для этого запроса.
    вы вынуждены сделать единый сервер валидации, и с каждого своего сервера, для каждого запроса, запрашивать на сервере валидации проверку пользователя и его прав.
    в такой ситуации сервер валидации для вашего сервиса становиться бутылочным горлышком, и мешает горизонтальной масштабируемости.
    и абсолютно без разницы валидируете вы пользователя по паролю, айпи, или токену, сессии, схема одна и таже, производительность тоже одна и таже (именно поэтому нет никакого смысла менять сверку пользователя вместо пароля на сверку по айпи, или токену, или сессию, тем более понятно почему использования айпи в этой схеме просто глупая идея).

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    > Как вы, уважаемые коллеги, объясняете своим заказчикам, что проект, созданный командой разработчиков (UX-дизайнер, верстальщик, программист и т.д.) будет заведомо лучшим выбором, нежели, чем тот, который собран на коленках школьником вечером после уроков быстро/сердито/дешево?

    У вас категорически неверное понимание того, что такое сайт на движке. Я не могу понять, почему вы считаете, что Ваша поделка на коленке, состряпанная за пару недель вчерашними школьниками, каким-то образом лучше Продукта, написанного сотнями и тысячами программистов в опенсорсе и опробованная миллионами пользователей.

    > "Как объяснить рядовому клиенту, что сайт, сделанный руками, а не на шаблоне, для него будет лучшим выбором?"

    Сперва убедитесь, что именно ВЫ понимаете, что хочет клиент. Например вы сможете с цифрами доказать, что сайт, созданный вами с нуля повысит продажи клиента на 10%, а сайт на шаблоне не повысит? Вы точно это сможете сделать? Если нет, то зачем клиенту знать какие кишки внутри сайта, если он выполняет свою бизнес задачу за минимальные деньги?

    > Рынок буквально переполнен дешевыми предложениями о создании сайтов (лендингов, интернет-магазинов и т.д.), которые созданы на универсальных шаблонах к WP/Joomla или конструкторах Wix/Lpgenerator/и т.д. Стоимость таких предложений довольно низкая. Рядовой клиент все чаще выбирает исполнителя по наименьшей цене.

    И правильно делает. Зачем для сайта-визитки среднестатистической компании что-то еще? Для ИХ БИЗНЕСА, этого ДОСТАТОЧНО, и понятно, что чем ниже цена, тем лучше клиенту. Для развозки пиццы покупают маленькие мотороллеры, а не крутые, вручную собранные харлеи. Потому что все это - инструменты, а не самоцель.
    Ответ написан
    3 комментария
  • Как объяснить рядовому клиенту, что сайт, сделанный руками, а не на шаблоне, для него будет лучшим выбором?

    VasyaPertrov
    @VasyaPertrov
    Изготовление и безопастность сайтов. WP и др.
    проект, созданный командой разработчиков (UX-дизайнер, верстальщик, программист и т.д.) будет заведомо лучшим выбором, нежели, чем тот, который собран на коленках школьником вечером после уроков быстро/сердито/дешево?

    1. С чего ты взял что твой "проект" будет лучше шаблонов, сделанных специалистками и проверенными-перепроверенными ещё сотней-тысячью других? ЧСВ зашкаливает?

    2. Какая связь межу шаблоном, сборкой и школьниками? Уже это говорит что ты не понимаешь предмета.

    А клиенту опасно связываться с такими самодельщиками - никто не проверит что там в реальности, доработать может быть сложнее и дороже.
    Ответ написан
    1 комментарий
  • Как объяснить рядовому клиенту, что сайт, сделанный руками, а не на шаблоне, для него будет лучшим выбором?

    Никак. Если шаблон покривает все потребности значит брать шаблон а не тратить время на разработку с 0.
    Ответ написан
    1 комментарий
  • Как объяснить рядовому клиенту, что сайт, сделанный руками, а не на шаблоне, для него будет лучшим выбором?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Во-первых, у шаблонных сайтов есть ряд неудобств.
    Ввиду универсальности верстки, они как правило содержат очень большое количество ненужного кода.
    Как объяснить эту проблему клиенту решайте сами.
    Я обычно говорю, что такие сайты сложней поддерживать, чем сайт, созданный "специально по его заказу".
    Во-вторых, давите на уникальность.
    Обычно на клиентов действует фраза "Вам же не нужен сайт, который будет копией другого проекта в интернете".
    Расскажите ему, что сайт - это лицо компании, он не должен быть копией чего-то (может даже оказаться копией конкурентов, что принесет ряд неудобств и ему и конкурентам).
    Должен "цеплять" зашедшего клиента, запоминаться.
    Но вы не должны навязывать это.
    Если клиенту все равно и он хочет дешево, то у вас есть два пути.
    Послать его нахер или сделать ему так, как он хочет)
    Ответ написан
    11 комментариев
  • Как объяснить рядовому клиенту, что сайт, сделанный руками, а не на шаблоне, для него будет лучшим выбором?

    @d-stream
    Готовые решения - не подаю, но...
    Просто стоит наверное ориентироваться на "битого клиента". Как только клиент готового движка с принабабахаными плагинами взвоет от тормозов и потратится на "оптимизацию" - он уже будет понимать чем узкоспециализированная конструкция лучше и самое главное - будет готов платить за это деньги.
    Ответ написан
    4 комментария
  • Как посмотреть по какому логину-паролю пытаются зайти по ssh в Linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    /var/log/secure
    /var/log/auth.log

    и команда last для успешных
    Ответ написан
    Комментировать
  • Как защитить изображения от PrintScreen?

    Serj-One
    @Serj-One
    i'm sexy and i know it
    Всё содержимое страницы априори доступно пользователю. Кому нужно, вытащат из кода.
    Защита от PrintScreen - турникет в поле, причём не просто не выполняющий свою функцию, но ещё и постоянно бьющий по бубенцам его поставившего.
    Ответ написан
    3 комментария
  • Чьими руками писать статьи на сайт?

    @Afatar
    Смотря чего хотите добиться от текста. Продать товар - это к копирайтеру. Если хотите заинтересовать художественной составляющей текста, то к писателям (те которые стихи пишут и книги). Журналисты, как правило пишут чисто информационные статьи с приведением фактов, ссылок, фотографий и прочего, пишут для новостных сайтов и журналов. А вообще, как правило есть творческие люди, которые это легко совмещают. Искать на фрилансерских биржах.
    Ответ написан
    Комментировать
  • Как повысить навык проектирования хороших сайтов?

    copist
    @copist
    Empower people to give
    Нет, я не согласен с тем, что созерцание чужих сайтов даёт навык проектирования хороших своих. Максимум - вдохновление. А тут нужны склад ума, навыки, определённая техника.

    Под хорошими я понимаю сайты, которыми удобно пользоваться посетителям

    Я рекомендую обратиться к направлению User eXpirience (EX) - создавать удобные пользователям решения.
    Это большое направление. Там есть немного от художника, но много от самого пользователя. Нужно давать пользователям задания, которые можно решить на твоём сайте, чтобы они при тебе делали и рассказывали - что хотят сделать, какой элемент интерфейса они бы кликнули, какие ожидания у них в голове до клика, что они получили после клика, получили ли они желаемое, достаточно ли просто было получить желаемое. Это в общем называется User/Usabity Testing. Нужно несколько таких ревью. Затем принимается решение, устраивает ли пользователей ваш способ удовлетворить его потребности, не стоит ли упростить или усложнить сценарии поведения пользователей, изменить размеры или цвета, переставить элементы местами.
    Через некоторое время, на N+1 проекте, у вас в голове начнёт складываться правильное понимание того, что ожидают пользователи, как удобнее для пользователя реализовать в интерфейсе решения его проблем. Идеального решения не будет. То, что вы придумете для N проектов, на N+1 вообще может не сработать. Главное знать как определить, что именно является причиной неудачи и иметь идеи, как это изменить.
    Ещё есть такая техника, как A/B тестирование, сплит-тестирование.
    В общем - делайте, проверяйте, исправляйте.
    Небольшой обзор для затравки www.zenexmachina.com/what-we-do/user-experience
    lean-startup-01.png
    Под хорошими я понимаю сайты, ... которые приносят прибыль своим владельцам

    Этот раздел называется маркетинг и, в частности, интернет-маркетинг. Первая задача: найти потребность и удовлетворить её. Вторая задача: удовлетворить потребности бОльшего количества потребителей, то есть "зацепить" больший процент аудитории либо увеличить аудиторию. Третья задача: найти оптимальную цену, то есть сбалансировать возможности производства, затрат, потребления и покупательской способности. Ну и ещё много задач.

    Под хорошими я понимаю сайты, ... которые при этом сделаны с заделом на будущее.

    Ищите новые потребности новых потребителей. Ищите новые потребности старых потребителей. Обозначу всё это словом диверсификация.
    Ищите новые способы удовлетворения старых потребностей, более эффективные или менее затратные. В том числе, новые клиентские технологии, более современный дизайн, если пользователю так будет удобно.
    Не останавливайтесь. Развивайтесь.
    Вот такой мини-обзор поможет: uxmastery.com/resources/process
    ux-process-diagram-cropped-620x360.png
    Опыт показывает, что меньше всего в этом вопросе помогают умные книги. Из них можно почерпнуть знания, но навык от этого не растёт ни чуть.

    Не согласен. Но конкретных книг не дам. Я просто не записывал, что именно я прочитал.
    Издательство МИФ много современных иностранных книг переводит. Много источников на английском.

    Но главное ...
    С другой стороны просто практиковаться тоже не лучшее решение – скорость, с которой развивается индустрия, выше, чем скорость, с которой можно накачать навык одной лишь практикой.

    Не так уж и быстро она растёт. А ещё, часто бывает, что знания растут, а на практике ничего не меняется. Цель изучения не в том, чтобы знать, а в том, чтобы действовать. Обычно лучше запоминается именно то, с чем сталкиваешься в реальности. А ещё, зная как делать, начинаешь экспериментировать.

    P.S. Тут какая то "серебрянная пуля", а не "золотая середина" ж))
    Ответ написан
    Комментировать
  • Как повысить навык проектирования хороших сайтов?

    @mccurov
    Александр, прежде всего совершенствовать понимание UI вот и всё. Чем лучше умеете проектировать интерфейсы для людей, тем лучше получаются Ваши сайты. Так же ежедневно посещайте dribbble.com, be.net - эти ресурсы позволят Вам настроиться на современный дизайн, подчерпнуть что-то для себя, перенять техники работы и понять, что нужно людям. Так же, как сказал Антон выше, читайте про дизайн и психологию - это две самые важные вещи в проектировании любых сайтов.
    Ответ написан
    1 комментарий
  • Где и как искать единомышленников для разработки браузерной игры?

    @Elizavetta
    Matroid: gamedev/js-разработка
    Не вполне понятно, какую часть работ Вы собираетесь взять на себя.
    Без денег, мне кажется, шансы собрать полную команду меньше, чем вероятность найти инвестора для проекта.
    То, что Вы готовы в будущем деньги платить, не влияет на ситуацию.
    Но для полной картины, конечно, надо размер проекта оценить.

    Где искать - запостите на dtf, gamedev - увидите реакцию
    Ответ написан
    Комментировать
  • Где и как искать единомышленников для разработки браузерной игры?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Только домен, хостинг и желание? Диздока нет, wireframe'ов нет, только задумка? Если есть хотя бы одностраничный питч, уже можно начинать работать. А без этого — очередное прожектерство.
    Ответ написан
    2 комментария
  • Go IDE

    @XakRU
    Выбирайте среду удобную для вас.
    все рашемо плагинами и модулями
    https://github.com/golang/go/wiki/IDEsAndTextEdito...
    Ответ написан
    Комментировать
  • Где найти самое простое объяснение Dependency Injection паттерна?

    iximiuz
    @iximiuz
    Мартин Фаулер круто пишет обо всех паттернах. Про DI можно почитать тут. Вообще у него отличный блог. И он же автор книги P of EAA. Правда русский ее перевод крайне не рекомендую читать, можно только запутаться, так что читайте в оригинале.

    Если хотите разобраться с паттернами, то самая простая (и при этом дельная!) книга - это Фриман&Фриман. Ее можно читать и на русском.

    Применительно к PHP - вот лучшая книга про шаблоны (и не только), которую я видел PHP. Объекты, шаблоны и методики программирования от Мэт Зандстра.

    Порядок прочтения рекомендую следующий: Фриман&Фриман, затем Мэт Зандстра, и на десерт Фаулера P of EAA.

    UPD:
    Важно отличать паттерн Dependency Injection от Dependency Injection Container.
    Простейший пример внедрения зависимости:
    interface IEngine {}
     
    class V8Engine implements IEngine {}
     
    class Car {
      public function __constructor(IEngine $engine) {
        $this->engine = $engine;
      }
    }
     
    $car = new Car(new V8Engine());

    Простейший пример игнорирования явного внедрения (для такого кода трудно писать unit-тесты, его труднее понимать и править):
    class V8Engine {}
    
    class Car {
      public function __constructor() {
        $this->engine = new V8Engine();
      }
    }
    
    $car = new Car();

    Отличный (и легковесный) пример DIC - это pimple:
    // define some services
    $container['session_storage'] = function ($c) {
        return new SessionStorage('SESSION_ID');
    };
    
    $container['session'] = function ($c) {
        return new Session($c['session_storage']);
    };

    Советую прочитать и понять его исходники, чтобы убедиться, что в DIC (во всяком случае для PHP) нет никакой магии. Первая версия была всего ~100 строк. Необходимо также отметить, что класс Session использует шаблон Dependency Injection, явно определяя свою зависимость от SessionStorage. А контейнер делает лишь правильную связку.

    И да, контейнер сам по себе можно использовать как service locator, если к нему, например, есть глобальный доступ. Но это очень плохая практика, потому что если что-то обращается к сервис локатору, то формально оно начинает зависеть сразу от всех компонентов системы.
    Ответ написан
    4 комментария
  • Когда изучать npm, grunt, bower, git и т.д?

    BBoyJuss
    @BBoyJuss
    WordPress, интерфейсы и все вытекающие
    Вчера
    Ответ написан
    Комментировать
  • В чем заключается навыки UI / UX?

    nickproduct
    @nickproduct
    Product Manager
    111522ef604a423c925ca125f4ecfc97.jpg
    Ответ написан
    Комментировать