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

    saboteur_kiev
    @saboteur_kiev
    build engineer
    а тем, что тебе просто интересно придумывать алгоритмы к задачкам, интерфейс которых не выходит за рамки командной строки?

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

    Чтобы писать алгоритмы и при этом не программировать, нужно писать очень крутые алгоритмы.

    Например напишите сортировку, которая будет работать быстрее, чем например quicksort (https://ru.wikipedia.org/wiki/%D0%91%D1%8B%D1%81%D...

    Напишите алгоритм архивации, который сожмет лучше чем хотя бы дефолтный 7zip, да хотя бы лучше чем дефолтный zip.

    Напишите свою реализацию криптования sha2

    А уже потом посмотрим, действительно ли вам нравится работать с алгоритмами, или вы прокрастинируете в тайне от самого себя.
    Ответ написан
  • Где может пригодиться физика программисту?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    * Проводку в квартире рассчитать, чтобы знать где можно включить чайник и холодильник в одну розетку, а где у вас пробки выбьет прямо посреди раунда в дотку
    * Wifi расставить так, чтобы минимизировать влияние от соседей и максимально покрытие по квартире для своего wifi обеспечить
    * Понимать разницу между оптикой, ethernet, wifi, спутниковой связью, и благодаря основам в физике понимать где тут пинг а где тут пропускная способность влияет.
    * кроме геймдева и робототехники, физические движки помогают создавать удобный и красивый юзер интерфейс, с нормально двигающимися менюшками, с адекватной цветовой гаммой.
    * 3д графика есть не только в игрушках, есть еще видео - реклама, клипы, мультфильмы, фильмы

    P.S. Школькая физика вообще маст хев для любого, не только в ИТ мире.
    Ответ написан
  • Как "войти" в программирование студенту-математику?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Нет особой разницы как входить в программирование математику или гуманитарию.

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

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

    Если считаете что вы точно неплохи в математике - ну поковыряйте что-то полезное из области математики. Какие-нибудь расчеты, которые вы считаете, что можете осилить.
    Расчеты траекторий орбит, 3д движки можно попробовать посмотреть, какие-нибудь математические программы, что-то из области распознавания звука или изображения.. Математика слишком общее слово, у вас должно быть что-то куда вас больше тянет, и это знаете только вы.

    Не обязательно прямо сейчас выбирать что учить на супер-крутого спеца через 5 лет. По пути вы еще успеете параллельно выучить несколько языков и технологий на простом уровне, не ограничивайте себя сейчас одним конкретным направлением. Тем более что на базовом уровне вообще полезно знать многие вещи из разных направлений. Углубиться во что-то одно сможете в процессе.
    Например вы говорите, что вам не нравится разрабатывать сайты. Но не иметь представления о том, как работает http и как прицепить к сайту свой модуль для расчета чего-либо хотя бы как cgi - наверное не очень хорошо.

    Как говорится, математику стоит учить лишь затем, что она ум в порядок приводит. Приведите свои мысли в порядок, придумайте себе хобби-проект или поищите уже разрабатывающийся опенсорс. Как для 4-го курса это еще и на диплом может потянуть. Но опять таки - не ставьте слишком глобальную цель прямо сейчас, когда вы не можете сформулировать более конкретный вопрос.
    Ответ написан
  • Какой язык программирования использовать для переноса настольной игры в WEB?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Если вам просто поиграть, можно воспользоваться онлайн-движком типа www.zuntzu.com
    Правда логику там не запрограммируешь, это просто перенос реальной настолки в онлайн-режим для живых игроков.

    Кроссплатформенная на java (вроде как более развитая):
    www.vassalengine.org/about.php
    Ответ написан
  • Как внести изменения в прошивку наушников?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    1. Прошивка коммерческих устройств не является открытым кодом. То есть заводскую прошивку в нормальном виде достать практически нереально
    2. Прошивка коммерчески продающихся устройств (а не инженерных, на которых тестируют и проверяют свое решение разработчики) отличается от того, что происходит в обычной разработке. Например могут быть не припаяны ножки для подключения программатора, чип может прошиваться отдельно от устройства, и тогда вообще на плате может не быть выхода или даже контроллера целиком (uart или чего-нить подобного).
    3. Даже если на борту платы есть все, прошивка обычно может быть залоченной от перепрошивки.

    Поэтом у вас скорее всего только два способа -
    1. Попробовать найти в инете инструкции по взлому конкретно вашей модели наушников, если кто-то это все-таки взломал и выложил в сеть. Обычно наушниками мало кто занимается.
    2. Если вы разбираетесь в аудиотехнике, может быть вы можете разработать собственную электронику на базе другого программируемого устройства, и сможете заменить оригинальную начинку собственной разработкой.
    Ответ написан
  • Имеет ли место программирование без языка программирования?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    "Недавно закончи изучение html и css ."


    "Недавно в интернете наткнулся на пост ,где писалось "лучше начинать программирование не с языка ,а с самого программирования,для более перспективного будущего и лучшего понимания."


    Вы определитесь, вы уже начали или уже закончили.

    Программирование в вашем случае по идее нужно уже продолжать, с языком программирования.
    Но если вам вышеуказанные противоречивые цитаты кажутся нормальными, то да, видимо надо начинать с основ логики.
    Ответ написан
  • Необходимые знания для embedded developer'a?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    В крупном ембеддед очень часто встречается С++

    Но ембеддед это не обязательно микроконтроллеры - множество устройств идет с вполне полноценными архитектурами и ОС на базе Линукс - умные телевизоры, коптеры, автопилоты и др.

    Если вы хотите делать мелкие штуки - то Ардуино может помочь вам освоится, но нужно научиться разбираться со спецификацией.
    Научиться паять можно на минимальном уровне, но если вы будете работать в компании, скорее всего будете работать с инженерными экземплярами, где все будет уже распаяно и нужно будет только уметь работать с портами.
    Ответ написан
  • Как реализовать генерацию Ворд документа?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    А обязательно генерироваьт ворд документ?
    Почему не text/rtf/html/pdf?
    Ответ написан
  • Программирование - что для старта выучить ребенку?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    С того возраста, когда ребенок начинает интересоваться.
    Начинать с того, что проще дать самому.

    Начинать с того, что быстрее может дать отдачу. Какому-то ребенку интересно сделать сайт, какому-то свой чат, какому-то свою игру.
    Ответ написан
  • Как начать понимать программирование?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Общее понимание архитектуры в IT - есть такой термин computer essential.

    Ну и технологии - как работает IP, как работают процессы, как работает операционная система, что такое и как работает драйвер.

    Сам язык программирования - это только азбука.
    Ответ написан
  • Как работают видеоредакторы?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Видео кодируется уже из готовых кадров. Популярные видеокодеки не работают с векторной графикой, работают с обычным растром.
    То есть сперва из 3д моделей и векторов создается набор обычных растровых картинок нужного разрешения, чаще всего даже рендерится видео с использованием какого-нибудь lowless кодека, который работает максимально быстро, жмет не так сильно но все же уменьшает нагрузку на носители.

    А затем уже такое видео может пережиматься стандартным двухпроходным, например h.264, и упаковываться в подходящий контейтер, например .mkv или .avi
    Ответ написан
  • Какой язык выбрать инженеру за 40?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Язык программирования выбирается для задачи.
    Не знаю, в каком направлении вы инженер, но может имеет смысл посмотреть в сторону Ардуино и создавать устройства?
    Ответ написан
  • Где можно найти информацию о том как создать приложение для восстановления данных с жесткого диска?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Вам нужно изучить структуру ext4 - как именно хранятся данные (файлы, каталоги, служебные данные) в файловой системе.
    Что такое блоки, что такое inode.
    И тогда вы сами себе сможете ответить насколько легко писать программу для восстановления и в каких случаях она сможет помочь, а в каких - нет.
    Ответ написан
  • CGI это просто функция обработки данных из формы на сервере?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Для таких вещей как php, есть готовые встроенная библиотека, поэтому обработчик на php может работать быстрее (просто за счет того, что интерпретатор уже в памяти в виде библиотеки, и передача данных из веб-сервера в обработчик и обратно выполняется быстрее).

    А протокол CGI позволяет писать обработчик на чем угодно, лишь бы оно могло запуститься на операционке, где крутится твой веб-сервер.
    Ответ написан
  • Какой план обучения программированию?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Структуры данных нужно учить в каком-то языке программирования.

    Собственно вся суть в том, что кроме чисел и строк есть массивы, ассоциативные массивы, кортежи, собственные структуры, готовые объекты и так далее.

    Под капотом это все равно биты и байты, но нужно просто немного набить руку, чтобы не путаться, поскольку в век быстрой разработки нужно уметь пользоваться готовыми инструментами, прежде чем изобретать свой велосипед.

    Основное чему нужно научиться - самоорганизации.
    Уметь не лениться и ждать пока кто-то принесет самую лучшую книгу или подскажет самый лучший курс. Гуглить незнакомые термины.

    Ставить самому себе задачи, которые понятны вам и реализовывать их при помощи программирования - именно собственная задача, когда вы заранее представляете себе какой результат вы хотите получить, позволит вам самостоятельно писать программы, которые этот результат выдают, а не писать примеры из учебников, которые выдают "какой-то там результат и хрен его знает как он получается, но вроде работает".

    Начните с html/css/javascript и питон, потом добавите sql.
    И не что-то из этого, а все вместе.
    Ответ написан
  • Как программировать анимации?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Обычная анимированная гифка.

    Создать такую можно либо долго и сложно с нуля в каком-нить редакторе видео или 3д-аниматоре, либо просто готовым сервисом в дебрях инета, например вот таким:

    https://icons8.com/animizer/ru/animated-text
    engfto.com/index/animated_labels_logo_breaking_up_...
    Думаю, если погуглить, то можно найти инструмент, которым эффект по вашей ссылки делается за пару минут без каких-либо специальных знаний.
    Ответ написан
  • Нужно вынести в поток вывода вместо записи в файл как это сделать?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    $ ll
    total 12
    drwxrwxr-x  2 saboteur saboteur 4096 Feb 10 09:49 ./
    drwxr-xr-x 11 saboteur saboteur 4096 Feb 10 09:48 ../
    -rw-rw-r--  1 saboteur saboteur  132 Feb 10 09:48 write.cpp
    $ cat write.cpp
    #include <stdio.h>
    
    int main ()
    {
      char buffer[] = { 'w' , 't' , 'f' , '\n' };
      fwrite(buffer , 1 , sizeof(buffer) , stdout );
    }
    $ gcc write.cpp -o write
    $ ./write
    wtf
    $
    Ответ написан
  • Используется ли сейчас микропрограммирование/микропрограммы?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Не путайте микропрограммы (в основном это прошивки разных устройств, которые сложно назвать операционной системой)
    И микрокод процессоров
    https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D...

    p.s. а .exe файл действительно содержит бинарный код (машинный код), но кроме этого .exe файл, в отличие от .com файла это контейнер со сложной внутренней структурой, которая позволяет хранить и код программ, и данные (текст, диалоги) и графику (иконки и др) и в принципе вообще любой контент.
    Ответ написан
  • Что значит запись аргументов в функции вида function(num1[, ...[, numN]])?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    квадратные скобки в справках и примерах означают необязательные параметры.

    то есть
    function(num1[, ...[, numN]])
    говорит, что это может быть и
    function(1) и function(1,1,1,1,1)

    А например запись типа:
    function (x, y[, z])
    означает, что x,y - обязательные параметры, z необязательный. Поэтому можно вызвать и
    function (1,2) и function(1,2,3), но не function(1,2,3,4)
    Ответ написан