一文学会HTML速写Emmet语法 Emmet: 高级的代码补全,让我们写代码更快。话不多说,开干!1.写某个标签然后按tab键自动补全【缩写补全】2. 嵌套的缩写其中 嵌套中有这些字符:> + ^ * ()> 代表父子关系* 代表重复+所以,+代表同级元素^ 代表所以^ 代表网上爬升一级。()代表让逻辑关系更加清晰:3. 属性:特殊符号:# .# 代表id. 代表class关于自定义属性:[]4. 带有数...
手把手带你编写微信公众号 这是一个简单的项目:简单编写微信公众号扫码关注:关注!即可提高学习效率——Peace! 实时查询城市天气 回复“美女视频网站”观看美女视频 不定时推送小姐姐视频和图片合集 Docker线上部署SpringBoot如果您不知道如何开始编写的话,可参考我的Github代码。仅供交流学习,代码业务可方便扩展如果您喜欢的话,请给我一个star!如果您有任何疑问,请提...
Colaboratory使用Tensorboard Colaboratory是一个好用的工具,那么自然也会提供了扩展支持。添加Tensorboard的callback:然后使用tensorboard的命令启动生成的文件:%load_ext tensorboard%tensorboard --logdir=callbacks文件保存的目录
Ffmpeg及QT: Windows安装Ffmpeg、QT Ffmpeg的安装:Ubuntu下安装Ffmpeg推荐:传送门Windows平台:1. 下载Ffmpeg:开发人员应该同时下载shared和dev版本下载完成后就是ffmpeg的配置,新建一个文件夹,手动添加4个文件夹:bin include lib src项目文件直接放在src中。ffmpeg_shared中的bin文件下的所有文件放到bin中。ffmpeg_dev中的include文件下所有的文件放到include中,lib下的l放到新建的文件...
C++: Windows下MinGW编译boost并配置Clion 1.安装MinGW:也可以使用Qt自带的mingw并mingw的bin目录添加到PATH2. 安装boost:以下2选1:方式1:编译好的MSVC:http://dl.bintray.com/boostorg/release/方式2:官网未编译的Boost:https://www.boost.org/users/download/解压后:文件结构说明:(来源Boost文档:https://www.boost.org/doc/libs/1_73_0/mor
C++: Clion中C++使用当前目录读取文件失败 #include <iostream>#include "Complex.h"#include <string>#include <fstream>#include <limits>using namespace std;static const int bufferLen = 2048;// 二进制文件的操作bool CopyFile(const string& src, const string& dest) {// 引.
Netlify: 前端Vue/React自动化部署服务 Netlify在我以前的博文有介绍。这里打包这个“群聊”项目,这里只演示前端怎么部署,后端是用express写的,部署同理。1. 上传vue项目到Github上:vscode中提交并推送到Github上:这时需要添加远程:2. 打开Netlify:这将让我们打包后的dist目录上线:自动化部署,就是本地对Github上的任何修改都会触发Netlify重新执行Build command。上面的域...
数据结构:红黑树 二叉搜索树BST(Binary Search Tree):该树特点是任意一个节点的左子树的节点都比它小,右子树的节点都比它大。例如:BST带来的好处:不管是插入还是读取的时候都需要跟每一层中1个节点比较就可以了。例如上面的树中,找10节点,先比较7,10>7,走树的右半部分,左半部分就不用再比较了。然后10<11,走左边,10=10就找到了。查询的时间复杂度依赖树的深度。同理,写入节点的时候也一样,例如插入9,9>7,走右部分,9<11,然后9<10就插入
Java日志系统:log4j/logback/log4j2/slf4j统一日志标准 日志的实现各自有各自的不同,如果一个项目中引入了很多依赖,每个依赖又用了不同的日志实现,配置日志的时候就会非常麻烦,所以有了上面的门面接口。其中用的最多的是slf4jslf4j 案例:log4j:1. 添加依赖:<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <..
FFmpeg: 通过ffplay给视频加字幕 如果使用ffplay播放视频的时候希望加载字幕文件,则可以通过加载ASS或者SRT字幕文件来解决。以SRT字幕为例:1. 准备.srt字幕文件:2. 通过ffplay将字幕文件加载到播放数据中:另外,ffplay的功能还有很多,例如ffplay的数据可视化分析应用:例如播放音频文件,如果不确定文件声音是否正常,可以直接使用ffplay播放音频文件,播放的时候将回把解码后的音频数据以音波的形式展示出来:播放结束后:如果播放视频时想要体验解码器是如何解..
Go: 协程的生命周期管理 协程的生命周期:1. 定义:协程的创建等全部生命历程的管理。通俗的讲就是“保姆”。它的作用是便于协程的回收利用。goroutine申请的代价很小,但是在go程序中,goroutine的总量是有上限,超过上限,多余出来的协程就得等到前面的协程完成任务后能开始运行。所以适时的进行回收。2. 生命周期分类:协程创建 协程回收: 由Go语言的GC和垃圾回收机制控制的 协程中断: 通过context包实现3. 如何实现:context实现中断package main.
Android: app中内置静态网页和wifi传图 android模拟器和PC访问:如果使用真机,就让开发机和真机处于同一网段内即可。但模拟器和当前开发机是同一台物理电脑,但是模拟器是不能通过127.0.0.1这样的ip访问开发机的。在模拟器环境下访问PC的IP:10.0.2.2即:模拟器上访问当前开发机IP: 10.0.2.2 当前开发机访问模拟器的ip,虽然是127.0.0.1,但是对应的端口需要先进行端口映射后才能访问:...
Python : 一文学会办公自动化(Word、Excel、PPT) 自动化:1946年提出,被运用于军事等方面。办公自动化指的是现在办公和计算机技术结合起来的新型的办公的方式。“高效的工作”正是自动化解决的问题/办公自动化的分类:操作Excel: 就业数据分析等 操作Word: 考试系统生成Word试卷等 操作PPT : 用户画像分析等使用的模块:xlrd模块 xlwt模块 smtplib模块 pywin32模块 python-ppt模块 python-docx模块 pymysql模块 xlsxwriter模块1. xlrd模块
压测工具:jmeter 衡量当前系统应对高并发的量,压测工具不能少。1.下载jmeter:进入官网2.使用jmeter:进入bin目录:或者双击:2.1 添加测试计划,线程组的基本属性:2.2取样器:取样器是我们真正进行测试的内容。比如http、ftp、jdbc的测试等。这里以http请求测试为例:这里的100是运行后可以看到这里在乱闪并很快归0.这是因为线程启动后进行了请求,并马上请求成功,线程就结束了。这里没看到i请求结
css3:发光按钮、漂亮的登录框、满意的404、带动画的输入框 1.发光按钮<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>发光按钮</title> <link href="https://cdn.boo.
P5.js : 粒子页面特效 P5.js可以给整个页面带来创新,不受限于画布中作图,而是把整个浏览器作为画布。引入其CDN:<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.0.0/p5.js"></script>简单使用:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> ...
Python Tkinter: 实现网络监控APP 先下载putil模块:import tkinter as tkimport psutilupload_text = "上传速度:{} kb/s"download_text = "下载速度:{} kb/s"last_upload_data = 0last_download_data = 0first = Trueapp = tk.Tk()app.geometry("500x200")def update_speed(): global last_download
Github Actions全方位演示 2019/8 ——推出的新功能。可以完全替代掉好基友Travis CI来完成github项目的CI/CD操作了。1.新建一个项目2.Actions基础介绍:这里给了一些推荐的流程,比如Nodejs等。这里还是使用自定义流程:这里什么都不修改,直接点击提交代码:Actions已经正在运行了:然后回过头再看看这个CI执行了什么东西:1. 先给这个流程命名为CI:2.on:决定它什么时候触发:3. 然后是触发的是具体的jobs..
CI/CD: 使用DaoCloud介绍完整的CI/CD流程 1. 注册DaoCloud:https://www.daocloud.io/2. 以springboot作为测试:然后添加测试接口:测试通过后将项目上传到github:3.DaoCloud中新建项目:4.CICD的配置流程:这里可以添加测试任务:测试阶段不通过是不会进入构建阶段的。构建阶段我们是想要将项目生成docker的镜像以便后面的部署:可以选择在项目中创建Dockerfile或者云端的dockerfile,这里选择本地项目中创建d
CI/CD: Github的好伙伴travis 代码提交到github仓库后,自动触发hook流程(自动化)。jenkins其实是将自动化这一过程在本机运行,所以缺点是个人用户需要提供一台执行jenkins的机器。travis则是github的合作伙伴,提供云端的机器帮我门运行云端的脚本。这里以一个简单的nodejs为例,看看如何结合travis进行CI/CD:然后创建一个gihub项目:然后提交本地的项目到github上:然后打开travis官网:先注册一个,然后再登录账号。开启后,就可以创建文.
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: In aggregated query without GROUP BY,报错 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'flutterim.fans.followedId'; this is incompatible with sql_mode=only_full_group_by at sun.re...
ECharts4.0数据可视化 绘图需求:SVG 和 Canvas基于SVG和Canvas,百度推出了Echarts图形库。(更多api用法可查看官网文档)浏览器绘图原理:编写的前端代码最终都将经过浏览器渲染成一个页面。浏览器绘图通过HTML,还可以通过Canvas和SVG的方式来绘图。实际上,HTML、CSS实际都是针对浏览器绘图做出一些指令。(关于SVG和Canvas的具体用法,可查看我的其他博文)canvas绘图:通过canvas创建的画布内容允许自己去对内容绘制。canvas只创建,内容需要我们
PS批量制作字幕 先准备每一屏出现的字幕文字:不要添加符号打开ps,新建:用工具在上面打字:然后:然后导出:把这些导入到视频软件中即可导出后,使用primere软件制作视频,导入上面的字幕文件即可,调整时间线。...
日志采集系统的个人看法 ELK:filebeat -----> logstash --------> ES---》kibana这一套ELK是Elastic这个公司提出的一套组件。在数据分析和大数据领域,ES不算是最著名的团队,而是Hadoop代表的一整套动物园。。。另一套数据采集方案是flume采集数据-----> kafka ----> Hadoop(存到hdfs文件系统等)日志...
日志采集系统ELK ELK: ElasticSearch(数据库 json存储 全文索引) + Logstash(日志采集中心,配置一些正则等分割解析处理日志)+ Kibarna(图形化展示)Logstash做日志的采集,监听5044,采集的节点都将数据传递到5044上来。采集的节点叫Beat。(例如File beat等)logstash处理之后得到json数据,发到ES9200中存储。然后通过Ki...
React:一个Todo案例体验Hook有多灵活 // import React,{Component,PureComponent,lazy,Suspense,createContext,memoo} from 'react';import React,{useState, useCallback, useRef, useEffect, memo} from 'react'// import logo from './logo.svg';...
Go: 短地址服务 短地址:将长地址缩短到缩短到一个很短的地址,用户访问这个短地址可以重定向到原本的长地址。设计HTTP Router和Handler 在HTT处理流程中加入Middleware 利用Go的interface实现可扩展的设计 利用Redis的自增长序列生成短地址API接口:POST /api/shorten 把长地址转换为一个短地址 GET /api/info?shortlink...
删除文件并清空回收站后找回数据的原理 清空回收站后数据就彻底消失了?答案:不。数据删除与恢复的原理电脑是用2进制进行存储和计算数据的,磁盘同样也是利用2进制进行存储数据,无论是电脑上的磁盘还是手机上的内存颗粒都是这样。假设一块磁盘可以存储64字节的数据。这时候64个格子里什么数据都没有,默认就全部是0:现在假设有这么一组大小是13个字节的数据他们合起来叫文件A:这时把这13个字节存入到这块磁盘:...
Go Web生成马赛克图片(1): 单机版 马赛克:对图片进行mosaic处理,就是说讲图片分割成多个通常是大小相同的矩形截面,然后使用被称为瓷砖图片的新图片区代替截面原有的图片。所以,马赛克图片让我们在足够远的地方观察或者以斜视的角度观察,会看到图片在进行马赛克处理之前的样子。凑近区观察,就会发现他们是由成百上千张尺寸更小的瓷砖图片组成。构建生成马赛克图片的Web应用的基本思路就成型了:接收用户上传的目标图片,然后根据目标图片...
TypeScript: 使用ts-node加速开发 普通的运行ts的方式,需要先通过tsc编译为js文件然后运行node xx.js:一共花了2条命令,使用繁琐:而使用ts-node:npm install -g ts-node只需要ts-node xxxx.ts即可:...
Android: 将开源库发布到jcenter仓库 为了实现和平时开发过程中用到的第三方开源库一样,只需要在build.gradle的denpendencies中添加一行库的引用地址即可,AS帮我们下载该库并引入到当前项目的开发环境中。这是因为:google仓库包含的主要是Google自家的扩展依赖库。 jcenter仓库包含的大多是一些第三方的开源库。所以,自己发布开源库只需要将库发布到jcenter仓库下才行。SDK开发与传...
JVM: GC过程 堆区是用来存储new出来的对象的,当对象填充满堆区后,就会导致内存爆掉,程序就GG了。就需要科学的进行GC:首先需要判断这个对象是否应该被删除,如果应该被删除,那么需要将这个对象清理掉。判断的标准:GCRoot(一般是指被栈上的直接或间接引用、本地方法栈直接或间接引用的对象、方法区的j静态static变量或常量直接或间接引用的对象)和GCRoot没有相连的关系的就可以删除。...
Html5直播(2): 直播源的制作(以及Ubuntu安装Ffmpeg) 直播源的制作对整个开发和调试很重要。方式1: Nginx+ffmpeg(可扩展)安装Nginx 安装ffmpeg 配置Nginx 准备视频 利用ffmpeg推流1.1 安装nginx:mac通过:brew install nginx-full --with-rtmp-modulewindows通过:剩下的命令:集成nginx-rmtp-mo...
Html5直播(1): 直播原理 通过PC端或移动端,对于采集来说,PC为主。对于源的质量,会买一些专业的设备,保证一定的分辨率到终端的时候非常清楚。收集完后是一个原始的2进制数据流,经过websocket或http等上传到服务器进行上图处理的4个步骤。最常见的是涉及到编码的问题,原始的流是不能直接让播放器去播放的,必须采用一定的协议去做编码。视频压缩编码的常见的格式:H.264(视频编码)、AAC(音频编码)...
kotlin高阶函数:简化常用的API 1.apply函数简化intent.putExtra():val intent = Intent(this, MainActivity::class.java).apply { putExtra("param1","data1") putExtra("param2","data2") } startActivi...
Kotlin中的kotlin-android-extensions插件如何实现findViewById() kotlin-android-extensions插件简化了Activity中的代码编写。不用通过findViewById()获取控件的实例了。这个功能的实现可以通过反编译分析。现在将以下代码转换为Kotlin字节码,然后通过反编译的方式将他还原为java代码,来观察kotlin-android-extensions插件背后实现原理。这就是kotlin代码对应的字节码...
Android: 查看完整的系统广播列表 到SDK路径查看完整的Android系统广播列表:<Android SDK>/platforms/<任意android api 版本>/ data/ broadcast_actions.txt这个路径下还可以查看activity、service列表等。完整的系统广播列表:android.accounts.LOGIN_ACCOUNTS_CHANG...
Java: 逃逸分析 概述:对象一般都是在堆上生成的,也不是绝对的,特例:逃逸分析。JVM 在分析代码之后,发现一个对象在声明之后只有在当前运行的函数中调用,那么就会将这个对象在栈上申请空间,而不是在堆上。这就是JDK6上的逃逸分析。因为在栈上申请的对象函数执行完毕后直接清理,就大大减少了GC的压力。demo:传入的value应当大于127或小于-128。编辑运行的模式,设置堆的大小为10...
阿里云OSS跨域 如果不考虑CDN回流的话。对于跨域,需要请求协议、域名、端口3者有1个不同,即是跨域。那么怎么解决跨域,原始方法是JSONP,那个时代技术有限,现在都是Cors技术。现在,前端发给后端,后端例如golang可以如下配置:当然,具体用法见官方文档。然后就是vue开发阶段,我的访问url是localhost:3000.前端直传oss,为了分布式考虑,跨域访问了。...
UI: 设计复用时代——人物与场景自主切换的插图设计库 像讯飞的:人物UI都是复用的。Humaaans是可以配合我们熟悉的figma使用的,提供了插件,当然还可以配合其他的。安装后,新建一个frame,然后使用插件:他弹出了这个画面,让我们选择,剩下的就是自己搭配衣服、头饰、背景等等、完全自定义。然后可以导出为svg或者其他格式以便使用。看到了吗,就拿头这部分而言,是可以自己更换的,实现UI复用。...
AndroidStudio 3.6: new feature —— View Binding视图绑定 View Binding视图绑定:AS3.6的新特性。2020年2月推出(去年的beta版已经有了)。其作用:更加安全、方便的去访问界面UI对象。以前,用java是findViewbyid().当控件很多的时候,就很繁琐了。当然可以使用ButterKnife。当kotlin出现后,可以使用kotlin编写的android项目在app/build.gradle文件的头部默认引入了...
JS易错点:关于let和var在循环中造成的影响。 var定义的是全局的变量,挂载到window上的。而let则是定义的局部变量/块变量。下面以一个循环为例子:看不出区别?没事,我们继续看,想想var是全局变量,那么挂载到window上后。执行完是否能访问到该全局变量?答案当然是能。那么let定义的,for执行完后能访问吗?我们来看看一下代码:这下懂了let和var的区别了吧。我们再来看一个let和var中比...
腾讯云:从0到1手把手带你Web开发个人网站及其线上部署 (阿里云同理) 部署到云服务器上的原因:本地开发完一个web项目是可以用本地电脑作为服务器的。但是本地电脑可能因为电脑的环境、硬件等原因导致电脑处于关机状态。此时部署到本机电脑的项目外界就无法通过网络访问了。云服务相对于本地电脑来说,可以保证无时无刻都不处于关机状态,用户可以时刻访问做好的web项目查看效果。项目上线流程:本地开发web项目(这里以go为例) 本地环境搭建 本地web项目代...
XML的解析 目标是解析一个xml文件:因为解析XML是很重要的技能:比如微信公众号的后台开发、spring的原理、android的xml系统流程解析布局等。skill写成了kill,手动滑稽~xml有2种解析方式:dom解析(w3c标准解析方法,但是效率低。文档dom树,子节点又有小节点。开辟内存空间把整个dom树弄进来。如果文档大,则dom树占用的内存消耗很大。且如果只要解析一个节点,全...
SVG SVG:SVG即可缩放的矢量图。svg矢量图画质更加细腻和精美,但浏览器渲染压力大。适用一些简单的动画和图表展示。而canvas是像素化的,没有svg精致但是性能更好,所以很多web游戏都是基于canvas的。矢量图无论我们放大多少倍,它2点之间的连线如果是直线的话就会始终保持直线,而不像位图。位图是一直放大后看到2点之间的直线变得模糊,呈现锯齿状:这是因为位图是...
Android: MultiDex原理和优化 MultiDex:Google提供的第三方库,android5.0以前不支持加载多个dex,所以google提供了MultiDex库支持在运行时加载和使用多个Dex.5.0下的版本都还占有市场率,且MultiDex内部的运行时原理和国内的热修复、插件化技术方案原理都一致。Class文件和Dex文件:MultiDex = Multi + Dex(多Dex)Dex (Dalvik-...
代码审查 代码审查:一种有效帮助提升代码质量的有效途径。代码审查3W(what why when) 常见的代码审查工具 代码审查流程1.代码审查3W(what why when):代码审查:对计算机源代码系统化的审查,常用软件同行评审的方式进行,目的是找出及修正在软件开发初期未发现的错误,提升软件质量及开发者的技术。1.1 why:帮助提升代码质量、上下文共享、帮助新人快速融入项目...
前端:让我们做一个快乐的切图仔! 切图:PS切图 蓝湖切图(新兴主流切图工具)PS切图1.菜单和界面的介绍:新建窗口的预设 主要面板:信息、图层、历史记录、字符1.1新建窗口的预设常用的是web预设和1920*1080,当然是可以在右边修改的。分辨率72:在网络上、电脑上能看到的图像都是用72就够了。分辨率越高,图像越清晰,图像的占用大小也会越大(几百M都有可能)。照片一般需要打印,...
JS打造一个简单的TODO案例到底有多难? <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>JS: Todo...
SpringBoot企业开发: Swagger2 Swagger2:减少与其他团队的沟通成本,构建RESTFUL API文档来描述所有的接口信息接口众多,编写RESTFUL API文档工作量大。文档包含接口的基本信息和HTTP请求类型、HTTP请求头、请求参数类型、返回值类型、所需权限 维护不方便,接口变化则需要修改文档 接口测试不方便,需要postman等工具Swagger2是一个开源的软件框架,帮助设计、构建、记录、使用REST...
SpringBoot企业开发: 批处理 SpringBatch:开源、全面、轻量级的批处理框架,通过SpringBatch可以实现强大的批处理应用程序的开发。功能:记录/跟踪 事务管理 作业处理统计 作业重启 资源管理SpringBatch还提供了ItemReader、ItemProcessor、ItemWritter完成数据的读取、处理和写出操作,将批处理的执行状态持久化到数据库。SpringBoot整合Sp...
SpringBoot企业开发: 定时任务 定时任务:cron类似于linux的cron,比如部署代码到阿里云,实现什么定时发送天气预报邮件等等,再比如配置微信公众号助手,每天定时发送消息常用于定时统计数目、数据库备份定时、定时发送短信邮件等。分类:简单的定时任务:@Scheduled注解 复杂的定时任务: Quartz简单的定时任务:@Scheduled注解@Scheduled是由Spring提供的定时任务注解。...
SpringBoot企业开发: 邮件发送 一般企业开发包含:邮件发送 定时任务 批处理 Swagger2 数据校验准备:邮件发送常用于注册时的身份认证、重要通知等。Sun公司提供了JavaMail来实现邮件发送,但是配置繁琐。Spring:提供了JavaMailSenderSpringBoot: 提供了MailSenderAutoConfiguration需要做的准备:登录QQ邮箱,找到账户:找到P...
SpringBoot: 整合消息服务之AMQP AMQPAMQP:Advanced Message Queuing Protocol高级消息队列协议。其是一个线路层的协议规范,不是API规范(e.g: JMS)所以它是天然跨平台的。按照规范的格式发送数据,任何平台都可以通过AMQP进行消息交互。主流的StormMQ,RabbitMQ都实现了AMQPRabbitMQ的安装:安装指南:安装指南[推荐访问我这个链接,下面的...
RabbitMQ: centos7安装指南 以后会写篇SpringBoot整合消息服务、SpringBoot的邮件发送、定时任务、批处理、Swagger2、数据校验RabbitmMQ服务器安装:1.安装erlang:(这时一个很古老 的编程语言)wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rp2....
css3 +JS: 图片拖拽 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Docu...
css3 +JS: 缩略图库 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document...
css3 +JS: 旋转幻灯片3D <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Docum...
css3: 视差滚动特效 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Docume...
快速了解curl用法 常用参数汇总:-s参数省略进度条: -o参数将结果下载下来: -H参数指定请求头, -d参数指定请求的内容, -X参数指定请求的方法最简单的用法:-s参数省略进度条:-o参数将结果下载下来:-H参数指定请求头,-d参数指定请求的内容,-X参数指定请求的方法上面是以queryString和表单FormData的形式提交。我们还可...
Java: 2进制与基本类型 纲要:计算机中的进制位值制计数法 Java中的进制 位运算基本数据类型的存储Java中的整数类型 IEEE754及BigDecimal 小数的2进制化 Java中的字符型和布尔型计算机中的进制1.位值制计数法定义: 按位置决定数值的方式来计数的方法一个数的大小是用一组有顺序的数字表示。例如: 1 2 3的全排列是表示不一样的数值。[可以自己试着用dfs深度优先...
Gin: 优雅的关停服务器 对比区别:1. 原始的关停服务器:2.优雅关闭服务器:ListenAndServe是不阻塞的。监听关闭信号,如果获取到信号就把这个超时的上下文传入server的shutdown()里面,然后才正式退出,监听到信号到真正结束之前我们会首先会关闭这个时间段内重新进入的连接请求,且在超时时间内把之前已经接收到的请求执行完毕。但是kill -9是捕获不到的,有关资料可查看我的...
Android[复习篇]: 跨进程通信 概要:多进程开发的应用及其注意点 跨进程通信的主要方式以及Binder机制的底层实现 AIDL Messenger的实现原理(oneway in out inout)Android多进程:进程是系统资源分配的最小单位,线程是进程内部的独立执行单元是程序执行的最小单位。 进程间的资源和数据互相隔离,进程内的线程间共享大多数的资源和数据。 进程内可以运行多个线程。线程的崩溃会影响到进...
CPU-Z、GPU-Z:查看电脑的CPU处理器、GPU显卡信息 CPU-Z下载安装:GPU-Z下载安装:这里选择No.扩展知识:CPU天梯图:http://www.mydrivers.com/zhuanti/tianti/cpu/GPU 天梯图:http://m.xitongcheng.com/jiaocheng/dnrj_article_55009.html?searchid=10_1426547584_158200671...
前端小demo:星星闪烁 小demo:星星闪烁+自定义滚动条样式当鼠标放上去就会有星星:考虑了星星的重生判断和位移等。index.html:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" con...
Redis:快速上手 Redis是一个NoSQL数据库,且只存key-value形式。其有5种数据的格式:(基本数据类型)字符串-->String 字符串-->HashMap 字符串-->List 字符串-->Set 字符串-->ZSet(有序集合)redis的订阅和发布:(见文末)windows上下载解压:先打开:再打开:实操:...
Linux: 文件查找与读取的常用指令科普 概览find:查找文件(场景1~5) grep:查找文件中的内容(场景6) more、cat、tail、head:查看文件场景一:(基于文件名查找:-name)写了一个yinlei.txt,但忘记放在哪个文件夹下。1.基于当前目录进行查找:2.基于全局目录查找:基于的路径越靠上,查找的时间就越长.这里使用第2种解决问题:其他过滤参数:...
Vue面试题 1.v-show和v-if的区别:v-if: 创建、删除(没有元素)v-show: 显示、隐藏(有元素)v-if是“真正的”条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当的被销毁和重建,同时,它也是惰性的,如果在初始渲染时条件为假,则什么也不做一直到条件第一次变为真时,才开始渲染条件块。而v-show则是不管初始条件是什么,元素总是会被渲染,并只简单的基于c...
chrome: console选项卡中的换行 emm,大佬勿喷。。。。很多时候我们需要在控制台上进行输入代码调试:但是,当我们写函数需要花括号换行的时候,很多人常常按下了回车键Enter:这不是我们i想要的。正确的做法应该是:Shift+Enter键在函数内换行...
chrome: 调试获取数据篇 其实就是在chrome中的console中使用类似jquery的语法获取想要的数据。例如:那么就可以在console中使用类似jquery的语法:这样就简单调试获取到了数据,然后就可以写相关的代码了。...
雪碧图/精灵图: 精准定位 对于一张雪碧图/精灵图来说,是可以帮助我们前端减少资源请求数目的,将需要的图片都归纳在一个网络请求中,这样就减少了请求数,即提高了性能。但是,对于雪碧图的定位来说也是比较头疼的,常常需要打开PS去算。这里推荐一个网站:http://www.spritecow.com/假设有一张雪碧图:假设要获取其中一个图标的位置,那么打开http://www.spritecow.com/网站后...
nvm for windows: 切换node版本 偶尔有些时候,跑别人的项目可能跑不起来是因为node版本的不同。所以,对于 windows用户:安装:点击上面的download now:https://github.com/coreybutler/nvm-windows/releases若系统原先已安装过node,这里会请求是否纳入NVM管理里,点击“是”就可以了简单使用:命令就不赘述了。...
Go: 从文件中读取配置 用到的包:"github.com/spf13/viper"步骤:1.新建一个yml文件:假如这里配置服务器端口和数据库的配置。类似于springboot的application.yml2. 编写初始化配置函数:并在main()中调用:3. 在实际要从文件中读取配置的地方编写相应的代码:用起来是真香~~...
go: jwt配合中间件实现用户认证 实现的效果如下:通过后台下发token实现用户认证:AuthMiddleware.go:package middlewareimport ( "ginEssential/common" "ginEssential/model" "github.com/gin-gonic/gin" "net/http" "strings")/**gin的中间件就是...
gorm的parseTime=true报错 Error 1292: Incorrect datetime value: '0000-00-00' for column 'created_at' at 我的mysql是8.x版本,mysql以前 datetime 的默认值可以设为 '0000-00-00 00:00:00', 新的mysql不能设为这个值,可以把默认值设置为正常的时间就可以了, 比如 '2020-03-0400:00:00'或者去掉sql_model 中的NO_ZERO_DATE配置即可方式详解:【主要演示常用的方式2】方式1:使用se...
WebRTC: (1)设备管理 重要的API: enumerateDevices基本格式:其中ePromise中有个重要的结构体:MediaDevicesInfo实操:先准备express 部署一个Web服务器:然后启动web服务器:就可以访问public下发布路径下的文件了:这样就进入了设备管理准备的代码:案例1: 打印设备信息其中的label没...
WebRTC:整体架构、目录结构、运行机制 整体架构上图中分为2层:应用层、核心层最核心的是绿色的部分,是WebRTC提供的核心功能。 紫色部分是浏览器提供的js API层。[即浏览器对WebRTC核心层的C++做了封装]WebRTC库属于核心层(绿色部分)。核心层比较复杂:分为4层:C++ API: 提供给外边的API接口(主要是对等连接PeerConnection) Session上下文管理层:管理相关的逻辑...
CSS3: 进度条 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>进度条&l...
CSS3: 毛玻璃效果和按钮反光 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>登录表单玻...
Android注解处理器:AutoService与gradle版本不兼容 需要把工程的gradle-wrapper和gradle-plugin分别降低到4.10.1,3.2.0:详细原因:https://github.com/gradle/gradle/issues/1471不想降级gradle,那么必须在`libnavcompiler`中额外添加依赖annotationProcessor 'com.google.auto.service:a...
CSS3: 美化一下滑动组件Slider 自带效果可谓ugly一匹啊~那就美化一下吧。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0...
CSS3: 红心点赞 大致思路其实无非就是切换图形的class样式,并结合CSS动画实现。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scal...
CSS3:个人资料卡片 包含左右2个部分,且左边涉及到js的简单classList切换达到动态显示效果。1.index.html:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=...
SSH免密登录整理 SSH免密登录的步骤:准备工作:准备2台机器,192.168.78.131充当PC端,充当Server端。首先询问是否记住陌生的IP。然后他会问【要登录端】的密码。此时问的是yinlei这个用户的密码而不是root的密码.【ssh不指定用户名的情况下会以当前linux登录的用户作为登录别的机器的用户名】原因是当前机器的用户是yinlei,所以会问我...
DNS原理 域名:比如访问百度,输入其中的baidu.com就是域名。域名是为了方便记忆.现在的计算机网络体系是基于TCP/IP的。如果没有域名的话,就需要写百度的ip地址,IP地址难记,但是记住baidu.com这个域名确是容易记住的。DNS:DNS是将域名实际解析成IP,因为最后还是是需要IP,最终去访问IP地址。Chrome访问浏览器的大致过程:chrome中输入...
Arduino:入门案例之莫尔斯码表 SOS 莫尔斯码是国际上通用的信号代码,常用谍战通信。抗日片中常看到日本鬼子用莫尔斯码发电报,嘀嘀嘀的。莫尔斯码就是利用滴和嗒的各种组合表示数字和英文字母的。书写上:'滴 ' 用 ' . '表示,'嗒' 用 ' -'表示,使用上遵守一定的时间规范。一个滴占用1t的时间,t单位大概是100ms~300ms一个嗒占用3t的时间.滴和嗒的间隔是1t,他们组成完整的字符,...
Github修改他人项目并且提交给原作者 1.我需要更改他的内容,我们就直接fork这个项目:2.就可以看到这个项目已经被我fork了3.就可以直接clone下我们自己的项目来了4.clone下来之后就可以更改了这里假设添加一个yinlei.txt5.提交更新到我们的远程仓库上:(add commit push)6.点击项目上的Pull request去请求7.到这里...
MQTT与Android 接上文:MQTT协议入门首先应部署EMQX到公网上以便后续的访问操作。等会儿的结果信息可以在这里查看。MQTT回顾:MQTT协议有三种身份:发布者、代理、订阅者,发布者和订阅者都为客户端,代理为服务器,同时消息的发布者也可以是订阅者(为了节约内存和流量发布者和订阅者一般都会定义在一起)。MQTT传输的消息分为主题(Topic,可理解为消息的类型,订阅者订阅后,就会收到该主...