WPF 的 KeyDown 事件不生效

出发键盘按钮事件 控件当前获得焦点,通过 xaml 的 FocusManager 或者后台使用 Focus() 方法来设置 将控件的 Focusable 设为 True,如下: 代码示例如下: 界面: <Grid FocusManager.FocusedElement=”{Binding ElementName=tb}”> <TextBlock Focusable=”True” KeyDown=”TextBlock_KeyDown” x:Name=”tb” Text=”abc” FontSize=”100″/> </Grid> 后台: private void TextBlock_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { tb.Text = “ok”; } }

Nginx 环境的搭建

下载 nginx 安装环境是 Ubuntu 18.04,其他 Linux 按照对应的方法安装。 先从 nginx 官网下载最新稳定版 解压 tar -zxvf nginx-1.14.1.tar.gz 配置 进入 nginx 目录 cd nginx-1.14.1 ./configure 安装相关类库 如果在 ./configure 配置过程中提示缺少相关类库,需要安装 一般为 gcc、pcre、zlib sudo apt install gcc sudo apt-get install libpcre3 libpcre3-dev sudo apt-get install zlib1g zlib1g-dev 安装过程 ./configure make 如果提示 make 无法使用,执行 sudo apt install make sudo apt install make-guile […]

Nginx 初识

服务器也是电脑 但服务器与常见的个人电脑稍有不同, 性能要强大很多。 网站运行在服务器,需要硬件和软件结合 电脑就是硬件,所以还需要安装服务器软件。 常见的服务器软件 Apache、tomcat、Nginx、IIS IIS 只能运行在Windows,Windows性能不如 Linux; Tomcat 面向 Java 语言,重量级服务器(与 Nginx 不具备可比性); Apache 稳定、开源、跨平台,但不支持高并发; Nginx 能支持处理百万级的 TCP 连接,10 万以上的并发连接,轻量级,跨平台的服务器,同时支持反向代理、负载均衡等功能(Apache的强力对手); Nginx 的功能 Nginx 是一种高性能的 HTTP 和反向代理服务器, 也是一个代理邮件服务器; 我们可以在 Nginx上发布网站,也可以实现负载均衡功能(反向代理、分发),还可以 作为邮件服务器收发邮件等功能。 Nginx 优缺点 优点: 高并发、部署简单、内存消耗少、成本低; 缺点: rewrite 功能不够强大,模块没有 Apache 多

C# 获取 sha256 码

用 C# 获取 sha256, 输入源可以是 字符串类型,也可以是 字节流类型: 实现方式如下: 自定义的输入类型的枚举: public enum Sha26ParseType { StringType,//字符串类型 StreamType//字节流类型 } 实现代码: public static string general_sha256_code(string str, Sha26ParseType type) { string result = string.Empty; byte[] by = null; //求字节流的SHA256 if (type.Equals(Sha26ParseType.StreamType)) { if (!System.IO.File.Exists(str)) return result; System.IO.FileStream stream = new System.IO.FileStream(str, System.IO.FileMode.Open, System.IO.FileAccess.Read); System.Security.Cryptography.SHA256Managed Sha256 = new System.Security.Cryptography.SHA256Managed(); by = […]

在 mac 下 vs code 按 F12 无法查看定义

在 mac 下 vs code 按 F12 无法查看定义 ,有时需要查看类或方法的定义,通过 F12 可以查看定义(Go to Definition), 在 windows 下一般没有这个问题,但是在 mac 环境下,有时按 F12 没有反应,而菜单栏的 Go 选项是被启动的,如果遇到上述情况,可以从以下 2 方面进行排查: 1. vs code 中项目是以文件夹为单位的,如果你打开的文件不是在某个文件夹内,部分属性可能就不生效 2. 没有安装对应语言的插件,如果打开 vs code 右下角有推送的插件,建议进行安装: 3. 如果是 php 环境,建议安装: PHP Intelephense    如果是 java 环境,建议安装:Java Extension Pack 参考: VSCode C# “go to definition” (F12) not working 相关阅读: VS […]

