<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[红泥屋]]></title><description><![CDATA[许阳的博客]]></description><link>https://blog.csdn.net/TX_OfficeDev</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; TX_OfficeDev]]></copyright><item><title><![CDATA[Docker / Podman 建立MongoDB 副本集群]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/111357116</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/111357116</guid><author>TX_OfficeDev</author><pubDate>Fri, 18 Dec 2020 12:56:53 +0800</pubDate><description><![CDATA[Docker / Podman 建立MongoDB 副本集群Docker / Podman 建立MongoDB 副本集群建立生成Docker-compose.yaml脚本Docker 下部署：拷贝脚本到要部署的机器上登录目标机器，执行脚本建立相关目录
Docker / Podman 建立MongoDB 副本集群

本文介绍的MongoDB副本集群建立方法只能在Linux系统上使用，其他类Unix系统不适用于此方法。

建立生成Docker-compose.yaml脚本
建立mongoReplSetBuild]]></description><category></category></item><item><title><![CDATA[树莓派4B连接KY008激光头]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/110306772</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/110306772</guid><author>TX_OfficeDev</author><pubDate>Sun, 29 Nov 2020 11:13:01 +0800</pubDate><description><![CDATA[树莓派4B接KY008激光头是一个比较简单的应用。只要接线正确就能很快的跑起来。

首先我们先有知道KY008激光头的每一个引脚的接法：





下面是实物连接的照片



然后在Raspberry Pi 4上运行下面的Python脚本就可以控制激光头了（前提是你的树莓派已经安装了Python3和RPI.GPIO模块）：


#!/usr/bin/python3
# -*- coding:utf-8 -*-
import RPi.GPIO as GPIO
import time

LaserGPIO = ]]></description><category></category></item><item><title><![CDATA[树莓派4Mode B（Raspberry Pi 4B）进行.NET Core IoT]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/110259733</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/110259733</guid><author>TX_OfficeDev</author><pubDate>Sat, 28 Nov 2020 10:21:37 +0800</pubDate><description><![CDATA[树莓派4Mode B（Raspberry Pi 4B）进行.NET Core IoT
]]></description><category></category></item><item><title><![CDATA[Vcpkg与Vcpkg_cli的安装及sqlite3库的编译]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/105931125</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/105931125</guid><author>TX_OfficeDev</author><pubDate>Tue, 05 May 2020 13:09:59 +0800</pubDate><description><![CDATA[最近使用rust写程序的时候需要sqlite3库的支持。找了一下资料发现要在Windows下完成这个任务需要 vcpkg 和 vcpkg_cli 的支持。所以写这个博客来记录具体的实现过程

安装vcpkg

首先要从


git clone https://github.com/Microsoft/vcpkg.git

克隆下vcpkg的库



然后确保你的Visual Studio已经安装了...]]></description><category></category></item><item><title><![CDATA[搭建Gitolite服务及使用git-daemon]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/105593123</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/105593123</guid><author>TX_OfficeDev</author><pubDate>Sat, 18 Apr 2020 09:09:11 +0800</pubDate><description><![CDATA[Gitolite 是一个新量级的Git服务，特别适合个人用户在网上建立自己的Git仓库。本文将描述如何建立Gitolite服务并设置 git-daemon 监听


前置必要条件：


	Linux 系统（本文描述中使用的是CentOS 7）
	
	
	git（可以使用系统自带的也可以自己编译，本文描述中所提到的git是自己编译的）
	
	
	git-daemon（可以使用系统自带的也可以自己编...]]></description><category></category></item><item><title><![CDATA[使用Rusqlite操作sqlite数据库]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/105497384</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/105497384</guid><author>TX_OfficeDev</author><pubDate>Mon, 13 Apr 2020 21:05:39 +0800</pubDate><description><![CDATA[[dependencies]
rusqlite = "0.22.0"


use rusqlite::{params, Connection, Result};

#[derive(Debug)]
struct Person {
    id: i32,
    name: String,
}

fn main() {
    let con = Connection::open_in_memo...]]></description><category></category></item><item><title><![CDATA[rust 获取UserDefaultLocaleName]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/105011592</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/105011592</guid><author>TX_OfficeDev</author><pubDate>Sat, 21 Mar 2020 16:11:19 +0800</pubDate><description><![CDATA[[package]
name = "culture_test"
version = "0.1.0"
authors = ["许阳 &lt;mksword@126.com&gt;"]
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifes...]]></description><category></category></item><item><title><![CDATA[rust在Windows操作系统下获取LCID]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/104954036</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/104954036</guid><author>TX_OfficeDev</author><pubDate>Wed, 18 Mar 2020 21:25:09 +0800</pubDate><description><![CDATA[在Linux系统下我们可以通过std::env::var（“LANG”）来获取操作系统的语言信息。但是在Windows下std::env::var("LANG")是没有值 的。这个时候就需要用到winapi了。

cargo.toml:


[package]
name = "winapi_sample"
version = "0.1.0"
authors = ["许阳 &lt;mksword@1...]]></description><category></category></item><item><title><![CDATA[CentOS 8 安装Cockpit并配置证书]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/104858626</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/104858626</guid><author>TX_OfficeDev</author><pubDate>Sat, 14 Mar 2020 12:56:26 +0800</pubDate><description><![CDATA[首先，我们创建一个用户并设置密码（我的root是不能用密码登录的）用于登录Cockpit。

然后，我们给新建的用户分配sudo权限。

安装lrzsz与socat。

安装podman与podman-docker。

新建www文件夹与nginx文件夹。

向nginx文件夹下上传或手动生成一个nginx.conf。代码如下
user root;
worker_processes auto;
e...]]></description><category></category></item><item><title><![CDATA[Rust本地化实现 —— fluent]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/104601002</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/104601002</guid><author>TX_OfficeDev</author><pubDate>Sun, 01 Mar 2020 21:51:47 +0800</pubDate><description><![CDATA[Fluent是一种新的I18n实现规范。在Rust中有实现fluent-rs项目。本篇介绍以这种技术实现本地化。

文件结构：



message.ftl:


hello = 您好！世界！

Cargo.toml:


[package]
name = "fluentSample"
version = "0.1.0"
authors = ["许阳 &lt;mksword@1126.com&gt...]]></description><category></category></item><item><title><![CDATA[rust的模块]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/104519266</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/104519266</guid><author>TX_OfficeDev</author><pubDate>Wed, 26 Feb 2020 19:06:44 +0800</pubDate><description><![CDATA[前言：本篇及涉及到的rust的模块组织方面的知识是基于rust2018版的。cargo版本是1.14.0


]]></description><category></category></item><item><title><![CDATA[用sed去除单引号和双引号的操作]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/104483802</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/104483802</guid><author>TX_OfficeDev</author><pubDate>Mon, 24 Feb 2020 19:50:30 +0800</pubDate><description><![CDATA[sed -i 's/'"'"'\(.*\)'"'"'/\1/g' test.txt


sed -i 's/"\(.*\)"/\1/g' test.txt




]]></description><category></category></item><item><title><![CDATA[在Sqlite中实现RowNumber功能]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/104471329</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/104471329</guid><author>TX_OfficeDev</author><pubDate>Mon, 24 Feb 2020 06:32:57 +0800</pubDate><description><![CDATA[SELECT
	ROWID,
	( SELECT COUNT( 1 ) FROM `Weight` b WHERE a.`Date` &gt;= b.`Date` ) AS `ROWNUMBER`,
	a.* 
FROM
	`Weight` a 
ORDER BY
	a.` Date`


SELECT
	ROWID,
	( SELECT COUNT( 1 ) FROM `Weight` b W...]]></description><category></category></item><item><title><![CDATA[关于MySql/Mariadb上UUID在C#上的处理]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/104455248</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/104455248</guid><author>TX_OfficeDev</author><pubDate>Sun, 23 Feb 2020 10:08:15 +0800</pubDate><description><![CDATA[在C#中处理MySql/Mariadb中的UUID最简单的方法是把Guid直接转换成CHAR(36)存到MySql/Mariadb数据库中。但是，这样的话有一定局限性，那就是当数据表对大小写敏感时，查询时可能因为大小写的问题找不到正确的UUID值。在Mariadb的官方文档上推荐的是将UUID存储为Binary(16)。并给出了两个用来处理UUID的函数：


DELIMITER //

CREA...]]></description><category></category></item><item><title><![CDATA[Rust调用toml库读取toml文件]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/104138600</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/104138600</guid><author>TX_OfficeDev</author><pubDate>Sat, 01 Feb 2020 21:24:20 +0800</pubDate><description><![CDATA[接前一期的toml文件，我这次用rust实现读取。我用的rust版本是1.41.0。程序写法可能与老的rust有差别。请使用老版本rust的读者注意。


use serde_derive::Deserialize;
use toml::value::*;

use std::fs::File;
use std::io::prelude::*;

#[derive(Deserialize)]
#[...]]></description><category></category></item><item><title><![CDATA[Python 读取Toml文件]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/103831718</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/103831718</guid><author>TX_OfficeDev</author><pubDate>Sat, 04 Jan 2020 12:15:04 +0800</pubDate><description><![CDATA[Toml示例文件如前一篇。

代码：


# -*- coding: utf-8 -*-
from sys import argv
from os.path import exists
from toml import load


if __name__ == '__main__':
    if len(argv) &lt; 2:
        print('缺少必要参数!')
      ...]]></description><category></category></item><item><title><![CDATA[Tomlyn读取tom文件]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/103810749</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/103810749</guid><author>TX_OfficeDev</author><pubDate>Thu, 02 Jan 2020 20:52:29 +0800</pubDate><description><![CDATA[TOML作为一种新的设定文件十分有用，以下是读取方法：

TOML源文件：


# This is a TOML document. Boom.

title = "TOML Example"

# Line breaks are OK when inside arrays
hosts = [
  "alpha",
  "omega"
]

[owner]
name = "Tom Preston-...]]></description><category></category></item><item><title><![CDATA[Rust判断操作系统代码]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/103795102</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/103795102</guid><author>TX_OfficeDev</author><pubDate>Wed, 01 Jan 2020 19:12:45 +0800</pubDate><description><![CDATA[fn main() {
    if cfg!(target_os = "windows") {
        println!("Hello Windows");
    }else if cfg!(target_os = "linux"){
        println!("Hello Linux");
    }else{
        println!("Unknown os");...]]></description><category></category></item><item><title><![CDATA[SqlServer死锁与阻塞检测脚本]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/49250549</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/49250549</guid><author>TX_OfficeDev</author><pubDate>Mon, 19 Oct 2015 15:24:24 +0800</pubDate><description><![CDATA[IF EXISTS (SELECT * FROM sysobjects WHERE [name] = 'sp_Lock_Scan')
	DROP PROCEDURE sp_Lock_Scan
GO

CREATE PROCEDURE sp_Lock_Scan
AS
	DECLARE @SPID INT
	DECLARE @BLK INT
	DECLARE @Count INT
	DECLARE @]]></description><category></category></item><item><title><![CDATA[SqlDbType与DbType这间的转换关系]]></title><link>https://blog.csdn.net/TX_OfficeDev/article/details/49100027</link><guid>https://blog.csdn.net/TX_OfficeDev/article/details/49100027</guid><author>TX_OfficeDev</author><pubDate>Tue, 13 Oct 2015 16:07:02 +0800</pubDate><description><![CDATA[SqlDbType => DbType
SqlDbType.BigInt				DbType.Int64
SqlDbType.Binary				DbType.Binary
SqlDbType.Bit					DbType.Boolean
SqlDbType.Char					DbType.AnsiStringFixedLength
SqlDbType.DateTime				DbType.Da]]></description><category></category></item></channel></rss>