• Как школьнику побороть выгорания и вкатиться в программирование?

    lssssssssssl
    @lssssssssssl
    Как кто-то писал: "it - наверное, единственный работающий социальный лифт у нас в стране".
    Если у вас не хватает мотивации трудиться, чтобы иметь возможность прокатиться вверх на этом лифте, то, вероятно, другие способы себя мотивировать уже точно не помогут (Имхо)
    Ответ написан
    1 комментарий
  • Как школьнику побороть выгорания и вкатиться в программирование?

    xez
    @xez
    TL Junior Roo
    Никак.
    Проблемы "выгорания" не существует.
    Если вам не нравится программировать - займитесь чем-то другим, тем, что вам нравится.
    Ответ написан
    Комментировать
  • Можно ли использовать мультиплексор в качестве преобразователя кода?

    @3notH
    Мультиплексор можно использовать в качестве преобразователя параллельного 10-разрядного двоичного кода в последовательный. Для этого достаточно на входы мультиплексора подать параллельный код и затем последовательно изменять код адреса в требуемой последовательности. При этом во избежание появления ложного сигнала на выходе мультиплексора строб-импульс должен отключать выход от входов во время переключения адреса.
    Ответ написан
    Комментировать
  • Какого уровня мои познания о пк должны быть, чтобы понять эту статью?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Процессор у денди - это восьмибитка MOS 6502 (она же стояла в Apple 1, 2, Терминаторе и роботе Бендере). В ней восьмибитные регистры, веселые танцы с бубеном для доступа к памяти за пределами форточки в 64кб (да и в пределах тоже), а также жесткая привязка к числу тактов на инструкцию (потому что каждая новая инструкция читается из памяти во время исполнения текущей).

    Стандартных высокоуровневых компиляторов C/C++ на этот антикварит практически нет, Васик, который тогда существовал - был супер-мега-тормозной. Зато есть энтузиасты, которые протравили кристалл процессора кислотой и создали вентильно-идентичный эмулятор процессора, что приятно.

    Игры писались на ассемблере. Врукопашную. Без понимания архитектуры железа на ассемблере написать ничего невозможно.
    Ответ написан
    2 комментария
  • Как очистить выделенную память адреса под адрес указателя на первый элемент строки?

    mr_qpdb
    @mr_qpdb Автор вопроса
    ⏱ - is not eternal
    #include <stdio.h>
    #include <stdlib.h>
    
    int	main(void)
    {
      const char **text;
      const char *smth;
      
      smth = "some";
    
      text = (const char**)malloc(sizeof(char*));
      if(NULL == text) return 0;
    
      *text = smth;
      printf("%s\n", text[0]);
      
      free(text);
      text = NULL;
    
      return 0;
    }
    Ответ написан
    Комментировать
  • Как сменить обмотку в блоке питания?

    sotvm
    @sotvm
    Умный поймёт, а дураку и так всё равно.
    Все работает отлично, Но дурная голова рукам покоя не даёт? :))
    Ответ написан
    10 комментариев
  • Какая может быть проблема с прибором CU212 Grundfos?

    gbg
    @gbg Куратор тега Электроника
    Любые ответы на любые вопросы
    Косячное питание и наводки, как вариант.
    Еще можно удумать всякую экзотику вроде снижения сопротивления изоляции мотора.
    Ответ написан
    2 комментария
  • Что означает "квант времени" у переключения контекста?

    @res2001
    Developer, ex-admin
    Квант времени - это время в течение которого ОС позволяет работать потоку (процессу) непрерывно. По истечении времени, поток вытесняется другим. Когда настанет очередь опять выполняться этому потоку (процессу) ему снова будет предоставлен 1 квант времени. Так что переживать о том, что не хватит времени - не стоит - время всегда будет дано, пока процесс работает.
    Квант времени в разных ОС разный, обычно это что-то в диапазоне 1-10 мс. В Линуксе квант динамический, вычисляется на основе приоритета процесса - чем выше приоритет процесса, тем больше ядро дает ему работать.

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

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

    Из-за высокой нагрузки в системе может оказаться много процессов, имеющих одинаковый приоритет на выполнение и среди них надо будет делить все имеющиеся ядра и время. Естественно, что если таких процессов очень много, то пока после вытеснения очередь опять дойдет до процесса может пройти много времени. Эта ситуация означает нехватку ресурсов. Но, тем не менее, процессы будут выполняться (пока хватает виртуальной памяти).
    Если у процесса низкий приоритет, но в системе есть постоянно работающие процессы с более высоким приоритетом, то есть шанс, что низкоприоритетному процессу никогда не достанется процессор для выполнения.
    Ответ написан
    Комментировать
  • Почему 0.2f + 0.3f == 0.5f?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    0.2 = 1.100110011001100110011012 * 2-3
    0.3 = 1.001100110011001100110102 * 2-2
    Приводим к старшей степени, сохраняя количество двоичных разрядов.
    0.2 = 0.110011001100110011001102 * 2-2
    Складываем, получаем
    0.110011001100110011001102 * 2-2
    +
    1.001100110011001100110102 * 2-2
    =
    10.00000000000000000000002 * 2-2
    = 1.0000000000000000000002 * 2-1 = 0.5
    Ответ написан
    Комментировать
  • Почему std::endl не требует круглых скобок?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Да, это реально так. Более того, при желании, можно написать свое такое же - например, как в моем миниатюрном классе логов:
    Lout& operator << (Lout& out, Lout& (*func)(Lout&));
    Lout& operator << (Lout& out, std::function<Lout& (Lout&)>&&func);
    
    //stream commands & modifiers
    Lout &anounce(Lout &ret);
    Lout &flush(Lout& out);
    Lout &ok(Lout& out);
    Lout &fail(Lout& out);
    Lout &newLine(Lout& out);
    Lout &pop(Lout& out);
    Lout &Color(Lout& out, const uint8_t);
    Lout &noColor(Lout& out);
    Ответ написан
    Комментировать
  • Где посмотреть идеи для проекта OpenSource?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Если часто встречаете вопросы "Что написать" на форумах, то это не значит, что задающие их люди способны что-то написать. Скорее наоборот.
    Уже есть в сети всякие там кикстартеры. шде люди ищут финансирование для своих проектов, а также есть гитхаб, где люди могут собраться в работе над опенсорс-проектом и поработать.
    Если нет какого-то известного сайта, знакомящего разработчиков и пользователей, дающего им пообщаться, то это всего лишь означает. что разговаривать им не о чем.
    Людей на планете дофигища и всем сто-то нужно в той или иной степени. Идей масса, продуктов платных и бесплатных разного качества тоже полно, зато людей, которым вообще пофигу что писать, причем забесплатно, видимо, раз, два и обчелся. Не наберётся их на целую социальную сеть.

    Да и в чем проблема? Вот есть фотошоп - платный и не дешевый, а есть немалая куча "бесплатных аналогов фотошопа". Самый, наверно, известный - это Gimp. Нужен ли кому-то хороший графический редактор - безусловно. Много ли таких людей? Очень! Есть ли опенсорс проекты в этой тематике? Огромное количество!
    А вот с качеством у них так себе, хотя многие вполне юзабельны и во многом спообны аменить хорошие платные аналоги.
    Слышали выражение "Блеск и нищета опенороса"? Вот лучше не скажешь. Огромное кооличество человекочасов работы энтузиастов и штатных программистов, сидящих на своих окладах, пишут очень большое количество открытого кода. Можно садиться и писать любой проект. Нет никакого дефицита проектов и идей. Просто бери и пиши любой ткрытый проект с гитхаба, или любой аналог популярного платного. И тех и других в избытке!

    Зачем делать социальную сеть, которая даёт то. чего и так навалом? Она никому не нужна.

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

    Так какой смысл прятать идеи. если выгоднее ими делиться?!
    В общем за идеями приходите, рассказывайте что интересно - накидаем.
    Ответ написан
    Комментировать
  • Какие можно реализовать мини-проекты на PHP?

    @posters
    На мой взгляд, беда большинства программистов в том, что они зациклены на it сфере. В ней уже многое реализовано. Гитхаб заполонен никому не нужными велосипедами. Придумать и реализовать что-то уникальное в этой сфере уже довольно сложно. А чтобы улучшать уже имеющееся и востребованное может пока еще не хватать компетентности.

    Попробуйте выйти за рамки IT. Наверняка у вас есть друзья/родственники, работающие в сферах далеких от IT. Разузнайте больше о их деятельности, попробуйте вникнуть в рабочий процесс, мысленно представить себя на их месте. Подумайте, что бы вы могли сделать, чтобы как-то облегчить их труд, какая программа могла бы стать потенциально полезной. Обсудите идею с этим человеком и если он согласился, что программа может облегчить ему жизнь, ПРИСТУПАЙТЕ. Вот вам мотивация и почти настоящий проект.

    Если ну совсем никак, обратите внимание на отрасли науки. Вот, к примеру, об исторической информатике не думали? Научитесь работать с данными. Возьмите, например, информацию Международного мемориала ( https://www.memo.ru/ru-ru/projects/memoid и https://www.memo.ru/ru-ru/projects/hackathon ) и попробуйте на ее основе сделать какой-нибудь информационный сайт, который в перспективе будет интересен не только вам. Поработайте со статистикой, попробуйте выявить какие-нибудь закономерности.

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

    @kandrash
    Кратко о себе
    Бесперепестивняк. Может и слова такого не существует, поэтому 20 ошибок там простительны)

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

    Я в таких ситуациях просматриваю бегло снова и что мне кажется непонятным или забытым – перечитываю полностью.
    Ответ написан
    Комментировать
  • Где взять декомпилятор для Си?

    CityCat4
    @CityCat4 Куратор тега C
    //COPY01 EXEC PGM=IEBGENER
    Не бывает.

    Только в тех редких случаях, когда в программе почему-то сохранилась отладочная информация, можно составить приблизительное представление о коде. Если же там было простяцкоеgcc test.c -o test (или даже gcc -O2 test.c -o test) - усе, только дизассемблер.
    Ответ написан
    Комментировать
  • Когда лучше использовать сортировку пузырьком, шейкерную сортировку, сортировку Шелла, сортировку выбором, а когда алгоритм быстрой сортировки?

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

    Гуглишь название каждого алгоритма, и будет тебе подробнейшее описание.
    Ещё можешь почитать книгу "Алгоритмы, их построение и анализ".

    Или лучше стоит всегда использовать быструю сортировку?

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

    Какие методы сортировки вы можете посоветовать и каким/какими пользуетесь сами?

    Стандартным Array.Sort()/ List.Sort() / OrderBy

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

    @pfg21
    ex-турист
    вань ты б ченить начальное почитал или хотя бы видосики на ютубе посмотрел.

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

    в один байт слово "политика" не запишешь. посмотри что такое текстовые переменные и строки. а также сиcтему кодировок текста.
    на ютубе разжевано все по самое не балуйся.
    Ответ написан
    1 комментарий
  • Можно ли STM32H753VI (TFBGA100) страссировать в 4-х слоях?

    Ocelot
    @Ocelot
    Теоретически можно. 2 внешних слоя сигнальные, 2 внутренних - питания и GND.
    Два внешних ряда шариков развести на слое Top, следующие два ряда - на Bottom, внутренние шарики - земля и питание. Всё упирается в то, позволяют ли технормы вашего производства ПП протащить дорожку между падами на фольге 35 мкм.
    Ответ написан
    Комментировать
  • Как правильно остановить программу?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Для того, чтобы посмотреть вывод программы, ее вовсе не надо останавливать - достаточно настроить IDE так, чтобы она не закрывала терминал после завершения программы.

    Если сильно хочется, можно использовать вот такой код:
    #include <ios>      // Required for streamsize
    #include <iostream>
    #include <istream>
    #include <limits>   // Required for numeric_limits
    
    void myflush ( std::istream& in )
    {
      in.ignore ( std::numeric_limits<std::streamsize>::max(), '\n' ); // опустошаем все что есть в буфере
      in.clear();
    }
    
    void mypause() 
    { 
      std::cout<<"Press [Enter] to continue . . ."; // собственно, пауза
      std::cin.get();
    }

    Источник
    Использование же system("pause") - костыль, к использованию не годится никогда.
    Ответ написан
    Комментировать