• Как правильно установить бесплатный SSL от Comodo?

    @mpotemkin
    Для тех, кто, как и я, долго искал ответа на этот вопрос:

    1) COMODO все вам прислал в ZIP файле

    2) В терминале "соединяем" три файла
    cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt  > domain.com.cer


    3) В конфигурационном файле сайта в Apache вставляем
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/domain.com.crt
    SSLCertificateKeyFile /etc/apache2/ssl/domain.com.key
    SSLCACertificateFile /etc/apache2/ssl/domain.com.cer


    domain.com.crt - тоже из ZIP файла

    4) Перезапускаем Apache
    sudo service apache2 restart

    5) смотрим на сайт, идем сюда https://www.sslshopper.com/ssl-checker.html вбиваем свой домен - все должно быть зеленым :)
    Ответ написан
  • Incorrect order, Extra certs, Contains anchor - в чем проблема с SSL?

    Serjio999
    @Serjio999
    самоучка =)
    В сертификате должно быть (пример):

    ----BEGIN PRIVATE KEY-----
    [Your private certificate]
    -----END PRIVATE KEY-----
    ----BEGIN CERTIFICATE-----
    [Your certificate]
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    [Intermidate#1 certificate]
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    [Intermidate#2 certificate]
    -----END CERTIFICATE-----

    ROOT исключить, т.к. это не желательно (иначе будет предупреждение об "Chain issues - Contains anchor" при проверке сертификата).

    Так что вам нужно только пересобрать PFX-файл, без ROOT
    Ответ написан
  • CMS для интернет-магазина с более чем 50 000 товаров?

    PavelUstyugov
    @PavelUstyugov
    php
    1с Bitrix конечно + мощный сервак.

    modx revo + minishop2 - в умелых руках тоже можно разогнать.
    Ответ написан
  • Как создать песок в unity3d?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Ну чувак, ты в конструкторы переиграл видимо, раз уже не интересно подобным заниматься. Чего ты хочешь? Создать игру и заработать мильён? Создать игру и заработать почёт? Или создать игру и выразить свои мысли? Не бойся, неправильных ответов нет, но стоит определится с ответом, так как он действительно важен.

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

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

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

    В общем, удачи в начинаниях.
    Ответ написан
  • Какую сетку использовать?

    sfi0zy
    @sfi0zy Куратор тега CSS
    UI developer. Верстаю неверстаемое.
    Только изучаю верстку. И думаю что использовать для адаптивности, готовую сетку или делать свою.

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

    И есть еще один момент: вписывается ли конкретная сетка в конкретный проект. Например мне нравится вот эта сетка. Я ее часто использую, она простая, удобная, очень похожа на тот же flexboxgrid, но с классами в духе rscss. Все круто. Но в проект, где используют БЭМ, я ее не принесу, как бы она мне не нравилась. Просто она туда не впишется. Или если нужна поддержка старых IE - там без флексов она не будет работать. Или может быть дизайн, требующий семь брейкпоинтов. Или 11 колонок. Всякое в жизни бывает. И идеально подходящая в одних ситуациях сетка совершенно не подойдет в других. Нет универсального варианта для всех возможных проектов.
    Ответ написан
  • Blend4web или Verge3d?

    makarovceo
    @makarovceo
    В общем такое дело, задача у меня та же - разместить 3Д модель на сайте. Сегодня тестирую Unity, B4W и Verge3D получается одна и та же модель в Unity и Verge потребляет 700 оперативки и 30% моего проца при открытии в браузере, а B4W всего 390 и 10% проца. Мне кажется серьезный аргумент в пользу B4W
    Ответ написан
  • В чем разница ОС Linux и OS X (Mac)?

    Adamos
    @Adamos
    На самом деле, вы просто зря упираетесь в одну систему.

    Даже работая в Линуксе, сервер для бэкэнда лучше поднимать не в основной системе, а в виртуалке (Vagrant в помощь). Сервер этот, естественно, должен быть на Линуксе - хостинг под винду или макось вам вряд ли когда-нибудь понадобится. А вот что будет основной системой - тут "выбирай на вкус".

    У Макоси, имхо, всего два плюса: более вылизанное (но и менее настраиваемое) DE и существование под него проприетарных программ типа Photoshop. Мне лично второе не нужно, а первое только мешает - так что выбор очевиден...
    Ответ написан
  • Есть альтернативы CSSComb?

    @softshape Автор вопроса
    Нашелся плагин vscode-postcss-sorting - https://github.com/mrmlnc/vscode-postcss-sorting. У него правда все отключено по умолчанию, но скопированный из старого CSSComb порядок свойств заставил его работать - https://github.com/mrmlnc/vscode-postcss-sorting/i...
    Ответ написан
  • Встречали игру в которой очки персонажа зависят от того сколько ты прошёл в реальной жизни?

    DanceM
    @DanceM
    Кто хочет -ищет способ, кто не хочет -ищет причину
    Это называется geolocation games, и их полно, от совсем никому не нужных, до Ingress и Pokemon Go.
    Ответ написан
  • Какой есть хороший онлайн-сервис прототипирования на русском языке?

    @Goolyandex
    Есть - esk.one онлайн-сервис прототипирования на русском языке. Поддержка и разрабы русские. Там 3 в 1, прототипы сайтов, блок-схемы, mind map. Пока вроде полностью бесплатный.
    Ответ написан
  • Как получить идентификатор текущего пользователя в виджете сообществ вк?

    vkapi
    @vkapi
    В Args.uid просто находится число
    То есть должно быть так "icon_id": "id" + Args.uid

    Кроме того параметр нужен для получения других полей из профиля пользователя, например
    user = API.users.get({ id: Args.uid })[0],
    После этого в коде можно вызывать конкретные поля
    "title": "Добро пожаловать, " + user.first_name + "!",
    Ответ написан
  • Идеальный интерфейс

    VoidVolker
    @VoidVolker
    Возможно, не совсем данной тематики будет, но рискну предложить посмотреть GUI десктопного приложения Blender3D — у него GUI полностью на OpenGL и является очень удобным и интуитивно понятным, отсутствует дикая вложенность меню и прочих окон.
    Ответ написан
  • Как правильно называть переменные в CSS?

    AngReload
    @AngReload
    Кратко о себе
    Можно подглядеть у пикабу, на сайте можно менять светлую и тёмную тему и основной цвет. Там хороший код, и названия, которые дали переменным отлично отражают их назначение.
    Длиннокод
    :root {
      --color--bg: #fff;
      --color--bg_80: rgba(255, 255, 255, 0.8);
      --color--bg_90: rgba(255, 255, 255, 0.9);
      --color--bg_contrast: #000;
      --color--bg_contrast-50: rgba(0, 0, 0, 0.5);
      --color--bg_contrast-60: rgba(0, 0, 0, 0.6);
      --color--color: #000;
      --color--green: #8ac858;
      --color--red: #FD5D47;
      --color--yellow: #ffc800;
      --color--gray: #cacaca;
      --color--gray_light: #e8e8e8;
      --color--gray_dark: #adadad;
      --color--text: #212121;
      --color--secondary: #4d4d4d;
      --color--caption: #757575;
      --color--text_green: #6c9b45;
      --color--text_link: #6c9b45;
      --color--text_link: var(--color--text_green);
      --color--text_red: #f75c48;
      --color--text_contrast: #fff;
      --color--text_search: rgba(255, 200, 0, 0.3);
      --color--selection: #c5e4ac;
      --color--tool: #c2c2c2;
      --color--icon: #BDBDBF;
      --color--social_vk: #5b7aa8;
      --color--social_facebook: #4867aa;
      --color--social_twitter: #41abe1;
      --color--social_google: #dd4b38;
      --color--app__bg: #f4f4f4;
      --color--app__text: #212121;
      --color--section__bg: #fff;
      --color--section_gray__bg: #f9f9fb;
      --color--section_success__bg: #8ac858;
      --color--section_success__bg: var(--color--green);
      --color--section_success__text: #fff;
      --color--section_danger__bg: #FD5D47;
      --color--section_danger__bg: var(--color--red);
      --color--section_danger__text: #fff;
      --color--section_warning__bg: rgba(255, 200, 0, 0.05);
      --color--section_warning__border: #ffc800;
      --color--section_warning__text: #212121;
      --color--toast_default__bg: #6ea046;
      --color--toast_default__text: #fff;
      --color--toast_danger__bg: #FD5D47;
      --color--toast_danger__bg: var(--color--red);
      --color--toast_danger__text: #fff;
      --color--toast_warning__bg: #ffc800;
      --color--toast_warning__text: #5e3a00;
      --color--popup_shadow-arrow: rgba(0, 0, 0, 0.08);
      --color--popup_default__bg: #fff;
      --color--popup_default__text: #212121;
      --color--popup_gray__bg: #f9f9fb;
      --color--popup_gray__text: #212121;
      --color--popup_danger__bg: #FD5D47;
      --color--popup_danger__bg: var(--color--red);
      --color--popup_danger__text: #fff;
      --color--popup_warning__bg: #212121;
      --color--popup_warning__text: #fff;
      --color--tag__text: #757575;
      --color--tag_highlight__text: #4d4d4d;
      --color--tag-focus__text: #212121;
      --color--header__text: #d8ffbc;
      --color--header_active__text: #fff;
      --color--header_dark__text: rgba(255, 255, 255, 0.7);
      --color--header_icon__bg: rgba(0, 0, 0, 0.05);
      --color--header__bg: #8ac858;
      --color--header__bg: var(--color--green);
      --color--footer__text: #212121;
      --color--footer__bg: #f0f0f0;
      --color--award__bg: #f1f1f1;
      --color--award__bg_hover: #d9d9d9;
      --color--menu-item-current__text: #6c9b45;
      --color--menu-item-current__text: var(--color--text_green);
      --color--menu-item-current__bg: #8ac858;
      --color--menu-item-current__bg: var(--color--green);
      --color--comments__left-border: #efefef;
      --color--comments__image: #fff;
      --color--input__bg: #fff;
      --color--input__text: #212121;
      --color--input-placeholder__text: #757575;
      --color--input-focus__border: #8ac858;
      --color--input-focus__border: var(--color--green);
      --color--input_complexity__bg: #e8e8e8;
      --color--input_checkbox: #adadad;
      --color--bell_yellow: #ffc800;
      --color--border: #e9e9e9;
      --color--border_success: #8ac858;
      --color--border_success: var(--color--green);
      --color--border_error: #FD5D47;
      --color--border_error: var(--color--red);
      --color--border_upload: rgba(233, 233, 233, 0.4);
      --color--highlight_yellow__bg: rgba(255, 200, 0, 0.1);
      --color--highlight_yellow__bg_40: rgba(255, 200, 0, 0.4);
      --color--highlight_red__bg: rgba(253, 93, 71, 0.1);
      --color--highlight_gray__bg: rgba(233, 233, 233, 0.4);
      --color--highlight_green__bg: rgba(138, 200, 88, 0.1);
      --color--shadow: rgba(0, 0, 0, 0.16);
      --color--button__text_contrast: #fff;
      --color--button__stroke: rgba(88, 88, 88, 0.2);
      --color--button__stroke_contrast: rgba(255, 255, 255, 0.2);
      --color--button_default__bg: #e9e9e9;
      --color--button_default__text: #585858;
      --color--button_success__bg: #8ac858;
      --color--button_success__bg: var(--color--green);
      --color--button_danger__bg: #FD5D47;
      --color--button_danger__bg: var(--color--red);
      --color--button_warning__bg: #ffc800;
      --color--button_warning__bg: var(--color--yellow);
      --color--button_dark__bg: #4d4d4d;
      --color--button_dark__bg: var(--color--secondary);
      --color--button-small_success__bg: #83be54;
      --color--button-small_default__bg: #dddddd;
      --color--button-small_default__text: #585858;
      --color--slider__quantity: rgba(138, 200, 88, 0.7);
      --color--progress-circle__storke: rgba(117, 117, 117, 0.2);
      --color--editor__bg: rgba(0, 0, 0, 0.7);
      --color--editor__text: #fff;
      --color--editor__button_hover: rgba(0, 0, 0, 0.4);
      --color--editor__button_active: rgba(0, 0, 0, 0.4);
      --color--player__play: rgba(0, 0, 0, 0.1);
      --color--player__logo: rgba(255, 255, 255, 0.5);
      --color--code__bg: #f9f9fb
    }
    
    html[data-theme-dark] {
      --color--bg: #22272B;
      --color--bg_80: rgba(34, 39, 43, 0.8);
      --color--bg_90: rgba(34, 39, 43, 0.9);
      --color--bg_contrast: #fff;
      --color--bg_contrast-50: rgba(34, 39, 43, 0.5);
      --color--bg_contrast-60: rgba(34, 39, 43, 0.6);
      --color--color: #fff;
      --color--green: #567842;
      --color--red: #FD5D47;
      --color--yellow: #917815;
      --color--gray: #4e5255;
      --color--gray_light: #65686b;
      --color--gray_dark: #393d41;
      --color--text: #bfbfbf;
      --color--secondary: #a6a6a6;
      --color--caption: #7d7d7d;
      --color--text_green: #6c9b45;
      --color--text_red: #f75c48;
      --color--text_contrast: #fff;
      --color--text_search: rgba(145, 120, 21, 0.3);
      --color--selection: rgba(69, 96, 53, 0.99);
      --color--tool: #4e5255;
      --color--icon: #4e5255;
      --color--social_vk: #5b7aa8;
      --color--social_facebook: #4867aa;
      --color--social_twitter: #41abe1;
      --color--social_google: #dd4b38;
      --color--app__bg: #171c20;
      --color--app__text: #bfbfbf;
      --color--section__bg: #22272B;
      --color--section_gray__bg: #1a1e21;
      --color--section_success__text: #fff;
      --color--section_danger__bg: #FD5D47;
      --color--section_danger__text: #fff;
      --color--section_warning__bg: rgba(145, 120, 21, 0.05);
      --color--section_warning__border: #917815;
      --color--section_warning__text: #bfbfbf;
      --color--toast_default__bg: #8ac858;
      --color--toast_default__text: #fff;
      --color--toast_danger__bg: #FD5D47;
      --color--toast_danger__text: #fff;
      --color--toast_warning__bg: #fed45b;
      --color--toast_warning__text: #5e3a00;
      --color--popup_shadow-arrow: rgba(0, 0, 0, 0.08);
      --color--popup_default__bg: #1f2327;
      --color--popup_default__text: #bfbfbf;
      --color--popup_gray__bg: #171b1e;
      --color--popup_gray__text: #bfbfbf;
      --color--popup_danger__bg: #FD5D47;
      --color--popup_danger__text: #fff;
      --color--popup_warning__bg: #181b1e;
      --color--popup_warning__text: #bfbfbf;
      --color--tag__text: #7d7d7d;
      --color--tag_highlight__text: #a6a6a6;
      --color--tag-focus__text: #bfbfbf;
      --color--header__text: rgba(255, 255, 255, 0.7);
      --color--header_active__text: #fff;
      --color--header_dark__text: rgba(255, 255, 255, 0.7);
      --color--header_icon__bg: rgba(255, 255, 255, 0.05);
      --color--header__bg: #1f2327;
      --color--footer__text: #bfbfbf;
      --color--footer__bg: #0f0f0f;
      --color--award__bg: #4e5255;
      --color--award__bg_hover: #606366;
      --color--comments__left-border: #393d41;
      --color--input__bg: #22272B;
      --color--input__text: #bfbfbf;
      --color--input-placeholder__text: #7d7d7d;
      --color--input-focus__border: #8ac858;
      --color--input-focus__border: var(--color--green);
      --color--input_complexity__bg: #65686b;
      --color--input_checkbox: #393d41;
      --color--bell_yellow: #ffc800;
      --color--border: #393d41;
      --color--border_error: #FD5D47;
      --color--border_upload: rgba(57, 61, 65, 0.4);
      --color--highlight_yellow__bg: rgba(145, 120, 21, 0.1);
      --color--highlight_yellow__bg_40: rgba(145, 120, 21, 0.4);
      --color--highlight_red__bg: rgba(253, 93, 71, 0.1);
      --color--highlight_gray__bg: rgba(255, 255, 255, 0.1);
      --color--highlight_green__bg: rgba(86, 120, 66, 0.1);
      --color--shadow: rgba(0, 0, 0, 0.46);
      --color--button__text_contrast: #fff;
      --color--button__stroke: rgba(110, 110, 110, 0.2);
      --color--button__stroke_contrast: rgba(255, 255, 255, 0.2);
      --color--button_default__bg: #2d3236;
      --color--button_default__text: #6e6e6e;
      --color--button_dark__bg: #0f0f0f;
      --color--button-small_default__bg: #2b3033;
      --color--button-small_default__text: #6e6e6e;
      --color--button-small_success__bg: #52723f;
      --color--slider__quantity: #3c542e;
      --color--progress-circle__storke: rgba(125, 125, 125, 0.2);
      --color--editor__bg: rgba(34, 39, 43, 0.9);
      --color--editor__text: #fff;
      --color--editor__button_hover: rgba(255, 255, 255, 0.2);
      --color--editor__button_active: rgba(255, 255, 255, 0.4);
      --color--player__play: rgba(34, 39, 43, 0.1);
      --color--player__logo: rgba(255, 255, 255, 0.5)
    }
    Ответ написан
  • Как правильно называть переменные в CSS?

    @SergeiB Автор вопроса
    Может, вопрос соберёт больше интересных ответов, но сам пока пришёл к двум вариантам:
    1. Не задавать переменные (в данном случае цвета) напрямую желаемому объекту, а делать такую цепочку:
    $white: #fff;
    $body-bg: $white;
    $comment-container-bg: $white;
    
    body {
      background-color: $body-bg;
    }
    .comment-container {
      background-color: $comment-container-bg;
    }

    В таком случае все настройки хранятся в одном месте и этот подход больше соответствует принципу модульности: если нужно поменять белый цвет только в конкретной части сайта, то сделать это очень просто.

    2. Создавать цветовые схемы в отдельных файлах со своими переменными (light-theme.scss, dark-theme.scss и т.д.) и подключать определённую тему при необходимости.
    Ответ написан
  • Gulp не находит Sass. Как исправить?

    @codecreater
    Не знаю актуально ли еще, но напишу, вдруг кому-то поможет... Была такая же проблема... долго лазил по форумам в поисках решения, в итоге решил так:
    удалил полностью папку node_modules
    потом сделал npm install без sudo!!
    потом npm install gulp-sass тоже без sudo
    После этого все заработало!
    где-то упоминалось что проблема в правах доступа.... но это не точно)
    ps: ос - hight sierra 10.13.4
    Ответ написан
  • Как отключить подсказки VS Code?

    @yanminibaev
    Я решил эту проблему так Отключаю подсказки + emmet работает
    "emmet.triggerExpansionOnTab": true,
    "editor.quickSuggestions": {
    "other": false,
    "comments": false,
    "strings": false
    },
    Ответ написан