Kafka 集群 Kafka 集群 创建集群 1234567891011121314151617$ docker run -d --name kafka1 -p 9093:9092 \--net zookeeper \--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \--env KAFKA_LISTENERS=PLAINTEXT://kafka1:9092 \--env K 2021-07-15 Software BackEnd Kafka
WordPress 修改域名 WordPress 修改域名 修改数据库 1234567UPDATE wp_options SET option_value = replace(option_value, '原域名', '新域名') WHERE option_name = 'home' OR option_name = 'siteurl';UPDAT 2021-07-14 Software Tools WordPress
Hadoop WordCount Hadoop WordCount Hadoop 2.x 版本中的依赖 jar Hadoop 2.x 版本中 jar 不再集中在一个 hadoop-core*.jar 中,而是分成多个 jar,如使用 Hadoop 2.6.0 运行 WordCount 实例至少需要如下三个 jar: $HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.0.jar 2021-07-12 Software BackEnd Distributed Hadoop
Hadoop HDFS Hadoop HDFS Shell 命令 目录操作 创建目录 1hdfs dfs -mkdir <path> –mkdir:是创建目录的操作。 实例 1./bin/hdfs dfs -mkdir -p /user/hadoop 该命令中表示在HDFS中创建一个/user/hadoop目录。 -p:表示如果是多级目录,则父目录和子目录一起创建。 查看目录 1hdfs dfs -l 2021-07-12 Software BackEnd Distributed Hadoop
RESTful RESTful 协议 API与用户的通信协议,总是使用HTTPS协议。 域名 应该尽量将API部署在专用域名之下。 1https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。 1https://example.org/api/ 版本(Versioning) 应该将API的版本号放入URL 1https://api.example 2021-07-07 Network HTTP
Elasticsearch Java High Level REST Client Elasticsearch Java High Level REST Client 初始化 1234RestHighLevelClient restHighLevelClient = new RestHighLevelClient( RestClient.builder( new HttpHost("localhost", 9200, "http& 2021-06-27 Software BackEnd Database ElasticSearch
PHP 变量 PHP 变量 概述 PHP的变量是指用一个美元符号$作为前缀的标识符,例如: 1234$name$Age$_debugging$MAXIMUM_IMPACT 变量可以存放任意类型的值,在编译或运行时没有变量的类型检查,可以用其他不同类型的值替换一个变量的值。 123$what = "Fred";$what = 35;$what = array('Fred 2021-06-20 Software Language PHP 语言基础
Java Atomic Java Atomic 使用java.util.concurrent.atomic提供的原子操作可以简化多线程编程: 原子操作实现了无锁的线程安全。 适用于计数器,累加器等。 Atomic类是通过无锁(lock-free)的方式实现的线程安全(thread-safe)访问,它的主要原理是利用了CAS:Compare and Set 以AtomicInteger为例,它提供的主要操作有: 2021-06-20 Software Language Java JavaSE 多线程
SVN 冲突 SVN 冲突 过时的文件 在一个相对服务器端版本来说是旧版本的基础上进行了修改的文件,这时候如果提交则会失败! 所有过时的文件都必须先执行更新操作,更新后在最新版基础上修改的文件才允许提交。 更新完之后,user1对文件的修改也同步到了user2的工作副本,之后user2就可以正常提交了。 冲突的产生 从服务器端更新下来的修改和本地的修改在"同文件同位置”不一致,也就是修改了同一行 2021-06-20 Software DevOps VCS SVN
设计模式享元模式 设计模式享元模式 运用共享技术有效的支持大量细粒度对象的重用,它能做到共享的关键就是区分了内部状态(可以共享,不会随环境变化而变化)和外部状态(不可以共享,会随环境变化而变化) 如果项目中有很多完全相同或相似的对象,则可以使用享元模式,节省内存。 2021-06-20 Software DesignPattern 结构型模式
设计模式装饰模式 设计模式装饰模式 装饰模式也称为装饰者模式或者装饰器模式,表示动态的给一个对象添加一些新的功能(利用子类继承父类也可以实现),但是比生成子类方式更灵活。 例如:我们每个人身上穿的衣服,鞋子,领带,披风都可以理解为是对人的装饰。 2021-06-20 Software DesignPattern 结构型模式
设计模式观察者模式 设计模式观察者模式 也叫(发布-订阅模式)定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 例如:发广播,游戏中大喇叭,群聊。 2021-06-20 Software DesignPattern 行为型模式
设计模式职责链模式 设计模式职责链模式 将能够处理同一类请求的对象连成一条链,使这些对象都有机会处理请求,所提交的请求沿着链传递,从而避免请求的发送者和接受者之间的耦合关系,链上的对象逐个判断是否有能力处理该请求,如果能则就处理,如果不能,则传给链上的下一个对象,直到有一个对象处理它为止。 比如:请假申请,审批人连成一条链,每个人都有机会处理这个假条,但是这个请假申请最终肯定会经过审核(不管审批是否通过) 2021-06-20 Software DesignPattern 行为型模式
JVM 类文件结构 JVM 类文件结构 JVM 的"无关性” 谈论 JVM 的无关性,主要有以下两个: 平台无关性:任何操作系统都能运行 Java 代码。 语言无关性:JVM 能运行除 Java 以外的其他代码。 Java 源代码首先需要使用 Javac 编译器编译成 .class 文件,然后由 JVM 执行 .class 文件,从而程序开始运行。 JVM 只认识 .class 文件,它不关心是何种 2021-06-20 Software Language Java JavaSE JVM
JVM 沙箱安全机制 JVM 沙箱安全机制 沙箱是一个限制程序运行的环境,沙箱机制就是将 Java 代码限定在虚拟机(JVM)特定的运行范围中,并且严格限制代码对本地系统资源访问,通过这样的措施来保证对代码的有效隔离,防止对本地系统造成破坏。 沙箱主要限制系统资源访问,那系统资源包括CPU,内存,文件系统,网络,不同级别的沙箱对这些资源访问的限制也可以不一样。 所有的Java程序运行都可以指定沙箱,可以定制安全策略。 2021-06-20 Software Language Java JavaSE JVM
Java Future与CompletableFuture Java Future与CompletableFuture Future Future<V>接口表示一个未来可能会返回的结果,它定义的方法有: get():获取结果(可能会等待) get(long timeout, TimeUnit unit):获取结果,但只等待指定的时间。 cancel(boolean mayInterruptIfRunning):取消当前任务。 isDone( 2021-06-20 Software Language Java JavaSE 多线程
SVN 命令 SVN 命令 checkout/co 用来完整下载版本库中的全部内容。 1$ svn checkout svn://ip/svn/project_repo --username=username ./ 以上命令将产生如下结果: 12345$ svn checkout svn://192.168.0.1/helloworld --username=user01 ./A hellowor 2021-06-20 Software DevOps VCS SVN
Java ForkJoin Java ForkJoin Fork/Join是一种基于"分治”的算法:通过分解任务,并行执行,最后合并结果得到最终结果。 ForkJoinPool线程池可以把一个大任务分拆成小任务并行执行,任务类必须继承自RecursiveTask或RecursiveAction 使用Fork/Join模式可以进行并行计算以提高效率。 我们举个例子:如果要计算一个超大数组的和,最简单的做法是用一个循 2021-06-20 Software Language Java JavaSE 多线程
设计模式桥接模式 设计模式桥接模式 将抽象部分与它的实现部分分离,使它们都可以独立的变化,而不会直接影响到其他部分。 桥接模式解决了多层继承的结构,处理多维度变化的场景,将各个维度设计成独立的继承结构,使各个维度可以独立的扩展在抽象层建立联系。 优点 桥接模式偶尔类似于多继承方案,但是多继承方案违背了类的单一职责原则,复用性比较差,类的个数也非常多,桥接模式是比多继承方案更好的解决方法,极大的减少了子类的个数, 2021-06-20 Software DesignPattern 结构型模式
设计模式备忘录模式 设计模式备忘录模式 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的状态。 也就是说,不破坏源数据的情况下,将源数据进行一次或者多次的备份。 2021-06-20 Software DesignPattern 行为型模式