聚合文章列表
20 浏览

使用纯 CSS 实现 Google Photos 照片列表布局

使用纯CSS实现GooglePhotos照片列表布局文章太长,因为介绍了如何一步一步进化到最后接近完美的效果的,不想读的同学可以直接跳到最后一个大标题之后看代码、demo及原理就好,或者也可以直接看下面这个链接的源代码。不过还是建议顺序读下去,因为后面的原理需要前面的内容做为铺垫,主要是在处理边角问题上。先看下效果吧,要不然各位可能没动力读下去了,实在是有点长,可以试着resize或者zoom一下看看效果:https://xieranmaya.github.io/...另外后面一些demo为了方便展示源代码用了jsbin,但jsbin偶尔抽风会显示不出效果,试着在源代码编辑框里不改变代码意思的情况下编辑一下(比如在最后打一下回车)应该就可以了,或者查看一下你浏览器的翻墙设置,因为里面引入了GoogleCDN上的文件,有可能是因为js加载不成功导致的。好了,正文开始。开始之前,先对比一下三种比较常见的图片布局的差异花瓣:此种布局为比较常见的等宽布局,所有图片的宽度是一样的由于图片

CSS 2018-01-03 发布
22 浏览

改造vue-quill-editor(二):10秒搞定自定义上传图片到服务器

原生上传图片到服务器上次给大家分享过下面的文章结合element-ui上传图片到服务器基于上面的原理,我又替大家把整个配置封装好了,大家在使用的时候直接引入配置文件即可。无需引入element-ui,并且增加了部分功能:可限制图片上传的格式可限制图片的大小可重写图片上传成功失败触发的事件具体使用如下引入自定义配置文件vue-quill-editor-config.js新建一个文件名为vue-quill-editor-config.js(文件名可自定义),点击上面的链接复制代码到本文件绑定配置引入配置参数import{editorOptions}from'@/config/vue-quill.editor-config'//'@/config/vue-quill.editor-config'为你存放自定义配置的文件路径在vue组件中绑定配置<template><div><quill-editorref="myQuillEditor":option

vue.js 2018-01-03 发布
20 浏览

.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?

问题分析C#中的开发中,如果遇到“NullReferenceException”或者“未将对象引用到实例”这样的提示,那么是你的程序代码正在试图访问一个null的引用类型的实体而抛出的异常。可能的原因有:情景一未实例化引用类型实体忘记了实例化一个引用类型。在下面的示例中,names声明,但决不实例化:usingSystem;usingSystem.Collections.Generic;publicclassExample{publicstaticvoidMain(string[]args){intvalue=Int32.Parse(args[0]);List<String>names;names.Add("MajorMajorMajor");}}此例中的names在使用之前并没有初始化,修复后的:usingSystem;usingSystem.Collections.Generic;pub

c# 2018-01-03 发布
AD 友情赞助
19 浏览

Jenkins~powershell+cmd发布nuget包包

nuget包也要自动化部署了,想想确实挺好,在实施过程中我们要解决的问题有版本自动控制,nuget自动打包,nuget自动上传到服务端等。一参数化构建二环境变量的k/v参数,存储类库的初始版本,当根目录version.txt生成后,这个k/v就不需要了三这个构建跳转到哪台节点服务器四使用ps插件,完成version.txt的建立和更新$initVersion=[Environment]::GetEnvironmentVariable("${env:projectName}")#版本文件目录$VersionFileDirectory="${env:WORKSPACE}/NugetServices/${env:projectName}"#版本文件名字$VersionFileName="version.txt"#版本文件路径$VersionFilePath="$VersionFileDirectory\$VersionFileName"#初始版本变量值1.0.0.0$InitVersionValue="1

.Net 2018-01-03 发布
16 浏览

世界最著名的四大bug

