自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(357)
  • 收藏
  • 关注

原创 2019 - Web开发技术指南和趋势

这是一个2019年你成为前端,后端或全栈开发者的进阶指南:你不需要学习所有的技术成为一个web开发者 这个指南只是通过简单分类列出了技术选项 我将从我的经验和参考中给出建议 首选我们会介绍通用的知识, 最后介绍2019年的Web的一些趋势1. 基础前端开发者1.1 HTML & CSSHTML & CSS最基础的知识:语义化的HTML元素 基础的CSS...

2019-06-16 18:20:25 510

原创 JVM上的响应式流 — Reactor简介

响应式编程作为响应式编程方向上的第一步,微软在.NET生态系统中创建了Rx库(Reactive Extensions)。RxJava是在JVM上对它的实现。响应式编程是一个异步编程范式,通常出现在面向对象的语言中,作为观察者模式的一个扩展。它关注数据的流动、变化的传播。这意味着可以轻易地使用编程语言表示静态(如数组)或动态(如事件发射源)数据流。响应式流随着时间的推移...

2019-06-11 10:57:55 395

原创 爸爸又给Spring MVC生了个弟弟叫Spring WebFlux

情景引入很早之前,Java就火起来了,是因为它善于开发和处理网络方面的应用。Java有一个爱好,就是喜欢制定规范标准,但自己又不善于去实现。反倒是一些服务提供商使用它的规范标准来制造应用服务器而赚的盆满钵满。企业用户因要使用这些应用服务器而向提供商支付高额费用,而且也不是特别好用。一个青年才俊为了打破这种局面而奔走呼号、奋发图强。自我介绍显然,这个青年...

2019-06-11 10:56:52 250

原创 【面试】我是如何在面试别人Spring事务时“套路”对方的

“中国最好面试官”自从上次写了一篇“【面试】我是如何面试别人List相关知识的,深度有点长文”的文章后,有读者专门加我微信,说我是“中国最好面试官”,这个我可受不起呀。我只是希望把面试当作是一次交流,像朋友那样,而不是像一场Q & A。但也有人觉得,我对应聘者“太好了”,这完全没必要,反正最后他也不会来。好吧,那这次我就“使点坏”,“套路”一下面试者。记一次“带套路”的面...

2019-06-11 10:55:37 319

原创 【面试】Spring事务面试考点吐血整理(建议珍藏)

Spring和事务的关系关系型数据库、某些消息队列等产品或中间件称为事务性资源,因为它们本身支持事务,也能够处理事务。Spring很显然不是事务性资源,但是它可以管理事务性资源,所以Spring和事务之间是管理关系。就像Jack Ma虽然不会写代码,但是他却管理者一大批会写代码的码农。Spring事务三要素数据源:表示具体的事务性资源,是事务的真正处理者,如MySQL等。事务管理器:像一...

2019-06-11 10:54:32 701

原创 【面试】足够应付面试的Spring事务源码阅读梳理(建议珍藏)

Starting from a joke问:把大象放冰箱里,分几步?答:三步啊,第一、把冰箱门打开,第二、把大象放进去,第三、把冰箱门带上。问:实现Spring事务,分几步?答:三步啊,第一、找出需要事务的方法,第二、把事务加进去,第三、执行事务。You may find it's not a joke, it's serious。Try to find an entr...

2019-06-11 10:52:27 2185

原创 【面试】吃透了这些Redis知识点,面试官一定觉得你很NB(干货 | 建议珍藏)

是数据结构而非类型很多文章都会说,redis支持5种常用的数据类型,这其实是存在很大的歧义。redis里存的都是二进制数据,其实就是字节数组(byte[]),这些字节数据是没有数据类型的,只有把它们按照合理的格式解码后,可以变成一个字符串,整数或对象,此时才具有数据类型。这一点必须要记住。所以任何东西只要能转化成字节数组(byte[])的,都可以存到redis里。管你是字符串、数字、...

2019-06-11 10:48:15 239

原创 开箱即用(out-of-box)的Redis序列号生成器,不用再写任何代码,你值得拥有

先看整体效果把简单的东西“傻瓜化”是软件开发追求的目标之一。请看下图:左边是在application.yml里配置了3个生成器,右边可以直接注入到代码中使用,注意,不用写任何代码。这酸爽。下面请看效果:上面是3个生成器生成的第一个序号。哎吆,还不错哦。慢慢学会分析序列号大家都非常熟悉,无非就是一个初始值、步长,有时还有最大值。这只是最基...

