Точка входа в программирование
21.3K subscribers
950 photos
172 videos
1 file
2.49K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Современное IT-образование: эффективные способы получения специальности

Чтобы стать IT-специалистом, существует несколько путей:
— высшее образование в университете;
— онлайн-курсы;
— самостоятельное обучение;
— стажировки в IT-компаниях.

В статье разобраны перечисленные способы обучения. Выберите для себя самый подходящий:

https://tprg.ru/JS54

#советы
Введение в теорию графов

Понятие графов часто встречается в различных областях программирования, например:
— дерево системы контроля версий;
— зависимости компонентов программы;
— постройка маршрута на карте;
— нейронная сеть.

Статья детально разбирает ключевые элементы теории графов:

https://tprg.ru/sO6r

#алгоритмы
Стек как структура данных — что нужно знать

Стек — это динамическая структура данных, которая имеет принцип LIFO (last in, first out) — «последний зашёл, первый вышел».

Самый классический пример стека — стопка тарелок: вы сможете взять только ту тарелку, которая лежит на самом верху.

Подробнее об этой структуре данных:

https://youtu.be/B3VHHfMW0Pg

#алгоритмы
Обустраиваем рабочее место с комфортом

Своё рабочее место нужно тщательно продумать. И вот почему:

1. Программист сидит за компьютером большую часть времени. И ваш организм не скажет «спасибо», если будете сидеть в неправильном положении.
2. Вас ничто не должно отвлекать от кода. Поэтому всё необходимое должно быть под рукой.

Подобрать элементы рабочей зоны помогут советы из нашей статьи:

https://tprg.ru/a8Pi

#советы
Vidium ищет фронтенд-разработчика на Vue.js

Ребята разрабатывают интересный проект — Web Live Broadcast платформу для организации IT-мероприятий. И им нужен Vue-разработчик, который возьмётся за разработку компонентов расписания и чата:

https://tprg.ru/IGMT

По условиям: удалёнка с зарплатной вилкой 120-180 тысяч рублей. Если понадобится, то компания поможет с обучением и оплатит необходимые курсы.

#вакансии
ООП простым языком

Большое видео по объектно-ориентированному программированию, в котором на примере кода на TypeScript разобраны базовые понятия и принципы ООП:

https://youtu.be/-6DWwR_R4Xk

Что интересно, автор простым языком объяснил темы, на которые редко обращают внимание новички — внедрение зависимостей и паттерн singleton.

#ооп
Горячие клавиши для Visual Studio Code

VS Code обладает множеством меню, но за плотным написанием кода вам надоест каждый раз искать в меню нужный пункт. Поэтому опытные программисты пользуются горячими клавишами или хоткеями (hotkeys).

Для лучшего запоминания хоткеи в статье дополнены наглядными гифками:

https://tprg.ru/ZpRf

#инструменты
Ищите подходящую для себя тему, подписывайтесь и прокачивайтесь:

— мобильная разработка: @mobi_dev
— разработка на Python: @zen_of_python
— веб-разработка: @tproger_web
— нейронные сети: @neuro_channel
Бесплатный онлайн-курс «Алгоритмы: теория и практика. Структуры данных»

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

https://stepik.org/course/1547/promo

#курсы
Изучаем динамическое программирование на примере задач

Не стоит пугаться понятия «динамическое программирование» — это всего лишь способ решения задачи. В его основе стоит принцип разбиения крупной задачи на более мелкие подзадачи. Так мы можем вычислить всего один раз результат подзадачи и затем использовать в итоговом решении.

Однако динамическое программирование подходит не всегда. В статье разобраны 3 задачи с одномерными массивами, в которых подход действительно полезен:

https://tprg.ru/DUtN

#задачи
Что почитать: «Программист-фанатик» Чеда Фаулера

Эта книга — не про языки программирования, алгоритмы или фреймворки. Она подробно рассматривает другую сторону работы программиста — отношения с коллегами, выбор приоритетов, отсутствие мотивации и не только.

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

Если у вас нет времени на чтение (в книге порядка 200 страниц), то вы можете пробежать глазами конспекты, где собраны основные мысли книги: часть 1, часть 2, часть 3, часть 4.

#книги #советы
Видеокурс по CSS Flexbox

CSS Flexbox — это способ компоновки элементов, в основе которого лежит идея оси. Благодаря ему элементы можно расположить вдоль основной и поперечной осей, вертикально или горизонтально.

Курс научит использовать Flexbox для создания макетов:

https://youtu.be/XXlw7TUxRVY

#css #веб #фронтенд
Самоучитель по Java: изучаем синтаксис языка за 30 минут

За 30 минут невозможно научиться программированию на Java (как и на любом другом языке). Однако за это время вы можете освоить самый базовый синтаксис и лучше понять принципы Java-кода:

https://tprg.ru/0sUI

#java
Ключевые слова static и final в Java

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

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

Подробнее о static и final: https://tprg.ru/N6e1

#java
Junior- и Middle-разработчик — в чём разница и как ими стать?

Описания вакансий Junior- и Middle-специалистов могут быть схожи. Но в действительности компании ожидают совершенно разные уровни навыков:

— для Junior-разработчика важно поверхностно знать стек необходимых технологий и быстро учиться;
— Middle-разработчик считается уже сформированным специалистом, и от него ждут глубокого знания стека, умение работать в команде и принимать самостоятельные решения.

Подробнее о ключевых различиях «джуна» и «мидла» рассмотрено в статье: https://tprg.ru/Xeqz

#советы
Видеокурс по Node.js

Node.js — фреймворк для разработки на JavaScript серверной части веб-приложения. Если вы решили его изучить, то на YouTube есть большой курс, в котором:

— разбираются базовые концепции и встроенные модули, которые активно используются при разработке сервера;
— рассмотрены механизм коммуникаций между сервером и браузером;
— объясняется, как создать базовый роутинг на чистом Node.js;
— рассказывается о работе с динамичными данными с помощью шаблонизатора Node.js;
— показано, как написать новостное приложение с поддержкой CRUD-операций и хранением данных в MongoDB, а также как выложить его на Heroku.

#веб #бэкенд #js
Как пройти собеседование в Яндекс и не пожалеть об этом

В «Яндекс» стремится попасть множество начинающих разработчиков. Но стоит ли оно того? Действительно ли работа в «Яндексе» так хороша, что она стоит нескольких сложных собеседований?

Своим опытом прохождения собеседования и работы в компании поделился читатель Tproger:

https://tprg.ru/PW8C

#собеседование
Опыт изучения Java с нуля: полезные книги, курсы и ролики

Java-разработчик рассказал о том, какие материалы ему пригодились в процессе изучения Java. Быть может, найдёте что-то для себя:

https://tprg.ru/4C9Z

#java
Главное — не допустить утечки кода крабсбургера
Могут ли игры быть полезны программистам?

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

Читатель Tproger рассказал о 3 интересных играх, в которых можно и расслабиться, и немного прокачать мышление:

https://tprg.ru/IRxO