• Как верстать изогнутые секции?

    RAX7
    @RAX7
    SVG + 2 маски, одна пропорционально растягивается, другая непропорционально. Отрицательным margin загнать секции одна на другую.
    Ответ написан
    6 комментариев
  • Несколько раз в сутки зависают все сайты на сервере. Помогает только init 6. В чем может быть проблема?

    @Reversaidx
    Посмотри исходящие соединения, возможно они забиваю коннекты к апачу(netstat -anp|grep tcp|grep apache2)
    То что в папке /tmp что-то запускалось, вообще не говорит о том что сервер был взломан(могла быть взломана отдельная CMS или скрипт), смысла переставлять сервер - нет.
    Лучше обратиться к шарющим людям(особенно в момент проявления проблемы), такие ошибки быстро фиксятся при достаточном опыте.
    Ответ написан
    1 комментарий
  • Под какой лицензией стоит выпускать программу, если спецификация к ней публикуется под лицензией CC-BY-SA?

    @Z-r
    IANAL, TINLA.

    > Допустим, я разрабатываю техническую спецификацию алгоритма и указываю лицензию CC-BY-SA.

    Не могу это назвать хорошим выбором. Зачем? Почему?

    > 1. Под какой лицензией нужно публиковать программу, которая реализует данную спецификацию и алгоритм?

    Вопрос сложнее, чем вам кажется. Даже если сейчас вы сумеете разрешить все *свои* сомнения, не думаете же вы, что вы тут самый недалекий, и что точно таких же сомнений не возникнет у других? ;-)

    > 2. Является ли программа, реализующая данную спецификацию, производной (по условиям CC-BY-SA)?

    Это, очевидно, подвопрос к первому.

    > 3. Разрешено ли лицензией CC-BY-SA публиковать программу под лицензией Apache?

    Нет.

    > 4. Стоит ли изменить лицензию спецификации на CC-BY?

    Ну я же не знаю, какова ваша цель. Из каких соображений вы выбираете условия для своей свободной спецификации?

    Вы хотите поощрить написание по ней программ (свободных или несвободных, не суть)? В таком случае, наверное, не надо обнародовать ее на условиях для фотографий и прочей музычки?

    Если же напротив, вам по тем или иным причинам хочется всячески затруднить воплощение вашей спецификации при том, что формально она останется свободной? Тогда конечно, выбирайте типовые лицензии «Креатив-коммонса».

    > Насколько я понял программы не рекомендуется публиковать под лицензиями CC.

    Совершенно справедливо. [0]

    > Там написано, что CC-BY-SA совместима в одну сторону с GPLv3.

    Во-первых, есть целый зоопарк лицензий CC BY-SA. Пять, кажется, штук, не считая десятков местных вариантов. Совершенно точно, что четыре из них несовместимы.

    Тот же самый зоопарк присущ и CC BY, не надо думать, что он весь с чем бы-то ни было совместим. Даже не надо думать, что они все лицензии CC BY *свободны*. Дебиан так не считает, к примеру.

    Ну и, хотя это там (и много где) действительно написано, не могу не отметить, что «совместимость в одну сторону» — это довольно странное с точки зрения языка выражение, порождающее нередко серьезные заблуждения. «Совместимость» — это возможность об’единять две работы (здесь — под двумя разными лицензиями) в рамках одной.

    А по ссылке имеется в виду, что совместимость двух лицензий сильного авторского лева, обеспечивается явным ослаблением этого авторского лева только с одной стороны — со стороны «КК».

    [0] https://www.gnu.org/licenses/license-list.en.html#ccby
    Ответ написан
    3 комментария
  • Что такое Virtual DOM?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну вот есть DOM. Он медленный, и дергать его просто так не стоит. А есть виртуальный DOM, что-то типа прослойки между вашим кодом и реальным DOM. Вы можете дергать виртуальный DOM сколько вам душе угодно, а прослойка эта соберет всю инфу о том как вы чего делали, и попробует оптимизировать взаимодействие с реальным DOM что бы вышло как можно меньше действий.

    Пример - задача простая, у вас есть таблица и нужно постоянно обновлять ячейки новым значением. Значение приходят из апишки раз в пару десятков милисекунд (какая-то реалтайм статистика к примеру). Значения эти - просто массив данных.

    Решение в лоб - каждый раз когда приходят данные, дропать старую таблицу, проходить циклом по массиву и формировать новую. Это куча операций с DOM. У вас каждые n милисекунд будет полностью перестраиваться вся эта штука, дропаться и создаваться новые элементы и все это будет ужасно долго пересчитываться и перерисовываться.

    А теперь добавим между всем этим виртуальную апишку, которая запоминает что она там в прошлый раз создала и что надо в этот раз создать. Вы все так же влоб проходите циклом по массиву и просите виртуальный дом построить новую апишку, а виртуальный дом будет стараться переиспользовать то что у него уже есть, ну и все в таком духе. За счет этого получается нефиговый прирост производительности (но есть потери на работу самого виртуального DOM, зато можно фигачить как хочешь).

    Если же прослойку эту сделать со своим интерфейсом, можно получить слой абстракции для работы с UI. Именно это предлагает тот же React. Слой абстракции над UI. Вы можете работать с реактом, но UI будет отрисовываться не через DOM а скажем... это может быть нативный интерфейс мобильной платформы (гуглить native-react). Ну и т.д.
    Ответ написан
    Комментировать
  • Аренда дешевого дискового пространства, подскажете?

    neatsoft
    @neatsoft
    Life is too short for bad software
    https://www.online.net/en/dedicated-server/dedibox-sc
    1 TB за €8.99 в месяц, хороший канал, неограниченный трафик
    Ответ написан
    Комментировать
  • Как загрузить процессор на 100% в linux?

    fredyk
    @fredyk
    ### CPU ###

    md5sum /dev/urandom - Single thread CPU test
    stress --cpu 4 --timeout 300s - Multi threadCPU test
    cat /dev/zero | bzip2 -c > /dev/null - CPU Stress Test

    ### HDD ###

    cat /dev/sda3 | pipebench -q > /dev/null - RAW Read Speed Test
    dd bs=16k count=102400 oflag=direct if=/dev/zero of=test_data - Write Test
    dd bs=16K count=102400 iflag=direct if=test_data of=/dev/null - Read Test
    Ответ написан
    Комментировать
  • AngularJs. Почему ругается на контроллер?

    @nakhaev
    в новых версиях заменил
    <script src="bower_components/angular/angular.js"></script>

    на
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>

    и заработал
    Ответ написан
    Комментировать