Точка входа в программирование
20.1K subscribers
1.27K photos
220 videos
2 files
2.79K links
Фундаментальные знания по основам программирования

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Подборка актуальных вакансий для QA-специалистов

QA Engineer (FR, Manual, Desktop)
Где: Москва, можно удалённо
Сколько: До 90 000 ₽

Тестировщик (анализ и восстановление данных)
Где: Санкт-Петербург, можно удалённо
Сколько: От 100 000 до 120 000 ₽

QA Automation Engineer
Где: Санкт-Петербург, Москва, Красноярск
Сколько: От 100 000 до 250 000 ₽

Эксперт в автоматизации тестирования (Web)
Где: Санкт-Петербург, Москва, Липецк
Сколько: От 100 000 до 250 000 ₽

Senior QA Automation (Java)
Где: Красноярск, Санкт-Петербург, Москва
Сколько: От 100 000 до 350 000 ₽

QA Engineer (Mobile)
Где: Удалённо
Сколько: До 120 000 ₽

Старший инженер по тестированию
Где: Санкт-Петербург
Сколько: От 150 000 до 250 000 ₽

#вакансии #работа
5 шагов к быстрому изучению программирования

Чтобы стать программистом, недостаточно прочесть книгу с основами. Вам необходимо много практики, чтобы сформировать своё мышление и научиться писать собственный код.

Вот 5 шагов, которые помогут вам освоить программирование:
1. Изучайте примеры кода.
Примеры кода из обучающих материалов помогают понять, как устроена программа, а также как на практике работает синтаксис языка.

2. Запускайте изученные примеры кода.
Вы лучше усвоите примеры кода, если напишите их вручную в среде разработки и запустите. Заодно вы получите ощущение того, что вы достигли небольшой цели.

3. Начните писать свой код как можно раньше.
Поначалу попробуйте изменить код из примеров, например добавить функцию. Затем попробуйте реализовать самостоятельно простенькие задачи.

4. Научитесь использовать отладчик.
Отладчик — лучший друг программиста. Он покажет, в какой строке кода допущена ошибка, и даже может подсказать, как её исправить.

5. Гуглите нужные материалы.
Столкнулись с проблемой? Поищите в Интернете вариант решения. Вам доступно множество бесплатных ресурсов.

Подробнее о шагах: https://tprg.ru/s5pm

#советы
👍1
Чем отличается C++ от C#?

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

Статья поможет разобраться, какой из двух языков подойдёт именно вам:

https://tprg.ru/Fq4z

#cpp #csharp
Основы Python для начинающих

Хотите научиться программировать? Присмотритесь к курсу на YouTube по основам Python:

https://tprg.ru/EGpT

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

#python
Оценка сложности алгоритма проще, чем кажется

Если вы изучали различные алгоритмы (например, сортировки массивов), то наверняка встречали запись в духе O(n*logn). Это и есть оценка сложности алгоритма. Она показывает, насколько быстро растёт сложность алгоритма с увеличением размера входных данных.

В статье разбираются основные порядки роста, а также что нужно замерять для оценки сложности: https://tprg.ru/LQI2

#алгоритмы
Создаём простую стрелялку на Python

Реализация интересного проекта замотивирует вас изучать программирование. А создание игры даст вам самый наглядный результат, ведь вы сможете сыграть в неё сами и показать друзьям.

Предлагаем начать с простой стрелялки, которую можно реализовать с помощью Python и библиотеки pygame:

https://youtu.be/D2ytZevQJzA

#python
👍1
Топ лучших книг по Java для начинающих

В подборке вы найдёте 10 книг по Java разного уровня — от руководств для начинающих до полноценных справочников и нестареющей классики. Советуем начать с одной из первых трёх книг:

https://tprg.ru/wZ4f

#книги #java
Что такое разработка: объяснение для новичков

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

В одной статье собрана самая необходимая информация по основным понятиям на примере JavaScript:

https://tprg.ru/TMPR

#советы
Пишем Telegram-бот для учёта расходов на Python

Готовы к реализации проекта, который не только прокачает ваши навыки программирования, но и принесёт пользу?

Попробуйте создать бота для учёта расходов. При этом проект будет серьёзным: с подключённой базой данных SQLite и в Docker.

Держите в помощь гайд:

https://youtu.be/Kh16iosOTIQ

#python
Подборка актуальных вакансий для начинающих специалистов

Manual QA Engineer
Опыт: От 1 года
Где: Москва, можно удалённо
Сколько: От 120 000 до 160 000 ₽

QA Engineer
Опыт: От 1 года
Где: Москва, можно удалённо
Сколько: До 90 000 ₽