2019-06-11 10:37:17 744

原创 Spring WebFlux开门迎客,却来了一位特殊客人

话说Spring WebFlux已经出现有一段时间了,但是知道他的人并不是很多。这让他很是闷闷不乐。还有更惨的是,那些敢于吃螃蟹的人在尝试了他之后,有的竟把代码重新改回到Spring MVC的同步模式。Spring WebFlux一方面反思自己,一方面决定化身为一家西餐厅,慢慢向周边老百姓推销自己。风声传到了Spring MVC耳朵里,他决定前去试探一番,看看这个同父异母的兄弟和自己到底有什...

2019-06-11 10:12:28 212

原创 【面试】迄今为止把同步/异步/阻塞/非阻塞/BIO/NIO/AIO讲的这么清楚的好文章(快快珍藏)

常规的误区假设有一个展示用户详情的需求,分两步,先调用一个HTTP接口拿到详情数据,然后使用适合的视图展示详情数据。如果网速很慢,代码发起一个HTTP请求后,就卡住不动了,直到十几秒后才拿到HTTP响应,然后继续往下执行。这个时候你问别人,刚刚代码发起的这个请求是不是一个同步请求,对方一定回答是。这是对的,它确实是。但你要问它为什么是呢?对方一定是这样回答的,“因为发起请求后,代码就卡住不...

2019-06-11 10:09:39 228

原创 【面试】如果你这样回答“什么是线程安全”,面试官都会对你刮目相看

不是线程的安全面试官问:“什么是线程安全”,如果你不能很好的回答,那就请往下看吧。论语中有句话叫“学而优则仕”,相信很多人都觉得是“学习好了可以做官”。然而,这样理解却是错的。切记望文生义。同理,“线程安全”也不是指线程的安全,而是指内存的安全。为什么如此说呢?这和操作系统有关。目前主流操作系统都是多任务的,即多个进程同时运行。为了保证安全,每个进程只能访问分配给自己的内存空间,而不能访问...

2019-06-11 10:08:35 320

原创 你的Redis怎么持久化的

引言(本文改编自生活真实案例,如有类同,绝不是巧合!)端午节,烟哥正在一边愉快的学习....突然,微信一阵抖动。原来是老刘呼唤烟哥!善良的烟哥本以为人家是要约我出去玩!然而,打开微信一看,出现下图聊天记录于是本文的主题就这么展开了。由于我需要迅速让老刘明白,这种问题的回答套路,所以我回答的时候,教她的是一种通用做法。ps:附《那些年用过的redis集群架构(含面试解析)》的连接地址。当...

2019-06-09 14:49:38 202

原创 基于Custom-metrics-apiserver实现Kubernetes的HPA(内含踩坑)

前言这里要说一下Prometheus的检控指标从哪里来,它有3个渠道: 主机监控,也就是部署了Node Exporter组件的主机,它以DaemonSet或者系统进程的形式运行,Prometheus会从这里获取关于宿主机相关的资源指标 从Kubernetes自身组件,比如API Server或者Kubelet的/metrics,可以获取工作队列长度、请求QPS以及kubelet...

2019-06-09 14:46:20 1929

原创 笨办法理解动态规划算法

1. 动态规划的基本思想如果我们解决一个问题的时候能将一个大问题转换成一个或者若干个规模较小的同等性质的问题,当我们求解出这些小问题的答案后,大问题的答案很容易解决,对于这样的情况,显然我们可以递归(或者说分治)的方式解决问题。如果在求解这些小问题的过程中发现有些小问题我们需要重复计算多次,那么我们就干脆把已经求解过的小问题的答案记录下来放在一张表中,这样下次遇到这个小问题,我们只需要查表就可...

2019-06-09 14:37:30 217

原创 SpringBoot处理全局统一异常

在后端发生异常或者是请求出错时,前端通常显示如下Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Fri Jun 07 15:38:07 CST 2019There was an unexpected erro...

2019-06-09 14:32:07 726

原创 kill 命令在Java应用中使用注意事项

