- 博客(460)
- 资源 (9)
- 收藏
- 关注
转载 React Router 4.0 ---- 嵌套路由和动态路由
嵌套路由,从广义上来说,分为两种情况:一种是每个路由到的组件都有共有的内容,这时把共有的内容抽离成一个组件,变化的内容也是一个组件,两种组件组合嵌套,形成一个新的组件。另一种是子路由,路由到的组件内部还有路由。 对于共有的内容,典型的代表就是网页的侧边栏,假设侧边栏在左边,我们点击其中的按钮时,右侧的内容会变化,但不管右侧的内容怎么变化,左侧的侧边栏始终存在。这个侧边栏就是共有内容,如下图所...
2019-08-18 12:40:34
1968
转载 React Router 4.0 基本使用
路由的概念,起初来源于服务端,就是当浏览器访问一个网站的不同页面时,服务端能够正确的返回页面的内容。当访问首页时,它能返回首页的内容,访问关于我们页面时,返回关于我们的内容。可以看到路由就是一种控制和匹配,从而保证页面内容和页面的地址一一对应的关系。但是每次页面地址发生变化,服务端都会返回一个新的页面,从而导致整个页面重新加载,用户体验不好。所以就兴起了单页应用,所有的内容都在一个页面上进行展示,...
2019-08-18 12:39:20
375
转载 react 父子组件交互时生命周期的执行顺序
昨天看了一篇很好的博客,讲的是react的父子组件之间生命周期的执行流程,废话不多说上图,802857-20171218141807537-1558287790.pngPS:无状态组件中没有这些生命周期方法组件挂载的过程:初始化props,通过类的静态属性defaultProps或者getDefaultProps函数,初始化的props会与父组件指定的props合并,最后...
2019-08-18 10:12:32
9426
转载 Linux 内存中的Cache,真的能被回收么?
Linux 内存中的Cache,真的能被回收么?您真的了解Linux的free命令么?在Linux系统中,我们经常用free命令来查看系统内存的使用状态。在一个RHEL6的系统上,free命令的显示内容大概是这样一个状态:这里的默认显示单位是kb,我的服务器是128G内存,所以数字显得比较大。这个命令几乎是每一个使用过Linux的人必会的命令,但越是这样的命令,似乎真正明白的人越少...
2019-08-07 11:19:54
233
转载 6 个 Linux 运维典型问题,大牛的分析解决思路在这里
作为一名合格的 Linux 运维工程师,一定要有一套清晰、明确的解决故障思路,当问题出现时,才能迅速定位、解决问题,这里给出一个处理问题的一般思路: 重视报错提示信息:每个错误的出现,都是给出错误提示信息,一般情况下这个提示基本定位了问题的所在,因此一定要重视这个报错信息,如果对这些错误信息视而不见,问题永远得不到解决。 查阅日志文件:有时候报错信息只是给出了问题的表面现象,...
2019-07-29 14:47:53
235
转载 Linux系统日志及分析
Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd 或/etc/rsyslog.d,默认配置文件为 /etc/syslog.conf 或 rsyslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息...
2019-07-29 14:19:53
1011
转载 Tomcat关闭日志输出
一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响。可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息。那么Tomcat怎么关闭日志输出?一、 linux 系统1、直接修改catalina.sh文件的输出语句在文件中找到以下内容:[java]view plaincopy...
2019-07-23 16:18:45
1733
转载 tomcat 日志详解
1 tomcat 日志详解1.1 tomcat 日志配置文件 tomcat 对应日志的配置文件:tomcat目录下的/conf/logging.properties。 tomcat 的日志等级有:日志输出级别:SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST...
2019-07-22 19:18:44
1773
转载 理解事件冒泡和事件捕获
什么是事件?JavaScript和HTML之间的交互是通过事件实现的。事件,就是文档或浏览器窗口发生的一些特定的交互瞬间。可以使用监听器(或事件处理程序)来预定事件,以便事件发生时执行相应的代码。通俗的说,这种模型其实就是一个观察者模式。(事件是对象主题,而这一个个的监听器就是一个个观察者)事件流事件流描述的就是从页面中接收事件的顺序。而IE和Netscape提出了完全相反的事件流概念...
2019-07-10 15:53:05
426
转载 深入理解React16之:(一).Fiber架构
React16虽然出了一阵子了。刚出来的时候,粗略看了一遍更新文档。以为没什么大的改动,也听说项目从react15-16的升级过度可以很平滑,再加上项目改版上线一直比较频繁,所以一直还用的15.6的版本。偶然在知乎看到@程墨Morgan大神的live,便抱着好奇心和学习的心态报名了,受益良多。我理解的Fiber架构:改变了之前react的组件渲染机制,新的架构使原来同步渲染的组件现在可以...
2019-06-28 08:49:06
369
转载 React项目介绍及按需加载
做React需要会什么?react的功能其实很单一,主要负责渲染的功能,现有的框架,比如angular是一个大而全的框架,用了angular几乎就不需要用其他工具辅助配合,但是react不一样,他只负责ui渲染,想要做好一个项目,往往需要其他库和工具的配合,比如用redux来管理数据,react-router管理路由,react已经全面拥抱es6,所以es6也得掌握,webpack就算是不会配...
2019-06-27 19:30:33
412
转载 JS浏览器事件循环机制
文章来自我的github 博客,包括技术输出和学习笔记,欢迎star。先来明白些概念性内容。进程、线程 进程是系统分配的独立资源,是 CPU 资源分配的基本单位,进程是由一个或者多个线程组成的。 线程是进程的执行流,是CPU调度和分派的基本单位,同个进程之中的多个线程之间是共享该进程的资源的。 浏览器内核 浏览器是多进程的,浏览器每一个 tab 标签都代表一个独...
2019-06-01 08:50:11
136
转载 Ant Design moment常用方法说明
var now = moment().toDate();console.log('获取当前时间\n',now)now = moment().format('YYYY-MM-DD');console.log('格式化当前时间\n',now);now = moment().format('YYYY-MM-DD:HH:MM:SS');console.log('格式化当前时间\n',no...
2019-05-20 16:51:53
9274
转载 [ JS 进阶 ] 基本类型 引用类型 简单赋值 对象引用
ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型。也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可变类型,其实这些叫法都是依据这两种的类型特点来命名的,大家爱叫啥就叫啥吧 o(╯□╰)o 。1.基本类型基本的数据类型有:`undefined,boolean,number,string,null.基本类型的访问是按值访问的...
2019-04-26 15:40:05
220
转载 ES6教程(三)对象的结构赋值
注意:对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值1. 简单例子let { foo, bar } = { foo: "aaa", bar: "bbb" };foo // "aaa"bar // "bbb"2. 属性不对应的例子let { baz } = { foo: "aaa...
2019-04-25 19:47:20
1972
转载 虚拟地址与虚拟内存的理解
在最开始看书的时候,我知道程序在运行时,不是全部加入内存当中的,当然,这个现在依旧正确,在有了虚拟地址空间这个概念以后,我一直认为是在硬盘中划分出一块虚拟内存出来,然后给每个程序4G的硬盘空间,作为这个程序的虚拟内存,然后就需要运行哪一块然后哪一块装入内存当中。后来发现这个是错误的。大家可以在我错误的地方来看看自己的理解,纠正自己的问题。首先,虚拟地址空间是不等于虚拟内...
2019-04-16 10:38:00
2042
转载 Linux内存管理(最透彻的一篇)
摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,...
2019-04-16 10:13:41
389
转载 Linux中top和free命令详解(转)
top:命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.统计信息区前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:15:20.36 表示的是当前时间up ...
2019-04-16 08:45:22
760
转载 透过 Linux 内核看无锁编程
非阻塞型同步 (Non-blocking Synchronization) 简介如何正确有效的保护共享数据是编写并行程序必须面临的一个难题,通常的手段就是同步。同步可分为阻塞型同步(Blocking Synchronization)和非阻塞型同步( Non-blocking Synchronization)。阻塞型同步是指当一个线程到达临界区时,因另外一个线程已经持有访问该共享数据的锁,从...
2019-04-10 19:38:26
237
转载 无锁环形缓冲区的详细解释
由以下博客的分析可以知道,内核的kfifo使用了很多技巧以实现其高效性。比如,通过限定写入的数据不能溢出和内存屏障实现在单线程写单线程读的情况下不使用锁。因为锁是使用在共享资源可能存在冲突的情况下。还用设置buffer缓冲区的大小为2的幂次方,以简化求模运算,这样求模运算就演变为(fifo->in & (fifo->size - 1))。通过使用unsigned int为kf...
2019-04-10 19:31:46
1814
转载 Windows服务器高并发处理IOCP(完成端口)详细说明
本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿之中……酝酿了两年之后,终于决定开始动笔了,但愿还不算晚….. 这篇文档我非常详细并且图文并茂的介绍了关于网络编程模型中完成端口的方方面面的信息,从API的用法到使用的步骤,从完成端口的实现机理到实际使用的注意事项,都有所涉及,并且为了让朋友们更直观的体会完成端口的用法,本...
2019-03-22 20:48:17
1149
转载 高性能网络编程(六):一文读懂高性能网络编程中的线程模型
本文接上篇《高性能网络编程(五):一文读懂高性能网络编程中的I/O模型》。随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力。本文(和上篇《高性能网络编程(五):一文读懂高性能网络编程中的I/O模型》)旨在为大家提供有用的高性能网络编程的I/O模型概览以及网络服务进程模型的比较,以揭开设计和实现高性能网络架构的神秘面纱。另外,作者的另一篇《新手入门:目前为止最透彻的...
2019-03-22 20:11:51
278
转载 浅谈多进程多线程的选择
在看thinking in java 的 并发 章节时,里面有这样一句话:实现并发的最简单的方式就是多进程,但没有进一步的解释说明,然后后面都在讲多线程编程,当时就有疑惑,那到底多进程和多线程该如何选择,网上找答案时,发现这篇文章总结的比较到位,遂转来分享学习。完整的原文包括一些简单的数据测试,具体可以看原博客。---------------------------------------...
2019-03-09 11:51:09
294
转载 高性能Server---Reactor模型
无处不在的C/S架构在这个充斥着云的时代,我们使用的软件可以说99%都是C/S架构的!你发邮件用的Outlook,Foxmail等 你看视频用的优酷,土豆等 你写文档用的Office365,googleDoc,Evernote等 你浏览网页用的IE,Chrome等(B/S是特殊的C/S) ......C/S架构的软件带来的一个明显的好处就是:只要有网络,你可以在任何地方干同一件事...
2019-03-09 08:57:23
189
转载 VS打开闪退解决方案之一(可尝试)
VS打开闪退解决方案之一(可尝试)安装了VS之后,双击打开VS,闪退,右键使用管理员身份运行,也闪退。修复VS,再打开,也闪退。卸载VS,重装VS,再打开,也闪退。重装系统,安装VS,再打开,也闪退。但是上面这些情况,都可以通过 VS开发人员命令提示 中输入 devenv 正常打开VS,不闪退。但是每次都要输入命令打开VS很烦。在网上找了很多资料和方法试过,也都无效。...
2019-03-08 16:25:53
5012
1
转载 Socket套接字在多线程发送数据时要加锁吗?
转自知乎问题:一条报文在1000字节到4000字节之间,数据量在每秒5000左右,多线程写套接字,要加锁吗?没有加锁会导致报文错乱吗?在网络编程的时候,报文不超过MTU是否就无需对套接字加锁?解答①:你连 UDP 还是 TCP 都没说。对于 UDP,多线程读写同一个 socket 不用加锁,不过更好的做法是每个线程有自己的 socket,避免 contention,可以用 SO_R...
2019-03-02 17:20:47
3064
转载 软件设计之状态机
============================================================================原创作品,允许转载。转载时请务必以超链接形式标明原始出处、以及本声明。请注明转自:http://yunjianfei.iteye.com/blog/=============================================...
2019-02-27 17:15:59
631
原创 windows和linux下long类型长度
不同平台下C\C++数值数据类型长度如下:类型 win32 win64 linux32 linux64 char 1 1 1 1 short 2 2 2 2 int 4 4 4 4 long 4 4 4 8 long long 8 8...
2019-02-26 09:16:54
9967
2
转载 RTSP协议协议讲解
1. 引言1.1 编写目的编写此文档的目的是为了开发人员对该协议有个更好的了解以及开发参考。1.2 定义列出本文中用到的专门术语的定义和外文首字组词的原词组。1.3 参考资料RTSP 参考《RFC2326》RTP 参考《RFC3550》《RFC 3605》RTCP 参考《RFC3550》SDP 参考《RFC 4566》1. 系统概述1.1 RTSP概述...
2019-02-25 09:09:36
1757
转载 C++迭代器删除、插入元素
迭代器是容器五大组件中十分重要的一种,为我们提供了一种与容器种类、元素类型无关的访问容器的方法。按照是否提供修改容器元素内容、遍历方法等、迭代器可分为五大类,如下图所示:有关五种迭代器的具体使用,可参考CPPreference等权威资料。首先贴一篇博客:http://m.blog.csdn.net/zhongjiekangping/article/details/5624922 ...
2019-02-12 14:28:54
1445
转载 CentOS 6.5 下安装配置 mysql 数据库
如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk、tomcat、eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建), 如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有 了jdk、tomcat、...
2019-02-03 08:46:01
271
转载 动态库(.so)链接静态库(.a)的总结 - 很实用讲解很清楚
动态库(.so)链接静态库(.a)的情况总结动态库(.so)链接静态库(.a)的情况总结 一般来说在链接时想要使用静态库有三种方法:1、link时加上 -static 选项;当加上 -static选项后,gcc会把所有用到的库都做静态连接。2、link时直接指定想要静态连接的.a文件的绝对路径。优点是除非.a文件不存在,否则肯定有效;缺点也是很明显,拿到其他机器上编译时,.a文件也...
2019-01-30 09:02:46
3488
转载 libevent编程疑难解答
http://blog.csdn.net/luotuo44/article/details/39547391 转载请注明出处:http://blog.csdn.net/luotuo44/article/details/39547391 正常情况下应该在libevent的回调中调用event_add函数,如果想下其他的线程中调用event_add,是线程不安全的,可以...
2019-01-29 11:43:42
564
转载 linux下gcc/g++的命令和使用详解
[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld] [参数详解] -x langu...
2019-01-28 16:17:43
1516
转载 自己在linux上编译、链接、动态库和静态库的学习笔记
在平常的项目中,我们都是使用公司要求的makefile、makedebug一类的文件,因此,在编译、链接、生成和链接动态库与静态库的时候,我们只是简单的使用一些已经设置的变量,只是简单的修改、添加一些文件名,或许这次我们编译通过了,但是,在某一个时候,可能出现了一个问题,无论简单与否,因为平常没有留意,导致的结果可能是花了好长时间才能解决。而如果平常只是简单的留一下心,或许这些问题都是可以避免的。...
2019-01-28 13:59:43
688
转载 libevent库介绍--事件和数据缓冲
首先在学习libevent库的使用前,我们还要从基本的了解开始,已经熟悉了epoll以及reactor,然后从event_base学习,依次学习事件event、数据缓冲Bufferevent和数据封装evBuffer等,再结合具体的几个实例来了解libevent库的一些基本使用,有助于我们理解它的一些内部实现(由于之前我已经写过一篇epoll反应堆模型的,所以这里就不再介绍,直接从event_ba...
2019-01-22 10:44:40
445
转载 shell脚本之shell内部变量和环境变量
这篇博客介绍:1、部分常用的内部变量2、环境变量变量的分类可以参考:点击打开链接1、部分常用的内部变量: ⑴ # 说明:$#变量是命令行参数或位置参数的数量 ⑵ - 说明:$-变量是传递给shell脚本的执行标志 ⑶ ? 说明:$? 变量是最近一次执行的命令或shell脚本的出口状态 ⑷ $...
2019-01-11 17:28:25
1118
原创 【数据结构】双向链表
//数据结构C语言双向链表实现#ifndef __LIST_H__#define __LIST_H__#include <stdlib.h>#define LIST_ITER_FORWARD 0#define LIST_ITER_REVERSE 1#define ListHead(l) ((l)->head)#define ListTail(...
2019-01-08 11:10:39
229
转载 Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程
整体而言,RTSP 通常工作于可靠的传输协议 TCP 之上,就像 HTTP 那样,用于发起/结束流媒体传输,交换流媒体元信息。RTP 通常工作于 UDP 之上,用于传输实际的流媒体数据,其中的载荷格式因具体流媒体类型的不同而不同,通常有专门的 RFC 规范对其进行定义,如 H.264 编码格式视频数据的载荷格式在 RFC 6184, RTP Payload Format for H.264 Vid...
2018-12-24 11:05:32
1108
2
转载 数据库建表原则
作为一个软件工程师,几方面必须会的基础知识:1.网络2.数据结构3.简单算法.4.数据库 最近面试很多人,都是app开发人员,都标榜高级开发,也都称用过本地数据库,sqlite ,corddata 等。面试提问:如何建表,标准是什么,怎么评价?ORM概念是什么?很多基本答不上来。当然数据库知识是一个体系的知识。但每一个开发人员都应该了解掌握一些。了解6大范式,至少了解前...
2018-12-18 14:50:46
924
libevent-2.0.22 windows和linux下的静态库,附源码和libevent使用手册
2019-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