Точка входа в программирование
20.2K subscribers
1.26K photos
218 videos
2 files
2.78K links
Фундаментальные знания по основам программирования

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Что такое лямбда-выражения: объяснение на примере Java

Видели когда-нибудь подобный пример?

StringConcat s = (str1, str2) -> str1 + str2;

Это лямбда-выражение или анонимная функция. В данном случае она объединяет две строки.

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

https://tprg.ru/lEJB

#java
Учимся печатать вслепую

Программисту важно быстро писать код, чтобы иметь больше времени на отладку программы и реализацию других задач. Для этого подойдёт метод слепой печати — ввод с клавиатуры с помощью 10 пальцев.

Обучиться технике можно на сервисе Klavarog. На нём есть упражнения не только по русской и английской раскладке, но и по языкам программирования. Например, попробуйте быстро напечатать код на Python:

https://klava.org/delta/#eng_code_python

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

Язык разметки CSS используется для оформления внешнего вида веб-страницы. С помощью CSS можно задать границы и скругления, тени, градиенты, фильтры, трансформации, анимации, плавные переходы и т.д.

О том, как работать с CSS, объясняется в курсе CSS Basics.

Первый урок: https://youtu.be/qxAnaoPI8cE

Плейлист курса: https://tprg.ru/hETF

#веб #фронтенд
Тест: что реально, а что создала нейросеть?

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

https://tprg.ru/R7I2
Docker для начинающих за 200 секунд

Если программу нужно запустить на разных системах, то в конкретной системе могут отсутствовать необходимые библиотеки. Решить проблему поможет упаковка программы со всей периферией из библиотек в контейнер, управлением которого и занимается Docker.

Подробнее о Docker смотрите в ролике: https://youtu.be/HqhgsmThmwA

Или его текстовой версии: https://tprg.ru/fQxK
Интерфейсы в Java: объяснение простым языком

В Java интерфейсы используются для создания абстракции, которую затем реализуют классы.

Например, нам нужно нарисовать фигуру. В интерфейсе будут определены методы draw(), рисующий фигуру, и getArea(), возвращающий площадь фигуры. А классы уже реализуют этот интерфейс для конкретных фигур, например круга и прямоугольника.

Подробнее об интерфейсах:

https://tprg.ru/dNoz

#java
Состояние гонки (race condition)

Когда несколько потоков программы пытаются одновременно получить доступ к данным, и при этом хотя бы один поток выполняет операцию записи, может возникнуть непредсказуемая ситуация. В программировании она зовётся состоянием гонки или race condition.

Например, один поток выполняет над общей переменной x операцию x = x + 6, а второй поток - операцию x = x + 3. В общем случае потоки выполняют три операции:

1. вытащить значение x из памяти;
2. прибавить 3 или 6;
3. записать результат обратно в x.

Когда потоки выполняют эти операции одновременно, то результат в x может быть непредсказуемым и отличаться от ожидаемого на 3, 6 или 9.

Учитывайте состояние гонки в многопоточных программах.

#кратко_о_важном
Казалось бы, что может пойти не так
В чём разница между шифрованием, кодированием и хешированием?

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

https://tprg.ru/me3t
Сборник задач для практики в языке C++

Если вы изучаете C++, то подборка задач поможет вам отточить свои навыки в программировании на C++. Для удобства все задачи разделены на пять уровней сложности:

https://cppstudio.com/cat/285/

#cpp #задачи
Компьютеры страдают из-за наших багов
Выбираем дистрибутив Linux для новичка

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

Мы собрали все «за» и «против» для трёх дружелюбных к новичку дистрибутивов — Fedora, Manjaro и Ubuntu:

https://tprg.ru/8rlE

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

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

https://tprg.ru/KCPw

Лекция на YouTube: https://youtu.be/mE_s-R5wvpw

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

Убеждены, что data science — это не для всех? На бесплатном интенсиве вам покажут, что для разработки искусственного интеллекта достаточно только базовой арифметики. Уроки пройдут 12−14 апреля в 21:00 по МСК.

Регистрация: https://clc.am/Mo6aLw

Что вас ждёт:

— Введение в анализ данных и основные инструменты.
— Погружение в машинное обучение.
— Простое объяснение сложной математики в data science.
— ML и нейросети.
— «Обогащение» данных с помощью feature engineering.
— Grid Search и кросс-валидация.

Участвуйте в интенсиве и убедитесь, что стать специалистом machine learning может каждый.
Как заменить все одинаковые подстроки в строке на JavaScript

Замена одинаковых подстрок в строке может потребоваться, например, в очистке данных, которые спарсили с сайта. В статье показаны 2 варианта решения задачи: через регулярные выражения и с использованием методов split и join:

https://tprg.ru/zf3o

#js
И записывает ролики с дешёвым микрофоном без монтажа
Парсинг сайтов на Python

Парсинг сайта представляет собой сбор информации с этого ресурса. Собранные путём парсинга данные можно «очистить» от лишней информации и затем использовать, например, для аналитики.

В этих уроках рассказано, как реализовать парсинг реального сайта с помощью Python и библиотек Requests и BeautifulSoup.

Часть 1: https://youtu.be/zKuBDil5dlw

Часть 2: https://youtu.be/J5sqWAqDPyE

#python
На канале Веб-страница не просто публикуют множество полезных туториалов, шпаргалок, статей и другой полезной информации из мира веб-разработки, но и приправляют всё мемами.

Подписывайтесь: @tproger_web
7 логико-математических задач про бегемотов, которые заставят поломать голову

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

https://tprg.ru/znFB