У нас в компании самостоятельно пишут код уже через неделю после интенсивного обучения.
То есть предполагается, что к вам приходят не просто начинающие интерны, а джуны с пониманием agile, с опытом написания юниттестов, пониманием паттернов, навыками отладки, опытом работы в git с пулл реквестами, с опытом работы в bugtracker (jira), то есть пониманием как работает CI/CD - всей этой кухни, которая не совсем относится к знанию языка. А навыков тут - на несколько месяцев, чтобы уверенно освоить.
тут можно и без регулярок, вырезать все между символами <>
а заменить... непонятно зачем менять именно так. Вам нужно менять конкретно testmail@email.ru на test@mail.ru?
Если так, то просто ищите в строке testmail@email.ru и если нашли, просто выводите в консоль test@mail.ru
Ключ и способ активации значения не имеет. Точнее способ активации влияет на пользовательское соглашение, с которым обычно все соглашаются - там может быть указано, что вы не имеете право влезать в код программы, пользоваться активаторами и другими вещами.
Но вот с точки зрения УК РФ - способ активации не имеет значения - или у вас есть документ, подтверждающий право на использование программы (+ чек если это платная программа), или документа нет, тогда и лицензионный ключ будет нарушением закона.
beem7, я вообще не разработчик =)
Но мне не нравится максимализм и фанатичность.
Просто люди часто используют перегибают палку.
* Используют и понимают слово "говнокод" совершенно некорректно.
* Дрочат на "мегакрасивый код", тратя деньги заказчика на ненужную заранее оптимизацию, при этом через год этот код все равно будет выглядеть говнокодом (если разработчик не стоит на месте)
* Ставят код превыше продукта.
Развиваться нужно, но те, кто считают что всегда пишут крутой код или должны писать сразу крутой код в начале карьеры - видимо очень плохо представляют себе необходимый объем знаний.
Я сталкиваюсь со многими моментами интеграции разных компонентов, которые пишут разные команды. И очень часто вижу, что каждая из команд вылизывает свой код, а потом оказывается в своей интеграции они не договорились о достаточно важных вещах. А отлизанный код оказывается меняьт уже не хочется и сложно, а вместо простой реализации притянуто за уши десяток библиотек, и проблема решается моим скриптиком на баше, который пусть и костыль, но работает надежно и сделать его стоит дешевле, чем оплатить еще один спринт двум командам.
Поэтому считаю что к моему мнению стоит прислушиваться и помнить, что лучшее - враг хорошего.
beem7, Не книжки превращают говнокодера в программиста.
Это больше философский вопрос - либо человек изначально интеллектуален и эрудирован и ищет возможноси себя развить, либо он работает как может, то есть говнокодит без попыток что-то улучшить в себе.
Оба варианта имеют свое право на существование.
И опять таки, непонятно что именно вы вкладываете в слово "говнокод". Если он пишет программу, она РАБОТАЕТ, ему платят за это деньги - значит заказчика устраивает.
DVoropaev, когда ядро подыхает. Почитайте про сигналы.
-15 отправляет сигнал приложению, чтобы оно завершило свои дела и закрылось. Если приложение висит - оно просто не услышит сигнал. Ну или приложение умышленно может его игнорировать перехватом.
-9 перехватить нельзя. Если процесс не может быть убит, значит его держит само ядро (драйвер завис, ядро глюкануло).
Но точно известно то, что все обучение должно быть ориентировано на развитие абстрактного мышления.
Точно известно, что образ мышления развивается при попытке мыслить нужным образом. А это делается исключительно на практике.
Чтобы развить математическое мышление, нужно не читать книжки по математике, а решать математические задачки. Чтобы развить художественный взгляд, нужно не читать книжки по рисованию, а много рисовать.
Чтобы развить программиста - нужно программировать.
"будет просто писать код, как самому заблагорассудится, то получится малоценный говнокодер уровня интерна, даже не джуна"
Говнокодер - это не плохо. Это уже программист. А качество кода нарабатывается практикой и книжками. Но уже после того, как человек хоть что-то пишет.
Сергей Кордубин, Нужно читать как реализована многозадачность в Mbed и как работает процесс шедулер, который распределяет CPU время между процессами. В Linux разделение идет по slice, каждый из которых может быть разной продолжительности (обычно десятки миллисекунд)
Одна милисекунда - очень маленькое время для не реал-тайм программирования.
Банально слайсы времени для разных процессов выделяются десятками милисекунд, в результате даже сработавший таймер может выдать информацию с задержкой.
Astromatics,
"Мой класс Camera - не говнокод, потому что он только что написан и простой. Если в нём будет много говнокода, мне нужно прямо сейчас знать, какого и сколько. Чтобы сделать его заранее. В вопросе это и написано. "
Если вы сейчас его написали и сами оценили и сразу решили, что он не говнокод, то логически - в нем ноль говнокода.
Если вы дадите этот класс проанализировать кому-нибудь другому, все может измениться =)
Артем, в том-то и дело, что нет технологии самой по себе. Есть задача от заказчика, а выбор технологии нужно делать программисту (или в крупных проектах системному архитектору) из списка технологий которыми он владеет и которые лучше подходят под данный продукт.
Поэтому изучить одну технологию - не очень...
Ну так обратите внимание на взаимоисключающие параграфы.