“电子邮件无法发送到500英里以外”Bug界最经典的传奇之一我在做校园的邮件系统管理员的时候,有用户向我抱怨说:他们不能发送超过500英里距离的email…如果你之前没有听过这个故事。如果你就是这个管理员。此刻是否一脸懵逼。补充材料:用户中有位地理统计人员,还添油加醋地制作了一张邮件发送失败地图,地图上显示,她邮件的送达区域半径比500英里就多那么一点点:半径内的收件人,全收到了,之外的,全失败了。请给出你的debugplan。别说是邮票没贴够。真相:一次软件升级导致远程服务器超时时间被设为0。在一个具有典型负载的特定机器上,零超时意味着如果连接时间稍微超过3毫秒,服务器就会终止连接。而以光速传播的电信号,在3毫秒的时间内所能到达的距离大约是:0.003*c(光速)=558.84719miles“只有在星期三才会崩溃的系统”Bug界最经典的传奇之二一家医院用来监控病人健康的数据库,每到周三,会自己崩溃。我在周三的时候通常也会崩溃。因为那天有组会。但我感觉这应该不是这道问题的答案。

程序员 2018-01-03 发布
16 浏览

2017年底,一个老程序员的感悟

作为一个年近40的老程序员来说,有个最大的好处就是:不用再参与讨论,程序员30岁后该怎么办的话题讨论了。坏处就是:以后怎么过,也没人能给我答案,需要自己去探索。以下是我的所作所为:利用保险这个金融工具保证好家庭风险11月初忽闻我之前的老领导忽然心梗离世,让我猝然不急,心中堵了好久。我影响中的他,热爱生活、注意身体。即使如此还是发生不测。从软件项目管理来说,任何项目都有风险,我要为风险做好准备。”保险“就有这样的作用。一般来说,程序员们的收入维持小康生活还是没有问题的,但是应对风险的能力确实很弱。对于家庭来讲,就是老人、自己、伴侣的健康。如今家庭收入的5%我用于购买保险产品。很可惜,因为家里4个老人都过了买保险的年龄。所以我的建议,给家庭买保险越早越好。购买保险产品一定要了解清楚保险产品,找一个nice的保险规划师。人生的目的是为了自由,做自己喜欢的事看到很多人为了家人、为了孩子拼命工作,这类人过分强调了自己的义务,而忽略了自己。还有人说是要实现财务自由,想象有天你真的有了1个亿就一定幸福了。还有人希望就这么过下去,直到退休。可是我看看

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

论—程序员的上升空间

从事任何职业的人都希望自己能有一个好的上升空间,作为程序员往往也是在不断的争取、探索自己的上升空间,以期在公司或在行业中能够不断提高自己的位置,提升自己的影响力。我见证过许多的程序员的成长,他们很多人在进入成熟期之后,技术上相对较高,一般项目开发起来比较自信,没有什么太大的困难,有的职位上也有所提升,成了项目经理、设计师,有的甚至是到了管理者的位置。又经过很长时间,这些程序员却在也没有什么变化和发展,工作稳定、情绪稳定,好像一切都在按部就班地进行着。有的程序员满足于现在的收入和职位,安于现状;有的程序员却在安于现状的同时,苦苦思索,却找不到自己的上升空间。我想说的是,满足于现状的程序员并不能成为优秀的程序员,永远也不会实现程序员最初那个梦想。而对于那些思索于未来的程序员来说,探索自己的上升空间是一个非常重要的事,有上进心的人始终是这个社会追捧的对象。那么这个阶段程序员的上升空间在哪里呢?这个问题是仁者见仁,智者见智的问题,同时也是和程序员个体情况相关的问题。因此,我们可以用尝试的心态,提出自己的看法和建议:1、技术上的反思和提高

程序员 2018-01-03 发布
23 浏览

如何选择并落地架构方案的?

如何针对当前需求,选择合适的应用架构,如何面向未来,保证架构平滑过渡,这个是软件开发者,特别是架构师,都需要深入思考的问题。无架构,不系统,架构是大型系统的关键。从形上看,架构是系统的骨架,支撑和链接各个部分;从神上看,架构是系统的灵魂,深刻体现业务本质。架构可细分为业务架构、应用架构、技术架构,业务架构是战略,应用架构是战术,技术架构是装备。其中应用架构承上启下,一方面承接业务架构的落地,另一方面影响技术选型。如何针对当前需求,选择合适的应用架构,如何面向未来,保证架构平滑过渡,这个是软件开发者,特别是架构师,都需要深入思考的问题。本文基于作者在大型互联网系统的实践和思考,和大家一起探讨应用架构的选型。一、应用架构本质应用作为独立可部署的单元,为系统划分了明确的边界,深刻影响系统功能组织、代码开发、部署和运维等各方面,应用架构定义系统有哪些应用、以及应用之间如何分工和合作。分有两种方式,一种是垂直分,按照功能处理顺序划分应用,比如把系统分为web前端/中间服务/后台任务,这是面向业务深度的划分。另一种是水平分,按照不同的业务

