Точка входа в программирование
21.4K subscribers
925 photos
166 videos
1 file
2.47K links
Фундаментальные знания по основам программирования

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Менеджер продукта: какие навыки нужны «многорукому Шиве»

Ни один продукт сегодня не может обойтись без продакт-менеджера. Он объединяет в себе сразу несколько функций: взаимодействует с заказчиком и собирает обратную связь от пользователей, определяет развитие продукта и порядок внедрения новых фич, отвечает за экономические показатели, который отвечает за его развитие. И это не всё.

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

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

На сайте the-algorithms.com собрана огромная коллекция алгоритмов с открытым исходным кодом. Это крупнейшая библиотека алгоритмов, которая предлагают готовый код для самых разных языков программирования по различным категориям: от сортировки до шифрования.

Сохраняйте пост в избранное, чтобы не забыть.

#инструменты #алгоритмы
Object.freeze и Object.seal в JavaScript

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

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

#javascript
Простыми словами: Какие стили программирования существуют

Кроме объектно-ориентированного программирования (ООП), существует несколько других видов программирования, каждое из которых применяется в различных областях и имеет свои особенности.

1. Процедурное программирование

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

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

Минусы:
— сложность управления большими проектами;
— меньшая гибкость и повторное использование кода по сравнению с ООП.

Такой стиль можно встретить в системном программировании, встраиваемых системах и приложениях с простой структурой.

2. Функциональное программирование

Оно используется для работы с вычислениями, которые можно описать как набор математических функций. В таком стиле часто пишут на Haskell, Lisp, Erlang, Scala, и даже JavaScript.

Плюсы:
— выраженная математическая чистота и вероятностное отсутствие побочных эффектов;
— лёгкость тестирования и отладки.

Минусы:
— меньшая распространённость и сложность освоения для новичков;
— ограниченность инструментов и библиотек в сравнении с ООП.

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

3. Логическое программирование

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

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

Минусы:
— сложность понимания и отладки;
— ограниченные области практического применения.

Такой стиль можно встретить при программировании искусственного интеллекта, а также при автоматическом доказательстве теорем.

4. Декларативное программирование

Используется для описания желаемого результата, а не шага к его достижению. Используется в SQL (для запросов к базам данных), HTML (для веб-разметки), XSLT (для трансформации XML).

Плюсы:
— ясность и простота синтаксиса;
— фокус на описании задачи, а не способе её решения.

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

Применение: Встроенные системы управления данными, веб-разработка, трансформация данных.

5. Мультипарадигменное программирование

Этот стиль предполагает объединение нескольких парадигм программирования (например, ООП и функционального программирования) в одном языке или приложении. Может быть реализовано на многих языках, включая Python, JavaScript, Kotlin, Scala, Swift и т.д.

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

Минусы:
— потенциальная сложность освоения всего спектра возможностей языка;
— возможность несогласованных паттернов кода.

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

Какая парадигма сейчас более популярна?

Сегодня сложилось так, что объектно-ориентированное программирование остаётся одной из самых популярных парадигм, особенно в разработке крупных и сложных систем. Однако функциональное программирование набирает обороты, особенно в области обработки данных и параллельных вычислений. Мультипарадигменные языки, такие как Python и JavaScript, также стали очень популярны благодаря своей гибкости и широким возможностям.

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

🤯 — не знал, что их так много
🤔 — а можно теперь подробнее про каждую?
❤️ — зачем что-то придумывать, если есть ООП?


#простымисловами
Курс по Laravel. Быстрый старт

Эти 7 небольших видеоуроков познакомят вас с популярных веб-фреймворком на PHP.

Вы научитесь устанавливать и настраивать его, работать с маршрутами и шаблонами, работать с пагинацией и многим другим.

Смотрим тут или на youtube.

#php #laravel #курс
Пишем свой первый микросервис на JavaScript

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

Сегодня вы сможете создать свой первый микросервис на Docker, научитесь писать образы и запускать контейнеры. Подробнее в статье:

https://nuancesprog.ru/p/14868/

#микросервисы #docker
Media is too big
VIEW IN TELEGRAM
React JS для начинающих. Создаём свое первое приложение

Многие не знают, где найти практический опыт и как стать фронтенд разработчиком с использованием React. Много материалов по todo-листам, интернет-магазинам, но это делают все. Это видео предлагает создать приложение, связанное с криптовалютами.

Это будет интересная история о мире крипты, которую вы будете разрабатывать с нуля используя React.

#reactjs #туториал #курс
Айтишников никто не заменит: какие вакансии станут востребованы в ближайшем будущем

Кроме уже трендовых кибербезопасников и аналитиков Big Data, компаниям будут нужны специалисты по цифровой трансформации и блокчейн-инженеры: https://tprg.ru/B4mt
Forwarded from Zen of Python
Media is too big
VIEW IN TELEGRAM
100 вопросов с собеседований Python. Полный разбор реальных вопросов

Этот обширный набор вопросов охватывает различные аспекты языка программирования Python, включая базовые понятия, структуры данных, ООП, асинхронное программирование, веб-разработку и многое другое.

Изучите этот список, чтобы узнать, к чему быть готовым и как лучше подготовиться к собеседованию по Python.

#видео #советы
IT-профессии будущего: кем идти работать через пять лет

Кто бы ни говорил про массовые увольнения и искусственный интеллект, который заменит нас лет через 5–10, айтишники все еще нужны рынку сегодня — и будут нужны в дальнейшем.

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

https://tproger.ru/articles/it-professii-budushhego--kem-idti-rabotat-cherez-pyat-let
Изучайте программирование, пока сёрфите в интернете

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

Расширение 30 seconds of knowledge поддерживает 13 языков программирования. Выберите нужный и сможете изучать полезные сниппеты и вопросы с собеседований по интересующей вас теме.

Скачать и попробовать можно на github.

#инструменты
Media is too big
VIEW IN TELEGRAM
Изучение Unity для начинающих на практике

Держите большой 10-часовой курс по разработке игр на Unity и C#. Вы сможете с нуля создать игру, которая будет включать в себя множество интересных систем, что делает ее отличным обучающим проектом.

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

Вы можете посмотреть ролик здесь или на youtube. Также вы можете посмотреть оригинал видео, если не комфортно смотреть с машинным переводом.

#видео #unity #gamdev
21 рекомендация по HTML

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

Подробнее в материале.

#html #веб
Ведущий инженер поддержки

ИТ-команда Гринатома в поиске ведущего инженера поддержки, обладающего навыками работы с основными инструментами диагностики и ремонта.

Ожидают, что вам знакомо мультимедийное/ВКС оборудование, вы понимаете базовые принципы работы службы каталогов Active Directory, а также протоколов TCP/IP и h.323/SIP.

Вам предстоит оказывать техническую поддержку ВИП-пользователей, взаимодействовать с заказчиками, формировать отчетность и поддерживать рабочие места на базе Windows, MacOS, Astra Linux.

Присоединяйтесь к команде!

#вакансии