未分类

解决办法:git错误 error: failed to push some refs to ‘https://github.com/…

问题描述:在git bash中键入 $ git push origin master 进行提交的时候出现 如下错误: error: failed to push some refs to ‘https://github.com/bluetata/ 问题原因:远程库与本地库不一致造成的,在hint中也有提示把远程库同步到本地库就可以了。 解决办法:使用命令行: git pull --rebase origin master 该命令的意思是把远程库中的更新合并到(pull=fetch+merge)本地库中,–-rebase的作用是取消掉本地库中刚刚的commit,并把他们接到更新后的版本库之中。出现如下图执行pull执行成功后,可以成功执行git push origin master操作。 图形描述问题发生的原因及解决办法: 1. 发生问题时候的状态: 2. 执行 git pull -–rebase origin master 操作,意为先取消commit记录,并且把它们临时保存为补丁(patch)(这些补丁放到”.git/rebase”目录中),之后同步远程库到本地,最后合并补丁到本地库之中。 3. 最后把本地库push到远程库当中,使本地与远程仓库保持一致。 Ref link: https://blog.csdn.net/winnershili/article/details/78888548 https://blog.csdn.net/mbuger/article/details/70197532 注:本文原创由`bluetata`发布于blog.csdn.net、转载请务必注明出处。

蓝牙mesh协议架构

写在前面:马上要开始搞mesh组网了,本篇参考mesh的架构文档又加上自己的理解简单整理了一些,为后续做个准备吧。 正文: 蓝牙mesh架构整理: 即在ble协议栈基础之上,又添加了7层协议。 模型层: 涉及模型的实施,因此涉及一个或多个模型规格中定义的行为、消息、状态、状态绑定等的实现。 那么什么是模型: 模型能够定义并实施节点的功能和行为,而状态能够定义元素的条件。 例如:以灯模型来举例,灯泡模型的功能是开关和调节亮度。 什么是消息: 蓝牙mesh网络通过消息进行通信,消息可以分为控制消息和接入消息。 控制消息:与蓝牙mesh网络操作有关的消息,例如心跳(heart beat)和friend的请求消息。 接入消息:该消息允许客户端模型检索或者设置服务器模型中的状态值,或者服务器用于报告状态值。 对于每一个状态,都有一组服务器模型支持的消息,例如请求状态值或请求改变状态的客户端模型、以及发送状态或者状态改变相关的服务器模型。 消息交换:蓝牙mesh网络使用发布/订阅(publish/subscribe)模型来进行消息传输,生产的消息的节点会发布消息,需要接收消息的节点会订阅他们所需的地址。消息可被发布到单播、群组或者虚拟地址。 什么是状态绑定: 状态之间可能存在关系,一种状态的变化会触发另一种状态的变化,就被成为状态绑定。例如:还是灯泡模型,灯泡亮度状态由亮调到暗对应着灯泡开关状态由开到关。 基础模型层: 负责mesh网络的配置和管理相关的模型。 访问层: 访问层负责定义应用层如何利用上层传输层,包括: 、定义应用层数据的格式 、定义并控制上层传输层执行的加密和解密过程。 、对来自上层传输层的数据进行验证,判断其是否适用于该网络和应该。 上层传输层: 负责对访问层传入和传出的应用数据进行加密、解密、和认证。还负责传输“控制消息”(上面提到过就是心跳和friend消息等)。 下层传输层: 底层传输层负责处理PDU的分包和重组。 网络层: 、网络层定义了各种消息地址类型和网络消息格式。 、中继和代理行为通过网络层实施。 承载层: 承载层定义了如何使用BLE协议栈传输PDU。目前定义了两个承载层:广播承载层和GATT承载层。 广播承载层:利用BLE的GAP广播和扫描来传输和接受mesh PDU。 GATT承载层:该层允许不支持广播承载层的设备与mesh网络的节点进行通信。 BLE协议栈: 整个低功耗蓝牙协议栈。

ETH&BTM双挖组合,强势来袭

