Задать вопрос
  • Как сократить слово и добавить ...?

    Например вот так.

    text‐overflow: ellipsis;
    overflow: hidden;
    white‐space: nowrap;
    Ответ написан
    Комментировать
  • Как продавать Open Source CMS?

    @nirvimel
    Никто не будет покупать CMS на PHP при наличии популярных открытых и бесплатных аналогов. и не надо говорить про Битрикс, там совсем другая бизнес-модель, клиент платит не за CMS как таковую, а за готовое решение для сайта (плюс агрессивный маркетинг играет огромную роль). Индивидуальному разработчику не стоит даже заглядываться в сторону таких битриксов.
    Заработать на собственной CMS можно продавая свои услуги по поддержке. Но перед этим для начала нужно сделать CMS популярной. Любые попытки закрытия кода (даже частичного), как и любые ограничения в лицензии полностью противоречат задаче популяризации продукта.
    Ответ написан
    2 комментария
  • Как законодательство РФ относится к portable версиям программ?

    @other_letter
    Закон РФ не видит разницы. Как, полагаю, и Законы других стран.
    Есть Лицензия, которую нужно соблюдать. В РФ чуть иначе - нужно заплатить именно за эту программу и использовтаь именно тому, кто заплатил. Закон остальное не колышет.
    Ответ написан
    2 комментария
  • Может ли сервер установить cookie серверу?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Давайте определимся с терминами и понятиями.

    Во взаимодействии по протоколу http всегда две стороны: клиент (инициатор запроса) и сервер (формирует ответ на запрос).

    Куки - это просто http заголовки в запросе и ответе, которыми обмениваются клиент и сервер.

    Соответственно, серверу совершенно неважно, кто на той стороне инициировал запрос - браузер, nodejs, что угодно. Он просто читает заголовки запроса и отдаёт ответ с какими-то другими заголовками. Проще говоря, сервер оперирует текстом запроса и формирует текст ответа. Что происходит с запросом до того, как он попал к нему и с ответом после отправки, сервер вообще не волнует.

    Таким образом, вам просто нужно на стороне клиента (node) корректно обрабатывать то, что присылает сервер, и формировать правильные запросы, передавая туда все нужные заголовки. Именно это автоматически за нас делает браузер, например. Получается, что вам поведение браузера нужно эмулировать (не знаю есть ли в node какие-то готовые инструменты для этого).

    Но всё это - буквальный ответ на ваш вопрос. Если вы более детально опишете свою задачу, может оказаться, что её можно более эффективно и правильно решить другими способами.
    Ответ написан
    8 комментариев
  • Когда ооп быстрее процедурного?

    @Mercury13
    Программист на «си с крестами» и не только
    ООП рассчитано не на скорость исполнения, а на скорость разработки. Как, впрочем, и многие другие современные технологии разработки. Всё, что ООП делает, можно реализовать и без ООП, и даже эффективнее. Стоит ли — другой вопрос.

    Какую задачу конкретно решает ООП? Обуздать сложность разработки программ, собранных из взаимодействующих компонентов. Вот от этого и пляшем: если программа не модульная (например, какой-нибудь сложный научный расчёт), ООП мало поможет. Также ООП не поможет, если стандартная реализация ООП недостаточно эффективна по процессору или по памяти — например, в мою бытность JavaMe’шником ООП не жаловали, поскольку памяти много ел, типичный мобильник имел от 215 до 800 килобайт доступной памяти. Также плохо будет работать там, где нет взаимодействия (на типичном PHP, который выдал страничку и исчез).

    Что на PHP можно реализовать объектно?
    • Поддержку каких-то протоколов (БД, почта, какая-нибудь внешняя веб-служба наподобие VK API или Mandrill).
    • Что-нибудь из предметной отрасли, что меняет своё состояние — например, генерация картинок, звуков, архивов, PDF…
    • Может, сделаешь какой-нибудь генератор страниц, который сначала собирает каркас страницы, а затем, в зависимости от настроек и целевого устройства, обращивает его HTML-кодом.
    Ответ написан
    Комментировать
  • Где я допустил ошибку?

    27cm
    @27cm
    TODO: Написать статус
    Очеловечу ваш код:
    <?php 
    
    foreach ($formula as $key => $value) {
        $data = $item;
        $prefixGroups = array(
            'dopyyyy' => array(2 => 'yy'),
            'dopvopremgost' => array(2 => 'lr', 3 => 'rr', 4 => 'or'),
            'dopdopvopsuvsid' => array(2 => 'zz'),
        );
        foreach (array_keys($prefixGroups) as $key => $prefixes) {
            if (array_key_exists($data[$key], $prefixes)) {
                $prefix = $prefixes[$data[$key]];
                $data[$prefix . '1P'] = ($data[$prefix . '1l'] + $data[$prefix . '1w']) * 2; 
                $data[$prefix . '1SF'] = $data[$prefix . '1l'] * $data[$prefix . '1w']; 
                $data[$prefix . '1SWALL'] = $data[$prefix . '1P'] * $data[$prefix . '1h'];
            }
        }
        eval('$formula_res = ' . $value . ';');     
    }
    Ответ написан
    8 комментариев
  • Как найти цифру через LIKE?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    Приведите в нормальную форму. Сразу гора костылей пропадёт.
    Ответ написан
  • Как вы относитесь к авторскому праву на картинки в свободном доступе в интернете?

    @vilgeforce
    Раздолбай и программист
    Вполне: автор передавал вам право на "публичное воспроизведение"? Нет? Тогда извольте не воспроизводить. Особенно без указания авторства.
    Ответ написан
    Комментировать
  • Как сделать неограниченное время работы скрипта запуском по расписанию?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    просто взять и запустить
    php.net/manual/ru/info.configuration.php#ini.max-e...

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

    @vilgeforce
    Раздолбай и программист
    Не слушайте этих "экспертов": они понимают в предметной области ровно ничего, тем более они даже не смотрели ваши файлы. Ссылка на форму Dr.Web дана, обращайтесь туда. И да, вы уверены что value, а не vault? Для vault мы вчера расшифровку для почти всех случаев выкатили.
    Ответ написан
    34 комментария
  • Как проверить чётность числа с плавающей запятой?

    @mletov
    Чётность в теории чисел — характеристика целого числа
    (Википедия)
    Ответ написан
    1 комментарий
  • Как найти нужный элемент в string?

    idelg
    @idelg
    Разработчик
    Лучше не парсить HTML регулярками.

    Гораздо удобнее получить нужный инпут с помощью CSS-селектора. Возьми соответствующую библиотеку от TJ или Symfony.
    Ответ написан
    Комментировать
  • Как сделать независимую страницу оплаты на сайте?

    riot26
    @riot26
    <:З )~~
    Единственный и, мне кажется, достаточно абсурдный вариант, который пока пришел мне в голову - передавать через GET-параметры параметр вроде идентификатора товара или номера заявки, который бы генерировался автоматически.

    Ну, как-то так, да. Только я бы GET-ом передавал не номера, которые можно было бы подобрать и этим получить данные всех заявок, а какой-то рандомный ключ, а связку ключ-заявка хранил в БД.
    Ответ написан
    2 комментария
  • С чего начать реализовывать транслятор языка?

    @nirvimel
    300px-CompilersBook2ed.png
    Ответ написан
    Комментировать
  • Ошибка в регулярном выражении?

    stackoverflow.com/questions/1732348/regex-match-op...

    Используйте любой доступный xml-парсер, например, simple_html_dom. С ним ваша конструкция будет простая и читаемая:
    foreach($html->find('img') as $img) {
          echo "Адрес страницы: " . $img->src . "\n";
          echo "Название: " . $img->title . "\n";
          echo "Описание: " . $img->alt . "\n";
    }

    Вариант с регулярным выражением корректнее было бы записать в виде получения пар ключ-значение и дальнейшей обработкой полученных данных: https://regex101.com/r/aS7qG0/1. Вам никто не гарантирует как наличие, так и порядок аттрибутов в тэге.
    Ответ написан
    Комментировать
  • Где логическая ошибка?

    GavriKos
    @GavriKos
    У вас под корнем получается отрицательное число, из за того что неправильно вычислили боковую сторону. Смотрите формулы прямоугольного треугольника. Чтобы было проще - не пишите всю формулу, разбейте ее на составные части. И дебаг будет простой.
    Ответ написан
    Комментировать
  • Для чего программисту математика?

    От задачи зависит, сайты делать не нужна, а игры, особенно графику делать нужна. Вычисление углов всяких в геокординатах надо хоть приблизительно понимать в этом деле что бы не плавать, но опять же, только если будете работать с этим.
    Ответ написан
    1 комментарий
  • Как найти расстояние от центра до стороны повернутого прямоугольника?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Если его повернули на угол a, то
    A1=min(A/abs(cos(a)),B/abs(sin(a))),
    B1=min(B/abs(cos(a)),A/abs(sin(a))).
    Если приходится делить на 0, то результат деления считается равным бесконечности, а значение минимума - второму числу.
    Ответ написан
    1 комментарий
  • Как делаются скриптовые языки программирования?

    Короткий ответ: читаем книгу дракона. Есть и более навороченная литература, но начинают все с этой книги (нам по ней читали в универе курс трансляции языков).

    Длинный ответ: ваш транслятор принимает на вход последовательность символов (допустим, UTF-8 текст), "понимает" ее в соответствии со спецификацией вашего языка, и выплевывает в качестве вывода инструкции на другом языке (в виде текстового файла или файла спец. формата). Этим "друим языком" может быть язык ассемблера какой-то железной платформы (x86_64, ARM, SPARC), и результирующим файлом будет бинарник под указанную архитектуру (точнее - объектный модуль, бинарник потом будет собран линковщиком) - так компилятся, например, C/C++. "Другим языком" может быть язык виртуальной машины (LLVM/байткод Java/MSIL) - так компилятся С/C++ (если через LLVM), Java, Scala, C#, F#, VB. "Другим языком" может быть и более высокоуровневый язык - часто, чтобы не париться на начальных этапах развития языка генерацией машинного кода, делают транслятор, который генерит код на Си, и этот код на Си уже компилят известным компилятором в бинарник. Или к примеру, CoffeeScript/TypeScript транслируются в JavaScript, т.к. веб-браузеры кроме джаваскрипта исполнять пока ничего не умеют.

    Конечно же, вы можете написать интерпретатор, а не компилятор - тогда ваша программа будет сразу же исполнять инструкции на вашем языке, не генерируя какой-либо выходной файл. Так поступают довольно много систем, например Node.js. Python делает также, если отключить генерацию pyc-файлов (поправьте меня, если я ошибаюсь).

    На каком языке реализовать сам транслятор - не имеет особого значения. Более того, хорошим тоном считается реализовать на разрабатываемом языке компилятор этого же языка - это называется self-hosting. Обычно наличие компилятора языка на этом же языке считается первым этапом серьезного отношения к языку. Разумеется, первую версию компилятора нужно будет реализовать на уже существующем языке (или сделать bootstrapping, если уж вы совсем суровый разработчик).

    Т.к. в задачах разбора входного потока (parsing) уже набито очень много шишек, и люди посвятили свои жизни и научные карьеры изучению этого вопроса, то сделано и немало инструментов для помощи в разработке компилятора. Как правило, такие инструменты дают возможность описать грамматику вашего языка на некоем специализированном синтаксисе (вроде BNF), а потом по этому описанию генерят вам код лексера и парсера на удобном для вас языке (это модули, которые выполнят первичный разбор входного потока на вашем языке на токены, и построят абстрактное синтаксическое дерево (AST)). А вы уже дописываете к ним основную часть вашего компилятора. Как пример, при написании компиляторов на языке Си часто используют flex в связке с yacc/bison. Есть более комлексные пакеты, позволяющие генерить код парсеров на различных языках - ANTLR, GOLD. А можно и самому написать лексер и парсер, особенно если вы уже сделали первую версию компилятора и переписываете его на вашем же языке).
    Ответ написан
    Комментировать