Ответы пользователя по тегу IT-образование
  • Знания, которые не устаревают. С чего начать?

    @red-barbarian
    Не устаревает:
    1.1. умение понимать и создавать алгоритмы. (попробуйте порешать олимпиадные задачи на тренажере)
    1.2. умение делать систему из сложной простую. Т.е. умение делать из системы существующей в реале некую модель, выделять абстракции, разбивать их. Делать эту модель легко дополняемой и изменяемой. т.е. то что называют архитектура.
    1.3. умение писать код который будет понятен через полгода. или другим людям. Это называют чистым кодом.

    2. Английский язык. )))
    3. Умение учиться.
    4. Желание вникать. (на самом деле это тоже умение)
    остальное добавится.
    Ответ написан
    4 комментария
  • Что делать при таком разбросе знаний?

    @red-barbarian
    касаемо чтения ( не повторяя банальность про необходимость практики и что только она мерило знаний)
    читать нужно минимум два раза. Первый раз бегло. второй вникая. Поэтому пол книги можно бегло прочитать не особо тратя время. И это будет в несколько раз меньше того времени которое нужно потратить на освоение второй половины.
    Ответ написан
    Комментировать
  • Какие книги по SOLID принципам стоит прочитать?

    @red-barbarian
    Принципы, паттерны и методики гибкой разработки на...
    есть и не для c#
    solid это не нечто абстрактное. принципы применяются в контексте гибкой разработки для сохранения жизни проекта при изменении требований.
    невозможно их изучать отдельно.
    второе. есть две крайности теория без практики и практика без теории. эти крайности мешают развиваться.
    Ответ написан
    Комментировать
  • Как наработать опыт в стилистике написания кода?

    @red-barbarian
    В питоне есть красивые решения для типовых небольших задач.)
    что бы их знать, нужно изучать различные кукбуки.
    также библиотеки которые входят в стандартный набор.
    т.е. изучение лямбд, [], {}, map ... На примерах и из документации.

    библиотеки в первую очередь сollections, Functional Programming Module.
    Через это придет опыт написания красивого и выразительного кода.

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

    @red-barbarian
    Если не будет ошибок, ничему не научитесь. )
    С возрастом к своим ошибкам относишься строже, но если подумать, то больше всех ошибок делают дети и они же по уровню способности решать незнакомые проблемы составят конкуренцию любому профессору.
    В общем все нормально.)
    А мозги требуют тренировки.
    Ответ написан
    Комментировать
  • Курсы по java - программированию от GeekBrains и Университета Иннополис? Есть ли альтернативы?

    @red-barbarian
    Уверен что нужно начинать с бесплатных ресурсов. Поэтому автору вопроса можно порекомендовать (учитывая что это его не первый яп) следующие ресурсы:
    -лекции Головача Golovach Courses на youtube - он очень хорошо и подробно подал материал по core, многозадачности и проч.
    -лекции Сергея Немчинского - хорошие лекции по шаблонам, рефакторингу и чистому коду (как помыть кота) и проч.
    -лекции Николая Алеминкова и др.что бы уловить что такое tdd и что такое разработка через тестирование.
    Для практической работы можно порекомендовать ресурсы типа codingbat.com/java
    www.codewars.com
    и др.
    Ответ написан
    Комментировать
  • Где можно практиковаться в программирование на С++ и Java?

    @red-barbarian
    -возьмите свои старые тексты и разберитесь в них. как бы сейчас переписали. все ли понятно. как написать что бы все было понятно с первого взгляда. перепишите их.
    -возьмите текст библиотеки которую применяете. изучите часть. перепишите аналог.
    - читайте тексты плохие и хорошие. что хотелось бы изменить? что понравилось.
    - напишите простую sql базу
    - напишите консольную игру квест.
    - изучите tdd, solid
    - проанализируйте свои тексты, попробуйте выделить части которые можно переиспользовать. перепишите их.

    !тренируйте чтение больше чем писание)
    Ответ написан
    Комментировать
  • Изучение математики через программирование, глупое решение?

    @red-barbarian
    Вообще, это нормальная ситуация.)))
    Я не понимал доказательства теорем из геометрии, не запоминал их, пока не стал разбивать их на части. докажем 1, докажем второе и т.д. Т.е. человеку что бы разобраться в некой системе нужно разбивать систему на части. Понимать как взаимодействуют эти части. Затем разбивать части на подчасти. и понимать их взаимодействие.
    Тоже самое происходит в программировании. функция должна содержать части на одну ступень более низкого уровня чем сама. Человек это хорошо воспринимает и держит в рабочей памяти. Если части на несколько ступеней ниже, то возникает путаница. И сложность.
    Для примера математическая индукция:
    1+2+3+4... +n = n*(n+1)/2
    общий алгоритм состоит из двух частей
    есть некие частные аналогичные случаи P.
    1. доказываем что если верно P(для числа m), то из него следует P(для числа m+1)
    ===n(n+1)/2+(n+1) = (n(n+1)+2(n+1))/2 = (n*n+3n+2)/2=(n+1)(n+2)/2
    2. доказываем что справедлив начальный случай P(1)
    ===1(1+1)/2=1
    На примере есть общая методология из двух частей. И есть на уровень ниже - доказательства частных формул===.
    Так примерно и во всем. Так и надо запоминать решения. Части и взаимодействия. + подчасти и взаимодействия. +...
    Для нетривиальных задач работа мозга немного по-другому. немного.
    Для дальнейшего понимания как запоминать и решать рекомендую курс
    https://www.coursera.org/learn/learning-how-to-learn
    он бесплатный, на английском, но с русскими субтитрами.
    Ведет его женщина математик, которая признается, что в школе у нее не было никаких способностей к математике. (так она думала)
    у нее есть также книга переведенная на русский язык. в курсе есть ссылка.
    удачи.
    Ответ написан
    Комментировать
  • Как снизить потери концентрации внимания?

    @red-barbarian
    1. отдыхать. Т.е. высыпаться, гулять на свежем воздухе, делать простую работу полностью и с увлечением. (на словах очень просто, на деле сложно)
    2. планировать свою учебу и чтение. Т.е. определить сколько время читаем или учимся. когда будет отдых. и т.д.
    3. вероятно главный принцип эффективной учебы/чтения это пересмотр. почитали некую часть, отвернулись, вспомнили основные моменты. обдумали. Представили что кому-то объясняем эту тему. Ум должен увлекаться, прилипать к теме.
    4. Планировать свои дела. Ум не должен быть нагружен работой по определению, что делать через минуту, как делать, где. и тд. постоянные такие вопросы просто его выматывают. И на нормальную умственную работу уже нет ментальных сил. Лучше уделить пол часа и запланировать на весь день. Даже если что-то пойдет не по плану.
    5. Знать цель. Т.е. сознавать мотивацию. Для чего читаем, что хотим и т.д. Концентрацию в Индии примерно описывали так " представь что ты несешь чашу полную воды. Через площадь на которой толпа людей участвует в празднике. Крики шум и т.п. За тобой идет человек с топором. Если ты прольешь хотя бы каплю, то человек сразу отрубит тебе голову." Если приблизить к нашей жизни, то Зачем читать? Что будет если вникнуть в тему? Что будет если не изучить тему? Что будет если постоянно отвлекаться на соцсети и проч. Через неделю, год, десять лет.
    еще советы: посмотреть Максима Дорофеева. Проблема современного человека не в том, что ему не хватает внимания, концентрации, энергии и проч. Проблема в том что он тратит внимание впустую. поверхностно. не вникая. Можно сказать он переконцентрирован, измотан концентрацией на совсем не нужных вещах.
    Из медитации, посоветую випассану.
    Ответ написан
    Комментировать
  • Java ,как составить план обучения и с чего начать код?

    @red-barbarian
    Скачать или смотреть на зомботюбе курсы Головача. Они покроют большую часть плана. Он хорошо объяснял. Мне понравилось.
    Практика. Не только большие проекты.
    Предлагаю такую аналогию.
    Большие проекты развивают кругозор.
    Маленькие задачи тренируют мастерство.
    Это как отработка удара. Нужно выполнить несколько раз одно и тоже, что бы делать это хорошо и на автомате.
    Решать одни и те же маленькие задачи очень полезно. Как поддержание себя в форме.
    Такие банальные советы.
    Ответ написан
    Комментировать
  • Платные онлайн курсы по java JAVA?

    @red-barbarian
    Проблема в изучении не в том, что бы найти хорошее изложение в видео или в книге. Проблема найти хорошего преподавателя который будет заниматься вычиткой ваших текстов. делать ревью.
    Научиться писать не сложно, это можно легко сделать и самостоятельно. Выработать хороший стиль, ясный и выразительный как на уровне названия переменных, так и структуры всей программы, намного сложнее. Здесь нужны живые собеседники и критики.
    Прискорбно, что многие курсы которые афишировали себя как курсы с ревью теряли качество после наплыва клиентов. Отзывы тому подтверждение. (естественно на независимых сайтах.)
    Жаль, но не могу посоветовать именно такие курсы, но хотя бы обозначил направление в котором искать.
    Еще параллельно советую читать книги что-нибудь по теме чистого кода, рефакторинга. Привычку к чистому коду нужно вырабатывать сразу, иначе будет дискомфорт в переучивании.
    Когда программы станут более-менее сложнее, можно обратить внимание на TDD.
    Ответ получился не конкретно по теме, но надеюсь будет полезен.Удачи.
    Ответ написан
    Комментировать
  • Знание которые не устареют через 10-20 лет?

    @red-barbarian
    Не самый опытный в разработке, но в ит не первый десяток, скажу поэтому.
    Технологии меняются и спрогнозировать что-то точно уверен невозможно.
    Из этого нужно развивать умения учиться, умение вникать в новые технологии, умение не выгорать. Заниматься желательно тем что нравится, и развивать способность понимания любой темы до тех пор пока она не начнет увлекать.
    Вообщем, вопрос не в технологиях , вопрос как развить нужные привычки и гибкость ума. Философский такой вопрос.
    Ответ написан
    Комментировать
  • Дистанционное образование. Где качественнее?

    @red-barbarian
    Проблема обучение не в том что бы найти крутую лекцию. Их как раз предостаточно. Как открытых , так и платных. Проблема найти тех кто будет вычитывать твой код. Не просто автоматическая проверка, а вычитка реальным человеком с опытом. С указанием ошибок и направлением развития.
    Думаю , на это и нужно обращать внимание.
    Вопрос: сколько времени уделяется индивидуальной работе с конкретным студентом.
    Ответ написан
  • Стоит ли учить программировать по старинке?

    @red-barbarian
    Есть старая мудрость "чем лучше человек знает с, тем труднее ему будет перейти на с++" )))
    Объясню, если считать с++ улучшенным с, то проблем нет.
    Трудности возникают из-за того, что есть две (+) парадигмы программирования "процедурное" и ооп. Это скорее способ мышления. Мыслить модель которую описываешь как некий алгоритм и данные или как взаимосвязь и взаимодействие объектов. Так вот чем больше привыкаешь к одному мышлению, тем труднее учиться другому.
    сам С направлен на описание системы как данные и процедуры(функции) над ими. Он имеет сейчас свою сферу применения. Контроллеры, драйверы и проч. Также процедурное программирование полезно в разработках алгоритмов.
    Но сейчас рынок захвачен ооп. Т.е. обычные программист это ооп программист.

    Думаю нужно понимать это. Понимать как язык влияет на мышление.
    И будет вам счастье)))
    Ответ написан
    Комментировать