• Как хакеры выводят деньги с криптовалюты?

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

    @Vasily_Pechersky
    Системщик с опытом
    Как один из примеров

    На летающей технике используют операционные системы реального времени - самая известная https://en.wikipedia.org/wiki/VxWorks (русская статья мало информативна).

    Из языков программирования - Гугл указывает на C, C++, Ada. На них програмят компоненты авионики и спутники. Я много раз слышал, что спутники программируют именно на Ada из за возможности отладки во время исполнения и подходу к обработке ошибок. Но доказательств привести не могу.

    Также большинство систем используют вендорные ПЛК - соответственно язык и среда разработки зависят от вендора.
    Ответ написан
    Комментировать
  • На чем пишут ПО для авиатехники?

    alsopub
    @alsopub
    Про гражданскую авиацию не скажу, а вот это к примеру прошивка популярного полетного контроллера для авиамоделей - https://github.com/ArduPilot/ardupilot/tree/master...
    Вот еще прошивка для другого полетного контроллера - https://github.com/cleanflight/cleanflight/tree/ma...
    Думаю для авиамоделей можно подытожить - C / C++, возможно с ASM вставками (не искал).

    UPD. Про гражданскую авиацию нашел интересную статью - https://tjournal.ru/p/aircraft-software - "За работу того же «Боинга-787» в общей сложности отвечают более 14 миллионов строк кода... Одним из основных языков, на котором пишется код для гражданской авиации, является известный любому программисту C/С++. Второй важный для отрасли язык — разработанный ещё в конце 70-х годов Ada." Там же упоминается ОС реального времени QNX. Разумеется есть масса отдельных программ у отдельных узлов, так же как в квадракоптерах у каждого двигателя отдельный регулятор с отдельным чипом с программой.
    Ответ написан
    Комментировать
  • Почему дизайнеры используют сетку в 12 колонок ( 12 column grid )?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Ответ написан
    Комментировать
  • На чем лучше и быстрее написать парсер (PHP)?

    muhammad_97
    @muhammad_97
    PHP-разработчик
    DiDom: https://github.com/Imangazaliev/DiDOM

    + высокая скорость работы (сравнение с другими парсерами)
    + хорошая дока
    + большое количество поддерживаемых селекторов
    + самое главное - тесты

    Простой пример:

    $document = new Document('http://www.example.com/', true);
    
    echo $document->first('title::text');


    Чуть посложнее - парсим все ссылки:

    $links = $document->find('a[href]::attr(href)');
    
    var_dump($links);


    Еще сложнее - получить адреса всех ссылок-картинок:

    $links = $document->find('a[href]:has(img)::attr(href)');
    
    var_dump($links);


    Другие варианты:
    - Symfony DomCrawler
    - Zend Dom Query
    Ответ написан
    3 комментария
  • Проект с высокой посещаемостью - архитектура. Фреймворк или самопис?

    SamDark
    @SamDark
    Yii2 core team
    Yii подходит для такого проекта.

    Как уже было отмечено, если выводить по 100 записей на страницу и для каждой по 10—20 связанных записей, будет кушать память. Ну и ещё момент, не стоит увлекаться event-ами и сильно слоить view через renderPartial.

    Чат между пользователями можно реализовать поверх XMPP. Нагрузку такое решение держит отменно.

    MySQL может, при грамотной настройке, выдержать очень много. У нас, например, есть в проекте боевом JOIN по таблице с 200 млн. записей. Нормально бегает.

    PHP вполне себе справится.
    Ответ написан
    5 комментариев
  • Си в качестве «первого» языка

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Мой совет начинать в таком порядке, свою карьеру программером:

    1) Плаксин.М «Тестирование_и_отладка_программ». Начните ковыряться с существующими программами, за основу можно взять calc.exe или еще что-либо. Умение тестировать дает возможность беспощадной работы со своим собственным кодом за который вы будете в ответе перед своими коллегами. Это очень полезный навык, пусть даже в минимальном объеме но программер должен уметь тестировать!

    2) Язык С среди компьютерных языков сейчас занимает туже роль что и Английский среди человеческих. Зная С вам легче будет понять другие!

    3) Никогда не делайте ничего что лично Вам хоть как-то не интересно. Любой проект, любая задача, любое действие должно быть интересно не только поставившему вам задачу, но и лично Вам!

    4) Алгоритмы, без них никуда! Чем больше вы их знаете и умете применять на практике и давать оценку по сложности, тем лучше!

    5) Паттерны, это имеет смысл когда у вас хоть какой-то опыт программирования. Хотя бы 20 программ напишите, потом поймете сразу что на практике вам встречалось, а что нет. Будете отчетливо понимать чем конкретно тот или иной паттерн может вам помочь.

    6) Будьте прагматичны! Любое действие должно Вас приводить к какой-либо ранее поставленной Вами цели.

    7) Почитайте «Мифический человеко-месяц» Брукса. То что изложено в книге нужно понимать для того чтобы знать какие конкретно задачи следует выполнять, а какие нет! Умение поправить руководителя правильно и корректно, причем аргументировано дает Вам возможность принести больше в программный проект и следовательно даст Вам преимущество перед коллегами.
    Ответ написан
    1 комментарий