首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

厌恶“复制粘贴”技术活,放弃年薪 200 万工作

离职原因也比较特别的,起初因为厌倦「复制粘贴」技术活,然后想在内部转岗成项目经理职位,但很可惜没有成功,随着工作和自己兴趣方向相反,渐渐地工作积极性下降了,最后还是选择离开。...作为经历过中国五、六十年代艰苦生活一代,他们完全无法理解为什么放弃这份工作,甚至认定辜负他们为了移居美国而付出无数艰辛。不光是他们,朋友也对此深表疑惑。 “公司不是包餐吗?”...借今天文章,想跟大家聊聊自己逃离这副“金手铐”三个理由,解释为什么一年近 50 万刀薪酬还是没法让安心做这份自己不再喜欢工作。...对工具钻研精 很多初级工程师犯常见错误,就是一头扎进编码当中。他们坚持使用自己熟知工具,妄想用一套工具搞定所有状况。 然而,一旦掌握正确工具,以往需要几个礼拜工作没准能在十分钟内完成。...比如,大家都遇到过没有上下文指引就无法推进任务。例如,很多事不可能单靠自己就想明白:代码结构为什么是这样、另一个团队调用是哪个 API 以及部署机制是如何工作等。

40320

为什么同样代码就是跑起来,同事却能跑起来?

不知道小伙伴们有没有遇到过标题问题,明明同样一套代码,在自己本地就是运行起来,或者说在本地只改了一个无关痛痒代码,看上去人畜无害,结果就报各种乱七八糟错误,但是同事却能运行好好。...检查各种情况都没有问题,搞都要怀疑人生了。 阿粉就遇到过,特别是在刚入职场时候,有几次遇到这样问题,还差点搞起来乌龙。...好在阿粉最终明白代码是不会骗人,就像常说“Talk is cheap,show me the code”。 那么对于一些刚如职场小伙伴来说,遇到这种情况的话应该怎么处理呢?...还有一种情况就是自己本地的确实改动了部分代码,但是改动地方看上去是人畜无害,但是就是跑起来。...总结 反正跑起来肯定有原因,不是代码原因就是环境原因,一般经过上面几个方式排查,都能找到问题了,如果再不行,重新查询拉取代码库也未尝不是一个方法,当然如果实在解决不了,咨询前辈也是一个很有效方法。

1.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

2018年如何快速学Java

,在学习该项技术细节之前都得知道:这项技术是什么,为什么要学习这项技术,学习这项技术有什么好处。...只是在混群时候发现有人发了,就复制下来整理一下罢了。...异常 多线程 网络编程 反射机制 (你得知道这个知识点是干嘛用为什么要学这个知识点,能看懂具体代码!)...): BootStrap:http://www.bootcss.com/ Materialize:http://www.materializecss.cn/ 到目前为止,学完上面这些可以搭建“能看”静态网页...(此部分学习可以等到将项目写完,想要部署项目才学习) 推荐使用虚拟机再搞Linux,直接买一台方便很多 如果是学生的话,一个月学生版也就10块一个月。

85710

构建离线web应用(一)

事实上,PWA 不仅解决离线错误,还在恢复连接时候将用户与内容连接起来。移动设备是渐进式 web 应用主要使用场景。让来告诉你为什么?...App Shell 是指包含动态内容一部分应用程序。例如导航菜单、侧边栏、背景、logo 等等。...优化 想法是,如果 PWA(或者 service workers)技术成熟并且被大规模应用的话,为什么节省掉: 前往应用商店 下载并不常用 app 呢?...注册 Service Worker 越早在浏览器注册,Service Worker 就能越早开始工作。最佳做法是在应用入口。...Debuggering Service Workers 由于 service workers 工作方式,特别是进行缓存时,不是很容易进行 debugger 调试。

1.6K100

MySQL优化器和SemiJoin优化

