Точка входа в программирование
20.6K subscribers
1.15K photos
205 videos
2 files
2.68K links
Фундаментальные знания по основам программирования

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Самая необычная шпаргалка в вашей жизни — выбираем первый язык программирования.

Только не относитесь к выбору слишком серьезно.
Как стать айтишником: история успеха

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

Это было в 80-е, когда «попасть в айти» было не так просто: сначала нужно было отогнать факелом динозавров, потом найти компьютер и изучить библиотеку фундаментальной литературы, чтобы понять, как его включить.

#статья #карьера
Как выглядят собеседования сейчас

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

В этой статье разработчик делится своими размышлениями о текущем состоянии IT-рынка. Автор приходит к выводу, что проблема дефицита кадров обусловлена неверными подходами к оценке кандидатов.

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

#статья #карьера
Какая-то современная версия «Золушки»
В версии Telegram Desktop 4.10.4 beta (21.10.23) появилась подсветка синтаксиса кодовых блоков, оформленных с помощью стандартного тега markdown разметки: ``

Также появилась возможность скопировать весь код целиком при клике на заголовок сообщения с кодом (раньше у сообщения с кодом не было отдельного заголовка).

Функция пока недоступна в клиентах Telegram на Android и iOS.
Выиграет ли WASM веб-войну

Если сложить все вместе, то WASM наконец-то сможет реализовать свой потенциал. От идеи до адекватного кода еще много шагов. Но кирпичики для создания идеального WASI бэкенда уже закладываются.

К 2025 году мы узнаем, сможет ли WASM стать новым стандартом для веб-приложений.

#статья #веб
Что такое GitOps?

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

Но появилась ещё одна концепция — GitOps. Что это такое и как она связана с DevOps, вы узнаете из этого видео.

#видео #git
12 советов и сочетаний клавиш Android Studio для быстрой навигации по коду

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

#советы #android
В чем разница между Junior, Middle, Senior разработчиками

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

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

3. Вопросы
Junior — зачастую не может задать нужные вопросы, часто нуждается в помощи.
Middle — более самостоятелен, умеет задавать правильные вопросы, если только это не очень сложные задачи, требующие глубокого уровня знаний.
Senior — занимается обучением джуна и мидла, редко сталкивается с необходимостью просить помощи, но даже в такие моменты задает только правильные вопросы, так как обладает способностью сжато и понятно излагать мысли.

#начинающим
Ужасающая задачка в честь Хэллоуина

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

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

Варианты ответов: стек, очередь, хеш-таблица, двоичное дерево.

Правильный ответ на этот вопрос будет выложен через час.

#задача
Ответ на ужасающую задачку

Если вы выбрали хеш-таблицы, то были абсолютно правы!

Дело в том, что хеш-таблица обеспечивает быструю и надежную проверку неупорядоченных транзакций так как предлагает для поиска или вставки время выполнения O(1). Все покупатели смогут получить именно те тыквы, которые хотели, поскольку используются уникальные номера, которые предотвращают повторения сделок.

#задача
Модифицированные ядра Linux

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

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

#linux
Работа с временными рядами в Python

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

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

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

#статья #python
Чем отличаются конкурентные алгоритмы от параллельных

В конкурентных алгоритмах запросы от разных процессов в программу приходят несинхронно и выполняются друг за другом.

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

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

#начинающим #видео
Большой сборник курсов от программистов для программистов: наши читатели рассказали о платформе Senior Junior

Senior Junior — это площадка с опенсорсными курсами для разработчиков. Да, там нет сертификатов, гарантий трудоустройства и лозунгов «освойте с нуля». Зато есть актуальная теория в связке с непрерывной практикой в онлайн IDE.

Тексты курсов и задачи выложены на гитхаб. Сейчас ребята почти дописали курс по Python и приступили к курсу по Rust. Курсы можно проходить на сайте и в Telegram-боте. Между ними легко синхронизировать прогресс.

Мы такое одобряем, поэтому делимся статьей, в которой рассказали о платформе и начинке проекта: https://tproger.ru/articles/senior-junior-kursy-ot-programmistov-dlya-programmistov

#курсы
Краткое введение в Машинное обучение

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

#ml #ии #статья
Приём заявок на конкурс пет-проектов завершен

Последняя партия конкурсантов предоставила свои проекты:

Passcryptum: кроссплатформенный менеджер паролей на Vue, использующий стандарт шифрования PBKDF2 и позволяющий задавать PIN.
Браузерная MMORPG: экс-геймер и фанат World of Warcraft использовал свой опыт веб-разработки и создал 3D ролевую игру на Golang + MySQL. Интересный опыт человека, перепробовавшего несколько языков и фреймворков, прежде чем получилось достойное решение.
World Connect: фанат Clash of Clans переосмыслил идею гейм-чатов «обо всем и для всех» и реализовал на базе FastAPI + WebSockets свою систему для общения, прямо как ICQ когда-то.

Лайкайте понравившиеся статьи на сайте, чтоб они попали в итоговое голосование.

#diy #конкурс
Строки в PHP и команды над ними

Строка — это последовательность символов, заключенных в одинарные ' ' или двойные кавычки " ". Строки могут содержать любой текст, включая буквы, цифры, специальные символы и пробелы. Они используются для хранения текстовой информации, такой как сообщения, HTML-код, имена файлов и так далее.

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

#php
Решение задачи про определение типа в Typescript

В этой статье вы сможете увидеть решение интересной задачи, связанной с типизацией в Typescript, которая была представлена на Yandex Cup 2023.

Без условий задача звучит так: «написать программу, которая позволит получать и анализировать информацию об уровне серотонина в крови при прослушивании конкретных треков у разных фокус‑групп».

Автор довольно подробно объясняет свое решение этой задачи, что может помочь начинающим программистам.

#задача #typescript