0%

之前在react官网上囫囵吞枣学了react的一点基础知识,就急不可耐的写了很多代码(人脸识别,云笔记,实训的医院管理系统前端。。。),结果遇到了很多坑。react是一门很复杂的技术,而我缺乏系统的学习,正好看到一本《深入浅出react和redux》的电子书,借此深入学习react。

props和state

react天然具有高内聚,低耦合的特征(样式,内容,交互内封装一个组件中)。props看作外部的接口,state看作自己的内部状态,两者改变都会导致组件的重新渲染。react组件开发应合理划分组件的边界,将高内聚(交互频繁)的部分合并为一个组件,组件和组件中间保证低耦合(低信息交换)

props类型约束与初始化

假设一个组件名字是Counter(计数器),有string类型的caption,number类型的initValue,其中caption必须被申明,且必须是string类型,initValue必须是number类型,需要有默认值。

class Counter extends React.Component {
//.... Counter组建的定义
}
/* Counter的props类型约束 */
Counter.propTypes = {
caption: PropTypes.string.isRequired,
initValue: PropTypes.number,
onUpdate: PropTypes.func
}
/* Counter的props初始化 */
Counter.defaultProps = {
initValue: 0 //如果没有声明,初始化为0
}

如果违背了约束条件,则会在console中产生warning,有效避免了调试找bug的困难。

阅读全文 »

不想开斗鱼APP推送,如何在pc端收到hanser直播的通知呢?本人是linux的深度使用者,这就需要写一个守护进程在后台监测了。

简介

平时常用的mysql,httpd,nginx都是守护进程(daemon),可以被systemctl命令管理,例如sudo systemctl start XXX可以启动一个守护进程,sudo systemctl stop XXX则是关闭。

本人环境Archlinux,arch已经从service迁移到了systemd,关于systemd资料如下

阅读全文 »

Clojure是一门运行在JVM上的lisp方言。

Common Lisp

common lisp安装sudo pacman -S common-lisp,选择[1]的clisp实现,输入clisp进入交互shell环境。

Clojure安装

  • 环境:Archlinux
  • jdk: 12
    首先安装clojure语言,使用pacman安装会找不到类途径,于是我还是手动安装了。官网提供的安装方式
    curl -O https://download.clojure.org/install/linux-install-1.10.1.447.sh
    sudo chmod +x linux-install-1.10.1.447.sh
    sudo ./linux-install-1.10.1.447.sh
    阅读全文 »

本人坐标东北某三本985,最近赶上学校网络系统大换代,于是帐号就被恶意盗用了,月初60G的流量就给我用掉了70G……这两年网速越来越快,视频画质越来越好,动辄看个直播就是几个G,25快60G是真的不够用的,每个月流量费超出得几十甚至上百。加之这次帐号盗用事件,我便确定了不再用校园网。但奈何隔壁联通的CNC PPPoE太不安全,还卡,还dns污染,于是我又想起了ipv6代理。

目前,教育网基本你已经覆盖ipv6,在我们学校。ipv6的流量不计费,得益于这一点,某些能被解析v6地址的网站(google全家桶)是可以在教育网下使用的,但是国内的网站大部分不行。于是我们需要一个ipv6的shaodowsocks代理,找一台ipv6服务器。

之前我玩vulter的时候,就搭过ipv6的梯子,但最短半天就被封,而且vulter时常抽风,10M最高的带宽,还顶着高ping,使用很不稳定,就弃了。最近我用google搜ss,居然无意搜到一个ipv6的shadowsocks帐号提供商:链接地址

阅读全文 »

最近突然有兴趣翻开了队友从队里順来的一本书Bruce.A.Tate的《七周七语言 理解多种编程范式》,正好实训划水无事可干,打算写一个系列,涉及Ruby Lo Prolog Scala Erlang Clojure Haskell,对他们的特性,编程模型做一个简要的理解。语法一笔带过,日后详细学习的日后再补上

开始

阅读全文 »