Ответы пользователя по тегу Программирование
  • Какой язык выбрать для автоматизации тестирования?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    обычно удобнее тесты писать на томже самом языке, на котором вы разрабатываете тестируемый продукт.
    Ответ написан
    2 комментария
  • Вы тоже постоянно всё забываете из программирования?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    нужно значить не забрасывать что-то а регулярно это практиковать.
    гуглить плохая практика, заставляйте свой мозг вспоминать, то что вы уже умеете, иначе он совсем атрофирует.
    Ответ написан
    Комментировать
  • Оптимальный алгоритм возведения в степень по модулю. Как улучшить?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    у вас уже быстрая реализация, единственно вам нужно оптимизировать долгие операции (такие как условный переход - одна из самых затратных операций), ну и по возможности избавиться от лишних операций.
    например вместо проверки (деления на 2 без остатка), достаточно проверять последний бит числа равный нулю.
    деление на 2 тоже можно заменить сдвигом.

    лучше вобще избавиться от условных операций, заменив их на безусловные -> тк у вас везде происходит операция х*х -> эту часть операций можно объединить
    a оставшуюся операцию с N можно заменить на двойную (где битовый остаток - это последний бит в числе N будет равен или 1 или 0 в зависимости от чётности числа).
    пример: n= (n>>1)*(битовый остаток) + (n--)*(!битовый остаток)
    такая оптимизация гарантированно ускорит работу.
    Ответ написан
    Комментировать
  • Каковы Ваши доводы за неиспользование транслита в коде?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    это у вас в голове тараканы, и какие-то непонятно откудо взятые догмы.
    ну сколько можно насиловать разработчиков и заставлять их думать на английском, где скажите мне GDE сказано, что нужно обязательно на английском название переменных делать?
    если вы неебаться там транснациональная корпорация типа гугла -> тогда да, можете объяснять за культуру использование "международного" языка в "международной" команде,
    но если вы в России живёте и разрабатываете продукт в русскоговорящей команде -> не мучайте их, не заставляйте думать на английском, пускай они описывают смыслы и идеи на родном языке (транслите), использование английских переменных вам ничего кроме мучения и снижение производительности не даёт.
    Ответ написан
  • Какая разница между параллельным и многопоточным программированием?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    по-моему вполне ясная статья, различие указано тамже,
    просто правильно переведите канкарэнси и паралелизм, как конкурентное выполнение и параллельное, конкурентное может выполнятся на 1 ядерной машине используя переключение потоков, где разные потоки конкурируют за время работы процессора, при чём это время не обязательно должно по равному распределяться, параллелизм означает что задачи выполняются параллельно например на разных ядрах (хотя могут использовать и параллелизм на основе конкурентного выполнения потоков)
    при этом:
    Parallelism requires concurrency, but concurrency does not guarantee parallelism.
    Ответ написан
    Комментировать
  • Как создавать качественый код в 3-4-5 раз быстрей?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    как и в любом другом искусстве мастерство (в том числе и скорость) складывается из множества деталей.
    посредственным программистам они могут казаться не значительными, даже появляются фразы типа слепой метод печати НИНУЖОН, овер9000% обдумываем архитектуру, рисуем схемки на бумаге, и тд. Это всё оправдания.

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

    такой подход называют ещё решением "сверху вниз", когда ты сразу описываешь как программа должна в общем работать постепенно углубляясь в реализацию деталей.
    программисту в 2015 году, стыдно должно быть рисовать какие-то диаграммки от руки, имея генераторы UML диаграмм (в intellij IDE например встроенный генератор схем есть).
    учитесь описывать структуру и схемы работы сразу в коде, а не наоборот.

    у многих хороших прогеров есть свои методики как работать очень быстро и эффективно, этим обычно не делятся (не потому что это секрет) просто такие вещи сугубо индивидуальные.

    начиная от индивидуальных раскладок клавиатуры, индивидуальных настроек среды программирования, заканчивая собственным набором базовых алгоритмов комбинируя которую можно решать 90% любых задач.

    и это всё НЕ ерунда, это те детали из которых складывается ваша скорость, и качество программирования. Tо там потерял 5 минут, то здесь провозился со схемкой на бумаге, то писал простой метод в течении 2 минут вместо 15 секунд.
    И в итоге, некоторые пишут программу в течении 2х недель, а кто-то туже самую программу за 2 часа...

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

    и да все эти вещи приходят исключительно с многолетним опытом.
    Ответ написан
    Комментировать
  • Где найти сообщество по интересам?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    типичная проблема в регионах, отсутствие айти рынка как следствие отсутствие айти комьюнити. K сожалению выход только один, пора как и все остальные айтишники -> переезжать в москву или хотябы питер.
    Ответ написан
    Комментировать
  • Что лучше 1С или C#(ASP.NET)?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    конечно 1С, все стартапы перспективные только на нём создаются.
    Ответ написан
    1 комментарий
  • Где и как можно обучиться ООП по простому, желательно для web-оринтирования?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Запомни, никогда и никому из своих друзей и родственников не говори что ты программист (учишься на программиста).
    Скоро они будут к тебе приходить с просьбами взломать почту и настроить роутер.
    Ответ написан
    9 комментариев
  • Как программировать игры?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    почему мне кажется что тут сплошные тролли задают вопросы?
    Ответ написан
    Комментировать