• XSS.stack #1 – первый литературный журнал от юзеров форума

Вкатунства тред/составление roadmap

megakraken_666

floppy-диск
Пользователь
Регистрация
20.08.2024
Сообщения
5
Реакции
1
В делах программистских я суперновичок из опыта которого уверенное владение базовой базой(конструкции языка c++, ооп, идиомы) отточенной и отполированной кодварсом, литкодом и консольными играми-безделушками. На этом этапе было всё довольно просто: есть язык - учи язык, но дальше абсолютный мрак. Часто слышал "делай что нравится/выбери сферу" но все направления кажутся слишком глобальными, где одно хватается за другое и так до бесконечности. Дело разумеется во мне, но может вы дадите сможете помочь советом.

Есть ли какой-то подробный роадмап который вы видели или использовали при изучении какой-то направления на тех же плюсах? Насколько этот опыт применим к трудоустройсву? Может вам есть что посоветовать в целом? Системное программирование кажется крутой идеей но в плане поиска работы может уйти польше года на одну подготовку так ли это?

Ни одного друга-программиста нет так что могу спросить только у вас.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Часто слышал "делай что нравится/выбери сферу" но все направления кажутся слишком глобальными, где одно хватается за другое и так до бесконечности.
ЯП это всего лишь инструмент. Чтобы что-то накодить нужно знать, как это что-то работает. На поиск этих сведений может уходить много времени.
Системное программирование кажется крутой идеей но в плане поиска работы может уйти польше года на одну подготовку так ли это?
По ощущениям большинство вакансий на C++ - это системное программирование. Времени уйдет много, как на изучение апи системы, так еще и на сторонние либы/фреймворки (ниже подробнее).
Потому что ты либо пишешь совсем лоу левел софт по типу драйверов, либо ты пишешь какую-то софтину с гуи, которая в любом случае тесно связана с системой.
Есть ли какой-то подробный роадмап который вы видели или использовали при изучении какой-то направления на тех же плюсах? Насколько этот опыт применим к трудоустройсву? Может вам есть что посоветовать в целом?
Одного c++ для реальной разработки обычно не достаточно. Посмотри вакансии и ты увидишь, что требуют обычно еще Qt, Boost, ...(еще что-то в зависимости от того разрабатывает контора) . Начинаешь их изучать по очереди. Изучил Qt? Отлично, напиши судоку))) Или какой-нибудь маленький пет проект, чтобы закрепить.
Изучил что-то из boost? Напиши еще что-то. Изучил Qt + Boost ? Напиши свой чат с гуи интерфейсом и сервером, используя сокеты из буста и прикрути еще базу на sql.
Просто придумай любой пет проект себе и используй еще какие-то технологии помимо обычного c++.
И даже в таком случае одного c++ обычно оказывается мало)))) К выше перечисленному докидываем знание хотя бы 1 скриптового языка (python, bash, ...), знание SQL (всегда полезно), git, cmake (очень вероятно, что пригодится), знаний систем под которые собрался писать. Вот это будет крепкой базой для устройства на работу.
 
Системное программирование кажется крутой

o2enk.jpg


Join the dark side, this itself has many fields: embedded systems, security research, compilers, chips, hardware accelerators, low level fast compute frameworks (pytorch, tensorflow, jax, tinygrad), regular desktop/server kernels, virtual machines, emulators, video processors, mobile phones, reversing (more of a skill in a toolbox rather than a full time job ( :rolleyes: full time kaspersky reversers)), RISC, FPGA, parallelization etc. It will take such long time (more or less depending on the subject) but if you see such interest in the field, you should first attempt it with some basics. I am not even talking about starting with regular stack canaries, w^x, overflows, patching. /forums/145/ is mostly security related but this overlaps into other fields mutually i mentioned above. And regarding security, don't even expect to get even a decent job in a year. This will not happen. This is not the 2000s where the bored teenager with braces who masturbates to hentai somehow encountered the term 'kernel mode' and found a use after free on the osx panther over the summer, and got hired by Mark Zuckerberg with a free ticket to San Francisco. This won't happen today (yes such things did happen) At least not realistically.
I suggest not to indulge in security as a primary work but purely as a hobby at least in the beginning of a career (like every week, I will study 3 juicy phrack articles and then implement a poc for one.). Instead rather sit with something like low level fast compute frameworks (pytorch, tensorflow, jax, tinygrad), compilers. The initial topics in these fields are generic for every syscoder, so you won't 'waste time' if thats what you want) Or else, after 2 years, your mom won't recognize you:
5wxd67vga0c41 (1).jpg

Now the detailed roadmap for such fields is very easy. The roadmap we can always discuss in more detail. Some require investment like fpga (you can't dwell on emulators for so long), some require a 2012 thinkpad and a tin foil hat like compilers, kernel dev. So there are such nuances.
Of course, there are faster, more peaceful, higher paying jobs in other fields you can sit in the fields of machine learning. But I am sure there are other people that will talk here. But I don't think you'd have come to this forum unless you gravitate more towards low level than AI right? ;)
 
