Блог начинающего программиста... Рассматриваем азы работы с интерпретатором Python3x, решаем типовые задачи, учимся программировать web и не только. В блоге отражен мой взгляд на мир, подход к программированию и решению сложных задач методом декомпозиции, то есть деления сложной задачи на несколько последовательных простых. Здесь я делюсь опытом и показываю найденные решения.

newbie

Опубликован:  2019-04-19T08:25:25.577288Z
Отредактирован:  2019-04-19T08:23:41.494324Z
1500

Продолжаем работу над проектом selfish. В этом выпуске я займусь отработкой первого тестового развёртывания web-приложения на сервер. На текущем этапе стоит две цели: 1) проанализировать и отработать ручной процесс развёртывания приложения; 2) подтвердить текущие функциональные возможности приложения и функцию отсылки электронной почты с реального адреса в штатом режиме production.

1. В предыдущих сериях

2. Подробности о целях этого перформанса

9. Тестирование в браузере

newbie

Опубликован:  2019-04-16T11:01:54.016809Z
Отредактирован:  2019-04-19T08:21:41.449083Z
500

Продолжаем разработку проекта selfish. Очередной этап разработки системы авторизации web-приложения посвящен проектированию инструментов, позволяющих пользователям самостоятельно регистрироваться в сервисе и восстанавливать забытый пароль. Selfish получит новые возможности, у приложения появится очередь задач и возможность автоматически отправлять сообщения электронной почты.

1. В предыдущих сериях

2. Создаём функциональные страницы для регистрации и восстановления пароля

12. Тестируем новый функционал в браузере

newbie

Опубликован:  2019-04-04T12:10:37.305921Z
Отредактирован:  2019-04-16T11:05:24.117154Z
1400

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

1. В предыдущих сериях

2. Рефакторинг

6. Подводим итоги

newbie

Опубликован:  2019-04-02T14:04:59.937934Z
Отредактирован:  2019-04-04T12:11:43.365816Z
1000

Продолжаем работу над проектом selfish. В этом обзоре я займусь администрированием пользователей приложения и начну разработку профиля пользователя, создам инструменты, которые позволят администратору сервиса управлять разрешениями пользователей непосредственно в web-интерфейсе, а у приложения появится ещё одна функциональная страница с новыми возможностями - профиль пользователя.

1. В предыдущих сериях

2. Создаём профиль пользователя

7. Подводим итоги

newbie

Опубликован:  2019-03-21T07:01:00.698043Z
Отредактирован:  2019-04-03T06:09:19.991489Z
500

Продолжаем работу над проектом selfish. Настало время воспользоваться системой пользовательских разрешений, разработанной в предыдущих выпусках блога, и ограничить авторизованных пользователей некоторых ключевых групп в правах, этому и будет посвящен настоящий обзор и текущий этап разработки web-приложения. В соответствии с начальным замыслом пользователи группы "Изгнанные" не...

newbie

Опубликован:  2019-03-19T08:11:49.041531Z
Отредактирован:  2019-03-21T07:04:43.095196Z
600

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

newbie

Опубликован:  2019-03-16T09:46:59.989267Z
Отредактирован:  2019-03-19T08:33:15.123231Z
300

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

newbie

Опубликован:  2019-03-05T10:40:32.878119Z
Отредактирован:  2019-03-16T09:50:08.518679Z
900

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

newbie

Опубликован:  2019-03-04T07:40:40.243618Z
Отредактирован:  2019-03-05T10:45:41.656269Z
1300

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

newbie

Опубликован:  2019-02-25T13:07:20.002588Z
Отредактирован:  2019-03-04T07:44:00.721018Z
800

Продолжаем работу над проектом selfish. У приложения появилась база данных, а это значит, что теперь можно начать последовательное создание объектов этой базы данных и определение для них набора, формата и параметров хранения данных. В этом обзоре я покажу один из возможных вариантов определения пользователя web-приложения и пользовательского аккаунта в рамках оригинальной...

newbie

Опубликован:  2019-02-22T07:48:16.016095Z
Отредактирован:  2019-02-25T13:09:56.910894Z
1000

Продолжаем работу над проектом selfish. На текущий момент у приложения имеется стартовая страница, и совершенно отсутствует полезный функционал. Настало время научить selfish работать с данными на сервере, для этого понадобится back end и средство для хранения данных - база данных. В этом обзоре я покажу один из возможных вариантов подключения базы данных PostgreSQL к уже...

newbie

Опубликован:  2019-02-18T09:32:29.328120Z
Отредактирован:  2019-02-22T07:49:29.010717Z
900

Продолжаем работу над проектом selfish. В предыдущем выпуске блога я создал базовый шаблон и допустил при этом небольшую оплошность в клиентском коде, которая в итоге выразилась в неверном отображении страницы в браузере. Этот обзор будет посвящен локализации и устранению ошибки. Кроме этого, поговорим об отладке JavaScript-сценариев и обработке ошибок в приложении на стороне...

newbie

Опубликован:  2019-02-14T10:51:08.850991Z
Отредактирован:  2019-02-18T09:45:09.504288Z
800

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