从上面的结构可以看到,转化是支持多列。 2.2 为什么可以转化: 当执行如下SQL时,也是先遍历雇员表,然后在部门表里查找是否匹配。实际上和上面SemiJoin语义是一致,结果也一样。...另外即使是UNION ALL,如果t2与t3存在相同记录,结果也是不正确。 3. 包含GROUP BY 或 HAVING 含有groupbySQL,转换后(即扁平化后),导致与原来语义不一致。...是索引,通过按索引顺序遍历,发现已经是分组。...Materialize: 假如不是相关子查询,可以先物化内表为一个临时表,由于该临时表在条件字段上采用了索引,保证唯一性(即消除了重复字段),SemiJoin结果就和innerJoin相同。...阅读 分享 在看 已同步到看一看 取消 发送 知道 朋友会在“发现-看一看”看到你“在看”内容 确定 ?

2.5K81

审阅“史上”最烂代码

不要误会意思,这些代码即使是运行在服务器端也很糟糕,在客户端上运行这些代码会将你数据库暴露给……每个人。...当然,这只是一个小问题,但它表明开发人员并不真正关心和理解代码工作方式,只是希望代码以某种方式工作。...大家不要误会,每天都会在 Google 上进行搜索,但比起仅仅复制和粘贴代码来实现功能,理解代码工作原理——比如理解如何设置 Cookie,实际上更为重要。如果由于某种原因整个进程中断了怎么办?...users" ); 即使使用同步方式调用apiService.sql返回查询值(对此表示怀疑),在内部也必须进行与数据库连接、执行查询语句并发送返回查询结果,这些过程(你可能已经知道)明显是不同步...但是,即使上面的代码不是伪造也可以确信它是由初级开发人员编写刚刚开始入行写代码一段时间里,很确定自己为之前公司也写过这么糟糕代码。 这个锅不能甩给初级开发人员。

61130

CBO规则下优化器还是要按规则办事

