Задать вопрос
  • А вы правда умеете программировать?

    qwerty12345123456789, давай вот сразу с терминами разберемся.
    Computer Program - правильно составленная последовательность инструкций, которую может выполнить некоторый процессор инструкций чтобы получить результат.
    Computer Programming - процесс составления компьютерной программы с целью получения некоторого результата.
    Programmer - человек, занимающийся составлением компьютерных программ.
    Это - базовая терминология, от которой можно двигаться дальше.

    Иными словами, задавая свой вопрос, ты спрашиваешь: действительно ли люди умеют писать слова компьютерных программ?
    Да, умеют. Это крайне просто. В 50х годах XX века это было под силу даже студенткам средних курсов ВУЗов. Перебить несколько слов в последовательность опкодов процессора - это тривиально. И в этом суть написания программ.
    В словесной или схематической форме программы подготавливают инженеры. Суть работы инженера состоит в правильной формулировке блоков программы, чтобы программа была правильной для целевого процессора и чтобы программа выполняла поставленную задачу.
    Это всегда достигалось через постоянную сверку написанного текста с целым набором документов. Для своей работы инженер в любой области всегда сверяется с документами из своей области. Инженер создает алгоритм уже решенной задачи, в этом суть его работы. Умение решать задачи - это тоже навык, который поддается тренировке. Решенную задачу инженеру передает представитель предметной области. Либо это будет аналитик по алгоритмам, либо это будет научный сотрудник непосредственно из предметной области. Постановка задачи происходит тоже в предметной области.

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

    Целевой процессор языка сегодня, на котором ты пишешь, это транслятор кода. Это для него ты пишешь программу. Ты пишешь код чтобы получить результат в виде программы на бинарных кодах. Транслятор читает твой текст и составляет оптимальную последовательность опкодов для целевого процессора следующего уровня. Таким образом автоматизация взяла на себя суть действительного написания программы.
    Задача инженера-программиста сегодня - это в терминах языка высокого уровня объяснить целевому процессору, другим инженерам и себе самому, какую задачу должен решать целевой процессор во время исполнения программы.
  • Как изготовить недорогой корпус для стартапа?

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

    Мне интересны модели, а не просто производители принтеров. За CubeX скрывается не только производитель, но и целая гирлянда китайских малопонятных принтеров.

    Я ведь правильно понимаю что ABS не используется потому что рабочая зона принтера не закрыта от сквозняков? Токсичности при печати ABS сегодня боятся только те люди, кто использует самый дешевый пластик с алишки.
    Пластики от BestFiloment или Filomentarno проходят полноценный контроль и соответствуют евростандарту безопасности.
    А если в систему вентиляции рабочей зоны поставить угольный фильтр, то летучих мономеров из ABS бояться и вовсе не стоит.
    При этом, ABS прекрасно обрабатывается абразивами и легко растворяется ацетоном. Постобработка у ABS практически бесхлопотная.

    В качестве дополнения свеженькая статья.
  • Какие сложности возникнут при разработке гемблинг сервиса?

    igroryan , большая сложность будет в том, что ты не сможешь издать такой сервис и не сможешь на этом сервисе зарабатывать.
    Текущее законодательство практически по всему миру пресекает заработок на гемблинге.
  • Что выбрать для разработки ПО под пк: C++, Qt или C#/WPF?

    Hoonak , коротко.
    Качественный инженер сегодня должен знать несколько технологий. Широкий набор задач может быть решен как используя C/C++, так и используя C# или Python. Даже GUI приложения, даже web-приложения.

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

    Дмитрий Семенов,
    Корпуса пока делаем на принтере, печатаем либо на заказ, либо у друзей.

    На каких принтерах выполняется печать? Каким пластиком печатаете? Какая конкретно постобработка выполняется?
  • Как написать программу для удалённого управления ПК на c++?

    Расскажи, какие способы ты уже пробовал, какие технологии для этого уже изучил и на какие подзадачи ты уже разбил свою задачу.
  • Кроссплатформенные сокеты для C++?

    @MarkusD Куратор тега C++
    vjufvufcgyf, так а где тогда отметка решения на том ответе, что ты получил?
  • Кроссплатформенные сокеты для C++?

    @MarkusD Куратор тега C++
    vjufvufcgyf, так тяжело понять человека, который ничего толком не говорит.
    Тебе ведь нужен ответ? Или ты просто зашел рассказать как тебя тут не понимают?
    Если нужен ответ, то давай развернуто и полными однозначными фразами расскажи что тебе не нравится в сокетах Беркли и что именно ты ищешь. Какие у тебя требования к кроссплатформенности и какие требования к реализации сокетов.
  • Возможно ли обрабатывать строки в момент компиляции?

    @MarkusD Куратор тега C++
    Ternick , строки на этапе трансляции можно делить, соединять, менять и упаковывать. Но это требует действительно глубоких знаний как шаблонов C++, так и механизма трансляции. Макросами такого не сделать.

    Подскажи, а точно ли тебе нужно именно весь путь хранить?
    Например, путь до папки ProgramData ты можешь взять с помощью WinAPI.

    Обычно программа для интенсивной работы с файлами и папками использует термин окружения, в рамках которого она работает. Окружением будет опорная папка, относительно которой программа выстраивает все свои операционные пути. Это поведение очень похоже на то, чего тебе хочется достичь. Но окружение всегда делается адаптивным, чтобы программа во время исполнения могла подстроиться к условиям окружающей среды.
    Ведь ProgramData/профиль пользователя/документы или Temp может быть не там, где обычно.
  • Кроссплатформенные сокеты для C++?

    @MarkusD Куратор тега C++
    vjufvufcgyf, а у тебя есть чем подкрепить свои слова?
    Вот я обоснованно заявляю что сокеты Беркли являются кроссплатформенными: [1], [2], [3].
  • C++ как сделать нормально отображение символов?

    @MarkusD Куратор тега C++
    Adamos, UCS-2.

    Guerro69, тебе стоит пользоваться "широкими" строками, т.е. L"Need for Speed™ Most Wanted".
    Дальше я уповаю на твою находчивость и знание документации.
    Adamos прав в своем ответе, у тебя проблема с кодировкой. Я бы предложил тебе выразить свою благодарность в форме отметки решением.
  • GameDev в России? Расскажите о нем?

    от который Сталкер и Метро

    S.T.A.L.K.E.R. - GSC, Украина.
    Metro: Exodus - 4A Games, Украина.
    Ты точно ничего не напутал?
  • Кроссплатформенные сокеты для C++?

    @MarkusD Куратор тега C++
    vjufvufcgyf, а чем тебе не подходит реализация сокетов Беркли?
  • Кроссплатформенные сокеты для C++?

    @MarkusD Куратор тега C++
    vjufvufcgyf , о чем этот вопрос, о каких именно сокетах?
  • Устарел ли Opengl ES?

    MrHackerman, это не означает что GLES устарел. DirectX11 тоже уже не развивается, т.к. развивается DirectX12. Однако, это не значит что DX11 устарел.
    Vulkan и GLES - это разные уровни реализации одного и того же. Зачем продолжать менять то, что стабилизировано и прекрасно выполняет свои функции? DX11 и DX12 представляют из себя точно такие же разные уровни реализации, один из которых уже стабилизирован, а другой еще активно развивается.

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

    Ответ на твой вопрос очевиден.
  • Устарел ли Opengl ES?

    MrHackerman , а какие причины устаревания ты можешь назвать?
  • Что делать если listen возвращает 10022?

    @MarkusD Куратор тега C++
    armadillo-cld, я несколько раз привел ссылку на документацию к bind. Ты ведь изучил документацию?
    WSAGetLastError, согласно документации, вызывать нужно только когда bind возвращает SOCKET_ERROR. Только так ты можешь понять, что WSAGetLastError вернул код ошибки именно от bind.
    И у listen точно так же. Тебе надо просто лучше обрабатывать ошибки. У тебя реальная ошибка может быть где угодно выше по тексту и ты ее просто проглядел.

    Я рекомендую тебе к каждой функции прочитать документацию и писать свой код только в соответствии с документацией.
  • Что делать если listen возвращает 10022?

    @MarkusD Куратор тега C++
    armadillo-cld, ты не проверяешь результат вызова bind.
    Давай посмотрим вместе, что пишется в документации listen относительно кода WSAEINVAL.
    WSAEINVAL The socket has not been bound with bind.
  • Что делать если listen возвращает 10022?

    @MarkusD Куратор тега C++
    armadillo-cld, давай я просто цитатами пройду этот момент.
    Изначально всё работало нормально, но потом что-то изменил, не помню что, и всё работать перестало.

    Никогда не видел смысла использования гита в своих проектах

    Этот смысл у тебя сейчас прямо перед глазами, но ты его все равно не видишь. Я правильно понимаю?
    Ты просто физически не поднимешь даже небольшой проект с небольшим кодом в течении длительного времени без истории, веток, таймлапса и без возможности всегда вспомнить подробности написанного.

    По поводу ошибки. Да, ты верно все написал про WSAEINVAL. Это буквально означает что ты передаешь именно в listen неправильные аргументы. Второй аргумент у тебя не может быть неправильным. Остается вопрос к первому - к сокету.

    У bind[?] ты ошибку тоже не проверяешь. Стоит это сделать.