Other

Seaborn 增加中文支持(Ubuntu)

Ubuntu 中一般会带有若干支持中文的字体,如AR PL UMing CN $ fc-list :lang=zh | grep uming /usr/share/fonts/truetype/arphic/uming.ttc: AR PL UMing TW MBE:style=Light /usr/share/fonts/truetype/arphic/uming.ttc: AR PL UMing TW:style=Light /usr/share/fonts/truetype/arphic/uming.ttc: AR PL UMing CN:style=Light /usr/share/fonts/truetype/arphic/uming.ttc: AR PL UMing HK:style=Light 也可以选择安装支持中文的字体,如 Mi Sans。 安装了支持了中文的字体后,仅需两行代码,即可使 Seaborn 实现对中文的支持 import seaborn as sns sns.set(font=MiSans,MiSans Normal) 参考 Ubuntu 安装字体 https://blog.csdn.net/bitcarmanlee/article/details/79729634 Mi Sans 字体 https://web.vip.miui.com/page/info/mio/mio/detail?postId=33935854

Java 控制台输入的三种方式

Java 控制台输入的三种方式 我们最熟悉的从控制台读取一个字符或者一个字符串都知道用Scanner,那么除了Scanner还有没有其他的呢,答案是有的,我们来看看。 1. System.in.read() System.in.read() System.in.read()返回一个整型字节数据,该数据表示的是字节因此是Unicode的第一个字节或是字符的ASCII码值。该方法是从一个流中一个一个的读取数据,因此是一个迭代的过程。我们可以看出in是一个静态的流,因此在该程序中只有一个流,重复调用System.in.read()实际上是在遍历该流中的每一个字节数据。最常见的流是键盘输入流。我们可以在键盘中输入一个字符串(其中按下回车键代表了两个字符\r\n,\r的ASCII码值是10,\n是13)。我们可以重复调用System.in.read()来读取从键盘输入的字符串中的字符所代表的字节(ASCII值)。 public static void main(String[] args) throws IOException { int s = System.in.read(); //首先我在控制台输入一个1,但是有的同学会问为什么输出的是49呢,这不符合常理呀 /*** * System.in.read接收的是字节0-255 * 你输入个1以后,其实返回的是ASCII码,也就是49 */ System.out.println(s); } 2. Scanner Scanner 这种方式也是大家最熟悉的一种方式 我们直接看案例 Scanner scanner = new Scanner(System.in); System.out.println(scanner.nextLine()); 3. BufferedReader 我们来看第三种 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public static void main(String[] args) { //这里利用的缓冲流 BufferedReader br = new BufferedReader(new InputStreamReader(System.

c与汇编

c与汇编:从汇编的角度讲c,从c的角度讲汇编(底层硬件原理)。 c只是底层硬件的简单的抽象。只要底层硬件体系结构没有革命性的变革,c语言就不会被淘汰! c与汇编相关的工具的使用(将c语言程序生成16位,32位,64位的汇编程序): 通过相互间代码的对比分析,来深入理解汇编级底层的程序设计模型(寄存器,内存单元,I/O端口,指令系统,寻址方式,程序映像)以及在这基础上各种c语言的概念。 1、将c语言程序汇编成16位的实模式汇编程序。 使用早期的c语言开发环境Turbo C中的编译器TCC。 对应的命令:tcc -s 源程序 自动生成和源程序同名的 2、将c语言程序汇编成32位或者64的汇编程序. 使用64位Dev-C++环境下的gcc编译器 对应的命令: 1)将.c的源程序汇编链接生成32位的exe程序:gcc t.c -o t.exe -m32 ​ 将.c的源程序汇编链接生成64位的exe程序:gcc t.c -o t.exe 2)将exe可执行程序反汇编成对应的编译指令: 反汇编成intel风格的汇编指令:objump -D t.exe > t.s -M intel 反汇编成linux风格的汇编指令:objump -D t.exe > t.s 3) 直接由.c的源码生成对应的汇编指令: 生成32位的Intel风格的汇编指令:gcc -S t.c -o t32.s -m32 -masm=intel 生成32位的Linux风格的汇编指令:gcc -S t.c -o t32.s -m32 生成64位的Intel风格的汇编指令:gcc -S t.c -o t64.s -masm=intel 生成64位的Linux风格的汇编指令:gcc -S t.c -o t64.s 用as命令可以将生成的.s的汇编程序(gcc -S生成的汇编程序)汇编成.o的二进制目标程序(还没有链接库的代码)将32位的.s汇编程序生成32位的目标代码:as t32.s -o t32.o --32 将64位的.

