Ответы пользователя по тегу IT-образование
  • Полезно ли долго (и вообще) «велосипедить» в программировании?

    ApeCoder
    @ApeCoder
    Закон дырявых абстракций

    Из-за закона дырявых абстракций вот что получается: придумает кто-нибудь чудесный новый генератор кода, с которым у программиста работа наконец-то станет эффективной, а ему и говорят: «Сперва научись делать это руками, а потом уж пользуйся генератором, чтобы сэкономить время». Генераторы кода, абстрагирующие разработку кусков кода, так же дырявы, как и все прочие абстракции. А единственный компетентный способ залатать эти дыры — выучить, как работают абстракции, и какие подробности они скрывают. Итак, абстракции экономят наше рабочее время, но не экономят учебное время.

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

    ApeCoder
    @ApeCoder
    Можно абстрагироваться а потом вернуться когда станет актуально. Главное понять примерно про что там и в какой момент это надо будет читать.
    Ответ написан
    Комментировать
  • Как вы ориентируетесь в чужом коде?

    ApeCoder
    @ApeCoder
    Читать, обращая внимания на имена функций и переменных. Рисовать схемы (диаграмма классов, потолков данных и т.д). Если можно переименовывать по-понятному.

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

    ApeCoder
    @ApeCoder
    Люди могут разобраться даже без сорцов - Марк Руссинович разбирался в свое время по утекшим отладочным символам от винды (см. кстати, его книжку "Windows internals").

    Есть "закон дырявых абстракций" по которому всегда найдется ситуация, когда возникает необходимость знать детали реализации а не только интерфейс. Например, часто такое возникает при суровых требованиях к быстродействию либо когда что-то идёт не так.
    Ответ написан
    Комментировать
  • Хочу стать хорошим программистом,как быть?

    ApeCoder
    @ApeCoder
    Но причина в том что я не могу сам написать какой то средненький проект со всеми ООП,просто не могу передать свои мысли в код,даже когда читаю чужой код не понимаю почему он сделал так,почему меня этому не учили в курсах, где же брать информацию что бы понимать это АААААА, и из-за этих мыслей начинаю психовать .


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

    Во-вторых, во многих делах есть знания, а есть "беглость" - способность быстро воспользоваться теми вещами которые знаете. Например, говорить на английском можно уметь даже имея небольшой словарный запас и тупить заучив словарь. Попробуйте написать что-то простыми средствами. Пусть без ООП.

    В-третьих, не паникуйте, все всему учились. Даже чтобы научиться ходить надо много много раз упасть.
    Ответ написан
    4 комментария
  • Как изучать Базы Данных? С чего начать? Какой СУБД выбрать? Что читать? Где искать информацию?

    ApeCoder
    @ApeCoder
    Ответ зависит от того, на какой бекэнд стек вы будете ориентироваться. А это зависит от того где бы будете искать работу.

    Для выполнения sql запросов нужна какая-то СУБД хотя бы даже встроенная типа sqlite.

    Составной вам надо выбрать СУБД которой вы будете учиться - oracle, postgresql, mysql, mssql.

    Вторая и третья бесплатные и можно поставить на ноут, у четвертой есть developer edition, которая тоже бесплатная для целей изучения.

    У некоммерческих БД меньше всяких возможностей, но для мелких вебпрректов они больше используются.

    Если хотите знать глубоко можно начать с теоретических основ реляционной алгебры и параллельно изучать что-то на примере.

    Можно поискать в интернете "учебник по [название СУБД]" или "[название СУБД] tutorial" так же разобраться что такое индексы, нормальная форма, инфологическая модель, физическая модель.
    Ответ написан
    Комментировать
  • Насколько эффективны Codewars и/или CodinGame для практики?

    ApeCoder
    @ApeCoder
    Это зависит от того, какая будет практика. Но с другой стороны, практика зависит от того, что вы знаете. В CodinGame часто к задаче прикладывают ссылки на алгоритмы которые надо использовать (например A* для поиска пути, нейросети и генетические алгоритмы) просто надо пройти элементарные уровни и дойти до чего-то

    Сайты полезны тем, что стимулируют за счет геймификации и соревновательности.

    В принципе так же можете присоединиться к опенсурсному проекту или придумать себе задачу сами, решать задачи с собеседований (например, иногда яндек публикует), пройти летнюю школу или сделать учебный проект.
    Ответ написан
    Комментировать
  • Как стать .net middle, с уклоном в веб?

    ApeCoder
    @ApeCoder
    Попробуйте в свободное время решить задачу уровнем выше. Например, если вам надо исправить ошибку, подумайте, как отлавливать такие ошибки вообще, что сделать чтобы она не возникала больше. Может надо что-то изменить в организации? Написать инструмент статического анализа? Применить паттерн? Обучить кого-то? Сделать рефакторинг?

    Постарайтесь провести анализ не только на техническом уровне но и на организационном. Обсудите с коллегами за обедом. Поищите со написано в книжках по этому поводу.

    Подумайте какие ваши идеи применить легко, так чтобы они не требовали усилий и все согласились?
    Ответ написан
    Комментировать
  • Какие книги полезны для повышения эффективности одного программиста?

    ApeCoder
    @ApeCoder
    • "Рефакторинг: улучшение существующего кода"
    • "Программист-прагматик"
    • "Эффективная работа с унаследованным кодом"
    • "Чистый код"
    • "Code complete"
    Agile, scrum, kanban наверно тоже больше для команд .


    Общий подход может применяться и индивидуально. Еще можно прочитать про Getting Things Done
    Ответ написан
    Комментировать