24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Короче такая хуйня. Я сам знаком с проганьем, даже работаю червепидором прогером в одной конторе. Также сам аж с 2013 года начинал изучать плюсы, сам шарф, питон и прочую залупу. Имею гит там несколько проектов.
В чем собсна проблема? Я считаю что у меня нет осознанности. Типа мне известна теория базовая вплоть до ООП, но четкого понимания как что и зачем и когда юзать нету. То есть я зная например о классах могу хуячить весь код в мейне, и даже не заподозрить неладное.
Как говорится, практика без теории слепа. Собсна вопрос - а как мне структурировать свои знания и пофиксить мою хуйню? Изучать СИКП HTDP, или есть что попроще?
У меня просто шиза, что я не могу нормально воспринимать электронную литературу тк у меня начинают болеть глаза, да и если она на ангельском то восприятие заметно уменьшается (как говорится тут бы суть понять а еще перевести надо).
В общем, прошу у Вас совета и помощи, пожалуйста не хуесосьте меня, я сам это могу прекрасно сделать. Заранее спасибо
>>259251735 (OP) Читай Боба Мартина (чистый код, чистая архитектура), Фаулера и Банду четырёх (паттерны приложений). >мне известна теория базовая вплоть до ООП >четкого понимания как что и зачем и когда юзать нету То есть тебе нихуя не известно. Читай то что рекомедовал выше и понимание придёт.
Мне помогло только устройство в компанию со строгим кодстайлом и соответствующими задачами. Типа, появилась необходимость использовать наследование, интерфейсы для взаимодействия с контейнером зависимостей и тд. Для старта могу посоветовать разве что перепечатывать один в один за видеогайдами по сложной тематике. Или, если пользуешься фреймворком, по максимуму использовать все его сущности. Тип я у себя одно время валидацию прямо в контроллере фигачил, но потом мне дали пиздюлей и сказали как правильнее валидировать данные в отдельном классе. Собственно, в доке так и было описано
>>259251735 (OP) Это все хуйня. Любая книга по ООП легко сравнится с библией. Факт там лишь один - похуй на производительность, важна лишь читабельность.
Классы - это не более, чем способ структурировать код (не зря же в С подобное и называется структурами). Про глобальные переменные слышал? Слышал, что это очень плохо? Так вот внезапно если глобальная переменная "глобальна" только в пределах класса, то это уже не плохо и вообще очень хорошо. Так что представь, что ты пишешь весь код все в той же функции main, но теперь ты можешь обернуть логические блоки в функции класса.
>>259251999 Не, у меня на РАБоте есть регламент который касается именования и комментариев, ну и иногда мне начальник говорит как поступить если я прям совсем туплю/задача специфичная. А так работа по принципу "прыгай в воду там поймешь как плавать"
>>259252044 буква так ааа.. эта... ну вот есть сущность, ее саму нельзя менять но можно дополнить расширениями
>>259251929 Формальная хуета уровня "S в SOLID означает что у вас должна быть только одна причина для изменения класса". Нихуя непонятно. У меня причина - стоит задача по изменению функционала. А то что у меня в одном классе и модель, и логика загрузки изображений - нууу это ж к причинам не относится
>>259251735 (OP) Вопрос организации кода - это конечно важно. Но я видел огромное количество коммерчески успешных проектов, которые были организованы ужасно. Чистый код, код комплит, чиста архитектура - может показаться не очень понятной водой даже людям с опытом.
Проще всего - перенять чужой опыт. Попытаться устроиться к какой-то аутсорс где описаниях ваканций пишут про SOLID, TDD, DDD или какую-то современную и не очень движ. Аутсорсы часто умеют в короткие сроки парвлять мозги начинающим и не очень кодерам.
Но самое важно, что предстоит тебе сделать - это научиться учиться всему этому самому. Просто сидишь и постепенно учиться читать статьи\книги\доклады каждый день по чуть-чуть.
>>259252300 Вообще я бы хотел просто уметь быстро писать лаконичный код и сразу понимать какие алгосы/абстракции/вот это вот все нужно. А вот у нас хоть и есть стандарты разработки, у меня сейчас задача есть я там ебусь с кодом который вот вообще прям через жопу написан, нихуя не понятно
>>259252410 Ну, сразу понимать все не возможно - такое мне кажется приходит с разнообразным опытом. Если ковырять 5 лет 1 и тот же полумертвый проект, который строится на одних и тех же принципах(возможно удачных\возможно нет) - опыт мне кажется будет достаточно однобоким и скудным.
То, что твой и чужой код бывает написан через жопу - об этого не убежать :3
Попробуй почитать книги типа чистого кода и код комплита - они объясняют как читать код, который не тошнит читать. Но идеального ничего не бывает, бывают накладываются доменные сложности, с которыми сложно справляться.
Изучай паттерны и шаблоны проектирования по. Есть хорошие книжки, типа "совершенный код", где показаны примеры плохого кода, объясняют почему он плохой, и как его исправить.
>>259251735 (OP) Линус называл это в свое время taste of code. Нарабатывается эта штука путем созерцания хорошей кодовой базы и контрибьюта в него через адские мучения на пул реквестах. Где ее взять? Как правило опен сорс более менее выглядит, но чаще всего лучше просто работать с нормальными высококвалифицированными пограмистами. Если у тебя нет в компании\команде человека выше тебя уровнем, который пишет код лучше чем ты, траблшутит лучше чем ты и.т.д. - нужно менять работу
>>259251735 (OP) Хз к 2-3 курсу универа как-то само пришло. Когда вижу какой-нибудь метод на 50+ строк или класс который отвечает за половину функционала в приложении сразу становится НЕПРИЯТНО
>>259259927 Так я на РАБоте и занимаюсь. Вот у меня задача там финансовый отчет сбилдить, чтобы он в таблицу выводил значения из системы. Я уже 2 недели ебусь и смог только форму настройки скрафтить
>>259252149 Что значит нихуя не понятно? Жопой читал, или забыл, что знания надо применить на практике, чтобы они закрепились?
Прямо сейчас берешь свой говнокод, ищешь ёба-функцию и вчитываешься в её название, если название функции к пример makeRequest, а она по итогу ещё и обрабатывает все виды ошибок и парсит ответ и мапит данные, то вот. Только что, ты пронаблюдал наглый пиздежь, функция с названием makeRequest должна только реквест и делать и мб возврщать raw_text какой-нибудь. Берёшь и рефакторишь эту функцию, и пишешь в коммите "Исправить наглую ложь..." Вот тебе и буква S из солид, представь что будет если ты ещё хотя бы ещё один принцип оттуда начнёшь использовать.
>>259251735 (OP) Синдром самозванца, добро пожаловать! Гуглишь must have скилы для твоей профессии, делаешь компиляцию требований из нескольких списков и ебашишь по каждому пункту, вдумчиво.
>>259251735 (OP) >даже работаю червепидором прогером в одной конторе. Картриджи меняешь? >Типа мне известна теория базовая вплоть до ООП, но четкого понимания как что и зачем и когда юзать нету. То есть я зная например о классах могу хуячить весь код в мейне, и даже не заподозрить неладное. Достаточно проехта, который по размеру вылез за пару-тройку тысяч строк, чтобы уж точно появились мысли о раскидывании функционала по разным классам.
Ты, по ходу, ничего длиннее "Hello, world!" не писал.
>>259251735 (OP) >У меня просто шиза Так и начинал бы с этого, твои товарищи по палате не просто так сидят на пенсии, психика разрушается вместе с когнитивными способностями.
Проблема в том, что ты пошел в программирования из-за денег или безысходности, на оно само тебе интересно. Поэтому и твой мозг не хочет и не будет его воспринимать. Так что твой уровень - это вечный джун, страдай или иди на завод. Или делай то что тебе интересно - сиди на диване и смотри сериалы
>>259251735 (OP) Аналогично. Да, я знаю, что существуют паттерны. Я могу объяснить на собеседовании, что такое синглтон и зачем он нужен. И про солид знаю. И "Чистый код читал". Но когда пишу реальный код, то быстро в нём вязну. Когда ТЗ меняется в процессе и теперь нужно где-то в потрохах кода добавлять лишнюю проверку, и в зависимости от результата скорректировать работу ниже и выше этого участка. Появляются какие-то магические числа, в параметры функций уходят уже по 6-8 переменных, и так далее. Код становится монструозным и его тяжело "загружать в мозг", чтобы погонять чисто там. Всё чаще приходится писать строчку и смотреть, чего будет. Хорошо - ну ок, пишем следующую. Не получилось? Ну, попробуем тут тип данных изменить, может в этом проблема? А, нет, проверка на ноль. Тоже нет. Так, что там вообще эта хуйня возвращает? Инт, но может и false. Или перехватить сразу эксепшен и стринг выдать... Таааак, падажжи, ёбанарот...
Что делать между изучением основ (сейчас перешёл к ООП, что-то уже знаю, но курс на ютубе скоро закончится) и первой работой джуном? Как мне понять, чем хотел бы заниматься? Что изучать дальше? Где смотреть реальные задачи, с которыми столкнусь? Как готовиться к хакатонам? Мне кажется, после прохождения основ сразу становится очень сложно, так как основная масса уже успела бросить, а оставшиеся ещё дауны в плане программирования.
>>259271595 О себе: студент околотоп вуза дс, основной предмет физика, но хорошо преподают и инфу, и математику, и английский. Нравятся финансы, хотел бы работать в сфере, где есть и экономика, и сложная математика, и программирование. Ещё присматриваюсь к консалтингу. Учу C++, когда курс на ютубе досмотрю, продолжу учить C++ в вузе и буду учить ML по этому треду: https://2ch.hk/pr/arch/2016-07-28/res/776147.html Есть, что я делаю не так?
>>259272013 Удалёнка совсем не вариант? Где максимальный порог вката, но и максимальный потолок по зарплатам, в таком случае? ML для меня выглядит таким.
>>259251735 (OP) Начни код писать, а не надрачивать свое эго видеокурсами и статьями.
Придумай проект и сделай его от и до, пиши как тебе удобно и в конце концов ты прекрасно поймешь для чего придумали всю эту хуйню с "как, что и зачем". Как только запутаешься в каше в 30к строк кода, поймешь зачем делить на классы. Как только продебажешь 2 дня баг поймешь зачем нужно инкапсуляция, как только перформанс будет никакой на твоей 3090 поймешь за оптимизацию.
>>259272143 Ты как-то не так себе навоображал Удаленка то там есть как и везде Суть в том что вся работа сократилась до банков, порог не высокий для вката, а выебанный, каждый просит свой набор технологий, одна фирма гоняет гномиков(дрочит тебя 6ю собесами), другая просит какие-то свои проекты(ох лол, проекты в мл), и берут в-основном тех кто на практику от сбера из универа попал, если сможешь попасть на нее - то в принципе ок. А потолок по зп там не самый прикольный далеко. Может ты на Бабушкина насмотрелся с этим кудрявым пидором из Аликспресса, но сеньор в МЛ получает так же как и сеньор обычный дев любой хуйни. Проблема в том что тут учить в 10 раз больше, даже не сложнее, а тупо больше. Плюс ты сейчас устраиваешься не на работу мл-инженера/ресерчера, ты гарантированно устраиваешься на полный фарш от мл-опса до аналитика, с дата-инженером посередке, тебе надо уметь тупо все во всех фреймворках. Популярность всей этой хуйни очень упала, плюс она прибыльна когда у фирмы/страны есть бабло на такую хуйню. Их сейчас туговато и в США держат, про рашку вообще даже говорить не стоит. При этом все дата-сатанисты черви-пидоры лютые.
>>259251735 (OP) >У меня просто шиза, что я не могу нормально воспринимать электронную литературу тк у меня начинают болеть глаза, да и если она на ангельском то восприятие заметно уменьшается (как говорится тут бы суть понять а еще перевести надо).
Первых 4 слов достаточно. Имея 10 лет опыта я все равно гуглю каждое второе действие, потому что помнить всю эту ебань можно только если ты дрочишь 1 фреймворк всю жизнь.
>>259272521 Куда бы ты посоветовал вкатиться в моём случае тогда? Ещё раз кратко: - время для вката не сильно важно: 4-5 лет - порог для вката не важен, математику буду знать очень хорошо к моменту выпуска, книжки не пугают - вуз хороший, есть возможности для участие во всякой хуйне от яндекса, сбера, майлру, циско-хуиско и так далее - главный приоритет - высокий потолок в зарплате - приоритет поменьше - возможность для съёба, возможность запилить что-то своё в перспективе - ещё поменьше - что-то связанное с банками, финансами и так далее - хотелось бы иметь возможность работать удалённо, но в целом похуй
>>259273095 Ну тебе в мл и идти как бы, только говорю же в рахе это шкварная работа и люди говно Тем более никто не скажет что там будет через 5 лет 5 лет назад нейронки писали чисто кодом на ванильном питоне(разве что с нумпаем), а теперь вон уже бочку катят на тенсорфлоу с пайторчем, тренируют ауто-млем, т.е. самонастраивающимся фреймворком. Ты если прямо сейчас сядешь учить например реинфорсемнт-лернинг(с подкреплением на русском называется), то за год выучишь то что устареет, ты не будешь успевать следить за обновлениями просто. У профессионалов это не вызывает проблемы, так как инструменты направлены на упрощение работы мл-инженера и отдалении от математики, но для тебя как джуна-вкатуна это негативный аспект, потому что нахухоленные долбоебы которые вкатились на заре сферы думают что ты дурачок, даже не подозревая насколько они сами дурачки. Я не могу советовать за ничего кроме мобилок, мобилки никуда не денутся и мобилки анально огорожены гуглом и эплом в плане инструментов разработки. То что у меня есть проект с CoreMl в гите и указан питон+тенсорфлоу в языках - меня начали звать на мидла мл, но нахуй оно надо
>>259273376 Я пиздатый студент по физике и матану, но возможность участия есть у всех, кто здесь учится. Преподают как раз C++, так что бросить его не смогу ещё года полтора. Стажировки ищу пока в консалтинге, учусь решать кейсы. >>259273442 Понял, анон, спасибо за ответ, попробую ещё тред создать.
>>259270578 А мне что делать? Я первые 3 курса горел программированием, когда учился, мне было интересно в нем разбираться, читал книжки всякие. На 4 курсе понял что оно мне нахуй не интересно больше. Вот уже 3 года сижу с вышкой на шее у мамки. Пиздец.
>>259270578 >Проблема в том, что ты пошел в программирования из-за денег Ой, вот только не надо этого "настоящие программисты кодят не ради денег, а по призванию!". Это попытка самоутвердиться (я луше вас!) от школьников и студентов, и наглая ложь от тех, кому больше 25 лет.
>>259274726 Ну я же паграмист а не какой та там кассир за 15к епта. Ты мне по солидности такую же работу предложи лучше как вайти, но интересную мне. Нахуй меня мой мозг наебывал 3 года, а потом как шлюху на мороз выкинул за год до диплома?
/pr молчит, напишу и сюда
Короче такая хуйня. Я сам знаком с проганьем, даже работаю червепидором прогером в одной конторе. Также сам аж с 2013 года начинал изучать плюсы, сам шарф, питон и прочую залупу. Имею гит там несколько проектов.
В чем собсна проблема? Я считаю что у меня нет осознанности. Типа мне известна теория базовая вплоть до ООП, но четкого понимания как что и зачем и когда юзать нету. То есть я зная например о классах могу хуячить весь код в мейне, и даже не заподозрить неладное.
Как говорится, практика без теории слепа. Собсна вопрос - а как мне структурировать свои знания и пофиксить мою хуйню? Изучать СИКП HTDP, или есть что попроще?
У меня просто шиза, что я не могу нормально воспринимать электронную литературу тк у меня начинают болеть глаза, да и если она на ангельском то восприятие заметно уменьшается (как говорится тут бы суть понять а еще перевести надо).
В общем, прошу у Вас совета и помощи, пожалуйста не хуесосьте меня, я сам это могу прекрасно сделать. Заранее спасибо