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

Статическая и динамическая типизация — это два основных подхода к обработке типов данных в программировании.

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

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

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

@prog_point #general #теория
Умеете ли работать с функцией sorted в Python?

Встроенная в Python функция сортировки элементов существенно упрощает жизнь разработчикам. Она быстро работает и позволяет отсортировать по возрастанию или убыванию.

Проверьте, предугадаете ли вы поведение кода с sorted():

https://pythonist.ru/test-sortirovka-python/

#тесты #python #сортировка
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