重大喜讯,AIMiner4.4支持ETH和BTM双挖了!只需几部操作,就可以同时挖取ETH和BTM,收益比单挖提高20%左右。你还等什么! 硬件要求:N卡,显存4G以上。 首先,在AIMiner官网aiminer.cc下载AI矿工最新版本AIMiner4.4。 选取ETH作为主币,在“内核设置”中选择NBMiner12.0或者BMiner11.0内核,然后在下面选取开启双挖选项。然后选择副币种BTM(双挖)。ETH和BTM分别可以选取不同的矿池。注意:软件自带的钱包地址属于测试地址,挖币之前请确定已经将两种币的钱包地址都已经更换成自己的钱包地址。 参数的设定:矿工可以根据自己的需求,选择合适的挖矿强度进行算力分配。打开内核设置,选择所需内核后,在下面的黑色填充区内添加参数。 1,参数-di,设置ETH的分配强度。比如添加参数-di 30 意思就是分配30%的算力给ETH。 2,参数-eres 0,现在挖ETH对显存要求越来越高,很多4G显存的用户在挖ETH的过程中会提示内存不足,这是可以尝试添加-eres 0这个参数,就可以顺利挖ETH了,同时注意,1063目前在win系统下已经不支持ETH挖矿了。 另外,AIMiner4.4版本已经增加了很多辅助功能,大家可以在软件上方的“系统设置”中点击“挖矿策略”查看新功能。 1,增加了定时重启挖矿内核的功能,可以设置每间隔多长时间重启一次内核。 2,增加了在规定时间内,如果获取不到share值,就自动重启内核的功能。 3,增加了挖矿币种,如果算力低于设置的算力值就会重启内核的功能。 以上所有的功能,都是为了软件更好的为矿工服务,避免矿工的损失。 AIMiner一直致力于做最优秀的挖矿软件,给矿工最优质的服务,欢迎选择使用AIMiner。

逼格提高篇之xshell主题(配色方案)修改

xshell主题(配色方案)修改 步骤一 步骤二 步骤一 创建配色文件,命名为XTerm.xcs 输入配色内容(第一行的[Xterm]就是配色方案名,Xterm是用来覆盖默认的配色) [XTerm] text=00ff40 cyan(bold)=93a1a1 text(bold)=839496 magenta=dd3682 green=859900 green(bold)=586e75 background=042028 cyan=2aa198 red(bold)=cb4b16 yellow=b58900 magenta(bold)=6c71c4 yellow(bold)=657b83 red=dc322f white=eee8d5 blue(bold)=839496 white(bold)=fdf6e3 black=002b36 blue=268bd2 black(bold)=073642 [Names] name0=XTerm count=1 步骤二 导入配色文件 工具 –> 配色方案 –>导入–>选择刚刚创建的XTerm.xcs–> 选择覆盖–>确认 效果图: 这样就OK啦,上面是个人比较喜欢的配色 有兴趣的的朋友可以自己div方案

2018~第三届南宁市网络安全技术大赛~nnctf~write-up

Web 1.超简单 分值:100 类型:WEB 已解决 题目:超简单的web题 http://gxnnctf.gxsosec.cn:12311/ 代码审计 1){ //但是if(strlen($a))长度必须>1 echo 'you are a great dark phper '; echo " "; echo $flag; }else{ echo 'you no dark'; } }else{ echo 'you are so dark'; } } }else highlight_file(__FILE__); 构造payload的两种方法: ?no=0000 ?no=0%00 //erge()函数 %00截断 2.帽子商城 分值:200 类型:WEB 未解决 题目:有帽子你就能变强,去这买几顶帽子吧 http://gxnnctf.gxsosec.cn:12313 3.Sql??? 分值:200 类型:WEB 已解决 题目:小明想当一名黑客,于是学习写网站,但他遇到点问题,帮帮他吧 http://gxnnctf.gxsosec.cn:12312/ 按照一般思路测试id, 200OK 看到这些首先想到测试ID,是否存在注入,试了各种姿势未果,发现大部分关键字都被过滤,联合注入、盲注都走不通,于是想到可能存在其它辅助漏洞,用御剑扫描工具进行扫描发现http://gxnnctf.gxsosec.cn:12312/网站目录/.git/存在git泄漏,直接利用git恢复工具恢复文件,到这里希望就很大了,仿佛找到了sql大门,当初没有直接想到先扫描一下网站,导致浪费了很多时间 (T_T) https://github.com/style-404/Git_Extract //git恢复工具 /.git/文件恢复 对index.php进行代码审计 审计发现几乎所有的关键字都被过滤了,但是case when关键字没有被过滤,利用MySQL的case when的特性进行绕过,判断变量是否为空,若为空赋值为2,不为空的话查询结果为1。第一次查询返回2,第二次查询返回1。 case when测试:

换网线导致的无法远程连接服务器问题

