20 полезных навыков, которые можно освоить за 3 дня

2
64548

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

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

1. Парсер сайтов

Создать программу с парсингом сайтов и выводом нужной информации в удобном фрейме. Эта возможность позволит быстро мониторить новости, погоду и другие важные события. Реализовать несложно, а время экономит ощутимо.

Рекомендуем посмотреть «Всё о парсинге сайтов на Python».

2. Vim редактор

Освоить линуксоидный Vim редактор, который стал более функциональным за счет расширений и надстроек. Vim нельзя отнести к интуитивно понятному, поэтому обучение необходимо. Поддерживает 2 режима ввода (текстовый и командный), между которыми можно переключаться.

Рекомендуем посмотреть «Vim: 7 привычек для эффективной работы с текстом».

Vim редактор

3. Многофункциональный калькулятор

Разработать свой калькулятор с простыми операциями, матрицами, векторами и всем, что необходимо кодеру; добавить сингулярное разложение, метод наименьших квадратов и возможность вычислить обратную матрицу. Незаменимый инструмент для людей, которые часто сталкиваются со сложными расчетами, но также подойдет и в повседневной жизни.

4. Освоить одну из распределенных баз данных

Если вы еще не освоили SQL, сделайте это для начала. Базы данных используются везде, начиная от веб-приложений и заканчивая искусственным интеллектом. В продакшене используются распределенные базы данных, такие как MySQL или PostgreSQL. Также важно ознакомиться с теоремой CAP, алгоритмом MapReduce.

Рекомендуем посмотреть «SQL за 20 минут».

5. Освоить extends в Java (swing)

Навыки программирования с extends Java упростят работу с фреймами и панелями: class Frame extends JFrame/JPanel. С таким подходом не нужно задавать новый JFrame и всякий раз прописывать JFrame.set*, Jframe.add*. Достаточно просто использовать set* или add* в коде. На первый взгляд, улучшение незначительное, но в работе с огромным количеством элементов экстендить классы в Java не помешает.

extends Java

Рекомендуем посмотреть «6 книг по Java для программистов любого уровня».

6. LaTeX, BibTex, pgfplots

TeX — язык для вёрстки текста с применением научного подхода, для серьёзных людей. LaTeX — макросы для TeX’а. TeX был изобретён и популяризован знаменитым программистом/математиком Дональдом Кнутом — если не отцом, то во всяком случае дедушкой всего нынешнего программирования. Навык в LaTeX позволит быстро создавать PDF-файлы, в которых могут содержаться математические формулы, код, графики.

7. Учимся проходить собеседование

Подготовиться к собеседованию, найдя в сети и выполнив ТЗ любого работодателя на том языке, который хуже всего изучен. Это позволит ознакомиться с общими требованиями на рынке IT-услуг и усовершенствовать навыки программирования.
Рекомендуем посмотреть «Стандартные задачи на собеседовании».

8. Linux

Научиться основам работы с Linux. Linux — одна из наиболее популярных операционных систем для разработки, часто используемая для удаленных серверов. Также дистрибутив Kali Linux часто используется хакерами и специалистами в информационной безопасности.

навыки Linux

Рекомендуем посмотреть «10 лучших видеокурсов для изучения Linux».

9. Основы теории графов

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

10. Система контроля версий

Научиться работать с одной из VCS (например, система контроля версий Git). Такой инструмент страхует от ошибок, так как позволяет произвести откат в том случае, если изменения в программе не привели к желаемому результату, и нужно вернуться на несколько этапов назад.

Рекомендуем посмотреть «Гайды по работе с Git».

11. Реализовать один из алгоритмов машинного обучения

За 3 дня можно освоить какой-нибудь алгоритм машинного обучения и его реализовать с нуля: прочесть CSV-файл, создать обучающее и тестовое множества, запустить алгоритм с перестраиваемыми параметрами и простой вывод из релевантной статистики.
Рекомендуем посмотреть «Основы машинного обучения за неделю».

12. Научиться пользоваться важными ресурсами

Завести профиль на сайте Stack Overflow и его русскоязычном аналоге Hashcode, после чего научиться пользоваться этими системами вопросов и ответов. Кто-то найдет полезные подсказки и советы, а кто-то получит бесплатную практику.

Stack Overflow

13. Изучить ООП/шаблоны проектирования

Если вы знаете ООП, сразу изучайте шаблоны проектирования. Они часто используются в индустриальном коде, об их знании часто спрашивают на собеседованиях. Освоив их, вы станете лучше как специалист.
Рекомендуем посмотреть «3 лучших книги по объектно-ориентированному программированию» и «4 лучших книг о шаблонах проектирования».

14. Основы JavaScript

JavaScript – самый популярный язык программирования на Github. После появления node.js, JavaScript кроме как технологии, используемой для фронтенда, стал активно применяться в создании бекенда и консольных утилит.
Рекомендуем посмотреть «Изучение JavaScript с нуля» и «Подборка бесплатных ресурсов для изучения Node.js».

15. Сортировка

Освоить несколько полезных сортировочных алгоритмов. Систематизация делает работу проще, а жизнь кодера – в разы легче.

16. Работать в командной строке

Работа в командной строке позволяет существенного ускорить работу и является необходимым навыком для работы с удаленным сервером. Часто умение работать в терминале фигурирует в требованиях к различным вакансиям.

17. Тестинг

Научиться разрабатывать эффективные тесты для кода. Это сведет к минимуму возможные ошибки.

18. Python

Понять, как используется генератор списков в Python. Да, это «синтаксический сахар», без которого можно обойтись, однако с генерацией намного удобнее. Прочтите о встроенных функциях в питон и поймите, что каждая делает, предварительно поигравшись в консоли интерпретатора. Освойте модель itertools. Начните играть в CheckIO.

генератор списков в Python

Рекомендуем посмотреть «9 Youtube-каналов для изучения Python».

19. AWK, sed и grep

Поработать с AWK. Это неплохой C-подобный язык, который используется в bash скриптах. sed — потоковый текстовый редактор (а также язык программирования), применяющий различные предопределённые текстовые преобразования к последовательному потоку текстовых данных. Он и grep позволят вам сэкономить массу времени для обработки текстовой информации на сервере.

20. Регулярные выражения

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

Рекомендуем посмотреть «Регулярные выражения: 5 сервисов для тестирования и отладки».




2 Комментарии

  1. Парсер сайтов..освоить или написать за три дня?Написать с нуля за три дня нормальный парсер вряд ли получится, при условии что язык не знаешь.
    Многофункциональный калькулятор?За три дня и три ночи, разве что..
    «Углубить знания» не является полезным навыком, а является полезным действием. Это как «Стрелять метко» и «пользоваться оружием».
    Машинное обучение за 3 дня..Ха ха..
    JavaScript за три дня, да?Серьёзно?Правда что ли?Ещё и с нодой?А ассемблер тогда за какой срок, за две недели?

  2. Почему некоторые разделы отсутсвуют даной статьи??
    Например: 3. Многофункциональный калькулятор

    Разработать свой калькулятор с простыми операциями, матрицами, векторами и всем, что необходимо кодеру; добавить сингулярное разложение, метод наименьших квадратов и возможность вычислить обратную матрицу. Незаменимый инструмент для людей, которые часто сталкиваются со сложными расчетами, но также подойдет и в повседневной жизни.
    И 6. LaTeX, BibTex, pgfplots
    Ссылки нету.