Точка входа в программирование
20.5K subscribers
1.17K photos
207 videos
2 files
2.7K links
Фундаментальные знания по основам программирования

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Принципы SOLID простым языком

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

Стоит ли соблюдать принципы SOLID или нет в проекте?
В этой статье рассматриваются подробно все правила и примеры, на которых явно видно, что происходит с архитектурой проекта, если не следовать этим принципам:

https://habr.com/ru/company/itentika/blog/694730/

#ооп
Можно ли расширить функционал рации до передачи текстовых сообщений?

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

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

https://habr.com/ru/post/694916/

#android
Интересные проекты на базе Raspberry Pi

Рыбка, которая передвигается по суше в своём аквариуме. Шарик для настольного тенниса, который никогда не падает и другие проекты по ссылке:

https://habr.com/ru/company/selectel/blog/693904/

#raspberry
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека для 3D-оцифровки человека на Python

PIFuHD позволяет создать 3D аватар из изображения. Библиотека работает только с фотографиями в полный рост. Если вы хотите реализовать что-то посложнее в проекте, то с помощью Adobe Aero и Blender можно создать целую анимацию.

Руководство по использованию:

https://github.com/facebookresearch/pifuhd

#python
Как бы вы ответили на этот вопрос?

В этой статье автор делится своим мнением, чего не хватает кандидатам на собеседованиях и советами, как подготовиться начинающим:

https://habr.com/ru/post/694478/

#собеседование
Точка входа в IT: кто такой системный аналитик?

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

Что нужно знать системному аналитику, а также насколько востребована эта профессия рассказали Инна Тетюлина, продуктовый менеджер, и Дарья Борисова, автор курса «Системный аналитик» Яндекс Практикума:

https://tprg.ru/MfQo

#it
Большая шпаргалка по Python

Если вы сейчас изучаете Python, то эта шпаргалка вам вероятно пригодится. Кроме базовой информации о методах или функциях в Python, в ней собраны материалы по Pandas, NumPy, Jupyter Notebook, SciPy:

https://www.utc.fr/~jlaforet/Suppl/python-cheatsheets.pdf

#python
Условные операторы в Java: if-else, switch и «Элвис»

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

Однако для успешной работы с конструкциями нужно также понимать, для каких сценариев они подходят. В статье подробно разобрали: if, вложенный if, switch и другие операторы:

https://tproger.ru/articles/uslovnye-operatory-v-java/

#java
Как работают глаза или как правильно создать тёмную тему для сайтов и приложений

Тёмные темы в приложениях — это уже давно не тренд, а инструмент для повышения вовлеченности пользователей.

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

https://habr.com/ru/company/ispmanager/blog/694412/

#тестирование
Подборка актуальных вакансий

Администратор БД Elasticsearch
Где: Москва
Опыт: можно без опыта

Data Engineer
Где: Москва, можно удалённо
Опыт: можно без опыта

Специалист отдела VIP сопровождения ПО
Где: Москва
Опыт: можно без опыта

iOS-разработчик
Где: Москва
Опыт: можно без опыта

Аналитик DWH
Где: Москва, можно удалённо
Опыт: можно без опыта

iOS-разработчик
Где: удалённо
Опыт: можно без опыта

Специалист группы дежурных администраторов выноса изменений
Где: Москва
Опыт: от 1 года

DevOps-инженер
Где: Москва, можно удалённо
Опыт: от 1 года

Системный аналитик
Где: Москва
Опыт: от 1 года

#вакансии #работа
Полезные ресурсы для изучения JavaScript

1. The AirBnB style guide — руководство по стилю кода JavaScript.

2. 30 seconds of code — полезные сниппеты JS с объяснением кода. На сайте представлено более 100 примеров: от Linked List до алгоритмов.

3. JavaScript-algorithms — алгоритмы и структуры данных, реализованные на JavaScript, с пояснениями и ссылками для дополнительного изучения.

#js
​​Магия в Python: как прокачать код с помощью магических методов?

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

Такие методы легко узнать в классах — они заключены в двойное подчёркивание, например «lt», но как их применять? Вместе с Андреем Мальчуком, backend-разработчиком КРОК, рассказали подробно:

https://tprg.ru/Z3Ck

#python
Руководство для начинающих по MySQL

MySQL — одна из наиболее используемых СУБД, т.к. она поддерживается почти всеми ОС и распространяется как свободное программное обеспечение. Поэтому, MySQL популярна среди разработчиков сайтов и веб-приложений.

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

https://wiki.gentoo.org/wiki/MySQL/Startup_Guide/ru

#субд
Как написать Telegram-бота на Python: делаем ремайндер

Если вы искали подробную и простую инструкцию, как создать бота на Python, то у нас на сайте как раз вышла статья на эту тему.

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

https://tproger.ru/articles/kak-napisat-telegram-bota-na-python-delaem-remajnder/

#python
Популярные программы и сервисы для дизайна

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

К ним относятся площадки по созданию дизайна, например: Figma, Adobe XD, Pixso и сервисы с более расширенным функционалом: Pixli, Tilda и Webflow. Если вы задумывались, какой инструмент выбрать для макета, то рекомендуем к прочтению:

https://habr.com/ru/post/696552/

#it
6 проектов на ReactJS для начинающих

В этом видеоуроке подробно разбирается, как создать простые проекты уровня Junior, а именно:

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

Ссылка на видео: https://youtu.be/eS0GL73tkmw

#reactjs
Что нового в TypeScript 4.9?

В новой версии появились любопытные нововведения и исправления: новый оператор satisfies, умный in, изменена стратегия по умолчанию для отслеживания изменений. Также, прямое сравнение с NaN теперь запрещено.

Екатерина Семенова, фронтенд-разработчик в Surf, рассказала подробно о всех изменениях, а также показала на примерах, к каким ошибкам и исключениям приведёт неправильно использование новых фич:

https://habr.com/ru/company/surfstudio/blog/695900/

#typescript
Как правильно задать вопросы? Советы для начинающих программистов

Ответы на многие вопросы по программированию можно найти на Stack Overflow. Однако часто проблема возникает в формулировке самого вопроса.

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

https://habr.com/ru/post/460221/

#советы
Выбор CSS макета: Grid или Flexbox?

В целом Grid и Flex решают одни и те же задачи при разработке макета, но между ними всё же есть отличия:

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

Однако для более удобной вёрстки сайта можно совмещать оба модуля и использовать гриды только для каркаса сайта, а флексы — для контента.

Источник: https://odva.pro/blog/flex_or_grid/

#web #css
​​​​Всё об исключениях в С++

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

Чтобы лучше понять механику обработки ошибок с помощью операторов и особенности исключений в С++, собрали самое важное в этой статье:

https://tprg.ru/IHiS

#c