聚合文章列表
12 浏览

【学习的艺术】钱会不会来?

写在前面读过累和加班多没时间都不是理由,再不挣钱就老啦之后,脑子里一些想法蹭的生长出来。此文说不出是反对还是支持吧,就有觉得,或许可以从另一个角度阐述这个问题,作者总结的挺不错的,但是这不全是我们真正需要的。金钱驱动下的学习势必不会过于深入,从金钱这个出发点去开始学习,是一种比较危险的行为,这怎么说呢,如果你需要达到更高的境界,这种观念是必须要摈弃的,当然你也可以挣点小钱,进一家好一点的公司,这也不能说没有追求,大部分的我们也就到这个点差不多了。但是...但是...请不要这么快的放弃,你要相信,钱总会来的。(图片来自网络,如有版权问题,立删)钱总会来的是的,钱总是会来的,钱为什么一定会来,因为你的学习到位了,技术到位了,情商智商到位了。引用一段文中的工作满3年,发展好的人可以进大公司,在里面至少稳定,衣食无忧。或者可以进好的互联网公司了,开始双倍经验模式。工作满5年,这个真就不好说,一般比较好的(还不算也别好的),就可以成为架构师了,按目前流行的技术,SpringCloud,Hystrix,Kafka这些技术就

软件架构 2017-12-14 发布
19 浏览

百万在线的美拍直播弹幕系统架构实现

直播弹幕指直播间的用户,礼物,评论,点赞等消息,是直播间交互的重要手段。美拍直播弹幕系统从2015年11月到现在,经过了三个阶段的演进,目前能支撑百万用户同时在线。比较好地诠释了根据项目的发展阶段,进行平衡演进的过程。这三个阶段分别是快速上线,高可用保障体系建设,长连接演进。一、快速上线消息模型美拍直播弹幕系统在设计初期的核心要求是:快速上线,并能支撑百万用户同时在线。基于这两点,我们策略是前中期HTTP轮询方案,中后期替换为长连接方案。因此在业务团队进行HTTP方案研发的同时,基础研发团队也紧锣密鼓地开发长连接系统。直播间消息,相对于IM的场景,有其几个特点消息要求及时,过时的消息对于用户来说不重要;松散的群聊,用户随时进群,随时退群;用户进群后,离线期间(接听电话)的消息不需要重发;对于用户来说,在直播间有三个典型的操作:进入直播间,拉取正在观看直播的用户列表;接收直播间持续接收弹幕消息;自己发消息;我们把礼物,评论,用户的数据都当做消息来看待。经过考虑选择了Redi

软件架构 2017-12-14 发布
17 浏览

微服务学习(1)-微服务概念

