Сегодня начнём делать собственное приложение для ведения бюджета — с графическим интерфейсом, базой данных и кросс-платформенностью. Для этого нам понадобится освежить знания про базы данных:
- База данных — это способ хранения данных в одном месте.
- Внутри базы могут храниться разные данные: фото, текст, музыка, числа, код, ссылки, цены и что угодно ещё.
- Когда говорят про базы данных, чаще всего имеют в виду табличные базы данных — те, где информация хранится в таблицах.
- Пример табличной базы — MySQL. Она многое умеет, к ней написано много документации и правил, поэтому начинают обычно с неё.
- Чтобы управлять данными в базе, используют специальный язык запросов к базе — SQL.
- У Python есть поддержка встраиваемой базы данных SQLite — она тоже поддерживает SQL, но для неё не нужно разворачивать и настраивать отдельную систему управления.
Ещё нам понадобится графический интерфейс. Для начала сделаем всё на простой библиотеке Tkinter, а потом, может, перейдём и на PySimpleGUI. Такой интерфейс нам нужен для того, чтобы управлять бюджетом можно было с помощью полей ввода и кнопок, а не из командной строки.
Как создать программу для Windows? Как стать программистом?
Всё будем писать на Python, поэтому его тоже нужно установить и настроить, если ещё не.
Логика проекта
Для начала мы сделаем простую версию программы, чтобы разобраться. У неё будет простой интерфейс и не будет поддержки горячих клавиш. Зато мы сразу проверим базу данных в деле.
Что программа будет уметь на старте:
- запоминать введённые покупки, их стоимость и комментарии к ним;
- удалять записи;
- искать по названию покупки;
- изменять выбранные записи;
- закрывать окно и спрашивать подтверждение выхода.
Это будет наша минимальная рабочая версия. Потом мы будем доводить её до ума.
Подключаем и настраиваем базу данных
Вся соль нашего приложения — в базе данных. В ней будут храниться все расходы, а в интерфейсе мы будем их выводить.
Чтобы было проще работать с базой, создадим отдельный класс — в нём мы опишем все действия, которые можно делать с базой данных, а потом будем вызывать их в программе.
Если не знаете, что такое «класс» в программировании, вот вам простое объяснение.
В классе у нас будет два особых метода — конструктор и деструктор.
Конструктор выполняется в момент создания объекта. В нём мы пропишем название файла с базой данных и создадим таблицу, если её ещё нет.
Деструктор выполняет команды при завершении программы. Чтобы случайно не повредить базу, мы в деструкторе пропишем команду отсоединения от неё.
Все остальные методы — это просто обёртки SQL-команд. То есть смотрите: чтобы работать с базой данных, нужно давать ей особые команды. У них есть какой-то свой синтаксис. Нам не очень хочется каждый раз вспоминать этот синтаксис, поэтому мы «завернём» эти команды в более понятные нам.
Получается, что эти методы — это как бы переводчик с нашего языка на язык базы данных. Мы скажем База_данных.запомнить_трату(такую-то) , а уже метод внутри этого объекта сам сформулирует правильный запрос, проверит подключение к базе, запишет строчку в базу, проверит эту строчку и т. д.
Читайте комментарии, чтобы разобраться, что происходит внутри каждого метода. Сейчас программа не делает ничего, кроме описания класса, поэтому при запуске мы тоже ничего не увидим.
# подключаем библиотеку для работы с базой данных import sqlite3 # создаём класс для работы с базой данных class DB: # конструктор класса def __init__(self): # соединяемся с файлом базы данных self.conn = sqlite3.connect(«mybooks.db») # создаём курсор для виртуального управления базой данных self.cur = self.conn.cursor() # если нужной нам таблицы в базе нет — создаём её self.cur.execute( «CREATE TABLE IF NOT EXISTS buy (id INTEGER PRIMARY KEY, product TEXT, price TEXT, comment TEXT)») # сохраняем сделанные изменения в базе self.conn.commit() # деструктор класса def __del__(self): # отключаемся от базы при завершении работы self.conn.close() # просмотр всех записей def view(self): # выбираем все записи о покупках self.cur.execute(«SELECT * FROM buy») # собираем все найденные записи в колонку со строками rows = self.cur.fetchall() # возвращаем сроки с записями расходов return rows # добавляем новую запись def insert(self, product, price, comment): # формируем запрос с добавлением новой записи в БД self.cur.execute(«INSERT INTO buy VALUES (NULL. )», (product, price, comment,)) # сохраняем изменения self.conn.commit() # обновляем информацию о покупке def update(self, id, product, price): # формируем запрос на обновление записи в БД self.cur.execute(«UPDATE buy SET product=?, price=? WHERE (product, price, id,)) # сохраняем изменения self.conn.commit() # удаляем запись def delete(self, id): # формируем запрос на удаление выделенной записи по внутреннему порядковому номеру self.cur.execute(«DELETE FROM buy WHERE (id,)) # сохраняем изменения self.conn.commit() # ищем запись по названию покупки def search(self, product=»», price=»»): # формируем запрос на поиск по точному совпадению self.cur.execute(«SELECT * FROM buy WHERE product=?», (product,)) # формируем полученные строки и возвращаем их как ответ rows = self.cur.fetchall() return rows # создаём экземпляр базы данных на основе класса db = DB()
Создаём интерфейс
Обучение программированию с нуля – пошаговое руководство для начинающих. Десять шагов от чайника к программисту-профессионалу
Сегодня многих интересует, можно ли научиться программировать с нуля.
Все мы слышали истории о том, что люди, которые занимаются этим делом, имеют огромные доходы, ездят на Бали каждые выходные и в первые месяцы своей работы смогли купить квартиры всем своим родственникам.
В принципе, это недалеко от правды, но для таких результатов нужен опыт и репутация. А начинать нужно с самого простого. Мы рассмотрим, какие шаги необходимо выполнить человеку, который вообще ничего не знает о написании программ, чтобы в будущем ездить на Бали и покупать недвижимость.
- Шаг первый. Подготовка
- Шаг второй. Выбор первого языка
- Шаг третий. Изучение компиляторов
- Шаг четвертый. Первый код
- Шаг пятый. Пройдите онлайн тренинг
- Шаг шестой. Изучите книги
- Шаг седьмой. Будьте в курсе
- Шаг восьмой. Найдите учителя
- Шаг девятый. Анализируйте чужую работу
- Шаг десятый. Зарабатывайте!
Шаг первый. Подготовка
Нередко начинающие программисты не могут достичь успеха по той простой причине, что изначально не смогли правильно расставить приоритеты.
Они представляют данное ремесло как что-то романтическое, динамичное – прямо какой-то постоянный экшн.
В фильмах этот процесс показывается совсем не таким, какой он есть на самом деле.
Более того, там вообще не отображается само написание кодов, нам показывают только события, которые вращаются вокруг этого.
Яркий пример тому – фильм «Социальная сеть», в котором вообще не показывали, как главные герои занимаются кодами.
Рис. 1. Кадры из фильма «Социальная сеть» (2010)
Также в фильмах показывают, что программистом может стать любой человек без знаний, опыта и даже без серого вещества в мозге. В данном случае можно вспомнить фильм «Кадры».
Рис. 2. Постер к фильму «Кадры» (2013)
Так что если вы просто пропитались духом всевозможных кинолент и хотите самостоятельно начать «кодить», программирование – это явно не для вас.
Вот вам правда о рассматриваемом ремесле – программирование это:
- часы, а иногда и сутки монотонной работы, во время которой нельзя расслабляться, нужно всегда быть сосредоточенным;
- бесконечное обучение в погоне за последними тенденциями в данной области;
- однотипные проекты с заказчиками, которые сами не знают, чего они хотят и как это должно выглядеть.
Что касается последнего, то вам обязательно стоит посмотреть ролик про семь красных линий разного цвета, одна из которых в виде котенка. В принципе, это близко к правде, так как заказчики часто требуют невозможного. Также бывает, что они заказывают что-то, но результат их постоянно не устраивает.
Если вы все это осознаете и готовы окунуться в удивительный мир программирования, то приступайте к следующему шагу.
Шаг второй. Выбор первого языка
Существует огромное количество языков программирования. По некоторым подсчетам их число уже достигло нескольких тысяч.
Согласно рейтингу журнала IEEE Spectrum наиболее популярными на сегодняшний день являются такие языки, как C, Java и Python. Ниже представлена первая десятка данного рейтинга.
Рис. 3. Рейтинг языков по версии IEEE Spectrum
Вообще, С – это один из самых простых языков, который дает основу всему остальному. Более того, его элементы используются во многих других системах и программах.
Но интересно, что в хороших учебных заведениях, а также на курсах студенты изучают языки в таком порядке:
1 Pascal.
2 C++.
3 PHP и все, что связано с веб-программированием, а также SQL (это система, предназначенная для работы с базами данных путем запросов).
Дальше уже можно изучать все, что угодно, в зависимости от направления деятельности. Если коротко, существуют следующие варианты:
- Веб (разработка сайтов, онлайн систем и все, что с этим связано) – html (хотя его нельзя назвать полноценным языком программирования), PHP, Perl, Python, Ruby, Java, Groovy, а также технология ASP.NET.
- Пользовательское ПО (всевозможные программы вроде справочников, браузеров, мессенджеров и тому подобное) – Delphi, C, C++, C#.
- Пользовательское ПО для мобильных устройств – Java, Objective-C.
- Машинные разработки (работы с микропроцессорами и другими устройствами, проектирование робототехники) – Assembler, модификации С.
Кто-то также может внести в этот список так называемое программирование 1С. Не верьте профанам и ничего не знающим людям! Это совсем не программирование.
Когда вы познакомитесь с основами рассматриваемой работы, то поймете, почему так можно говорить.
Выбирайте то, что вам больше всего понравится.
Совет: Сделайте свой выбор сразу! Вы должны точно знать, в каком направлении будете развиваться и что изучать в дальнейшем.
Большинство специалистов также советуют начать свое обучение с Pascal. Такой вариант позволит
Вам написать самые простые программки и иметь общее представление о рассматриваемом ремесле в целом.
Можно сказать, что Паскаль – это некий мост. Человек, который просто хорошо знает математику, может перейти через него в мир программирования.
Как быстро создать программу для Android: конструктор AppsGeyser
Если вам необходимо быстро создать программу для Android, то рекомендую обратить внимание на конструктор AppsGeyser. Воспользовавшись им вы избавите себя от изучения программирования или расходов на профессиональных программистов. Если подготовить всю необходимую информацию заранее, то само создание приложения займет 30 секунд.
Инструкция по быстрому созданию программы для Android на AppsGeyser
- Зайдите на сайт appsgeyser.com и зарегистрируйтесь на нем.
- Нажмите зеленую кнопку «Create Now».
- Выберите шаблон мобильного приложения. Имеется три категории шаблонов: Web (перенос содержимого веб-сайтов, RSS-лент и т.п. на мобильные устройства), Media (работа с видео, включая YouTube, фотографиями, музыкой, книгами и т.п.), Game (несложные игры).
- На следующем шаге загрузится страница с полями, в которые необходимо ввести заранее подготовленную информацию. Состав этой информации зависит от выбранного шаблона. Если в течение нескольких секунд вы не начнете вводить данные, появится подсказка (на английском языке), помогающая создать собственную программу для Android.
- Дайте название своему приложению и введите его в поле «App name». В поле «Description» добавьте описание программы.
- Вы можете оставить иконку по умолчанию. Но лучше выбрать пункт «Custom icon» и загрузить собственную. Обратите внимание, что иконка должна иметь размер 512 х 512 пикселей.
- Далее можно зафиксировать портретную или ландшафтную ориентацию программы или оставить возможность вращения интерфейса вместе с поворотом устройства. Уточните категорию своего приложения в выпадающем списке «Category».
- Нажмите на кнопку «Create App». Появиться новая страница со ссылкой для скачивания сгенерированного приложения на свой компьютер.
Ваша программа для Android готова. Можете закачать ее на собственный сайт, добавить в Google Play, разослать друзьям по электронной почте и так далее.
Посмотрите видео от разработчиков AppsGeyser, поясняющее, как можно быстро создавать приложения для Android:
Конечно, с помощью AppsGeyser не напишешь такие программы для Android, как Castle Clash или OpenOffice. Но она позволяет взять быстрый старт в разработку мобильных приложений. Использование данного конструктора приложений для Android бесплатно. Согласно статистике, размещенной на главной странице сайта, с его помощью уже создан почти миллион приложений, а общее количество их установок превышает 680 миллионов.
Источник: kakdelateto.ru