聚合文章列表
19 浏览

Hybird App之选择器详解(一)

image.png另外还有个通配符*,通常在通配符设置marigin值、padding值*{margin:0px;padding:0px;}类选择器1、类选择器允许以一种独立于文档元素的方式来指定样式例如:.class{}index.html选择器hello,Dwyane

style.css.div{color:blue;}

CSS 2012-02-09 发布
20 浏览

webpack 理解

目录关于此文在学习webpack之前,我们先去了解它的作用它与其他其他前端工具(gulp,grunt)有什么差别呢安装webpack.config.js配置结果webpack开始简单配置文件结构demo地址参考连接关于此文本文是笔者初学webpack后的一个简单总结和重新思考的过程。文章中加入了更多的认识和理解,关于配置就比较简陋了。希望能帮助到大家,有误的地方也请多多指正(^^ゞ。最后,祝大家元旦快乐ヾ(≧▽≦*)o在学习webpack之前,我们先去了解它的作用如webpack官网所示,它分析你的项目结构将其打包成适合浏览器加载的模块。但值得注意的是,webpack并不会在浏览器内加载解释器,所以它属于一个预编译模块的方案。在打包前我们也需要做一些转换。这些转换主要在loader中进行(列如将scss转换成css)。同时,在webpack中有各种各样的功能,例如:模块热加载,这就需要plugin了。也因为这两个部分,webpack变得丰富而复杂了。它与其他其他前端工具(gulp,grunt)

CSS 2018-01-01 发布
20 浏览

Newbe.Mahua 1.6 发布,新年第一版

开篇一张图,功能全靠编。QQ机器人平台意指那些支持通过QQ进行消息收发和群员软件平台。使用该SDK开发可以实现一次开发,运行于多个不同QQ机器人平台平台的绝佳体验。基于SDK开发,可以实现包含但不限于以下功能:-QQ消息智能回复-通过QQ发送图片-QQ名片点赞-QQ群成员管理-@指定QQ群成员发送消息此次版本发布主要围绕”开发便利性提升”特性。可调试行、可追踪性都有进一步提升。版本亮点1.提供日志接口可以通过ILogLogger=Newbe.Mahua.Logging.LogProvider.For()创建日志接口的实例,并通过实例写日志。日志接口通过LibLog实现。依托于该项目的灵活性,可以在流行的日志框架之间进行切换,包括:NLogLog4NetEntLibLoggingSerilogLoupe本SDK默认使用NLog,详细内容可以通过LibLog进行了解。2.支持全局异常事件添加了IExceptionOccuredMahuaEven

.Net 2018-01-01 发布
AD 友情赞助
21 浏览

vue深究第一弹:computed与watch的异同

最近在开发vue的过程中,不断用到了计算属性(computed)和观察者(watch),从逻辑上感觉它们很相似,但是尝试混用它们的时候,又出现了一些问题,那么它们到底有什么异同呢?1.computedVSdata问计算属性与观察者异同这个问题之前,首先要明确为啥会有计算属性,即computedvsdata。在vue中,数据有时有被处理一下再展示出来的需求,例如:varvm=newVue({el:'#example',data:{message:'Hello',name:'tomczhang'},computed:{//计算属性的getterreversedMessage:function(){//`this`指向vm实例returnthis.message.split('').reverse().join('')},getWelcome:function(){ret

vue.js 2017-12-31 发布
21 浏览

2017年度总结

2017过去了,2018来了,对于大叔来说,这一年可谓是收获满满的,从上半年比较平稳,写了很多文章,开了一些课程,同时也申请了微软的MVP,在公司和运维一起确实了docker容器等,而下半年,大叔因为个人发展原因,换了工作,新的工作,新的环境,新的挑战,同时新公司给我的空间也更大,从系统架构到DDD架构,从docker集群到微服务,从自动化测试到自动化部署,从svn到gitlab等等,从.netcore1.0到.netcore2.0,从vs2015到vs2017,很多让人兴奋的技术!同时自己也学习了一下财务相关的东西,应该是很必要的东西!2017年,大叔正在用的技术DDD领域驱动架构aspnetcore构建微服务rabbitmq对多个项目的解耦jenkins自动化部署,节点分发docker容器化部署,集群,服务高可用solr全文检索的使用ELK实现对.net平台日志的收集Dapper实现多数据库的持久化redis热数据缓存和mongodb非重要性数据持久化私有nuget服务和gitlab的应用2018,我们将继续!向前看,跑步走!

.Net 2018-01-01 发布
21 浏览

从头开始搭建一个Spring boot+ActiveMQ高可用分布式环境

背景目前公司项目中有用到activemq,两台机器上分别通过共享文件方式搭建了master-slave集群,但两台机器之间并未组建brokercluster,而是在客户端通过软负载的方式随机选择一组提供服务来达到集群扩展的目的。上面的方案主要问题在于需要通过软负载去实现分布式的负载均衡算法,需要解决一系列问题。下面的文章就在原有基础上组建brokercluser(activemq自带),基于学习的目的通过一次搭建过程来体验下(毕竟我不是运维人员),下面是效果图:不需要软负载。为了简单,brokercluster只创建两组,而且全部节点部署在同一台机器上。节点名称tcpopen-write端口管理台端口

消息系统 2018-01-01 发布
AD 友情赞助
22 浏览

新手PM如何与程序员有效沟通

作为互联网主要的两个斗争集体——程序猿VS产品狗,在相爱相杀中不断推动产品更新,如何与程序员有效沟通,是每一位PM基本的能力。但实际中,不专业的PM是产品的噩梦,不配合的程序员是PM的噩梦,在PM确保自身专业素质的情况下,作为新人一些关于沟通的自我总结和建议。1.让彼此的工作有价值:把需求写好在知乎上有个问题“你为什么想打PM”中,大部分答案都指向PM没有把需求写好。程序员根据PM的需求文档进行开发,如果需求一开始的定义就是错误的,结果只会越错越远。让彼此的工作有价值,PM必须把需求写好,这是第一步,也是最重要的一步。写好需求有两点原则:1.首先PM要写完需求文档,不要突然拍个脑门,没做任何调研思考就去沟通,这样的沟通往往高频,浅层且无效;2.其次PM要把需求写好,写好不是格式多美观,但有一些共性——方向的正确性,方案的完整性,内容的可读性。方向的正确性,可以通过用户调研,市场或者数据分析等进行前期验证;方案的完整性,是指对产品涉及的各种边界条件,阈值设置都要考虑完整;内容的可读性,指文档层级结构是否合理,说明是否直观易懂,需

程序员 1900-01-01 发布
14 浏览

Python开发【第十一篇】:Python操作MySQL

本篇对于Python操作MySQL主要使用两种方式:1、原生模块pymsql。2、ORM框架SQLAchemy。pymsqlpymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。windows下载安装pip3installpymysql使用操作执行SQL__author__='Golden'#!/usr/bin/envpython3#-*-coding:utf-8-*-importpymysql#创建连接conn=pymysql.connect(host='192.168.31.134',port=3306,user='root',passwd='123456',db='information_schema')#创建游标cursor=conn.cursor()#执行SQL,并返回受影响行数effect_row=cursor.execute("select*fromtables")pr

MySQL 2018-01-01 发布
15 浏览

Node.JS 性能分析

内存分析内存分析一般都可以使用heapdump工具,使用方法如下>nodeiheapdump在入口文件处引入constheapdump=require('heapdump');启动/重启服务,服务启动后给node进程发送一个信号kill-USR2,在执行某个可疑操作后再次发送该信号,每次发送信号都会生成一个heapdump-..heapsnapshot文件。最后导入chromedevtool可以进行内存占用分析,帮助我们定位出问题代码CPU分析启动node服务时使用--prof参数,可以得到V8执行时的性能分析数据,这些数据会保存到当前目录下一个名为[xxx]-v8.log的文件[xxx]-v8.log文件本身是很难读懂的,好在社区提供了一个叫node-tick-processor的工具,可以通过npm进行安装,装好之后用它来转换日志文件>npmi-gnode-tick-processor>node-tick-p

JavaScript 2018-01-01 发布
AD 友情赞助
20 浏览

async和enterproxy控制并发数量

async和enterproxy控制并发数量聊聊并发与并行并发我们经常提及之,不管是webserver,app并发无处不在,操作系统中,指一个时间段中几个程序处于已经启动运行到完毕之间,且这几个程序都是在同一处理机上运行,并且任一个时间点只有一个程序在处理机上运行。很多网站都有并发连接数量的限制,所以当请求发送太快的时候会导致返回值为空或报错。更有甚者,有些网站可能因为你发出的并发连接数量过多而当你是在恶意请求,封掉你的ip。相对于并发,并行可能陌生了不少,并行指一组程序按独立异步的速度执行,不等于时间上的重叠(同一个时刻发生),通过增加cpu核心来实现多个程序(任务)的同时进行。没错,并行做到了多任务的同时进行使用enterproxy控制并发数量enterproxy是朴灵大大为主要贡献的工具,带来一种事件式编程的思维变化,利用事件机制解耦复杂业务逻辑,解决了回调函数耦合性的诟病,将串行等待变成并行等待,提升多异步协作场景下的执行效率我们如何使用enterproxy控制并发数量?通常如果我们不使用enterproxy和自制的计数器,

jQuery 2018-01-01 发布
19 浏览

2017,寻梦环游记

终于又到了这一天,回想过去一年,真是惊心动魄.焦虑依然存在—这是一篇毫无逻辑和主题的呢喃关于生活带来的焦虑过去的2017年里,发生了很多的事情.内心的焦虑也愈发严重,关注了一整年的社会热点事件,发现大多数事情都如璀璨烟花,最短数天最长数月之后就会被曾经多么慷慨激昂慷慨捐款多么愤愤不平的众人遗忘.大家不仅仅不遗忘了事情本身,还遗忘了它带来的教训.当纷扰过后回归粮食和蔬菜,大家又追着下一个热点去了.最少多关注下粮食和蔬菜会不会比较好?关注了几个极具争议性的事件之后(不是那堆娱乐事件)发现整个局域网里,都容不下敢说话敢发不同声音的人.在大家认为的”大义凛然”面前,在大家的集体道德观面前,其他一切声音都被打压得很惨,大家用一种非常不道德的方式(恶言相向污言碎语)去打压大家不认同的声音.这样只会有一种结局,最后大家都会把东西憋在心里,最后实现共和.多么可怕的未来!今年想要畅游网络更新困难了,楼梯愈发不稳定,今年花了更多的时间在研究扶梯上.如果说新年要有什么愿望,能畅游世界,就是我的愿望.以上现象让我惶恐不安.今两年

程序员 2018-01-01 发布
18 浏览

2017:驻足、回首与跨越

今天是今年的最后一天,一年就又要过去了。而今年也是我的本命年,民间传统的说法叫“槛儿年”,即度过本命年如同迈进一道槛儿一样,意喻不太顺的意思,容易磕绊着。今年确实磕绊了一下,做了人生第一次全麻手术,但其他方面看来也还算顺利,不管怎样磕磕绊绊这一年終就要过去了。去年底,生日那天,开了个头,写了一篇《2016:工作、生活与得失》作为年终总结,今年的生日期间都太忙,没来得及写。但奔忙了一年,年底了总还是需要驻足总结一下的,那就从「驻足」写起吧。驻足驻足的目的,就是在一年过去后,停下来看看现实的来路和理想的计划之间,到底差了多少。年初时,制定了一份个人计划,并建立了相应的执行跟踪表,按周跟踪进度。一年预计52周,留出2周用于意外和计划内的休息,全年计50周。我把每周的实际执行情况记录了下来,画成了下面这张图:理想的直线看起来那么的完美和迷人,但现实的曲线却是如此的扭曲和泄气。全年实际执行下来差一点到75%,也算是符合预期。实际上,计划本来就订的有些挑战,在过程中也有调整计划的内容(毕竟计划总是赶不上变化),但调整仅

程序员 2018-01-01 发布
AD 友情赞助
22 浏览

视频演讲: YY直播基于软硬件的弱网深度优化

37:00概要随着户外直播等形式的兴起,采用手机在多变的网络环境下进行直播已成为常态,与之而来的是高丢包、低带宽等因素而导致的质量不稳定问题。本次分享介绍了YY直播针对质量较差网络(简称弱网)的环境,基于数据分析,在客户端和云端所采取的一系列技术手段。同时,就如何改善上下行网络环境,也给出自己的一些解决方案。个人简介林正显,欢聚时代(YY)研发总监,1999~2011年,先后在3家知名通信设备公司担任主任工程师、高级架构师等职。2011年加入欢聚时代(YY),T4工程师,现分管音视频编解码、计算机视觉、音视频传输和分发等技术团队;在无线传输、IP核心网、互联网接入、音视频直播等领域有较丰富的经验;多次率领团队取得公司技术大奖,在网络及音视频相关方向申请多项专利。全球架构师峰会(InternationalArchitectSummit,下简称ArchSummit)是由InfoQ中文站主办的一次全球性架构师峰会。ArchSummit专门针对架构师人群,讲述与架构和架构师相关的各方面趋势、技术和案例。这

软件架构 2018-01-01 发布
19 浏览

分布式架构的套路

今天小蕉跟大伙一起聊聊分布式系统的架构的套路。在开始说套路之前,大家先思考一个问题,为什么要进行分布式架构?大多数的开发者大多数的系统可能从来没接触过分布式系统,也根本没必要进行分布式系统架构,为什么?因为在访问量或者QPS没有达到单台机器的性能瓶颈的时候,根本没必要进行分布式架构。那如果业务量上来了,一般会怎么解决呢?首先考虑的就是机器升级。机器配置的垂直扩展,首先要找到当前性能的瓶颈点,是CPU,是内存,是硬盘,还是带宽。砸钱加CPU,砸钱换SSD硬盘,砸钱换1T内存,这通常是解决问题最直接也最高效的方法。带宽不够?加带宽,1G不够用100G。CPU8核不够?搞32核96核。这是绝大多数公司能思考到的第一个方案,也是最高效最快最安全的方法,立竿见影。其次就是系统拆分,将所提供服务的主流程以及支线流程梳理出来,按照流程进行系统拆分。如同一棵树,核心业务作为主干流程,其他系统按照需要进行拆分,如同树的开枝散叶。所采取的方式有这么一些,按前后端进行拆分,按照领域拆分,按团队拆分,当然通常来说这些拆分基本都要跟着组织架构走。再不行

软件架构 2018-01-01 发布
18 浏览

物联网设备网关技术架构设计

源|小象文|文刀1、前情概要看这篇文章之前,强烈建议先阅读《物联网设备网关系统架构设计》,该篇文章从四个层次详细介绍了我司设备网关的系统架构。其实做架构设计离不开三个方面:业务架构,系统架构,以及技术架构。它们彼此之间不需要遵循一定的顺序,但必须以实际业务作为出发点,这样做出来的架构才有落脚点,否则就沦为了一个纸上谈兵的花架子了。从这个角度考虑,对于以盈利为目的的组织来说,还是以业务驱动为导向会比较靠谱,技术驱动也未尝不可,在B2B的领域也可以大展拳脚。在设备网关的架构设计中,对于业务架构的设计,我没有单独写一篇文章阐述之,而是融合在系统架构设计中,对其做了一定的介绍。为了方便阐述,我将系统架构设计图先贴出来。图1设备网关系统架构接下来的技术架构设计无非就是将系统架构的四个部分在技术层面进行剖析。个人以为,DeviceGroup,CenterController,以及BizProcessor,这三个部分的技术含量较高,由于单片机设备并非我司开发和生产的,将这部分工作委托给了第三方公司,故

软件架构 2018-01-01 发布
21 浏览

Mysql InnoDB锁机制

一、MySQL锁机制概述:(一)什么是锁,以及为什么使用锁和锁的运作?锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。防止更新丢失,并不能单靠数据库事务控制器来解决,需要应用程序对要更新的数据加必要的锁来解决。锁的运作?事务T在度某个数据对象(如表、记录等)操作之前,先向系统发出请求,对其加锁,加锁后事务T就对数据库对象有一定的控制,在事务T释放它的锁之前,其他事务不能更新此数据对象。(二)锁定机制分类?按封锁类型分类:(数据对象可以是表可以是记录)1)排他锁:(又称写锁,X锁)一句总结:会阻塞其他事务读和写。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对加任何类型的锁,知道T释放A上的锁。这就保证了其

MySQL 1900-01-01 发布
20 浏览

Linux(CentOS7)下安装mysql数据库

下载linux版本接下来进行数据库安装首先要查看是否存在老的数据库直接运行如下命令---------------------------卸载老库,加粗部分对应上一条命令查询的版本---------------------------------rpm-qa|grepmariadbrpm-e--nodepsmariadb-libs-5.5.56-2.el7.x86_64rm-rf/etc/selinux/targeted/active/modules/100/mysqlrm-rf/usr/lib64/mysqlrm-rf/usr/share/mysql---------------------------进入放置安装包的目录,安装新库,直到配置文件---------------------------------cd/data/mysqltar-zvxfmysql-5.7.20-linux-glibc2.12-x86_64.tar.gzmvmysql-5.7.20-lin

MySQL 1900-01-01 发布
15 浏览

JavaScript变量提升的相关讨论

2017年的事情还是2017年完成吧。话不多说,现在开始:之前翻译过两篇发表在Medium上的两篇文章,关于变量和函数提升的问题。后来发现,一个读者(GavinOrland)与作者(BhuvanMalik)就函数和变量提升的问题产生了分歧,是留言形式的。最后作者还专门又写了一篇文章来回应问题,我想也是想让大家都看见吧。所以我自己整理一下,现将他们的讨论也做一个搬运吧。GavinOrland与BhuvanMalik就提升话题中“问题1”和“问题3”的讨论GavinOrland:Explanations1and3areslightlyincorrectasfunctiondeclarationsareactuallyhoistedabovevariabledeclarations.解释1和3有点不正确,实际上函数声明实际上是在变量声明之上提升的。BhuvanMalik:Forthefirstquestion’sbehindthescenes,Ihave

JavaScript 2018-01-01 发布
17 浏览

从 React 到 Reason

如果你是一个React爱好者,开始在各种站点听到有人谈论Reason这个新语言,也看见Jordan(React作者)说ReasonReact将是未来,但你却是不知道从哪下手,那么这篇小教程就是为你准备的。ps.有条件的话还是尽量看Reason和ReasonReact的官方文档吧pps.Jared写的AReasonReactTutorial是ReasonReact最棒的入门指南。本文也是经由他允许,参考了很多其中的内容。能看的懂英语的都直接去他那里吧~Reason是什么?Reason是一门基于OCaml的语言,它为Ocaml带来了新的语法和工具链。它既可以通过BuckleScript被同编译为JavaScript,也支持直接编译为原生的二进制汇编。Reason提供了和JavaScript相似的语法,也可以使用npm来安装依赖。长江后浪推前浪,Reason丢掉了历史包袱,比JavaScript多了可靠的静态类型,也更快更简洁!为什么要学Reason?“

JavaScript 2018-01-01 发布
20 浏览

【ASP.NET系列】详解Views

描述本片文章内容属于ASP.NETMVC系列视图篇,主要讲解View,大致内容如下:1.Views文件夹讲解2.View种类3.Razor语法4.对视图的基本操作一Views文件夹(一)Views文件夹下常用文件种类分析:1.ASP.NETMVC页面基本被放在Views文件夹下;2.利用APS.NETMVC模板生成框架,Views文件夹下的默认页面为.cshtml页面;3.ASP.NETMVC默认页面为Razor格式的页面,因此默认页面为.cshtml页面;4.ASP.NETMVC中,支持WebForm页面,即.aspx页面;5.ASP.NETMVC中,支持静态html页面;(二)默认Views文件夹包含内容分析:1.这里没添加Account控制器;2).默认约定:在Controllers新增一个控制器,就会默认地在Views文件夹下新增一个视图问价,用来存放该控制器添加的视图,如上图中增加Home控制器,在Views下就自动新增加Ho

.Net 2018-01-01 发布
AD 友情赞助