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

公司停电,竟然让员工手写代码......不能耽误进度!!

本次大停电重创台湾众多的半导体、光电、苹果供应链、石化、钢铁等相关厂商,估计损失恐高达上百亿元新台币。 停电期间,还发生了一件非常奇葩的事情,一家软件开发公司居然让程序员用纸笔手工写代码。...台湾一公司停电时 竟让员工手写代码:不能耽误进度 从网传图片看,在办公室内,至少有6名员工,都在各自工位上,用手机闪光灯照亮,埋头用纸笔撰写代码。...在没有IDE等开发工具辅助的情况下,是不是怎么开始都不知道?这还是很有难度的吧,有空要补补基础知识,万一突然停电,拿起笔还能继续写,哈哈。 一员工身旁,还站着一位疑似负责人在盯着看。...至于为何这么做,该公司一位工作人员称:“没办法,不能因为停电影响工期。” 台湾一公司停电时 竟让员工手写代码:不能耽误进度 最后,问一句:如果让你用纸笔手写代码,你还能写出来吗?...别再写爆爆爆炸类,试试装饰器模式! 程序员精通各种技术体系,45岁求职难! Spring Boot 3.0 M1 发布,正式弃用 Java 8 Spring Boot 学习笔记,这个太全

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

    MySQL 死锁,怎么办?

    所以在线上千万不要执行没有带索引条件的 update 语句,不然会造成业务停滞,我有个读者就因为干了这个事情,然后被老板教育一波,详细可以看这篇「完蛋,公司被一条 update 语句干趴!」...# 事务 A mysql> begin; Query OK, 0 rows affected (0.01 sec) mysql> select * from t_order where order_no...因为如果不添加间隙锁的话,会让唯一二级索引中出现多条唯一二级索引列值相同的记录,这就违背 UNIQUE 的约束。...下面举个唯一二级索引冲突的例子,MySQL 8.0 版本,事务隔离级别为可重复读(默认隔离级别)。...---- 参考资料: 《MySQL 是怎样运行的?》 http://mysql.taobao.org/monthly/2020/09/06/ ---- 最后说个段子: 面试官: 解释下什么是死锁?

    1.5K20

    MySQL - 删库,但是很慢

    mysql 上执行了一句 drop database 半天没有完成,详细的慢查询日志如下,那当时MySQL 在做什么呢?...如果我们从 linux 内核层面看,还是可以发现 mysql 这个时候在执行哪些函数的;从而达到更加细粒度的确认 MySQL 在做什么,进而回答 drop database 为什么慢。...可以看到在删库时调用的是 mysql_rm_db 这个函数,而这个函数又调用了 mysql_rm_table_no_locks 函数,mysql_rm_table_no_locks 会去清理数据字典。...前面的操作都还比较轻,耗时主要应该是花在删除磁盘文件上。...和当事人确认后得知他这个库里面,数据量并不大(不会超过 1GB);但是表特别多,一个逻辑表对应着 10000 个物理表,一套业务走下来,导致这个库里面有几十万个表,这个也就是 drop database 慢的原因

    2.4K20

    MySQL 表分区?涨知识

    %'; 命令来查看: 我们进入到这个目录下,就可以看到我们定义的所有数据库,一个数据库就是一个文件夹,一个库中,有其对应的表的信息,如下: 在 MySQL 中,如果存储引擎是 MyISAM,那么在...为了解决这个问题,我们可以利用 MySQL 的分区功能,在物理上将这一张表对应的文件,分割成许多小块,如此,当我们查找一条数据时,就不用在某一个文件中进行整个遍历,我们只需要知道这条数据位于哪一个数据块...2.2 垂直切分 先来一张简单的示意图,大家感受一下垂直切分: 所谓的垂直切分就是拿着我 40 米大刀,对准黑色的线条砍。.../test08 文件夹中,来看刚刚创建的表文件: 可以看到,此时的数据文件分为好几个。...举个例子大家看下就明白: 假设我有一个用户表,用户有性别,现在想按照性别将用户分开存储,男性存储在一个分区中,女性存储在一个分区中,SQL 如下: create  table  user(   id

    5.1K20

    MYSQL 8 MySQL DBA 也该学学复杂查询

    MYSQL 一直被diss的就是数据分析尤其在窗口函数这一块,相对于O , S , P三个数据库,MYSQL在这方面基本上属于空白。MYSQL 8 的到来后,这方面也有改变。...在别的数据库上有的专门的课程 T-SQL, PLPGSQL, PLSQL等等,也是否有可能在MYSQL上,随着MYSQL8的使用,出现 M- SQL。...这样的操作在MYSQL 5.7中如果要操作的话,这是达到同样结果的写法,在MySQL 5.7 但实际上有些查询在MYSQL5.7是不能进行的。...下面这个语句的意思是,根据员工的工资进行一个排序根据每个员工的工号作为一个排序的partition by ,从这里可以看到每个员工的随着在公司工作的年限,越长,工资的涨幅和总数都是一个向上的过程,这样的复杂操作如果在MYSQL...下面这个SQL 就是相关的完成上面的工作的,如果在MYSQL上完成类似的语句,不使用这样的窗口函数,在 事实上这些也只是窗口函数的冰山一角,以上也仅仅是抛砖引玉,需要学习的东西还很多。

    92310

    MySQL 8】MySQL 5.7即将停止维护,是时候看看MySQL 8

    MySQL 8新特性 选择MySQL 8的背景:MySQL 5.6已经停止版本更新,对于 MySQL 5.7 版本,其将于 2023年 10月31日 停止支持。后续官方将不再进行后续的代码维护。...:https://www.mysql.com/why-mysql/benchmarks/mysql/ 除了高性能之外,MySQL 8还新增很多功能,我找了几个比较有特点的新特性,在这里总结一下。...当最有效的扫描顺序混合某些列的升序和其他列的降序时,降序索引还使优化器可以使用多列索引。...「函数索引的实现原理:」 函数索引在MySQL中相当于新增一个列,这个列会根据函数来进行计算结果,然后使用函数索引的时候就会用这个计算后的列作为索引,其实就是增加了一个虚拟的列,然后根据虚拟的列进行查询...这里不多做举例(有没有一种可能是作者太懒?),官方文档上面那是相当的详细!

    3.2K10

    MySQL 5.7都即将停只维护,是时候学习一波MySQL 8

    MySQL 8新特性选择MySQL 8的背景:MySQL 5.6已经停止版本更新,对于 MySQL 5.7 版本,其将于 2023年 10月31日 停止支持。后续官方将不再进行后续的代码维护。...…除了高性能之外,MySQL 8还新增很多功能,我找了几个比较有特点的新特性,在这里总结一下。...当最有效的扫描顺序混合某些列的升序和其他列的降序时,降序索引还使优化器可以使用多列索引。...函数索引的实现原理:函数索引在MySQL中相当于新增一个列,这个列会根据函数来进行计算结果,然后使用函数索引的时候就会用这个计算后的列作为索引,其实就是增加了一个虚拟的列,然后根据虚拟的列进行查询,从而达到利用索引的目的...这里不多做举例(有没有一种可能是作者太懒?),官方文档上面那是相当的详细!

    58750

    MySQL 的 join 功能弱爆

    关于MySQL 的 join,大家一定了解过很多它的“轶事趣闻”,比如两表 join 要小表驱动大表,阿里开发者规范禁止三张表以上的 join 操作,MySQL 的 join 功能弱爆等等。...本篇文章的主角是 MySQL,下文没有特别说明的话,就是以 MySQL 的 join 为主语。...这也导致整个过程的时间复杂度编程 N * M,这是不可接受的。所以,当没有索引时,MySQL 使用 Block Nested-Loop Join 算法。...5次 这个流程体现该算法名称中 Block 的由来,分块去执行 join 操作。...可惜这两个算法 MySQL 的主流版本中目前都不提供,而 Oracle ,PostgreSQL 和 Spark 则都支持,这也是网上吐槽 MySQL 弱爆的原因(MySQL 8.0 版本支持 Hash

    77720

    MySQL 的 join 功能弱爆

    关于MySQL 的 join,大家一定了解过很多它的“轶事趣闻”,比如两表 join 要小表驱动大表,阿里开发者规范禁止三张表以上的 join 操作,MySQL 的 join 功能弱爆等等。...本篇文章的主角是 MySQL,下文没有特别说明的话,就是以 MySQL 的 join 为主语。...这也导致整个过程的时间复杂度编程 N * M,这是不可接受的。所以,当没有索引时,MySQL 使用 Block Nested-Loop Join 算法。...5次 这个流程体现该算法名称中 Block 的由来,分块去执行 join 操作。...可惜这两个算法 MySQL 的主流版本中目前都不提供,而 Oracle ,PostgreSQL 和 Spark 则都支持,这也是网上吐槽 MySQL 弱爆的原因(MySQL 8.0 版本支持 Hash

    1K00

    MYSQL 8.0 终于拥有prepare 功能

    MYSQL 8.022 有prepare 功能,prepare 功能是ORACLE 和 PG 都拥有和在很多应用场景都使用的功能。...主要的作用为 1 在SQL 语句中可以通过变量将值传递给语句 2 执行计划在变量为赋值前就已经做好 3 执行计划在prepare 后执行计划就固定 总结prepare的主要作用: 减少每次执行语句时解析语句的开销...MYSQL 属于弥补之前功能的不足。 MYSQL 提供客户端编程接口可以使用包括 C ,Java, NET 等程序的接口在程序中调用相关的函数来使用预编译API语句的功能。..., 而如果将变量设置为表名的话,那么这个功能的意义在哪里,每次还是必须要进行执行计划的初始,这就丧失prepare的整体意义,属于没有理解这个功能的意义。...mysql 在8.0 提出的新的prepare功能本身是基于其他数据库已有的功能进行的功能补充和添加,为拉平MYSQL与其他主流数据库在这方面的功能短板,不过也说明MYSQL 正在变得越来越好。

    1K20

    MySQL不要再用utf8

    解决方案 修改数据库编码、系统编码以及表字段的编码格式为utf8mb4: 修改之后再次执行SQL语句,就可以执行成功: 字符字节 再插入一些数据: INSERT INTO user_info (...MySQL的Bug 这个问题本质上是MySQL一直没有修复的Bug,官方在2010年发布一个叫utf8mb4的字符集,从而巧妙地绕开这个问题。...历史问题分析 为什么MySQL中的utf8不是真正的UTF-8? 或许从MySQL的更新日志中可以找到答案。...旧版的UTF-8标准RFC2279最多支持每个字符6个字节,MySQL开发者在2002年3月28日MySQL4.1预览版中使用了RFC2279标准。...不过很显然,在这个不合法的字符集发布之后,MySQL就无法修复它,因为这样需要要求所有的用户重构他们的数据库,所以MySQL中utf8还是最多支持3个字节,最终,MySQL在2010年发布utf8mb4

    2K20
    领券