• Как лучше нарисовать шкалу на css?

    @msgtech
    Быть может это кому-нибудь пригодится универсальный способ, работающий во всех браузерах:
    dabblet.com/gist/0ae48148155818100211
    Ответ написан
    Комментировать
  • Как сделать выезжающее меню на сайте?

    alexvoz
    @alexvoz
    Flash-developer
    Есть еще интересный пример без js вообще https://www.mobila.name/post/53eb5a219dcff/
    Ответ написан
    Комментировать
  • Как сделать выезжающее меню на сайте?

    eucalipt
    @eucalipt
    Самоделкин.
    Для блока слева создай отдельный элемент на странице. Например, div с id "menu". В него помещай все, что тебе нужно. Умеешь подключать JQuery? На всякий случай, объясню.

    <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> <!-- JQUERY -->


    Вот эту строчку впихни в head своей страницы. Теперь у нас подключен JQuery.
    Что мы делаем дальше? Дальше нам надо отловить клик по нашему "бутерброду" и после клика, собственно, и выдвинуть менюху. Как это делается:

    $(document).ready(function() {
      $("#menu").click(function() {
        $(this).addClass("show");
      });
    });


    Этот код просто выдели в отдельный .js файл (ну и подключи его как простой .js скрипт, разумеется. Только он должен быть подключен после того, как подключишь JQuery).

    Короче, что мы сделали: мы отловили клик по этому элементу и повесили на него функцию, которая к нашему div'у добавит класс "show". Дальше уже чистый css.

    #menu {
    /* тут твои стили */
    left: -350px;
    }
    
    #menu.show {
    /* тут твои стили */
    left: 0px;
    }


    Я думаю, суть ясна. Когда у менюхи появляется класс "show", то тогда мы просто "выдвигаем" ее из-за левого края страницы. По желанию можно сделать это плавным:

    #menu {
    /* тут твои стили */
    transition: left ease 0.2s;
    left: -350px;
    }
    
    #menu.show {
    /* тут твои стили */
    left: 0px;
    }


    Кстати, этот код написан под менюху, шириной в 350px.

    Теперь ее надо закрыть. Тут 2 способа. Хотя нет, 3.
    Можно отловить в нашем скрипте уход мышки с элемента и просто убрать класс "show" (mouseleave, removeClass()). А можно отловить клик по НЕэлементу див. Это тоже в JQ.
    А можно еще расставить флаги, и контролировать, когда меню открыта, при нажатии на бутерброд, делать одно, и когда закрыта - другое.
    Ответ написан
    4 комментария
  • Какие сайты хорошо подготовят к собеседованию React разработчика?

    @myaca
    У тебя могут спросить совершенно разные задачки, из того что мне приходит в данный момент в голову:
    - расскажи какие значения свойства position, display ты знаешь
    - способы выравнивания элемента по центру

    - как работает this в javascript
    - как работает прототипное наследование в javascript
    - generators, async/await, promises, setTimeouts, что из них раньше выполнится и т.п., расскажи про микротаски
    - variable hoisting

    - расскажи про HoC, что это такое, где используется
    - расскажи про render props
    - расскажи про portals
    - расскажи про context api
    - react component lifecycle hooks
    - что такое middlwares, какое у них в принципе назначение, какие знаешь, какими пользовался
    - как можно уменьшить количество ререндеров, какие способы оптимизации ты знаешь

    - CORS - ?
    - ФП vs ООП сравнение, их особенности и сильные/слабые стороны
    - composition vs inheritance
    - различные вопросы по паттернам, например рассказать про observer, как это работает концептуально
    - расскажи про пирамиду тестирования

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

    или <a href="javascript:void(0);">
    Ответ написан
    Комментировать
  • Как сохранить скриншот в базу данных Django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    1. С помощью navigator.mediaDevices.getUserMedia() получаешь MediaStream
    2. Выводишь MediaStream в video
    3. Создаёшь canvas и рисуешь на нём текущий кадр из video
    4. Преобразуешь canvas в blob
    5. Создаёшь FormData и добавляешь в него blob
    6. Отправляешь FormData ajax-запросом на сервер
    7. На сервере обрабатываешь запрос как обычную загрузку файла

    P.S. Скриншотом называется снимок экрана. Снимок сделанный камерой - это не скриншот.
    Ответ написан
    Комментировать
  • Как отправить HTML письмо?

    @Jackpot
    есть еще сервис sendhtmail.ru отправляешь письмо себе, а потом из привычного интерфейса перенаправляешь куда надо.
    Ответ написан
    1 комментарий
  • Как 6 мониторов подключить к одному системнику?

    keylase
    @keylase Автор вопроса
    Вообщем всем огромное спасибо! Сделал уже и скоро напишу, как и что получилось. Пока предварительно скажу- что собрал все на матери с 3 PCI-E и 3-х GTS-450. Получилось и по цене приемлемо, и по качеству вполне очень даже ничего.
    p.s. Всех с Новым Годом!
    Ответ написан
    1 комментарий
  • Какой wysiwyg редактор внедрить в Django 1.8?

    @Pauchenkov Автор вопроса
    Начинающий программист Django
    Всем добрый вечер! Наконец-то удалось подключит wysiwyg редактор. Хочу поделиться на будущее с теми, кто еще этим не занимался :) Может кому и пригодится.
    Значит подключил я ckeditor так:
    1) Устанавливаем django-ckeditor этой командой: pip install django-ckeditor
    2) Вносим ckeditor в список INSTALLED_APPS
    INSTALLED_APPS = (
        ................. ,
        'ckeditor',
    )

    3) Настраиваем MEDIA_ROOT, MEDIA_URL, STATIC_ROOT, STATIC_URL, STATIC_DIRS, STATICFILES_FINDERS
    после строчки import os, если вдруг у Вас не задано, пропишите путь базовой директории
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    , но если у Вас прописано значение по-другому - советую эту (существующую) строчку не трогать, а просто под ней добавить еще одну, назвав не BASE_DIR, а по-другому (например: _PATH).

    Задаем MEDIA_ROOT и MEDIA_URL:
    MEDIA_ROOT = os.path.join(BASE_DIR, 'static', 'media')
    MEDIA_URL = '/media/'


    Задаем STATIC_ROOT, STATIC_URL, STATICFILES_DIRS и STATICFILES_FINDERS:
    STATIC_ROOT = os.path.join(BASE_DIR, 'static')
    STATIC_URL = '/statics/'
    STATICFILES_DIRS = (
        os.path.join(BASE_DIR, 'statics'),
    )
    STATICFILES_FINDERS = (
        'django.contrib.staticfiles.finders.FileSystemFinder',
        'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    )


    4) Задаем пути и настройки CKEDITOR, а именно: CKEDITOR_UPLOAD_PATH, CKEDITOR_IMAGE_BACKEND, CKEDITOR_JQUERY_URL, CKEDITOR_CONFIGS

    CKEDITOR_UPLOAD_PATH = "uploads/"
    CKEDITOR_IMAGE_BACKEND = "pillow"
    CKEDITOR_JQUERY_URL = '//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'
    
    # CKEDITOR_CONFIGS по сути необязательны. Они влияют на тулбар редактора. Если выключите - будет очень мало инструментов для работы с текстом. После полной настройки - попробуйте с ними поиграться. Возможно найдете для себя какой-то более оптимальный вариант настроек!
    CKEDITOR_CONFIGS = {
        "default": {
            "removePlugins": "stylesheetparser",
            'allowedContent': True,
            'toolbar_Full': [
            ['Styles', 'Format', 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat' ],
            ['Image', 'Flash', 'Table', 'HorizontalRule'],
            ['TextColor', 'BGColor'],
            ['Smiley','sourcearea', 'SpecialChar'],
            [ 'Link', 'Unlink', 'Anchor' ],
            [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-', 'BidiLtr', 'BidiRtl', 'Language' ],
            [ 'Source', '-', 'Save', 'NewPage', 'Preview', 'Print', '-', 'Templates' ],
            [ 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo' ],
            [ 'Find', 'Replace', '-', 'SelectAll', '-', 'Scayt' ],
            [ 'Maximize', 'ShowBlocks' ]
        ],
        }
    }


    5) Настраиваем URL'ы
    Сначала я объясняю, а в конце выложу ПОЛНЫЙ ВАРИАНТ, что бы все было наглядно видно!
    В файле urls.py прописываем url ckeditor'a:
    ............. ,
    url(r'^ckeditor/', include('ckeditor.urls')),

    и добавляем после скобки, закрывающей urlpatterns вот это:
    + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


    Вот ПОЛНЫЙ ВАРИАНТ:
    urlpatterns = [
    ............... ,
    url(r'^ckeditor/', include('ckeditor.urls')),
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

    6) ОБЯЗАТЕЛЬНО ВЫПОЛНЯЕМ collectstatic!!!

    В терминале вводим: python manage.py collectstatic

    После подтверждаем, введя yes!

    7) В фале моделей (models.py) мы должны сначала совершить ипорт:
    from ckeditor.fields import RichTextField

    8) Осталось маленько. Теперь, что бы у Вас в админке у поля появился WYSIWYG-редактор нужно заместо models.CharField (TextField и других полей) вручную указать RichTextField.

    Вот пример, как должно быть:
    title_story = RichTextField(max_length=255, verbose_name="Название")
    anons = RichTextField(max_length=1000, null=True, blank=True, verbose_name="Анонс")
    story = RichTextField(verbose_name="Полная статья")
    ... ну и так далее ....
    Ответ написан
    Комментировать
  • Как сделать телеграм бота на node js?

    @RuGrof
    Официальный сайт рекомендует следующее:
    Telegraf. Full Telegram Bot API support, including games and inline mode.
    https://github.com/telegraf/telegraf

    Telebot. Easy way to write Telegram bots.
    https://github.com/kosmodrey/telebot

    Botgram. Microframework to build Telegram bots.
    https://github.com/jmendeth/node-botgram

    Telegram-node-bot. A node.js module.
    https://github.com/naltox/telegram-node-bot

    Node-Telegram-bot. A node.js module.
    https://github.com/yagop/node-telegram-bot-api

    Slimbot. A fuss-free, thin wrapper around Telegram Bot API for Node.js. No frills.
    https://github.com/edisonchee/slimbot
    Ответ написан
    1 комментарий
  • Как скачать видео с jw player?

    I_CaR
    @I_CaR
    программист в прошлом.
    у FireFox есть плагин - Video DownloadHelper.
    https://addons.mozilla.org/ru/firefox/addon/video-...
    Пробуйте. Мне помогло.
    ----
    Update (от 2019 года) - Сейчас очень удобно пользуюсь IDM (Internet Download Manager) - там функция граббера сайта на наличие видео.
    Ответ написан
    1 комментарий
  • В чём разница между background и background-color?

    sergiks
    @sergiks Куратор тега Веб-разработка
    ♬♬
    CSS свойство background – это просто сокращение, позволяющее одним значением установить сразу несколько из свойств background-*:
    • background-clip
    • background-color
    • background-image
    • background-origin
    • background-position
    • background-repeat
    • background-size
    • background-attachment

    Указанные значения (в любом порядке) устанавливают свойства точно так же, как и отдельные инструкции. Не указанные сохраняют значения по умолчанию.

    Таким образом, background: #F90 полностью эквивалентен background-color: #F90

    Например, background: #F90 url(fon.jpg) repeat-x равен
    background-color: #F90;
    background-image: url(fon.jpg);
    background-repeat: repeat-x;


    Цвета – разные цветовые модели бывают удобны для разных задач. Например, в модели HSL легко «гасить» свет, изменяя только его компоненту L (яркость), или только уменьшая насыщенность S. Или получить палитру из нескольких цветов, одинаково ярких-сочных, но равномерно разбросанных по кругу оттенков, равномерно раскидав их H по цветовому кругу, а S и L оставив одинаковыми.
    Ответ написан
    Комментировать
  • NPM не устанавливает пакеты, а папка node_modules не создаётся, что делать?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    -g - глобальная установка, а не в твое приложение
    Ответ написан
    Комментировать
  • PhpStorm 2 окна как в subime3?

    delphinpro
    @delphinpro Куратор тега PhpStorm
    frontend developer
    Правый клик по вкладке - Разделить окно по вертикали (или горизонтали)

    616434b5b3b94856580461.png
    Ответ написан
    1 комментарий
  • Сайт на JAVA с использованием Spring Framework?

    Chvalov
    @Chvalov
    Из русскоязычного YouTube вот что нашел:
    В основном все каналы новые, популярностью не блещут, по возможности поддержите лайком чтобы у автора появилось желание продолжать ;)

    Разработка REST сервиса уроки будут пополнятся

    Разработка веб сайта с использованием Spring Boot ...

    Spring MVC уроки

    GrabDuck! - Spring Boot

    Микросервис на Kotlin, Spring Boot и Docker

    Devcolibri - S4AA - Сервер для Android приложения
    Ответ написан
    1 комментарий
  • Как понять сколько примерно имеет доход сайт?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Надо проанализировать видимость сайта в поисковиках, а точнее тематики по которым он там есть. Проанализировать стоимость клика в данной тематике. Определить посещаемость и ее источники. Самое главное, для сайтов на продаже, определить имеет ли сайт платный трафик. Часто при продаже сайта владелец начитает накручивать посещения. Так что отталкиваться стоит только от поискового трафика и то могут быт нюансы.
    Ответ написан
    Комментировать
  • Непонятно откуда берется этот блок на странице?

    pavelcarcass
    @pavelcarcass
    ИТ-менеджер из г. Иркутска
    Посмотри во-первых в настройках шаблона, во-вторых - в плагинах. Где-то это должно отключаться / настраиваться.
    Ответ написан
    1 комментарий
  • Как можно загрузить из vk большое кол-во фотографий себе на диск?

    suslayer
    @suslayer
    ru.savefrom.net ставим плагин, заходим в нужный альбом видим кнопку скачать альбом. Помимо этого еще масса интересных вещей аля ютуб и таже музыка с вк тянутся этим плагином.
    Ответ написан
    5 комментариев
  • Сайт на JAVA с использованием Spring Framework?

    kirill89
    @kirill89
    У себя в избранном нашел 2 статьи — они мне когда-то очень помогли разобраться:
    habrahabr.ru/blogs/java/111102/ — особенно эта
    habrahabr.ru/blogs/java2ee/83860/
    Ответ написан
    1 комментарий