Точка входа в программирование
20.2K subscribers
1.26K photos
220 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
Больше 200 (!) гайдов и пет-проектов с открытым кодом для Android-разработки. Целая команда синьор-разрабов собрала п-о-ш-а-г-о-в-ы-е туториалы, которые помогут отточить навыки до идеала:

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

Проходим теорию и практикуемся — тут.
👍2
Что такое стек и куча?

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

Куча — это область памяти для данных, которые живут долго, например, объекты или массивы. Данные в куче выделяются вручную или автоматически (например, с помощью сборщика мусора). Она гибче стека, но доступ к ней медленнее.

Пример использования стека:

def add(a, b):
result = a + b # Локальные переменные хранятся в стеке
return result



Пример использования кучи:

class User:
def __init__(self, name):
self.name = name # Объект "User" хранится в куче

user = User("Alex")
print(user.name)


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

#простымисловами #основы
🔥811
Media is too big
VIEW IN TELEGRAM
Codédex — RPG для программистов

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

Начать можно бесплатно по ссылке: https://www.codedex.io/

#геймификация
👍3
Работает? Трогай! Всё про рефакторинг

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

Поэтому в нашем случае больше уместна фраза из заголовка. Но как понять, что время для рефакторинга уже пришло? Бэкенд-разработчик Филлип Щербанич рассказал о своём опыте рефакторинга и поделился ценными советами по этому вопросу.

#рефакторинг #советы
👍7
200 идей проектов для разработчиков любого уровня

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

Список доступен каждому бесплатно по ссылке:

https://dev.to/kishansheth/200-project-ideas-from-beginner-to-advanced-with-open-source-contributions-3g6a

#петпроект
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Как работают В-деревья и индексы баз данных

Чтобы разобраться в этом вопросе было проще, мы нашли для вас туториал, где автор на понятном языке и с иллюстрациями объясняет, что это за структуры, зачем они нужны, как работают и многие другие нюансы работы СУБД.

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

Изучаем тут: https://planetscale.com/blog/btrees-and-database-indexes
👍8
В какую сторону развивается Vue и есть ли ему современные альтернативы

Vue.js входит в топ наиболее популярных инструментов веб-разработки. В числе основных плюсов — доступность, простая архитектура, высокая производительность и гибкие настройки.

Но ему уже более 10 лет. А для IT-продукта это большой срок, за который появились другие проекты. В этой статье мы решили разобраться, есть ли альтернативы у фреймворка, каковы его особенности и преимущества, и как использовать Vue.js с максимальной эффективностью.

#vue
Просто раньше тестировщиков не было и ошибаться было не для кого
19👍2
Первый в мире чат-бот на основе искусственного интеллекта ELIZA возродили спустя 60 лет

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

ИИ ELIZA был разработан в 60-х годах профессор Джозефом Вайценбаумом на языке программирования, созданном также Вайценбаумом — Michigan Algorithm Decoder Symmetric List Processor (MAD-SLIP). Но до 2021 года те самые 420 строк кода считались утерянными, пока его не нашли случайно среди бумаг профессора.

Теперь каждый желающий может протестировать возможности ELIZA, не покидая браузер. А почитать подробнее можно здесь: https://habr.com/ru/news/874702/

#новости #ии
👍6❤‍🔥22🔥2
Как разрабатываются электронные девайсы

Создать свой пет-проект или даже стартап в цифровом виде относительно легко, если вы умеете программировать. Другое дело, когда речь заходит о гаджетах. Тут одного кода уже мало, ведь нам нужно подружить софтверную часть с хардверной.

Здесь вы узнаете, как это происходит, разработав и собрав с нуля несложное устройство.

#diy
🆒2
Media is too big
VIEW IN TELEGRAM
Пишем код сразу на нескольких языках с OneLang

OneLang — это сервис, который позволяет писать код на одном языке и видеть его полный рабочий аналог сразу на нескольких других языках программирования. Например, вы можете писать на TypeScript, а получить код на Java, Go или даже Perl.

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

