Pull to refresh
35
0
Алексей Завьялов @AlexeiZavjalov

User

Send message
А надо? Я думал, что кейс такой — ставишь плагин, сертификат и логинишься, выбирая соответствующий пункт в форме.
Интересно, а есть у кого опыт использования КриптоПро для той же цели? Не хочу платить за ненужный мне девайс, имхо, сертификата, более чем достаточно.
Спасибо, нашел свой, давно забытый, PIN!
Одна из OSS вариаций на тему сокобана, с православным Beastie: beastieworker.sourceforge.net/, написана хабраюзером anmartex.
Я вот об этих ионисторах: www.membrana.ru/particle/17727. Насколько я понимаю, ёмкость у них сравнима с химическими батареями.
Кстати, очень давно говорят про конденсаторы огромной ёмкости, но минимальными размерами. Видел ли кто-нибудь такие штуки в живую?
GPS-позиционирование? Мимо кинотеатра прошел — пропустил важный звонок.
Похожее решение со stackoverflow:

int foo( int foo_var )
{
 /*code*/
  struct local 
  {
    static int bar( int bar_var )  
    {
      /*code*/
      return bar_var;
    }
  }
  return local::bar(foo_var);
}
В комментариях к видео правильно заметили, что данных людей скорее всего спровоцировали на такой ответ и отнюдь не оценкой.
Сложный вопрос, наверное что-то близкое к IID, т.к. приходилось прототипировать и проверять, что будет на выходе, после всего выполнения всех оптимизаций и дальше двигаться от полученных результатов. TDD так же имел место быть.
Владею таким же, очень расстроила неудобность набора СМС, особенно переключения на английский. Ну и в целом, очень плохо проработан интерфейс, даже, по сравнению со старыми кирпичами. Например, иногда, при блокировке аппарата, нечаянно нажимаешь на выключение — раздражает.
Обычно на сайтах разработчиков присутствует документация, в общих чертах описывающая работу компилятора, например, gcc internals: http://gcc.gnu.org/onlinedocs/gccint/. Очень помогают исследования различных университетов, например, здесь можно найти отличные слайды от Индийского Института Технологий (IITs), иллюстрирующие аспекты работы всех частей GCC: http://www.cse.iitb.ac.in/grc.
Для практической разработки советую использовать книгу Muchnick, Steven S — Advanced compiler design and implementation.
Векторизация, параллелизация (и другие особенности современных CPU) — компиляторы сильно зависят от тенденций в процессоростроении.
Нет, более того, Java'у знаю плохо и не фанат :)
Здесь есть одна важная задача — найти код, который необходимо оптимизировать, ведь затачиваться под определенный кусок произвольной программы нельзя, все должно быть универсально и применимо к любому коду. Да, есть общие для всех программ конструкции, но вариантов их сочетаний бесконечное множество и что может улучшить одна оптимизация, другая может замедлить многократно. Так что компиляторы, чаще всего, затачиваются под отдельный набор тестов, который пытается покрыть все возможные программные алгоритмы.

Для оптимизации находятся горячие куски кода в данных тестах и исследуются различными методами (в том числе, переписывается вручную, на ассемблере), что позволяет найти проблемы в сгенерированном коде и разрешить их, после этого «теплеют» другие куски и мы переходим к ним. Конечно, при этом необходимо проверять, не деградировала ли производительность в целом (и на других платформах) и остался ли результат валидным.
О курсе наслышан много, но никак руки не дойдут проверить :) Но в целом, кроме курсов, очень советую написать как минимум один свой компилятор, для вхождения в тему (книга дракона вполне годится для начала), потом можно присоединиться к какому-нибудь OSS проекту, например, тот же GCC или LLVM (там работы еще — непочатый край).
Да, например, разработкой компиляторов занимается филиал Intel в Новосибирске (где я и работаю), в Москве есть много команд (для эльбруса того же пишут компилятор), в Питере АльтЭль пишет Open64 для AMD.
Компиляторы, повезло поучаствовать в разработке GCC, ICC, JVM — оптимизация генерируемого кода под архитектуры. Рад буду поделиться опытом и знаниями.

Information

Rating
Does not participate
Location
Milpitas, California, США
Date of birth
Registered
Activity

Specialization

Chief Technology Officer (CTO)
Lead