前言我们都知道,kill在linux系统中是用于杀死进程。kill pid [..]kill命令可将指定的信号发送给相应的进程或工作。 kill命令默认使用信号为15,用于结束进程或工作。如果进程或工作忽略此信号,则可以使用信号9,强制杀死进程或作业.因此,如果确保将进程杀死,可以使用-9参数kill -9 pid [..]linux 中常见的信号1 SIGH...

2019-06-09 14:25:55 272

原创 C# WindowService 动态修改服务名

serviceInstaller1中可以设置服务名,描述等在实际情况中,我们可能需要将Service多开来达到我们的目的,但是安装两次以上会有错误提示,因为服务名已经重复了,这个时候,我们需要动态改变安装服务名了,只需要多一个ServiceName.xm即可在安装文件代码中修改public ProjectInstaller(){InitializeComponent()...

2019-06-09 14:23:37 1325

原创 C# WindowService 安装和卸载

安装脚本install.bat 内容@echo 安装WindowService%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil.exe WindowsService.exenet Start Service1@echo 成功!pause卸载脚本uninst.bat@echo 安装WindowS...

2019-06-09 14:16:22 327

原创 C# 关于App.config

App.config是winfrom等程序的应用程序配置文件,用来存放一些参数。app.config只会在应用程序启动时加载一次。当程序在运行中修改app.config中的参数是不会生效,必须要重启程序才会生效,如果想要达到立即生效的效果,可以采用以下方法1、新建config文件时,不要使用app作为config名字,然后使用config操作类来读取和写入2、...

2019-06-09 14:13:57 1882

原创 Web后台管理系统

开发语言:C#数据库:sql2008登录页面后台管理首页部分操作页面后台管理系统,界面简洁,大方,操作简单,所有功能可定制开发。后台管理系统制作如果你对编程感兴趣或者想往编程方向发展,可以关注微信公众号【筑梦编程】,大家一起交流讨论!小编也会每天定时更新既有趣又有用的编程知识!...

2019-06-09 14:12:09 4090 2

原创 微信demo小游戏:飞机大战从无到有

微信demo游戏飞机大战从无到有现在创建新项目会默认给飞机大战的demo,这里给大家从基础开始讲解游戏的从无到有是怎么实现的。具体实现步骤:创建背景图->背景图运动起来->创建飞机并随背景图一起动->控制飞机移动->飞机发射子弹->创建敌机->消灭敌机->玩家飞机被击毁->显示结算界面首先删除所有自带文件,只保留ga...

2019-06-09 11:31:47 3465 3

原创 使用开源概率编程语言 Pyro 对截尾时间 - 事件数据进行建模

在 Uber,我们有兴趣调查乘客在平台上完成首次乘坐到第 2 次乘坐之间的时间跨度。我们的很多乘客是通过推荐或促销活动首次与 Uber 进行互动的。他们的第 2 次乘坐是个关键指标,表明乘客在使用平台的过程中发现价值并愿意长期使用我们服务。然而,对第 2 次乘坐时间建模是件棘手的事。例如,一些乘客不经常乘车。在分析这类乘客的第 2 次乘坐之前的时间 - 事件数据时,我们认为他们的数据就是截尾数据。...

2019-06-08 13:44:00 730

原创 构建工具篇 - react 的 yarn eject 构建命令都做了什么

前言前段时间,一直在研究 react 技术栈,对于项目的构建方面,又有一定的特殊需求,通过 npx create-react-app [filename] 安装以后,发现没有 webpack 相关的配置的目录,在读了 react 官方文档后,发现通过 yarn eject 可以弹出相关的配置,进行自定义配置。于是,我就想知道 eject 到底做了什么,发现里面涉及到很多的知识点,也有很多是我之...

2019-06-08 11:58:56 11644 1

原创 「试着读读 Vue 源代码」工程目录及本地运行(断点调试)

说明 首先这篇文章是读 vue.js 源代码的梳理性文章,文章分块梳理,记录着自己的一些理解及大致过程;更重要的一点是希望在 vue.js 3.0 发布前深入的了解其原理。 如果你从未看过或者接触过 vue.js 源代码,建议你参考以下列出的 vue.js 解析的相关文章,因为这些文章更细致的讲解了这个工程,本文只是以一些 demo 演示某一功能点或 API 实现,力求简要梳理过程...

2019-06-08 11:56:53 403

原创 让前端开发者失业的技术,Flutter Web初体验

Flutter是一种新型的“客户端”技术。它的最终目标是替代包含几乎所有平台的开发:iOS,Android,Web,桌面;做到了一次编写,多处运行。掌握Flutter web可能是Web前端开发者翻盘的唯一机会。在前些日子举办的Google IO 2019 年度开发者大会上,Flutter web作为一个很亮眼的技术受到了开发者的追捧。这是继Flutter支持Andr...

2019-06-08 11:54:16 2869

原创 无限循环RecyclerView的完美实现方案

背景项目中要实现横向列表的无限循环滚动,自然而然想到了RecyclerView,但我们常用的RecyclerView是不支持无限循环滚动的,所以就需要一些办法让它能够无限循环。方案选择方案1 对Adapter进行修改网上大部分博客的解决方案都是这种方案,对Adapter做修改。具体如下首先,让 Adapter 的 getItemCount() 方法返回 Integer.MAX_...

2019-06-08 11:43:25 2799 2

原创 国人开发的数据可视化神库 pyecharts

一、pyecharts简介Echarts是百度开源的数据可视化工具,能够很好的嵌入web端,渲染的图表简洁精美,深受广大开发者喜爱和支持。而pyecharts是Python语言与Echarts的融合,用法简洁开发高效。pyecharts特性 简洁的 API 设计,使用如丝滑般流畅,支持链式调用 囊括了 30+ 种常见图表,应有尽有 支持主流 Notebook 环境...

2019-06-08 11:39:02 613

原创 即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?

本文引用了“蔷薇Nina”的“Nginx 相关介绍(Nginx是什么?能干嘛?)”一文部分内容,感谢作者的无私分享。1、引言Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡方案,从某种意义上来讲,Nginx几乎是低成本、高负载Web服务端代名词。如此深入人心的Nginx,很多人也想当然的认为,在IM或消息推送等场景下是否也能使用Nginx来解决负载均衡问题?...

2019-06-08 11:11:49 283

原创 这就是波士顿动力第一款商用产品「机器狗」Spot

波士顿动力 CEO Marc Raibert 告诉《The Verge》称,最近 Spot 正在大量的「概念验证」环境下接受测试,包括包裹递送和监控作业。他表示,尽管商用版 Spot 没有具体的上线日期,但应该会在几个月内与公众见面,并且年底前肯定发售。CEO Marc Raibert 说道:「我们现在只是对设计做最后的调整。一直以来,我们都在严格地测试这些 Spot 机器人。」Rai...

2019-06-08 10:47:33 2622

原创 Python并不完美,Swift正在成长为深度学习语言

如果你懂编程,在听到 Swift 时,你可能会想到为 iOS 或 MacOS 开发应用程序。如果你懂深度学习,那么你肯定听闻过 Swift for Tensorflow(简称 S4TF):https://www.tensorflow.org/swift。那么你可能会问自己:「谷歌为什么要为 Swift 创建一个TensorFlow版本呢?毕竟已经有 Python 和 C++版本了;为什么还...

2019-06-08 10:37:22 591

原创 谷歌为什么要花26亿美元收购数据分析公司Looker ?

当地时间6月6日,谷歌在官网上发文宣布,谷歌已经签署收购Looker公司的最终协议。预计收购将在今年下旬完成,收购完成后Looker将并入谷歌云部门。这笔收购的价格为26亿美元,这也是谷歌母公司Alphabet继2014年用32亿美元收购智能家居公司Nest以来金额最大的收购案例,也是谷歌历史上继摩托罗拉(125亿美元)、Nest(32亿美元)以来的第三大收购案。为了云业务,谷歌一掷千金。...

2019-06-08 10:34:25 880

原创 前端打包混编压缩js代码,如何不重新打包,修改js文件内部配置参数?

利用worker多线程 实现基于vue打包后外置配置化操作实际就是vue build打包文件都混编了 但是worker多线程 实现外部配置。前端项目在build后,项目的代码通常进行混编、压缩等处理,我们的js代码最终会成为无序的js模块文件。若修改项目中业务的配置参数,通常可以通过接口服务来传达,但是有时候也需要外部的配置文件来传达,如项目已经到生产环境,在不重新打包发版本的基础上,修改...

2019-06-05 15:18:37 2460

原创 面试官: React 强调的『不可变数据结构』怎么实现?

前言我们在学习 React 的过程中经常会碰到一个概念,那就是数据的不可变性(immutable),不可变数据是函数式编程里的重要概念,因为可变数据在提供方便的时候会带了很多棘手的副作用,那么我们应该如何处理这些棘手的问题,如何实现不可变数据呢?文章目录可变数据的副作用 不可变数据的解决方案 实现更简单的immutable1.可变数据的副作用 我们应该都知道的基本知识,在Ja...

2019-06-05 15:14:08 2510 1

原创 【移动端适配】用vw、vh+媒体查询打造最完美的移动端适配方案

更新——前两天写的这篇文章未曾想能获得这番热烈反响,首先感谢大家的支持与抬爱,菜鸡表示诚惶诚恐。我也是刚入掘金不久,本意是想在这个有原则的前端社区写点文章,把平时积累多总结。一来有助于督促自己,二是希望能给有需要的朋友给予帮助。希望大佬们能多多发表意见或者建议,一起成长,进步!望轻拍,感激(ಥ _ ಥ)一篇真正看了就会用的vw、wh适配教程从古老的的百分比布局+px+媒体查询到re...

2019-06-05 14:32:47 4593 1

原创 『前端技术』相比后端是否只能打辅助?

问题来源于知乎提问,截图如下:前后端如何定义前端生存现状前端的下半场前端的机遇1. 前后端如何定义?论坛上人们经常会为前后端的问题展开撕 x 大战,很多时候问题的根源是没有定义好前后端的概念.因为这两个词本身就很笼统,就我个人而言我是这样理解的狭义前端: 就是纯粹的 Web 前端,基于浏览器技术是前端应用狭义后端: 就是纯粹的 Web 后端,基于服务器为前端提供接口的后端应...

2019-06-05 14:27:29 540

原创 Vue响应式原理-如何监听Array的变化?

回忆在上一篇Vue响应式原理-理解Observer、Dep、Watcher简单讲解了Observer、Dep、Watcher三者的关系。在Observer的伪代码中我们模拟了如下代码:class Observer { constructor() { // 响应式绑定数据通过方法 observe(this.data); }}export ...

2019-06-05 14:23:12 6061

原创 公司要求会使用框架vue,面试题会被问及哪些?

如果你是一个已经在学习前端开发的初学者亦或者是一名在代码界纵横多年的程序员,那你一定知道现在最火的前端框架之一Vue.js。它相比于React与Angular上手更加容易,或许这也是很多初学者选择vue的原因之一。我们看到很多招聘上都写着掌握vue开发项目,那么面试都会问什么呢?别急,下面是我给大家整理了一份比较全面的Vue面试高频考题解析小册。对于MVVM的理解...

2019-06-05 14:13:20 600

原创 大神是怎样用函数式JavaScript计算数组平均值的

函数式编程中用于操作数组的方法就像“毒品”一样,它让很多人爱上函数式编程。因为它们真的十分常用而且又超级简单。 .map() 和 .filter()都仅需一个参数,该参数定义操作数组每一个元素的函数即可。reduce()会复杂一些,我之前写过一篇文章介绍为什么人们难以掌握reduce()方法,其中一个原因在于很多入门资料都仅仅用算术作为例子。我写了很多用reduce()来做算术以外的例子。用r...

2019-06-05 14:02:52 4534

原创 Data Binding 库使用的经验教训

Data Binding 库(下文中以『DB 库』词语来指代)提供了一个灵活强大的方式来绑定数据到 UI 界面。但是要用一句陈词滥调:『能力越大,责任越大』,仅仅是使用数据绑定,并不意味着你可以避免成为一个优秀 UI 开发者。过去的几年我一直在 Android 开发中使用 data binding 库,本文会写出我这一路上了解到的与它有关的一些内容细节。尽可能使用 bind...

2019-06-05 13:58:30 715

原创 外链即将失效?论如何用脚本一次性下载/替换失效的外链图片

前言大约一个月前,微博的图片外链失效了,以及掘金因为盗链问题也于2019/06/06决定开启防盗链,造成的影响是:个人博客网站的引用了这些图片外链都不能显示。目前微博和掘金的屏蔽,在CSDN和segmentfault都是可以正常显示的,只影响个人博客。比如前段时间我的博客:obkoro1.com上引用的微博图片都不能显示了。因为我写博客比较频繁,被屏蔽的图片不在少数,肯定不能一个个...

2019-06-05 13:54:15 611

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除