7 雨落无影

尚未进行身份认证

www.jiweichengzhu.com

等级
TA的排名 1w+

如何实现延迟队列

延迟队列的需求各位应该在日常开发的场景中经常碰到。比如: 用户登录之后5分钟给用户做分类推送; 用户多少天未登录给用户做召回推送; 定期检查用户当前退款账单是否被商家处理等等场景。 一般这种场景和定时任务还是有很大的区别,定时任务是你知道任务多久该跑一次或者什么时候只跑一次,这个时间是确定的。延迟队列是当某个事件发生的时候需要延迟多久触发配套事件,引子事件发生的时间不是固定的。 业界目前...

2020-01-28 16:31:07

造轮子-toast组件的实现(下)

1.解决 toast 中传入 html 的问题,通过假的 slot 来实现 // plugins.jstoast.$slots.default = [message]// toast.vue <div v-html="$slots.default[0]"></div>// 使用created() { this.$toast('<p>我是&lt...

2020-01-27 16:32:29

计算广告丨《互联网广告算法和系统实践》读书笔记

引言 这是我阅读《互联网广告算法和系统实践》的笔记,作者王勇睿,在百度阅读上可以购买,书的篇幅很短,一天就能看完。 本书主要介绍了搜索广告算法、非搜索(定向)广告算法和实时竞价广告算法,为读者梳理了广告中的常用概念如CTR、ECPM,一个广告系统如何组成,实践中还会考虑什么问题,没有涉及多的数学和算法模型。本书适合入门,但作为小白,很多内容读完后没有具体的案例消化,理解深度上有所欠缺。我想当具...

2020-01-26 16:32:11

【5min+】帮我排个队,谢谢。await Task.Yield()

系列介绍 【五分钟的dotnet】是一个利用您的碎片化时间来学习和丰富.net知识的博文系列。它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的.net知识等等。 5min+不是超过5分钟的意思,"+"是知识的增加。so,它是让您花费5分钟以下的时间来提升您的知识储备量。 正文 如果您现在正在使用.NetCore的话,相信您对await 和 a...

2020-01-25 16:32:32

漫画 | 什么是散列表(哈希表)?