PHP笔记(二):字符串处理相关方法

本文记录PHP处理字符串的方法,包括普通字符串处理以及正则表达式处理字符串方法。 目录PHP基本语法字符串处理1. 字符串分割2. 用字符串连接数组元素3. 字符串切片4. 字符替换5. 大小写转换6. 字符ASCII 码相互转换7. 将字符串解析成多个变量8. 字符查询9. HTML字符转换10. 过滤变量正则表达式处理字符串1. 正则匹配2. 分割字符串3. 正则替换 更详细PHP语法和函数介绍可参考官方文档:https://www.php.net/manual/zh/,本文仅记录了部分我使用到的一些方法。 本文使用的PHP版本为PHP 8.1.1 PHP基本语法 1、PHP语言标记 <?php //开始 ?> //结束 2、PHP代码可以嵌入到html代码中 3、使用分号分隔指令,文件末尾的 PHP 代码段结束标记可以不要,结束标志 ?> 隐含了一个分号。 4、注释 /* 多行注释 */ //单行注释 示例代码: <?php echo 'hello world!' ?> <!DOCTYPE html> <html lang=zh-CN> <head> <meta charset=utf-8 /> <title> PHP Demo <?php echo '演示'; ?></title> </head> <body> <br /> <?php echo 'To the time to life, ' ?

Linux下的库相关工具:nm、ar、ldd、ldconfig、readelf等