一、什么是微服务(Microservices)?微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。(微服务的概念源于2014年3月MartinFowlerMicroservices”(http://martinfowler.com/articles/microservices.html)。类似的定义:微服务采用一组服务的方式来构建一个应用,服务独立部署在不同的进程中,不同服务通过一些轻量级交互机制来通信,例如RPC、HTTP等,服务可独立扩展伸缩,每个服务定义了明确的边界,不同的服务甚至可以采用不同的编程语言来实现,由独立的团队来维护。二、微服务通用特性微服务有以下几个特征:1.通过服务实现组件化;2.按业务能力来划分服务与组织团队;3.服务即产品;4.智能终端与哑管道;5.去中心统一化;6.基础设施自动化;7.Designfor

软件架构 2017-12-19 发布
AD 友情赞助
15 浏览

谈谈 MySQL 隐式类型转换

createtablet_base_user(oidbigint(20)notnullprimarykeyauto_increment,namevarchar(30)nullcomment"name",emailvarchar(30)nullcomment"email",ageintnullcomment"age",telephonevarchar(30)nullcomment"telephone",statustinyint(4)nullcomment"0无效1有效",created_atdatetimenulldefaultnow()comment"创建时间",updated_atdatetimenulldefaultnow()comment"修改时间")###新建索引altertablet_base_useraddindexidx_email(email);altertablet_base_useraddindexidx_name

MySQL 2017-12-14 发布
21 浏览

基于ES6的Promise封装的图片资源加载通用函数(适用于vue)

基于promise的图片资源一次性加载或者预加载作者:NEXT卓场景描述不是每个网页端的用户都能用得起光纤,不是每张图片都是压缩得很小,有时候我们也想要看高清大图,但是受限于网速有时候场景是这样的:(很明显左边的第一张图片还没出来,其他的就出来了)图片资源预加载是一个很常见的需求,在网页开发中,譬如我们在开发一个基于canvas的游戏,涉及到图片资源的时候,为了游戏的体验,我们希望图片资源全部加载才开始游戏。又譬如在一个多图展示的网页,由于图片过多或图片太大,我们希望图片加载完再一次性显示,而不是东一张西一张陆续显示,这时候也需要用图片一次性加载功能。图片资源加载的原理在浏览器向服务器发送请求的过程中,如果图片资源已经加载过一次了,则不会再从服务器加载同一个图片,利用这个原理,我们的实现思路如下://创建一个图片对象letimg=newImage()img.src='图片地址'//资源图片加载完毕img.onload=function(){}基于这个原理我封装了一个图片资源加载的函数,其结构如下/

JavaScript 2017-12-14 发布
24 浏览

使用VUE分分钟写一个验证码输入组件

需求输入4位或6位短信验证码,输入完成后收起键盘实现步骤第一步布局排版{{value[index]||placeholder}}

使用li元素来模拟输入框的显示,

JavaScript 2017-12-14 发布
AD 友情赞助
21 浏览

利用BurpSuite突破JS限制登陆后台

今天在测试网站的时候,发现某个网站的后台登录页面,再输入错误的账号密码之后,首先会进入后台,然后程序验证密码错误之后,再使用js将页面重定向到后台的登录页面,如果我们禁用了这个跳转的js,那么就可以直接进入后台了。当然突破js的方法比较多,比如以前使用firefox浏览器就有禁用js的功能,但是禁用js以后,后台的很多功能是无法使用的,这就需要我们找一个工具来实现禁用一小部分js代码的功能,比如去掉跳转的js,今天使用burp来禁止。1.使用burp抓取到post错误账号密码之后的返回包,找到htmlbody中的js重定向语句。2.修改proxy->options里面的matchandreplace,将js语句替换为空即可。

JavaScript 2017-12-14 发布
34 浏览

Node.js学习笔记(十) - MongoDB入门及操作

目录简介MongoDB安装(windows)MongoDB基本语法和操作入门(mongo.exe客户端操作)库操作插入查询修改删除存储过程nodejs操作MongoDB插入查询修改删除调用存储过程写在之后...简介MongoDB开源,高性能的NoSQL数据库;支持索引、集群、复制和故障转移、各种语言的驱动程序;高伸缩性;NoSQL毕竟还处于发展阶段,也有说它的各种问题的:http://coolshell.cn/articles/5826.html官网地址:http://www.mongodb.org/APIDocs:http://docs.mongodb.org/manual/node-mongodb-nativemongodb的nodejs驱动;GitHub地址:https://github.com/mongodb/node-mongodb-nativeMongoDB安装(windows)官方安装说明:http://docs.mongodb.org/manual/tutorial/install-m

JavaScript 2017-12-14 发布
23 浏览

摘自Medium:在JavaScript中使用不可变数据(ImmutableJS),花这份功夫是否值得?——作者Alex Faunt

不可变JavaScript库(ImmutableJS)值不值得用?导语我是一个前端开发人员,拥有四年工作经验,目前在一个大型软件团体里工作,制作一个以React框架和Redux库为基础建立起来的新单页程序创作一个前所未有的网站,这对所有开发人员而言都有着令人兴奋的前景。我们会天真地眨着大眼睛,满满地抓起一把新技术,把它们全投入到这个node平台服务器上去,再抽身引退,对自己那领先时代的天赋惊叹不已。选择的技术之中,有一个是Facebook公司的”不可变(Immutable)“软件库。我们准备利用这个库来实现数据的表现方式,加强数据的不可变性immutability,以此为开始,建立起面向功能的编程模式。这篇帖子就是要对其进行一次审视。不可变数据与Redux库不可变数据是面向功能编程(functionalprogramming)的核心概念,这种概念在JavaScript中的应用已渐占优势。使用React框架和Redux库时,不可变数据能帮助巩固这两者的核心原则:如果程序状态(appstate)没有发生改变,那网页的文档对象模型(D

JavaScript 2017-12-19 发布
AD 友情赞助
22 浏览

JavaScript、PHP、Python等5款主流编程语言爆安全漏洞

PHP、JS等主流编程语言爆安全漏洞没有不漏的锅,如果底层的编程语言如果出现问题,顶层的应用程序还能幸免于难吗?这周在BlackHatEurope2017安全会议上,一名安全研究员公开了几款目前非常流行的解释型编程语言中出现的漏洞。这些编程语言上存在的问题,可能让运用这些语言开发的应用程序因此也很容易遭受攻击。这项研究的作者是IOActive的高级安全顾问FernandoArnaboldi。这位专家表示他使用了自动化的模糊测试工具在解释器中对五种编程语言进行了测试:Java,Perl,PHP,Python和Ruby。在对默认库和内置函数进行模糊测试之后,他在研究中公布了每种语言存在的一些问题。图0:JavaScript、PHP、Python等主流编程语言爆安全漏洞使用XDiFF对5款语言进行模糊测试使用模糊测试工具,对软件进行测试通常需要检测到不寻常的行为,以及对内存崩溃以及溢出进行检测。目前比较流行的测试工具(如AFL和Peach)通常需要在寻找漏洞的时候的时候采用相同的逻辑,而这些工具无法存

JavaScript 2017-12-14 发布
15 浏览

CSS3线性渐变

今天来谈谈CSS3中的线性渐变,有了这个,好多以前必须要用图片才能实现的效果如今可能只需简单一行代码就能实现。首先看看今天的主角:linear-gradient()。它,实际上不是颜色,而是背景图片。也就是说,它并不是color的属性值,而是background的属性值。我们接下来看看linear-gradient()的具体用法。语法:=linear-gradient([[|to],]?[,]+)=[left|right]||[top|bottom]=[|]?说明::用角度值指定渐变的方向(或角度)。toleft:设置渐变为从右到左。相当于:270degtoright:设置渐变从左到右。相当于:90degtotop:设置

CSS3 2017-12-19 发布
40 浏览

理解 CSS 布局和块级格式上下文

BFC的概念始于CSS2,是个蛮古老的CSS话题了,网上也到处能搜到BFC的介绍,但是都不够简洁。本文系翻译自RachelAndrew女士的博文UnderstandingCSSLayoutAndTheBlockFormattingContext,内容足够简洁明了。本文的目的是介绍一些概念,来帮你增强CSS码力。如标题所示,这篇文章主要是讲块级格式上下文(BFC,BlockFormattingContext)。你可能没听过这个术语,但只要你曾经使用过CSS布局,你就能明白它。理解BFC是什么、它如何工作、如何创建一个BFC是非常有用的,这些能帮你更好的理解CSS布局。这篇文章里,我会通过几个你会很熟悉的的示例解释BFC。我还会告诉你一个新的display值,当你理解了BFC后可能会很需要这个值。什么是BFC一个简单的浮动的示例就能明白BFC的行为,在下面的示例中我们创建一个box元素,该元素包裹一段文字和一个浮动的图片。如果文字内容多的话文字将环绕着

CSS 2017-12-14 发布
AD 友情赞助
22 浏览

巧用console进行一键答题

前言现如今的前端库和框架花样繁多,各类大牛使出浑身解数只为让用户的体验度更高,于是便让我们这些同行有机可乘。生涯慕课教育我们学校的慕课除了尔雅之外还找了一家公司做了一个慕课网站,网站我估计着也就实现了65%左右的功能就匆忙上线,投入使用。在大一的时候便接触到了这个网站,因为有个课——大学生生涯规划。得益于这公司的慕课网站属于快速迭代的开发方式,功能还未完善,我便在其中发现了小bug。首先是视频播放进度监控,通过抓包和源码分析发现播放器并没有跟尔雅一样使用自研的flash播放器,而是使用了h5播放,使用js控制每隔数秒后向后端汇报进度。这其实是个很好的实现方法,不过嘛,在我眼里这就是个没有鉴别并可绕过的漏洞。于是手撸php代码,新鲜出炉一键看视频的小工具。跟升级打怪一样,光看视频哪能行啊,看完视频的答题阶段才是正道~到了答题阶段又发现了一个有趣的地方,那就是为了方便计算答题成绩,每个题中的单选框都有带value值,什么意思?意思就是正确答案的value值是“1”,错误答案的value值是“0”,最后计算答题成绩时只需要把选中的单选框的v

jQuery 2017-12-14 发布
36 浏览

ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十七节--Quartz与ABP框架Abp.Qu...

ABP+AdminLTE+BootstrapTable权限管理系统一期Github:https://github.com/Jimmey-Jiang/ABP-ASP.NET-Boilerplate-Project-CMSQuartz简介Quartz.NET是一个开源的作业调度框架,是OpenSymphony的QuartzAPI的.NET移植,它用C#写成,可用于winform和asp.net应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等.参考对Quartz.NET不熟悉的可以先看下官方学习文档:http://www.quartz-scheduler.net/documentation/index.html使用实例介绍:http://www.quartz-scheduler.net/documentation/quartz-

jQuery 2018-01-13 发布
19 浏览

.net多线程应用

昨天在部门分享.net多线程的一些内容,特此在博客记录下。内容如下:进程与线程1.什么是进程进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内2.什么是线程1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行3.线程的串行1个线程中任务的执行是串行的如果要在1个线程中执行多个任务,那么只能一个一个地按顺序执行这些任务也就是说,在同一时间内,1个线程只能执行1个任务4.什么是多线程1个进程中可以开启多条线程,每条线程可以并行(同时)执行不同的任务并发与并行并发(concurrency):在同一时刻只能有一条指令执行,多个线程程指令被快速的轮换执行并行(parallel):在同一时刻,有多条指令在多个处理器上同时执行。ps:(上面中的两个小图,来自网上,如有侵权,请联系本人删除)多线程的原理与优缺点同一时间,单CPU只能处理1条线程,只有1条

.Net 2013-04-26 发布
27 浏览

DevExpress v17.2—WPF篇(二)

DevExpress年终击穿底价,单套授权低至67折!查看详情>>>用户界面套包DevExpressv17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容。本文将介绍了DevExpressWPFv17.2新的HamburgerMenu、SchedulerControl、Dialogs(CTP)、DataGridControl等,快来下载试用新版本!DataGridControl未绑定字段表达式的新表达式编辑器DevExpressWPFGridControl附带表达式编辑器,内置自动完成支持和语法高亮显示。剪贴板管理:粘贴到网格和TreeList新版本通过添加对粘贴操作的支持来扩展数据网格和TreeList控件的剪贴板功能。最终用户现在可以从MicrosoftExcel、外部数据网格或其他源复制数据,然后将信息直接粘贴到目标数据网格/树列表中。数据可以添加到新的行或现有的单元格中。新版本中引入了新的事件来帮助您自定义或取消某些粘贴操作。其他增强您可以使用'Image'属性指定列标题图像。

.Net 2017-12-14 发布
40 浏览

【ASP.NET Core】运行原理[3]:认证

目录认证AddAuthenticationIAuthenticationServiceIAuthenticationHandlerProviderIAuthenticationSchemeProviderUseAuthenticationAuthentication.Cookies模拟一个Cookie认证认证认证已经是当前Web必不可缺的组件。看看ASP.NETCore如何定义和实现认证。在Startup类中,使用认证组件非常简单。publicvoidConfigureServices(IServiceCollectionservices){services.AddAuthentication();}publicvoidConfigure(IApplicationBuilderapp,IHostingEnvironmentenv){app.UseAuthentication();}AddAuthentication先来分析AddAuthentication:publicstaticIServiceCollecti

.Net 2017-12-14 发布
25 浏览

SharePreferencesHelper 工具类

//首选项帮助类,提供了保存和获取首选项的功能.publicclassSharePreferencesHelper{privatestaticSimpleArrayMapspArray=newSimpleArrayMap();privatestaticSharedPreferencessp;publicstaticSharePreferencesHelpergetInstance(Contextcontext){returngetInstance(context,"");}publicstaticSharePreferencesHelpergetInstance(Contextcontext,StringspName){if(TextUtils.isEmpty(spName))spName="default_spUtil";SharePreferencesHe

.Net 2017-12-19 发布
25 浏览

采用Opserver来监控你的ASP.NET项目系列(一、Opserver监控的简介与平台搭建)

前言之前有过2篇关于如何监控ASP.NETcore项目的文章,有兴趣的也可以看看.今天我们主要来讲讲如何监控我们的ASP.NET项目.首先我们来介绍一下,什么是Opserver,它是StackOverflow(StackOverflow是一个与程序相关的IT技术问答网站。用户可以在网站免费提交问题,浏览问题,索引相关内容,在创建主页的时候使用简单的HTML。在问题页面,不会弹出任何广告,销售信息,JavaScript窗口等。)的开源监控产品(采用MIT协议)。stackoverflow网站是基于asp.net开发的,所以,这个开源的项目,是StackOverflow自己使用的.开源地址:https://github.com/opserver/Opserver它支持监控的内容有很多,如下:服务器信息由Bosun,Orion采集的或者直接监控WMI的产品和系统.SQL群集和单个实例RedisElasticsearch异常日志(来自StackExchange.Exceptional)HAProxyPagerDutyC

.Net 2017-12-14 发布
26 浏览

C#中如何使用断点操作调试程序

VisualStudio调试器调试当代码不能正常运行时,可以通过调试定位错误。常用的程序调试操作包括设置断点、开始、中断和停止程序的执行、单步执行程序以及使程序运行到指定的位置。下面将对这几种常用的程序调试操作进行详细地介绍。1.断点操作断点通知调试器,使应用程序在某点上(暂停执行)或某情况发生时中断。发生中断时,称程序和调试器处于中断模式。进入中断模式并不会终止或结束程序的执行,所有元素(如函数、变量和对象)都保留在内存中。执行可以在任何时候继续。插入断点有3种方式:在要设置断点的代码行旁边的灰色空白中单击;右键单击要设置断点的代码行,在弹出的快捷菜单中选择“断点”→“插入断点”命令,如图11.4所示;单击要设置断点的代码行,选择菜单中的“调试”→“切换断点(G)”命令,如图11.5所示。图11.4右键快捷菜单插入断点图11.5菜单栏插入断点插入断点后,就会在设置断点的行旁边的灰色空白处出现一个红色圆点,并且该行代码也呈高亮显示,如图11.6所示。图11.6插入断点后效果图删除断点主要

.Net 2017-12-14 发布
AD 友情赞助