• Как сделать так что бы инпуты были ровно друг под другом, а не так как в нижеприведенном коде?

    @m1roku
    Начинающий
    Я эту форму за вечер уже третий раз вижу.
    Я предлагаю тебе два варианта:
    1) Обратиться на фриланс за версткой.
    2) Освоить азы верстки.
    Конкретно по твоему вопросу, имеет место быть такое решение, разбиваешь форму на две колонки, в левой лейблы полей ввода, в правой, соотвественно, сами поля ввода.
    Или же использовать флексы.
    Ответ написан
    2 комментария
  • Как в ubuntu через systemd писать логи паники в Go?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Если сервер запускали через юнит systemd, то логи из него в journalctl -u unit_name. Весь оутпут пишется в stdout (консоль), которая перехватывается systemd и обрабатывается. Зачем вам файлы?
    Ответ написан
    6 комментариев
  • В каком формате ТВ приставки (ростелеком / т.п.) принимают сигнал? Как его можно программно сымитировать?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Сигнал принимается потоком мультикаст в формате MPEG2TS с кодеком MPEG4 или MPEG2. Сымитировать по простому можно через плеер VLC. Протоколы RTP или UDP для мультикастовой рассылки.
    Вот так это можно сымитировать - https://wiki.videolan.org/Documentation:Streaming_...
    Но скорее всего у вас не получился принять этот поток на приставку, так как она наверняка привязана к провайдеру и у вас не получится ее переключить на собственный канал.
    Ответ написан
    2 комментария
  • Что должен знать/уметь senior backend developer?

    maximpushkarev75
    @maximpushkarev75
    Very bad monkey coder
    Как я вижу это со своей позиции джуниора:

    Навскидку:

    1) Подробная экспертиза технологий, относящихся к предметной области проекта и его целевых платформ. Ведь senior не только должен круто разрабатывать на тех или иных технологиях - он, собственно, и определяет, какие технологии будут использоваться на проекте с учетом многих факторов.
    2) Полное снятие технологических рисков. Это, в общем, вытекает из первого. Senior всегда может предвидеть возможные проблемы еще до начала разработки проекта и подробно донести это в доходчивой форме заказчику/руководству.
    3) Умение эффективно ставить задачи разработчикам своей команды. По сути, умение руководить.
    4) Умение эффективно делиться богатым опытом с членами своего коллектива. То есть быть мудрым и чутким наставником для младших коллег.

    Думается, настоящие senior-разработчики идут от 10-12 лет опыта работы.
    Ответ написан
    3 комментария
  • Разрыв соединения Tor+Vpn или Tor+Vpn+Tor как избежать деанонимизации?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Для Tor внутри VPN на Linux - запускать в отдельном namespace, при падении VPN все соединения гарантированно помрут.
    Ответ написан
    Комментировать
  • Откуда text.ru берет данные для проверки на плагиат?

    Exomode
    @Exomode
    Архитектор ПО
    Скорее всего, там классический "накопительный" подход бигдаты. Асинхронно в бэкграунде идёт парсинг данных из сети, это позволяет всегда держать данные актуальными и динамически её пополнять. Затем формируются метаданные для быстрого анализа, они уже и хранятся в базе сервиса. Затем, когда Вы уже непосредственно ввели текст и отправили на валидацию, идёт анализ сопоставлений с помощью нечёткого поиска или других оптимизированных алгоритмов работы с текстом, сопоставляются метаданные и выдаётся результат. Конечно, я могу и ошибаться, но если бы мне нужно было реализовать подобное решение, то принцип работы у него был бы схож с вышеописанным.
    Ответ написан
    Комментировать
  • Существуют ли системы распознавания смысла текста?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Существуют ли системы распознавания смысла текста?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Ответ написан
    Комментировать
  • Создание вероятности на php. Можете помочь?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    Алгоритм:
    1. сложить вероятности найденных призов
    2. выбрать случайное число от 1 до суммы
    3. определить, в «зону» какого из призов оно попадает

    Примерно:
    $stock = [
    	["id"=>1, "ver"=>13, "name"=>"gta v"],
    	["id"=>2, "ver"=>48, "name"=>"gta sa"],
    	["id"=>3, "ver"=>119, "name"=>"chess"],
    ];
    
    $total = 0;
    foreach($stock as $v) $total += $v["ver"];
    
    $rnd = rand(1, $total);
    
    $run = 0;
    foreach($stock as $v) {
    	$run += $v["ver"];
    	if( $rnd <= $run) break;
    }
    
    $prizeName = $v["name"];
    Ответ написан
    3 комментария
  • Создание вероятности на php. Можете помочь?

    GeneMoss
    @GeneMoss
    void
    /**
     * Случайная выборка с учетом веса каждого элемента.
     * @param array $data Массив, в котором ищется случайный элемент
     * @param string $column Параметр массива, содержащий «вес» вероятности
     * @return int Индекс найденного элемента в массиве $data 
     */
    function getRandomIndex($data, $column = 'ver') {
      $rand = mt_rand(1, array_sum(array_column($data, $column)));
      $cur = $prev = 0;
      for ($i = 0, $count = count($data); $i < $count; ++$i) {
        $prev += $i != 0 ? $data[$i-1][$column] : 0;
        $cur += $data[$i][$column];
        if ($rand > $prev && $rand <= $cur) {
          return $i;
        }
      }
      return -1;
    }
    
    // Использование
    $games = [
    	['name' => 'Игра 1', 'ver' => 2], // вероятность 2/15
    	['name' => 'Игра 2', 'ver' => 0], // вероятность 0/15
    	['name' => 'Игра 3', 'ver' => 1], // вероятность 1/15
    	['name' => 'Игра 4', 'ver' => 4], // вероятность 4/15
    	['name' => 'Игра 5', 'ver' => 8], // вероятность 8/15
    ];
    $i = getRandomIndex($games);
    echo $games[$i]['name'];

    В параметре массива «ver» задается вероятность выпадения данного элемента таким образом, что вероятность выпадения каждого элемента равна ver/sum, где sum — сумма вероятностей в данном массиве (в примере это: 2 + 0 + 1 + 4 + 8 = 15).

    После миллиона испытаний получено следующее количество выпадений:
    • Игра 1 = 13.3958%
    • Игра 2 = 0%
    • Игра 3 = 6.671%
    • Игра 4 = 26.6124%
    • Игра 5 = 53.3208%

    Что до сотой доли процента совпадает с заданной вероятностью в параметре «ver».

    P. S. Суть алгоритма — имитация случайной выборки из массива, который заполнен элементами, которые дублируются с заданной частотой.
    Ответ написан
    Комментировать
  • Создание вероятности на php. Можете помочь?

    @rPman
    Алгоритмы псевдо-случайного вознаграждения в ммрпг вообще патентованные, от них зависит как долго игроки будут терпеть это безобразие.

    делайте как это делают в устройствах для гамблинга, игровых автоматах ит.п. - заранее просчитайте список выигрышей, с последующей проверкой на итоговые распределения, исключение вырожденных случаев и перекосов, и чтобы владелец игры не в накладе остался.

    Заранее считать - алгоритм проще чем последовательная генерация - проще проверить итоговое распределение.
    Ответ написан
    Комментировать
  • Скрипты с вау-эффектом?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Скрипты с вау-эффектом?

    PavelMonro
    @PavelMonro
    Есть Animate css куча эффектов, но надо ли оно, вопрос в этом
    https://daneden.github.io/animate.css/
    Ответ написан
    Комментировать
  • Почему возникает проблема с указателем в C?

    dio4
    @dio4
    team leader, system engineer, master of sports
    #include <stdio.h>
    #include <string.h>
    
    void ptrTest(const char * ); //здесь имя не нужно
    
    int main(int argc, const char * argv[]) {
        const char * superString = "qwe rty uio"; // тк  "qwe rty uio" это строковый литерал (константа), то используйте const char * 
        
        ptrTest(superString);
        
        return 0;
    }
    
    void ptrTest(const char * testString) {
        printf("%s\n", testString); //выведет строку. 
        printf("\n");
        printf("%p\n", testString); //выведет адрес 1-го элемента строки (имя массива - есть адрес его 1-го элемента)
    }
    
    /*
    У меня(но суть такая же будет и в windows):
    Linux alexander-Inspiron-3521 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
    
    Вывод в консоли
    $ gcc toster_ru.c -o toster_ru && ./toster_ru
    qwe rty uio
    
    0x4006b4
    */
    Ответ написан
    Комментировать
  • На сколько плоха идея хранить данные о платежах в MongoDB?

    terrier
    @terrier
    На сколько плоха идея хранить данные о платежах в MongoDB?

    Очень плоха и в первую очередь, потому что у вас с ней мало опыта.
    В худшем случае вы рандомно понатыкаете $isolated, findAndModify и тэдэ и получите расползание финансовых данных примерно сразу же. В лучшем - сделаете своими руками некое подобие движка распределенных транзакций ( плохого и забагованного ), а потом опять получите расползание финансовых данных.
    У MongoDB богатая история критических багов, потери данных и огромное количество тонкостей, которое нужно учитывать в реальном продакшне.
    Ответ написан
    3 комментария
  • Каким должен быть правильный контроллер?

    Deroy
    @Deroy
    Senior Developer, Software Architect
    Отвечу с позиции опыта на больших и средних проектах:

    Как говорят другие ответчики - D3lphi и Александр Шаповал , контроллер должен содержать минимум логики, и нет "единого правильного способа" его реализовать.

    Однако, исходя из своей практики, для обеспечения таких качеств проекта как сопровождаемость, тестируемость и изменяемость, я поступаю следующим образом:

    Контроллер, каким бы он не был и как бы не организовывался - содержит только обработку входных данных (валидация и преобразование) и преобразование выходных данных в нужный формат

    Логика и оркестрация которая в 80% случаев и является предметом спора о том как стоить контроллер (речь всех этих вызовах сервисов, управления потоками данных между ними, последовательности действий и пр), находятся в отдельном классе согласно паттерну Unit of Work - что позволяет легко покрыть все что связано с логикой вменяемыми юниттестами без танцев с бубном.

    Т.е. структура в итоге такая:

    {view} <--> {controller} <---> {unit_of_work} -->>> {{{..lots of services...}}}

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

    Сами классы семейства UnitOfWork (имеется ввиду в одном приложении) могут иметь собственные иерархии наследования и композии - в угоду бизнес логики и дабы не дублировать код - главный критерий - это полная независимость бизнес и сервис слоев от контроллера. - что и является на мой взгляд "каноничным" вариантом реализации композии M и C в MVC.

    У меня, как у человека который не пишет фронты в принципе (имею ввиду сам UX/UI), но постоянно занимается сервисами, рестом, библиотеками - этот подход выработался по одной просто причине:
    взаимодействие с командой, я предоставляю "библиотеку"(не в классическом понятии этого слова) полностью абстрагированную от любых фронтов, оттестированную, полностью функциональную - а люди пишут к ней шаблонные обвязки где только валидация данных и рендер нужного формата под HTTP/Sockets/AMQP/etc типа всяких там CRUD/REST или RPC
    Ответ написан
    Комментировать
  • Как посчитать сумму детей необходимого узла за каждый день месяца (Nested Set)?

    @remzalp
    Программер чего попало на чем попало
    Изучите GROUP BY, который в случае с MySQL всё аккуратно отсортирует, сгруппирует, а за компанию и посчитает сумму.

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

    Дальше - допишите EXPLAIN перед своим запросом и покажите результат - это скажет, в каких местах всё плохо.

    Подозреваю, запрос должен делиться на 2 части - вывод идшников дочерних узлов вложенным подзапросом и SUMмма по полученному:
    WHERE id IN (select .... left_key >= левый_ключ_необходимого_узла AND right_key <= правый_ключ_необходимого_узла)
    Ответ написан
    Комментировать
  • Почему возникает проблема с указателем в C?

    @Carver182
    инженер-программист
    testString это адрес буквы "q" в вашей строке(что-то типа 0х0A1F), *testString это переменная типа char, т.е. ASCII код.
    Ты передаешь в функцию, которая ожидает адрес, букву "q" которая имеет аски код, который в свою очередь распознается как адрес и разыменовывается и скорее всего он ссылается на системную память от того и падает.
    Ответ написан
    Комментировать