Руководство по Python Bottle (Перевод) Часть 2 - Hello World

В предыдущей части мы рассмотрели установку Bottle:
Руководство по Python Bottle (Перевод) Часть 1 — Установка

В этой части мы пойдем дальше и рассмотрим простой пример приложения сайта «Hello World».

2. Простой пример («Hello World!»)
Здесь предполагается что у вас уже установлен Bottle, либо библиотека скопирована в папку проекта.

Начнем с очень простого примера «Hello World!»:
+ 0
- 0
  0
  • avatar

Руководство по Python Bottle (Перевод) Часть 1 - Установка

Это руководство познакомит вас с концепциями и возможностями фреймворка Bottle. Данное руководство можно читать от начала и до конца, как учебный материал для ознакомления. Также можно использовать руководство как справочник для ознакомления с интересующими особенностями фреймворка Bottle.
Данное руководство является адаптированным переводом информации с ресурса BOTTLEPY.ORG от 20.04.2017г.

В руководстве местами содержатся некоторые мои комментарии и дополнения. Поэтому, это не дословный перевод, но надеюсь достаточно качественный.

Итак, приступим.
+ 0
- 0
  0
  • avatar

Описание функции ADDDATE в MySQL (с типами временных интервалов)

Функция ADDDATE возвращает переданное в нее время определяемое первым параметром, с добавленным временным интервалом, который определяется вторым параметром.

Синтаксис:
ADDDATE(date, INTERVAL expr type)

У функции ADDDATE() существует синоним DATE_ADD().

Второй параметр в функции начинается ключевым словом INTERVAL, после которого следует значение и тип
этого значения.

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

! Есть упрощённый формат записи функции ADDDATE(date,days) — где days — дни.

Пример использования функции:
mysql> select adddate('2017-03-29', interval 15 day);
+----------------------------------------+
| adddate('2017-03-29', interval 15 day) |
+----------------------------------------+
| 2017-04-13                             |
+----------------------------------------+

+ 0
- 0
  0
  • avatar

JavaScript - Основы, как это работает и как тестировать (Часть 2).

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

В этой публикации мы рассмотрим пример добавления в нашу страничку «няшных» кнопочек и полей ввода, с использованием Bootstrap и библиотеки JQuery.

Итак, приступим.
+ 0
- 0
  0
  • avatar

Функции необратимого шифрования в MySQL (MD5,PASSWORD,SHA1)

В данной публикации будут рассмотрены некоторые функции необратимого шифрования применяемые в СУБД MySQL.

Функция MD5() — производит необратимое шифрование входящих данных по алгоритму MD5 (Message-Digest Algoritm).

Функция принимает на вход строку и возвращает 128-битную контрольную сумму, вычисляемую по алгоритму MD5. Возвращаемое значение — это 32-разрядное шестнадцатиричное число, уникальное для каждой строки. Если строки отличаются хотя бы одним символом, то результат выполнения функции MD5() для этих строк будет разный, для двух одинаковых строк — результат будет всегда одинаков.
+ 0
- 0
  0
  • avatar

Кадры решают всё!

«Кадры решают всё» — знаменитая фраза, которую приписывают Вождю народов И.В. Сталину, актуальна всегда, но сегодня актуальна как никогда ранее.

Кадры решают всё

С кадрами проблемы везде и всюду, достаточно просто оглядеться вокруг. Некомпетентность, халатность и самое главное, безразличие к результату своего труда — огромная проблема современной России. От этих проблем у нас всё чаще случаются аварии на жизненно важных объектах (например: Саяношушенская ГЭС), но я вернусь в знакомую более всего для меня IT — отрасль.

Здесь всё, что я буду говорить далее, относится к Красноярску, возможно в других регионах иначе — но в Красноярске сейчас дела обстоят именно так.
+ 0
- 0
  0
  • avatar

Объединение выборок UNION, INTERSECT, MINUS в Oracle (PL/SQL)

В Oracle присутствует возможность объединять выборки. Для объединения используются операторы: UNION (с вариацией UNION ALL), INTERSECT и MINUS. Рассмотрим работу всех этих операторов.

1. UNION и UNION ALL

UNION — объединяет наборы данных, но при этом исключает дублирующие записи, тоесть если у вас в первом и во втором наборе есть одинаковая запись то в результирующем наборе будет только одна такая запись.
UNION ALL — объединяет наборы данных и оставляет дублирующие записи, тоесть если в первом и во втором наборе есть одинаковые записи то в результирующем наборе будут все эти записи.

Для экспериментов, создадим две таблицы и заполним их тестовыми данными.
+ 0
- 0
  0
  • avatar

Функции AES_ENCRYPT и AES_DECRYPT в MySQL

Функции AES_ENCRYPT() и AES_DECRYPT() производят симметричную шифровку и дешифровку данных с использованием алгоритма AES (Advanced Encryption Standard), при этом используется кодирование с 128-битным ключом. Есть возможность расширить до 256-бит, но как стандарт в MySQL выбран 128-битный, как достаточный по надёжности и более быстрый.

Синтаксис функций:
AES_ENCRYPT('Шифруемая строка','Ключ');
AES_DECRYPT('Дешифруемая строка','Ключ');
--Входные параметры AES_ENCRYPT() могут быть любой длины.
--Если любой из входных параметров равен NULL - то и результат выполнения тоже будет NULL.
--Ключ в AES_DECRYPT() должен совпадать с ключом в AES_ENCRYPT().


Приведем рабочий пример работы с функциями:
+ 0
- 0
  0
  • avatar

XML в Oracle PL/SQL (Часть 2 - Выборки в виде XML)

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

На практике выяснилось, что для Oracle в большинстве случаев не существенно, вернуть ли набор записей или сформированную готовую XML этого набора записей — по времени выполнения эти действия субъективно практически равноценны. Но вот если у вас есть потребность в формировании некоторой XML структуры в приложении на основе данных полученных из БД Oracle, практически наверняка это будет довольно ресурсоемкое мероприятие, гораздо легче переложить этот функционал на базу данных, хотя на первый взгляд и кажется что это не то, чем должен заниматься движок базы данных.
+ 0
- 0
  0
  • avatar

Работа с XML в Oracle PL/SQL (Часть 1)

В этой публикации я приведу основные способы работы с XML в Oracle, которые сам использую.

Здесь будут рассмотрены на примерах такие операторы и функции как: XMLType, XMLElement, xmlattributes, XMLAGG, XMLSequence, insertchildxml, xmlconcat.

Итак начнем с объявления переменной в которой будем хранить текст XML.
Делается это так:
declare
  --Задаем переменную
  my_var XMLType;
begin
  --Присваиваем значение нашей переменной
  my_var:= XMLType('<root><item>Просто пробуем XML в Oracle</item></root>');
  --Выводим в вывод
  dbms_output.put_line(my_var.GetClobVal());
end;


Для начала рассмотрим некоторые приёмы работы с XML, чуть позже перейдем к генерации XML из данных при выборке.
+ 0
- 0
  0
  • avatar