1. locate :查找文件位置 2. nm : 显示二进制目标文件的符号表 语法 nm (选项) (二进制目标文件(库文件、可执行文件、.o文件) 选项 -A:每个符号前显示文件名 -D:显示动态符号 -l:显示每个符号的行号 -u:显示file外定义的符号或没有定义的符号 -g:仅显示外部符号 3. ar : 用于操作高度结构化的存档文件(直白点:打包文件,一般用于创建静态库) 创建静态库 ar -rcs libxxx.a a.o b.o c.o d.o r: 替换li

Python Mysql unsupported format character 'Y' (0x59) at index xx

https://www.cnblogs.com/iAmSoScArEd/p/16264440.html - 我超怕的 报错:Python Mysql unsupported format character 'Y' (0x59) at index xx  报错代码 sql = ''' SELECT DATE_FORMAT(created_at,'%Y-%m-%d %H:%i:00'),COUNT(0) FROM table_name WHERE created_at >= %s GROUP BY 1 ''' args = (timeStart) # 这报错了 sql.execute(sql,args) 原因: MySQL时间格式串 '%Y-%m-%d %H:%i:00' 中的“%”被当作格式符处理了。  修改方式: 网上的方法乱七八糟,各种加“%”,我自己想了个最简单的方法,就是把时间这串直接作为参数传递就行了。  修改代码(修改地方见红色) sql = ''' SELECT DATE_FORMAT(created_at,%s),COUNT(0) FROM table_name WHERE created_at >= %s GROUP BY 1 ''' args = ('%Y-%m-%d %H:%i:00',timeStart) # 这报错了 sql.

在Windows服务器上启用远程桌面连接

按照以下的步骤来启用远程桌面连接,可以允许同时连接多人。 Step1:登录Windows 服务器“”,打开“Start”(按下Windows键),输入“Edit group policy” 或 “gpedit.msc”来加载“Local Group Policy Editor” Step2:导航到Computer Configuration >> Administrative Templates >> Windows Components >> Remote Desktop Services >> Remote Desktop Session Host >> Connections Step3:双击“Set Restrict Remote Desktop Services user to a single Remote Desktop Services session”,禁用该设置, Step4:双击“Limit number of connections”,设置RD最大的连接数量: 按照以下步骤禁用多人同时进行远程桌面连接: Step1:登录Windows 服务器“”,打开“Start”(按下Windows键),输入“Edit group policy” 或 “gpedit.msc”来加载“Local Group Policy Editor” Step2:导航到Computer Configuration >> Administrative Templates >> Windows Components >> Remote Desktop Services >> Remote Desktop Session Host >> Connections

初识Linux

什么是linux? 它是一套开放源码,可以自由传播,支持多用户同时操作系统,多任务(可以同时运行多个程序)支持多cpu、多线程的操作系统。 Linux主要用在服务器端、无人机、物流机器人、嵌入式开发,个人PC Linux关键特点: 1.开放源代码的程序软件,可以自由修改、传播。 2.Unix系统兼容,Linux有其所有的优秀特性。 3.Linux几乎没有商业化的版权限制,Unix系统使用收费,商业化严重。 4.Linux的移植性很高,适用于各种架构的计算机,个人PC、服务器、树莓派。嵌入式等环境。 Linux系统的特点 Linux操作系统作为一个免费、自由、开放的操作系统,它拥有完全免费,高效安全稳定,支持多种硬件平台,用户界面友好,网络功能强大,支持多任务、多用户特点。 Linux的诞生 自由软件 自由软件核心在于 没有商业化的版权制约,源代码自由开放,可以自由无约束的传播。 比如redhad linux红帽子 linux系统自由传播但不完全免费试用。 centos linux自由传播且完全免费使用。 自由软件关乎使用者,运行,复制,发布,研究,修改等动作都是自由。 自由软件基金会FSF free software founddation,自由软件基金会,主要发起的项目是GNU活动 GNU活动 革奴计划 目的在于建立一套完全自由和可移植的类Unix操作系统 GPL协议的核心,保障任何人可以共享,和修改自由软件的,自由权利,任何人有权取得、修改。重新发布自由软件的源代码,你在发布软件之后必须公布更改的相应代码。

PHP连接数据库增加表格数据

首先,打开数据库并运行 因为是添加表格数据,就先使用数据库 但是要先写好PHP的代码 这里是使用的VS Code编写的代码 关键的就一句 : mysql的 insert into 可以放在 mysql_query( 里执行 那么接下来打开网页查看代码效果  本地打开localhost/文件路径 没有网页效果,但是数据确实有添加,只要不报错就行 那么接下来就打开数据库查看 首先使用数据库并展示表格内容  打开查看persons的这一条数据会发现  表格中确实有被添加了两条人物信息 那么至此就算成功了 以上  

linux查找文件命令有哪些

linux查找文件命令有哪些 linux查找文件的命令:1、find命令,可以查找任何想要的文件;2、locate命令,查不到最新变动过的文件;3、whereis命令,只搜索二进制文件、man说明文件和源代码文件;4、which命令;5、type命令。 本教程操作环境:Red Hat Enterprise Linux 6.1系统。 使用电脑的时候,经常需要查找文件。在Linux中,有很多方法可以做到这一点。下面给大家总结五条命令。 1、find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。 find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> - <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。 - <指定条件>: 所要搜索的文件的特征。 - <指定动作>: 对搜索结果进行特定的处理。 如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。 find的使用实例: 搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。 $ find . -name 'my*' 搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。 $ find . -name 'my*' -ls 搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。 $ find . -type f -mmin -10 2、locate locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。 locate命令的使用实例: 搜索etc目录下所有以sh开头的文件。 $ locate /etc/sh 搜索用户主目录下,所有以m开头的文件。 $ locate ~/m 搜索用户主目录下,所有以m开头的文件,并且忽略大小写。