软件架构 2018-01-03 发布
17 浏览

一波三折,APM监控系统对于OSGI架构的探索实践

2017年我们一直在做分布式服务跟踪系统的升级改造,为了更好的服务于广大的开发和运维人员,能够在数以千万计的微服务系统中快速的发现问题、定位问题。一年下来,接入了上千个系统,快的几分钟,慢的不到10分钟,最多就是处理一下jar包依赖冲突问题,所以能这么迅速的推广。不过前几天遇到一个客户,他们的系统采用的是OSGI的框架。OSGI这个词相信大部分人是听过没用过的。当我们的监控系统遇到了OSGI架构系统也是碰撞出了激烈的火花,足足用了两天的时间,才搞定了各种水土不服。我把期间的各种酸甜苦辣记录下来,希望为奋斗在APM一线的同行们提供一点点帮助。在整个过程中,我们遇到了四个技术关键点:把一个普通的jar包Bundle化。OSGI的类加载机制。引入第三方非Bundle化的jar包。通过Activator在Bundle的启动和停止实现回调。项目背景首先我简单介绍下两个项目的背景:监控系统:这是一个利用动态字节码技术,自动的无侵入的对目标系统实行秒级实时监控,监控内容包括但不限于容量、性能、成功率、调用链、应用拓扑等,详细内容请参考:htt

软件架构 2018-01-03 发布
AD 友情赞助
22 浏览

系统架构设计理论与原则

这里主要介绍几种常见的架构设计理论和原则,常见于大中型互联系统架构设计。一、什么是CAP?著名的CAP理论是由Brewer提出的,所谓CAP,即一致性(Consistency)、可用性(Availability)和分区容错性(PartitionTolerance)。Consistency(一致性):更新操作成功并返回客户端完成后,分布式的所有节点在同一时间的数据完全一致(Allnodesseethesamedataatthesametime)。这里的一致性,一定要和传统的RDBMS中的事务一致性区分开。在传统的RDBMS中,事务具有ACID4个属性,即原子性(Atomicity),一致性(Consistency),隔离性(Isolation)和持久性(Durable)。ACID是关系型数据库的最基本原则,遵循ACID原则强调一致性,对成本要求很高,对性能影响很大。原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。一致性(Consistency):在事务开始

软件架构 2018-01-03 发布
24 浏览

使用istio治理微服务入门

近两年微服务架构流行,主流互联网厂商内部都已经微服务化,初创企业虽然技术积淀不行,但也通过各种开源工具拥抱微服务。再加上容器技术赋能,Kubernetes又添了一把火,微服务架构已然成为当前软件架构设计的首选。但微服务化易弄,服务治理难搞!一、微服务的“痛点”微服务化没有统一标准,多数是进行业务领域垂直切分,业务按一定的粒度划分职责,并形成清晰、职责单一的服务接口,这样每一块规划为一个微服务。微服务之间的通信方案相对成熟,开源领域选择较多的有RPC或RESTfulAPI方案,比如:gRPC、apachethrift等。这些方案多偏重于数据如何打包、传输与解包,对服务治理的内容涉及甚少。微服务治理是头疼的事,也是微服务架构中的痛点。治理这个词有多元含义,很难下达一个精确定义,这里可以像小学二年级学生那样列出治理的诸多近义词:管理、控制、规则、掌控、监督、支配、规定、统治等。对于微服务而言,治理体现在以下诸多方面:服务注册与发现身份验证与授权服务的伸缩控制反向代理与负载均衡路由控制流量切换日志管理性能度量、监控与

软件架构 2018-01-03 发布
16 浏览

「mysql优化专题」高可用性、负载均衡的mysql集群解决方案(12)

