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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Видимо у вас сайт крутится на вашей машине, и вы сами на себя заходите по локальному адресу.
    А 109.195.134.64, это адрес не вашей машины, а вашего роутера, через который вы ходите в интернет.

    Вам нужно потратить час-другой, и почитать про базовые понятие IP сетей и маршрутизации.
    Начните отсюда
    https://ru.wikipedia.org/wiki/%D0%A7%D0%B0%D1%81%D...
    Ответ написан
    1 комментарий
  • Как прочесть отдельные части текстового файла в C++?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Считывать построчно, парсить строку, брать нужные столбцы и работать с ними. Больше никак.
    Ответ написан
    Комментировать
  • Что лучше изучать: математику или программирование?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Учите и то и другое.
    Школьная программа достаточно простая, чтобы при помощи гугла и немного терпения, самостоятельно довести математику и физику до "отлично".
    А программирование учится отдельно от школьной программы. Но зная математику и физику, вы возможно сможете придумать себе хорошие практические задачи, которые можно будет решить программированием.
    Ответ написан
    Комментировать
  • Сколько платформ может знать программист?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Бывает достаточно и одной.
    Не понимаю, почему вам нужн ВСЕ вакансии? Станьте специалистом в чем-то, найдите вакансию под себя и работайте. Парралельно можете найти себе еще одно хобби и изучить другое, ну третье.
    Но изучать все?.. У вас личной жизни нет или вы ее не хотите?
    Ответ написан
    Комментировать
  • Чем именно занимаются программисты в банках?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    1. Стаж нужен чем больше, тем лучше.
    2. Программисты в банках работают.
    3. Востребованные языки: русский, английский, sql, java.
    Ответ написан
    Комментировать
  • Как стать hardware разработчиком?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Называется embedded.

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

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Разработчик игр это НЕ специальность.
    Специальность - это разработчик. А разработчик игр - это вакансия в компании, которая разрабатывает игры.
    Ответ написан
    Комментировать
  • Как начинать работу над проектом на фрилансе?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Просто.
    Берешь и работаешь.
    Понял?
    Ответ написан
    1 комментарий
  • Какие языки можно использовать на ОГЭ?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    1. На каких языках можно написать программу?
    2. Можно ли будет технически прямо на экзамене скомпилировать и протестить работу программы? (где-то слышал, что нельзя)

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    1. "Программирование — умение кодировать алгоритмы, предназначенные для исполнения процессором"

    Не совсем. Сейчас вручную под процессор пишут очень мало, даже в системном программировании. В основном пишут на языках высокого уровня, а для исполнения процессора существует компилятор, который этим занимается.

    > на языке, синтаксис которого, в конечном счёте - после стадий трансляции символьных масок в последовательность электрических сигналов, предназначен для понимания процессором.

    В конечном счете почти да, но нужно помнить, что не процессором единым жив современный компьютер. Так и программист - сейчас мало тех, кто серьезно занимается процессором - за исключением тех, кто его разрабатывает и кто пишет под него компиляторы/драйвера/операционные системы. Остальные пользуются готовыми библиотеками, функциями биоса и ОС.

    3. В результате кодирования алгоритма/ов получается компьютерная программа.

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

    4. В алгоритмах необходимо грамотно использовать типы и структуры данных, в соответствии с тем, как они кодируются в памяти и интерпретируются процессором.

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

    5. Формат интерпретации данных и их кодирование в памяти, а также список команд, которые способен исполнить процессор, предопределены производителем CPU и описаны в Instruction Set Architecture процессора?

    Да. Одна из причин, почему пишут на языках высокого уровня - это кроссплатформенность, когда для разных платформ (CPU) есть разные компиляторы, и один и тот же исходный код можно откомпилировать под каждый CPU/OS

    6. Вот ещё волнует вопрос: именно ISA определяет то, как закодированы данные в памяти или она определяет только то, как эти данные интерпретируются процессором? Если не ISA определяет кодирование данных, то что?

    Данные не кодируются и не интерпретируются. Данные просто хранятся. Именно ваша программа и решает что и как делать с данными. Если хотите сделать массив на ассемблере - создаете алгоритм, который работает с массивами. Для языков высокого уровня уже есть готовые функции.

    7. Вот ещё один волнительный вопрос: если программирование начиналось с мучительного прямого введения последовательностей бинарных электрических сигналов в машину на интерпретацию, то как был создан первый первый интерпретатор именно текстовой программы?

    Даже на википедии можно почитать историю языков программирования. Почитайте про Си, про Би.
    Первые интерпретаторы были такие простые, что их мог один человек написать в машинных кодах за разумное время.
    Собственно можно за день написать простой компилятор, в котором будет минимум проверок (и высокие требования к коду).
    Ответ написан
    Комментировать
  • Как поправить shell скрипт?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Зачем вам нужен sudo для создания файла и запуска питона?
    Если нужен sudo - запускайте весь скрипт, то есть:

    #!/bin/sh
    
    OUTFILE="/home/folder/logs/log_$(date +"%d-%m-%Y-%H-%m").txt"
    cd /home/folder/logs
    python3 handleMouseEvent.py > ${OUTFILE}


    и затем
    sudo myscript.sh

    Во-вторых, вы делаете перенаправление > а перед этим делаете touch - зачем? перенаправление и так создаст нужный вам файл. Главное, чтобы у юзера, от которого вы запускаете (при sudo - у рута) были права записи в указанной папке.

    P.S. В шелл принято именовать переменные в верхнем регистре.
    Ответ написан
    Комментировать
  • Насколько в действительности возрастает нагрузка, если писать код, разбивая все на отдельные действия?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Когда вы что-то пишете, нагрузку следует считать не только на железо, но и на разработчике.
    В подавляющем большинстве случаев, разработка и поддержка - это те задачи, которые мастшабируются гораздо сложнее, чем железо.
    В подавляющем большинстве случаев, железо даже не обязательно масштабировать - его просто хватает.

    Поэтому в подавляющем большинстве случаев, читабельность кода - важнее, чем производительность.
    А там где производительность будет важна - всегда можно будет сделать перфоманс анализ, выявить ботлнек и сделать рефакторинг - причем при читабельном коде это будет сделать гораздо проще.
    Ответ написан
    1 комментарий
  • Нужно ли перед C++ учить С?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    "даже компилятор ставится очень странно (эмулируется Terminal, а там запускается gcc, как я понял)."

    Не путайте странность и консоль.
    У самого новейшего языка программирования, компилятор может запускаться из IDE и из консоли, эти вещи не связаны. Вдобавок консоль - необходимость для любого компилятора, ибо позволяет автоматизировать сборку. И в подавляющем количестве случаев, IDE просто запускает консольный компилятор.

    Учить С перед С++ не обязательно. Но можно парралельно простенькие задачи решать так, как они решаются в С.
    Ответ написан
    Комментировать
  • Не устарело ли 6-ое издание книги Э.Таненбаум "Архитектура компьютера"?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Для новичка нужно знать базовые вещи. А базовые вещи устаревают гораздо медленнее.
    Зная базу, разбираясь в том, что было раньше, можно очень легко разобраться с новым и понять откуда у нового растут ноги.
    А вот зная только новое, нихрена нельзя понять почему оно такое нелогичное и почему реализованно именно так.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Не знаю, насколько вы разбираетесь в общем Computer Essential, но вы знаете, что на русском языке можно писать детективы и фантастику, можно писать исторические экскурсы с реальными данными и документалистикой, можно писать журналистские новости, можно писать анекдоты и шутки - и все это всего лишь на русском языке.

    Тоже самое и с любым языком программирования - смотря куда устроитесь, те технологии предпочтительнее изучать. С++ используется широко и для embedded и для системного программирования и для десктоп приложений и для game development и для различных плагинов/расширений. И везде могут быть свои технологии.

    Пилите свои любые проекты, чтобы получить опыт завершенного продукта.
    sql нужен вообще везде.
    Ответ написан
    Комментировать
  • Что значит выражение "выстрелить себе в ногу?" (в виде кода)?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Это означает, что на языке можно написать команду или конструкцию, которая сломает нормальное поведение программы или системы (или будет выполняться совершенно не так, как можно было бы логически предположить), и при этом компилятор/интерпретатор это скомпилирует и не ругнется.

    Почитайте тут:
    lurkmore.to/%D0%92%D1%8B%D1%81%D1%82%D1%80%D0%B5%D...
    Ответ написан
    Комментировать
  • В чем разница между возвратом значения и присваиванием?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    в "i = 1" вы просто присваиваете значение переменной i.

    в "a = i++" вы вызываете отдельную подпрограмму, которая найдет значение в переменной i, добавит к ней единицу, сохранит измененную i, которая теперь будет на единицу больше, а затем возвратит значение, и уже это возвращенное значнеие будет присвоено переменной а

    Чувствуете разницу?
    Ну и да, дочитайте учебник, вопрос же элементарные.
    Ответ написан
    6 комментариев
  • Какие есть добротные курсы по C++?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Никакие курсы реально не учат программированию. Программированию учишься сам, можно и на курсах и по книжкам и по статьям в инете.
    Главное - это то, какие ТЫ силы прикладываешь к обучению.

    Поэтому не стоит искать какой-то волшебный курс. Начальный уровень вполне можно освоить самостоятельно.
    Ответ написан
    Комментировать
  • Как сильно важен английский программисту и больше ли платят если вы знаете английский?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    > Если вы например веб-программист и делаете сайты на WP(сайты бывают разные) или на yii2 или что то подобное. И вы хотите устроится в фирму где почти все заказчики из-за рубежа. По сути то это ни о чем не говорит, вы так же можете делать сайты, вам же не нужно общаться с заказчиками.

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

    > Поэтому не совсем понятно, зачем тогда в данном случаи англиканский? Или веб-программистам он не так важен, например как java программистам? В моем понимании английский нужен в данном случаи что бы найти нужную инфу на зарубежный сайтах.
    Английский это не только форумы и википедия. Это еще книги, фильмы, подкасты. Это люди. Это другие сервисы. Например почитайте заказы на upwork и на русскоязычной фриланс бирже. Сравните цены. Подумайте.

    > При прочих равных, программисту на yii2 без английского и yii2 с английским, кому будут больше платить и как изменятся обязанности на практике?
    Платят не тупо за знание английского. Есть конкретные зарплаты в разных фирмах. В одних меньше, в других больше, это не всегда зависит от сложности и количества работы. Просто как-то так волшебно сложилось, что те компании, где требуют английский, почему-то платят гораздо больше.
    Ответ написан
    Комментировать
  • Зависнет ли одноядерный компьютер при while(1) {}?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Управление приложениями начиная с Windows NT изменилось, и такой вариант уже не помешает. Но собственно кто вам мешает на практике попробовать?
    Ваша программа просто крутит цикл. Она не запрещает прерывания, а управление процессами сделано в основном через прерывание таймера, пока не поставите ей realtime приоритет - тогда прерывания не смогут ее прервать.
    Разве что будет запущен еще один процесс с realtime приоритетом, например диспетчер задач - в этом случае они будут делить циклы и можно будет остановить ваш процесс.
    Ответ написан
    1 комментарий