• Как подружить Fabric.js с русским текстом и заставить правильно показывать fontFamily?

    @fairwind
    Скорее всего, текст отрисовывается раньше, чем загружается шрифт.
    Если так, можно, как вариант, заранее подгружать шрифты.
    Например, с помощью github.com/typekit/webfontloader.
    Насчет русского языка - а шрифт вообще кириллический?
    Ответ написан
  • Как заблокировать внутреннюю ссылку на сайте?

    Такие письма должны приходит заказным письмом, а не по e-mail. Я бы забил на это дело)
    Ответ написан
  • Темы шаблонов

    @zloyusr
    Определите в бандле сервис для ThemeTwigLoader с тэгом twig.loader:

    acme_demo.twig.theme_loader:
        class: Acme\DemoBundle\Twig\Loader\ThemeTwigLoader
        arguments: [@service_container, ...]
        tags:
            - { name: twig.loader }
    
    Ответ написан
  • Как получить доступ к базе в DependencyInjection?

    JekaRu
    @JekaRu
    Передайте в конструктор EntityManager

    Пример:
    class MyPropertyService{
      private $property1;
      // ....
      public function __construct(EntityManager $em){
        // ваш код  инициализации
        // $this->property1 = ...
      }
    //...
    }
    


    <service id="my.property.service" class="Acme\SuperBundle\Services\MyPropertyService">
          <argument type="service" id="doctrine.orm.default_entity_manager"/>
    </service>
    
    Ответ написан
  • Как залогинить нового юзера?

    создать токен, присунуть ему юзера, засунуть токен в секурити контекст
    Ответ написан
  • Почему тормозит mysql при insert и update?

    KEKSOV
    @KEKSOV
    Пожалуй, вот хорошая статья о проблемах больших таблиц.

    И с чего, вдруг, такая «боязнь» партиционирования? Вот живой пример из подсистемы статистики на сайте одного из моих заказчиков. За год там накопилось около 5.000.000 записей, все прекрасно работает и ничего не тормозит:

    SET NAMES cp1251;
    DROP TABLE IF EXISTS stat_event;
    CREATE TABLE stat_event
    (
    -- Общие поля
        `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Ключ записи',
        `oid` BIGINT UNSIGNED NOT NULL DEFAULT '0' COMMENT 'ID Объекта',
        `created` DATETIME NULL COMMENT 'Время создания записи',
        `changed` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL COMMENT 'Время последнего изменения записи',
        `uid` BIGINT UNSIGNED NOT NULL DEFAULT '0' COMMENT 'ID пользователя, сделавшего последние изменения',
        `comments` BLOB COMMENT 'Примечание',
    
    -- Поля объекта
        `event_time` DATETIME NOT NULL COMMENT 'UNIX timestamp события (может отличаться от значения в поле created)',
        `event_type` ENUM (
              'UNKNOWN'     -- тип события не определен
            , 'INDEX'       -- загрузка заглавной страницы
            , 'PRODUCT'     -- загрузка страницы с описанием товара
            , 'CATEGORY'    -- загрузка страницы с описанием категории
            , 'GROUP'       -- загрузка страницы с описанием группы категорий
            , 'SITEMAP'     -- загрузка роботом карты сайта
            , 'ORDER'       -- оформление заказа через сайт
            , 'OTHER'       -- прочее событие
            , '404'         -- страница не найдена
            , '301'         -- редирект страницы
            , 'VIEW_CART'   -- просмотр корзины заказов
            , 'OFFLINE_MSG' -- Отправка сообщения через Форму пожаловаться
            , 'ONLINE_MSG'  -- Отправка сообщения через Форма помощь онлайн
            , 'PAGE_LOAD'   -- Страница загружена в браузер
        ) NOT NULL DEFAULT 'UNKNOWN' COMMENT 'Тип события',
        `server_name` ENUM('0','foo.ru','boo.ru','goo.ru') NOT NULL DEFAULT '0' COMMENT 'Сервер, на котором произошло событие',
        `shop_object_id` BIGINT UNSIGNED DEFAULT 0 COMMENT 'идентификатор объекта магазина, если событие связано с ним',
        `request_uri` TEXT NULL COMMENT 'строка запроса',
        `query_string` TEXT NULL COMMENT 'параметры запроса',
        `bot` ENUM('0','1') NOT NULL DEFAULT '0' COMMENT 'В строке USER_AGENT встречается bot',
        `remote_addr` VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'IP-адрес клиента',
        `referer` TEXT NULL COMMENT 'Адрес страницы, с которой пришел клиент',
        `user_agent` VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'название браузера, переданного серверу',
        `server` TEXT NULL COMMENT 'php-переменная $_SERVER',
        `session` TEXT NULL COMMENT 'php-переменная $_SESSION',
        `cookie` TEXT NULL COMMENT 'php-переменная $_COOKIE',
        `request` TEXT NULL COMMENT 'php-переменная $_REQUEST',
        `event_params` TEXT NULL COMMENT 'Дополнительные параметры события, как правило это JSON',
        `profiler` TEXT NULL COMMENT 'json счетчиков производительности',
        `profiler_total` DECIMAL(8,5) NOT NULL DEFAULT 0 COMMENT 'время, за которое был выполнен запрос',
        `db` TEXT NULL COMMENT 'json счетчиков SQL-запросов',
        `tephlon` TEXT NULL COMMENT 'json статистики кеша SQL-запросов',
        
        PRIMARY KEY (`id`, bot, event_time )
    ) ENGINE=MYISAM DEFAULT CHARSET=cp1251 COMMENT 'События, происходящие на сайте'
    PARTITION BY RANGE COLUMNS( event_time ) 
    SUBPARTITION BY LINEAR KEY( bot )
    SUBPARTITIONS 2
    (
          PARTITION p2011_09 VALUES LESS THAN ( '2011-10-01 00:00:00' )
        , PARTITION p2011_10 VALUES LESS THAN ( '2011-11-01 00:00:00' )
        , PARTITION p2011_11 VALUES LESS THAN ( '2011-12-01 00:00:00' )
        , PARTITION p2011_12 VALUES LESS THAN ( '2012-01-01 00:00:00' )
    
        , PARTITION p2012_01 VALUES LESS THAN ( '2012-02-01 00:00:00' )
        , PARTITION p2012_02 VALUES LESS THAN ( '2012-03-01 00:00:00' )
        , PARTITION p2012_03 VALUES LESS THAN ( '2012-04-01 00:00:00' )
        , PARTITION p2012_04 VALUES LESS THAN ( '2012-05-01 00:00:00' )
        , PARTITION p2012_05 VALUES LESS THAN ( '2012-06-01 00:00:00' )
        , PARTITION p2012_06 VALUES LESS THAN ( '2012-07-01 00:00:00' )
        , PARTITION p2012_07 VALUES LESS THAN ( '2012-08-01 00:00:00' )
        , PARTITION p2012_08 VALUES LESS THAN ( '2012-09-01 00:00:00' )
        , PARTITION p2012_09 VALUES LESS THAN ( '2012-10-01 00:00:00' )
        , PARTITION p2012_10 VALUES LESS THAN ( '2012-11-01 00:00:00' )
        , PARTITION p2012_11 VALUES LESS THAN ( '2012-12-01 00:00:00' )
        , PARTITION p2012_12 VALUES LESS THAN ( '2013-01-01 00:00:00' )
    
        , PARTITION p2013_01 VALUES LESS THAN ( '2013-02-01 00:00:00' )
        , PARTITION p2013_02 VALUES LESS THAN ( '2013-03-01 00:00:00' )
        , PARTITION p2013_03 VALUES LESS THAN ( '2013-04-01 00:00:00' )
        , PARTITION p2013_04 VALUES LESS THAN ( '2013-05-01 00:00:00' )
        , PARTITION p2013_05 VALUES LESS THAN ( '2013-06-01 00:00:00' )
        , PARTITION p2013_06 VALUES LESS THAN ( '2013-07-01 00:00:00' )
        , PARTITION p2013_07 VALUES LESS THAN ( '2013-08-01 00:00:00' )
        , PARTITION p2013_08 VALUES LESS THAN ( '2013-09-01 00:00:00' )
        , PARTITION p2013_09 VALUES LESS THAN ( '2013-10-01 00:00:00' )
        , PARTITION p2013_10 VALUES LESS THAN ( '2013-11-01 00:00:00' )
        , PARTITION p2013_11 VALUES LESS THAN ( '2013-12-01 00:00:00' )
        , PARTITION p2013_12 VALUES LESS THAN ( '2014-01-01 00:00:00' )
    
        , PARTITION p2014_01 VALUES LESS THAN ( '2014-02-01 00:00:00' )
        , PARTITION p2014_02 VALUES LESS THAN ( '2014-03-01 00:00:00' )
        , PARTITION p2014_03 VALUES LESS THAN ( '2014-04-01 00:00:00' )
        , PARTITION p2014_04 VALUES LESS THAN ( '2014-05-01 00:00:00' )
        , PARTITION p2014_05 VALUES LESS THAN ( '2014-06-01 00:00:00' )
        , PARTITION p2014_06 VALUES LESS THAN ( '2014-07-01 00:00:00' )
        , PARTITION p2014_07 VALUES LESS THAN ( '2014-08-01 00:00:00' )
        , PARTITION p2014_08 VALUES LESS THAN ( '2014-09-01 00:00:00' )
        , PARTITION p2014_09 VALUES LESS THAN ( '2014-10-01 00:00:00' )
        , PARTITION p2014_10 VALUES LESS THAN ( '2014-11-01 00:00:00' )
        , PARTITION p2014_11 VALUES LESS THAN ( '2014-12-01 00:00:00' )
        , PARTITION p2014_12 VALUES LESS THAN ( '2015-01-01 00:00:00' )
        
        , PARTITION p2015_01 VALUES LESS THAN ( '2015-02-01 00:00:00' )
        , PARTITION p2015_02 VALUES LESS THAN ( '2015-03-01 00:00:00' )
        , PARTITION p2015_03 VALUES LESS THAN ( '2015-04-01 00:00:00' )
        , PARTITION p2015_04 VALUES LESS THAN ( '2015-05-01 00:00:00' )
        , PARTITION p2015_05 VALUES LESS THAN ( '2015-06-01 00:00:00' )
        , PARTITION p2015_06 VALUES LESS THAN ( '2015-07-01 00:00:00' )
        , PARTITION p2015_07 VALUES LESS THAN ( '2015-08-01 00:00:00' )
        , PARTITION p2015_08 VALUES LESS THAN ( '2015-09-01 00:00:00' )
        , PARTITION p2015_09 VALUES LESS THAN ( '2015-10-01 00:00:00' )
        , PARTITION p2015_10 VALUES LESS THAN ( '2015-11-01 00:00:00' )
        , PARTITION p2015_11 VALUES LESS THAN ( '2015-12-01 00:00:00' )
        , PARTITION p2015_12 VALUES LESS THAN ( '2016-01-01 00:00:00' )
        
        , PARTITION p2016_01 VALUES LESS THAN ( '2016-02-01 00:00:00' )
        , PARTITION p2016_02 VALUES LESS THAN ( '2016-03-01 00:00:00' )
        , PARTITION p2016_03 VALUES LESS THAN ( '2016-04-01 00:00:00' )
        , PARTITION p2016_04 VALUES LESS THAN ( '2016-05-01 00:00:00' )
        , PARTITION p2016_05 VALUES LESS THAN ( '2016-06-01 00:00:00' )
        , PARTITION p2016_06 VALUES LESS THAN ( '2016-07-01 00:00:00' )
        , PARTITION p2016_07 VALUES LESS THAN ( '2016-08-01 00:00:00' )
        , PARTITION p2016_08 VALUES LESS THAN ( '2016-09-01 00:00:00' )
        , PARTITION p2016_09 VALUES LESS THAN ( '2016-10-01 00:00:00' )
        , PARTITION p2016_10 VALUES LESS THAN ( '2016-11-01 00:00:00' )
        , PARTITION p2016_11 VALUES LESS THAN ( '2016-12-01 00:00:00' )
        , PARTITION p2016_12 VALUES LESS THAN ( '2017-01-01 00:00:00' )
        
        , PARTITION p2017_01 VALUES LESS THAN ( '2017-02-01 00:00:00' )
        , PARTITION p2017_02 VALUES LESS THAN ( '2017-03-01 00:00:00' )
        , PARTITION p2017_03 VALUES LESS THAN ( '2017-04-01 00:00:00' )
        , PARTITION p2017_04 VALUES LESS THAN ( '2017-05-01 00:00:00' )
        , PARTITION p2017_05 VALUES LESS THAN ( '2017-06-01 00:00:00' )
        , PARTITION p2017_06 VALUES LESS THAN ( '2017-07-01 00:00:00' )
        , PARTITION p2017_07 VALUES LESS THAN ( '2017-08-01 00:00:00' )
        , PARTITION p2017_08 VALUES LESS THAN ( '2017-09-01 00:00:00' )
        , PARTITION p2017_09 VALUES LESS THAN ( '2017-10-01 00:00:00' )
        , PARTITION p2017_10 VALUES LESS THAN ( '2017-11-01 00:00:00' )
        , PARTITION p2017_11 VALUES LESS THAN ( '2017-12-01 00:00:00' )
        , PARTITION p2017_12 VALUES LESS THAN ( '2018-01-01 00:00:00' )
        
        , PARTITION p2018_01 VALUES LESS THAN ( '2018-02-01 00:00:00' )
        , PARTITION p2018_02 VALUES LESS THAN ( '2018-03-01 00:00:00' )
        , PARTITION p2018_03 VALUES LESS THAN ( '2018-04-01 00:00:00' )
        , PARTITION p2018_04 VALUES LESS THAN ( '2018-05-01 00:00:00' )
        , PARTITION p2018_05 VALUES LESS THAN ( '2018-06-01 00:00:00' )
        , PARTITION p2018_06 VALUES LESS THAN ( '2018-07-01 00:00:00' )
        , PARTITION p2018_07 VALUES LESS THAN ( '2018-08-01 00:00:00' )
        , PARTITION p2018_08 VALUES LESS THAN ( '2018-09-01 00:00:00' )
        , PARTITION p2018_09 VALUES LESS THAN ( '2018-10-01 00:00:00' )
        , PARTITION p2018_10 VALUES LESS THAN ( '2018-11-01 00:00:00' )
        , PARTITION p2018_11 VALUES LESS THAN ( '2018-12-01 00:00:00' )
        , PARTITION p2018_12 VALUES LESS THAN ( '2019-01-01 00:00:00' )
        
        , PARTITION p2019_01 VALUES LESS THAN ( '2019-02-01 00:00:00' )
        , PARTITION p2019_02 VALUES LESS THAN ( '2019-03-01 00:00:00' )
        , PARTITION p2019_03 VALUES LESS THAN ( '2019-04-01 00:00:00' )
        , PARTITION p2019_04 VALUES LESS THAN ( '2019-05-01 00:00:00' )
        , PARTITION p2019_05 VALUES LESS THAN ( '2019-06-01 00:00:00' )
        , PARTITION p2019_06 VALUES LESS THAN ( '2019-07-01 00:00:00' )
        , PARTITION p2019_07 VALUES LESS THAN ( '2019-08-01 00:00:00' )
        , PARTITION p2019_08 VALUES LESS THAN ( '2019-09-01 00:00:00' )
        , PARTITION p2019_09 VALUES LESS THAN ( '2019-10-01 00:00:00' )
        , PARTITION p2019_10 VALUES LESS THAN ( '2019-11-01 00:00:00' )
        , PARTITION p2019_11 VALUES LESS THAN ( '2019-12-01 00:00:00' )
        , PARTITION p2019_12 VALUES LESS THAN ( '2020-01-01 00:00:00' )
        
        , PARTITION p2020_01 VALUES LESS THAN ( '2020-02-01 00:00:00' )
        , PARTITION p2020_02 VALUES LESS THAN ( '2020-03-01 00:00:00' )
        , PARTITION p2020_03 VALUES LESS THAN ( '2020-04-01 00:00:00' )
        , PARTITION p2020_04 VALUES LESS THAN ( '2020-05-01 00:00:00' )
        , PARTITION p2020_05 VALUES LESS THAN ( '2020-06-01 00:00:00' )
        , PARTITION p2020_06 VALUES LESS THAN ( '2020-07-01 00:00:00' )
        , PARTITION p2020_07 VALUES LESS THAN ( '2020-08-01 00:00:00' )
        , PARTITION p2020_08 VALUES LESS THAN ( '2020-09-01 00:00:00' )
        , PARTITION p2020_09 VALUES LESS THAN ( '2020-10-01 00:00:00' )
        , PARTITION p2020_10 VALUES LESS THAN ( '2020-11-01 00:00:00' )
        , PARTITION p2020_11 VALUES LESS THAN ( '2020-12-01 00:00:00' )
        , PARTITION p2020_12 VALUES LESS THAN ( '2021-01-01 00:00:00' )
        
        , PARTITION p2021_01 VALUES LESS THAN ( '2021-02-01 00:00:00' )
        , PARTITION p2021_02 VALUES LESS THAN ( '2021-03-01 00:00:00' )
        , PARTITION p2021_03 VALUES LESS THAN ( '2021-04-01 00:00:00' )
        , PARTITION p2021_04 VALUES LESS THAN ( '2021-05-01 00:00:00' )
        , PARTITION p2021_05 VALUES LESS THAN ( '2021-06-01 00:00:00' )
        , PARTITION p2021_06 VALUES LESS THAN ( '2021-07-01 00:00:00' )
        , PARTITION p2021_07 VALUES LESS THAN ( '2021-08-01 00:00:00' )
        , PARTITION p2021_08 VALUES LESS THAN ( '2021-09-01 00:00:00' )
        , PARTITION p2021_09 VALUES LESS THAN ( '2021-10-01 00:00:00' )
        , PARTITION p2021_10 VALUES LESS THAN ( '2021-11-01 00:00:00' )
        , PARTITION p2021_11 VALUES LESS THAN ( '2021-12-01 00:00:00' )
        , PARTITION p2021_12 VALUES LESS THAN ( '2022-01-01 00:00:00' )
    )
    ;
    
    -- ALTER TABLE `stat_event` ADD UNIQUE `oid` (`oid`);
    ALTER TABLE `stat_event` ADD INDEX `shop_object_id` (`shop_object_id`);
    ALTER TABLE `stat_event` ADD INDEX `event_type` (`event_type`);
    ALTER TABLE `stat_event` ADD INDEX `time_bot` (`event_time`, `bot`);
    ALTER TABLE `stat_event` ADD INDEX `time_bot_type` (`event_time`, `bot`, `event_type`);
    ALTER TABLE `stat_event` ADD INDEX `shop_object_id` (`shop_object_id`);  
    
    Ответ написан
  • Как избавиться от функционала домашней сети?

    drsmoll
    @drsmoll
    Это Я.
    может использовать банальный net use y: \\server\shara /persistent:yes
    Ответ написан
  • Как избавиться от функционала домашней сети?

    vitalyswipe
    @vitalyswipe
    Не уверен, но если взглянуть на таблицу сравнения редакций win7,
    то можно предположить, что в Win7HB нет функционала для создания домашней сети и присоединения к домену.
    Ответ написан
  • Планшет для дочери

    zadnica
    @zadnica
    «Но, как я понял, в 3д игрушки там не особо поиграешь, да и экран на сегодняшний день не самый лучший, а стоимость варианта 64 аж 32500 р. Кстати, интересно: там ссд на 64 гиг или флэшка?»

    Поиграешь, там хорошее железо. Флэшка.

    «И еще мучает вопрос. Можно как-то попробовать через wi-fi сконнектить его с домашним сервером на центоси, чтобы смотреть кино прямо с него?»

    Можно. Как минимум высунуть наружу шару и медиаклиентом забирать оттуда напрямую контент.
    Ответ написан
  • Как отмыться....?

    @rdin
    К сожалению, вам нужно забыть про adsense на текущем аккаунте. Я сам прошел через это и встречал десятки таких случаев, в том числе на хабре. Все как один жалуются на неадекватность поддержки adsense, даже если у тебя большой оборот в adwords.
    Как вариант — попробуйте аналоги. Зачастую доход может быть значительно выше, чем в adsense. Я думаю, это лучший выход.
    Ответ написан
  • Как отмыться....?

    @Claud
    Шансов крайне мало, мне положительный истории не известны, хотя я их и не исключаю. Лучше зарегистрируйте новый аккаунт на брата, сестру, маму, но не забудьте у них спросить разрешения :).

    P.S. Вполне возможно, что вы попали под какую-нибудь чистку. Хотя если всего два ip и много кликов, то скорей всего это стало основным фактором.
    Ответ написан