如果把上面索引里面的desc去掉, 就可以正常使用索引....其实最好方法就是创建object_id 字段上普通索引, 不要加desc, 不用与0做联合, 也不需要modify object_id not null(谓词条件已经有), 这个观点我在以前文章...因为tmp被使用了两次, 被优化器自动做了materialize, 不能使用object_id字段上索引, 效率很差....这个SQL写法, 如果要达到最佳性能, 就不能让tmp做materialize, 通过加inline hint实现: with tmp as (select /*+ inline */* from...上面两个案例认为优化器应该能够做出最好选择, 实际并不如我们想象那么美好. oracle数据库有公认最强大优化器, 强大如此, 也有一些可以改进地方. oracle 优化器是CBO (costed

36330

clickhouse同步mysql数据_clickhouse查询

大家好,是架构君,一个会写代码吟诗架构师。今天说一说clickhouse同步mysql数据_clickhouse查询,希望能够帮助大家进步!!!...ClickHouse 服务做为 MySQL 副本,读取 Binlog 并执行 DDL 和 DML 请求,实现基于 MySQL Binlog 机制业务数据库实时同步功能。...查询 如果在 SELECT 查询中没有指定_version,则使用 FINAL 修饰符,返回_version 最大值对应数据,即最新版本数据; 如果在 SELECT 查询中没有指定_sign...,必须要有主键字段 4、开启 ClickHouse 物化引擎 在clickhouseshell客户端窗口,执行下面的命令 此代码由Java架构师必看网-架构君整理 set allow_experimental_database_materialize_mysql...语句出来结果中展示而已,同时,通过后面的version字段可以发现,每次对数据操作一次,version字段会不断递增

5.1K30

GaussDB(for MySQL) HTAP VS ClickHouse对比测试

其具备以下特点: 本身产生数据,其基础数据来源于生产系统中操作数据。 基于查询分析系统,复杂查询经常使用多表联结、全表扫描等,牵涉数量往往十分庞大。...每次查询设计数据量很大,响应时间与具体查询有很大关系。 用户数量相对较小,其用户主要是业务人员与管理人员。 由于业务问题固定,数据库各种操作不能完全基于索引进行。...即使是在硬件配置是GaussDB(for MySQL)只读分析实例2倍情况下,自建ClickHouse同步3.3亿数据所需要时间是GaussDB(for MySQL)只读分析实例2倍。...GaussDB(for MySQL)只读分析具备良好复制链路监控,能够检测复制链路状态。且在全量复制过程中,如果遭遇MySQL重启,支持断开重连。...我们视频号里已经发布很多有趣内容,精彩活动也将在这里直播,快快关注吧!

1.3K10

记一个Enq: ss - contention性能问题处理

客户运维DBA同时提供一个受影响业务SQL,并收集了sqlhc(SSC客户都养成了这个好习惯),经过简单分析,发现这个问题从SQL优化角度来解决效果会更佳。...对应SQL,代码如下: WITH TMP_RESULT AS (SELECT A.ACCT_ID, A.PRD_INST_ID,A.OFR_ID, A.FEE_TYPE,A.ACCT_ITEM_TYPE_ID...我们来分析一下这个SQL为什么会使用CTE:因为SQL用到一个view:V_DAT_M_21,这个view是从db link获取数据,这个步骤消耗时间最长,使用CTEmaterialize就是为了避免这个...分析到这里,我们又多了一个解决方案:用/*+ inline */hint ,告诉优化器不要做materialize,这样就避免了临时表生成和临时表空间使用,执行时间可能由1秒提高到2秒,但是也远比20...这个操作可以通过sql profile实现,不需要修改SQL代码

78410

Go 问答汇总三

查看我回答吧! beego 缓存如何转结构体呢? beego 中缓存存储与获取问题,很简单,没什么好说! go语言里select监听到底是怎么工作?...问题核心不在于 select 工作机制,而是关于 Go 中 timer 定时器使用问题。以下是问题核心代码。...在golang设计里,为什么不能用switch实现select功能?...主要是场景决定吧,channel 监听有点类似于异步 IO 多路复用,select 可以说是多路复用专用名字,switch 是分支结构,硬要加上其他功能,也不便于理解,感觉是,独立出一个新关键字会更好理解...当然,回答中也介绍正则实现,不过代码可读性看起来比较差。

42620

SQL练习之破坏应用程序现有查询修改模式

当我还是一个菜鸟时候,当然现在也是,当我软件需求发生变化时,并且数据库设计同样要求发生变化,通常会放弃原有的代码(或者对原有的代码进行大改),先在知道两个破坏应用程序现有查询修改模式...: SELECT * FROM Equipment image.png 1、通过修改表方式完成破坏应用程序现有查询修改模式  代码如下: ALTER TABLE Equipment ADD Office...这个时候,在表中添加一个新列Office,并且将现在设备表中每一行数据都被赋值给现在办公室。...可以看到,即使表以及被修改,还能是原先查询正常工作,但是他们会返回来自两个办公数数据,即使我们只希望返回一个办公室数据!...2、第二种模式通过代替表视图来完成破坏应用程序现有查询修改模式 另一种方式是把现有的设备数据复制到新设计设备表中,然后将新表中每一行数据都归为老办公室,如果设备有移动,那就做相应数据更改,

78490

GreatSQL 优化技巧:将 MINUS 改写为标量子查询

这两天优化工作中遇到这样一种案例,第一个SQL语句结果集很小,第二个SQL语句结果集很大,这种情况下我们怎么来优化处理呢?...(实际生产案例中表中数据有几千万) 注意下面的存储过程中,是GreatSQL在Oracle模式下创建,GreatSQL实现大量Oracle语法兼容,比如下面存储过程中遇到日期加减,add_months...函数,while loop循环等,数据库由Oracle向GreatSQL迁移时,会节省很多代码改造工作。...根据这个逻辑想到了标量子查询妙用。...提醒一点,注意NULL值比较,当select 列表中部分列存在NULL值时就不能直接用等号(=)关联来判断了,得用is NULL来判断,本案例涉及此问题,语句是否等价有时需要结合业务,具体情况具体分析

9010
领券