Automatic Compilation in local Gitlab

1
2
3
4
5
6
7
8
9
#prerequisite, openssh-server
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce
 
#sudo vim /etc/gitlab/gitlab.rb
# change external_url to local ip.
 
sudo gitlab-ctl reconfigure
#sudo cat /etc/gitlab/initial_root_password

Open browser, visit http://localhost, login as 'root'.

Admin -> CI/CD -> Runners -> Register an instance runner, and get the registration token.

1
2
3
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
sudo apt-get install gitlab-runner
sudo gitlab-runner register

.gitlab-ci.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
stages:
  - deps
  - build
  - test
  - deploy

cache:
  paths:
    - include
    - lib
    - bin

build-deps:
  stage: deps
  script:
    - echo "will build include and lib to parent directory..."
    - cd 3rdParty; ./build_all.sh

build-job:
  stage: build
  script:
    - g++ helloworld.cpp -o bin/helloworld

unit-test-job:
  stage: test
  script:
    - chmod +x helloworld.sh
    - ./helloworld.sh

lint-test-job:
  stage: test
  script:
    - sleep 10

deploy-job:
  stage: deploy
  environment: production
  script:
    - ./pack.sh
  artifacts:
    paths:
      - bin.tgz
    expire_in: 4 days

refer to:
https://blog.csdn.net/weixin_47358139/article/details/126267861
https://blog.csdn.net/qq_42001163/article/details/122938040
https://blog.51cto.com/flyfish225/2145495
https://blog.csdn.net/zyy247796143/article/details/123842374

Automation memo

Terms,

HM: 回零模式
PVM: 带规划的速度模式
PPM: 带规划的位置模式
CSP: 循环同步的位置模式
CSV: 循环同步的速度模式
CST: 循环同步的转矩模式

refer to:
https://www.cnblogs.com/cariohu/p/15508175.html
https://zhuanlan.zhihu.com/p/406496635
https://blog.csdn.net/m0_51220742/article/details/122348389

NVSDK_NGX_D3D12_Init failed, error code: -1160773631

-1160773631 = 0xBAD00001,

C:\ProgramData\NVIDIA Corporation\NVIDIA NGX SDK\1.1\Include\nvsdk_ngx.h

NVSDK_NGX_API NVSDK_NGX_Result  NVSDK_CONV NVSDK_NGX_D3D12_Init(unsigned long long InApplicationId, const wchar_t *InApplicationDataPath, ID3D12Device *InDevice, NVSDK_NGX_Version InSDKVersion = NVSDK_NGX_Version_API);

C:\ProgramData\NVIDIA Corporation\NVIDIA NGX SDK\1.1\Include\nvsdk_ngx_defs.h

enum NVSDK_NGX_Result
{
    NVSDK_NGX_Result_Success = 0x1,

    NVSDK_NGX_Result_Fail = 0xBAD00000,

    // Feature is not supported on current hardware
    NVSDK_NGX_Result_FAIL_FeatureNotSupported = NVSDK_NGX_Result_Fail | 1,
...

So, old boys, RIP.

Install ClickHouse

1
2
3
curl https://clickhouse.com/ | sh
sudo service clickhouse-server start
clickhouse-client

Qt code for connecting clickhouse is

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
 
int main(int argc, char *argv[])
{
	QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
	db.setHostName("192.168.22.129");
	db.setPort(9004);
	db.setDatabaseName("default");
	db.setUserName("default");
	db.setPassword("1");
	bool ok = db.open();
	if (!ok)
	{
		printf("error, %s\n", db.lastError().text().toStdString().c_str());
		return -1;
	}
	QSqlQuery query(db);
	query.exec("select * from Tst01;");
	while (query.next())
	{
		double price = query.value("Price").toDouble();
		QString name = query.value("Name").toString();
		printf("price:%f, name:%s\n", (float)price, name.toStdString().c_str());
	}
	return 0;
}

CMakeLists.txt

1
2
find_package(Qt5 COMPONENTS Core ... Sql ...)
target_link_libraries(exe_1 Qt::Core ... Qt::Sql ...)

Connection refused,

1
2
3
# /etc/clickhouse-server/config.xml
<listen_host>::</listen_host>
# sudo clickhouse restart

Dbeaver,

1
jdbc:clickhouse://192.168.22.129:8123

Python,

1
2
3
4
5
6
#pip install clickhouse_driver
from clickhouse_driver import Client
import pandas as pd
client = Client(host="192.168.22.129", port=9000, database="default", user="default", password="1")
table = client.query_dataframe("select * from Tst01;")
table.to_csv("d:\\aa.csv")

Sql,

1
TRUNCATE TABLE db.table;

refer to:
https://blog.csdn.net/csgarten/article/details/127439859
https://www.jianshu.com/p/aeb1053f4e96
https://github.com/ClickHouse/clickhouse-odbc/releases
https://blog.csdn.net/weixin_46076132/article/details/123462457
https://www.codenong.com/cs106775070/
https://blog.csdn.net/xiaoyw71/article/details/117692741

Run through dates in Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import datetime
 
def date_range(start_date, end_date):
	for n in range(int((end_date - start_date).days)):
		yield start_date + datetime.timedelta(n)
 
 
#start = datetime.datetime(2014, 11, 26, 0, 0, 0)
start = datetime.datetime.strptime("20230101", "%Y%m%d")
end = datetime.datetime.now()
 
for i in date_range(start, end):
	weekday = i.weekday() + 1
	if weekday == 6 or weekday == 7:
		continue
	print(i.strftime('%Y%m%d'))

refer to:
https://www.cnblogs.com/ChenKeng/articles/4141791.html
https://www.zkxjob.com/48467

Install Redis in WSL

1
2
3
4
5
6
7
8
9
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
sudo apt-get update
sudo apt-get install redis
 
# start server
redis-server
 
redis-cli
	config set requirepass 123123

Redis in python,

1
2
3
4
5
6
import redis
 
redis_pool = redis.ConnectionPool(host='127.0.0.1', port=6379, password='123123')
redis_conn = redis.Redis(connection_pool=redis_pool)
redis_conn.set('name_2', 'Zarten_2')
redis_conn.get('name_2')

Redis in Windows, https://github.com/tporadowski/redis/releases

redis.windows.conf
	#bind 127.0.0.1
	protected-mode no
	requirepass 123456
 
redis-server.exe redis.windows.conf
 
redis-cli -h 192.168.10.111 -p 6379

refer to:
https://www.jianshu.com/p/ec8b749cd842
https://blog.csdn.net/weixin_30456039/article/details/97497620
https://blog.csdn.net/csdnhxs/article/details/122450575

Move Ubuntu subsystem elsewhere in Windows

After installing an Ubuntu app from Micosoft Store, open an Administrator's prompt,

1
2
3
4
5
6
7
8
9
10
wsl -l -v
wsl --export Ubuntu-22.04 e:\cext\Ubuntu\ubuntu22.04.tar
 
# or unistall it through System Settings
wsl --unregister Ubuntu-22.04
 
wsl --import Ubuntu e:\cext\Ubuntu\ubuntu22 e:\cext\Ubuntu\ubuntu22.04.tar
 
# start Ubuntu as eu
wsl -d Ubuntu -u eu

refer to:
C:\Users\eu\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState
https://blog.csdn.net/popboy29/article/details/126854886
https://blog.csdn.net/csdn_life18/article/details/128246494