目录

  • 1、文字溢出显示三个点
  • 2、input 框光标左边距
  • 3、水平垂直居中常用写法
    • 1)position属性实现
    • 2)flex属性实现
  • 4、input框消除空格
  • 5、纯css实现箭头
  • 6、箭头在上面的气泡样式,可以根据自己的实际设计调整
  • 7、实现加载中的样式不停转圈
    • 备注:view组件是uniapp 中的,我们在其他地方写的时候也只需要把view替换成 div 这类似的 标签即可。
  • 8、获取url 中的参数
    • 备注:假设 当前的url 是 https://editor.csdn.net/md/?articleId=118931302;
  • 9、监控键盘的事件
  • 10、搜索结果高亮功能---不区分大小写显示
  • 11、文本转语音,浏览器阅读
  • 12、获取鼠标选中的文本
  • 13、根据正则截取字符串
  • 14、用CSS实现三角符号
  • 15、鼠标悬浮时以动画的形式放大盒子
  • 16、隐藏滚动条
  • 17、修改滚动条样式
  • 18、vue 自定义指令--滚动加载
  • 19、正则表达式
  • 20、导出文件流 fileStream 文件流 name 文件名称带后缀
  • 21、根据光标位置对字符串进行拆分
  • 22、根据开始结束位置标注(gaoliang)字符串子串
  • 23、CSS 强制换行
  • 24、vue 移动端项目,input 框被遮挡无法操作解决方案
  • 25、vue 2.x项目,npm install 时 报错,权限问题解决方法为: `npm install --unsafe-perm=true --allow-root`
  • 26、Vue 中拖拽实现更换列表的顺序
  • 27、Flex 布局,使用 flex=1 占满盒子
  • 28、Vue 中查找替换功能实现

1、文字溢出显示三个点

text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;

2、input 框光标左边距

input{text-indent:15px
}

3、水平垂直居中常用写法

1)position属性实现

position: absolute;
left: 50%;
transform: translateX(-50%);/* 垂直居中就设置 top*/
top: 50%;
transform: translateY(-50%);

2)flex属性实现

display: flex;
justify-content: center;//水平居中
align-items: center;//垂直居中

4、input框消除空格

这行代码直接写在input框上面,只要input 中的value出现了空格就会自动消除

onkeyup="this.value=this.value.replace(/[, ]/g,'')"

5、纯css实现箭头

再也不用担心iconfont格式的箭头显示不出来的问题了。
当然,下面的rpx 单位是uniapp 的响应式单位。可以换成px作为你自己的单位。
类名.down 就是向下的箭头,可以根据,自己想要的箭头指向进行改动,也就是利用旋转的方式哦

.arrow {border: solid black;border-width: 0 3.84rpx 3.84rpx 0;display: inline-block;padding: 9rpx;margin-left: 14rpx;margin-bottom: 3px;
}
.down {transform: rotate(45deg);-webkit-transform: rotate(45deg);
}

6、箭头在上面的气泡样式,可以根据自己的实际设计调整

.tip {position: relative;top: 19.23rpx;// bottom: 19px;// right: 32px;width: 100%;height: 123.07rpx;background:#C0EBF5;border-radius: 19.23rpx;z-index: 1;display: flex;align-items: center;padding:  19.23rpx 21.15rpx 19.23rpx 15.38rpx;box-sizing: border-box;}.tip::after {content: "";position: absolute;top: -13.54rpx;left: 28%;display: block;width: 0;height: 0;border-radius: 7.69rpx;border:15.38rpx solid transparent;border-left-color: #C0EBF5;border-top-color: #C0EBF5;transform: scaleX(0.8) rotate(45deg);}

7、实现加载中的样式不停转圈

备注:view组件是uniapp 中的,我们在其他地方写的时候也只需要把view替换成 div 这类似的 标签即可。

html:

<view class="pswp__preloader__icn"><view class="pswp__preloader__cut"><view class="pswp__preloader__donut"></view></view>
</view>

css :

.pswp__preloader__icn {opacity: 0.75;width: 24px;height: 24px;-webkit-animation: clockwise 500ms linear infinite;animation: clockwise 500ms linear infinite;
}.pswp__preloader__cut {position: relative;width: 12px;height: 24px;overflow: hidden;position: absolute;top: 0;left: 0;
}.pswp__preloader__donut {box-sizing: border-box;width: 24px;height: 24px;border: 2px solid #ffffff;border-radius: 50%;border-left-color: transparent;border-bottom-color: transparent;position: absolute;top: 0;left: 0;background: none;margin: 0;-webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}@-webkit-keyframes clockwise {0% {-webkit-transform: rotate(0deg);}100% {-webkit-transform: rotate(360deg);}
}
@keyframes clockwise {0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}
}
@-webkit-keyframes donut-rotate {0% {-webkit-transform: rotate(0);}50% {-webkit-transform: rotate(-140deg);}100% {-webkit-transform: rotate(0);}
}
@keyframes donut-rotate {0% {transform: rotate(0);}50% {transform: rotate(-140deg);}100% {transform: rotate(0);}
}

