Все написано на моих сайтах.
Контакты
Местоположение
Россия, Алтайский край, Барнаул

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (31)

Лучшие ответы пользователя

Все ответы (34)
  • Какие книги/курсы посоветуете по администрированию серверов?

    @dzolotarev
    Этот мир крэшится - я собираю дампы
    Вот несколько полезных ссылок:

    Ну и Google с командой man еще никто не отменял. Кроме того, все познается на практике. Книги читать долго и, по большей части, скучно (лично меня от них в сон клонит). Начните с практики. Поставьте себе задачу, например, организовать DNS-сервер или Web-сервер на том же Debian и отсюда уже копайте.
    Ответ написан
  • Книга о том как правильно должен работать программист?

    @dzolotarev
    Этот мир крэшится - я собираю дампы
    1. Да никак. Весь этот тайм-менеджмент - фигня полная, ни разу не работает. Просто делай свою работу и не забывай про себя и семью
    2. Баги будут всегда, человек не может не делать ошибок. Главное, по возможности, их исправлять вовремя и не повторять
    3. По идее, этим должен заниматься тот, кто ставит задачи. Твоя задача: выполнять их по степени важности и срочности. А вообще - просто делай свою работу.

    Книжек полно, если нечем заняться в свободное время. Но есть куча более интересных и полезных занятий, чем читать эту лабуду.
    Ответ написан
  • Как правильно составить план самообучения?

    @dzolotarev
    Этот мир крэшится - я собираю дампы
    Нравится C#, ну так и учите его. Охота в геймдев - учите Unity, напишите небольшую игру.
    Но лучше всего учите теорию: алгоритмы, принципы проектирования, архитектуру ЭВМ, дискретную математику, матлогику и теорию алгоритмов, вышку и физику (для геймдева очень полезно). Английский тоже очень пригодится.
    Теория важнее языка, потому что языки приходят и уходят, и учатся, как правило, по документации, примерам и на собственной практике. Грамотный специалист должен уметь выбрать язык под конкретную задачу, поэтому думайте о языке, как об инструменте, каковым он и является.
    На популярность ориентироваться тоже не стоит: это очень изменчивый критерий.
    Книги выбирайте, основываясь на годе издания и отзывах и лучше читать в оригинале, если язык позволяет. Чем свежее книга, тем лучше, но учитывайте отзывы: книга может быть свежая, но бестолковая.
    По C# обязательно надо прочитать Джеффри Рихтера, никто больше не даст глубокого понимания того, как это все внутри устроено. По крайней мере, мне в свое время его книга очень помогла.
    Еще стоит читать "Совершенный код" Макконелла, "Рефакторинг" Фаулера, "Банду четырех", книги Дяди Боба очень хороши, например, "Чистая архитектура". Все это даст понимание, как проектировать и разрабатывать ПО.
    Для общего развития (но абсолютно необязательно) можно почитать "Мифический человеко-месяц" и прочую литературу подобного рода, это если есть свободное время.
    По алгоритмам, безусловно, Кормен, можно начать с его "Введения в алгоритмы", если основная книга покажется слишком сложной. Скиена и Род Стивенсон очень хороши.
    По архитектуре Таненбаум, книга так и называется и ее достаточно.
    Дискретная математика - Хаггарти, тоже достаточно, дальше сами разберетесь, куда двигаться.
    По вышке и физике берите советских авторов, например, "Курс высшей математики" Смирнова, Ландафшица. Но это, если ориентируетесь на геймдев, обычному разрабу вышка и физика постольку поскольку. А в вебе ни то ни другое вообще не нужны.
    По устройству ОС можно почитать Руссиновича, этого будет достаточно, поскольку C# - это Windows. Захотите углубиться в теорию и практику на примере Minix: Таненбаум.
    По сетям Олиферы или Таненбаум. Обе хороши, выбор - дело вкуса.
    И практика, практика и еще раз практика. Ни одна, даже самая лучшая книга, вас ничему не научит, если не будете практиковаться. Есть куча сайтов с задачами, берите и решайте.
    И учитесь пользоваться поиском. Все вышеизложенное легко ищется в том числе и на тостере.

    PS: хочу дополнить прекрасной статьей на хабре, которую прочитал только что: https://habr.com/ru/post/456342
    Ответ написан
  • Как перестать говнокодить и принимать неверные архитектурные решения?

    @dzolotarev
    Этот мир крэшится - я собираю дампы
    Если вкратце - никак.
    А теперь поясню. Возможно, конечно, если вы работаете долгое время в одной области, на одном языке, решаете однотипные задачи, со временем рука набьется и вы сможете просто посмотрев на код, определить степень его говняности.
    Но это идеал, который, как известно недостижим. На деле жизнь швыряет вас из одной области в другую, из одного языка в другой, частенько не забыв по дороге пару раз приложить обо что-нибудь третье (это из личного 10-летнего опыта, да). И на каждом месте работы у вас будут задачи, которые вы прежде не решали и вообще понятия не имеете как решать.
    А бизнесу пофиг на это все, ему надо просто чтоб работало и вот-прям-щас, а ещё лучше - вчера. Им плевать на то, что вы, как уважающий себя инженер, хотите сделать свою работу как можно качественнее. Им надо быстро. А "качественно" в большинстве случаев несовместимо с "быстро". И вот тогда приходится идти на компромисс с самим собой и говнокодить, оставляя себе пометку исправить это в будущем, когда появится больше времени.
    Мораль сей басни такова: говнокод - это, конечно, плохо. Но если вы в таких условиях, когда без него не обойтись, говнокодьте осознанно. Говорите себе: "я знаю, что пишу в этом конкретном месте говнокод, но мне надо быстро закрыть таску. Потом я это исправлю". Можно ещё добавить от себя про гребаных капитализдов. И заведите задачу в трекере на исправление своего говнокода, или в коде TODO оставьте. Главное - осознавать, что в этом месте вы пошли на компромисс с самим собой.
    А по поводу джунов, миддлов и других неведомых зверей... А судьи кто? Кто определяет джун вы, миддл или ещё кто? Как здесь уже писали у всех свои критерии оценки. И нигде эти критерии не формализованы. Это в далёкой великой стране были программисты 1-го и т.д. разрядов.
    На мой взгляд, все эти джуны и миддлы - писькомерство сплошное. Главное - твои инженерные навыки, то, как ты умеешь решать задачи без привязки к языку и окружению. А то сегодня писал системный софт на плюсах, завтра уже пишешь распределеные сервера на эрланге, попутно окунувшись в десктоп. А послезавтра - вообще бэкенд на Go, по дороге вляпавшись в С# и даже поадминив линукс-сервера и понастраивав телеком-железки. И вот как тут оценить, джун ты, миддл или ещё какая неведома зверушка? Мне кажется - никак.
    Поэтому мой совет: не забивайте голову ненужной ерундой на тему кем себя называть.
    Ответ написан