换网线导致的服务器无法远程连接问题 网络情况描述: 所使用的机房放置于机房,设置一个外网的IP及网关。日常办公在楼上使用PC机进行远程连接使用,PC机使用内网IP及网关,中间通过交换机进行连接。 最近给机房服务器更换新网线,遇到一件奇怪的事情。原本网络连通状况良好,但更换新网线之后使用楼上PC机远程连接竟然无法连通,ping 也 ping不同。这是什么情况呢? 没办法,开展故障排查吧。 (1)是不是所换的网线质量不好;取下网线,用于其他电脑之间的连接,一切正常,排除此可能。 (2)是不是交换机之间不通了;用自己PC ping 服务器的网关地址,可以ping通,证明交换机之间连接没有问题,故此可能排除。 (3)是不是路由的问题;因为我的PC与服务器所在不同的网关及IP下,既然无法连通,就可能是路由的问题。 事实证明,就是路由的问题。由于拔网线 网络服务断开导致静态路由表丢失,从而导致无法处于不同网关下的计算机无法连接。解决方法其实也很简单,使用命名将网络服务重启下,路由有可能重新恢复,如果无法恢复,那就需要配置下相关路由信息: service network restart 各位童鞋,如果大家也同我遇到类似的拔网线之后网络无法连接或访问的问题,不妨先重启下网络服务,如果不行,就再查看相关的路由信息。

知识蒸馏(Knowledge Distillation)的Pytorch实现以及分析

知识蒸馏(Knowledge Distillation)的概念由Hinton大神于2015年在论文《Distilling the Knowledge in a Neural Network》中提出,论文见:https://arxiv.org/abs/1503.02531。此方法的主要思想为:通过结构复杂、计算量大但是性能优秀的教师神经网络,对结构相对简单、计算量较小的学生神经网络进行指导,以提升学生神经网络的性能。论文中提出了“暗知识”这一概念,即:比如我们在识别一张猫猫的图片的时候,一个性能良好的神经网络经过softmax变换后的输出,在一般该向量中代表猫猫的位置会得到一个非常高的值,比如,0.9,而代表其它分类的值在传统的研究中就不那么受重视了。Hinton大神认为,其它位置得到的值能够为我们提供一些额外的信息,比如,在猫得到0.9的同时,识别为狮子的值可能因为相似的缘故给到了0.09,而识别为汽车的值则可能只有0.0001。在我的理解中,这种目标间的相似性,就是“暗知识”的本质。为了要放大这种“暗知识”所包含的信息,Hinton在传统的softmax函数中加入温度参数T,变为下式所示: 那么,知识蒸馏的步骤分别为: 一、采用传统方式训练一个教师网络。 二、建立学生网络模型,模型的输出采用传统的softmax函数,拟合目标为one-hot形式的训练集输出,它们之间的距离记为loss1。 三、将训练完成的教师网络的softmax分类器加入温度参数,作为具有相同温度参数softmax分类器的学生网络的拟合目标,他们之间的距离记为loss2。 四、引入参数alpha,将loss1×(1-alpha)+loss2×alpha作为网络训练时使用的loss,训练网络。 重点就在于将暗知识放大之后,让学生网络的暗知识去拟合教师网络的暗知识,同时由于教师网络会带有一定的bias,表现为教师网络在训练完成后,对训练集识别的正确率会高于测试集,所以加上loss1来减缓这种趋势,实际应用的时候,可以考虑将alpha首先设置的接近1,比如0.95啥的,来快速拟合教师网络,再逐步调低alpha的值,来确保网络的分类正确率,不过这只是理论上可行的,我也没试验就是了…… 那我们就开搞啦,首先是搭建教师网络,我这里选择的是resnet18,并且由于电脑训练速度的原因(渣机无力……)将网络中所有卷积核的数目减少了一半,训练集采用Cifar10,训练时对图像进行了padding之后随机裁剪以及随机水平翻转来加入噪声。优化器采用带动量项的SGD(lr=0.1, momentum=0.9, weight_decay=5e-4),训练200个epoch,其中在第100以及第150个epoch时将学习率除10,详细的代码见文章末尾的github地址好啦。训练完成后,网络对测试集的识别结果如下所示: Accuracy of the network on the 10000 test images: 93.970000 % Accuracy of plane : 97.727273 % Accuracy of car : 100.000000 % Accuracy of bird : 84.210526 % Accuracy of cat : 86.046512 % Accuracy of deer : 93.877551 % Accuracy of dog : 96.875000 % Accuracy of frog : 98.113208 % Accuracy of horse : 93.

