1、生成规范的yaml配置#先生成deployment时不用namespacekubectlcreatedeploymentnginx--image=nginx--dry-run=client -oyaml>nginx.yamlapiVersion:apps/v1#nginx_svc.yamlapiVersion:v1#<<<<<
如何封装自己的工具函数库并发布npm包
guxin_duyin
前端工程化npmjavascript
前言在日常的工作中,我们难免会用到一些工具函数,有些工具函数会经常在不同的项目中用到;此时要么直接在需要的项目中将所用到的工具函数复制过去(前提是你有沉淀自己的工具函数的习惯),要么就是将工具函数以第三方库依赖的形式引用进来。显然,以第三方库的形式引入能更加节省我们的时间,也更符合程序员DRY(DonotRepeatYourself)的良好习惯。所以,本篇文章就简单讲一下如何封装一个工具函数库并发
22 - 迪米特(LOD)原则
舍是境界
迪米特法则。尽管它不像SOLID、KISS、DRY原则那样,人尽皆知,但它却非常实用。利用这个原则,能够帮我们实现代码的“高内聚、松耦合”。本文,围绕下面几个问题,并结合两个代码实战案例,来深入地学习这个法则。什么是“高内聚、松耦合”?如何利用迪米特法则来实现“高内聚、松耦合”?有哪些代码设计是明显违背迪米特法则的?对此又该如何重构?何为“高内聚、松耦合”?“高内聚、松耦合”是一个非常重要的设计思
使用Certbot申请Lets Encrypt证书
ronshi
运维linux运维服务器
1、安装certbotyuminstallcertbot-y2、申请证书certbotcertonly--standalone-ddev.anlitech.com3、更新证书certbotrenew--dry-run4、自动续期crontab-e00***dockerstopnginx-web;certbotrenew--dry-run;cp/etc/letsencrypt/live/dev.an
设计模式之美——DRY原则 和 迪米特法则
iblade
设计模式设计模式迪米特法则java
DRY原则Don’tRepeatYourself。中文直译为:不要重复自己。即,不要写重复的代码。我们主要讲三种典型的代码重复情况:实现逻辑重复、功能语义重复和代码执行重复。实现逻辑重复publicclassUserAuthenticator{publicvoidauthenticate(Stringusername,Stringpassword){if(!isValidUsername(user
设计模式-02.经典设计原则-第二节【依赖反转,迪米特】
youthlql
设计模式设计模式
文章目录设计模式经典设计原则-第二节依赖反转原则(DIP)控制反转(IOC)依赖注入(DI)依赖注入框架(DIFramework)什么是依赖反转原则?KISS原则和YAGNI原则代码行数越少就越“简单”吗?代码逻辑复杂就违背KISS原则吗?如何写出满足KISS原则的代码?YAGNI跟KISS说的是一回事吗?DRY原则实现逻辑重复功能语义重复代码执行重复代码复用性(CodeReusability)怎
十分钟发布自己的NFT
web3_zony
区块链智能合约去中心化web3
概述本文将以一个例子来说明如何在opensea快速发布自己的NFT智能合约(ERC721)。本着DRY(Don'tRepeatYourself)原则,我们需要站在巨人的肩膀上来搭建自己的应用,使用经过社区审计和实践检验的代码可以有效提高我们智能合约的安全性,所以我们使用openzeppelin来构建我们的智能合约。预备知识metamask钱包以太坊Sepolia网络账号,获取测试以太币IPFS上传
Angular项目搭建与运行
桃之_夭夭_
1、安装node,yarn,网上对应的都有安装教程2、执行yarnglobaladd@angular/cli,安装angular的脚手架,运行ngversion查看是否安装成功3、执行ngnewprojectName--style=less创建样式语法为less的项目可用选项--dry-run:boolean,默认为false,若设置dry-run则不会创建任何文件--verbose:boolea
从研发转架构之路
架构未来
架构设计架构
从研发转向系统架构设计是一个逐步深入的过程,涉及到对系统的全局理解和多方面技能的提升。以下是一些建议,可以帮助你从研发角色过渡到系统架构设计的领域。1.扩展技术视野学习架构原理:了解常见的架构模式(如微服务、服务导向架构、事件驱动架构等)和设计原则(如SOLID、DRY、KISS等)。掌握系统基础:熟悉操作系统、网络协议、数据库原理等基础知识。了解业务领域:深入理解业务需求、业务流程和业务模型。2
jenkins 共享库使用
AppleLin_cdea
GlobalSharedLibraries2021年10月9日17:04:31星期六1.为什么要用共享库?(原因和意义)存在这样的场景:在jenkins中存在多个pipelinejobs,pipelinejobs之间有相同逻辑功能(有重复相同代码),为了dry(don'trepeatyourself)去除重复代码,jenkins可以提供了一特性:可以把重复的代码做成通用的共享库(sharedlib
[ruby on rails] concerns的使用
微信-since81192
rubyonrailspython后端
concern是用来把公共的方法提取到一起,保持代码DRY,是用module来实现的model中的concernmoduleVisibleextendActiveSupport::ConcernVALID_STATUSES=['public','private','archived']#其他地方引用Visible::VALID_STATUSES#关联关系blongs_to,has_many、val
前端网络请求之JavaScript XHR、Fetch、Axios
原来是有理数
前端网络javascript网络请求ajaxaxiosfetch
一、JavaScriptXHR、Fetch1.1前端数据请求方式后端:服务器端服务器端渲染SSR(后端渲染):全部都是后端开发的客户端发送请求服务端接收请求并利用jsp/asp/php返回相应HTML文档页面刷新,客户端加载新的HTML文档SSR的缺点页面本质上只有一些数据发生了变化,而服务器却要重绘整个页面,违背了DRY(Don’trepeatyourself)原则给网络带宽带来不必要的开销前后
# 设计原则与思想 --- 重复代码or依赖反转原则(DRY)
_code_x
1.DRY设计原则SOLID原则并非单纯的1个原则,而是由5个设计原则组成的,它们分别是:单一职责原则、开闭原则、里式替换原则、接口隔离原则和依赖反转原则,依次对应SOLID中的S、O、L、I、D这5个英文字母,DIY原则对应最后一个D。理解DIY,必须清楚什么是代码重复,三种代码重复的情况:实现逻辑重复,但功能语义不重复的代码,并不违反DRY原则。例如:验证用户名与用户密码实现逻辑不重复,但功能
代码重构 —— 化繁为简
ryfdizuo
重构JNI反射渲染RHI架构设计代码重构
本文涉及KISS原则,DRY原则1设计层面1.1保持架构的一致性,不要另辟新径比如渲染场景管理中,最扁平的架构:manager/scener/object三层。都是1对N的关系一个mgr管理一群scener,一个scener下面N个object,一些新手会把object搞成一个,在object下面搞一层layer,最终object的含义非常不同了,让我也“眼前一亮”,居然还能这么扩展1.2codi
【K8S】k8s节点亲和性、Pod亲和性、污点与污点容忍学习理解
老许家的小长工
K8SDocker
前言:边整理边学习,不然岁数大了理解不了https://www.cnblogs.com/faberbeta/p/13967873.html,跟着学习先整理目前学习阶段几个常用的kubectl命令#生成一个yaml文件--dry-run尝试运行[root@k8smaster~]#kubectlcreatedeploymentweb--image=nginx--dry-run-oyaml>web.ya
优秀程序猿的18大法则
今天学习吗
DRY原则不要重复(Don’trepeatyourself)——程序设计中一个最根本的原则就是要避免重复。许多编程结构(比如循环、函数、类等)的存在就是为了避免重复。一旦重复(例如,一个长表达式,一系列语句,相同的概念)的话,就会创建一个新的抽象。抽象原则“每个在程序中有意义的功能片段应该只在源代码的一处地方实现。”KISS(Keepitsimple,stupid!)原则简单性(避免复杂性)应该永
Flutter - 发布自己的插件package
swluan
这里记录下如何把自己写的插件发布到pub.dartlang.org上去,官方对怎么发布有对应的说明https://flutter.io/developing-packages/.首先,在项目中添加免责声明文件LICENSE;然后,输入$flutterpubpubpublish--dry-run命令,检查是否还存在问题;返回Packagehas0warnings.即为正常.之后,输入$flutter
从菜鸟到大师:编程必须遵循的三个基本原则
萤火架构
编程思想编程思想编程原则DRYKISSYAGNI
任斗转星移,原则恒定在软件开发的世界里,虽然技术日新月异,但有些原则是经久不衰的。就像建房子需要坚实的地基,软件开发也有其基础原则。它们像是指南针,帮助开发者在变化莫测的技术海洋中保持方向。接下来,我们就来聊聊这三个基本原则:DRY、KISS和YAGNI。DRY——重复是编程之敌1.1概念:Don'tRepeatYourself想象一下,你你在家自己做土豆丝夹饼,如果你家有三口人需要做三个,你不会
【设计模式之美】理论一:怎么才算是单一原则、如何取舍单一原则
roman_日积跬步-终至千里
设计模式设计模式网络数据库
文章目录一.如何判断类的职责是否足够单一?二.类的职责是否设计得越单一越好?开始学习一些经典的设计原则,其中包括,SOLID、KISS、YAGNI、DRY、LOD等。本文主要学习单一职责原则的相关内容。单一职责原则的定义:一个类只负责完成一个职责或者功能。也就是说,不要设计大而全的类,要设计粒度小、功能单一的类。比如,一个类里既包含订单的一些操作,又包含用户的一些操作。而订单和用户是两个独立的业务
【k8s】5、资源管理命令-声明式
yu.deqiang
k8skubernetes容器云原生
文章目录一、yaml和json介绍1、yuml语言介绍2、k8s支持的文件格式3、yaml和json的主要区别二、声明式对象管理1、命令式对象配置2、声明式对象配置3、声明式对象管理命令介绍三、编写资源配置清单1、编写yaml文件2、启动并查看资源3、创建service服务对外提供访问测试4、创建并访问五、试运行与格式1、-dry-run:试运行2、查看生成yaml格式3、查看生成的json格式4
Django框架分享
Will_板凳
什么是DjangoDjango是一个基于Python的高级web开发框架;它能让开发人员进行高效且快速的开发,高度集成,免费且开源在这里插入图片描述Django的优点DRY,强调快速开发优雅的URL设计自带强大后台强大的数据库功能缓存系统Django的缺点系统的耦合度太高模板语言的支持相对比较简单Django的MTV架构Model层,和MVC中的model层一样,负责应用程序的数据以及数据的处理T
3条必须知道的实用软件开发原则
智创有术有限公司
luaactionscriptr语言c语言
在本文中将介绍3条重要的软件开发原则,你可能已经知道,也可能只知道其中一条。这些原则看似很简单,但实施起来会很难。无论如何,这些原则提供了一个管理复杂软件项目的强大的途径。当涉及到真实世界中的项目开发时,你会发现这些原则都是非常有用的。原则1:不要重复自己(Don’tRepeatYourself,DRY原则)这个原则非常重要,换言之,就是不要写重复的代码。当你正在构建一个大型的软件项目时,你通常会
Angular学习笔记
Hello_yihao
学习笔记angular设计模式设计框架
Angular学习框架:优秀的可以重复使用的代码,单独提取并封装,提高代码的复用率,开发速度,并保证良好的浏览器的兼容性。一、常用的设计原则和设计模式1.设计原则1.YANGI(youaren'tgonnaneedit)不写不需要的代码)2.KISS(keepitsimpleandstupid)代码越简单越好3.DRY(don'trepeatyourself)封装代码4.高内聚低耦合内聚:一个模块
git忽略已加入到版本库的文件
珊瑚贝
gitgithub
项目中,我们会用到'.gitignore'来忽略一些文件,不记录这些文件的版本控制。然而,经常发现,已经添加到了'.gitignore'的文件/目录,每次的修改等扔会记录版本。产生这种原因,一般都是由于,在初始项目时,已经使用gitadd将该文件,加入到了版本库如何来从版本库移除呢?gitrm-r–cached/vendorgitrm的选项:-f,–force-n,–dry-run//不真实删除,
K8S中将一个Deployment暴露出一个指定的外部端口,生成yaml
crabdave123
kubernetes容器云原生
K8S中将一个Deployment暴露出一个指定的外部端口如何固定NodePort端口如何固定NodePort端口-知乎kubectlexposedeploymentquickstart-kb--name=kibana-svc--port=5601--target-port=5601--type=NodePort--dry-run=client-oyaml>quickstart-kb-svc.ya
BDD - Python Behave Debugging --dry-run
wumingxiaoyao
#BehavepythonBehaveBDDdry-run
BDD-PythonBehaveDebugging--dry-run引言Behave--dry-run选项Behave--dry-run应用feature文件step文件执行--dry-run没有异常的情况异常情况引言随着项目的推进,QA设计的测试用例也会越来越多,一个Step可能会应用到多个Scenarios中,当这个Step的描述或实现发生修改,很有可能会影响到其它Scenarios,那么有什
php trait 代码生成,[置頂] 關於PHP trait、生成器
weixin_39644713
phptrait代码生成
Trait(PHP5.4.0之后才支持)1、trait跟類相似,但是更輕便,想一下,如果A類和B類都需要一個獲取地理位置的功能,我們通常的解決辦法是寫一個父類,里邊定義一個獲取地理位置的函數,然后A類和B類都繼承它,缺點是讓無關的類有了同一個父類,強制了AB的關聯;還有一種解決辦法是定義一個接口interface,A和B都實現這個接口,這樣的缺點是,同樣一個獲取地理位置的功能要寫兩遍,不符合DRY
多线程编程之理财
周凡杨
java多线程生产者消费者理财
现实生活中,我们一边工作,一边消费,正常情况下会把多余的钱存起来,比如存到余额宝,还可以多挣点钱,现在就有这个情况:我每月可以发工资20000万元 (暂定每月的1号),每月消费5000(租房+生活费)元(暂定每月的1号),其中租金是大头占90%,交房租的方式可以选择(一月一交,两月一交、三月一交),理财:1万元存余额宝一天可以赚1元钱,
[Zookeeper学习笔记之三]Zookeeper会话超时机制
bit1129
zookeeper
首先,会话超时是由Zookeeper服务端通知客户端会话已经超时,客户端不能自行决定会话已经超时,不过客户端可以通过调用Zookeeper.close()主动的发起会话结束请求,如下的代码输出内容
Created /zoo-739160015
CONNECTEDCONNECTED
.............CONNECTEDCONNECTED
CONNECTEDCLOSEDCLOSED
SecureCRT快捷键
daizj
secureCRT快捷键
ctrl + a : 移动光标到行首ctrl + e :移动光标到行尾crtl + b: 光标前移1个字符crtl + f: 光标后移1个字符crtl + h : 删除光标之前的一个字符ctrl + d :删除光标之后的一个字符crtl + k :删除光标到行尾所有字符crtl + u : 删除光标至行首所有字符crtl + w: 删除光标至行首
Java 子类与父类这间的转换
周凡杨
java 父类与子类的转换
最近同事调的一个服务报错,查看后是日期之间转换出的问题。代码里是把 java.sql.Date 类型的对象 强制转换为 java.sql.Timestamp 类型的对象。报java.lang.ClassCastException。
代码:
可视化swing界面编辑
朱辉辉33
eclipseswing
今天发现了一个WindowBuilder插件,功能好强大,啊哈哈,从此告别手动编辑swing界面代码,直接像VB那样编辑界面,代码会自动生成。
首先在Eclipse中点击help,选择Install New Software,然后在Work with中输入WindowBui
web报表工具FineReport常用函数的用法总结(文本函数)
老A不折腾
finereportweb报表工具报表软件java报表
文本函数
CHAR
CHAR(number):根据指定数字返回对应的字符。CHAR函数可将计算机其他类型的数字代码转换为字符。
Number:用于指定字符的数字,介于1Number:用于指定字符的数字,介于165535之间(包括1和65535)。
示例:
CHAR(88)等于“X”。
CHAR(45)等于“-”。
CODE
CODE(text):计算文本串中第一个字
mysql安装出错
林鹤霄
mysql安装
[root@localhost ~]# rpm -ivh MySQL-server-5.5.24-1.linux2.6.x86_64.rpm Preparing... #####################
linux下编译libuv
aigo
libuv
下载最新版本的libuv源码,解压后执行:
./autogen.sh
这时会提醒找不到automake命令,通过一下命令执行安装(redhat系用yum,Debian系用apt-get):
# yum -y install automake
# yum -y install libtool
如果提示错误:make: *** No targe
中国行政区数据及三级联动菜单
alxw4616
近期做项目需要三级联动菜单,上网查了半天竟然没有发现一个能直接用的!
呵呵,都要自己填数据....我了个去这东西麻烦就麻烦的数据上.
哎,自己没办法动手写吧.
现将这些数据共享出了,以方便大家.嗯,代码也可以直接使用
文件说明
lib\area.sql -- 县及县以上行政区划分代码(截止2013年8月31日)来源:国家统计局 发布时间:2014-01-17 15:0
哈夫曼加密文件
百合不是茶
哈夫曼压缩哈夫曼加密二叉树
在上一篇介绍过哈夫曼编码的基础知识,下面就直接介绍使用哈夫曼编码怎么来做文件加密或者压缩与解压的软件,对于新手来是有点难度的,主要还是要理清楚步骤;
加密步骤:
1,统计文件中字节出现的次数,作为权值
2,创建节点和哈夫曼树
3,得到每个子节点01串
4,使用哈夫曼编码表示每个字节
JDK1.5 Cyclicbarrier实例
bijian1013
javathreadjava多线程Cyclicbarrier
CyclicBarrier类
一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环的 barrier。
CyclicBarrier支持一个可选的 Runnable 命令,
九项重要的职业规划
bijian1013
工作学习
一. 学习的步伐不停止 古人说,活到老,学到老。终身学习应该是您的座右铭。 世界在不断变化,每个人都在寻找各自的事业途径。 您只有保证了足够的技能储
【Java范型四】范型方法
bit1129
java
范型参数不仅仅可以用于类型的声明上,例如
package com.tom.lang.generics;
import java.util.List;
public class Generics<T> {
private T value;
public Generics(T value) {
this.value =
【Hadoop十三】HDFS Java API基本操作
bit1129
hadoop
package com.examples.hadoop;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoo
ua实现split字符串分隔
ronin47
lua split
LUA并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是LUA可以很容易地被扩展:由宿主语言(通常是C或 C++)提供这些功能,LUA可以使用它们,就像是本来就内置的功能一样。LUA只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从 而适合嵌入在别的程序里。因此在lua中并没有其他语言那样多的系统函数。习惯了其他语言的字符串分割函
java-从先序遍历和中序遍历重建二叉树
bylijinnan
java
public class BuildTreePreOrderInOrder {
/**
* Build Binary Tree from PreOrder and InOrder
* _______7______
/ \
__10__ ___2
/ \ /
4
openfire开发指南《连接和登陆》
开窍的石头
openfire开发指南smack
第一步
官网下载smack.jar包
下载地址:http://www.igniterealtime.org/downloads/index.jsp#smack
第二步
把smack里边的jar导入你新建的java项目中
开始编写smack连接openfire代码
p
[移动通讯]手机后盖应该按需要能够随时开启
comsci
移动
看到新的手机,很多由金属材质做的外壳,内存和闪存容量越来越大,CPU速度越来越快,对于这些改进,我们非常高兴,也非常欢迎
但是,对于手机的新设计,有几点我们也要注意
第一:手机的后盖应该能够被用户自行取下来,手机的电池的可更换性应该是必须保留的设计,
20款国外知名的php开源cms系统
cuiyadll
cms
内容管理系统,简称CMS,是一种简易的发布和管理新闻的程序。用户可以在后端管理系统中发布,编辑和删除文章,即使您不需要懂得HTML和其他脚本语言,这就是CMS的优点。
在这里我决定介绍20款目前国外市面上最流行的开源的PHP内容管理系统,以便没有PHP知识的读者也可以通过国外内容管理系统建立自己的网站。
1. Wordpress
WordPress的是一个功能强大且易于使用的内容管
Java生成全局唯一标识符
darrenzhu
javauuiduniqueidentifierid
How to generate a globally unique identifier in Java
http://stackoverflow.com/questions/21536572/generate-unique-id-in-java-to-label-groups-of-related-entries-in-a-log
http://stackoverflow
php安装模块检测是否已安装过, 使用的SQL语句
dcj3sjt126com
sql
SHOW [FULL] TABLES [FROM db_name] [LIKE 'pattern']
SHOW TABLES列举了给定数据库中的非TEMPORARY表。您也可以使用mysqlshow db_name命令得到此清单。
本命令也列举数据库中的其它视图。支持FULL修改符,这样SHOW FULL TABLES就可以显示第二个输出列。对于一个表,第二列的值为BASE T
5天学会一种 web 开发框架
dcj3sjt126com
Web框架framework
web framework层出不穷,特别是ruby/python,各有10+个,php/java也是一大堆 根据我自己的经验写了一个to do list,按照这个清单,一条一条的学习,事半功倍,很快就能掌握 一共25条,即便很磨蹭,2小时也能搞定一条,25*2=50。只需要50小时就能掌握任意一种web框架
各类web框架大同小异:现代web开发框架的6大元素,把握主线,就不会迷路
建议把本文
Gson使用三(Map集合的处理,一对多处理)
eksliang
jsongsonGson mapGson 集合处理
转载请出自出处:http://eksliang.iteye.com/blog/2175532 一、概述
Map保存的是键值对的形式,Json的格式也是键值对的,所以正常情况下,map跟json之间的转换应当是理所当然的事情。 二、Map参考实例
package com.ickes.json;
import java.lang.refl
cordova实现“再点击一次退出”效果
gundumw100
android
基本的写法如下:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
//navigator.splashscreen.hide();
document.addEventListener("b
openldap configuration leaning note
iwindyforest
configuration
hostname // to display the computer name
hostname <changed name> // to change
go to: /etc/sysconfig/network, add/modify HOSTNAME=NEWNAME to change permenately
dont forget to change /etc/hosts
Nullability and Objective-C
啸笑天
Objective-C
https://developer.apple.com/swift/blog/?id=25
http://www.cocoachina.com/ios/20150601/11989.html
http://blog.csdn.net/zhangao0086/article/details/44409913
http://blog.sunnyxx
jsp中实现参数隐藏的两种方法
macroli
JavaScriptjsp
在一个JSP页面有一个链接,//确定是一个链接?点击弹出一个页面,需要传给这个页面一些参数。//正常的方法是设置弹出页面的src="***.do?p1=aaa&p2=bbb&p3=ccc"//确定目标URL是Action来处理?但是这样会在页面上看到传过来的参数,可能会不安全。要求实现src="***.do",参数通过其他方法传!//////
Bootstrap A标签关闭modal并打开新的链接解决方案
qiaolevip
每天进步一点点学习永无止境bootstrap纵观千象
Bootstrap里面的js modal控件使用起来很方便,关闭也很简单。只需添加标签 data-dismiss="modal" 即可。
可是偏偏有时候需要a标签既要关闭modal,有要打开新的链接,尝试多种方法未果。只好使用原始js来控制。
<a href="#/group-buy" class="btn bt
二维数组在Java和C中的区别
流淚的芥末
javac二维数组数组
Java代码:
public class test03 {
public static void main(String[] args) {
int[][] a = {{1},{2,3},{4,5,6}};
System.out.println(a[0][1]);
}
}
运行结果:
Exception in thread "mai
systemctl命令用法
wmlJava
linuxsystemctl
对比表,以 apache / httpd 为例 任务 旧指令 新指令 使某服务自动启动 chkconfig --level 3 httpd on systemctl enable httpd.service 使某服务不自动启动 chkconfig --level 3 httpd off systemctl disable httpd.service 检查服务状态 service h