2022开发上的一些常见技术问题整理
本篇文章不涉及具体业务逻辑,单纯从技术的角度谈论(.net,sql,正则表达式)
以下为是 好友/同事 问我的一些问题的 整理.
1.SQL 部分语法及函数 不熟
在sqlserver 里面, 有一个语法, if exist ...else ..., 但是这个语法, 在 oracle 里面没有
在oracle里面实现 就需要另外想办法了.(纯sql查询/ sql+C#代码 / 函数,存储过程)
2.C# 基础的函数使用不熟
2.1 初始化一个Dictionary<int,string>的字典,并且给初始数据
一开始我想到的是 (1):
Dictionary<int,string>dict = new Dictionary<int,string>();
dict .add(1,"张三");
dict .add(2,"李四");
其实更简洁的写法为(2):
Dictionary<int,string>dict = new Dictionary<int,string>{(1,"张三")),(2,"李四")};
有些很基础的知识,没怎么用,就忘记了.或者说习惯性的用(1) 导致 忽略了 (2) .
3.正则表达式,解决问题的关键
有一些业务, 需要用到正则表达式做模糊匹配, 但是我发现 同事/朋友 对这个 真的不是很熟,以至于一些项目/方案 束手无策.
常见的匹配,比如匹配数字,日期,邮箱,ip地址,数值范围 (1)
复杂匹配: 某一段格式的文本, 范文本标签(xml格式,html格式) (2)
对于(1) 可以通过具体的练习,查阅先关的 正则表达式语法, 对照着看,对照着练, 练上几个小时,一天 ,基本 就学会了,
对于(2) 有很多种不同的写法, 对正则表达式的理解不同,写出来的表达式就不同,有的便于书写,比如(.+?),有的 则是复杂的精确匹配,比如 [\s]{0,1}|[\w]{1} 等等
如果对(1)都不是很清楚,直接去写(2) 自然是会花更多时间,有时候写出来的还会有错误,或者 兼容性不好,文本变一下,就匹配不上了.
回顾我自己关于写正则表达式,在2013年的爬虫项目,得到了强化锻炼,连续21天写正则表达式! (正式工作内容就是写正则表达式)
所以现在我写正则,对照api看下, 基本不会有什么问题. 很快也能自己做校验, 或者看懂别人的正则的意思,并且找出对方的不完善之处.
这个不像VS编译器会直接告诉你 哪里写得不对,完全是个人经验,这种经验有助于 区别一般的程序员,还是比较强的程序员.(别人知道,但是不会,你会,你就比别人牛)
PS:以上都是别人问我的一些问题,我做了一下整理. 我就当学习和提高自己. 温故而知新.(知道再多也没屁用,没有涨工资,但是开心)
本文来自博客园,作者:兴想事成,转载请注明原文链接:https://www.cnblogs.com/mjxxsc/p/15963636.html