小恐龙 小恐龙
3年前
图论(一)基本概念
图(graph)是数据结构和算法学中最强大的框架之一(或许没有之一)。图几乎可以用来表现所有类型的结构或系统,从交通网络到通信网络,从下棋游戏到最优流程,从任务分配到人际交互网络,图都有广阔的用武之地。而要进入图论的世界,清晰、准确的基本概念是必须的前提和基础。下面对其最核心和最重要的概念作出说明。关于图论的概念异乎寻常的多,先掌握下面最核心最重要的,足
徐小夕 徐小夕
3年前
30分钟教你优雅的搭建nodejs开发环境及目录设计
前言笔者最近在工作之余,一直在做数据可视化和nodejs方面的研究,虽然之前的web工作中接触过nodejs和可视化相关的内容,但是没有一个系统的总结和回顾,所以为了更深入的研究和复盘我的nodejs和数据可视化之路,笔者将会花两个月的时间,做一个彻底的复盘.Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,
待兔 待兔
2年前
面向对象设计原则之 - 低耦合
耦合到底是什么?耦合(或者称为依赖)是程序模块之间的依赖程度。从定义上看,耦合和内聚是相反的:内聚关注模块内部的元素的结合程度耦合关注模块之间的依赖程度理解耦合的关键有两点:什么是模块?模块和内聚里面提到的模块是一样的,耦合中的模块其实也是可大可小的。常见的模块有函数,类,包,子模块,子系统等什么是依赖?依赖这个词很好理解,通俗地讲,就是
Stella981 Stella981
3年前
Base64编码
Base64的来源Base64的主要用途是将不可打印字符转换成可打印字符,而什么需要这样转换呢?因为有些网络传输渠道并不能支持传输所有字节,一些不可见字符(如控制字符)在传统的邮件系统中就无法传输,而例如图片文件不可能每个字节都是可见字符,这样就导致用途这些渠道的用途受到很大限制。Base64正是解决这一问题,通过64个可见字符来编码各种字符,使得数
Stella981 Stella981
3年前
Alibaba年薪百万架构师纯手打淘宝,天猫等双十一秒杀活动亿级秒杀顶级教程文档
前言作为一名程序员,高并发系统是技术栈中必不可少的,高并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被ADC暴击了一样,那伤害你懂得(如果你看懂了,这个说法说明是正在奔向人生巅峰的屌
Wesley13 Wesley13
3年前
Celery 和 Redis 入门
Celery是一个广泛应用于网络应用程序的任务处理系统。它可以在以下情况下使用:在请求响应周期中做网络调用。服务器应当立即响应任何网络请求。如果在请求响应周期内需要进行网络调用,则应在周期外完成调用。例如当用户在网站上注册时,需要发送激活邮件。发送邮件是一种网络调用,耗时2到3秒。用户应该无需等待这2到3秒。因此,发送激活邮件应当在
Stella981 Stella981
3年前
SpringBoot + Redisson实现分布式锁
一、什么是分布式?要想说什么是分布式,那么首先要知道分布式之前的系统是什么样的架构,之前的架构又存在什么样的问题?单体架构分布式之前就是单体架构,单体架构顾名思义就是将所有的业务功能打包在一个应用中,然后部署在服务器上。如果我们把单体架构比作一个汽车工厂,那么从汽车发动机到汽车上的一个螺丝钉都需要由它
Stella981 Stella981
3年前
Liunx版本号码编排惯例
1、内核版本号不代表操作系统整体版本;Linux的内核,以及每一个应用程序、元件、库或者是发行版中的软件包都有自身的版本号。例如你使用的gcc版本号码是2.7.2.3,内核可能是2.2。在安装某个发行版时,所有这些过程得到了简化,因为发行版中包括的每一个软件包都是最新的,例如:RedHat、easyLinux。2、稳定版和开发版任何时候内核都以两
Stella981 Stella981
3年前
Android 整体设计及背后意义
现实工作中经常可以听到这样的说法:框架的升级带来协议性能的提升、编程模式的变革带来业务的飞跃......姑且不论这些表述是否有问题,实际上如果系统地看待事物整体,可能会有不一样的发现。以LINUX为例,尽管其内核大获成功,但如果不是遵循POSIX、并成为一个开源、精简的UNIX实现,很难想象其最终会有何种发展。因此,对事物进行全局和一定深入的探究有时会有更
Wesley13 Wesley13
3年前
Java多线程导致的的一个事物性问题
业务场景我们现在有一个类似于文件上传的功能,各个子站点接受业务,业务上传文件,各个子站点的文件需要提交到总站点保存,文件是按批次提交到总站点的,也就是说,一个批次下面约有几百个文件。      考虑到白天提交这么多文件会影响到子站点其他系统带宽,我们将分站点的文件提交到总站点这个操作过程独立出来,放到晚上来做,具体时间是晚上7:00到早上7:00。