不可避免的是,使用MySQL时随着时间的增长,用户量以及数据量的逐渐增加,访问量更是剧增,最终将会使MySQL达到某个瓶颈,那么MySQL的性能将会大大降低。怎么办?前面已经讲过十一篇优化方案,接下来我将讲解MySQL高可用负载均衡这一方法。其中实现高可用负载均衡的方法有很多,例如LVS+keepalived组合实现、haproxy+keepalived组合实现等等,目前用mycat的越来越多,这里我们采用HAProxy+MyCat组合实现MySQL高可用负载均衡这一技术。一、为什么需要mysql集群?一个庞大的分布式系统的性能瓶颈中,最脆弱的就是连接。连接有两个,一个是客户端与后端的连接,另一个是后端与数据库的连接。简单如图下两个蓝色框框(其实,这张图是我在悟空问答解答别人的时候用Windows的自带画板画的,勿喷啊..)

MySQL 2017-01-19 发布
AD 友情赞助
18 浏览

MySQL Replication 主从复制全方位解决方案

1.1主从复制基础概念在了解主从复制之前必须要了解的就是数据库的二进制日志(binlog),主从复制架构大多基于二进制日志进行,二进制日志相关信息参考:http://www.cnblogs.com/clsn/p/8087678.html#_label61.1.1二进制日志管理说明二进制日志在哪?如何设置位置和命名?在my.cnf文件中使用log-bin=指定;命名规则为mysql-bin.000000(后为6位数字)二进制日志位置mysql>showvariableslike'%log_bin%';+---------------------------------+-----------------------------------------+|Variable_name|Value|+---------------------------------+-------------------

MySQL 2017-12-24 发布
16 浏览

2017工作报告

在繁忙的工作中不知不觉又迎来了新的一年,回顾下这一年的工作历程我来总结下,同时展望充满希望的2018年。在这一年我在工作中得到了一些体会,在工作中心态很重要,工作要有激情,保持阳光的微笑,可以拉近人与人之间的距离。积极的思想,平和的心态和充足的干劲才能促进工作进步和工作的顺利。工作回顾1.课程系统课程系统主要进行了界面的美化,业务的拓展与完善。参与了学员中心、教员中心和课程编辑的开发。通过对该项目的参与,个人对系统的业务方面更加了解。对模块开发的模式也有了新的认识。2.竞赛系统在竞赛系统中收获很多,同时也发现一些问题。首先是要了解业务逻辑,个人认为好的业务逻辑是好的程序的基础。还有就是团队合作的重要性,一个好的团队一定是一个分工明确团结一致的团队。好的团队合作有利于提高工作效率,有利于更好地实现目标,有利于提高整体创新能力,就比如这两次比赛之所以能顺利的进行,离不开大家的共同努力。首先是自己所在的前端组,大家分工明确,能够合理的分配给每个人最合适的工作,然后大家互相配合,才能开发出好的web系统。然后是整个靶场组,大家集中测试,各方面通力

Angular 1900-01-01 发布
21 浏览

2017 JavaScript生态圈调查报告

2017JavaScript生态圈调查报告业界资讯来源:前端之巅发布:2018-01-03浏览:84摘要:你知道JavaScript的现状吗?你知道JavaScript中哪些库最受欢迎吗?你知道使用哪些库的开发者工资最高吗?(国外的工资看了引人严重不适,已经去掉了)最近JS开发团队对前端到后端相关的主题向全世界超过28000名开发者提出了的100多个问题进行问卷调查,现在我们在这里和大家分享这个调查结果,相信大家看完全文会对JavaScript有自己的思考。你知道JavaScript的现状吗?你知道JavaScript中哪些库最受欢迎吗?你知道使用哪些库的开发者工资最高吗?(国外的工资看了引人严重不适,已经去掉了)最近JS开发团队对前端到后端相关的主题向全世界超过28000名开发者提出了的100多个问题进行问卷调查,现在我们在这里和大家分享这个调查结果,相信大家看完全文会对JavaScript有自己的思考。语言选择当谈论JavaScript时,你不仅仅是在谈论单一的语言,而是要

JavaScript 2018-01-03 发布
17 浏览

vue vue-router vuex element-ui axios的学习笔记(十八)写后台页面admin,login

先写后台页面的原因是我需要先添加商品,然后才好在前端测试1、先把后端的主页大体写出来,主要是后端路由部分admin.vue