Контакты

Достижения

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

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

Все теги (31)

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

Все ответы (38)
  • Где научиться алгоритмам?

    Почитай книгу «Грокаем алгоритмы. Иллюстрированное пособие для
    программистов и любопытствующих». В нем примеры приводятся на
    Python и объясняются приведенные Вами термины.

    Количество алгоритмов огромно, большинство берет начало из разделов
    прикладной математики. Можно начать с сортировок, а дальше изучить
    остальные базовые.

    Касательно Python, если не приходилось изучать/писать программы с
    использованием стандартной библиотеки collections, то советую
    посмотреть внимательно. Есть реализация множества алгоритмов,
    которые необходимы в жизни при работе. Избавит Вас от повторного
    написания этих алгоритмов.
    Ответ написан
    Комментировать
  • Какие приложения создать для новичка Vue.js?

    Изучаю vue посмотрел несколько курсов, почитал документацию, создал обычный todo list на vue, что писать дальше идей нету =(

    Посоветую добавить функционал в свой вариант todo list, написать тесты, улучшить визуальную составляющую, превратить чисто клиентское приложение в клиент-серверное(можно без бекенда, к примеру через Firebase), ... По функционалу, к примеру, можно добавить возможность создания многоуровнего списка задач, выставления тегов, автоархивирование задач по времени устаревания, заполнение задач по шаблонам (по подобию snippet), разделить списки задач на личные и рабочие, ... Если создавать клиент серверное решение, то появится возможность создавать списки задач для совместной деятельности, синхронизация между устройствами, ...
    К чему все это. Надо учиться доводить проекты до логического конца, приобретать навыки в рефакторинге, учиться улучшать проект и поддерживать на плаву. Такой подход поможет приобрести практические навыки, которые востребованы на рынке труда, а не научиться фрагментарным знаниям и навыкам. "Погружение в глубину", так скажем, приблизит Вас к миру разработок ПО практикуемые в крупных компаниях и экспертов в программировании. Выходите за рамки стандартных шаблонов обучения, доработайте идею проекта и совершенствуте чистоту Вашего кода.
    И напоследок, если в Вы это еще не сделали:
    • Освойте распределенную систему хранения версии - git. Зарегистрируйтесь на одном из популярных сервисов (Github, Bitbucket, GitLab, ...), если хотите, то можно выложить проект даже как open source
    • Начните писать тесты для свох программ. Недавно вышел перевод популярной книги "Тестирование компонентов Vue.js с помощью Jest". Есть так же хорошая стандартная документация на русском языке по тестированию в Vue
    • Пригласите в свой проект друзей и/или знакомых. Не обязательно программистов: переводчиков, дизайнеров, бухгалтеров, юристов и т.д. Будет не скучно и проект обогатится новыми идеями.
    • Идея "Eating your own dog food". Начните использовать свою программу для ведения личных дел или к примеру на работе. Опять же, "подсадите" своих родственников и друзей на Вашу программу. Так Вы не устаните улучшать программу и разработка ускорится в разы.
    Ответ написан
    1 комментарий
  • Как теория графов применяется в программировании?

    Человек Паук, для новичка программиста при обучении основ программирования в теории графов нет необходимости. Это я Вам говорю, как дипломированный математик прикладник с опытом работы в индустрии разработки ПО.

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

    Для новичков, рекомендую "потреблять легкую пищу" при обучении. Основы алгоритмов, методологии программирования (хотя бы императивный подход и ООП), практические навыки работы с инструментами программистов (tooling: IDE, линтеры, VCS, инструменты для сборки и/или упаковщики), технологии (http, ajax, сериализация, ...), ...

    Объясните, пожалуйста, новичку, зачем нужно изучать ее и как и где она применяется.

    На практике, много где применяется:
    1. Не понимая основ графов, можно запросто запутаться и испортить репозитории в git. Точно так же понадобится для анализа дерева зависимостей и разрешения проблем связанных с ним (смотри).
    2. При отладке программ и профилировании зачастую приходится смотреть AST.
    3. Нахождение путей, определение цикличностей и т.д. понадобятся, когда Ваши данные хорошо подходят для представления в качестве графов. К примеру социальные сети, GPS навигация, множество абстракции в компьютерных играх и т.д.
    Ответ написан
    Комментировать
  • Реализации на Python?

    По поводу Jython согласен.
    А Illia Nezhyhai не прав. Cython != CPython. CPython действительно реализация языка, но Cython - это самостоятельный язык, синтаксисом напоминающим микс Python и C.

    >>> Зачем они нужны?
    Cython используют часто для написания компилируемых расширении для Python.
    Преимущество в повышении производительности и понижении потреблении памяти.
    Но может служить и для написания самостоятельных программ.
    Подробнее: https://ru.wikipedia.org/wiki/Cython
    Ответ написан
    Комментировать
  • Низкая производительность компьютера, я полный профан, не знаю с чем это связано?

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

    Проблемы бывают аппаратные и программные. Советы по диагностике аппаратных проблем:
    • Проверьте температуру процессора, мат. платы, видеокарты и т.д. в штатном режиме. Проследите не происходит ли перегрева.
    • Как советовал dollar, проверьте оперативную память. В компьютерах брендов утилита для проверки памяти зачастую встроена в BIOS. Или создайте загрузочный диск на USB носителе или CD/DVD с дистрибутивом LInux (Ununtu, ...). Практических во всех в меню загрузки есть Memtest
    • Посмотрите отчет S.M.A.R.T. о своем диске, возможно происходит деградация диска. В интернете можно бесплатно скачать утилиты для просмотра информации о SMART

    Программные проблемы:
    • Посмотрите журнал ошибок WIndows (Панель управления > Администрирование > Просмотр событий). Службы Windows записывают туда отчет о своей работе. Красными кружочками обозначены проблемы и указывается код ошибки, это поможет найти способ его устранения
    • В консоли (cmd) запустите проверку диска на ошибки. chkdsk c: /f /r Скорее всего потребуется перезагрузка для начала проверки
    • Помимо своего штатного антивируса просканируйте бесплатными сканерами других производителей (cureit, ...). Любой хороший антивирус определяет к примеру 90-97% вирусов, но у разных производителей базы вирусов чуть отличается. Сомнительные файлы проверьте через сайт www.virustotal.com
    • Не советую пользоваться утилитами для чистки и оптимизации проблем. Положительным в ним является то, что не требуется знания для их использования. Негативным фактором служит то, что помимо исправления проблем они вполне могут их и порождать. И еще устанавливает вместе с собой множество ненужных рекламных программ и даже вирусов

    Абсолютно все невозможно предусмотреть и рассказать. Поможет поэтапная проверка и уменьшении области для проверок. Если будете действовать как надо, то будете знать чем проблема не связана.
    Ответ написан
    Комментировать