Аналитик продукта / данных
Опыт: От 1 года
Где: Санкт-Петербург, Москва, Липецк
Сколько: От 100 000 до 150 000 ₽

Программист C# / C++
Опыт: Можно без опыта
Где: Санкт-Петербург, можно удалённо
Сколько: От 120 000 до 190 000 ₽

Frontend-разработчик (Vue / Electron / Cordova)
Опыт: От 1 года
Где: Москва, можно удалённо
Сколько: По итогам собеседования

#вакансии #работа
Вложенные классы в Java

В Java можно реализовать класс внутри другого класса, и его называют вложенным. Обычно это требуется, когда классы логически связаны друг с другом.

Существует 4 типа вложенных классов:
1. Статические классы привязаны к классу, а не объекту.
2. Нестатические или внутренние классы привязаны к конкретному экземпляру, а не к классу.
3. Локальные классы похожи на внутренние, но могут быть определены в любом блоке кода.
4. Анонимные классы не имеют имени и создаются уже внутри экземпляра.

Подробнее о вложенных классах: https://tprg.ru/JyXC

#java #ооп
Научитесь использовать Git как true программист

Нашли крутой иллюстрированный гайд в двух частях, который поможет освоить систему контроля версий Git:

1. Как сделать коммит.
Коммит хранит в эффективном виде определённое состояние всех файлов. Благодаря коммитам вы можете легко откатиться на предыдущую версию, если код сломается.

2. Ветки и слияние веток.
Ветки в Git позволяют объединить коммиты, где изменяются файлы, и отделить их от основной ветки.

#git
Создание и обход двоичного дерева, а также реализация на JavaScript

Двоичное дерево состоит из корня (верхний элемент), внутренних узлов и листьев (узлы без потомков). Оно подчиняется определённым правилам, благодаря чему происходит быстрый поиск элементов.

Статья поможет реализовать на JavaScript двоичное дерево и организовать обход его узлов:
https://tprg.ru/09wZ

#алгоритмы #js
Как вычислить числа Фибоначчи?

На собеседовании по алгоритмам могут попросить реализовать вывод ряда Фибоначчи. Он строится по следующему правилу: первые два элемента равны 0 и 1, а каждый последующий элемент равен сумме двух предшествующих.

В статье показано, как вычислить числа Фибоначчи на Java тремя способами — циклом, рекурсией и с помощью Stream:

https://tprg.ru/sAUb

#алгоритмы #java
Для чего нужна отладка кода?

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

А поможет в изучении видео, в котором рассказано про основы отладки на примере Visual Studio:

https://youtu.be/_ZairtpcXTs

#советы
Шпаргалка для подготовки к собеседованию на C#-разработчика

Держите сборник тем по C# и .NET, которые могут задать Junior-разработчику и выше:

https://tprg.ru/ZRp8

Статья поможет вспомнить некоторые особенности языка, которые встречаются в реальных проектах.

#csharp #собеседование
Ключевые алгоритмические парадигмы для решения нестандартных задач

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

Подробнее о парадигмах (с примерами на C++): https://tprg.ru/Q8bw

#алгоритмы #cpp #задачи
Примеры тестирования Java-программы с помощью JUnit

JUnit — мощный инструмент для модульного тестирования кода на Java. Новичкам JUnit покажется сложным, но на примерах вы сможете понять, как использовать JUnit на практике:

https://tprg.ru/xUbp

#java #тестирование
Три популярных ошибки начинающих программистов

Когда начинающий разработчик приступает к первой работе, он чаще всего совершает три ошибки:

1. Неумение гуглить.
Можно спросить у коллег, как решить ту или иную проблему. Но не проще ли и быстрее самим найти нужную информацию в Интернете, а не отвлекать коллег по пустякам?

2. Чрезмерное усложнение.
Промышленная разработка — это в первую очередь выполнение требований заказчика. Поэтому лучше сосредоточиться на простом пути решения задачи, поскольку усложнение может напомнить о себе в будущем.

3. Неумение взглянуть на задачу глобально.
Опытный программист умеет сопоставить задачу со всем проектом и найти наилучший способ её решения.

Подробнее об ошибках новичков: https://youtu.be/HygZuRM0Myc

#советы
Утечки памяти в Java

Хотя в Java есть автоматический сборщик мусора (GC — Garbage Collector), он не всегда спасает от утечек памяти. Время от времени в приложении могут возникнуть лишние объекты, которые засорят память и помешает дальнейшей работе программы.

Как можно бороться с утечками: https://tprg.ru/SgIX

#java