首页
关于
Search
1
SteamOS安装paru和yay
170 阅读
2
欢迎使用 Typecho
127 阅读
3
徕卡X | 冬日漫步
127 阅读
4
https自动跳转问题终极解决方案
116 阅读
5
Spark3中的Catalog组件设计
104 阅读
默认
摄影
后端开发
大数据
Spark
Flink
登录
Search
标签搜索
转载
ArlenDu
累计撰写
18
篇文章
累计收到
10
条评论
首页
栏目
默认
摄影
后端开发
大数据
Spark
Flink
页面
关于
搜索到
2
篇与
的结果
2024-01-17
<转载>关于做好技术团队管理的几点心得
技术Leader核心工作是让团队拿更好的成绩,日常工作主要是制定方案、推进业务、掌控下属、协助领导等四项内容,本次分享主要分享最基础也是最重要的管理职责:调动团队同学的工作积极性让团队同学更高更快的成长1、如何调动团队同学的工作积极性?精确的指示。需要更强调为什么做和这么做的意义,没有计划和目的的命令无法为下属提供工作的动力。举例:有个业务需要节省成本,需要要“查询性能提升2倍”。身为主管,自然不能直接告诉下属“查询性能提升2倍”。主管要做的是,考虑怎样才能使性能提升2倍,再用具体的语言指挥下属行动起来。工作边界要清晰了解下属的能力和意愿根据下属能力进行分工,整体分工需要张弛有度,有能提升硬实力的工作也有易产出有亮眼的工作针对个体而言,重点在于提升能力和个人意愿针对个体间而言,在于加强分工和协作,分工要有边界主管的行为一般有:授权型、参与型、说服型、命令型;根据下属不同性格要有不同的行为激情会传染。做主管的必须先激情四射,然后才能点燃下属们的激情要掌控业务全貌技术上能搞事情。能搞定别人解不了的事情,团队影响力越高,团队同学认同感和参与感越强;多思考技术和未来团队发展的事情提升下属对你的信任度有一技之长。技术leader某一块技术能力要做到团队最好,影响信服度能让对方感受到你是真实的帮助其成长,需要更多换位思考利用好团建和聚餐场合2、如何让团队同学更高更快的成长?推 - 给予压力,推动他们学。比如提出明确的学习机制、工作要求,核心点在于给其一些压力,让其知道这个会影响其未来发展拉 - 指明方向,引导他们学。核心点是让他们知道学习什么放 - 给予空间,让他们自主学。主要针对应届生或者实习生,前几个月不用关心产出,只看他们能否有成长,容忍犯错误给予改正空间利用”皮格马利翁效应”。适当的场合适合的夸奖,潜意识会认为自己优秀举例:如夸某个同学这个项目从调研到实施到落地都做的比较不错,慢慢的学会如何做事情了,视野也打开了,后面想要提升我建议可以读XX书,看XX教程,写XX文章,我也会帮助宣传等等提升技术品味。对团队管理者来说要提升自己的技术品味,这会影响团队的技术氛围和团队成长提高团队同学的影响力和存在感团队有正确的做事方式计划(PLAN) -> 执行(DO)-> 检查(CHECK)-> 纠正(ACTION)一句话概括:管理本身就是需要把自己的能力教给下面的同学,然后自己去提升新的能力、并不断的跟团队同学能力进行互补的一个过程。来源:https://mp.weixin.qq.com/s/AJxGDsGoZNFDNFVluKhtBA?version=4.1.20.6006&platform=win
2024年01月17日
100 阅读
2 评论
0 点赞
2024-01-10
<转载>解决jar包冲突新思路 - maven-shade-plugin
转载自知乎专栏:https://zhuanlan.zhihu.com/p/62796806前言:发生jar包冲突通常是因为,项目中依赖了同一个jar包的多个版本。一般的思路是只保留一个版本,删除掉不需要的版本。最近遇到了一个下图这样的例子:排掉d1的话a会报错,排掉d2的话b会报错,所以希望在项目中同时使用d1和d2。最开始同事说可以用maven-shade-plugin这个插件实现这个需求的时候,我的内心是这样的:后来听他解释完以后才恍然大悟,感觉世界观再一次被刷新了,居然还有这种操作。。。下面就简单描述一下具体怎么用shade插件解决这个问题的吧。正文:首先介绍一下具体测试代码: (下载链接:package-test)与前言中的图相对应,项目总共分3个模块:a\b\c,其中a和b分别依赖了guava的19.0(d1)和26.0.jre(d2),然后c同时引用了a和b。其中guava的两个版本有下边两个不兼容的方法,用来测试:public static Objects.ToStringHelper toStringHelper(Object self) { //该方法 19.0有,26.0.jre没有}public static String lenientFormat(@Nullable String template, @Nullable Object @Nullable... args) { //该方法 19.0没有,26.0.jre有}直接执行com.zhaohui.C的main方法,会报如下错误:Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Strings.lenientFormat(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;接下来就介绍一下解决问题的工具maven-shade-plugin。(源码地址:github) 这里使用3.2.1的tag。为了更简单的了解maven-shade-plugin这个插件到底做了什么,可以直接打断点调试一下,跟着源码走一遍打包流程。首先,下载源码,然后添加到package-test的module中,具体操作如下图:然后package-test-c项目的pom文件增加这个插件:<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.zhaohui.C</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins>mvn插件的代码入口是@Mojo注解类的execute方法,在该方法入口(org.apache.maven.plugins.shade.mojo.ShadeMojo line385)打个断点,如下图:最后一步按照下图操作:增加一个run/debug configuration 最后点击debug按钮就可以调试了。具体生成jar包的代码org.apache.maven.plugins.shade.DefaultShader line151 shadeJars方法。打断点发现,打包的时候,解析pom文件总共获取了4个jar包,其中guava只有19.0,没有26.0.jre,所以执行的时候才会报错找不到26.0.jre中的方法。调试中,在org.apache.maven.plugins.shade.DefaultShader line539 有下面代码:sourceContent = relocator.applyToSourceContent( sourceContent );这个relocator会在打包过程中,修改类的包名。这个就是解决这个问题的关键。具体解决思路如下图:在项目中新增一个模块b-shade,里边什么代码都没有,只有一个dependency b,然后配置maven-shade-plugin 如下: <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <relocations> <relocation> <pattern>com.google.common</pattern> <shadedPattern>zhaohui.com.google.common</shadedPattern> </relocation> </relocations> </configuration> </execution> </executions> </plugin> </plugins> </build>要求b-shade使用maven-shade-plugin打包,同时打包的时候规定将com.google.common包名改为zhaohui.com.google.common。然后在c的pom文件中删除b的依赖,改为依赖b-shade.然后在根目录执行mvn package。最后,在c的target目录中执行java -jar package-test-c-1.0-SNAPSHOT.jar,输出如下:开始执行A的代码Object{test=test}A的代码,执行完了,没报错开始执行A的代码 [java.lang.Object@330bedb4]B的代码,执行完了,没报错这样问题就圆满解决了。最后的最后,使用luyten-0.5.3打开package-test-c-1.0-SNAPSHOT.jar,发现b中的import语句已经被修改为import zhaohui.com.google.common.base.*;总结:我只想说:新技能get√最后,让我们保持独立思考,不卑不亢。长成自己想要的样子! (引用自 我非常喜欢的B站up主 ”独立菌儿“->猛戳链接<-的口头禅)
2024年01月10日
53 阅读
0 评论
0 点赞