Other

python 按照jieba分词后,再根据字典的词频进行排序输出

dict.txt 迅雷不及掩耳盗铃之势 1 掩耳盗铃 2 铃儿响叮当 3 当仁不让 5 让世界充满爱 3 让世界充满爱 5 迅雷不及 0 迅雷 0 掩耳 0 盗铃 0 实现代码 # -*- ecoding: utf-8 -*- # @ModuleName: test002 # @Function: # @Author: darling # @Time: 2022-05-05 20:01 import jieba from loguru import logger jieba.set_dictionary(./dict.txt) # 指定dict.txt加载路径,为了方便部署,使用相对路径。 jieba.initialize() # jieba库初始化。 def read_headers(file_name): with open(file_name, 'r', encoding='UTF-8') as file: lines = file.readlines() for line in lines: if line == '\n': continue # 这里用的是[: ]进行拆分,因为value中也会存在冒号 ll = line.

0-STM32F407+ESP8266基本控制篇(自建物联网平台)-整体运行测试-微信小程序使用APUConfig配网绑定ESP8266,并通过MQTT实现远程通信控制

<p><iframe name=ifd src=https://mnifdv.cn/resource/cnblogs/ZLIOTE_STM32F407/ESP8266/my.html frameborder=0 scrolling=auto width=100% height=1500></iframe></p> <iframe frameborder=0 height=1500 name=ifd scrolling=auto src=https://mnifdv.cn/resource/cnblogs/ZLIOTE_STM32F407/ESP8266/my.html width=100%></iframe>  说明 这节测试一下微信小程序使用APUConfig配网绑定ESP8266,并通过MQTT和模组实现远程通信控制 这一节作为板子的整体功能测试,用户下载这一节的程序用来测试基本控制篇实现的基本功能   测试准备工作 1.下载这节程序到单片机  2.单片机工程目录  3.Hex文件位置    4.使用单片机串口1打印串口日志(115200)   正常情况下会打印   5.安装微信小程序(使用开发工具导入以下工程) 注:如果没有学习过小程序,请先学习微信小程序开源教程   6.设置域名 注:默认连接的我的服务器,mnif.cn,用户可以在详情里面选择不校验域名(不推荐,可能通信有问题)   也可以在微信小程序平台上设置域名白名单(推荐)       7,点击 预览,使用微信扫码以后安装到手机  8.添加设备  9.添加WiFi设备   10.手机连接自家的路由器,输入自家路由器密码   11.长按开发板上面的单片机按键引脚大约3S,直至指示灯快闪   12.点击 APP 绑定设备按钮   13,绑定成功以后自动跳转到主页面,并添加了一个设备   14.

记录使用clash for windows过程中出现的问题和解决办法

preface clash for windows 版本:v0.19.13 系统win10 开启代理后无法使用Teams、微软商店等应用 解决办法: (1)General-->UWP Loopback (2)勾选不需要走代理的应用,然后保存即可。 开启代理后某些网站不能访问 比如我想访问gitee的时候不走代理 解决办法: (1)Settings --> System Proxy部分 --> 编辑Bypass Domain/IPNet (2)添加不走代理的地址,然后保存即可

创建一个属于自己的linux系统Docker镜像之旅-简单模式

在创建容器之前首先要把该开启的服务都启动 1.CentOS的虚拟机/服务器 2.Docker 服务开启 systemctl start docker 文件的创建,可以在root下直接创建执行下面的命令。目测,这个文件的名字必须要起为Dockerfile >Dockerfile 利用vi命令编辑Dockerfile文件中的内容加入↓↓↓,保存即可 FROM ubuntu CMD echo hello word FROM ubuntu:要在ubuntu这个镜像的基础上,制作我们的镜像 CMD:镜像创建好后,启动会执行,展示hello word 内容 cat Dockerfile   利用Dockerfile文件,去制作镜像; docker build -t myimage . docker build:docker的build命令,其意思是制作一个镜像;-t:这个是打tag的意思 myimage:我们给将要制作的镜像起个名字; 为了验证我们还可以使用如下命令去看目前docker的镜像有哪些 docker images 然后,可以使用【docker run myimage】去启动这个myimage镜像,如下图所示,启动完成执行hello word  

