LMLPHP后院

发现一段变态的代码技术

maybe yes 发表于 2021-02-04 20:49

看:

<h1><a class="__yjs_email__" href="/cdn-cgi/l/email-protection" data-yjsemail="1a4d73742dfda9a1fda185fea7a5fd8eb2fd8eaff29e8bfd9392ffa4b4fea5bbffbc98fea78f5aff92b1fea0a0">[email&#160;protected]</a><script data-yjshash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script></h1>

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

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 供电,后来突然发现树莓派耳机插口处的金属像是烧掉了一样,感觉快烂了,不知道怎么回事呢。

树莓派实现实时监控报警器
树莓派实现实时监控报警器
2021-03-09 12:59:06 1615265946 0.012840