newbie

Опубликован:  2019-02-10T08:30:26.654268Z
Отредактирован:  2019-02-15T04:22:47.573314Z
1200

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

newbie

Опубликован:  2019-01-15T12:19:25.302137Z
Отредактирован:  2019-02-10T08:41:26.315562Z
1400

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

newbie

Опубликован:  2019-01-09T07:51:58.231549Z
Отредактирован:  2019-01-15T12:29:06.171664Z
1300

Продолжаем работу над проектом selfish, который получил существенные изменения в предыдущем выпуске блога. Разработка web-приложения - достаточно длительный и сложный процесс, и мне необходимо его упорядочить по мере возможностей, поэтому для управления процессом разработки был выбран Git в качестве системы контроля версий, а при создании проекта в его базовом каталоге был...

Метки:  web, git, selfish

newbie

Опубликован:  2019-01-08T11:51:24.583783Z
Отредактирован:  2019-01-09T07:56:44.159204Z
1900

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

newbie

Опубликован:  2019-01-07T12:56:30.232090Z
Отредактирован:  2019-01-08T11:57:15.753848Z
5200

Разработка web-приложений на текущий момент времени является самой обширной прикладной областью использования Python. Задачи, с которыми сталкивается программист при разработке web, достаточно разнообразны, а наилучшим способом изучения web-разработки, наверно, является практика. Эта демонстрация открывает цикл статей, в которых я покажу разработку небольшого web-приложения в...

newbie

Опубликован:  2018-12-27T07:54:39.955387Z
Отредактирован:  2019-01-07T12:59:51.198962Z
1100

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

Метки:  web, frontend, backend

newbie

Опубликован:  2018-12-25T12:19:22.927404Z
Отредактирован:  2018-12-26T04:18:14.901732Z
1000

Продолжаем подготовку рабочего места к web-разработке на Python3 на пакетной базе Debian stretch. В этой статье я уделю внимание системе контроля версий и расскажу как получить и настроить Git на десктопе Debian stretch, который был выбран за основу для рабочего места web-программиста. Поскольку разработка web-приложения занимает достаточно продолжительный период времени и, как...

newbie

Опубликован:  2018-12-18T12:07:55.413094Z
Отредактирован:  2018-12-19T03:23:51.458646Z
2300

Продолжаем подготовку рабочего места к web-разработке на Python3 на пакетной базе Debian stretch. На этот раз я расскажу об одном из возможных вариантов организации инфраструктуры рабочего места web-разработчика и покажу, что можно сделать в том случае, когда у вас под рукой только бюджетный лэптоп и нелимитированное по трафику и времени соединение с Интернет. Любое...

newbie

Опубликован:  2018-12-12T07:44:17.326732Z
Отредактирован:  2018-12-19T03:30:10.720107Z
1800

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

newbie

Опубликован:  2018-12-10T06:56:13.825521Z
1400

Прежде чем начать писать о разработке web-приложений на Python3, мне хотелось бы своими словами и в доступных образах разобрать некоторые основополагающие моменты и термины, касающиеся непосредственно разработки программ на Питоне в целом. В этом выпуске поговорим о пространстве имён, его видах и вкратце коснёмся интерактивной отладки кода. Каждая программа написанная на Питоне...

newbie

Опубликован:  2018-11-26T06:52:24.967851Z
1300

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

newbie

Опубликован:  2018-11-19T06:29:55.846156Z
Отредактирован:  2018-11-26T06:59:57.866925Z
2000

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

newbie

Опубликован:  2018-11-02T10:43:00.469587Z
1400

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

Метки:  python3x, str, list, int, sort

newbie

Опубликован:  2018-10-29T08:45:40.843802Z
2300

Разработка приложений с GUI на Python3 может быть организована на базе различных фреймворков, один из таких фреймворков - PyQt5. В этой презентации я рассмотрю установку необходимых пакетов для разработки GUI-приложений с PyQt5 и Python3 на пакетной базе Debian stretch. Debian stretch - современная разносторонняя операционная система, и является она таковой в основном за счёт...

newbie

Опубликован:  2018-10-16T12:10:34.274024Z
600

В web-разработке для хранения и обработки данных часто используется база данных PostgreSQL. Взаимодействие с этой базой данных в коде Python3 обычно осуществляется при помощи специального адаптера - библиотеки psycopg2. Процесс установки этой библиотеки в виртуальное окружение имеет некоторые характерные особенности, которые и будут рассмотрены в данном обзоре. Для этой...

newbie

Опубликован:  2018-10-12T06:10:06.253348Z
1700

Переменные окружения Linux предоставляют простой и надёжный способ хранить и передавать настройки различным приложениям в системе. При разработке web-приложений с Python3, когда код приложения хранится в открытом git-репозитории, использование переменных окружения позволяет скрыть приватные данные в конфигурационных файлах разрабатываемого приложения. Ниже речь пойдёт о...

Метки:  linux, python3x, stdlib, os

newbie

Опубликован:  2018-10-09T08:08:37.566335Z
1300

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