Compare commits

..

4 Commits

Author SHA1 Message Date
c36bbc9678 local 2019-08-29 17:19:41 +03:00
5661034292 Qt: Обмен бинарными данными 2019-06-20 06:56:39 +03:00
322cd0643e next 2019-06-03 16:39:27 +03:00
bf0c4a6c26 next 2019-06-03 10:49:50 +03:00
11 changed files with 107 additions and 21 deletions

View File

@@ -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__

View File

@@ -1,6 +1,11 @@
Сайт ДСП
========
```sh
sudo apt-get install pelican asciidoctor ruby-asciidoctor-pdf plantuml yui-compressor
sudo gem install asciidoctor-diagram
```
Установка:
```sh

View File

@@ -36,7 +36,7 @@ SITENAME = 'ДСП'
SITEURL = 'https://dsp.246060.ru'
PATH = 'wiki'
CACHE_PATH = 'cache-full'
CACHE_PATH = 'cache'
TIMEZONE = 'Europe/Moscow'

View File

@@ -99,7 +99,7 @@ YUICOMPRESSOR_EXECUTABLE = "yui-compressor"
YUICOMPRESSOR_EXTRA_OPTIONS = ["--nomunge"]
#PLUGINS += ["yuicompressor-opt"]
#PDF_PROCESSOR = True
PDF_PROCESSOR = True
# Blogroll
LINKS = ()

View File

@@ -1 +0,0 @@
{"checksum":"81886ef1b8d31cdb2b865473bbeb2cf9","width":671,"height":550}

View File

@@ -1 +0,0 @@
{"checksum":"e76d88ee3db613b3f806d8c773281fdc","width":685,"height":363}

View File

@@ -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` | |Сравнить рабочий каталог и индекс

View 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