#инструменты
13👍3
Как работают хэш-функции

Хэш-функция — это алгоритм, который принимает произвольные данные (например, строку или файл) и преобразует их в фиксированную строку определенной длины, называемую хэш-значением.
Два ключевых свойства:

1. Для одного и того же ввода всегда возвращается одинаковый хэш.
2. Невозможно восстановить исходные данные по хэшу (обратное преобразование).

Давайте рассмотрим пример

Возьмём строку "password123" и пропустим её через хэш-функцию (например, SHA-256). Она вернёт хэш-значение:
password123 → ef92b778bae11c00c8cc0d9525c7f90631ad9e11cdec095c9c3af7b06ecf90fc


Хэш будет одинаковым для "password123", сколько бы раз вы его ни рассчитывали. Но если изменить хотя бы один символ, хэш станет совершенно другим.

Пример кода на Python

import hashlib

# Пример строки
text = "password123"

# Использование SHA-256 для получения хэша
hash_object = hashlib.sha256(text.encode())
hash_value = hash_object.hexdigest()

print("Хэш:", hash_value)


Результат: ef92b778bae11c00c8cc0d9525c7f90631ad9e11cdec095c9c3af7b06ecf90fc

Где используется:

1. Для хранения паролей: Вместо хранения пароля "password123" его хэш сохраняют в базе данных. Когда пользователь вводит пароль, хэш снова рассчитывается и сравнивается с сохранённым хэшем.

2. Для ускорения поиска данных: Например, в хэш-таблицах (словарях Python). При добавлении ключа "text" его хэш помогает найти место для хранения значения.

3. В хэш-таблицах: Структура данных для хранения пар «ключ-значение». Хэш-функция вычисляет индекс, где хранится значение, что ускоряет доступ к данным.

#простымисловами
👍11
Joblib: максимум из параллельных вычислений в Python

Joblib — это Python‑библиотека, которая предоставляет инструменты для параллельных вычислений, кэширования и эффективной обработки данных. Она используется для ускорения выполнения операций, таких как многократные вычисления, обработка больших массивов данных и параллельная обработка однотипных задач.

Подробнее о её возможностях и примерах использования можно узнать здесь: https://habr.com/ru/companies/otus/articles/874810/

#python #библиотека
🥰3👍1
Как превратить свой пет-проект из хобби в карьеру

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

Но есть и немало случаев, когда pet-проекты все таки доводятся до конца, публикуются и становятся успешными бизнесами. Например, ElasticSearch, который изначально планировался как база и поисковая система для рецептов жены основателя Шей Бэнона. Или Twitter Джека Дорси, прототип которого был написан на хакатоне.

В этой статье вы узнаете, как ваши пет-проекты могут помочь вам на примере кейсов автора: https://habr.com/ru/articles/870754/

#петпроект
👍6🔥1
Минутка полезных советов
👍24😁8
Бесплатный курс по ИИ-агентам от Higging Face

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

Начинаем тут.

#курс #ии
🔥6
Карманный справочник по тех. интервью

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

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

#репозиторий #general #трудоустройство #en
Telegram Mini App. Как создать Web App с нуля

Mini Apps (или же Web Apps) — это удобный способ добавления веб-приложения прямо в интерфейсе Telegram. Используя JavaScript, становится возможным создавать бесконечное множество интерфейсов, которые смогут заменить полноценный веб-сайт и привычные мобильные приложения.

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

#telegram #miniapp #javascript
👍1131
Как стать программистом самостоятельно?

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

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

#советы #начинающим
❤‍🔥8👍4🤔1
Forwarded from Типичный программист
🍾 Разыскиваются авторы статей про IT

Редакция tproger ищет авторов, которые разбираются в разных технологиях — от фронтенда до devops.

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

Если у вас есть опыт и желание писать для разработчиков и программистов, заполняйте анкету и присоединяйтесь к tproger: https://forms.gle/nGwi92sepAqGuE1U9

#tproger
Please open Telegram to view this post
VIEW IN TELEGRAM