<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[javaldk的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/javaldk</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; javaldk]]></copyright><item><title><![CDATA[deepin 定时任务（crontab）]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/123025932</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/123025932</guid><author>javaldk</author><pubDate>Sun, 20 Feb 2022 00:36:54 +0800</pubDate><description><![CDATA[说明

Crontab 是 deepin 中周期性的执行任务的一个守护进程。

常用命令
sudo systemctl status cron			# 查看 crontab 服务状态
sudo systemctl start cron			# 启动
sudo systemctl stop cron			# 关闭
sudo systemctl restart cron			# 重启

cron.service 服务配置
$ cat /lib/systemd/system/cron.service
[Unit]]]></description><category></category></item><item><title><![CDATA[python3 selenium chrome 实例]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122655815</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122655815</guid><author>javaldk</author><pubDate>Sun, 23 Jan 2022 19:31:54 +0800</pubDate><description><![CDATA[import re,time
from selenium import webdriver
from selenium.webdriver.common.by import By

options = webdriver.ChromeOptions()
# 设置默认编码
options.add_argument('lang=zh_CN.UTF-8')
# Firefox 
options.add_argument('user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64]]></description><category></category></item><item><title><![CDATA[Selenium ChromeDriver的说明]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122654042</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122654042</guid><author>javaldk</author><pubDate>Sun, 23 Jan 2022 17:32:19 +0800</pubDate><description><![CDATA[示例
  from selenium import webdriver

  options = webdriver.ChromeOptions()
  # 设置默认编码
  options.add_argument('lang=zh_CN.UTF-8')
  # 设置 user-agent,模拟移动设备
  options.add_argument('user-agent="Opera/9.80 (Android 2.3.4; Linux; Opera Mobi/build-1107180945; U; ]]></description><category></category></item><item><title><![CDATA[Deepin Python3 Selenium ChromeDriver的安装]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122653730</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122653730</guid><author>javaldk</author><pubDate>Sun, 23 Jan 2022 17:12:42 +0800</pubDate><description><![CDATA[Deepin Selenium ChromeDriver
selenium官方 | selenium文档 | ChromeDriver下载地址

概述

Selenium（自动化测试工具）可以驱动浏览器执行特定的动作，如点击、下拉等操作。
Selenium WebDriver 接口webdriver.Firefox
webdriver.FirefoxProfile
webdriver.Chrome
webdriver.ChromeOptions
webdriver.Ie
webdriver.Opera
we]]></description><category></category></item><item><title><![CDATA[Daemon进程（守护进程）]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122650810</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122650810</guid><author>javaldk</author><pubDate>Sun, 23 Jan 2022 14:05:13 +0800</pubDate><description><![CDATA[Daemon进程 又称为守护进程，有以下特点：

生命周期长，一旦启动，正常情况下不会终止，一直运行到系统退出。
独立于终端之外，在后台执行，不与任何控制终端相关联。



在 Unix/Linux 的习惯上，Daemon进程的名字通常以 “d” 结尾，表示 守护进程。如：sshd、systemd、rsyslogd 等。


怎么判断一个进程是否为 daemon 进程？

该进程独立于终端，使用 ps axj 命令查看进程时，前台进程组ID(TPGID)显示为-1。

~$ ps axj
PPID  P..]]></description><category></category></item><item><title><![CDATA[使用 go mod 创建项目的过程]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122632157</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122632157</guid><author>javaldk</author><pubDate>Sat, 22 Jan 2022 00:47:18 +0800</pubDate><description><![CDATA[创建目录$ mkdir test
$ cd test


初始化 go mod, 生成 go.mod 文件// 初始化&lt;项目目录&gt;
test $ go mod init test
// 初始化指定依赖包
test $ go mod init example.com/m/v2


下载依赖包（excelize）test $ go get github.com/360EntSecGroup-Skylar/excelize/v2


实例：生成 xls 表格package main
import (.]]></description><category></category></item><item><title><![CDATA[Golang 的包依赖管理]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122632087</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122632087</guid><author>javaldk</author><pubDate>Sat, 22 Jan 2022 00:39:21 +0800</pubDate><description><![CDATA[概述

Go 语言的 包依赖管理 一直都被大家所诟病，从最初的 GOPATH 到 GO VENDOR，再到最新的 GO Modules，走了不少的弯路。
目前最主流的包依赖管理方式是使用官方推荐的 Go Modules，版本 Go v1.14++，官方强烈推荐使用 Go Modules。

包依赖管理


最原始的 GOPATH 模式

$GOPATH/src 目录下进行管理的方式，我们称之为 GOPATH 模式。~/go $ ll
... 17 10:54 bin   # 存放编译后生成的二进制可执行文件]]></description><category></category></item><item><title><![CDATA[deepin 编译安装 php7.4]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122631211</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122631211</guid><author>javaldk</author><pubDate>Sat, 22 Jan 2022 00:04:31 +0800</pubDate><description><![CDATA[deepin 编译安装 php7.4

扩展的安装

基础的扩展包sudo apt-get install -y gcc autoconf automake libtool cmake m4 bison re2c


依赖的扩展包sudo apt-get -y install libwebp-dev libjpeg-dev libxpm-dev libzip-dev libxslt1-dev libmcrypt-dev libsqlite3-dev libcurl4-openssl-dev libssl-d]]></description><category></category></item><item><title><![CDATA[Visual Studio Code 中 Python3 的配置]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122631034</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122631034</guid><author>javaldk</author><pubDate>Fri, 21 Jan 2022 23:02:27 +0800</pubDate><description><![CDATA[安装扩展（Extensions, Ctrl+Shift+X）

python 扩展
chinese（简体中文）



设置默认解释器

位置（文件 &gt; 首选项 &gt; 设置）
查询（python.pythonPath）
设置默认解释器的路径/usr/local/bin/python3.10





创建 hello.py 文件
print("Hello World!")



运行

Run Current File in Interactive Windows.
Run Python Fil..]]></description><category></category></item><item><title><![CDATA[deepin 编译安装 python3.10]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122630948</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122630948</guid><author>javaldk</author><pubDate>Fri, 21 Jan 2022 22:56:47 +0800</pubDate><description><![CDATA[deepin 编译安装 python3.10
官网 | 下载地址

下载与安装

下载wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tar.xz
xz -d Python-3.10.0.tar.xz
tar -xf Python-3.10.0.tar
cd Python-3.10.0.tar


安装./configure --prefix=$BI_PATH/python/3.10.0 --enable-optimizations
m]]></description><category></category></item><item><title><![CDATA[shell 对 /dev/null 的操作]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122630768</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122630768</guid><author>javaldk</author><pubDate>Fri, 21 Jan 2022 22:37:22 +0800</pubDate><description><![CDATA[/dev/null 是一个特殊的文件，写入到它的内容都会被丢弃，将命令的输出重定向到它，会起到 “禁止输出” 的效果。# 将输出重定向到 '/dev/null'
$ command &gt; /dev/null


如果希望屏蔽 stdout 和 stderr，可以这样写：$ command &gt; /dev/null 2&gt;&amp;1


0 是标准输入（STDIN），1 是标准输出（STDOUT），2 是标准错误输出（STDERR）。
这里的 2 和 &gt; 之间不可以有空格，2&gt; 是.]]></description><category></category></item><item><title><![CDATA[shell 对文件的操作]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122630742</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122630742</guid><author>javaldk</author><pubDate>Fri, 21 Jan 2022 22:35:11 +0800</pubDate><description><![CDATA[取路径、文件名、后缀

# 是去掉左边（在键盘上 # 在 $ 之左边）
% 是去掉右边（在键盘上 % 在 $ 之右边）
* 是用来匹配不要的字符，也就是想要去掉的那部分
注意：（# 和 %）单一符号是最小匹配，两个符号是最大匹配。



实例
file=/dir1/dir2/dir3/testfile.txt

# 一个#匹配，第一个 "/"左边的不要，结果：dir1/dir2/dir3/testfile.txt
echo ${file#*/}
# 两个#匹配，最后一个 "/"左边的不要，结果：test..]]></description><category></category></item><item><title><![CDATA[shell 的字符串方法]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122630704</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122630704</guid><author>javaldk</author><pubDate>Fri, 21 Jan 2022 22:32:34 +0800</pubDate><description><![CDATA[获取字符串长度string="abcd"
echo ${#string}     #输出：4


拼接子串（shell 单双引号的区别跟 php 类似）name="world"

# 使用双引号拼接
str1="hello, "$name" !"
str2="hello, ${name} !"
echo $str1  $str2   #hello, world ! hello, world !

# 使用单引号拼接
str3='hello, '$name' !'
str4='hello, ${name} .]]></description><category></category></item><item><title><![CDATA[shell的条件判断]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122630655</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122630655</guid><author>javaldk</author><pubDate>Fri, 21 Jan 2022 22:29:52 +0800</pubDate><description><![CDATA[判断式


逻辑判断
[ ! EXPR ]          逻辑非，如果 EXPR 是 false，则返回为真。
[ EXPR1 -a EXPR2 ]  逻辑与，如果 EXPR1 and EXPR2 全真，则返回为真。
[ EXPR1 -o EXPR2 ]  逻辑或，如果 EXPR1 or EXPR2 为真，则返回为真。
[ ] || [ ]          用 OR 来合并两个条件
[ ] &amp;&amp; [ ]          用 AND 来合并两个条件



if 判断式
if [ 条件判]]></description><category></category></item><item><title><![CDATA[shell 的数组和函数]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122630499</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122630499</guid><author>javaldk</author><pubDate>Fri, 21 Jan 2022 22:25:20 +0800</pubDate><description><![CDATA[数组


定义
ary="a b c str"     # 定义字符串
ary=(a b c str)     # 定义字符数组



参数说明

${ary[@]} 或 ${ary[*]}

返回：数组中的全部元素
结果：a b c def


${ary[0]}

返回：数组中的第一个元素
结果：a


${#ary[@]} 或 ${#ary[*]}

返回：数组元素总个数
结果：4


${#ary[3]}

返回：第 4 个元素的长度，即 def 的长度
结果：3


ary[3]=abcde

将]]></description><category></category></item><item><title><![CDATA[shell 环境变量（env）]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122630318</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122630318</guid><author>javaldk</author><pubDate>Fri, 21 Jan 2022 22:06:53 +0800</pubDate><description><![CDATA[env（显示环境变量的命令）
$ env
LANG=zh_CN.UTF-8
TERM_PROGRAM_VERSION=433
TERM_PROGRAM=Apple_Terminal
TERM_SESSION_ID=7FD7CAE7-8F96-4CE1-8977-7D53DC4060F9
TERM=xterm-256color
SHELL=/bin/zsh
PATH=/bin:/usr/bin:/usr/sbin:/usr/local/bin:/sbin
SHLVL=1
BI_PATH=/usr/local/]]></description><category></category></item><item><title><![CDATA[Centos7局域网上共享文件夹（Samba服务）]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122629824</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122629824</guid><author>javaldk</author><pubDate>Fri, 21 Jan 2022 21:43:00 +0800</pubDate><description><![CDATA[概述

Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件，由服务器及客户端程序构成。
SMB（Server Messages Block，信息服务块）是一种在局域网上共享文件和打印机的一种通信协议，它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

使用共享文件夹

Windows系统（按下"win+r"键）\\192.168.x.x


Linux系统smb://192.168.x.x



Samba 的安装

查看是否已经安装rpm -qi samba
]]></description><category></category></item><item><title><![CDATA[Centos7 挂载新硬盘（SSD|M.2）的操作方法]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122621140</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122621140</guid><author>javaldk</author><pubDate>Fri, 21 Jan 2022 15:04:40 +0800</pubDate><description><![CDATA[常用命令
df -h					# 列出所有已挂载磁盘
fdisk -l				# 查看磁盘情况
fdisk /dev/xxx			# 格式化命令
mkfs.ext4 /dev/xxx		# 创建分区

实例：挂载一块新的硬盘

查看磁盘情况sudo fdisk -l
[sudo] password for hoda:
Disk /dev/loop0: 154 MiB, 161472512 bytes, 315376 sectors
Units: sectors of 1 * 512 = 512 bytes
]]></description><category></category></item><item><title><![CDATA[Firewalld的区域（zone）]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122590998</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122590998</guid><author>javaldk</author><pubDate>Wed, 19 Jan 2022 22:40:03 +0800</pubDate><description><![CDATA[Firewalld 的区域（zone）

概述

区域（zone）是针对特定位置或场景（例如家庭、公共、受信任等）可能具有的各种信任级别的规则集。
不同的区域（zone）可允许不同的网络服务和入站流量的类型，而拒绝其他任何流量。
要分离内部网络和互联网的接口，你可以在internal区域上允许DHCP，但在external区域仅允许HTTP和SSH。

常用 zone 的命令

查看# 查看所有区域
sudo firewall-cmd --list-all-zones
# 查看public区域配置
sudo]]></description><category></category></item><item><title><![CDATA[Centos7 Firewalld 防火墙]]></title><link>https://blog.youkuaiyun.com/javaldk/article/details/122589612</link><guid>https://blog.youkuaiyun.com/javaldk/article/details/122589612</guid><author>javaldk</author><pubDate>Wed, 19 Jan 2022 22:01:57 +0800</pubDate><description><![CDATA[Centos7 Firewalld 防火墙

概述

Centos7以上的发行版都试自带了firewalld防火墙的，firewalld去掉了iptables防火墙。
iptables的防火墙策略是交由内核层面的netfilter网络过滤器来处理的，而firewalld则是交由内核层面的nftables包过滤框架来处理。
相较于iptables防火墙而言，firewalld支持动态更新技术并加入了区域（zone）的概念。
简单来说，区域就是firewalld预先准备了几套防火墙策略集合（策略模板），用户可以]]></description><category></category></item></channel></rss>