8、获取url 中的参数

备注:假设 当前的url 是 https://editor.csdn.net/md/?articleId=118931302;

this.articleId=this.getQueryString('articleId')
console.log('created中打印:',this.articleId)//打印:118931302getQueryString(name) {//获取链接中的参数var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");var r = window.location.search.substr(1).match(reg);if (r != null) {return decodeURIComponent(r[2]);}return null;},
// 第二种实现方式
export function getQueryObject(url) {url = url == null ? window.location.href : url;const search = url.substring(url.lastIndexOf("?") + 1);const obj = {};const reg = /([^?&=]+)=([^?&=]*)/g;search.replace(reg, (rs, $1, $2) => {const name = decodeURIComponent($1);let val = decodeURIComponent($2);val = String(val);obj[name] = val;return rs;});return obj;
}//第三种方式
export function param2Obj(url) {const search = decodeURIComponent(url.split("?")[1]).replace(/\+/g, " ");if (!search) {return {};}const obj = {};const searchArr = search.split("&");searchArr.forEach(v => {const index = v.indexOf("=");if (index !== -1) {const name = v.substring(0, index);const val = v.substring(index + 1, v.length);obj[name] = val;}});return obj;
}

9、监控键盘的事件

//将 keyDown() 方法在 mounted 生命周期中调用即可
mounted() {this.keyDown();},
// 监听键盘keyDown() {document.onkeydown = e => {console.log("键盘事件", e);//事件对象兼容let e1 =e || event || window.event || arguments.callee.caller.arguments[0];//键盘按键判断:左箭头-37;上箭头-38;右箭头-39;下箭头-40//左if (e1 && e1.keyCode == 37) {// 按下左箭头} else if (e1 && e1.keyCode == 39) {// 按下右箭头}};},

10、搜索结果高亮功能—不区分大小写显示

function heightLight(string,keyword) {let reg = new RegExp(keyword, "gi");string = string.replace(reg, function(txt) {return `<span style="background:#FFE8BE;">${txt}</span>`;});return string;}

11、文本转语音,浏览器阅读

var msg = new SpeechSynthesisUtterance("你好呀");
console.log(msg);
window.speechSynthesis.speak(msg);

12、获取鼠标选中的文本

 getSelectionText() {if(window.getSelection) {return window.getSelection().toString();} else if(document.selection && document.selection.createRange) {return document.selection.createRange().text;}return '';
}

13、根据正则截取字符串

如:“大家好,我是[停顿:0.5秒]佩奇”;
需要将 中括号以及中间内容替换成 空。

let str="大家好,我是[停顿:0.5秒]佩奇";
let reg = /\[停顿:(\d+).(\d+)秒\]/;
let newStr = str.replace(reg, "");
console.log("替换后的新值:",newStr);//大家好,我是佩奇

14、用CSS实现三角符号

口诀:盒子宽高均为零,三面边框皆透明。

div:after{position: absolute;width: 0px;height: 0px;content: " ";border-right: 100px solid transparent;border-top: 100px solid #ff0;border-left: 100px solid transparent;border-bottom: 100px solid transparent;
}

