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.高内聚低耦合内聚:一个模块
redis学习笔记——不仅仅是存取数据
Everyday都不同
returnSourceexpire/delincr/lpush数据库分区redis
最近项目中用到比较多redis,感觉之前对它一直局限于get/set数据的层面。其实作为一个强大的NoSql数据库产品,如果好好利用它,会带来很多意想不到的效果。(因为我搞java,所以就从jedis的角度来补充一点东西吧。PS:不一定全,只是个人理解,不喜勿喷)
1、关于JedisPool.returnSource(Jedis jeids)
这个方法是从red
SQL性能优化-持续更新中。。。。。。
atongyeye
oraclesql
1 通过ROWID访问表--索引
你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高.
2 共享SQL语句--相同的sql放入缓存
3 选择最有效率的表
[JAVA语言]JAVA虚拟机对底层硬件的操控还不完善
comsci
JAVA虚拟机
如果我们用汇编语言编写一个直接读写CPU寄存器的代码段,然后利用这个代码段去控制被操作系统屏蔽的硬件资源,这对于JVM虚拟机显然是不合法的,对操作系统来讲,这样也是不合法的,但是如果是一个工程项目的确需要这样做,合同已经签了,我们又不能够这样做,怎么办呢? 那么一个精通汇编语言的那种X客,是否在这个时候就会发生某种至关重要的作用呢?
&n
lvs- real
男人50
LVS
#!/bin/bash
#
# Script to start LVS DR real server.
# description: LVS DR real server
#
#. /etc/rc.d/init.d/functions
VIP=10.10.6.252
host='/bin/hostname'
case "$1" in
sta
生成公钥和私钥
oloz
DSA安全加密
package com.msserver.core.util;
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
public class SecurityUtil {
UIView 中加入的cocos2d,背景透明
374016526
cocos2dglClearColor
要点是首先pixelFormat:kEAGLColorFormatRGBA8,必须有alpha层才能透明。然后view设置为透明glView.opaque = NO;[director setOpenGLView:glView];[self.viewController.view setBackgroundColor:[UIColor clearColor]];[self.viewControll
mysql常用命令
香水浓
mysql
连接数据库
mysql -u troy -ptroy
备份表
mysqldump -u troy -ptroy mm_database mm_user_tbl > user.sql
恢复表(与恢复数据库命令相同)
mysql -u troy -ptroy mm_database < user.sql
备份数据库
mysqldump -u troy -ptroy
我的架构经验系列文章 - 后端架构 - 系统层面
agevs
JavaScriptjquerycsshtml5
系统层面:
高可用性
所谓高可用性也就是通过避免单独故障加上快速故障转移实现一旦某台物理服务器出现故障能实现故障快速恢复。一般来说,可以采用两种方式,如果可以做业务可以做负载均衡则通过负载均衡实现集群,然后针对每一台服务器进行监控,一旦发生故障则从集群中移除;如果业务只能有单点入口那么可以通过实现Standby机加上虚拟IP机制,实现Active机在出现故障之后虚拟IP转移到Standby的快速
利用ant进行远程tomcat部署
aijuans
tomcat
在javaEE项目中,需要将工程部署到远程服务器上,如果部署的频率比较高,手动部署的方式就比较麻烦,可以利用Ant工具实现快捷的部署。这篇博文详细介绍了ant配置的步骤(http://www.cnblogs.com/GloriousOnion/archive/2012/12/18/2822817.html),但是在tomcat7以上不适用,需要修改配置,具体如下:
1.配置tomcat的用户角色
获取复利总收入
baalwolf
获取
public static void main(String args[]){
int money=200;
int year=1;
double rate=0.1;
&
eclipse.ini解释
BigBird2012
eclipse
大多数java开发者使用的都是eclipse,今天感兴趣去eclipse官网搜了一下eclipse.ini的配置,供大家参考,我会把关键的部分给大家用中文解释一下。还是推荐有问题不会直接搜谷歌,看官方文档,这样我们会知道问题的真面目是什么,对问题也有一个全面清晰的认识。
Overview
1、Eclipse.ini的作用
Eclipse startup is controlled by th
AngularJS实现分页功能
bijian1013
JavaScriptAngularJS分页
对于大多数web应用来说显示项目列表是一种很常见的任务。通常情况下,我们的数据会比较多,无法很好地显示在单个页面中。在这种情况下,我们需要把数据以页的方式来展示,同时带有转到上一页和下一页的功能。既然在整个应用中这是一种很常见的需求,那么把这一功能抽象成一个通用的、可复用的分页(Paginator)服务是很有意义的。
&nbs
[Maven学习笔记三]Maven archetype
bit1129
ArcheType
archetype的英文意思是原型,Maven archetype表示创建Maven模块的模版,比如创建web项目,创建Spring项目等等.
mvn archetype提供了一种命令行交互式创建Maven项目或者模块的方式,
mvn archetype
1.在LearnMaven-ch03目录下,执行命令mvn archetype:gener
【Java命令三】jps
bit1129
Java命令
jps很简单,用于显示当前运行的Java进程,也可以连接到远程服务器去查看
[hadoop@hadoop bin]$ jps -help
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:
ZABBIX2.2 2.4 等各版本之间的兼容性
ronin47
zabbix更新很快,从2009年到现在已经更新多个版本,为了使用更多zabbix的新特性,随之而来的便是升级版本,zabbix版本兼容性是必须优先考虑的一点 客户端AGENT兼容
zabbix1.x到zabbix2.x的所有agent都兼容zabbix server2.4:如果你升级zabbix server,客户端是可以不做任何改变,除非你想使用agent的一些新特性。 Zabbix代理(p
unity 3d还是cocos2dx哪个适合游戏?
brotherlamp
unity自学unity教程unity视频unity资料unity
unity 3d还是cocos2dx哪个适合游戏?
问:unity 3d还是cocos2dx哪个适合游戏?
答:首先目前来看unity视频教程因为是3d引擎,目前对2d支持并不完善,unity 3d 目前做2d普遍两种思路,一种是正交相机,3d画面2d视角,另一种是通过一些插件,动态创建mesh来绘制图形单元目前用的较多的是2d toolkit,ex2d,smooth moves,sm2,
百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序
bylijinnan
java算法面试百度招聘
import java.util.Arrays;
/**
* 最早是在陈利人老师的微博看到这道题:
* #面试题#An array with n elements which is K most sorted,就是每个element的初始位置和它最终的排序后的位置的距离不超过常数K
* 设计一个排序算法。It should be faster than O(n*lgn)。
获取checkbox复选框的值
chiangfai
checkbox
<title>CheckBox</title>
<script type = "text/javascript">
doGetVal: function doGetVal()
{
//var fruitName = document.getElementById("apple").value;//根据
MySQLdb用户指南
chenchao051
mysqldb
原网页被墙,放这里备用。 MySQLdb User's Guide
Contents
Introduction
Installation
_mysql
MySQL C API translation
MySQL C API function mapping
Some _mysql examples
MySQLdb
HIVE 窗口及分析函数
daizj
hive窗口函数分析函数
窗口函数应用场景:
(1)用于分区排序
(2)动态Group By
(3)Top N
(4)累计计算
(5)层次查询
一、分析函数
用于等级、百分点、n分片等。
函数 说明
RANK() &nbs
PHP ZipArchive 实现压缩解压Zip文件
dcj3sjt126com
PHPzip
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下常用的示例供参考。
一、解压缩zip文件 01 02 03 04 05 06 07 08 09 10 11
精彩英语贺词
dcj3sjt126com
英语
I'm always here
我会一直在这里支持你
&nb
基于Java注解的Spring的IoC功能
e200702084
javaspringbeanIOCOffice
java模拟post请求
geeksun
java
一般API接收客户端(比如网页、APP或其他应用服务)的请求,但在测试时需要模拟来自外界的请求,经探索,使用HttpComponentshttpClient可模拟Post提交请求。 此处用HttpComponents的httpclient来完成使命。
import org.apache.http.HttpEntity ;
import org.apache.http.HttpRespon
Swift语法之 ---- ?和!区别
hongtoushizi
?swift!
转载自: http://blog.sina.com.cn/s/blog_71715bf80102ux3v.html
Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:
var stringValue : String
//
centos7安装jdk1.7
jisonami
jdkcentos
安装JDK1.7
步骤1、解压tar包在当前目录
[root@localhost usr]#tar -xzvf jdk-7u75-linux-x64.tar.gz
步骤2:配置环境变量
在etc/profile文件下添加
export JAVA_HOME=/usr/java/jdk1.7.0_75
export CLASSPATH=/usr/java/jdk1.7.0_75/lib
数据源架构模式之数据映射器
home198979
PHP架构数据映射器datamapper
前面分别介绍了数据源架构模式之表数据入口、数据源架构模式之行和数据入口数据源架构模式之活动记录,相较于这三种数据源架构模式,数据映射器显得更加“高大上”。
一、概念
数据映射器(Data Mapper):在保持对象和数据库(以及映射器本身)彼此独立的情况下,在二者之间移动数据的一个映射器层。概念永远都是抽象的,简单的说,数据映射器就是一个负责将数据映射到对象的类数据。
&nb
在Python中使用MYSQL
pda158
mysqlpython
缘由 近期在折腾一个小东西须要抓取网上的页面。然后进行解析。将结果放到
数据库中。 了解到
Python在这方面有优势,便选用之。 由于我有台
server上面安装有
mysql,自然使用之。在进行数据库的这个操作过程中遇到了不少问题,这里
记录一下,大家共勉。
python中mysql的调用
百度之后能够通过MySQLdb进行数据库操作。
单例模式
hxl1988_0311
java单例设计模式单件
package com.sosop.designpattern.singleton;
/*
* 单件模式:保证一个类必须只有一个实例,并提供全局的访问点
*
* 所以单例模式必须有私有的构造器,没有私有构造器根本不用谈单件
*
* 必须考虑到并发情况下创建了多个实例对象
* */
/**
* 虽然有锁,但是只在第一次创建对象的时候加锁,并发时不会存在效率
27种迹象显示你应该辞掉程序员的工作
vipshichg
工作
1、你仍然在等待老板在2010年答应的要提拔你的暗示。 2、你的上级近10年没有开发过任何代码。 3、老板假装懂你说的这些技术,但实际上他完全不知道你在说什么。 4、你干完的项目6个月后才部署到现场服务器上。 5、时不时的,老板在检查你刚刚完成的工作时,要求按新想法重新开发。 6、而最终这个软件只有12个用户。 7、时间全浪费在办公室政治中,而不是用在开发好的软件上。 8、部署前5分钟才开始测试。