时间只会一直走

ForFree


  • 首页

  • 标签

  • 分类

  • 归档

  • 公益404

分布式学习笔记-nacos

发表于 2022-08-18 | 分类于 编程语言 , java , 原生 , 基础 |

安装nacos


  快速开始,在版本选择中找到稳定版,下载。截止文章发布日,最新稳定版为nacos 2.0.3

配置nacos

  下载完成后,会得到压缩包,解压为nacos01,进入nacos01/conf目录下,可以看到如下文件:

1
2
3
4
5
6
7
8
.
├── 1.4.0-ipv6_support-update.sql
├── application.properties 默认的配置文件
├── application.properties.example 默认的配置文件示例
├── cluster.conf.example 集群配置示例
├── nacos-logback.xml 日志配置
├── nacos-mysql.sql mysql初始化脚本
└── schema.sql 嵌入式数据库(Derby)初始化脚本
阅读全文 »

java编译、打包、运行

发表于 2019-11-01 | 分类于 编程语言 , java , 原生 , 基础 |

相关命令介绍

javac

javac 是java语言编程编译器。全称java compiler。javac工具读由java语言编写的类和接口的定义,并将它们编译成字节代码的class文件。
引自—-百度百科

使用方式

javac [options][sourcefiles][@files](参数排列顺序没有限定)

阅读全文 »

javadoc生成项目文档

发表于 2019-10-08 | 分类于 软件 , javadoc |

简介


javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。
引自—-百度百科

阅读全文 »

java基础-实例抽象化

发表于 2018-11-17 | 分类于 编程语言 , java , 原生 , 基础 |

简介


  前面的文章中,我们说了继承,表示一种实例的泛化过程,但是在父类当中存在的都是具体的方法(即行为),实际开发中,大部分情况下,我们仅仅需要抽象出子类的行为,具体实现由子类来完成。这篇文章里,我们通过说明抽象类和接口,并结合例子,来实现java中如何对对象进行抽象化。

  实现抽象化有两种方式一种是利用接口:

接口被用来统一类的共通行为,当不同的类需要进行信息共享时,是不需要特别去创建类间的关系。举例来说,一个人(Human)及一只鹦鹉(Parrot)都会吹口哨(whistle),然而Human及Parrot不应该为Whistler的子类,最好的做法是令他们为Animal的子类,而他们可以使用Whistler的接口进行沟通。
引自—-维基百科

  另一种是利用抽象类:

抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
引自—-百度百科

阅读全文 »

java基础-继承

发表于 2018-11-14 | 分类于 编程语言 , java , 原生 , 基础 |

简介


  与封装类似,继承也是面向对象编程的特性之一,利用继承可以提升代码复用性,并且可以实现多态特性。

Inheritance and behavioral subtyping
It is intuitive to assume that inheritance creates a semantic “is a” relationship, and thus to infer that objects instantiated from subclasses can always be safely used instead of those instantiated from the superclass. This intuition is unfortunately false in most OOP languages, in particular in all those that allow mutable objects. Subtype polymorphism as enforced by the type checker in OOP languages (with mutable objects) cannot guarantee behavioral subtyping in any context. Behavioral subtyping is undecidable in general, so it cannot be implemented by a program (compiler). Class or object hierarchies must be carefully designed, considering possible incorrect uses that cannot be detected syntactically. This issue is known as the Liskov substitution principle.
引自—-维基百科

阅读全文 »

java基础-封装

发表于 2018-11-12 | 分类于 编程语言 , java , 原生 , 基础 |

简介


  封装是面向对象编程的三大特性之一,java作为一门面向对象的语言,在开发过程中,进行完善的对象封装可提升软件的健壮性与可维护性。

确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。
引自—-百度百科

封装的好处


降低耦合性

  封装后,模块为外部程序提供若干数据访问入口,这些入口是固定,当多模块之间相互协调工作时,某模块内部发生变化,不会影响到其它外部模块。

