lucien-ma lucien-ma
4年前
Git基础命令教程
Git学习git之前,我们需要先明白一个概念,版本控制!版本控制什么是版本控制版本控制(Revisioncontrol)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。实现跨区域多人协同开发追踪和记载一个或者多个文件的历史记录组织和保护你的源代码和文档统计工作量
Easter79 Easter79
4年前
systemtap脚本实现的NAT端口转换
这会儿不是工作日,这会儿是周六。systemtap就是一个kprobe的DSL,本质上完成的是同一类工作,kprobe用起来比较麻烦,还要自己编写编译内核模块,相比而言,stap就方便很多。既然kprobe可以修改内核结构体的内容,那么也就可以修改网络数据包咯,前面的文章描述了如何迷惑程序员的抓包行为,本文展示一下如何实现一个NAT端口转换逻辑,
徐小夕 徐小夕
4年前
30分钟教你优雅的搭建nodejs开发环境及目录设计
前言笔者最近在工作之余,一直在做数据可视化和nodejs方面的研究,虽然之前的web工作中接触过nodejs和可视化相关的内容,但是没有一个系统的总结和回顾,所以为了更深入的研究和复盘我的nodejs和数据可视化之路,笔者将会花两个月的时间,做一个彻底的复盘.Node.js是一个事件驱动I/O服务端JavaSc
Wesley13 Wesley13
4年前
java多线程——CAS
关于无锁队列,网上有很多介绍了,我做一个梳理,从它是什么再到它有哪些特性以及应用做一个总结,方便自己使用和记录。本文主要内容:非阻塞同步是什么cas是什么特性ABA问题无阻塞队列1非阻塞同步互斥同步属于一种悲观的并发策略,总认为只要不去做正确的同步措施,肯定会出问题,无论共享数据是否真的会出现竞争,它都要进行加锁。而基
徐小夕 徐小夕
4年前
《精通react/vue组件设计》之配合React Portals实现一个功能强大的抽屉(Drawer)组件
前言本文是笔者写组件设计的第六篇文章,内容依次从易到难,今天会用到react的高级APIReactPortals,它也是很多复杂组件必用的方法之一.通过组件的设计过程,大家会接触到一个完成健壮的组件设计思路和方法,也能在实现组件的过程逐渐对react/vue的高级知识和技巧有更深的理解和掌握,并且在企业实际工作做游刃有余.之所以会写组件设计相关
Wesley13 Wesley13
4年前
MySQL Binlog同步HDFS的方案
这个问题我想只要是在做数据开发的,有一定数据实时性要求、需要做数据的增量同步的公司都会遇到。19年的时候我曾经写过一点canal的文章。现在你只要看这个文章就可以了。这篇文章是一个读者推荐给我的,原地址:https://dwz.cn/XYdYpNiI,作者:混绅士我对其中的一些内容做了修改。关系型数据库和Hadoop生态的沟通越来
Stella981 Stella981
4年前
Socket编程(网络协议一)
“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容“TCP/IP只是一个协议栈,就像程序运行一样,必须要实现运行,同时还要提供对外的操作接口网络从下往上分为  物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,
Wesley13 Wesley13
4年前
301重定向,首页和内页都实现重定向
301重定向,首页和内页都实现重定向  域名变更,为了使搜索引擎权重自然转换,301重定向是无疑是必然之选,但很多人都发现,一般在IIS中设置重新定向到URL功能只有首页能生效,内页的301都是跳转到首页来的。这样就不好了,怎么办?  经查资料发现,原来301转向还需要加参数。  以下为引用的内容:  $S将请求的URL
Stella981 Stella981
4年前
Redis请求路由
简介我们通过上几篇的介绍已经初步的掌握了Redis集群的相关内容,但这都是针对Redis服务端来说。我们还没有使用客户端去操作Reids集群。Redis为了追求性能的最大化,对集群环境的客户端通信协议做了非常大的修改,也就是说如果我们要从单节点连接Redis切换到连接集群环境Redis,那么客户端的代码需要做出相应的修改。下面我们
安居客房源信息获取
最近身边有几个做房产销售的朋友经常在诉苦,找不到客户,没有业绩,所以就比较好奇他们现在的行情,所以今天我们就使用python获取下安居客的一些房源数据。之前分享过很多关于爬虫的实践示例,今天这个也算是实践内容。我们就以户型结构、装修情况、水肥情况进行房源数据获取。爬取数据的通用流程:1、根据url请求页面,获取页面响应对象2、将页面响应对象转化为对象3、定