创建与输入数组相等长度的新数组,作为直接寻址表。两数之和的期望是Target,将Target依次减输入数组的元素,得到的值和直接寻址表比较,如果寻址表存在这个值则返回;如果不存在这个值则将输入数组中的元素插入寻址表,再进行输入数组中的下一个元素。 再进一步优化可以将输入数组直接作为直接寻址表,控制对应的下标就好,代码如下: Code:直接寻址表 class Solution { ...

2020-01-24 16:31:44

替代 Hystrix,Spring Cloud Alibaba Sentinel 快速入门

提起 Spring Cloud 的限流降级组件,一般首先想到的是 Netflix 的 Hystrix。 不过就在2018年底,Netflix 宣布不再积极开发 Hystrix,该项目将处于维护模式。官方表示 1.5.18 版本的 Hystrix 已经足够稳定,可以满足 Netflix 现有应用的需求,所以接下来其会把焦点转向对于自适应的实现,更多关注对应用程序的实时性能做出响应。对于新应用的熔断...

2020-01-23 16:31:19

Jenkins-k8s-helm-harbor-githab-mysql-nfs微服务发布平台实战

基于 K8S 构建 Jenkins 微服务发布平台 实现汇总: 发布流程设计讲解 准备基础环境 K8s环境(部署Ingress Controller,CoreDNS,Calico/Flannel) 部署代码版本仓库Gitlab 配置本地Git上传测试代码,创建项目到Gitlab 部署pinpoint 全链路监控系统(提前修改Dockerfile,打包镜像上传)...

2020-01-22 16:30:38

Kaggle竞赛丨入门手写数字识别之KNN、CNN、降维

引言 这段时间来,看了西瓜书、蓝皮书,各种机器学习算法都有所了解,但在实践方面却缺乏相应的锻炼。于是我决定通过Kaggle这个平台来提升一下自己的应用能力,培养自己的数据分析能力。 我个人的计划是先从简单的数据集入手如手写数字识别、泰坦尼克号、房价预测,这些目前已经有丰富且成熟的方案可以参考,之后关注未来就业的方向如计算广告、点击率预测,有合适的时机,再与小伙伴一同参加线上比赛。 数据集 ...

2020-01-21 16:30:57

JVM中的GC算法,JVM参数,垃圾收集器分类

一.在JVM中什么是垃圾?如何判断一个对象是否可被回收?哪些对象可以作为GC Roots的根   垃圾就是在内存中已经不再被使用到的空间就是垃圾.   1.引用计数法:     内部使用一个计数器,当有对象被引用+1,没有就-1,但是没有办法解决循环引用的问题,JVM不采用此类回收法   2.枚举根节点可达性分析(GC Root) 它必须是一组活跃的引用     思路:通过一系列名为GC...

2020-01-20 16:31:20

《【面试突击】— Redis篇》--Redis Cluster及缓存使用和架构设计的常见问题

《【面试突击】— Redis篇》--Redis Cluster及缓存使用和架构设计的常见问题 在这个系列里,我会整理一些面试题与大家分享,帮助年后和我一样想要在金三银四准备跳槽的同学。我们一起巩固、突击面试官常问的一些面试题,加油!! 《【面试突击】— Redis篇》--Redis数据类型?适用于哪些场景? 《【面试突击】— Redis篇》--Redis的线程...

2020-01-19 16:30:47

Java框架之Spring 02-AOP-动态代理-AspectJ-JdbcTemplate-事务

AOP 动态代理   代理设计模式的原理:使用一个代理将原本对象包装起来,然后用该代理对象”取代”原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。 代理模式的三要素: 代理主题接口 代理者 被代理者 代理模式的主要优点 代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用; 代理对象可以扩展目标对...

2020-01-18 16:30:47

Spark读写ES

本文主要介绍spark sql读写es、structured streaming写入es以及一些参数的配置 ES官方提供了对spark的支持,可以直接通过spark读写es,具体可以参考ES Spark Support文档(文末有地址)。 以下是pom依赖,具体版本可以根据自己的es和spark版本进行选择: <dependency> <groupId>...

2020-01-17 16:31:44

趣谈编程史第2期-这个世界缺少对C语言的敬畏,你不了解的C语言科普

这是我制作的编程语言科普系列视频的第二期,博客根据视频文案整理而成,提供给有需要的朋友阅读或使用. 视频地址: https://www.bilibili.com/video/av83627932/ 如果感兴趣观看视频,感谢博友. 在华夏文明的历史长卷中, 曾经有一段狼烟四起,群雄逐鹿的特殊历史时期 史称春秋战国 这段时期,诸侯...

2020-01-16 16:32:04

自动将本地文件保存到GitHub

前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 这篇文章主要讲讲如何自动将本地文件保存到GitHub上 有人会好奇,为什么我要将本地文件保存到GitHub上呢?其实我的理由就只有一个:不知道为什么我的Typora有时候会出现无法响应的情况(直接卡死),这样可能会导致写...

2020-01-15 16:32:39

Ceph日常运维管理和排错 -- <7>

Ceph日常运维管理 集群监控管理 集群整体运行状态 [root@cephnode01 ~]# ceph -s cluster: id: 8230a918-a0de-4784-9ab8-cd2a2b8671d0 health: HEALTH_WARN application not enabled on 1 pool(s) servi...

2020-01-14 16:32:29

TypeScript 源码详细解读(1)总览

TypeScript 由微软在2012 年 10 月首发,经过几年的发展,已经成为国内外很多前端团队的首选编程语言。前端三大框架中的 Angular 和 Vue 3 也都改用了 TypeScript 开发。即使很多人没直接用过 TypeScript,他们也在通过 VSCode 提供的智能提示功能间接享受着 TypeScript 带来的各项便利。 很多人对 TypeScript 背后的原理很感...

2020-01-13 16:33:29

《提升能力,涨薪可待》—Java并发之Synchronized

Synchronized简介 线程安全是并发编程中的至关重要的,造成线程安全问题的主要原因: 临界资源, 存在共享数据 多线程共同操作共享数据 而Java关键字synchronized,为多线程场景下防止临界资源访问冲突提供支持, 可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块操作共享数据。 即当要执行代码使用synchronized关键字时,它将检查锁是否...

2020-01-12 16:33:12

关于Scrum+XP+DevOps的学习

最近听了ECUG大会上孙敬云老师的分享感觉受益匪浅,毕竟大学课本上只讲到瀑布模型就没有下文了,工作以后一直贯彻的都是Scrum路线,一直也没有时间好好的去学习整理这部分的知识,直到近几天听到了孙老师的分享,所以就在这里记录下孙老师的分享也总结我自己的思路。以下内容部分摘自于孙老师的分析PPT 1 软件工程之路 1.1 软件工程的演进 貌似大学的那门软件工程只给我们讲到了1980年,之后的需要...

2020-01-11 16:33:17

Android系统启动过程分析

Android系统启动过程分析 一、Android平台架构 首先贴一张Android系统架构图方便理解整个Android架构,这可以让我们从整体上对整个启动流程有个大概认知。 可以看出整个架构由5部分构成,从下到上分别为: 1. Linux内核层 Android 的核心系统服务基于Linux 内核,在此基础上添加了部分Android专用的驱动。系统的安全性、内存管理、进程管理、网络协议栈和...

2020-01-10 16:33:09

Magicodes.IE编写多框架版本支持和执行单元测试

背景 很多情况下,我们编写了一些工具库之后,往往在某些框架版本中会出现一些问题,比如本人最近写的一个导入导出的工具库Magicodes.IE(GitHub:https://github.com/xin-lai/Magicodes.IE)就出现了以下问题: 虽然支持标准库2.0,但是通过编写单元测试,确实发现如此: 因此,单元测试确实需要针对各个框架版本进行测...

2020-01-09 16:31:54

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周上午根据用户上周周三的博文发布情况由系统自动颁发。