Compare commits
4 Commits
3b34f960b5
...
adoc
| Author | SHA1 | Date | |
|---|---|---|---|
| c36bbc9678 | |||
| 5661034292 | |||
| 322cd0643e | |||
| bf0c4a6c26 |
8
Makefile
8
Makefile
@@ -1,9 +1,9 @@
|
||||
build:
|
||||
pelican
|
||||
pelican -s pelicanconf.py
|
||||
|
||||
pdf:
|
||||
pelican -s pelicanconf-full.py
|
||||
web:
|
||||
pelican -s pelicanconf-web.py
|
||||
|
||||
clean:
|
||||
rm -rf cache-html cache-full cache __pycache__
|
||||
rm -rf cache __pycache__
|
||||
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
Сайт ДСП
|
||||
========
|
||||
|
||||
```sh
|
||||
sudo apt-get install pelican asciidoctor ruby-asciidoctor-pdf plantuml yui-compressor
|
||||
sudo gem install asciidoctor-diagram
|
||||
```
|
||||
|
||||
Установка:
|
||||
|
||||
```sh
|
||||
|
||||
@@ -36,7 +36,7 @@ SITENAME = 'ДСП'
|
||||
SITEURL = 'https://dsp.246060.ru'
|
||||
|
||||
PATH = 'wiki'
|
||||
CACHE_PATH = 'cache-full'
|
||||
CACHE_PATH = 'cache'
|
||||
|
||||
TIMEZONE = 'Europe/Moscow'
|
||||
|
||||
@@ -99,7 +99,7 @@ YUICOMPRESSOR_EXECUTABLE = "yui-compressor"
|
||||
YUICOMPRESSOR_EXTRA_OPTIONS = ["--nomunge"]
|
||||
#PLUGINS += ["yuicompressor-opt"]
|
||||
|
||||
#PDF_PROCESSOR = True
|
||||
PDF_PROCESSOR = True
|
||||
|
||||
# Blogroll
|
||||
LINKS = ()
|
||||
|
||||
2
plugins/thirdparty/asciidoctor
vendored
2
plugins/thirdparty/asciidoctor
vendored
Submodule plugins/thirdparty/asciidoctor updated: 9e0019a728...288c5aeba0
@@ -1 +0,0 @@
|
||||
{"checksum":"81886ef1b8d31cdb2b865473bbeb2cf9","width":671,"height":550}
|
||||
@@ -1 +0,0 @@
|
||||
{"checksum":"e76d88ee3db613b3f806d8c773281fdc","width":685,"height":363}
|
||||
@@ -49,16 +49,20 @@ sudo apt-get install git
|
||||
== Состояния
|
||||
|
||||
Файлы в рабочем каталоге могут отслеживаться системой контроля версий
|
||||
(tracked) или нет (untracked). Отслеживаемые файлы, которые на диаграмме
|
||||
(tracked) или нет (untracked). Отслеживаемые файлы, которые на
|
||||
<<states,диаграмме>>
|
||||
обозначены зелёным фоном, могут быть неизменёнными (unmodified),
|
||||
изменёнными (modified) или подготовленными к фиксации (indexed).
|
||||
|
||||
|
||||
[[states]]
|
||||
[.text-center]
|
||||
.Состояния
|
||||
[plantuml]
|
||||
----
|
||||
@startuml
|
||||
skinparam padding 16
|
||||
|
||||
participant untracked as "Неотслеживамые\n(untracked)"
|
||||
box "Отслеживаемые"
|
||||
participant staged as "Подготовленные к фиксации\n(indexed)" #55FF55
|
||||
@@ -77,15 +81,16 @@ staged -> untracked: git rm --cached
|
||||
----
|
||||
|
||||
Основные команды, осуществляющие взаимодействие между рабочим каталогом,
|
||||
индексом, локальным и удалённым репозиторием, приведены на диаграмме
|
||||
ниже.
|
||||
|
||||
индексом, локальным и удалённым репозиторием, приведены на <<commands,диаграмме>>.
|
||||
|
||||
[[commands]]
|
||||
[.text-center]
|
||||
.Команды
|
||||
[plantuml]
|
||||
----
|
||||
@startuml
|
||||
skinparam padding 16
|
||||
|
||||
participant workspace as "Рабочий каталог\n(working dir)"
|
||||
participant index as "Индекс\n(index)" #77FF77
|
||||
participant local as "Локальный репозиторий\n(local repository)" #FF7777
|
||||
@@ -112,6 +117,46 @@ index -[#blue]> workspace : git diff
|
||||
@enduml
|
||||
----
|
||||
|
||||
Пример последовательности действий, выполняемых пользователем в совместном
|
||||
проекте, приведён на <<workflow,диаграмме>>.
|
||||
|
||||
[[workflow]]
|
||||
[.text-center]
|
||||
.Последовательность действий
|
||||
[plantuml]
|
||||
----
|
||||
@startuml
|
||||
skinparam defaultFontSize 24
|
||||
skinparam padding 16
|
||||
|
||||
participant workspace as "Рабочий каталог\n(working dir)"
|
||||
participant index as "Индекс\n(index)" #77FF77
|
||||
participant local as "Локальный репозиторий\n(local repository)" #FF7777
|
||||
participant remote as "Удалённый репозиторий\n(remote repository)" #7777FF
|
||||
|
||||
[-> workspace : <font color=red>Начало работы</font>
|
||||
activate workspace
|
||||
remote -> local : <font color=red>Получение изменений с сервера</font>\n<b>git fetch</b>
|
||||
remote -> local : <font color=red>Обновление подмодулей</font>\n<b>git submodule update --remote</b>
|
||||
workspace <-> local : <font color=red>Просмотр информации</font>\n<b>git status</b>
|
||||
workspace <-> local : <font color=red>Переход на ветку master</font>\n<b>git checkout master</b>
|
||||
local -> workspace : <font color=red>Слияние с удалённой веткой</font>\n<b>git merge origin/master</b>
|
||||
local <-> workspace : <font color=red>Создание новой ветки</font>\n<b>git branch temp</b>
|
||||
local <-> workspace : <font color=red>Переход на новую ветку</font>\n<b>git checkout temp</b>
|
||||
workspace ->o workspace : <font color=red>Редактирование</font>
|
||||
workspace <-> local : <font color=red>Просмотр изменений</font>\n<b>git diff</b>
|
||||
workspace -> index : <font color=red>Занесение файлов в индекс</font>\n<b>git add</b>
|
||||
index -> local : <font color=red>Фиксация изменений</font>\n<b>git commit</b>
|
||||
local ->o local : <font color=red>Присвоение ветки осмысленного названия</font>\n<b>git branch -m temp branch_name</b>
|
||||
local ->o local : <font color=red>Переход на ветку</font>\n<b>git checkout branch_name</b>
|
||||
remote -> local : <font color=red>Получение изменений с сервера</font>\n<b>git fetch</b>
|
||||
local ->o local : <font color=red>Слияние изменений с сервера в текущую ветку (branch_name)</font>\n<b>git merge origin/master</b>
|
||||
local -> remote : <font color=red>Отправка ветки на сервер</font>\n<b>git push origin branch_name</b>
|
||||
remote ->] : <font color=red>Создание запроса на слияние</font>
|
||||
deactivate workspace
|
||||
@enduml
|
||||
----
|
||||
|
||||
== Настройка
|
||||
|
||||
[width="100%",cols="15%,35%,50%",options="header",]
|
||||
@@ -167,7 +212,7 @@ git rm <path/to/submodule>
|
||||
|
||||
== Фиксация
|
||||
|
||||
[width="100%",cols="15%,25%,60%",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git add` |`<filename>` |Подготовить файл `<filename>` к фиксации
|
||||
@@ -180,7 +225,7 @@ git rm <path/to/submodule>
|
||||
|
||||
== Удаление
|
||||
|
||||
[width="100%",cols="20%,20%,60%",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git rm` |`<filename>` |Удалить файл из индекса и рабочего каталога
|
||||
@@ -193,7 +238,7 @@ git rm <path/to/submodule>
|
||||
|
||||
== Информация
|
||||
|
||||
[cols=",,",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git status` |`-s` |Вывод информации о рабочем каталоге в краткой форме
|
||||
@@ -203,7 +248,7 @@ git rm <path/to/submodule>
|
||||
|
||||
== Удалённый репозиторий
|
||||
|
||||
[width="100%",cols="20%,20%,60%",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git remote` |`-v` |Список адресов удалённых репозиториев
|
||||
@@ -225,7 +270,7 @@ git rm <path/to/submodule>
|
||||
|
||||
== Отправка изменений
|
||||
|
||||
[width="100%",cols="20%,20%,60%",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git push` |`<remote> <branch>` |Отправить ветку `<branch>` в удалённый
|
||||
@@ -240,7 +285,7 @@ git rm <path/to/submodule>
|
||||
|
||||
== Получение изменений
|
||||
|
||||
[width="100%",cols="20%,20%,60%",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git fetch` |`<remote>` |Получить изменения из всех веток репозитория
|
||||
@@ -257,7 +302,7 @@ git rm <path/to/submodule>
|
||||
|
||||
== Ветки
|
||||
|
||||
[cols=",,",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git branch` |`-a` |Список локальных и удалённых веток
|
||||
@@ -279,7 +324,7 @@ git rm <path/to/submodule>
|
||||
|
||||
== Сравнение
|
||||
|
||||
[width="100%",cols="20%,20%,60%",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git diff` | |Сравнить рабочий каталог и индекс
|
||||
|
||||
38
wiki/Prog/Lang/CPP/Qt/Qt обмен бинарными данными с БД.adoc
Normal file
38
wiki/Prog/Lang/CPP/Qt/Qt обмен бинарными данными с БД.adoc
Normal file
@@ -0,0 +1,38 @@
|
||||
= Qt: обмен бинарными данными с БД
|
||||
:title-separator: {sp}|
|
||||
:category: Программирование
|
||||
:tags: программирование, qt, postgresql, бд
|
||||
|
||||
Таблица, с которой осуществляется обмен:
|
||||
|
||||
[source,sql]
|
||||
----
|
||||
CREATE TABLE example (
|
||||
id INTEGER,
|
||||
bin_data BYTEA
|
||||
);
|
||||
----
|
||||
|
||||
Запись данных:
|
||||
|
||||
[source,cpp]
|
||||
----
|
||||
const char cart[] = {0x04, 0x43, 0x00, 0x9A};
|
||||
QByteArray binDataArray(QByteArray::fromRawData(cart, 4));
|
||||
QSqlQuery query;
|
||||
query.prepare(QString("INSERT INTO example (id, bin_data) VALUES(:id, :bin_data)");
|
||||
query.bindValue(":id", 10, QSql::In);
|
||||
query.bindValue(":bin_data", binDataArray, QSql::In | QSql::Binary);
|
||||
query.exec();
|
||||
----
|
||||
|
||||
Чтение данных:
|
||||
|
||||
[source,cpp]
|
||||
----
|
||||
QSqlQuery query;
|
||||
query.exec("SELECT id, bin_data FROM example LIMIT 1");
|
||||
query.next();
|
||||
QByteArray binDataArray = query.value(query.record().indexOf("bin_data")).toByteArray();
|
||||
----
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 39 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB |
Reference in New Issue
Block a user