mysql 导出执行结果并保存为 csv文件

mysql 导出执行结果并保存为 csv文件, 并不是简单的导出某个数据包的结构和数据,而是需要导出某条 sql 语句执行后的结果,需求大致如下: sed 部分内容可以省略 (具体参数我还没弄明白,大意是设定 csv文件的分隔符等) -A       指定数据库; -h       指定 ip,远程数据库需要,导出本地数据库可以省略; -u       用户名; -p       密码; -ss     指定导出的结果是否包含列名; -e      后面加执行的 sql 语句 (e -> execute); 简单写法如下: 将某条 sql 语句的执行结果保存到 csv 文件中 特别注意:      在假设执行的 sql中包含关键字,在 windows下可以参考 mysql的用法,加上 “[tab键],如:     […]

windows10 中设置软件开机启动

windows10 中设置软件开机启动 只需2步,实现 windows10 中设置软件开机启动 1.找到 Startup 目录 Startup 目录的路径如下: 因为 AppData 目录,默认是隐藏的,通过一层层打开文件夹的方式,不一定能找得到,这里有两种方式来打开 Startup 目录, 第一种方式(推荐,简单) 把上述路径中的用户名改为你电脑的用户名,然后复制到文件管理器的路径框中,回车打开,如: 第二种方式 通过输入 %appdata%, 然后一层层文件夹打开 在打开的目录中找到 Microsoft 文件夹; 打开 Microsoft 目录后,再找到 Windows 文件夹; 打开 Windows 目录,找到 Start Menu 文件夹; 打开 Start Menu 目录,找到 Programs 文件夹; 打开 Programs 目录,找到 Startup 文件夹; 打开后,里面会显示你系统当前自启动的软件,如下: 2.创建快捷方式,并关联软件 在该目录下鼠标右键创建快捷方式 然后选择关联的程序: 如下图所示: 相关阅读:Change which apps run […]

php还原16进制特殊字符

特殊字符的16进制表:https://websitebuilders.com/tools/html-codes/ascii/ 可以通过 hexdec() 和 chr()方法来进行转换, 例子: xml version=\x221.0\x22 encoding=\x22utf-8\x22?>\x0A<order id=\x22test\x22 affiliate=\x22main\x22 event_id=\x221\x22 ref=\x22TPCYA\x22 alias=\x22\x22/> 其中 \x22 就是双引号 “,而 \x0A 就是换号 \n,通过一些方法转换后: $str = “\x0A”; function hexdec_string($content) { preg_replace_callback( “(\\\\x([0-9a-f]{2}))i”, function($matches) {return chr(hexdec($matches[1]));}, // $string $content ); return $content; } echo htmlspecialchars(hexdec_string($str), ENT_QUOTES); //将 xml的内容作为纯文本输出 结果: xml version=”1.0″ encoding=”utf-8″?> <order id=”test” affiliate=”main” event_id=”1″ ref=”TPCYA” alias=””/> 参考:https://stackoverflow.com/questions/12238657/decoding-javascript-escape-sequences-in-php-x27-x22-etc […]

postgresql 命令行导出和导入数据库

使用命令行来导出和导入 postgresql 的数据库,可以使用以下两个命令: 导出:pg_dump导入:pg_restore 导出例子: 导出指定数据库 pg_dump db_name > db.sql 如果出现 bash: db.sql: Permission denied, 则有可能是目录权限的原因,因为 postgresql的用户实际也是 linux的用户,            所以如果出现以上错误提示,建议切换到当前目录再进行操作: cd ~  导出指定数据表: $ pg_dump -t table_name db_name > db.sql 如果是需要压缩: $ pg_dump -d db_name | gzip > db.gz ———————————————— 导入数据:   导入指定数据库: $ psql -d db_name -f db.sql   或者: $ pg_restore […]