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:以上都是别人问我的一些问题,我做了一下整理. 我就当学习和提高自己. 温故而知新.(知道再多也没屁用,没有涨工资,但是开心)

 

posted @ 2022-03-04 11:41  兴想事成  阅读(93)  评论(0编辑  收藏  举报