15、鼠标悬浮时以动画的形式放大盒子

 transition: all 0.5s;transform: scale(1.1);

16、隐藏滚动条

.app-transcribe::-webkit-scrollbar {display: none;
}

17、修改滚动条样式

     &::-webkit-scrollbar {width: 6px;height: 6px;background: transparent;}&:hover::-webkit-scrollbar {display: block;width: 6px;height: 6px;background: transparent;}&:hover::-webkit-scrollbar-thumb {width: 4px;height: 50px;border-radius: 3px;background: #c1c1c1;}&:hover::-webkit-scrollbar-track {padding-left: 3px;width: 10px;border-left: 1px solid #dcdfe6;background: #ffffff;// box-shadow: inset 0 0 10px 10px #dcdfe6;border: solid 3px transparent;}

18、vue 自定义指令–滚动加载

import Vue from "_vue@2.6.14@vue";Vue.directive("loadmore", {bind(el, binding) {const selectWrap = el.querySelector(".el-table__body-wrapper");selectWrap.addEventListener("scroll", function() {let sign = 1;const scrollDistance =this.scrollHeight - this.scrollTop - this.clientHeight;// console.log("滚动条的距离:", scrollDistance);if (scrollDistance <= sign) {binding.value();}});}
});

19、正则表达式

// 首字母大小
export function titleCase(str) {return str.replace(/( |^)[a-z]/g, L => L.toUpperCase());
}// 下划转驼峰
export function camelCase(str) {return str.replace(/-[a-z]/g, str1 => str1.substr(-1).toUpperCase());
}export function isNumberStr(str) {return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str);
}
//#号之间的内容替换为下划线
export function replaceUnderline(str) {if (!str) {return;}str = str.replace(/#(.*?)#/g, "____");return str;
}
// #号换为空格
export function replaceSpace(str) {if (!str) {return;}let reg = new RegExp("#", "g");let newMsg = str.replace(reg, " ");return newMsg;
}
// '#'号不能超过三对
export function limitFrequency(str) {if (str.toString(2).match(/#/g).length == 1 ||str.toString(2).match(/#/g).length == 3 ||str.toString(2).match(/#/g).length == 5) {Message.error("'#'必须出现一对一对出现!");} else if (str.toString(2).match(/#/g).length > 6) {Message.error("'#'最多不能超过三对!");}
}
// 提取#之间的内容
export function extract(str) {let regex = /#(.*?)#/g;let currentResult;let results = [];while ((currentResult = regex.exec(str)) !== null) {results.push(currentResult[1]);}let reg = new RegExp(",", "g");let newMsg = JSON.stringify(results.toString()).replace(reg, "#");let solutionanswer = newMsg.replace(/^"|"$/g, "");return solutionanswer;
}
//  提示#只能出现3对
export function CropDialogueTo(str) {let strLength = str.toString(2).match(/#/g).length;if (strLength % 2 == 0 && strLength <= 6) {let answer = extract(str);return answer;} else if (strLength % 2 == 1 && strLength <= 6) {Message.error("'#'必须出现一对一对出现!");let answer = extract(str);return answer;} else if (strLength > 6) {Message.error("'#'最多不能超过三对!");}
}
// 数字格式化
export function toThousands(num) {return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, "$1,");
}
// 去除字符串中的空格和回车符export function clearSpace(num) {return (num || 0).toString().replace( /(^\s*)|(\s*$)|[\r\n]/g, "");
}

20、导出文件流 fileStream 文件流 name 文件名称带后缀

// 导出文件 fileStream 文件流 name 文件名称带后缀
export function exportFile(fileStream, name) {let blob = new Blob([fileStream], {type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"});let downloadElement = document.createElement("a");let href = window.URL.createObjectURL(blob);downloadElement.href = href;downloadElement.download = name; // xxx.xls/xxx.xlsxdocument.body.appendChild(downloadElement);downloadElement.click();document.body.removeChild(downloadElement);window.URL.revokeObjectURL(href);
}

21、根据光标位置对字符串进行拆分

// 获取光标位置拆分2段 参数Dom节点id
export function cursorSplit(domId) {// //其他节点根据光标位置拆分// const selection = getSelection();// const cursor = selection.getRangeAt(0).startOffset;// const el = document.getElementById(domId);// const list = [];// const a = el.innerText.slice(0, cursor);// const b = el.innerText.slice(cursor);// list.push(a);// list.push(b);// return list;// 输入框根据光标位置拆分const elInput = document.getElementById(domId);const cursor = elInput.selectionStart;if (!cursor) return;const list = [];const a = elInput.value.slice(0, cursor);const b = elInput.value.slice(cursor);list.push(a);list.push(b);return list;
}

22、根据开始结束位置标注(gaoliang)字符串子串

remarkStr() {let dataStr ="Today is a nice day. is Are you ok?Today is a nice day. is Are you ok?Today is a nice day. is Are you ok?";let list = [{ startIndex: 2, endIndex: 5 },{ startIndex: 7, endIndex: 9 },{ startIndex: 20, endIndex: 25 },{ startIndex: 40, endIndex: 55 },{ startIndex: 60, endIndex: 65 }];let wordList = [];let str1 = dataStr.slice(0, list[0].startIndex);wordList.push(str1);let str2 = `<span style="color:red">${dataStr.slice(list[0].startIndex,list[0].endIndex)}</span>`;wordList.push(str2);for (let i = 1; i < list.length; i++) {let str1 = dataStr.slice(list[i - 1].endIndex, list[i].startIndex);wordList.push(str1);let str2 = `<span style="color:red">${dataStr.slice(list[i].startIndex,list[i].endIndex)}</span>`;wordList.push(str2);}let str3 = dataStr.substring(list[list.length - 1].endIndex);wordList.push(str3);console.log("word--->", wordList, wordList.join(""));},

23、CSS 强制换行

word-break: break-all;// 只对英文起作用,以字母作为换行依据。
word-wrap: break-word; //只对英文起作用,以单词作为换行依据。
white-space: pre-wrap; //只对中文起作用,强制换行。

24、vue 移动端项目,input 框被遮挡无法操作解决方案

let inputDom = document.getElementById("inputDom" + inx);
setTimeout(() => {inputDom.scrollIntoView(true); //关键行document.getElementById("inputDom" + inx).focus();
}, 1);

25、vue 2.x项目,npm install 时 报错,权限问题解决方法为: npm install --unsafe-perm=true --allow-root

26、Vue 中拖拽实现更换列表的顺序

<div class="itemBox" v-for="(row,inx) in coursewareList" :key="inx"draggable="true"@dragstart="handleDragStart($event, row)"@dragover.prevent="handleDragOver($event, row)"@dragenter="handleDragEnter($event, row)"@dragend="handleDragEnd($event, row)"></div>data() {return {ending: null,// 拖动结束后放置的位置dragging: null,//存放拖拽的元素}
},
methods:{/*** 拖拽盒子进行位置调整*/handleDragStart(e, item) {console.log(e)this.dragging = item;},handleDragEnd() {//e, itemif (this.ending.wareId === this.dragging.wareId) {return;}let newItems = [...this.coursewareList];const src = newItems.indexOf(this.dragging);const dst = newItems.indexOf(this.ending);newItems.splice(src, 1, ...newItems.splice(dst, 1, newItems[src]));this.coursewareList = newItems;let params = [];this.coursewareList.forEach(el => {params.push(el.wareId)})// 走后端接口,最终将真正的顺序存储到数据库中moveCourseware(params).then(res => {if(res.code !== 200) {this.$message.error(res.msg);} // else {//   this.$message.success("操作成功!");// }})this.$nextTick(() => {this.dragging = null;this.ending = null;});},handleDragOver(e) {// 首先把div变成可以放置的元素,即重写dragenter/dragover// 在dragenter中针对放置目标来设置e.dataTransfer.dropEffect = "move";},handleDragEnter(e, item) {// 为需要移动的元素设置dragstart事件e.dataTransfer.effectAllowed = "move";this.ending = item;},
}

27、Flex 布局,使用 flex=1 占满盒子

描述: 右侧可以展开与收缩,宽度会改变,左侧的内容需要占满剩余的空间。
设置 左侧 设置 flex =1时候,width 需要设置为 0.否则右侧展开折叠再展开的时候,会超出屏幕范围。

28、Vue 中查找替换功能实现

html 结构:

 <div class="searchReplace"><div class="subTitle">查找内容</div><el-inputstyle="width: 100%"placeholder="请输入需要更替掉的译文"v-model="searchTxt"@input="searchInputHandle"><div slot="suffix" class="suffixBox"><div class="lastNextStyle"><iclass="el-input__icon el-icon-caret-left"@click="lastSearch"></i><span>{{ searchIndex + 1 }}<span>/</span>{{ searchList.length }}</span><i@click="next()"class="el-input__icon el-icon-caret-right"></i></div></div></el-input><div class="subTitle flex-row marginTop10"><span>区分大小写</span><el-switchsize="small"active-color="#005FFF"v-model="caseSensitive"@change="changeCheck"></el-switch></div><div class="subTitle">查找内容</div><el-inputstyle="width: 100%"placeholder="请输入替换后的内容"v-model="replaceTxt"></el-input><div class="marginTop10 flex-row flex-end"><div class="commonBtn hasBgBtn" @click="replaceAllHandle()">全部替换</div><divclass="commonBtn defalutBorderBtn"style="margin-left: 10px"@click="replaceHandle">替换</div></div></div>

css 样式:

// 查找替换
.searchReplace {padding: 24px;box-sizing: border-box;.flex-end {justify-content: flex-end;}.subTitle {font-size: 14px;font-family: Source Han Sans CN-Medium, Source Han Sans CN;font-weight: 500;color: #484b4e;margin-bottom: 8px;span {margin-right: 8px;}}.marginTop10 {margin-top: 10px;}
}
.suffixBox {display: flex;flex-direction: row;align-items: center;.lastNextStyle {display: flex;flex-direction: row;align-items: center;justify-content: center;span {font-size: 16px;font-family: Microsoft YaHei;font-weight: 400;color: #1c2648;}i {cursor: pointer;color: #dbdbdb;font-size: 16px;}}
}
// 下面的是需要放到 非 scope 内
.actTxtBg {background: #ffe8be;
}
.selectTxtBg {background: #ffcf78;
}

vue 的钩子中代码

data() {return {caseSensitive: false, // 是否区分大小写searchTxt: null, // 查询的译文文本replaceTxt: null, // 替换的译文文本searchList: [], // 搜索到的数据列表searchIndex: -1, // 当前查找到的下标}
},
methods: {// 查找input事件
// answerText  是查找时显示的 html 字符串, answer 是输入框的内容searchInputHandle(value) {//每次查找都初始化下标this.searchIndex = -1;this.selectList = [];if (!value) {this.tableData.forEach((el) => {el.isEditTxt = false;el.answerText = el.answer;});this.searchList = [];} else {this.onSearch();}},//开启大小写重新查找changeCheck() {this.onSearch();},// 查找译文内容onSearch() {this.searchList = [];let that = this;//区分大小写let searchTxt = this.searchTxt;searchTxt = this.caseSensitive ? searchTxt : searchTxt.toLowerCase();searchTxt = this.caseSensitive ? searchTxt : searchTxt.toLowerCase();that.tableData.forEach((el, i) => {el.isEditTxt = false; //隐藏输入框el.answerText = el.answer; //高亮之前初始化原始值if (el.answer &&(el.answer.includes(searchTxt) ||el.answer.toLowerCase().includes(searchTxt))) {el.answerText = that.heightLight(el.answerText);if (searchTxt) {// 开始记录对象和位置let idx;idx = el.answer.indexOf(searchTxt);if (!this.caseSensitive) {idx = el.answer.toLowerCase().indexOf(searchTxt);}while (idx !== -1) {that.searchList.push([i, idx, "answer"]);idx = el.answer.indexOf(searchTxt, idx + searchTxt.length);}}}});if (searchTxt) {this.next();}},// 查找下一处next() {if (!this.searchTxt) return;//初始化查找下标if (this.searchIndex >= this.searchList.length - 1) {// this.$message.warning("当前已查找到最后一个");this.searchIndex = -1;// return;}this.searchIndex++;//查找下一个之前把包含查找内容的句段高亮this.tableData.forEach((el) => {el.answerText = el.answer; //高亮之前初始化原始值el.answerText = this.heightLight(el.answerText);});let find = this.searchList[this.searchIndex]; //查找的对象// console.log("find", find);if (find) {let inx = find[0]; //下标let start = find[1]; //开始位置let end = find[1] + this.searchTxt.length; //结束位置if (find[2] === "answer") {let answerText = this.tableData[inx].answer; //不添加标签的原文字this.tableData[inx].answerText = this.replacepos(answerText,start,end,`<span class="selectTxtBg">${this.searchTxt}</span>`);}}},// 查找上一处lastSearch() {if (!this.searchTxt) return;//初始化查找下标if (this.searchIndex <= 0) {this.$message.warning("当前已查找到第一个");// this.searchIndex = this.searchList.length - 1;return;}this.searchIndex--;//查找下一个之前把包含查找内容的句段高亮this.tableData.forEach((el) => {el.answerText = el.answer; //高亮之前初始化原始值el.answerText = this.heightLight(el.answerText);});let find = this.searchList[this.searchIndex]; //查找的对象if (find) {let inx = find[0]; //下标let start = find[1]; //开始位置let end = find[1] + this.searchTxt.length; //结束位置if (find[2] === "answer") {let answerText = this.tableData[inx].answer; //不添加标签的原文字this.tableData[inx].answerText = this.replacepos(answerText,start,end,`<span class="selectTxtBg">${this.searchTxt}</span>`);}}},//区分大小写的高亮显示heightLight(string) {if (!string) return;let reg = new RegExp(this.searchTxt, "gi");let reg2 = new RegExp(this.searchTxt, "g");string = string.replace(this.caseSensitive ? reg2 : reg, function (txt) {return `<span class="actTxtBg">${txt}</span>`;});return string;},//替换指定位置字符串-原文本、开始位置、结束位置、替换文本replacepos(text, start, end, replacetext) {return text.substring(0, start) + replacetext + text.substring(end);},// 替换事件replaceHandle() {if (!this.replaceTxt) return;let find = this.searchList[this.searchIndex]; //替换的对象if (find) {let inx = find[0]; //下标let start = find[1]; //开始位置let end = find[1] + this.searchTxt.length; //结束位置if (find[2] === "answer") {let text = this.tableData[inx].answer; //不添加标签的原文字let newTxt = this.replacepos(text, start, end, this.replaceTxt); //替换后的文本this.tableData[inx].answer = this.tableData[inx].answerText = newTxt;}this.searchIndex--;this.onSearch();this.saveAnswerStatus(this.tableData[inx], inx);}},// 全部替换事件replaceAllHandle() {if (!this.replaceTxt) {return;}this.tableData.forEach((el, inx) => {el.segStatus = true;if (el.answer) {el.answer = el.answer.replaceAll(this.searchTxt, this.replaceTxt);el.answerText = el.answerText.replaceAll(`<span class="actTxtBg">${this.searchTxt}</span>`,this.replaceTxt);el.answerText = el.answerText.replaceAll(`<span class="selectTxtBg">${this.searchTxt}</span>`,this.replaceTxt);this.saveAnswerStatus(el, inx);}});this.searchIndex = -1;this.searchTxt = "";this.replaceTxt = "";this.onSearch();},
}

vue开发常用css,js(持续更新)相关推荐

  1. Java开发常用软件列表——持续更新

    Java开发常用工具列表 Typora 一款支持Markdown语法的本地文本编辑器,比较适合用来写工作日志. Clover 三叶草,可以把Windows文件夹像浏览器一样用标签组织起来,体验确实能够 ...

  2. Go语言开发学习笔记(持续更新中)

    Go语言开发学习笔记(持续更新中) 仅供自我学习 更好的文档请选择下方 https://studygolang.com/pkgdoc https://www.topgoer.com/go%E5%9F% ...

  3. Windows11 Android开发相关记录(持续更新...)

    Windows11 Android开发相关记录(持续更新-) 本章节主要记录安装好Windos系统后开发环境搭建及其心得. 以及开发常用软件和相关配置. 以下属于个人做法,仅供参考: 文章目录 Win ...

  4. linux常用指令(持续更新)

    linux常用指令(持续更新) 基本访问指令: 直接进入用户的home目录: cd ~ 进入上一个目录: cd - 进入当前目录的上一层目录: cd .. 进入当前目录的上两层目录: cd ../.. ...

  5. 工具篇:Git与Github+GitLib常用操作(不定期持续更新)

    工具篇:Git与Github+GitLib常用操作(不定期持续更新) 前言: 写这个主要是打算自己用的,里边很多东西都是只要我自己看得懂,但是用了两个星期发现真是越用越简单,越用越好用,私以为得到了学 ...

  6. netcore开源框架_.NET Core开发精选文章目录,持续更新,欢迎投稿!

    收集的一些.NET Core开发的文章,持续更新,欢迎投稿! 0.文章目录 布莱恩特:@.NET程序员,请了解这8种.NET 内存泄露方式! 布莱恩特:ASP.NET Core 性能优化22条最佳实践 ...

  7. 程序员常用英语积累---持续更新

    程序员常用英语积累---持续更新: Distribution: 分发 Direction    : 方向 Description: 描述 Destination: 目标 Definition   : ...

  8. JS日常开发小技巧(持续更新)

    前言 整理总结了一些日常开发中的JS小技巧,可以简化代码,使代码看起来更加简洁明了. 一.数组去重 数组去重的方法有很多种,比如:for循环.双重for循环等,思路一般是生成一个新数组,然后遍历原数组 ...

  9. 工作中php遇到的问题以及常用函数整理(持续更新)

    说明 以下整理的文档是本人2017年从事php开发到目前遇到的问题的部分整理,因为上家公司有改错本这个东西,偶然间翻开,整理了一部分,后续遇到问题会持续更新,最新更新的内容会放到最前面. php开启错 ...

最新文章

  1. shell中遍历目录
  2. QT的QRegExpValidator类的使用
  3. 如何在anaconda环境下安装tensorflow/pytorch/keras等
  4. 服务器如何返回429状态,Instagram远程服务器返回一个错误:(429)UNKNOWN STATUS CODE...
  5. 基元线程同步构造之waithandle中 waitone使用
  6. 使用MATLAB分析处理csv数据
  7. Improving Opencv 3 : Mask operations on matrices
  8. html 随机抽奖,随机抽奖页面js
  9. 虚拟机连接本地sql服务器,如何从Mac连接到虚拟机上的本地数据库?(平行线)...
  10. 关于高级交互设计师的5个经验总结
  11. 从oracle临时表理解会话与链接
  12. 实验物理与工业控制系统---EPICS
  13. 单集群10万节点 走进腾讯云分布式调度系统VStation
  14. 这9个程序员岗位最牛!AI百万年薪夺冠
  15. 支持tcam的服务器,使用tcam实现数据流的选择性路由
  16. 怕研究生碌碌无为?那应该好好看看这篇文章
  17. 网络安全:使用各类编码混淆攻击
  18. 拼多多新手商家开店必做的四步
  19. Hyper-v虚拟机Centos构建CNS服务器与青龙面板
  20. linux tc 使用方法,Linux下TC使用说明

热门文章

  1. 理解你的排序操作(stable_sort,sort,partial_sort,nth_element,stable_partition,partition)
  2. BUUCTF[GYCTF2020]Blacklist
  3. 三大开源社区是哪几个_进入开源社区的4个技巧
  4. 爱的乐章,Hibernate之三部曲
  5. 整理2020java面试题
  6. 20世纪中文小说100强
  7. How to add the cracked dlls in GAC---let me tell u
  8. java二进制对象_java 二进制搜索
  9. 【Hadoop】01_从官网下载Hadoop
  10. JAVA2d用于,创建用于翻转效果的 Java2D 合成