• На чём делают железо автомобиля?

    @0r4anin
    В автобусах например все доп. оборудование цепляется к CAN шине(https://ru.wikipedia.org/wiki/Controller_Area_Network ), Но стандартынх решений производители придерживаются отчасти, придумывая что-то свое.
    Ответ написан
    5 комментариев
  • На чём делают железо автомобиля?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    в каком направлении изучать?
    Начните с Промышленный компьютер.
    И оглашаю весь список.

    Какое железо может быть использовано в реальной машине.
    McLAREN
    Proactive Chassis Control II utilises a multitude of sensors to analyse and adjust the car’s dynamics for maximum grip on all surfaces. It adds an extra dimension to your own skills. Tap X-ray to see it in action.
    Ответ написан
    2 комментария
  • Почему не работает javascript после ajax получения ответа?

    antonio1107
    @antonio1107
    Заместитель руководителя
    Решено! JQuery обработчики, такие как hover(), click(), bind(), on() и т.д. обрабатывают элементы только при загрузке.
    Чтобы они реагировали на подгруженный ajax'ом контент, есть несколько решений:
    1. Загрузить ajax'ом скрипт заново(не лучший вариант). Но работает.
    2. Использовать обработчик live(). Но с версии >= JQuery 1.9 его убрали и перенесли в обработчик on(), в котором объединили и bind(), и delegate().
    3. На мой взгляд, самый лучший. Для тега установить атрибут onClick, установить ему значение функции, например:
      а в скрипте переделать обработчики в функцию.
      Вместо:
      $("div").click(function(){
      //что-то делает
      });
      
      //переделать на:
      function function_name(){
      //что-то делает
      }

      Т.е. у тэга div при нажатии атрибут onClick вызывает эту функции. И тут без разницы, подгружен контент ajax'ом или нет.
      Если хотите в функции использовать значение $(this), то задайте в атрибуте у функции onClick="function_name(this);", а в скрипте в функции задайте событие для этого значения
      function function_name(i){
      $(i).вешаем обработчики
      //$(i) это тоже, что и $(this) у обработчика $("div").click()
      }



    Надеюсь, кому-то будет полезно :)
    Ответ написан
    3 комментария
  • Как делают ОС для автомобилей?

    AStek
    @AStek
    Работал как-то в "аутомотив".
    У нас использовали QNX и кастомный Linux.
    Я бы рекомендовал последний так как куча мануалов по кастомизации и прочих ресурсов.
    Ответ написан
    Комментировать
  • Как делают ОС для автомобилей?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Самые разные операционки. Чаще всего свои собственные на основе сильно перепиленных(как хороший альтернативный пример ОС на ps2-3-4 в которых нечто на freebsd но в тоже время уже и не freebsd).
    Из доступных смерным есть android auto и что то там от baidu.
    Многие производители разделяют мозги на 2 части, одна часть работает непосредственно с самой авто(к примеру на базе QNXcar) а вторая половина на обычной webos\unix+qt и ответсвенна за мультимедия\навигатор\камеры и т.д.

    В Вашем случае надо смотреть примерно в следующем направлении:
    1) реверсить CAN шину в авто для нахождения нужных узлов которыми захотите управлять\смотреть
    2) can адаптер для raspberry pi.
    3) самописный софт к примеру на qt\java с нужными хотелками для ui и на чем угодно все остальное
    4) сверху посыпать нужным числом кнопок(к примеру прилепили руль от какой нибудь хонды цивик у которой не руль а космический штурвал и подцепили к своей распберри).
    В общем именно для того что вы хотите (управлять с телефона\свои фишки) роли не играет какая ОС, не играет роли какой ЯП, играет роль реверса CAN шины и написания софта который сможет читать\писать в шину, и естественно ui.
    Ответ написан
    Комментировать
  • Как делают ОС для автомобилей?

    @d-stream
    Готовые решения - не подаю, но...
    Там уровней - много. Освещение салона и кнопки на руле - из самых верхних.
    А в глубине, чаще всего - отдельное и достаточно изолированное realtime ядро (rtos, qnx based), еще точнее несколько независимых ядер под критичные системы и далее слои комфорта. Притом ядра - это отдельное железо, вплоть до совершенно отдельных коробок (модуль управления двигателем, модуль ABS, SRS, поверх всяческие ESP) разного уровня важности. Всяческие GEM - это уже самый последний и наименее приоритетный уровень, "рулящий" освещением салона, переключением магнитолы и т.п.

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    По-разному. Где-то на базе Линукса, где-то свои варианты.

    Есть подтверждения, что на Тесла - стоит ОС на базе Убунты.
    Кроме того, в мире было множество операционок, которые канули в лета, а потом всплыли в новом качестве. Тот же PalmOS ака HPOS ака WebOS, а теперь он в автомотив потихоньку едет.
    У Форда есть Ford Sync.
    В общем это не особо открытая информация, ибо ОС не пользовательская, и производитель может менять свои планы без уведомления пользователя.
    Ответ написан
    Комментировать
  • Объединение mysql таблиц в стиле ActiveRecord?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Насколько я понимаю AR не делает join.
    Он делает where id IN (1,2,3)

    Или Вы о чем?
    Ответ написан
    4 комментария
  • В какую сторону копать, чтобы написать лайтовенький чат для комнат по 3 человека?

    nazarpc
    @nazarpc
    Open Source enthusiast
    WebSockets, статью недавно писал по этому поводу: habrahabr.ru/post/250085
    Но для этого нужен будет виртуальный сервер, чтобы поддерживались WebSockets.
    Ответ написан
    Комментировать
  • В каком направлении двигаться дальше, чтобы стать полноценным PHP разработчиком?

    fsdsdfsfdsfsdfsdfsdfsdfsd
    @fsdsdfsfdsfsdfsdfsdfsdfsd
    Unknown
    Не пользуйтесь фреймворками вообще и готовыми движками и станете успешным.

    И срать, что кому-то нужны всякие Yii и прочий хлам. Создавайте свой проект и работайте на себя.
    Ответ написан
    9 комментариев
  • Ваше мнение о видеоуроках Евгения Попова?

    @Nc_Soft
    Его уроки как его фамилия.
    Ответ написан
    Комментировать
  • Ваше мнение о видеоуроках Евгения Попова?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Недавно в голову пришла идея небольшого сайта мне для работы.

    Для начала нужно понимать, что сайты для работы не пишут с нуля.
    Это все равно, что построить автомобиль самостоятельно, чтобы стать таксистом.

    Сайты для работы не пишутся с нуля. Сайт для работы делается на основе заготовки для сайтов - CMS.

    Поэтому надо забыть про написание сайта с нуля, забыть про видеоуроки, а вместо этого выбрать подходящую CMS и делать сайт на ней.

    Про попова же, если коротко, то у его курсов ровно две проблемы:
    1. Его задача не поделиться знаниями, а продать что-нибудь. К несчастью, торговать он стал не гербалайфом, а низкокачественным говном собственного производства.
    2. Когда неспециалист берется учить других - это страшно. Сам нахватавшись по верхам, и не понимая смысла кода, который он пишет, попов остался в прошлом веке. Да, 18 лет назад, когда РНР только появился, все писали так. Но с тех пор изменилось очень многое. Программисты узнали о таких вещах, как отладка, обработка ошибок, безопасность, разделение кода и данных, разделение логики обработки данных и логики отображения, системы контроля версий, повторное использование кода и многое, многое другое. Шарлатаны же и недоучки так и застряли в прошлом веке, и не дают несчастным обманутым жертвам ничего из современных достижений. В итоге сайты, написанные по видуоурокам, постоянно ломаются, являются уязвимыми для любых типов атак и являются совершенно немордернизируемыми.
    Ответ написан
    Комментировать
  • Как направить программиста на путь истинный?

    @Evsign
    Бля, я не понимаю таких людей... Ну если тебе показывают, что твой код дерьмо собачее, то надо спросить почему и попросить показать как надо, а не пререкаться...
    Далеко с этим персонажем не уедете. ИМХО
    Такого сразу нахуй посылать надо, если не хочет учиться... "Аргументы" у него -- просто пиздец...
    Ответ написан
    Комментировать
  • Как генерировать архив на хостинге, по запросу пользователя?

    valerium
    @valerium
    Изобретая велосипед
    Сжимать прямо в PHP приемлемо только если файлов немного и они небольшого размера. Большие файлы не успеют сжаться за стандартные 30 секунд, которые Apache отводит на исполнение скриптов. Так что если хотите масштабируемое решение, посмотрите в сторону сжатия в фоне.

    Простейший способ - очередь сжатия. После того как пользователь ставит галочки и жмёт "Скачать", скрипт записывает список сжимаемых файлов в, допустим, базу данных. Сидящий в фоне скрипт раз в минуту (условно) проверяет появление новых файлов в списке. Как только находит, начинает работу. При этом страница, которую видит клиент, раз в 10-15 секунд по аяксу запрашивает статус сжатия. Когда оно закончится, пользователю отдаётся ссылка на скачивание.

    Так же грамотным решением было бы использование специализированного менеджера очередей, вроде RabbitMQ.

    P. S. Позиционировать себя как разработчика сайтов и не знать про стандартный модуль PHP - это интересно :-)
    Ответ написан
    Комментировать
  • Графический редактор на сайт?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    По поводу второго вопроса решение было здесь: habrahabr.ru/post/191850
    Ответ написан
    1 комментарий
  • На каких языках лучше написать сайт для турфирмы (нужно чтобы было фильтры поиска, чтобы использовалась статистика и аналитика)?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    На любом. Глупый вопрос.
    Ответ написан
    Комментировать
  • Как при помощи PHP и формы создавать div-блоки?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    При создании блоков PHP вообще не причём. На странице вы добавляете блоки с помощью JS.

    Как при перезагрузке не потерять новые блоки? Отправлять с помощью AJAX на сервер информацию, а вот тут уже ваш PHP скрипт или базу обновит, или шаблон поменяет, или и то, и другое.
    Ответ написан
    Комментировать
  • Как написать код который распределяет массивы?

    @iamnothing
    Вот как-то так.
    function rebuild(array $array) {
        $count_children = [];
        $without_children = [];
    
        foreach ($array as $id => $element) {
            // инициализация подсчета дочерних элементов, если это еще не было сделано
            if (!isset($count_children[$id])) {
                $count_children[$id] = 0;
            }
    
            if ($count_children[$id] === 0) {
                $without_children[] = $id;
            }
    
            if ($element['pos'] === 0) {
                continue;
            }
    
            // инкремент кол-ва дочерних элементов для родительского эл-та
            if ( !isset($count_children[$element['pos']]) ) {
                $count_children[$element['pos']] = 0;
            }
            $count_children[$element['pos']]++;
    
            // удаление родительского эл-та из списка "бездочерних" элементов
            if (($key = array_search($element['pos'], $without_children)) !== false) {
                unset($without_children[$key]);
            }
        }
    
        while(!empty($without_children)) {
            foreach ($without_children as $key => $id) {
                $parent_id = $array[$id]['pos'];
    
                if ($parent_id !== 0) {
                    if (!isset($array[ $parent_id ]['playlist'])) {
                        $array[ $parent_id ]['playlist'] = [];
                    }
                    $array[$parent_id]['playlist'][] = $array[$id];
    
                    unset($array[$id]);
    
                    $count_children[$parent_id]--;
                    if ($count_children[$parent_id] <= 0 && $parent_id !== 0) {
                        $without_children[] = $parent_id;
                    }
                }
                unset($without_children[$key]);
            }
        }
    
        return $array;
    }
    Ответ написан
    2 комментария
  • Как сделать регистрацию на ajax?

    @kazin8
    $.ajax({
       type: "POST",
       url: "/?do=registation",
       dataType: "json", // Тут смотря какой ответ хотите получить
       data: {login_var : login, password_var: password},
       success: function(result) {
          $("#result").html(result);
      }
    });

    login и password - это то, что вы отпарсите в js (val() ваших полей)
    login_var и password_var - это то, что придет к Вам в php скрипт. Забирать как $_POST['login_var]....
    Стоит обратить внимание, что ajax асинхронно выполняет страницу, которая находится в url, и все, что с этой страницы идет в поток вывода (echo) возвращается Вам в result. Так что, если на Вашей registration странице есть вывод раньше, чем вы обработаете данный вызов и сделаете exit, то есть шанс собрать в result все ваши echo. Вообщем, забрать значения полей в js переменные, я думаю, вы и сами сможете. Пример ajax запроса я привел.
    P.S. Старайтесь в будущем пользоваться кратким синтаксисом для формирования шаблонов, если уж вы мешаете html и php

    <?$year=date("Y");?>
    <option value="<?=$year?>"><?=$year?></option>
    <?for ($i=0;$i<60;$i++){?>
         <?$year--;?>
         <option value="<?=$year?>"><?=$year?></option>
    <?}?>


    Если будете держать хотя бы в таком виде, он станет намного милее, особенно во всевозможных IDE. Если в итоге не получится что-то - пишите, буду помогать дальше.
    Прошу прощения за комментарии, что-то я сегодня устал)
    Ответ написан
    4 комментария