用了一段时间的 TypeScript 之后,深感中大型项目中 TypeScript 的必要性,它能够提前在编译期避免许多 Bug,如很恶心的拼写问题。而越来越多的 Package 也开始使用 TypeScript,学习 TypeScript 已是势在必行。 以下是我在工作中总结到的比较实用的 TypeScript 技巧。
01 keyof
keyof 与 Object.keys 略有相似,只不过 keyof 取 interface 的键。
2024年09月19日
用了一段时间的 TypeScript 之后,深感中大型项目中 TypeScript 的必要性,它能够提前在编译期避免许多 Bug,如很恶心的拼写问题。而越来越多的 Package 也开始使用 TypeScript,学习 TypeScript 已是势在必行。 以下是我在工作中总结到的比较实用的 TypeScript 技巧。
keyof 与 Object.keys 略有相似,只不过 keyof 取 interface 的键。
2024年09月19日
国际惯例,我们先从full gc的触发时机开始看起,读过笔者之前博客的朋友应该都熟悉这个套路,学习源码都需要先找到入口,而gc算法的入口其实就是其触发的时机。
2024年09月19日
当HystrixFeign类存在时,FeignAutoConfiguration定义的HystrixTargeter作为Targeter存在。同时FeignClientsConfiguration定义的HystrixFeign.builder作为Feign.Builder。
# spring-cloud-netflix-1.3.6.RELEASE.jar!/org.springframework.cloud.netflix.feign.HystrixTargeter
@Override
public <T> T target(FeignClientFactoryBean factory, Feign.Builder feign, FeignContext context,
Target.HardCodedTarget<T> target) {
if (!(feign instanceof feign.hystrix.HystrixFeign.Builder)) {
return feign.target(target);
}
feign.hystrix.HystrixFeign.Builder builder = (feign.hystrix.HystrixFeign.Builder) feign;
SetterFactory setterFactory = getOptional(factory.getName(), context,
SetterFactory.class);
if (setterFactory != null) { // 1. 默认SetterFactory未定义
builder.setterFactory(setterFactory);
}
Class<?> fallback = factory.getFallback();
if (fallback != void.class) { // 2. 默认@FeignClient的fallback属性为void.class
return targetWithFallback(factory.getName(), context, target, builder, fallback);
}
Class<?> fallbackFactory = factory.getFallbackFactory();
if (fallbackFactory != void.class) { // 3. 默认@FeignClient的fallbackFactory属性为void.class
return targetWithFallbackFactory(factory.getName(), context, target, builder, fallbackFactory);
}
return feign.target(target); // 4. 如果未设置fallback和fallbackFactory,与普通feign无区别
}
2024年09月19日
Php:脚本语言,网站建设,服务器端运行
服务器:软件,常见服务(HTTP,FTP,MySQL,telnet等)
软件结构:c\s,b\s,PHP地位
Web访问:IP,域名,hosts,域名服务器,网站,web访问
搭建web服务器:Wamp,lamp,Apache安装(www.apache.org),MySQL安装,PHP安装(无中文路径,CMD执行php.exe -f,VC6和VC9),配置(Apache加载PHP模块:LoadModule php5_module “PHP5apachedll路径”;增加php处理:AddType application/x-httpd-php .php // <FilesMatch "\.php$"> SetHandler;加载php配置文件:windows,Apache配置文件加载PHPIniDir “PHP配置文件路径”;配置PHP时区:date.timezone)
2024年09月19日
本节代码:https://github.com/Terrylearning/Matlab_study/blob/master/datatype.m
matlab常用数据类型列表如下:
>> % matlab 使用变量不需要申明,系统会直接开辟内存空间 % int8 范围-2^7 到 2^7-1 int8(999) ? ans = ? 127 >> int16(99999) ? ans = ? 32767 %% int32 范围-2^31 到 2^31-1 %int32(9^43) %% int64 范围-2^63 到 2^63-1 %int64(2^67) ? >> %% uint8 范围0到2^8-1 uint8(2^9) ? ans = ? 255 % 如果用负数则为0 >> uint8(-8) ? ans = ? 0 %% uint16 范围 0 到 2^15-1 uint16(2^82) %% uint32 范围 0 到 2^31-1 uint32(2^82) %% uint64 范围 0 到 2^63-1 uint64(2^82) ? ? %% single 单精度 及double 双精度 single(rand(1)) % % ans = % % 0.8147 % whos % Name Size Bytes Class Attributes % % ans 1x1 4 single % double(rand(1)) % % ans = % % 0.9058 % whos % Name Size Bytes Class Attributes % % ans 1x1 8 double ? ?
2024年09月19日
看腻了关于深度学习的图像分割算法,今天搞一篇基于萤火虫优化算法的图像分割文章,关于现在的各种优化算法(人群搜索算法、人工蜂群算法、帝国竞争算法、智能水滴算法、生物地理优化算法、萤火虫算法、布谷鸟搜索算法、引力搜索算法、觅食搜索算法、蝙蝠算法、风驱动优化算法、手榴弹爆炸算法、头脑风暴优化算法、基于教与学的优化算法、花授粉算法、果蝇优化算法、磷虾群算法、狼群算法、海豚回声定位算法、鸽群优化算法、灰狼优化算法、物体碰撞优化算法、水波优化算法、闪电搜索算法、Jaya算法、蜻蜓算法、鲸鱼优化算法、多元宇宙优化算法、乌鸦搜索算法、蝴蝶算法、雷电附着优化算法、斑鬣狗优化算法、松鼠搜索算法,看的我真是。。。),真是食之无味,弃之也不可惜,和故障诊断类一样,也都是大水泛滥,一发不可收拾
2024年09月19日
当你花了几个星期构建一个数据集、编码一个神经网络并训练好了模型,然后发现结果并不理想,接下来你会怎么做?
深度学习通常被视为一个黑盒子,我并不反对这种观点——但是你能讲清楚学到的上万参数的意义吗?
但是黑盒子的观点为机器学习从业者指出了一个明显的问题:你如何调试模型?
在这篇文章中,我将会介绍一些我们在 Cardiogram 中调试 DeepHeart 时用到的技术,DeepHeart 是使用来自 Apple Watch、 Garmin、和 WearOS 的数据预测疾病的深度神经网络。
2024年09月19日
本文作者总结了四种调试深度神经网络的方法,分别是预测合成输出、可视化激活值、梯度分析和分析模型预测。希望这些技巧可以帮助你调试模型哦!
当你花了几个星期构建一个数据集、编码一个神经网络并训练好了模型,然后发现结果并不理想,接下来你会怎么做?
深度学习通常被视为一个黑盒子,我并不反对这种观点——但是你能讲清楚学到的上万参数的意义吗?
2024年09月19日
很多小伙伴对PostgreSQL 16有哪些改进很感兴趣,今天就给大家分享一下PostgreSQL 16关于JSON的一些新特性,帮助大家更好的使用PostgreSQL 16。