Android 封装一个通用的PopupWindow
先上效果图:完整代码地址已上传Github:CommonPopupWindowPopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的。一般PopupWindow的使用://准备PopupWindow的布局ViewView popupView = LayoutInflater.from(this).inflate(R.lay
vue-router配置
前言这篇文章给大家讲解的是在vue-cli脚手架中如何配置vue-router前端路由的相关内容。首先在main.js文件// 引入vue-routerimport VueRouter from 'vue-router';// 引入组件import goods from './components/goods/goods';import seller from './components/sell
一起学Hadoop——二次排序算法的实现
二次排序,从字面上可以理解为在对key排序的基础上对key所对应的值value排序,也叫辅助排序。一般情况下,MapReduce框架只对key排序,而不对key所对应的值排序,因此value的排序经常是不固定的。但是我们经常会遇到同时对key和value排序的需求,例如Hadoop权威指南中的求一年的高高气温,key为年份,value为最高气温,年份按照降序排列,气温按照降序排列。还有水果电商网站
从零玩转jQuery-选择器
基础选择器视频参考第十章-CSS选择器选择器名称描述返回示例#idid选择器根据给定的id匹配一个元素单个元素$("#box");选取id为box元素.class类选择器根据给定的类名匹配元素集合元素$(".box");选取所有类名为box元素element元素选择器根据给定的元素名称匹配元素集合元素$("p");选取所有元素*通配符选择器匹配所有元素集合元素$("*");选取所有元素select
CSS3新特性(01):Transform(上)
CSS3中动画涉及到三个属性,一个是Transform:变形;一个是Transition:过渡,一个是Animation:动画。其中Transform、Animation可以搭配着使用,实现复杂动画,Transition可以实现简单动画。本文来介绍下Transform:CSS3新特性中的Transform,作用是变形,即修改元素自身的坐标空间。这个修改实际对应了一个坐标系统映射转换的矩阵。通过变形
投稿007期 | 那些让我无法忘记的代码
每个人都是从小白开始学习,学习编程也一样。在我是小白的时候,至今无法忘记的超级bug(其实也算一件趣事)。编程之旅开始,作为一个新人,我抱着敬畏的心编写代码(当然现在没有这个感觉了)。进入的第一家实习公司,我主要负责前端工作,后台管理系统的维护,还是有人带的,带我的那个人也有很长时间没有接触这个项目了,不过由于公司项目的绩效问题,我负责的项目已经停滞很长时间了。加入新公司的第一件事当然就是看代码了
使用 Headless Chrome 进行自动化测试
如果你想使用HeadlessChrome进行自动化测试,那么就往下!这篇文章将让你完全使用Karma作为运行器runner,并且使用Mocha+Chai来编撰测试。这些东西是什么?Karma、Mocha、Chai、HeadlessChrome,哦,我的天哪!Karma是一个测试工具,可以和所有最流行的测试框架(Jasmine、Mocha、QUnit)配合使用。Chai是一个断言库,可以与Node和
关于 Linux 你可能不是非常了解的七件事
使用Linux最酷的事情之一就是随着时间的推移,你可以不断获得新的知识。每天,你都可能会遇到一个新的实用工具,或者只是一个不太熟悉的奇技淫巧,但是却非常有用。这些零碎的东西并不总是能够改变生活,但是却是专业知识的基础。即使是专家,也不可能事事皆知。无论你有多少经验,可能总会有更多的东西需要你去学习。所以,在这儿我列出了七件关于Linux你可能不知道的事情。一个查找命令历史的交互模式你可能对hist
Windows下MySql错误代码1045的解决方法
复制代码代码如下:错误代码1045Accessdeniedforuser'root'@'localhost'(usingpassword:YES)解决办法是重新设置root用户密码,在Windows平台下操作步骤如下:1、以系统管理员身份登录到系统;2、如果MySQL服务器正在运行,停止它。 如果是作为Windows服务运行的服务器,进入服务管理器:开始菜单->控制面板->管理工具->服务
阿里云服务器新建用户具体方法
一.新建服务器用户: 用户管理,主要的工作就是建立一个合法的用户帐户、设置和管理用户的密码、修改用户帐户的属性以及在必要时删除已经废弃的用户帐号。1)增加一个新用户在Linux系统中,只有root用户才能够创建一个新用户,如下的命令将新建一个登录名user1的用户。#useradduser1但是,这个用户还不能够登录,因为还没给它设置初始密码,而没有密码的用户是不能够登录系统的。在默认
全排列及相关扩展算法(三)——利用中介数求排列在字典序排位算法
1.中介数的定义及作用:很多时候,我们要通过一个排列得出它的字典序中的位置(序号),比如1234567应该排在第0位(开始位),1234576应该排在第1位,7654321排在第7!-1=5039位。当然,我们可以通过计算Next_Permutation函数的迭代次数来得到这个数据,但这样时间复杂度最差为O(n!),是非常不划算的,因为我们仅仅要求一个数的位置。所以我们要先从数学的角度去计算这个问
php模板引擎的原理与简单实例
模板引擎其实就是将一个带有自定义标签的字符串,通过相应的规则解析,返回php可以解析的字符串,这其中正则的运用是必不可少的,所以要有一定的正则基础。总体思想,引入按规则写好的模板,传递给标签解析类(_HtmlTag)进行解析,再把解析好的字符串传递给php进行解析渲染输出首先定义了一个_HtmlTag类:class _HtmlTag{ protected $taglist = "if|elsei
mysql 数据插入优化方法
通常来说,在MyISAM里读写操作是串行的,但当对同一个表进行查询和插入操作时,为了降低锁竞争的频率,根据concurrent_insert的设置,MyISAM是可以并行处理查询和插入的:当concurrent_insert=0时,不允许并发插入功能。当concurrent_insert=1时,允许对没有洞洞的表使用并发插入,新数据位于数据文件结尾(缺省)。当concurrent_in
从零开始学 Web 之 JS 高级(三)apply与call,bind
一、apply和call方法apple和call都可以改变调用其的函数或方法中的this指向。不同的是传入参数时,apple有两个参数,第二个参数是数组;call从第二个参数开始是调用其的函数的所有参数。使用方法:1、apply的使用语法:函数名.apply(对象,[参数1,参数2,...]);方法名.apply(对象,[参数1,参数2,...]);2、call的使用语法:函数名.call(对象,
JS 异步系列 —— Promise 札记
Promise研究Promise的动机大体有以下几点:对其api的不熟悉以及对实现机制的好奇;很多库(比如fetch)是基于Promise封装的,那么要了解这些库的前置条件得先熟悉Promise;要了解其它更为高级的异步操作得先熟悉Promise;基于这些目的,实践了一个符合Promise/A+规范的repromise。本札记系列总共三篇文章,作为之前的文章Node.js异步异闻录的拆分和矫正。P
优化反射性能的总结(上)
阅读目录开始用Emit方法优化反射Delegate.CreateDelegate也能创建委托用Delegate.CreateDelegate优化反射完整的属性优化方案委托方案的后续问题缓存的线程并发问题小结反射是一种很重要的技术,然而它与直接调用相比性能要慢很多,因此如何优化反射性能也就成为一个不得不面对的问题。目前最常见的优化反射性能的方法就是采用委托:用委托的方式调用需要反射调用的方法(或者属
nginx+php fpm日志报错信息
recv()failed(104:connect resetbypeer)whilereadingresponseheaderfromupstream的原因和解决方案原因是php-fpm进程数耗尽了,两个方案:(1).调整php-fpm.conf里面的pm.max_children,增大,不建议超过300(2).php-fpm.conf里面打开每个对应池的slow日志,根据慢执行日志来优化php代
php程序的安全要素
前段时间写了一个“PHP开发的一些漏洞安全知识”。内容比较好有实例,但不全。于是我决定收集一些PHP程序安全要素,用于以后分析和提醒。个人技术有限如有不当之处还请指正。漏洞都源于与客户会话,接收客户提交数据。可以说“一切提交的数据都是不安全的”。虽然现在程序安全不断的被重视与升级,但是没有“绝对的安全”。也只有这样我们才可以不断的提升,找到程序的乐趣和奥妙。本文参考了https://code.go
JavaScript中的变量提升(Hoisting)
译者按:let和var对于变量提升的影响不同。原文:WhatisHoistinginJavaScript译者:Fundebug为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。提升(Hoisting)并不是指函数或则变量移动到最顶部。实际上,它们并没有移动到任何其它地方去。对于变量声明,JavaScript引擎会在初始化变量的时候赋值为“undefined"。如下图
Python数据分析工具库-pandas 数据分析与探索工具(二)
2、pandas基本函数>>>dfonetwothreea-1.1015581.124472NaNb-0.1772892.487104-0.634293c0.462215-0.4860661.931194dNaN-0.456288-1.222918pandas包含丰富的函数来对数据进行统计分析。mean函数>>>df.mean(0)#对DataFrame的每列求平均数,axis=0one-0.27