• Как тестировать приложение, способы и подходы?

    Nipheris
    @Nipheris Куратор тега C++
    проверка "правильности/соответсвия" возвращаемых данных определенными функциями

    Это есть модульное тестирование, см. Catch.
    проверка на используемую память(сколько используется, было использованно за весь цикл существования приложения)

    Погуглите "memory profiler" (например, valgrind.org/docs/manual/ms-manual.html ). Я обычно в Студии профайлю, с автоматизацией этого процесса пока не сталкивался, но думаю возможно.
    проверка правильности порядка записи в бд

    проверка того что в сеть уходят данные которые ожидаются от программы

    Тут вам нужно замокать клиента к бд и сетевой сокет/поток (в зависимости от того как это всё реализовано, без подробностей сложно советовать), и вместо реальной отправки данных/записи в базу делать нужные вам проверки.
    Ответ написан
    Комментировать
  • Программисту нужна слепая печать?

    Therapyx
    @Therapyx
    Data Science
    эта штука - приходит со временем. В разработке печать кода занимает наименьшее кол-во времени, а если не все продуманно, то даже при "печати" приходится думать больше и чаще, чем печатать в целом, поэтому если ты будешь печатать в 2 раза дольше - это не большая помеха.
    Слепая печать не маст хев - это приятный бонус.
    Ответ написан
    Комментировать
  • Программисту нужна слепая печать?

    rockon404
    @rockon404
    Frontend Developer
    Я считаю, что это один из обязательных навыков, которые должен освоить каждый программист.
    Работать в разы комфортней и быстрей.
    Скорости в 120-180 символов в минуту хватит с головой.
    Ответ написан
    Комментировать
  • Как закреплять основы javascript на практике?

    theobroma
    @theobroma
    javascript developer (ReactJS)
    Люто рекомендую www.codewars.com.
    Просто чудо, что он есть. Его можно использовать для изучения многих языков. Думаю Вам, как и мне собственно, он будет полезен для освоения как JavaScript, так и CoffeeScript.
    Есть 8 уровней сложности. Ко многим заданиям прилагаются тесты. Так что заодно и с Test-driven development познакомитесь. Тесты есть готовые, но можно и свои пробовать писать.
    Задания можно обсудить в разделе "Discuss". Там все грамотно сделано и спойлеры скрыты.
    После выполнения доступно посмотреть на решения других пользователей и проголосовать за самое находчивое решение и за "best practice". Это дает не слабый левелап.
    Совет: делайте все на localhost, а после уже готовый код вставляйте для проверки в окно "Your Solution". Так проще поэтапно отслеживать код и можно потихоньку прийти к решению.
    P.S. Сам как раз решаю эти задачки и активно пользуюсь learn.javascript.ru для справки.
    Ответ написан
    1 комментарий
  • Стоит пойти на этот курс по JavaScript?

    rockon404
    @rockon404
    Frontend Developer
    По содержанию сухая теория из книг. Знания которые быстрей и эффективней получить бесплатно, изучая по книге. Не удивлюсь если написали по известной книжке, ничего от себя не добавив. Пустая трата денег. Сколько за такое берут если не секрет?
    Ответ написан
    8 комментариев
  • Известны ли вам примеры ситуаций, когда разработчики сделали open source проект и пожалели об этом?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Возможно история с трукрипт подойдет под ваше описание...
    Ответ написан
    Комментировать
  • Хочу стать программистом. Какой факультет выбрать(Санкт-Петербург)?

    TrueBers
    @TrueBers
    Гуглю за еду
    Знаю пару отличных факультетов:

    Вот оф сайт главного https://www.google.ru
    Ещё есть у них филиал — https://stackoverflow.com/

    Бесплатно и без СМС!
    Ответ написан
    2 комментария
  • Boost или не Boost вот в чём вопрос?

    TrueBers
    @TrueBers
    Гуглю за еду
    Precompiled headers, же! И всё влёт собирается.
    Ну, или для совсем тяжёлых случаев, можно юзать Ниндзю.

    А писать однозначно на бусте.
    Ответ написан
    Комментировать
  • С или modernC++ для IoT?

    TrueBers
    @TrueBers
    Гуглю за еду
    Так говорите, как будто С++ это 2 вещи: shared_ptr и исключения :D

    Вы смутно понимаете, похоже, в чём их назначение.

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

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

    shared_ptr — не серебряная пуля. Как уже сказал fshp, они используются в, ну просто, очень ограниченном количестве случаев. Их, как и исключения, нельзя пихать куда попало. Посмотрите выступления Шона Парента, почитайте его пейперы. Очень толковый мужик из Adobe, один из главных инженеров Фотошопа. Он там хорошо описывает и показывает на примерах, что shared_ptr — это просто хорошо замаскированная глобальная переменная, по сути, да ещё и с оверхедом от атомиков. И перед тем, как его использовать, сто раз подумайте, зачем он вам здесь нужен. В 99% случаев, можно обойтись без него, так же как и без RTTI. При этом, unique_ptr — очень удобная и полезная штука.

    Вам современный C++ предлагает множество сишных способов возврата значения вместо эксепшенов. Вы можете возвращать тот же tied tuple, optional, variant, any, error_condition, error_code. Хоть они и сами любят повыбрасывать исключения, но код намного чище и легче отлаживать и понимать, чем миллион вложенных исключений с дикой иерархией и оверхедом.

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

    Если вы из всего вышеперечисленного, пользуетесь только shared_ptr и исключениями, то C++ вам не нужен.
    Ответ написан
    1 комментарий
  • Способы обхода NAT?

    TrueBers
    @TrueBers
    Гуглю за еду
    Пробитие НАТа -- это оооочень сложная и неоднозначная тема. Там используется целый комплекс различных процедур, который называется Interactive Connectivity Establishment.
    То, что вы описали, это самый элементарный вариант техники. Который применим в 15-20% случаев.

    Торрент-клиентам, по сути, это не так важно как, например, для стримминга видео или голоса. Но они тоже используют очень много всего для этой задачи: от UPnP и NAT-PMP до довольно сложных техник из стандарта ICE.
    Ещё в торрентах используется DHT, у которой часто есть bootstrap-узлы с постоянными белыми адресами, потом через эти узлы идёт уже инициализация всей системы, и последующий поиск адресов в ней.

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

    Если нужно на поиграться, можете взять существующую библиотеку, например, PJNATH или libnice. Если для серьёзного проекта, то лучше выдрать реализацию из гугловского WebRTC, там она постабильнее будет.
    Ответ написан
    1 комментарий
  • Самостоятельное обучение основ программированию или в университете?

    Chipr
    @Chipr
    UX/UI designer
    Начать нужно с русского языка, а потом английского.
    1. Куча тем на тостере, которые раскрывают ваш вопрос. Пользуйтесь поиском.
    2. Университет — почти необходимость. Желательно где-то за рубежом.
    Ответ написан
    5 комментариев
  • Самостоятельное обучение основ программированию или в университете?

    @seamen
    программист любитель
    Чувак, своим вопросом ты в открытую заявляешь, что ты в принципе не хочешь учиться. Но если ты хочешь учить программирование самостоятельно, то тебе всё равно придётся трудиться как не крути. Выше ответившие отговаривают тебя от ВУЗа. Но это узколобое мнение. Никакой ВУЗ ни по какой специальности не учит работать. Проверено! Но ВУЗ даёт систему знаний и упорядочивает её для того, чтобы на работе ты максимально быстро вошёл в курс дела. Став взрослее, поработав на работах и не скатившись на кривую дорожку, ты сам поймёшь всю пользу университетских предметов. Из студента делают специалиста, который знает как подойти к инженерной проблеме.
    ВУЗ тебе даст инженерный и жизненный кругозор, вложит в тебя полезные вещи. ВУЗ это друзья, тёлочки, знакомства. Потом в нашем мире, где в/о стало доступным, будет странно общаться с человеком без диплома. Сразу появятся вопросы относительно его умственного благополучия. Поверь, это так.
    С дипломом хоть и трудно, но гораздо легче, чем без него.
    Мой совет: если не хочешь стать хрен знает кем с уклоном только в одну сторону, с сомнительными отрывочными знаниями, то поступай в ВУЗ и не парь мозги.
    ----------------------------------------------------------
    Братан, всё нормально у тебя. Не торопись. В ВУЗовской программе всё предусмотрено. Хочешь изучать основы - изучай. Если боишься, что в этом случае ты будешь "буксовать", то это пустые страхи.
    Ответ написан
  • Почему в C++ нужно строить всю программу на ООП (длинный вопрос)?

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

    А STL - это отличный пример ортогонализации контейнеров, данных и алгоритмов.
    Ответ написан
    6 комментариев
  • Как и где работать с изображениями в C++/C#?

    @koronabora
    Человек
    Я, как человек использующий Qt, использовал-бы его.
    При помощи QDir::entryList() переберу рекурсивно все файлы с нужным именем или расширением в папке и подпапках.
    При помощи QImage загружу картинки и логотип.
    Далее - каждую картинку и логотип выгружу в битовый массив и соединю их с нужным мне уровнем прозрачности.
    Потом из битового массива запишу в нужный файл.
    Ответ написан
    Комментировать
  • Какой дешевый Mini NAS выбрать\собрать?

    JoeRee
    @JoeRee
    Связист
    Лет 7-8 назад купил один Synology, потом другой. Но перестала устраивать скорость работы, а быстрые дОроги.
    Начал искать нечто похожее, плюнул, взял миниАТХ-плату засунул ее в небольшой корпус, поставил Ubuntu.
    Тянет все сервисы на отлично, web, ftp, media-server, cod4-server, samba... Рекомендую.
    Ответ написан
    Комментировать
  • Микрокомпьютер для Windows Server - какой выбрать?

    Посмотрите в сторону Lattepanda и UP board.
    Ответ написан
    Комментировать
  • Сколько математики нужно программисту?

    devspec
    @devspec
    Помогло? Отметь решением
    За 15 лет кодинга самая сложная математика, которая у меня была - вычисление процентов для прогресс-бара.
    Но я прикладник. Как выше написали - кол-во необходимой математики зависит от выполняемых задач.
    Ответ написан
    1 комментарий
  • Как и в чем лучше написать программу для Desktop?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Ваш выбор великолепен, тему можно закрывать
    Ответ написан
    Комментировать
  • Как и в чем лучше написать программу для Desktop?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Ну так и напишите на С++ QT
    Ответ написан
    Комментировать
  • Как выучиться на менеджера проектов?

    KonBez
    @KonBez
    Слаботочник
    Открыть вакансию менеджера проектов интересную для вас, осмыслить требования, сравнить со своими навыками - изучить отсутствующие.
    Ответ написан
    Комментировать