隐藏内部信息

  提供外部访问入口后,模块内部将属性设置为private,拒绝外部直接访问,对于不想对外部开放的数据,可去除get方法,实现隐藏。
  就好比你的工资卡要放到你老婆那里,日积月累,你不知道工资卡里有多少钱,当你想用钱的时候,要先跟老婆说,然后你老婆从卡里转出钱给你。而同时,为了供孩子上学,你老婆又偷偷存了一个存折,你跟你老婆要存折里的钱,你老婆也不会给你。
  这里存在一个误区,很多人认为程序是人手动写出来的,不管属性设置成public、private,只要在写代码的时候,不去直接调用就好了。这种想法确实也没毛病,但是大部分情况下,都是团队开发,你不能保证某一天系统进行修改的时候,某个小同事会不会因为着急图省事儿,直接就访问属性去了。

阅读全文 »

gitlab-runner安装与使用

发表于 2018-10-30 | 分类于 gitlab , runner |

简介


  利用Gitlab、Gitlab-runner,实现代码托管与持续集成。

环境安装


安装Gitlab及其所依赖的服务程序

依赖服务程序安装

1
2
3
4
# yum install -y curl policycoreutils-python openssh-server cronie postfix lokkit
# lokkit -s http -s ssh
# service postfix start
# chkconfig postfix on

安装Gitlab

1
2
# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
# EXTERNAL_URL="Yourhost" yum -y install gitlab-ee
阅读全文 »

webpack入门系列教程-文本抽离

发表于 2018-06-27 | 分类于 javascript , webpack |

简介


  如果你够细心的话,在前面几篇文章的例子里,你可能会发现我们所添加的 css 样式,全部写入到了所生成的 index.html 当中。而我们平时的开发中,往往是将样式独立出一个 .css 文件,然后引入到项目。
  实际上,这两种做法,各自有各自的优点。
  首先说写入到文件里的。要知道,web资源每次请求都是要消耗网络资源的,如果是通过 URL 引用样式文件,那么用户需要等待请求完成后才能看到渲染的界面,因此,在需要的样式较少时,实际上直接卸载<style>当中,是更好的选择,因为只需要访问页面时加载一次。
  然而,当样式内容较多是时,单次相应已经不足以迅速完成,那么将样式表独立抽出较好,既方便调试、有不会产生请求的同步中断。
  本篇文章将介绍如何在 webpack 打包时,抽离出独立的 css 文件,所用的项目为上一篇文章中建立的测试项目。

阅读全文 »

webpack入门系列教程-引用第三方类库

发表于 2018-06-26 | 分类于 javascript , webpack |

简介


  前文已经提到,webpack用来将种种模块打包,最终输出一个全量 js 文件,引入到页面。一些针对项目的功能性模块,固然是需要我们自己去完成,但是 node 所提供的丰富类库,更是我们开发时必不可少的工具。因此,我们在开发过程中,一定会涉及到结合第三方类库开发的情况。本节中,将通过实例,讲解如何在webpack中引用第三方类库。

阅读全文 »

webpack入门系列教程-加载器

发表于 2018-06-12 | 分类于 javascript , webpack |

简介


  loader用于对模块的源代码进行转换,在import或加载模块时,对文件进行预处理。loader可将文件从不同的语言(如TypeScript、sess、或自定义语言)转换为JavaScript(前提是你得有相应的loader),亦可将内联图像转换为data URL。

常用loader


  日常开发中,常用loader如下:

  • css-loader:遍历css文件,处理样式
  • style-loader:将样式插入到<style></style>标签中
  • sass-loader: 便利文件,解析sass格式样式表
  • url-loader: 根据需求将图片自动转成base64编码,减少网络负载
  • file-loade:解决项目中,url资源的引入问题(ttf、woff、eot…等)
  • babel-loader:添加ES6语法支持
阅读全文 »
12…4
姜柏超

姜柏超

39 日志
30 分类
27 标签
GitHub 知乎
Creative Commons
© 2022 姜柏超
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4