• Как в Firefox настроить перевод страниц на русский, также как в Chrome?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    нативная поддержка переводов у фокса уже пару лет как есть, но со своим плюсом и минусом
    плюс - в хроме прибит гугловский переводчик, а в фоксе можно выбрать один из трёх (Google, Bing, Yandex)
    минус - для каждого из переводчиков нужен ключ для пользования сервисами перевода от соответствующих компаний (Google, Bing, Yandex) что естественно, так как никто из этих гигантов не будет за просто так раздавать конкурентам преимущества за свои же ресурсы. Хотя их ключи можно получить бесплатно(?), но у Google и Bing на сколько я помню это было довольно геморно, единственное у Яндекс для этого нужно было просто иметь свой профиль(создать или иметь у них почту) и перейти по ссылке https://translate.yandex.ru/developers/keys а затем скопировать полученный ключ в поле browser.translation.yandex.apiKeyOverride (about:config)

    в общем виде для яндекса это будет выглядеть примерно так:
    firefox --> about:config
    browser.translation.detectLanguage=true
    browser.translation.ui.show=true
    browser.translation.engine=Yandex
    browser.translation.yandex.apiKeyOverride=КЛЮЧ


    смотри также - В Firefox появится поддержка перевода страниц при ...

    п.с.
    кстати, в будущем у фокса может появится своя переводческая база не зависящая от внешних игроков или даже сервисов, то есть, на самом клиенте появится возможность машинного офлайн перевода, см. Bergamot
    Mozilla развивает собственную систему машинного пе...
    Ответ написан
    6 комментариев
  • В чем отличия C++ и C# ?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Тут все пишут про отличия. Рискну написать про сходства.

    Во-первых, о чём бы ни писала Елена и Си++ и C# - оба языки общего назначения. Даже больше, оказывается - C# ни разу не заточён под объёмную библиотеку (или фреймворк) .NET, однако с ним намного, много проще. Но если таки учитывать .NET, то для Си++ есть Boost и Qt, так что здесь скорее паритет - библиотек для обоих хватает.
    Во-вторых, сложность разработки на Си++ часто преувеличена. Разве только дисциплины надо поболее - выстрелить в ногу здесь попроще. Однако при этом Си++ будет чутка более гибкий и без танцев с бубнами unmanaged код не запустить на C#. Если внезапно потребуется.
    В-третьих, оба языка, раз они общего назначения, таки мультипарадигмальные. То есть они реализуют большинство практик. И хотя Си++ развивается довольно медленно, сейчас Си++ резко догнал C# в плане нереализованных фич (здесь как минимум лямбды). Ну и метапрограммирования у Си++ поболее будет (наглая ложь).
    В-четвёртых, оба языка кроссплатформеные. Впрочем, C# будет более кроссплатформенный, чем Си++. Разве только тот же Qt резко стёр границы, но это не значит почти ничего - C# компилируется в тот же самый CIL для всех платформ, Си++ - в совершенно разный код для разных платформ (i386, amd64, ARM Cortex-AXX).
    Наконец, в пятых, синтаксис у них действительно очень похож. Оба языка принадлежат к семейству Алгол-подобных, так что и брейсы, и остальные скобки здесь имеют примерно одно предназначение.

    Различия, которые казалось бы делают языки совершенно разными, таки не столь принципиальны на том уровне абстракции, на котором был задан вопрос. А различия действительно колоссальны: C# - managed код, что означает, что скомпилированный код будет исполнятся не на прямую в CPU, а на специальной виртуальной машине. Это съедает производительность, но сильно облегчает перенос кода. Ну и потом, C# - полупроприетарный ответ Java (что интересно, так как получается, что C# - более свободный, чем Java), которая была создана как замена сложному и небезопасному C++ в том числе.

    В общем, как человек, который начал давно с C#, продолжив C++ и по пути изучив Python, Java, D и другую ООП-чушь могу с уверенностью сказать, что разницы в общем-то и нет... То есть придётся немного проникнуться в чуть другую философию и выяснить, какие проблемы более новый язык пытался решить. Но если подходить к этому, как подошёл lookid, то это скорее не как изучать языки одной языковой группы, а как изучать один и тот же язык в разное время или в разных сферах.

    Почему так? Потому что ООП... Оно как бы ООП, ничего сверхъестесственного ни один язык не предлагает, это не Haskell, и тем более не Brainfuck. Так что принципиально общие вещи в них будут. То подмножество, что реализует машину Тьюринга - у них общие. Сами посмотрите: циклы, ветвления, передача аргументов, арифметика... С небольшими правками всё совершенно одинаковое. Да, Дмитрий совершенно прав, traits на C# не повторишь, ибо та аналогия будет уже не traits, однако... Это уже [programming_language] related, то есть это попытка совладать с особенностями.

    Немного пруфов: лично я ходящий пруф. Зная C++ и C# и немного Java я просто начал программировать на Python. При том, что Python даже алголоподобным не принадлежит. А всё потому, что логика одна и та же, хотя различий между Python и C(++|#) намного, много больше. Но не читая почти никаких туториалов, пройдясь галопом по европам с документацией сейчас я знаю python достаточно для серьёзного проекта.

    UPD. По поводу метапрограммирования... Таки рантайм рефлекшн шарпа тащит. И хотя ни макросов, ни шаблонов, ничего. Но изменять код на лету - это уже очень круто. По дефолту плюсы так не умеют, и хотя шаблоны с макросами тащат, сильно, очень сильно тащат и вытаскивают его, Си++, со дна, надо признать - рефлешн у шарпа будет поинтереснее. Извиняюсь за дезу.
    Ответ написан
    6 комментариев
  • Необходимые знания для embedded developer'a?

    Punk_Joker
    @Punk_Joker
    Software Engineer в ВО Овен
    1. Си, С++
    2. Лучше сразу начинать с stm32 (Архитектура популярная, а конкретно эти МК - банально больше материала, и новичку проще разобраться)
    3. Навыки работы с мультиметром, осцилографом, логическим анализатором
    4. Устройство и распределение памяти (очень нужная вещь при отладке)
    5. Базовые понятие в области схемотехники (со схемами часто приходиться разбираться)
    Ответ написан
    2 комментария