Задать вопрос
  • Как выбрать нужно количество строк из файла?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    tac file | sed -n '1,/^$/{/./p}' | tac
    Первый tac читает файл задом наперёд, sed вырезает первый блок непустых строк, второй tac переворачивает этот блок в исходное состояние.
    Ответ написан
    7 комментариев
  • Как лучше реализовать локализацию?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    s = loc::get("key");    // ambiguous overload for op=

    неоднозначность у тебя появляется потому что оба конструктора std::wstring (конструктор копирования и конструктор преобразования из const wchar_t*) являются неявными.
    Операторы преобразования TaggedCWstr так же являются неявными.

    Эту неоднозначность нужно исключить. Замени, например, оба оператора преобразования на оператор преобразования в std::wstring_view.

    Я бы не стал делать неявный оператор преобразования в std::wstring и этим позволять бесконтрольно обращаться к динамической памяти без явного понимания этого процесса. Лучше для получения std::wstring сделать operator *, а еще лучше - вообще не ломать семантику операторов и сделать метод с говорящим именем.
    Ответ написан
    1 комментарий
  • Насколько перспективна смена профессии на разработчика С++?

    @poslannikD
    Java/C/C++ Programmer
    С разработкой знаком только поверхностно, небольшой опыт матлаба.
    Посему решил человек сменить профессиональную деятельность и занялся изучением C++.

    Худшее решение которое можно было предпринять, говорю как физик по образованию ушедший в С++. Во первых С++ страшно костыльный и сложный язык, выучить который ни за 1 год, ни за 10 невозможно(при условии что есть семья и другие заботы), хотя если нон-стопом ботать, то лет за 15 можно. Но знание языка не основное, нужно еще знать паттерны, системы контроля версий, всякие стили разработки(фп, ооп) и предметную область. Так как это С++ то нужно знать еще и stl, boost либо Qt. Вакансий по чистому с++ нет.

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

    В общем вопрос - как вы думаете - куда лучше податься и почему?
    Java - после С++ покажется раем(в плане языка). На постсоветском пространстве оплачивается хорошо, вакансий много. Осваиваете Spring, Hibernate по курсам и вперед на Junior-а, через 3-4 года зп будет выше чем у 70% с++ девелоперов.
    Ответ написан
    2 комментария
  • Насколько перспективна смена профессии на разработчика С++?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    А при чем здесь язык?
    Ведь не язык делает программиста программистом.

    Хотя С++ это отдельная история, но после года изучения этого языка плюс смежные области (архитектура компьютера, сети и пр.) можно легко перейти на любой другой язык. Таким образом, сам язык второстепенен, и более важным являются умение писать понятный (для других) код, документировать его, знать подходы и практики программирования, стили, парадигмы, математику, алгоритмы и пр. Плюс можете загуглить что-то типа "навыки программиста", чтобы понять, что требуется, кроме языка.

    Вообще здесь два крайних варианта (а истина где-то посередине):
    1. Если проблема выжить, то нужно сделать упор на пробелы в знаниях и навыках. И, как я сказал выше, это не только ЯП. Пожалуй, важным в такой ситуации будет качать софт скиллз, то есть умение работать в команде, общаться, договариваться, добиваться взаимопонимания, да и просто презентовать себя. Сюда же входит понимание трендов, так что ваш вопрос по идее отпадет сам собой.
    2. Если запас прочности большой, и проблема найти работу, которой человек будет заниматься всю жизнь, то нужно смотреть на то, что человеку нравится делать. Ведь профессионалом со временем можно стать в любой области. И это в любом случае даст нормальный доход. Но важно заниматься любимым делом, чтобы была мотивация и собственно счастье от работы и профессионального роста в ней.
    Ответ написан
    Комментировать
  • Как в apache правильно редиректить с 443 на 80 порт?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Потому что для коннекта по HTTPS нужно корректно настроенное SSL-взаимодействие - сертификат там, шифры...а уж потом, если всё хорошо - оно вас редиректнет на HTTP.

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

    Zoominger
    @Zoominger
    System Integrator
    Да, есть, погуглите хотя бы по Тостеру для начала.
    Ответ написан
    Комментировать
  • Что лучше использовать веб-разработчику: Linux Mint или Ubuntu?

    Adamos
    @Adamos
    Вы задаете вопрос, который ежемесячно обсасывается на Тостере вдоль и поперек.
    Значит, привычки гуглить и навыка читать нагугленное нет.
    Следовательно, Линукс противопоказан. Dixi.
    Ответ написан
    2 комментария
  • GUI для C++. Как можно?

    Zoominger
    @Zoominger
    System Integrator
    (сразу - никак Qt)

    А зря. Это ведь идеальный язык для GUI.

    Погуглил за вас: https://tproger.ru/digest/cpp-best-gui/
    Ответ написан
    1 комментарий
  • Сначала С, а потом С++?

    myjcom
    @myjcom Куратор тега C++
    Вопрос довольно короток. Есть ли смысл изучать сначала С, а потом С++?

    Ответ тоже довольно короток.
    Чем лучше программист знает С, тем труднее будет для него при программировании на С++ отойти от
    стиля программирования на С.

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

    Бьерн Страуструп. Язык программирования С++.

    Нотабене

    Тем не менее, хорошие программы на языке С по сути являются
    программами на С++. Например, все программы из классического описания С (K&R) являются
    программами на С++. В процессе изучения С++ будет полезен опыт работы с любым языком со
    статическими типами.

    Ответ написан
    1 комментарий
  • Это нормально, что процесс GPU Хрома занимает 1100 мб RAM?

    Radjah
    @Radjah
    Всего гиг? Я бы сказал, что он прям компактно сидит.
    Ответ написан
    Комментировать
  • Что дальше изучать?

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

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

    crashxd
    @crashxd
    Backend разработчик
    Выбирайте то, с чем лучше знакомы. Изучение займет время + будут встречаться подводные камни, с которыми вы еще не сталкивались. Это увеличит время разработки и добавит нервов.
    Ответ написан
    Комментировать
  • Должен системный администратор знать теорию сетей?

    @cssman
    должен, как и таблицу умножения до 9
    хреновый вы сисадмин, который не знает стек протоколов, на котором его сервисы работают
    Ответ написан
    Комментировать
  • Как в bash разделить числа в первом столбце файла?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    cat ашду | perl -ne '/^(\d+)(.+)/; print "".($1/2)."$2\n"'


    но с пустыми строками такое не дружит
    Ответ написан
    Комментировать
  • Java vs C++. Что полезнее?

    @DancingOnWater
    Про Java не знаю, но я расскажу про C++ и C#, даром что последний сравнивают с Java.
    Макросы, нетипизированные шаблоны, частичная реализация этих самых шаблонов, указатели, константные ссылки, константные методы, перегрузка унарных операторов, разделение памяти на стек и кучу, - это только часть того, по чем я скучаю, программируя на C#.

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

    Также стоит заметить, что C++ не заканчивается на голом синтаксисе и STL, после того как вы познакомитесь с ними перед вами откроется целый мир различных библотек. От того обилия высококласных математических библиотек, что есть на C\C++ (а первый вы совершенно спокойно можете подлинковать к проекту и использовать без проблем) у меня слюны все клавиатуру заливают. А Qt с его сигналами и слотами.... И да, не верьте, что многопоточные приложения сложны плюсах, Qt и C++11 упрощают до предела.

    А когда баловство закончится и вы поймете, что вам надо решать задачи по-серьезнее, то перед вами откроется новый мир: вы начнете изучать компилятор и узнаете много нового о его ключах и возможностях оптимизаций. вы узнаете как можно ускорить свою прогу с помощью SSE, что такое OpenMP и OpenCL.

    Да, C++ строг и беспощаден, его изучение сравни с игрой в шахматы с превосходящим по силе соперником, где любая мелкая ошибка может оказаться фатальной. Но работая на C++ (работая, а не кодя так, чтоб отвязались) вы получите гораздо больше в понимании того, как устроены It-технологии, на чем зиждются и в чем их ограничения.
    Ответ написан
    1 комментарий
  • Как создать серверную архитектуру для приложений?

    @kaasius
    Вы рассуждаете абстракциями. В рамках этих абстракций application сервер выполняет основную работу. Принимает запрос, обрабатывает его, возвращает результат.

    А вот на вопрос - как выгладит application сервер - однозначного ответа не существует. Простейший пример - apache/mod_php, отдающий некий сайт. Или php-fpm. Или node.js. Или… тыщи их.

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

    bogolt
    @bogolt
    Из литературы всегда советую Брюса Эккеля - Философия Си++ ( Thinking in C++ ). К сожалению на данный момент в связи с выходом 2011 стандарта книга стремительно устаревает. Хотя все ключевые моменты там очень хорошо разъяснены.
    Про разработку реальных приложений - тут на мой взгляд нужен реальный опыт - создание большого проекта в команде более опытных разработчиков творит чудеса и повышает уровень участников с невероятной скоростью. Разумеется команда должна быть офлайновая, через интернет подобные знания передаются хуже.
    Ответ написан
    Комментировать
  • Какие книги или материалы стоит изучить для полного понимания программирования?

    @lookid
    Никакие. Вы и знать не знаете с какими проблемами столкнетесь, когда будете кодить на Java 10 через 3-5 лет. Технологии развиваются так быстро, что только щупая их на протяжении нескольких лет, можно что-то прогнозировать в плане "полного" понимания. Не даром же есть джуниоры, мидлы, а синьеров вообще дают обычно 5+ годами опыта. Так, что можете в плане "полного понимания программирования" вообще не париться. Читайте классику: GoF, Кормен, Кнут.
    Ответ написан
    Комментировать
  • Где можно потренировать навыки JavaScript OOP?

    deadbyelpy
    @deadbyelpy
    веб-шмеб
    Какой-то есть опыт с js?
    Если его нету. Начните с начал и т.п., иначе изучение чужого кода ничего не даст
    OOP в JS нет, в том понимании что вы предлагаете.
    Придется постигать дзен JS.

    Задать жесткие условия сделать все красиво и с паттернами можно и самому.
    Задание тоже.
    Возможно, вам подойдет использование фреймворка, ведь знакомство с ними помогает писать код в том же стиле что и сам фремворк.
    Изучать их исходники даст примеры использования и хороших практик.

    Примеры хорошего кода: Design-Patterns-in-Javascript
    pdf.js

    Почитать:
    Масштабируемые JavaScript прило...
    Использование объектов для...

    Примеры заданий:
    клон Sticky Notes для винды
    Рисовалка на canvas
    Расширение для браузера, фильтрующее рекламу на странице без использования черных списков. Анализ содержания текста.
    "Умный собеседник" с распознаванием речи пользователя через google api
    Клиентский агрегатор новостей.
    Плеер в связке ВК + last.fm
    Шахматы на three.js
    Плагин/Модуль для фремворка (в процессе создания проектов, самому захочется добавить функционал)

    Может идеи вам и не понравятся.
    Есть другой вариант. Ищем интересный таск на freelansim.ru
    Делаем, в процессе получаем опыт. PROFIT.
    Ответ написан
    1 комментарий
  • Технологий много - как найти время на все? Стоит ли дергаться, изучая параллельно несколько?

    @oxfn
    Если что-то изучать, то лучше какие-то фундаментальные основы или новые подходы и парадигмы. Если говорить об играх, то по этой теме тоже много специфических теоретических вещей, таких как генерация, взаимодействие объектов, AI, рендеринг. А Unity3D, Silverlight и т. п. - это технологии, "изучение" которых сводится к прохождению пары туториалов и работе со справочником и само по себе бесполезно. Не стоит зацикливаться на реализации, но стоит больше работать над постижением и развитием идей.

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