魔鬼数字

今天优化代码的时候,切实感受到魔鬼数字使代码的可读性变得极差。 开发的过程中,通常会使用数字来表示某种跟业务逻辑有关的状态,不同的状态通常对应着不同的处理逻辑。在代码里,就容易出现魔鬼数字的问题。尤其当遇到缺少注释的代码时,代码的可读性就变得很糟,很理解那段代码究竟是要干什么。 在代码中使用魔鬼数字(没有具体含义的数字、字符串等)将会导致代码难以理解,应该将数字定义为名称有意义的常量。 将数字定义为常量的最终目的是为了使代码更容易理解,所以并不是只要将数字定义为常量就不是魔鬼数字了。如果常量的名称没有意义,无法帮助理解代码,同样是一种魔鬼数字。 案例 // 魔鬼数字,无法理解3具体代表产品的什么状态 if (product.getProduct().getProductStatus() != 3) { throw new PMSException(PMSErrorCode.Product.ADD_ERROR); } // 仍然是魔鬼数字,无法理解NUM_THREE具体代表产品的什么状态 if (product.getProduct().getProductStatus() != NUM_THREE) { throw new PMSException(PMSErrorCode.Product.ADD_ERROR); }

nginx+fancyindex漂亮目录浏览带搜索功能

nginx+fancyindex漂亮目录浏览带搜索功能 更换原因 系统环境 安装所需包并下载nginx1.14.0和fancy插件 编译Nginx和fancy 更换原因 nginx自带目录索引,功能简单、样式也不好看,现在使用fancyindex插件来做索引,配上一个漂亮的主题还有搜索的功能 系统环境 系统:CentOS Linux release 7.5.1804 web:Nginx 1.14.0 fancy: fancyindex V0.4.3 fancy-theme: fancy v1.1 安装所需包并下载nginx1.14.0和fancy插件 $ yum install gcc gcc-c++ wget ntpdate vim-enhanced autoconf automake openssl-devel pcre-devel unzip $ wget http://nginx.org/download/nginx-1.14.0.tar.gz $ wget -O fancyindex.zip https://github.com/aperezdc/ngx-fancyindex/archive/v0.4.3.zip $ wget -O fancytheme.zip https://github.com/Naereen/Nginx-Fancyindex-Theme/archive/master.zip $ tar -zxvf nginx-1.14.0.tar.gz $ unzip fancyindex.zip $ unzip fancytheme.zip 编译Nginx和fancy $ cd nginx-1.14.0 $ ./configure --prefix=/usr/local/nginx --add-module=../ngx-fancyindex-0.4.3/ //确定没有错误后,执行make && make install $ make && make install $ ln -s /usr/local/nginx/sbin/nginx /usr/sbin/ $ mv /root/Nginx-Fancyindex-Theme-master/fancyindex.

阿里云服务器mysql安装

1、安装mysql 安装之前先apt-get update更新资源索引,安装执行下面命令安装mysql,安装过程中需要你设置mysql的登录密码。 apt-get install mysql-server 安装客户端,这个可能会提示已经安装了。 apt-get install mysql-client-5.7 2、本地测试 mysql -uroot -p密码 3、远程连接配置 (1)修改配置文件 默认情况下mysql只允许本机访问,需要修改相应配置文件 # 打开配置文件 vim /etc/mysql/mysql.conf.d/mysqld.cnf 找到bind-address = 127.0.0.1这一行将其注释掉。 保存退出后重启mysql service mysql restart (2)创建远程连接用户 登录mysql后执行下面语句, 表示将所有权限赋予给 root 用户,允许其进行远程登录 grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option; 参数解释: all privileges:赋予所有的权限给指定用户,也可以替换为赋予某一具体的权限 .:所赋予的权限是针对全部数据库的全部表。若指定某一具体数据库的具体表,如:thinkphp_user root:表示给root用户授权 ‘%’:表示不限制连接的 IP。若想只允许某特定的 IP 进行远程登录,可以改为具体 IP。 by ‘root’:root 用户的密码 然后刷新立即生效 flush privileges; 4、阿里云服务器设置 阿里云的服务器设置了安全组规则来限制ecs服务器的ip,端口访问策略。因此需要修改。 登录阿里云,然后控制台 然后配置规则 –> 添加安全组规则,在弹出框里设置如下参数,然后确定 配置完后,就可以远程连接了,使用navicat连接