Последнее редактирование:
еще один ...
ладно, а теперь серьезно.
самый простой способ набрать опыт - это фриланс.
через неделю учебный год стартует, там начнется сенокос, причем безо всякого скама. студенты нынешние готовы любые бабки платить лишь бы самим не делать.
поэтому
идешь на cyberforum.ru, регаешься там и начинаешь помогать бесплатно решать задачи, т.к. по нынешнимм правилам тебя в раздел фриланса в качестве исполнителя никто не пустит. Это лет 10 назад там был реальный рай как для честных трудяжек, которые годами зарабатывали себе репу, так и для различных охотников на мамонта. Так что тебе придется сначала набрать репу, а потом уже пройти собеседование на допуск.
Вот тебе первый пункт.
Пока набираешь репу - узнаешь много нового, в том числе о себе.
После первой сотни тупорылых студентов ты взвоешь и пойдешь искать нормальную работу, возможно даже здесь.
пока ты решаешь задачи чужие - там огромное количество направлений - поймешь сам что тебе нравится сегодня - туда и беги.
Удачи.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Есть ли какой-то подробный роадмап который вы видели или использовали при изучении какой-то направления на тех же плюсах?

https://roadmap.sh/cpp
 
Спасибо, но я наверное не так выразил мысль. База языка, сам c++, как и все языки, разжеваны до мелочей и с ним проблем не возникало
из опыта которого владение базовой базой(конструкции языка c++, ооп, идиомы)
Вопрос же стоял в дальнейшем пути как бы это глупо не звучало, в частности системное программирование, хотя к этому моменту что-то более менее адекватное нашёл. Здесь же, задавая свой вопрос, я надеялся по возможности узнать путь других людей когда-то занимавшимися или занимающимися в сфере опять же, в частности сис. прог. Или получить совет-наставление в целом.

только не бросай ссылку на сокеты/sql/cmake уже щупали, знаем
 
еще один ...
ладно, а теперь серьезно.
самый простой способ набрать опыт - это фриланс.
через неделю учебный год стартует, там начнется сенокос, причем безо всякого скама. студенты нынешние готовы любые бабки платить лишь бы самим не делать.
поэтому
идешь на cyberforum.ru, регаешься там и начинаешь помогать бесплатно решать задачи, т.к. по нынешнимм правилам тебя в раздел фриланса в качестве исполнителя никто не пустит. Это лет 10 назад там был реальный рай как для честных трудяжек, которые годами зарабатывали себе репу, так и для различных охотников на мамонта. Так что тебе придется сначала набрать репу, а потом уже пройти собеседование на допуск.
Вот тебе первый пункт.
Пока набираешь репу - узнаешь много нового, в том числе о себе.
После первой сотни тупорылых студентов ты взвоешь и пойдешь искать нормальную работу, возможно даже здесь.
пока ты решаешь задачи чужие - там огромное количество направлений - поймешь сам что тебе нравится сегодня - туда и беги.
Удачи.
спасибо за совет, звучит правда здорово буду пробовать
 
ЯП это всего лишь инструмент. Чтобы что-то накодить нужно знать, как это что-то работает. На поиск этих сведений может уходить много времени.

По ощущениям большинство вакансий на C++ - это системное программирование. Времени уйдет много, как на изучение апи системы, так еще и на сторонние либы/фреймворки (ниже подробнее).
Потому что ты либо пишешь совсем лоу левел софт по типу драйверов, либо ты пишешь какую-то софтину с гуи, которая в любом случае тесно связана с системой.

Одного c++ для реальной разработки обычно не достаточно. Посмотри вакансии и ты увидишь, что требуют обычно еще Qt, Boost, ...(еще что-то в зависимости от того разрабатывает контора) . Начинаешь их изучать по очереди. Изучил Qt? Отлично, напиши судоку))) Или какой-нибудь маленький пет проект, чтобы закрепить.
Изучил что-то из boost? Напиши еще что-то. Изучил Qt + Boost ? Напиши свой чат с гуи интерфейсом и сервером, используя сокеты из буста и прикрути еще базу на sql.
Просто придумай любой пет проект себе и используй еще какие-то технологии помимо обычного c++.
И даже в таком случае одного c++ обычно оказывается мало)))) К выше перечисленному докидываем знание хотя бы 1 скриптового языка (python, bash, ...), знание SQL (всегда полезно), git, cmake (очень вероятно, что пригодится), знаний систем под которые собрался писать. Вот это будет крепкой базой для устройства на работу.
Посмотреть вложение 93198

