LMLPHP后院

编程语言,其实不需要那么复杂技术

maybe yes 发表于 2021-02-01 20:56

自古以来,国人都注重根本,有钱人,海外归来寻根,建祠堂。所以,根是万物之本,学习也是一样,外表的花里胡哨,见好就收。学习要学基础,学底层。

为什么重量级别的项目都是用 C 语言来写的?因为语言级别的东西真的不需要那么的复杂,复杂的结果就是:哪怕你用尽全身力气,写出覆盖 100% 的测试代码,有很多隐蔽性的逻辑错误甚至是数据错位你是测试不出来的,这些罪魁祸首就是编程语言本身太过于复杂导致,搞出那么多的花样做什么?作死的节奏啊。

面对招聘的奇葩要求,大部分程序员也就浪费在 上层 编程语言的新特性上了,呜呼哀哉!

为什么不用 C 语言来开发应用级别的代码?不是不可以,是很多开发人员的积累不够导致的恶性循环,积累足够的大牛根本不需要用 C 语言之外的其他语言来做。

PHP 0=='UNSET'? 刷新你的三观技术

maybe yes 发表于 2021-01-31 08:37

这是一个老生常谈的问题,朋友和我聊天聊到这样一个问题,作为一个面试官,你也许一定要用这个去做一个对候选人参考。

朋友在面试新晋程序员的时候,发现十多个候选人竟然没有一个人做对了,也是醉了,可见,技术来源于实践,没有实践的认识不敏感,不牢靠,最后朋友还是录用了一个小姑娘,说团队男人太多,来点温柔的福利比较好,我呵呵,管理是门大学问,团队建设要小心为妙。

lindeMacBook-Pro:l lin$ php -v
PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
lindeMacBook-Pro:l lin$ php -r "var_dump(0==='UNSET');"
bool(false)
lindeMacBook-Pro:l lin$ php -r "var_dump(0=='UNSET');"
bool(true)


pi@raspberrypi:l $ php -v
PHP 7.3.19-1~deb10u1 (cli) (built: Jul  5 2020 06:46:45) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.19, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.19-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies
pi@raspberrypi:l $ php -r "var_dump(0==='UNSET');"
bool(false)
pi@raspberrypi:l $ php -r "var_dump(0=='UNSET');"
bool(true)


lindeMacBook-Pro:l lin$ php -r "var_dump(0=='UNSET');"
bool(true)
lindeMacBook-Pro:l lin$ php -r "var_dump('UNSET');"
string(5) "UNSET"
lindeMacBook-Pro:l lin$ php -r "var_dump('unset');"
string(5) "unset"
lindeMacBook-Pro:l lin$ php -r "var_dump('unset'==0);"
bool(true)

MySQL update where in 子查询导致锁表技术

maybe yes 发表于 2021-01-25 03:57

说实话,我第一次碰都这样的报错,因为我在 update 语句的条件里面使用了子查询,我以为执行会很快,因为子查询我试过,就一两秒的事情,数据也没多少个,90 来条数据,修改的条件是主键 ID,整个 SQL 执行下来我以为也就两秒,谁知道,执行了第一次,发现卡住了,于是 Ctrl+c 终止了,以为是网络问题,于是又重试了一次,还是不对了,于是远程删除了进程。

到此,我以为进程也清理了,应该没事了,结果到了凌晨,报错了,查询数据库,原来是锁住了。

给大家看看我的报错堆栈,不算深,给大家看看而已,这个不是最深的。去掉了一些路径:

[ 2021-01-25T01:44:58+08:00 ] /index/script/job, LmlException: HY000
1205                                                                                                                                                                                   
Lock wait timeout exceeded; try restarting transaction in MysqlPdoEnhance.php:109
Stack trace:
#0 MysqlPdoEnhance.php(153): MysqlPdoEnhance->query('UPDATE _s...', Array)
#1 Model.php(39): MysqlPdoEnhance->update('_s...', Array, 'id=123584', Array)
#2 spider.php(908): Model->update(Array, 'id=123584')
#3 job.php(26): Job->{closure}(20)
#4 job.php(28): {closure}() 
#5 [internal function]: {closure}()
#6 job.php(293): Generator->next()
#7 job.php(302): Job->start()
#8 LmlBase.php(53): include('lmlphp...')
#9 LmlBase.php(39): LmlBase->fetch('lmlphp...')
#10 Index.php(22): LmlBase->display('', '/job.php')
#11 [internal function]: Index->script()
#12 lml.min.php(1): ReflectionMethod->invoke(Object(Index))
#13 index.php(134): LmlApp->run(true)
#14 {main}

树莓派实现实时监控报警器技术

maybe yes 发表于 2021-01-25 03:56

声音报警其实比起什么短信邮件报警要好很多,比如你在公司工作,一台服务器出了问题,直接声音报警更及时可靠啊。所以就有了这篇文章。

我们来说说具体实现吧。

我开始了解到树莓派有很多的开发配件,看到一些发声设备,什么有源发声器和无源发声器等等。

但是,我后来发现树莓派是有 3.5mm analog 耳机孔的,为了更加简单,我想,能不能直接使用小喇叭,让耳机孔直接驱动其发声呢。发现是可以的,就是声音比较小,于是淘宝一搜索,真的有这样的东西在卖,于是买了一个。

买来之后,发现可以用,使用 vlc 将声音调到最大,发现还是小的可怜,且没有音质可言,感觉很奇葩的产品。于是乎,我使用起了我以前台式机使用的两个喇叭做为报警器,结果发现树莓派自带的 USB 不能供电,一供电就声音噪声特别大,还得另外 USB 供电,后来突然发现树莓派耳机插口处的金属像是烧掉了一样,感觉快烂了,不知道怎么回事呢。

树莓派实现实时监控报警器
树莓派实现实时监控报警器

WIFI Mesh 路由是什么垃圾玩意儿技术

maybe yes 发表于 2021-01-14 12:34

Mesh 路由和中继有什么区别,?好像没有区别。

入坑 Mesh 路由,真想骂,这是什么垃圾玩意儿,跟中继有什么区别?在小米 WiFi APP 里面显示的就是中继路由接人。

买了小米 AX3600 和 Redmi AX6,都是 WIFI6 路由器,可以 Mesh 组网,结果...

端口转发功能不可用

端口转发所有功能全部失效,只要是靠近 Mesh 路由节点的。

这样的产品设计 和 bug 官方竟然浑然不知?这都做不到?如何做到 WIFI 无缝切换?

节点路由插网线导致在 WIFI 连接列表里面不显示

这样叫人怎么管理呢,还不如 WIFI 放大器。

Mesh 路由 和 蓝牙 Mesh 一样,是个智商税炒作的概念,这产品设计也太妈操蛋了吧,什么玩意儿,当今社会很难出一个质量还不错的产品,大部分产品都只是外表看的过去,里面糟透了。

2021-04-20 03:11:54 1618859514 0.009672