ПутьПрограммиста
161 subscribers
59 photos
6 videos
58 links
Канал для желающих освоить программирование легко и комфортно. Будем вместе погружаться в теоретическую часть и применять знания на рабочих проектах.
Основные инструменты:
- Python
- PHP
- CSS3
- HTML5
- MySQL
加入频道
Python — лучший язык для знакомства ребёнка с программированием

Почему? Python изначально был задуман как язык с интуитивным синтаксисом. Поэтому он отлично подходит в качестве первого языка программирования, особенно ребёнку. К тому же Python пригодится и дальше, ведь язык используется в бэкенде, Data Science, написании скриптов, ботов и т.д.

Другой вопрос: как заинтересовать ребёнка и чему его учить? Полезные советы по этой теме даны в статье:

https://pythonist.ru/python-dlya-detej/

#python
Разбираемся с форматом передачи данных XML

В программировании распространены два основных формата передачи данных — XML и JSON. Они представляют данные в стандартизированном виде, из которого легко перенести данные в структуры данных программы.

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

Подробнее об XML хорошо объясняется в статье: https://habr.com/ru/post/524288/

#mobile #веб
Forwarded from Однажды в трендах
Оператор «+» для конкатенации

«+» — простой и понятный для новичков оператор, но он не всегда является самым эффективным решением для конкатенации. Чем больше строк вам нужно соединить в одну, тем больше плюсов придётся добавить, а это засоряет код. Поэтому для конкатенации лучше использовать f-строки.
Forwarded from Однажды в трендах
Зарезервированные слова для имён переменных

В Python есть список ключевых (или зарезервированных) слов, которые нельзя использовать в качестве имён переменных.

Если нарушить это правило, вы получите сообщение об ошибке SyntaxError: invalid syntax.
Простыми словами о SOLID

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

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

Ведь как написал один мудрый человек из комментариев: «‎SOLID — это как юношеский секс, все о нём говорят, но мало кто практикует»‎.

#solid
📣 Python и MySQL: практическое введение

В статье рассмотрим на практическом примере, как из кода Python делать SQL-запросы к MySQL-серверу: CREATE, SELECT, UPDATE, JOIN и т. д.

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

🖥 Читать подробнее
​​Когда пытаешься использовать новый фреймворк без чтения документации:
Forwarded from Однажды в трендах
Для чего используется функция init

Функция init является конструктором класса, и она вызывается автоматически при создании нового экземпляра класса. Эта функция используется для инициализации атрибутов, которые будут принадлежать объектам, создаваемым с помощью класса.

Внутри функции init определяются атрибуты объекта, которые будут доступны через ссылку на экземпляр, на который ссылается переменная self.
Forwarded from Однажды в трендах
Оператор ==

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

Этот оператор можно использовать для сравнения практически любых объектов: строк, списков, словарей и кортежей. Это делает его очень частым «гостем» в инструкциях if-else. К тому же, когда через неделю свой код воспринимать становится сложнее, всего два символа в операторе упрощают чтение длиной в сотни строк. 
13 антисоветов начинающему разработчику

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

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

Читать статью

#general #антисоветы
🧑‍💻 Python: NewType против TypeAlias[11:12]

Python — динамический язык, из-за чего мы не всегда знаем какой тип придёт в функцию, но мы можем сказать какой тип данных ожидаем.

В этом ролике речь пойдёт о типах NewType, TypeAlias, что это такое и где применяется, а также о декомпозиции типов.

Перейти к просмотру

#видео #python
15 книг для входа в IT

Несмотря на обилие курсов, видео и других форматов обучения, чтение книг всё ещё остаётся эффективным вариантом изучения программирования.

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

#полезное #книга
​​PHP всё ещё не умирает: нехватка кадров и высокие зарплаты

Уже долгое время среди разработчиков бытует мнение, что PHP (язык для бэкенда сайтов) умирает и вот-вот станет не актуальным. Поэтому многие начинающие разработчики игнорируют его и выбирают более популярные варианты: Python, JS, C#. Однако, из года в год PHP не снижает свою планку и продолжает оставаться востребованным во многих стеках веб-разработчики.

Если не хотите тесниться среди сотен Python/JS-джунов на одной вакансии, то можете рассмотреть менее популярный, но не менее востребованный PHP. А в этой статье как раз провели анализ рынка и зарплат для таких разработчиков.

#php #информация
Как работает память компьютера «под капотом»?

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

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

Простыми словами о работе памяти рассказывают в видео. А вот и весь плейлист по теме работы железа.

#железо #какработает
👍1
Если вы знакомы с объектно-ориентированным программированием, то наверняка слышали и о принципах SOLID. Эти пять правил разработки ПО задают траекторию, по которой нужно следовать, когда пишешь программы, чтобы их проще было масштабировать и поддерживать. Они получили известность благодаря программисту Роберту Мартину.

#теория #solid
1) S – Single Responsibility (Принцип единственной ответственности)

Каждый класс должен отвечать только за одну операцию.

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

Назначение

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

#теория #solid
2) O — Open-Closed (Принцип открытости-закрытости)

Классы должны  быть  открыты для расширения, но закрыты для модификации.

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

Назначение

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

#теория #solid
3) L — Liskov Substitution (Принцип подстановки Барбары Лисков)

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

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

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

#теория #solid
Продолжение: Необходимо, чтобы класс-потомок был способен обрабатывать те же запросы, что и родитель, и выдавать тот же результат. Или же результат может отличаться, но при этом относиться к тому же типу. На картинке это показано так: класс-родитель подаёт кофе (в любых видах), значит, для класса-потомка приемлемо подавать капучино (разновидность кофе), но неприемлемо подавать воду.

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

Назначение

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

#теория #solid
4) I — Interface Segregation (Принцип разделения интерфейсов)

Не следует ставить клиент в зависимость от методов, которые он не использует.

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

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

Назначение

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

#теория #solid
5) D — Dependency Inversion (Принцип инверсии зависимостей)

Модули верхнего уровня не должны зависеть от модулей нижнего уровня. И те, и другие должны зависеть от абстракций. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

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

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

Назначение

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

Источник

#теория #solid