Ответы пользователя по тегу Программирование
  • На каком языке сейчас чаще всего программируют микроконтроллеры?

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

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

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

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Самый первый кто именно начал выдвигать теории работы вычислительных устройств Чарльз Бэбидж
    который пытался построить первую вычислительную машину еще в 1822 (он по миру ездил с лекциями, о том как работает эта машина, но в мире на тот момент не было людей которые бы могли вообще понять о чем речь, представляете эпоха императора Наполеона, и какой-то чудак рассказывает о том что придумал "метод аппроксимации функций многочленами и что мол для того чтоб автоматизировать вычисления этого процесса типа можно построить какую-то там вычислительную машину"), только через 100 лет на основе его работ начали дальше развивать теорию ну и Тьюринг собрал первую электронную вычислительную машину (У Бебиджа все же не неполучилось собрать рабочий прототип, тогда черезвычайно трудно было безошибочно создать такое сложное устройство, в итоге сроки и стоимость разработки ушли за все разумные пределы того времени).
    Ответ написан
    6 комментариев
  • Нужен ли слепой 10-ти пальцевый набор?

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

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

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

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

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    как вариант на более высоком уровне можно положить все входящие данные в Set (коллекцию содержащее множество уникальных элементов), и потом посчитать размер коллекции.
    код будет выглядеть в стиле:
    inputStringData
     .split(" ")
     .map(inputElement => inputElement.toInt)
     .toSet
     .size

    П. С.
    шаг с переводом строки ( .map(inputElement => inputElement.toInt) ) в тип Интэджер не обязателен, можно посчитать и разные строки, это лишь улучшает эффективность хранения промежуточного массива перед подсчетом
    Ответ написан
    Комментировать
  • Как технически реализовать проект, чтобы применить технологию AI?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    хех, вы хотите чтоб мы за вас написали вам ТЗ?
    нет устоявшихся успешных решений в этой области, просто не существует, ваша (стартапа) задача НАЙТИ такое решение.
    Для этого поиска, можно использовать бесчисленное количетсво методов, подходов, технологий, языков и тд.
    Найдите грамотных разработчиков, позвольте им САМИМ РЕШИТЬ как правильнее это делать, а не диктуйте им решения раз сами в этом нихрена не понимаете, формируя представления в теме на основе каких-то обсуждений на форуме.
    Ответ написан
  • Можно ли быть хорошим программистом и плохим олимпиадником?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    В прикладном программировании ТРЕБУЮТСЯ понимания алгоритмов и структур данных, а также умение искать эффективных решений.
    Хороший разработчик гарантированно может решать олимпиадные задачи - пускай не самые сложные, но по крайней мере на реализацию, и задачи со среднем уровнем сложности.
    Выдающихся результатов именно в спортивном программировании, для хорошего разработчика НЕ требуется, но все равно решать часть олимпиадных задач он гарантированно может, хотя бы на среднем уровне.
    Ответ написан
    Комментировать
  • Появится ли такой тип программиста?

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

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Я уверен что именно за таких подходом будущее (изучение например математики и физики через программирование). Описание процессов хорошо перекладывается на язык программирования. Сам язык "программирования" в отличии от классического языка "алгебры" например, имеет более прикладное и практическое применение, хотя фактически оба языка делают тоже самое -> тоесть описывают процесс/модель/взаимосвязи.
    я например за собой тоже заметил, что для меня описание на языке программирования куда понятнее и яснее чем язык математики (просто изза того что я реже им пользуюсь, и хуже его понимаю)
    При этом создавая программу, для решения например каких-то задач, я куда нагляднее вижу что и как происходит, могу проследить самостоятельно где у меня ошибка и тд.
    Я уж не говорю о моделировании физических процессов.
    Вменяемое понимание физики у меня пришло только через программирование разных игровых ботов и процессов.
    ======
    По поводу процесса написания кода.
    Если задача простая то у меня обычно сразу появляется план в голове, ну или минут через десять например.
    В виде примерной схемы решения. Эту схему сразу набрасываю в коде, в виде абстракций, без четкой реализации, потом начинаю прорабатывать реализации.
    Все схемы взаимосвязей (ониже формулы) стараюсь визуализировать в голове без бумажек (так быстрее и удобнее). Но иногда что-нибудь на бумажке набрасываю, если не могу в голове все представить.
    Язык математики мало использую (только для описания простых взаимосвязей, типа там а=2б и тд), но вот передовые исследования приходится читать на математическом языке, что признаюсь дается мне с трудом. Но меня это не парит, тк всеже я программист а не математик - у меня первично программирование и разработка программных решений, а не написание статей в научные журналы.
    Ответ написан
    Комментировать
  • Как правильно называется вакансия?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Полно технологий из 90х, которые были действительно популярны и удобны, когда экосистемы языков были не до развиты.
    По сравнению с языками общего назначения, конечно R был, очень удобен, но сейчас не 90е.
    Сейчас любой язык общего назначения позволяет делать ТОЖЕ самое, ТАКЖЕ просто (через библиотеки и фреймворки), но при этом обладает большей гибкостью, производительностью, и решает куда более широкий спектр задач.
    Если вы УЖЕ знаете R - то можно его использовать и решать на нем задачи, если же вы только НАЧИНАЕТЕ решать математические задачи, то лучше сторонится этого языка.
    R отлично решал проблемы в прошлом, но в 2017 году он программистам врядли нужен. Может домохозяайкам, которым что-то нужно мощнее экселя, которые например в таргетинг рекламы лезут. Программистам всеже лучше сразу затачивать решения используя -> питон, ноду, скалу, ну или хотябы джава.
    Ответ написан
    Комментировать
  • Какая операция наиболее времязатратная на CPU?

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

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

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Ну как, как -> если документации нет тогда подаешь частоту, замеряешь результат вращения, подаешь другу частоту, замеряешь еще один результат. Собираешь статистику, строишь модель взаимосвязи, может линейная, может не линейная, нужно разбираться, в любом случае у тебя будет грубая модель, которую можно только вместе с ПИД регуляцией использовать, для задания начальных значений.
    Ответ написан
    Комментировать
  • В какой программе можно быстро строить визуализацию координатных прямых и матриц, чтобы наглядно увидеть и закодить алгоритм?

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

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    да эффективность падает при переключении потоков, НО для нас важно исполнение задач именно параллельно, например ты ведешь мышкой по экрану - это отдельный процесс, который работает и должен работать параллельно.
    опятьже нужно понимать что один поток не может выполняться эффективно изза задержек -> как уже упомянули одни из самых длительных задержек при обращении к сети или жесткому диску, пока данные оттуда придут, можно переключить задачу, без потери производительности.
    при этом следует помнить что например поступление данных из оперативной памяти тоже имеет свои задержки, и если и пока очередная порция данных из оперативной памяти поступает, тоже можно переключиться на процесс в котором данные уже поступили и тд.
    Ответ написан
  • Задержки доступа к различным устройствам (кэш, оперативка, ssd, hdd, net), скажите где найти?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    было исследование гугла и знаменитая табличка задержек, которая примерно выглядит вот так:
    I70LhMdXxwI.jpg
    но она уже устарела, и за последние 10 лет уже и эти данные немного поменялись, например задержки и работа в сети сильно ускорилась
    Ответ написан
    Комментировать