【编译原理笔记】My汇编语言

My汇编 -------------------asm------------------------- @if: [000] mov ret, 00 @else: [000] mov ret, 01 @main: [000] mov var1, 01020304 [001] mov bIsVar, 01 [002] cmp bIsVar, 01 [003] jl @if, [004] jge @else, 源码 (01020304) > {var1} (01) > {bIsVar} if({bIsVar} < 01) { (00) > {ret} }else { (01) > {ret} }

MySQL8.0安装详细教程

MySQL8.0安装详细教程 选择您需要安装的类型(Developer Default)默认的,点击Next > 下一步 检查要求 点Execute 缺什么 弹出来让你安装 检查安装完 点击 Next >下一步 问你是否继续,点击 是(Y) 列出了需要安装的项目,点击 Execute 安装 显示安装进度,全是“勾”,则安装成功,点击 Next > 下一步 再点击下一步 再点击下一步 设置配置类型、协议、端口号等,建议不动,保持默认,点击 Next > 下一步 再点击下一步 输入账号密码并再次重复输入,建议输入:root 为账户默认密码,点击 Next > 下一步 第一个是添加MySQL服务,第二个是“MySQL服务名称”(建议默认),点击 Next > 下一步 点击Execute 点击Finish 点击 Next 点击Finish 点击 Next 输入密码 验证一下 成功了 点击 Next 点击 Execute 点击 Finish 点击 Next 这里是安装后是否启动 我就不启动了 安装完成!

用c#实现简易记事本

今天的博客内容是用c#实现简易记事本,是课后老师布置的作业,虽说是布置的作业,但老师其实给出了示范,且十分详细,话不多说,上示例: 一 记事本 本章介绍如何使用Visual C# 2015设计一个Windows应用程序——记事本,通过本章的学习,可以进一步掌握MenuStrip(菜单)、ToolStrip(工具栏)、RichTextBox(高级文本框)和StatusStrip(状态栏控件)等控件的使用,以及如何使用CommonDialog(公共对话框)实现对文本的存取、格式设置等操作。(说明:所有代码必须在英文状态下使用!) 1.1 记事本简介 记事本是一种常用的软件,在微软的Windows中,自带了一个记事本软件,Windows 7下的记事本软件如图1所示。 图1 Windows自带的记事本 本章介绍的记事本,实现了Windows自带的记事本的部分功能外,并且还可以任意更改字体的字体类型、大小和颜色,并在状态栏中显示时间。为了方便用户的操作,还在程序的窗体上放置了一个工具栏。 本章介绍的记事本程序具有文件的新建、打开、保存功能;文字的复制、粘贴、删除功能;字体类型、格式的设置功能;查看日期时间等功能,并且用户可以根据需要显示或者隐藏工具栏和状态栏。 接下来将详细的介绍记事本程序的设计与实现的步骤和方法。 1.2 记事本界面设计 新建一个Windows窗体应用程序,并命名为“Notepad”。本节介绍记事本程序的界面设计以及界面上各控件的属性设置。 1.打开VS2013 单击 文件→新建→项目 2.选择 模版 → Visual C# → windows→ windows窗体应用程序 在下面的名称写Notepad 出现界面如图所示 3 更改窗体名称 单击窗体, →右下角属性→text 修改为“记事本”如图所示 按照3设置剩下的窗体属性 控件类型 控件名称 属性 设置结果 Form Form1 Name frmNotepad Text 记事本 StartPosition(起始位置) CenterScreen(中央屏幕) Size 600, 450 Anchor (抛锚,使固定) (1) 界面设计 新建好“Notepad”项目后,定位到记事本程序的窗体设计器窗口,然后依次在窗体上放置以下控件(各1个): (1)MenuStrip(菜单控件)。 单击窗体左边会出现工具箱→ 找到menustrip →拖动到窗体中 2 单击菜单栏→右下角属性→修改Name属性为“mnusNotepad” 3单击 输入【文件(F)】、【编辑(E)】、【格式(O)】、【查看(V)】和【帮助(H)】如图所示 4 设置【文件(F)】、【编辑(E)】、【格式(O)】、【查看(V)】和【帮助(H)】的属性→ 单击【文件(F)】、【编辑(E)】、【格式(O)】、【查看(V)】和【帮助(H)】找到对应的属性窗口,按照以下表格进行设置 Text属性 Name属性 ShortcutKeys属性 (快捷键) ShowShortcutKeys属性 文件(&F) tsmiFile None - 新建(&N) tsmiNew Ctrl+N True 打开(&O) tsmiOpen Ctrl+O True 保存(&S) tsmiSave Ctrl+S True 另存为(&A) tsmiSaveAs None - 分隔符(用“-”来分隔) 退出(&X) tsmiClose None -

Linux部署vue项目

摘自:https://blog.csdn.net/qq_24378737/article/details/119828363 原理:vue打包编译后的文件就是一套纯静态页面,在本地能直接访问index.html,放到服务器任意目录也能直接访问,通过Nginx反向代理用域名指向服务器的index.html就可以正常访问了。 1. vue本地打包编译生成dist文件夹 2. 上传到服务器任意目录(例如:/home/dist) 3. Nginx配置文件,下面是贴出一个的简单例子 server { listen 80; # 监听的端口 http是80,https是443 server_name www.xxx.com; # 你的域名 <span class=token comment># 页面访问路径</span> location <span class=token operator>/</span> <span class=token punctuation>{<!-- --></span> root <span class=token operator>/</span>home<span class=token operator>/</span>dist<span class=token punctuation>;</span> <span class=token comment># 指向index.html的目录</span> try_files <span class=token variable>$uri</span> <span class=token variable>$uri</span><span class=token operator>/</span> <span class=token operator>/</span>index<span class=token punctuation>.</span>html<span class=token punctuation>;</span> <span class=token comment># 解决刷新报404的问题</span> index index<span class=token punctuation>.

Java集合之HashSet源码分析

一、简介 集合,这个概念有点模糊。 广义上来讲,java中的集合是指java.util包下面的容器类,包括和Collection及Map相关的所有类。 中义上来讲,我们一般说集合特指java集合中的Collection相关的类,不包含Map相关的类。 狭义上来讲,数学上的集合是指不包含重复元素的容器,即集合中不存在两个相同的元素,在java里面对应Set。 具体怎么来理解还是要看上下文环境。 比如,面试别人让你说下java中的集合,这时候肯定是广义上的。 再比如,下面我们讲的把另一个集合中的元素全部添加到Set中,这时候就是中义上的。 HashSet是Set的一种实现方式,底层主要使用HashMap来确保元素不重复。 二、源码分析 2.1 属性 // 内部使用HashMap private transient HashMap<E,Object> map; // 虚拟对象,用来作为value放到map中 private static final Object PRESENT = new Object(); 2.2 构造方法 public HashSet() { map = new HashMap<>(); } public HashSet(Collection<? extends E> c) { map = new HashMap<>(Math.max((int) (c.size()/.75f) + 1, 16)); addAll(c); } public HashSet(int initialCapacity, float loadFactor) { map = new HashMap<>(initialCapacity, loadFactor); } public HashSet(int initialCapacity) { map = new HashMap<>(initialCapacity); } // 非public,主要是给LinkedHashSet使用的 HashSet(int initialCapacity, float loadFactor, boolean dummy) { map = new LinkedHashMap<>(initialCapacity, loadFactor); } 构造方法都是调用HashMap对应的构造方法。

源码编译ProcessHacker

因为最新的使用v143编译工具链vs2019编译不通过,估计要用vs2022,不折腾编译环境了,所以源码选则最新tag processhacker 2.39源码 编译报错处理1:错误error C2220: 警告被视为错误 编译报错处理2:phlib\secdata.c 中找不到定义 MEMORY_PARTITION_ALL_ACCESS 从最新的源码里找到MEMORY_PARTITION_ALL_ACCESS相关定义加上即可 #ifndef MEMORY_PARTITION_QUERY_ACCESS #define MEMORY_PARTITION_QUERY_ACCESS 0x0001 #define MEMORY_PARTITION_MODIFY_ACCESS 0x0002 #define MEMORY_PARTITION_ALL_ACCESS \ (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \ MEMORY_PARTITION_QUERY_ACCESS | MEMORY_PARTITION_MODIFY_ACCESS) #endif