本文作者:HelloGitHub-老荀 Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列,免费开源.有趣.入门级的 ZooKeeper 教程,面向有编程基础的新手. 项目地址:https://github.com/HelloGitHub-Team/HelloZooKeeper 今儿就带大家打入 ZooKeeper 的源码内部! 一.源码调试 授人以鱼不如授人以渔 我始终相信 "纸上得来终觉浅",最终读者想要自己真正了解到 ZK 内部原理,阅读源码还是必不…
如果移动端访问不佳,可以访问我的个人博客 前几天看了一篇关于动画的博客叫手摸手教你写 Slack 的 Loading 动画,看着挺炫,但是是安卓版的,寻思的着仿造着写一篇iOS版的,下面是我写这个动画的分解~ 老规矩先上图和demo地址: 刚看到这个动画的时候,脑海里出现了两个方案,一种是通过drawRect画出来,然后配合CADisplayLink不停的绘制线的样式:第二种是通过CAShapeLayer配合CAAnimation来实现动画效果.再三考虑觉得使用后者,因为前者需要计算很多,比较复…
手摸手教你如何在 Python 编码中做到小细节大优化 在列表里计数 """ 在列表里计数,使用 Python 原生函数计数要快很多,所以尽量使用原生函数来计算. """ elements = list(range(1, 1000001)) # 常见写法 num = 0 for n in elements: num += 1 # 建议写法 len(elements) 过滤一个列表 """ 过滤一个列表,推导列表的方式…
前言 相信大家在开发小程序时会遇到某个功能多次使用的情况,比如弹出框.这个时候大家首先想到的是组件化开发,就是把弹出框封装成一个组件,然后哪里使用哪里就调用,对,看来大家都是有思路的人,但是要怎样实现呢.可能你会去看官方文档,但是微信的官方文档也是说的不太清楚,所以写起来也是非常痛苦.今天就带大家手摸手开发微信组件,坐稳了,马路杀手要开车了. 具体实现 我们先实现个简单的弹窗组件,详情图如下: 1.新建component文件夹存放我们的组件,里边存放的就是我们所用的组件,我们今天要做的事弹出框,…
https://www.guaosi.com/2019/02/26/laravel-api-initialization-preparation/ 1. 起因 随着前后端完全分离,PHP也基本告别了view模板嵌套开发,转而专门写资源接口.Laravel是PHP框架中最优雅的框架,国内也越来越多人告别ThinkPHP选择了Laravel.Laravel框架本身对API有支持,但是感觉再工作中还是需要再做一些处理.Lumen用起来不顺手,有些包不能很好地支持.所以,将Laravel框架进行一些配置…
前言 说好的教程终于来了,第一篇文章主要来说一说在开始写业务代码前的一些准备工作吧,但这里不会教你webpack的基础配置,热更新怎么做,webpack速度优化等等,有需求的请自行google. 目录结构 ├── build // 构建相关 ├── config // 配置相关 ├── src // 源代码 │ ├── api // 所有请求 │ ├── assets // 主题 字体等静态资源 │ ├── components // 全局公用组件 │ ├── directive // 全局指令…
前言 computed 在 Vue 中是很常用的属性配置,它能够随着依赖属性的变化而变化,为我们带来很大便利.那么本文就来带大家全面理解 computed 的内部原理以及工作流程. 在这之前,希望你能够对响应式原理有一些理解,因为 computed 是基于响应式原理进行工作.如果你对响应式原理还不是很了解,可以阅读我的上一篇文章:手摸手带你理解Vue响应式原理 computed 用法 想要理解原理,最基本就是要知道如何使用,这对于后面的理解有一定的帮助. 第一种,函数声明: var vm = n…
[手摸手,带你搭建前后端分离商城系统]03 整合Spring Security token 实现方案,完成主业务登录 上节里面,我们已经将基本的前端 VUE + Element UI 整合到了一起.并且通过 axios 发送请求到后端API. 解决跨域问题后.成功从后端获取到数据. 本小结,将和大家一起搭建 Spring-Security + token 的方式先完成登录.权限将在后面讲解. 引入 在之前,我们的 API 都是一种裸奔的方式.谁都可以访问,肯定是不安全的.所以我们要引入安全校验框…
原文地址 手摸手带你用Hexo撸博客(一) 环境搭建 安装 node 狂点下一步 命令行输入此条命令 如果能看到版本号则安装成功 node -v 安装Git (同上) 实在不会的小伙伴百度一下,教程很多,不细说了 命令行输入此条命令 如果能看到版本号则安装成功 git version 安装 Hexo 博客的搭建工具有很多,这里我选用的是Hexo,原因嘛,因为我只会这一个,相同功能的轮子会一个就够了,而且也确实好用 全局安装Hexo 打开 CMD npm install -g hexo-cli 安…
HTML常用标签总结 手摸手带你学CSS HTML5与CSS3知识点总结 手摸手带你学移动端WEB开发 好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star 转载请注明出处! 链接:https://blog.csdn.net/weixin_43461520/article/details/113785278 转载请注明出处! 视口 视口就是浏览器显示页面内容的屏幕区域.视口分为布局视口.视觉视口和理想视口.…
学习 RPA 的路上坑比较多,让我们手摸手,一起走…… 以下是一些学习 UiPath 和 RPA 的资源, 拿走不用谢! UiPath Studio 中文文档 机器人流程自动化其实是很好的概念和技术,但是这些技术目前还没有太多的中文资源.这无疑是提高了 RPA 学习的门槛.我就希望可以通过自己一己之力为这门技术的普及做一点点贡献,为社区出一份力. 官方文档的中文翻译,看不懂英文没关系,我来翻译好了. 我在翻译过程中发现,UiPath Studio 的官方文档描述也有很多与实际不相符的地方.针对这…
前言 拖更有点严重,过了半个月才写了第二篇教程.无奈自己是一个业务猿,每天被我司的产品虐的死去活来,之前又病了一下休息了几天,大家见谅. 进入正题,做后台项目区别于做其它的项目,权限验证与安全性是非常重要的,可以说是一个后台项目一开始就必须考虑和搭建的基础核心功能.我们所要做到的是:不同的权限对应着不同的路由,同时侧边栏也需根据不同的权限,异步生成.这里先简单说一下,我实现登录和权限验证的思路. 登录:当用户填写完账号和密码后向服务端验证是否正确,验证通过之后,服务端会返回一个token,拿到t…
前言 在前面两篇文章中已经把基础工作环境构建完成,也已经把后台核心的登录和权限完成了,现在手摸手,一起进入实操. Element 去年十月份开始用vue做管理后台的时候毫不犹豫的就选择了Elemen,那时候vue2 刚发没多久,市面上也没有很多其它的vue2的ui框架.虽然Element也有很多的不足,前期的bug也不少,但我还是选择了它,说一下我选择Element的原因吧: 有大厂背书 : 虽然核心开发只有三个人,但至少不用担心哪天就不维护,带着小姨子跑路了. 持续迭代 : Element发版…
前言 做这个 vueAdmin-template 的主要原因是: vue-element-admin 这个项目的初衷是一个vue的管理后台集成方案,把平时用到的一些组件或者经验分享给大家,同时它也在不断的维护和拓展中,比如最近重构了dashboard,加入了全屏功能,新增了tabs-view等等.所以项目会越来越复杂,不太适合很多初用vue的同学来构建后台.所以就写了这个基础模板,它没有复杂的功能,只包含了一个后台需要最基础的东西.vueAdmin-template 主要是基于vue-cli w…
欢迎关注笔者的公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习.面试资源哟!! 个人网站: https://www.exception.site/essay/elasticsearch-single-cluster-plugin-install 目录 一.什么是 Elasticsearch 二.Elasticsearch 下载&安装 三.Elasticsearch 安装&查看插件 四.Elasticsearch 本地集群搭建 一.什么是…
条件队列是什么?可能很多人和我一样答不出来,不过今天终于搞清楚了! 什么是条件队列 条件队列:当某个线程调用了wait方法,或者通过Condition对象调用了await相关方法,线程就会进入阻塞状态,并加入到对应条件队列中. 在等待唤醒机制相关文章中我们提到了条件队列,即当对象获取到同步锁之后,如果调用了wait方法,当前线程会进入到条件队列中,并释放锁. synchronized(对象){ // 获取锁失败,线程会加入到同步队列中 while(条件不满足){ 对象.wait();// 调用w…
前言 watch 是由用户定义的数据监听,当监听的属性发生改变就会触发回调,这项配置在业务中是很常用.在面试时,也是必问知识点,一般会用作和 computed 进行比较. 那么本文就来带大家从源码理解 watch 的工作流程,以及依赖收集和深度监听的实现.在此之前,希望你能对响应式原理流程.依赖收集流程有一些了解,这样理解起来会更加轻松. 往期文章: 手摸手带你理解Vue响应式原理 手摸手带你理解Vue的Computed原理 watch 用法 "知己知彼,才能百战百胜",分析源码之前,…
手摸手,带你在Win10环境下安装YApi可视化接口管理平台 YApi YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验, 开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理. 一.环境要求 nodejs(7.6+) mongodb(2.6+) git 二.安装Git 1.Git官网下载:https://git-scm.com/…
[手摸手,带你搭建前后端分离商城系统]01 搭建基本代码框架.生成一个基本API 通过本教程的学习,将带你从零搭建一个商城系统. 当然,这个商城涵盖了很多流行的知识点和技术核心 我可以学习到什么? SpringBoot 鉴权与认证.token.有关权限的相关的内容. 优雅的利用OSS 上传文件 API 在线生成文档 Redis Redis 基本使用 Redis 缓存存放用户token等 Docker 容器技术的使用 SpringBoot 项目打包docker image ElasticSearc…
[手摸手,带你搭建前后端分离商城系统]02 VUE-CLI 脚手架生成基本项目,axios配置请求.解决跨域问题. 回顾一下上一节我们学习到的内容.已经将一个 usm_admin 后台用户 表的基本增删改查全部都完成了.并且通过swagger 测试了我们的接口信息,并且顺利通过测试.本节将通过VUE 脚手架生成一个vue-element ui 的基本项目.并且完成登录页面的开发和登录逻辑的整合等等. 知识储备 使用 vue-cli 生成一个基本的 VUE 项目 vue-router vue 官方…
在上一篇博客手摸手带你用Hexo撸博客(一)中主要介绍了博客的初步搭建 今天我们继续讲如何在Hexo搭建的博客中应用主题 官网选择自己喜欢的主题 点击这里Hexo主题进入官网主题页面 然后选择自己喜欢的一个 我这里选择的是Butterfly主题,也是我目前仍在使用的 安装 目前有三种安装方式Gitee.GitHub.npm Gitee安装 git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git theme…
完整项目地址: go-shop-b2c 系列文章: 手摸手,带你用 Beego撸商城 系列一(基础篇) 手摸手,带你用 Beego撸商城 系列二(登录篇) 手摸手,带你用 Beego撸商城 系列三(系统配置篇) 前言 这里不会讲解太多的基础知识,主要介绍关于从零开始使用 Beego 框架撸一个商城思路 目录结构 ├── common // 公共函数 ├── conf // 配置相关 ├── controllers // API请求 │ ├── admin // 后台管理 API │ ├── we…
完整项目地址: go-shop-b2c 系列文章: 手摸手,带你用 Beego撸商城 系列一(基础篇) 手摸手,带你用 Beego撸商城 系列二(登录篇) 手摸手,带你用 Beego撸商城 系列三(系统配置篇) 前言 一个商城后端系统,登录尤其重要,首先用户下单,需要登录,后台管理系统,需要登录.我们需要做的是,除了登录以及注册,其余的接口需要进行登录校验. base_controller 封装 由于我们需要进行登录校验和不进行登录校验的 Controller,又由于 base_controll…
被一位读者赶超,容器化部署 ELK Stack 你好,我是悟空. 被奇幻"催更" 最近有个读者,他叫"老王",外号"茴香豆泡酒",找我崔更 ELK 的文章. 因之前我用的是软件安装 Logstash + Filebeat 的方式: 7000 字 | 20 图 | 一文带你搭建一套 ELK Stack 日志平台 他想知道如何用容器化部署 ELK,于是我先写了一半,因为要写其他文章所以耽搁了.没想到过了几天后,老王说他已经部署好了,还写了篇文章,恐怖…
开源世界有许多优秀的开源项目,我选取其中十个最优秀的.最轻量级的C语言的项目,希望可以为C语言开发人员提供参考. 十个最值得阅读学习的C开源项目代码 1. Webbench 2. Tinyhttpd 3. cJSON 4. CMockery 5. Libev 6. Memcached 7. Lua 8. SQLite 9. UNIX v6 10. NETBSD 十个最值得阅读学习的C开源项目代码 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fo…
参照<着手摸手,带你用vue撸后台>一文,本人做了前端的权限判断 https://segmentfault.com/a/1190000009275424 首先就是在addroutes后,$router.options.routes不会更新.因为本人的侧面导航栏是使用$router.options.routes来遍历生成的.于是就发现这个问题. 作者估计这个是个bug,已经提交issuse:https://github.com/vuejs/vue-router/issues/1859 说一下解决…
本文地址:http://www.cnblogs.com/archimedes/p/c-opensource-project.html,转载请注明源地址. 本篇文章主要总结一些C开源项目,有些是很著名的,有些则比较生僻 1.Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力.Webbench使用C语言编写, 代码实在太简洁,源码加起来…
楔子 说起读开源项目源码,很多朋友觉得高大上.大佬牛逼,云云~ 挡在很多人面前的不是源码怎么读,而是不知道如何导入源码到开发工具以及如何调试源码. 本文将以 spring-cloud-gateway 源码导入一个简单的 SpringBoot 项目中举例,目的就是给读者一个导入开源项目源码并调试的简单方法. 看文过程中感觉有不明白的地方欢迎评论留言,如果本文帮到了你,本人不胜荣幸的同时,也欢迎为本文点个大拇哥 准备工作 1.默认大家本地有装 IDEA.Maven.Git,Java 程序员通识就不再…
写在前面: 使用 vue-cli 可以快速创建 vue 项目,vue-cli很好用,但是在最初搭建环境安装vue-cli及相关内容的时候,对一些人来说是很头疼的一件事情,本人在搭建vue-cli的项目环境的时候也是踩了相当多的坑,特此写了一篇搭建环境的教程,每一步尽量详细解析.需要的朋友可以过来参考下,喜欢的可以点波赞,或者关注一下本人,希望可以帮到大家. vue-cli脚手架的优势: 有一套成熟的vue项目架构设计,能够快速初始化一个Vue项目. vue-cli是官方支持的一个脚手架,会随本版…
一 背景 现代社会比较重视效率,本着这个思想宗旨,能用工具自动高效做的事情,就不要低质量的勤奋.yapi-to-typescript就是一款自动生成接口请求与响应的typescript数据类型定义的工具,可根据 YApi 或 Swagger 的接口定义生成 TypeScript 或 JavaScript 的接口类型及其请求函数代码.本文手把手教你在项目中把这个工具用起来,让加班时间少一点,摸鱼时间多一点. 二 安装配置 2.1 在项目中安装yapi-to-typescript工具包 yarn a…