• Эффективное обучение?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    отличный способ преодолеть фазу обучения в которой Вы увязли - писать программы для себя
    (ну или не только для себя, важно - решать реальную задачу, пусть самую маленькую, но полезную себе или кому то рядом + нужно выбирать то что интересно)

    для начала простые:
    - консольные программы для манипуляции с файловыми обьектами - специфические поиски, бекапирование, поиск мусора для удаления (с этим осторожно ;).. главное что то из того что Вам нужно или интересно
    - консольные программы, которые ходят в интернет и что то там достают.. что то такое что Вы действительно каждый день смотрите на главной странице яндекса или любимой соц сети - температуру воздуха, курс доллара.. все что угодно, но лучше всего - то что вы действительно часто смотрите для себя.. так интереснее..
    - простейшие винформ программы - пересчет чего то во что то.. главное того, что вы действительно часто считаете
    - совместите добычу инфы с вебстраницы с выдачей в винформу
    - напишите программу которая прячется в трей + в фоне проверяет интересную для вас инфу на вебстраницах, и по условию выдает всплывающее сообщение об изменении значения... или просто по интервалу времени - текущее значение
    - напишите кликер для какого то часто выполняемого Вами в вебе действия, используя встраиваемый браузер в винформ и/или WPF

    припомните типовые любые действия которые Вы часто производите за компьютером, и иногда казалось что их можно автоматизировать - и попробуйте это сделать
    (если рядом есть бухгалтеры - попробуйте автоматизировать запуск архивирования базы 1С, или написать плагин для Excel - все это, и многое подобное очень весело делается на C#)

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

    главное - это переместить внимание от чужих абстрактных задач в учебниках, на что то свое...

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

    Вы быстро заметите, что консольные программы удобны до тех пор, пока решаю одну единственную задачу и выдают инфу по ней, что базовых примитивов винформ/ВПФ не хватает для создания интерфейса даже всего лишь чуть более продвинутого чем примитивный..
    (на этом этапе рекомендую обратить внимание Syncfusion - хотя они у нас несколько менее известны чем DevExpress или Telerik, зато у них есть бесплатная лицензия, при этом библиотеки компонентов весьма богаты, поддерживаю все платформы MS C#, и еще прилагается огромная коллекция метро икон проф качества и тоже...)

    ps
    пример полезных подручных средств - относительно недавно я отказался от инсталлрованных хрома и фаерфокса - загружаю периодически хромиум, а фокс и портабельный умудряется себя апдейтить..
    кроме того у меня более чем по одному профилю для обоих браузеров, скажем так довольно много..
    и задаю я их в командной строке..

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

    удачи в обучении! ;)
    Ответ написан
    Комментировать
  • Эффективное обучение?

    @Elizavetta
    Matroid: gamedev/js-разработка
    Это и есть основная работа разработчика - разгребать всякие несостыковки, версии, баги, отлаживать.
    появляются задачи, ошибки, куча исключений, решить которые не получается долгое время, приходиться лезть на форумы, искать подобные решения

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

    @VanKrock
    - Попробуйте почитать или посмотрите видео про паттерны проектирования если не читали - это довольно полезно.
    - Посмотрите как пишут и организовывают код в других проектах возьмите интересные проекты на GitHub, склонируйте и детально изучите.
    - Почитайте про Dependency Injection и IoC контейнеры, это поможет лучше понимать код на GitHub
    Вообще я бы советовал сначала прочитать книгу Макконела "Совершенный код" попробовать предложенное на практике, попробовать то, что я написал выше и снова прочитать "Совершенный код".
    Ответ написан
    Комментировать