Join the dark side, this itself has many fields: embedded systems, security research, compilers, chips, hardware accelerators, low level fast compute frameworks (pytorch, tensorflow, jax, tinygrad), regular desktop/server kernels, virtual machines, emulators, video processors, mobile phones, reversing (more of a skill in a toolbox rather than a full time job ( :rolleyes: full time kaspersky reversers)), RISC, FPGA, parallelization etc. It will take such long time (more or less depending on the subject) but if you see such interest in the field, you should first attempt it with some basics. I am not even talking about starting with regular stack canaries, w^x, overflows, patching. /forums/145/ is mostly security related but this overlaps into other fields mutually i mentioned above. And regarding security, don't even expect to get even a decent job in a year. This will not happen. This is not the 2000s where the bored teenager with braces who masturbates to hentai somehow encountered the term 'kernel mode' and found a use after free on the osx panther over the summer, and got hired by Mark Zuckerberg with a free ticket to San Francisco. This won't happen today (yes such things did happen) At least not realistically.
I suggest not to indulge in security as a primary work but purely as a hobby at least in the beginning of a career (like every week, I will study 3 juicy phrack articles and then implement a poc for one.). Instead rather sit with something like low level fast compute frameworks (pytorch, tensorflow, jax, tinygrad), compilers. The initial topics in these fields are generic for every syscoder, so you won't 'waste time' if thats what you want) Or else, after 2 years, your mom won't recognize you:
Посмотреть вложение 93200
Now the detailed roadmap for such fields is very easy. The roadmap we can always discuss in more detail. Some require investment like fpga (you can't dwell on emulators for so long), some require a 2012 thinkpad and a tin foil hat like compilers, kernel dev. So there are such nuances.
Of course, there are faster, more peaceful, higher paying jobs in other fields you can sit in the fields of machine learning. But I am sure there are other people that will talk here. But I don't think you'd have come to this forum unless you gravitate more towards low level than AI right? ;)
Спасибо, что уделили время на ответ
 
спасибо за совет, звучит правда здорово буду пробовать
держи в курсе )
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Вопрос же стоял в дальнейшем пути как бы это глупо не звучало, в частности системное программирование, хотя к этому моменту что-то более менее адекватное нашёл.
Это единственный роадмап который я видел. Не знаю какое ты наставление хочешь получить. Но обычно сначала изучается синтаксис языка, а затем изучают алгоритмы и структуры данных, затем можно уже изучать библиотеки и работу с ними. Далее работа - проекты. А потом можно будет для большего дзена изучить "чистый код" и тому подобные книги.
 
чувствую нотку сарказма)
ни в коем разе, сам прошел по этому пути в свое время, поэтому никакого сарказма нет. если что - всегда подскажу.
 
Для системного программирования, учи WinApi функции. Книга есть хорошая, автор джефри рихтер windows для профессионалов. Малварь он скорее всего хочет писать, но на базовых знаниях далеко не уйдёшь в системное программирование без winapi без архитектуры устройств компов и т.д .
 
megakraken_666 did you start already or will you start next Monday? or on new year?))
 
ЯП это всего лишь инструмент. Чтобы что-то накодить нужно знать, как это что-то работает. На поиск этих сведений может уходить много времени.

По ощущениям большинство вакансий на C++ - это системное программирование. Времени уйдет много, как на изучение апи системы, так еще и на сторонние либы/фреймворки (ниже подробнее).
Потому что ты либо пишешь совсем лоу левел софт по типу драйверов, либо ты пишешь какую-то софтину с гуи, которая в любом случае тесно связана с системой.

Одного c++ для реальной разработки обычно не достаточно. Посмотри вакансии и ты увидишь, что требуют обычно еще Qt, Boost, ...(еще что-то в зависимости от того разрабатывает контора) . Начинаешь их изучать по очереди. Изучил Qt? Отлично, напиши судоку))) Или какой-нибудь маленький пет проект, чтобы закрепить.
Изучил что-то из boost? Напиши еще что-то. Изучил Qt + Boost ? Напиши свой чат с гуи интерфейсом и сервером, используя сокеты из буста и прикрути еще базу на sql.
Просто придумай любой пет проект себе и используй еще какие-то технологии помимо обычного c++.
И даже в таком случае одного c++ обычно оказывается мало)))) К выше перечисленному докидываем знание хотя бы 1 скриптового языка (python, bash, ...), знание SQL (всегда полезно), git, cmake (очень вероятно, что пригодится), знаний систем под которые собрался писать. Вот это будет крепкой базой для устройства на работу.
С Boost'ом вы поспешили. Это библиотека более высокого уровня. Лучше взять что-то на порядок ниже из WinAPI(winsock2), ну или при разработке под линукс тоже что-то местное. И уже на них писать асинхрон клиент-сервер.
 
А вообще лучше начинать с основ. Качаете лабы 1 курса ЛЮБОГО вуза(везде будут плюсы/либо си) и пытайтесь выполнять задания по темам. Постепенно подберетесь к ООП. И уже не будете тупить во многом , путаясь в синтаксисе.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх