Electron桌面应用开发_环境搭建与应用打包
这是我写的一篇关于Electron的文章,这也代表着我已经开始学习桌面应用开发了。很难Electron居然是通过Html,css,js这三件套来开发应用的,想到我已经近三年没有写过web了(除了Hexo和css),没想到居然能在这应用上我最擅长的……😁😁,太幸运了。当时我学习C++的时候,一部分原因就是因为QT(我想开发桌面应用),但Electron的出现让我有了转机,我可以通过web快速的构建一个理想美观的应用程序,我一开始以为需要vue或者react,后来才知道,这两个只是Electron所支持的两个框架而已……关于这两个框架我以后再说吧…… Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。 创建项目1 . 创建项目之前,需要先新建一个项目目录(目录名称为软件的标题名) 初始化配置文1 ....
关于我两个箱子出金这件事
事情的起源1 . 自从买了电脑,我也是从CS起源转到了CS2了,接触的东西越来越多,特别是CS的交易系统:枪皮,刀,武器箱。看的我是真的很想要啊!2 . B站天天就给我推荐开箱出金的视频,所以……3 . 虽然概率低的可怜,仅有0.25%,但是我还是经不住诱惑,买了一个变革武器箱和两个反冲武器箱,就当做娱乐一下吧。 出金时刻 10月13日 1 . 后面我终于忍不住了,一下晚自习就向室友保证:出金请全寝吃饭。2 . 到寝室后直接往steam充了60,买了三把钥匙51块钱。3 . 我也是自己开了一个箱子,出了一个暗金的格洛克·冬季战术,0.9的磨损,磨成了垃圾,一波血亏。4 . 第二发我不敢开了,留给了室友开。5 . 正当我们全身紧绷的时候,奇迹还是发生了!!! 喜提:裹手 (★) | 钴蓝骷髅 ( 略有磨损 )6 . 看了一下磨损,马磊隔壁,0.11,靠,直接赚翻了!!!7 . 我相信,这可能会是我大学最记忆深刻的一次,那全寝撕心裂肺的叫声,就连其他寝室也闻声跑来以为是不是打架了。
C++数据结构_单链表的删替插装功能实现2【7】
链表的基本功能 水激石则鸣,人激志则宏。——秋瑾 1 . 基于上次写的学生管理链表,我做了一定的修改,把结构体的名称和数据域的名称修改了所以会和上次的不一样。2 . 这次我们来继续完善链表中欠缺的功能,比如:替换,插入,删除,封装等……3 .若搞不清代码,可参考上期的博客:C++数据结构_单链表的实例剖析与应用1【6】 替换函数分析1 . 替换功能还是比较简单的。 2 .开始我是想到了两种方法,一种是将整个节点替换成新的,一种是将节点的中的数据域换成新的。但目前只实践了第二种方法,个人觉得还是很直白易懂的,第一种方法也可以用,但需要先使用delete删除实例化的节点,在重新赋值, 3 . 这里说一下整个实践过程:首先是找到这个要替换的节点,可以以数据域中的某一个数据为参照物,使用while循环来查找匹配,当匹配到了,就直接给该节点的数据域赋一个新值,还有一种情况,就是当头节点就是要被替换的节点,这种就直接使用if判断一下,是则直接替换头节点的数据域。4 . 下面的图片应该会更加直白,这就相当于直接换了一个节点的数据域嘛。 代码实现与解析1 . 多说无益,直接上代码。 2...
C++数据结构_单链表的实例剖析与应用1【6】
单链表 👍要想写单链表,首先得搞明白链表的概念 链表:是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。 链表节点:链表节点是链表的单元,分为头节点和子节点,头节点是链表的第一个节点,子节点是在头节点其后的节点。 上面是简易的结构图,虽然丑了些……将就看吧。 手搓一个单链表定义结构体1 . 先定义一个结构体作为链表的结构2 . 一个链表的节点被分为两个区域,一个是数据域(存放数据),一个是指针域(用于指向下一个链表节点)3 ....
Butterfly_一图流背景与页脚美化
一图流背景1.一图流背景简单来说就将背景作为文章的顶部封面,相当于把原有的封面去除了,这样看起来会更加清爽。2.本站参考了博主闪闪发光的 ZZZ:Hexo+Butterfly 主题一图流背景与顶部图修改 效果图: 代码1.将主题文件中的index_img:设为transparent透明。2.在background:处设置自己喜欢的背景。 12345678910# The banner image of home pageindex_img: transparent————————————————————————————————————————————# If the banner of page not setting, it will show the top_imgdefault_top_img: false # The banner image of archive pagearchive_img: false......# Website Background (設置網站背景)background: url(/img/background/g.jpg)...
分享我在电脑内的学习与开发环境
Google Chrome插件iTab 新标签页1 . iTab是一款免费无广告的组件式浏览器主页插件。2 . iTab 新标签页可能是我见过最美观的主导航页面了,你可以在该主页内自定义自己常用的网站快捷方式,也可以添加一些小组件,它还提供了分层页面,帮助你将主页的网站快捷方式进行分类。3 . 多的不说,iTab功能太多了,且还保持着页面的整洁。我只能说浏览器扩展的唯一真神!!! 4 . 下载链接:https://itab.link/?from=itab5 . 下载完成后,只需要将文件拖到Chrome浏览器的扩展管理页面chrome://extensions/内,并启动插件即可。 Cat-catch1 . 猫抓(cat-catch) 是一款开源的资源嗅探扩展,能够帮你筛选列出当前页面的资源。2 . 它能够将你正在访问的页面内的资源(如mp3,mp4,png,gif……等资源)抓取出来,并且可以直接下载该资源。3 . 当然了,该插件只能获取非会员的资源,毕竟非法抓取资源是需要追究侵权责任的。 4 ....
绝区零开服至今体验闲谈
~ 欢迎来到新艾利都 ~ 1 . 说真的,这是我第一次成为米家游戏的开服玩家,虽然四年前也玩过了崩坏3,但那个时候不管怎么玩都已经落后其他玩家很大距离了,甚至还养了一堆没用的角色……。开服玩家的优势就是可以领先一些玩家一段距离,当然这也得看自身能力,或者氪金能力,所以……2 . 自从听到绝区零会在7月4日公测,其实这个时候我就已经开始放弃崩坏三了,打算把精力全都投入到绝区零当中去。 3 . 官方说是7月4日上午10点开服,但实际上为了降低崩服的风险,开服时间比预定提前了几个小时,所以当我10点多登录游戏账号的时候,我的UID已经到达八位数了(UID:18450689),也能理解,毕竟是个万众瞩目的游戏。 4 . 这里要说的是,入坑绝区零的首要因素是:这款游戏的画面风格我很喜欢,现代风,赛博风,同时参入了日美元素。这相对于原神那种玄幻风格的简直不要太棒。 游戏体验剧情1 . 开服到现在差不多玩了一个月1了,就这么说吧,游戏不论是场景细节还是打斗特效以及人物刻画都是十分细节精湛,很可惜我的不是电脑,如果是高配电脑的话,画面会更加高清细节,手机的话勉勉强强。2 ....
C++结构体的用法浅析【5】
C++中的结构体还是挺有必要记录一下,写个笔记的。它和类十分的相似,所以在这里需要做个具体的区分。结构体和类最大的区别就是:结构体的成员默认是完全公开public的,而类则默认是私有`private的。 结构体1 . C++中的结构体(Struct)是一种数据结构,可以将创建好的结构体作为一个新的数据类型来使用。 2 . 结构体是一个单一名称下不同数据类型的变量的集合。它与类相似,两者都保存着不同数据类型的数据集合。3 . 通常情况下,当我们想多个同一属性的变量,在不使用类和结构体的情况下,我们需要声明多个变量来实现这些属性,而为解决这一不优雅的操作,结构体应运而生,它运允许在一个结构体内定义多个属性, 且将不同类型的数据项组合成一个单一的实体。结构体通常用于将数据分组,以便可以轻松地作为一个单元来处理它们。 语法1234struct [structName]{ member-list}...
C++数组及其基本特征的浅层解读【4】
在Python或者是C#接触数组的时候可没那么多要注意的点,到了C++,好家伙,全是知识点。 这里我也懒得写太多原理性的东西,直接记一下基本常识和怎么去用就行。 声明数组1 . 声明一个数组其实就是告诉编译器申请一个数组变量。2 . 和C#一样,它的声明格式为:Type VarName[];,不难理解,在变量名后面加个[]中括号,就表示它是个数组。3 . 例如我要声明一个整数数值: 1int IntArray[]; 4 . 当然,也可以声明各种数据类型的数组 12345int VarName1[]; // 声明一个整数数组double VarName2[]; // 声明一个高精度浮点数数组float VarName3[]; // 声明一个浮点数数组string VarName4[]; // 声明一个字符串数组char VarName5[]; // 声明一个字符数组 4 . 但要注意的是 当数组的类型为int,那么它的元素只能是整数类型的数据,是什么类型的数值,就是什么类型的数据。 初始化数组1 ....
C++利用mt19937算法自定义一个随机数生成方法【3】
怪不得说C++难学,这里连个随机数生成器都要折腾好久,要是换做C#,一个Random()方法就解决了。话说虽然C++继承了C语言的Rand()函数,但我想说的是,用它生成的随机数的概率精度是真的低。不过到了C++11后,标准库新增了一个新的随机数生产方法,mt19937,下面就来大略的分析和简练一下这个方法。 MT19937随机数生成器1 . mt19937随机数生成器采用的是梅森旋转算法(Mersenne twister)来达到生成随机数,这个算法可以快速产生高质量高精度的32位伪随机数,2 . 使用该算法生成的随机数不仅质量高,速度也快出其他生成器,3 . 看名字也知道,它的取值范围是:2^19937-1,也就是19937的2次方减去1,这个数值非常大,以至于它远远超出了常规计算机和编程语言能够表示的整数范围。实际上,这个数字的位数将非常惊人,远远超出了任何标准整数类型的范围,所以在编程时,已经没有弄清它的取值范围的必要了。 4 . 在C++中,可以通过#include <random>来引入该标准库。5 ....