Help
RSS
API
Feed
Maltego
Contact
Domain > www.blogfoon.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2015-03-08
200.58.112.188
(
ClassC
)
2024-10-24
104.21.45.157
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Thu, 24 Oct 2024 05:44:32 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveVary: Accept-EncodingVary: Accept-EncodingAccess-Control-Allow-Origin: *expires: Tue, 15 Oct 2024 11:13:19 GMTCache-Control: max-age600Cache-Control: no-cachex-proxy-cache: MISSX-GitHub-Request-Id: B4C1:2F7F76:350FECB:369B66D:670E4BF7Age: 403Via: 1.1 varnishX-Served-By: cache-fra-eddf8230039-FRAX-Cache: HITX-Cache-Hits: 0X-Timer: S1729748673.635234,VS0,VE1X-Fastly-Request-ID: 5ebe3b935e7a65c8e221767e94023b071e6539b4cf-cache-status: DYNAMICReport-To: {endpoints:{url:https:\/\/a.nel.cloudflare.com\/report\/v4?sq3opBB%2FQVP6ZwzBYk0xE6%2B8ah8VFG4Cx4FHq5%2B7jXvAWWzsAyd%2FBtuq0UG%2Fu%2BL9WRXrL0l5%2BRliZKFmi7gR%2BXWUZTSrxxRTZYw5thJ%2BaovONUn3L9hC8daznG9xbZNvLLhHG},group:cf-nel,max_age:604800}NEL: {success_fraction:0,report_to:cf-nel,max_age:604800}Server: cloudflareCF-RAY: 8d77a7d26e09753f-SEAalt-svc: h3:443; ma86400server-timing: cfL4;desc?protoTCP&rtt24234&sent1&recv3&lost0&retrans0&sent_bytes0&recv_bytes55&delivery_rate0&cwnd249&unsent_bytes0&cid0000000000000000&ts0&x0 !DOCTYPE html>html langen>head>meta charsetutf-8>meta http-equivX-UA-Compatible contentIEedge>meta namegoogle-site-verification contentxBT4GhYoi5qRD5tr338pgPM5OWHHIDR6mNg1a3euekI />meta nameviewport contentwidthdevice-width, initial-scale1>meta namedescription content滑稽点,何晓东博客,php,mysql,linux,go>meta namekeywords contentPHP,MySQL,Linux,Go,Education>meta nametheme-color content#000000>title>Blogfoon | alpha blog/title>link relmanifest href/pwa/manifest.json>link relshortcut icon href/img/favicon.ico>link relapple-touch-icon href/img/apple-touch-icon.png>link relcanonical hrefhttp://alpha2016.github.io/>link relstylesheet href/css/bootstrap.min.css>link relstylesheet href/css/hux-blog.min.css>link relstylesheet href/css/syntax.css>link href//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css relstylesheet typetext/css>!--if lt IE 9> script srchttps://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js>/script> script srchttps://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js>/script> !endif-->script>/script>meta namereferrer contentno-referrer>script async srchttps://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?clientca-pub-0321943954037996 crossoriginanonymous>/script>/head>body ontouchstart>nav classnavbar navbar-default navbar-custom navbar-fixed-top>div classcontainer-fluid>div classnavbar-header page-scroll>button typebutton classnavbar-toggle>span classsr-only>Toggle navigation/span>span classicon-bar>/span>span classicon-bar>/span>span classicon-bar>/span>/button>a classnavbar-brand href/>alpha 的博客/a>/div>div idhuxblog_navbar>div classnavbar-collapse>ul classnav navbar-nav navbar-right>li>a href/>主页/a>/li>li>a href/about/>关于我/a>/li>li>a href/reward/>打赏/a>/li>li>a href/tags/>标签/a>/li>/ul>/div>/div>/div>/nav>script> // Drop Bootstarp low-performance Navbar // Use customize navbar with high-quality material design animation // in high-perf jank-free CSS3 implementation var $body document.body; var $toggle document.querySelector(.navbar-toggle); var $navbar document.querySelector(#huxblog_navbar); var $collapse document.querySelector(.navbar-collapse); var __HuxNav__ { close: function(){ $navbar.className ; // wait until animation end. setTimeout(function(){ // prevent frequently toggle if($navbar.className.indexOf(in) 0) { $collapse.style.height 0px } },400) }, open: function(){ $collapse.style.height auto $navbar.className + in; } } // Bind Event $toggle.addEventListener(click, function(e){ if ($navbar.className.indexOf(in) > 0) { __HuxNav__.close() }else{ __HuxNav__.open() } }) /** * Since Fastclick is used to delegate touchstart globally * to hack 300ms delay in iOS by performing a fake click, * Using e.stopPropagation to stop touchstart event from * $toggle/$collapse will break global delegation. * * Instead, we use a e.target filter to prevent handler * added to document close HuxNav. * * Also, we use click instead of touchstart as compromise */ document.addEventListener(click, function(e){ if(e.target $toggle) return; if(e.target.className icon-bar) return; __HuxNav__.close(); })/script>header classintro-header stylebackground-image: url(/img/post-bg-desk.jpg)>div classcontainer>div classrow>div classcol-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1 >div classsite-heading>h1>alpha 的博客/h1>span classsubheading>何晓东 的博客 | alpha blog/span>/div>/div>/div>/div>/header>div classcontainer>div classrow>div class col-lg-8 col-lg-offset-1 col-md-8 col-md-offset-1 col-sm-12 col-xs-12 postlist-container >div classpost-preview>a href/2023/05/04/go-%E5%8D%8F%E7%A8%8B-%E6%95%B0%E6%8D%AE%E7%AB%9E%E4%BA%89%E5%8F%8A%E5%AF%B9%E5%BA%94%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/>h2 classpost-title>go 协程,数据竞争及对应解决方法/h2>h3 classpost-subtitle>go 协程,数据竞争及对应解决方法/h3>div classpost-content-preview>场景有个查询结果集的操作,无可避免的需要在循环获取数据,然后将结果集放到 map 中,这个操作在压测的时候,没出现问题,发布到生产环境之后,开始偶现 fatal error: concurrent map read and map write 错误,导致容器重启了。原因多个协程同时对 map 进行读写操作,导致数据竞争测试环境压测未复现是因为单个 pod 常规时间只有一个 CPU,.../div>/a>p classpost-meta>author: he xiaodong date: 2023-05-04/p>/div>hr>div classpost-preview>a href/2022/12/30/MySQL-distinct-%E5%92%8C-order-by-%E6%8E%92%E5%BA%8F%E6%B7%B7%E6%B7%86%E7%9A%84%E6%9B%BF%E4%BB%A3%E6%96%B9%E6%A1%88/>h2 classpost-title>Mysql distinct 和 order by 排序混淆的替代方案/h2>div classpost-content-preview>场景是:从一堆学习记录中,去重并获取最近学习的几条课程ID,随手就能想到这样的一条SQL语句:select distinct a from table order by updated_at desc limit 5如果列为 a 的数据有很多条,就会发现最终取到的那条数据可能不是 updated_at 最近的那条数据,因为 distinct 有一次默认的排序,然后生成一个临时表,然后.../div>/a>p classpost-meta>author: alpha 的博客 date: 2022-12-30/p>/div>hr>div classpost-preview>a href/2021/09/10/centos-%E7%B3%BB%E7%BB%9F%E7%AE%80%E5%8D%95%E6%8E%92%E6%9F%A5%E6%B5%81%E9%87%8F%E5%BC%82%E5%B8%B8%E9%97%AE%E9%A2%98/>h2 classpost-title>Centos 系统简单排查流量异常问题/h2>h3 classpost-subtitle>Centos 系统简单排查流量异常问题/h3>div classpost-content-preview>主要起因是服务器出现了流量异常,感觉也没操作什么,突然的流量异常,一点不科学,就简单排查了一下,记录个笔记第一步:找到哪个端口产生的异常流量需要提前安装 iftop 这个工具,用来分析网络实时流量。Mac 系统下可能需要 iftop -i en0 指定网卡,然后进入界面后 p 键打开展示端口。更多精确参数和使用,参考 iftop 流量监控centos 下直接用命令就行iftop .../div>/a>p classpost-meta>author: he xiaodong date: 2021-09-10/p>/div>hr>div classpost-preview>a href/2021/07/06/PHP%E5%AE%9E%E7%8E%B0%E7%AE%80%E5%8D%95%E5%A4%9A%E8%B7%AF%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F%E5%A4%A7%E6%96%87%E4%BB%B6/>h2 classpost-title>PHP 实现简单多路归并排序大文件/h2>h3 classpost-subtitle>PHP 实现简单多路归并排序大文件/h3>div classpost-content-preview>算是一道常见的面试题引来的,有些大厂也喜欢把这个题当做面试题。题目:例如有一个 1g 的文件,里面存放这乱序不唯一的数字,如果利用 100m 完成整体排序?实现过程就是:先将大文件逐行读取,每 10000 行为一组,然后排序后写入文件中,文件名称类似 t1.txt, t2.txt … 这样的名称,直至读取和拆分完毕整个文件,然后遍历所有文件,每个文件先读取第一行,放入临.../div>/a>p classpost-meta>author: he xiaodong date: 2021-07-06/p>/div>hr>div classpost-preview>a href/2021/07/01/%E5%85%A5%E9%97%A8%E7%BA%A7%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84/>h2 classpost-title>入门级微服务架构/h2>h3 classpost-subtitle>入门级微服务架构/h3>div classpost-content-preview>这是一种极为简单的微服务架构,只是为了从业务上拆分,避免项目演进过程中,难以拆分。每个微服务都是一个单独的项目,不对外暴露接口,仅可被入口项目调用,每个微服务对应自己的数据库,redis db,相关配置文件,redis key 必须使用前缀,未来有大key产生容易分析问题,两个微服务之间可以互相调用接口,不可操作对方数据库,redis等,业务互相独立。队列,日志和监控服务统一到第三方基础.../div>/a>p classpost-meta>author: he xiaodong date: 2021-07-01/p>/div>hr>div classpost-preview>a href/2021/05/08/2021%E5%B9%B4php%E5%B8%B8%E8%A7%81%E9%9D%A2%E8%AF%95%E9%A2%98%E5%92%8C%E7%AD%94%E6%A1%88/>h2 classpost-title>2021年php常见面试题和答案/h2>h3 classpost-subtitle>2021年php常见面试题和答案/h3>div classpost-content-preview>https://github.com/alpha2016/2021php-interview-notes主要是2021年4-5月本人面试准备和面试中不断完善的知识点,更多是八股文,能应对基础知识类的考察,深入的研究需要日常的积累了,算法类的没有体现在文档中,基本算法类的能在LeetCode上看到,我遇到的除了一线大厂,其他不是很在乎算法的考核,能有思路或者学习过,就可以带过这个问题了。.../div>/a>p classpost-meta>author: he xiaodong date: 2021-05-08/p>/div>hr>div classpost-preview>a href/2021/04/01/%E6%8E%A8%E8%8D%90%E5%87%A0%E4%B8%AA%E4%B8%8D%E9%94%99%E7%9A%84%E6%95%99%E7%A8%8B-%E6%9E%81%E5%AE%A2%E6%97%B6%E9%97%B4%E4%B8%93%E6%A0%8F/>h2 classpost-title>推荐几个不错的教程,极客时间专栏/h2>h3 classpost-subtitle>推荐几个不错的教程,极客时间专栏/h3>div classpost-content-preview>教程小册都看过,价格不是很贵,质量超级高,大佬们觉得不错,可以访问以下链接,通过我的链接购买是8折优惠,我也能得到点返现,重点是学习。(滑稽.gif),这些课程是一个程序员向上进阶的必经之路,我也是在这样的学习。最后恰饭 阿里云全系列产品/短信包特惠购买 中小企业上云最佳选择 阿里云内部优惠券极客时间的数据结构与算法是极客上最火的课程,非常推荐,扫码可以8折购买,这个课绝对物.../div>/a>p classpost-meta>author: he xiaodong date: 2021-04-01/p>/div>hr>div classpost-preview>a href/2021/02/21/%E4%B8%80%E4%BA%9B%E4%B8%8D%E5%B8%B8%E7%94%A8%E7%9A%84PHP%E5%AD%97%E7%AC%A6%E7%B1%BB%E5%9E%8B%E6%A3%80%E6%B5%8B%E5%87%BD%E6%95%B0/>h2 classpost-title>一些不常用的PHP字符类型检测函数/h2>h3 classpost-subtitle>一些不常用的PHP字符类型检测函数/h3>div classpost-content-preview>主要是 Ctype 扩展所提供的函数,用来检测在当前的区域设定下,一个字符或者字符串,是否仅包含指定类型的字符。此类函数用来替代简单的正则验证,效率高于正则验证。参数为字符串,如果给出一个 -128 到 255 之间(含)的 int, 将会被解释为该值对应的 ASCII 字符 (负值将加上 256 以支持扩展 ASCII 字符). 其它整数将会被解释为该值对应的十进制字符串。Ctype .../div>/a>p classpost-meta>author: he xiaodong date: 2021-02-21/p>/div>hr>div classpost-preview>a href/2020/12/23/LeetCode-%E4%BB%8E%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3%E5%88%B0%E5%88%9D%E7%BA%A7%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E8%A7%A3%E5%86%B3%E4%B8%80%E7%B1%BB%E9%A2%98/>h2 classpost-title>LeetCode 从滑动窗口到初级动态规划解决一类题/h2>h3 classpost-subtitle>LeetCode 从滑动窗口到初级动态规划解决一类题/h3>div classpost-content-preview>剑指 Offer 57 - II. 和为s的连续正数序列输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target 9输出:2,3,4,4,5示例 2:输入:target 15输出:1,2,3,4,5,4,5,6,.../div>/a>p classpost-meta>author: he xiaodong date: 2020-12-23/p>/div>hr>div classpost-preview>a href/2020/12/16/%E9%98%BF%E9%87%8C%E4%BA%91%E7%89%B9%E6%83%A0%E8%B4%AD%E4%B9%B0-%E9%A2%86%E5%8F%96%E4%BC%98%E6%83%A0%E5%88%B8/>h2 classpost-title>阿里云特惠购买,领取优惠券/h2>h3 classpost-subtitle>阿里云特惠购买,领取优惠券/h3>div classpost-content-preview>是一次比较好的购买和续费时机了。欢迎大佬们点击这个 阿里云内部特惠券 双十二特惠活动,优惠购买https://www.aliyun.com/activity/daily/bestoffer?userCode0amqgcs91核2G1M 84.97元1年1核2G1M 254.92元/3年1核2G5M 114元/1年2核4G3M 295.20元/年2核4G3M .../div>/a>p classpost-meta>author: he xiaodong date: 2020-12-16/p>/div>hr>ul classpager>li classnext>a href/page2>Older Posts →/a>/li>/ul>/div>div class col-lg-3 col-lg-offset-0 col-md-3 col-md-offset-0 col-sm-12 col-xs-12 sidebar-container >section>hr classhidden-sm hidden-xs>h5>a href/tags/>FEATURED TAGS/a>/h5>div classtags>a href/tags/#Git titleGit rel2>Git/a>a href/tags/#PHP titlePHP rel105>PHP/a>a href/tags/#Redis titleRedis rel6>Redis/a>a href/tags/#Swoole titleSwoole rel6>Swoole/a>a href/tags/#消息推送 title消息推送 rel4>消息推送/a>a href/tags/#Redis List titleRedis List rel3>Redis List/a>a href/tags/#线程 title线程 rel2>线程/a>a href/tags/#Swoole task titleSwoole task rel2>Swoole task/a>a href/tags/#Nginx titleNginx rel16>Nginx/a>a href/tags/#MySQL titleMySQL rel8>MySQL/a>a href/tags/#Python titlePython rel5>Python/a>a href/tags/#分布式系统 title分布式系统 rel2>分布式系统/a>a href/tags/#array titlearray rel4>array/a>a href/tags/#负载均衡 title负载均衡 rel2>负载均衡/a>a href/tags/#Python3.7 titlePython3.7 rel3>Python3.7/a>a href/tags/#分流 title分流 rel2>分流/a>a href/tags/#压缩静态文件 title压缩静态文件 rel2>压缩静态文件/a>a href/tags/#Centos7 titleCentos7 rel3>Centos7/a>a href/tags/#Nginx 1.15 titleNginx 1.15 rel2>Nginx 1.15/a>a href/tags/#redis titleredis rel9>redis/a>a href/tags/#HyperLogLog titleHyperLogLog rel2>HyperLogLog/a>a href/tags/#统计 UV title统计 UV rel2>统计 UV/a>a href/tags/#Laravel titleLaravel rel3>Laravel/a>a href/tags/#go titlego rel4>go/a>a href/tags/#func titlefunc rel2>func/a>a href/tags/#团队目标 title团队目标 rel2>团队目标/a>a href/tags/#共同挑战 title共同挑战 rel2>共同挑战/a>a href/tags/#Go titleGo rel84>Go/a>a href/tags/#LeetCode titleLeetCode rel57>LeetCode/a>a href/tags/#动态规划 title动态规划 rel2>动态规划/a>a href/tags/#计算至少是其他数字两倍的最大数 title计算至少是其他数字两倍的最大数 rel2>计算至少是其他数字两倍的最大数/a>a href/tags/#二分查找 title二分查找 rel2>二分查找/a>a href/tags/#最小覆盖子串 title最小覆盖子串 rel2>最小覆盖子串/a>a href/tags/#滑动窗口算法 title滑动窗口算法 rel3>滑动窗口算法/a>a href/tags/#递归 title递归 rel4>递归/a>a href/tags/#二叉树 title二叉树 rel2>二叉树/a>a href/tags/#回溯算法 title回溯算法 rel3>回溯算法/a>a href/tags/#双指针 title双指针 rel3>双指针/a>a href/tags/#环形链表 title环形链表 rel2>环形链表/a>a href/tags/#LeetCode 01.05 titleLeetCode 01.05 rel2>LeetCode 01.05/a>a href/tags/#字符串比较 title字符串比较 rel2>字符串比较/a>a href/tags/#阿里云续费 title阿里云续费 rel2>阿里云续费/a>/div>/section>section classvisible-md visible-lg>hr>h5>a href/about/>ABOUT ME/a>/h5>div classshort-about>a href/about>img src/img/about-gentle.jpg />/a>p>滑稽点! 旧博客地址:http://river0314.lofter.com//p>ul classlist-inline>li>a target_blank hrefhttps://github.com/alpha2016>span classfa-stack fa-lg>i classfa fa-circle fa-stack-2x>/i>i classfa fa-github fa-stack-1x fa-inverse>/i>/span>/a>/li>/ul>p>✉️ a href/cdn-cgi/l/email-protection class__cf_email__ data-cfemail97fff2effef6f8f3f8f9f0a6aeaea5d7f8e2e3fbf8f8fcb9f4f8fa>email protected/a>/p>/div>/section>hr>h5>友情链接/h5>ul classlist-inline>li>a hrefhttp://river0314.lofter.com>strong>Lofter/strong>/a>/li>li>a hrefhttps://learnku.com/laravel>strong>Laravel China/strong>/a>/li>li>a hrefhttps://mengkang.net/>strong>周梦康博客/strong>/a>/li>li>a hrefhttps://segmentfault.com/blog/elarity>strong>elarity sf专栏/strong>/a>/li>li>a hrefhttps://yian.me/blog/>strong>Y!ans Blog/strong>/a>/li>/ul>/div>/div>/div>footer>div classcontainer>div classrow>div classcol-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1>ul classlist-inline text-center>li>a target_blank hrefhttps://github.com/alpha2016>span classfa-stack fa-lg>i classfa fa-circle fa-stack-2x>/i>i classfa fa-github fa-stack-1x fa-inverse>/i>/span>/a>/li>/ul>p classcopyright text-muted>© alpha 的博客 2023/p>/div>/div>/div>/footer>script data-cfasyncfalse src/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js>/script>script src/js/jquery.min.js >/script>script src/js/bootstrap.min.js >/script>script src/js/hux-blog.min.js >/script>script typetext/javascript> if(navigator.serviceWorker){ // For security reasons, a service worker can only control the pages that are in the same directory level or below it. Thats why we put sw.js at ROOT level. navigator.serviceWorker .register(/sw.js) .then((registration) > {console.log(Service Worker Registered. , registration)}) .catch((error) > {console.log(ServiceWorker registration failed: , error)}) }/script>script> function async(u, c) { var d document, t script, o d.createElement(t), s d.getElementsByTagName(t)0; o.src u; if (c) { o.addEventListener(load, function (e) { c(null, e); }, false); } s.parentNode.insertBefore(o, s); }/script>script> // only load tagcloud.js in tag.html if($(#tag_cloud).length ! 0){ async(/js/jquery.tagcloud.js,function(){ $.fn.tagcloud.defaults { //size: {start: 1, end: 1, unit: em}, color: {start: #bbbbee, end: #0085a1}, }; $(#tag_cloud a).tagcloud(); }) }/script>script> async(//cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.min.js, function(){ var $nav document.querySelector(nav); if($nav) FastClick.attach($nav); })/script>script> // dynamic User by Hux var _gaId 0000000; var _gaDomain auto; // Originial (function(i,s,o,g,r,a,m){iGoogleAnalyticsObjectr;irir||function(){ (ir.qir.q||).push(arguments)},ir.l1*new Date();as.createElement(o), ms.getElementsByTagName(o)0;a.async1;a.srcg;m.parentNode.insertBefore(a,m) })(window,document,script,//www.google-analytics.com/analytics.js,ga); ga(create, _gaId, _gaDomain); ga(send, pageview);/script>script> // dynamic User by Hux var _baId 2078c58d3130c27acca4f4c9fc4d92e3; // Originial var _hmt _hmt || ; (function() { var hm document.createElement(script); hm.src //hm.baidu.com/hm.js? + _baId; var s document.getElementsByTagName(script)0; s.parentNode.insertBefore(hm, s); })();/script>img src/img/apple-touch-icon.png width0 height0 />/body>/html>
Port 443
HTTP/1.1 200 OKDate: Thu, 24 Oct 2024 05:44:33 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveVary: Accept-EncodingVary: Accept-Encodingx-origin-cache: HITAccess-Control-Allow-Origin: *expires: Thu, 24 Oct 2024 01:41:27 GMTCache-Control: max-age600Cache-Control: no-cachex-proxy-cache: MISSX-GitHub-Request-Id: 91E3:C6FB2:72056D:748279:6719A36EAge: 0Via: 1.1 varnishX-Served-By: cache-fra-eddf8230095-FRAX-Cache: HITX-Cache-Hits: 0X-Timer: S1729748673.073952,VS0,VE92X-Fastly-Request-ID: e8b4b34e5d2b1bfef38363f843fe7ba2d5e89c4bcf-cache-status: DYNAMICReport-To: {endpoints:{url:https:\/\/a.nel.cloudflare.com\/report\/v4?stWJUUybm59U8Lum5mMfZKYVPn6PMBABcM9aBlDsNMGQSAGPEB8f12I%2BicGVgK%2BKDAFsCAvUKXpl%2Fto1gEOnbAXv3zYNThFuqpPUf37O0AxLfcmvYU4Dq4Rl4IjL4%2FNIBfiGc},group:cf-nel,max_age:604800}NEL: {success_fraction:0,report_to:cf-nel,max_age:604800}Server: cloudflareCF-RAY: 8d77a7d5388075ba-SEAalt-svc: h3:443; ma86400server-timing: cfL4;desc?protoTCP&rtt25433&sent5&recv6&lost0&retrans0&sent_bytes2853&recv_bytes727&delivery_rate114177&cwnd252&unsent_bytes0&cidff8092180037acad&ts468&x0 !DOCTYPE html>html langen>head>meta charsetutf-8>meta http-equivX-UA-Compatible contentIEedge>meta namegoogle-site-verification contentxBT4GhYoi5qRD5tr338pgPM5OWHHIDR6mNg1a3euekI />meta nameviewport contentwidthdevice-width, initial-scale1>meta namedescription content滑稽点,何晓东博客,php,mysql,linux,go>meta namekeywords contentPHP,MySQL,Linux,Go,Education>meta nametheme-color content#000000>title>Blogfoon | alpha blog/title>link relmanifest href/pwa/manifest.json>link relshortcut icon href/img/favicon.ico>link relapple-touch-icon href/img/apple-touch-icon.png>link relcanonical hrefhttps://alpha2016.github.io/>link relstylesheet href/css/bootstrap.min.css>link relstylesheet href/css/hux-blog.min.css>link relstylesheet href/css/syntax.css>link href//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css relstylesheet typetext/css>!--if lt IE 9> script srchttps://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js>/script> script srchttps://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js>/script> !endif-->script>/script>meta namereferrer contentno-referrer>script async srchttps://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?clientca-pub-0321943954037996 crossoriginanonymous>/script>/head>body ontouchstart>nav classnavbar navbar-default navbar-custom navbar-fixed-top>div classcontainer-fluid>div classnavbar-header page-scroll>button typebutton classnavbar-toggle>span classsr-only>Toggle navigation/span>span classicon-bar>/span>span classicon-bar>/span>span classicon-bar>/span>/button>a classnavbar-brand href/>alpha 的博客/a>/div>div idhuxblog_navbar>div classnavbar-collapse>ul classnav navbar-nav navbar-right>li>a href/>主页/a>/li>li>a href/about/>关于我/a>/li>li>a href/reward/>打赏/a>/li>li>a href/tags/>标签/a>/li>/ul>/div>/div>/div>/nav>script> // Drop Bootstarp low-performance Navbar // Use customize navbar with high-quality material design animation // in high-perf jank-free CSS3 implementation var $body document.body; var $toggle document.querySelector(.navbar-toggle); var $navbar document.querySelector(#huxblog_navbar); var $collapse document.querySelector(.navbar-collapse); var __HuxNav__ { close: function(){ $navbar.className ; // wait until animation end. setTimeout(function(){ // prevent frequently toggle if($navbar.className.indexOf(in) 0) { $collapse.style.height 0px } },400) }, open: function(){ $collapse.style.height auto $navbar.className + in; } } // Bind Event $toggle.addEventListener(click, function(e){ if ($navbar.className.indexOf(in) > 0) { __HuxNav__.close() }else{ __HuxNav__.open() } }) /** * Since Fastclick is used to delegate touchstart globally * to hack 300ms delay in iOS by performing a fake click, * Using e.stopPropagation to stop touchstart event from * $toggle/$collapse will break global delegation. * * Instead, we use a e.target filter to prevent handler * added to document close HuxNav. * * Also, we use click instead of touchstart as compromise */ document.addEventListener(click, function(e){ if(e.target $toggle) return; if(e.target.className icon-bar) return; __HuxNav__.close(); })/script>header classintro-header stylebackground-image: url(/img/post-bg-desk.jpg)>div classcontainer>div classrow>div classcol-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1 >div classsite-heading>h1>alpha 的博客/h1>span classsubheading>何晓东 的博客 | alpha blog/span>/div>/div>/div>/div>/header>div classcontainer>div classrow>div class col-lg-8 col-lg-offset-1 col-md-8 col-md-offset-1 col-sm-12 col-xs-12 postlist-container >div classpost-preview>a href/2023/05/04/go-%E5%8D%8F%E7%A8%8B-%E6%95%B0%E6%8D%AE%E7%AB%9E%E4%BA%89%E5%8F%8A%E5%AF%B9%E5%BA%94%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/>h2 classpost-title>go 协程,数据竞争及对应解决方法/h2>h3 classpost-subtitle>go 协程,数据竞争及对应解决方法/h3>div classpost-content-preview>场景有个查询结果集的操作,无可避免的需要在循环获取数据,然后将结果集放到 map 中,这个操作在压测的时候,没出现问题,发布到生产环境之后,开始偶现 fatal error: concurrent map read and map write 错误,导致容器重启了。原因多个协程同时对 map 进行读写操作,导致数据竞争测试环境压测未复现是因为单个 pod 常规时间只有一个 CPU,.../div>/a>p classpost-meta>author: he xiaodong date: 2023-05-04/p>/div>hr>div classpost-preview>a href/2022/12/30/MySQL-distinct-%E5%92%8C-order-by-%E6%8E%92%E5%BA%8F%E6%B7%B7%E6%B7%86%E7%9A%84%E6%9B%BF%E4%BB%A3%E6%96%B9%E6%A1%88/>h2 classpost-title>Mysql distinct 和 order by 排序混淆的替代方案/h2>div classpost-content-preview>场景是:从一堆学习记录中,去重并获取最近学习的几条课程ID,随手就能想到这样的一条SQL语句:select distinct a from table order by updated_at desc limit 5如果列为 a 的数据有很多条,就会发现最终取到的那条数据可能不是 updated_at 最近的那条数据,因为 distinct 有一次默认的排序,然后生成一个临时表,然后.../div>/a>p classpost-meta>author: alpha 的博客 date: 2022-12-30/p>/div>hr>div classpost-preview>a href/2021/09/10/centos-%E7%B3%BB%E7%BB%9F%E7%AE%80%E5%8D%95%E6%8E%92%E6%9F%A5%E6%B5%81%E9%87%8F%E5%BC%82%E5%B8%B8%E9%97%AE%E9%A2%98/>h2 classpost-title>Centos 系统简单排查流量异常问题/h2>h3 classpost-subtitle>Centos 系统简单排查流量异常问题/h3>div classpost-content-preview>主要起因是服务器出现了流量异常,感觉也没操作什么,突然的流量异常,一点不科学,就简单排查了一下,记录个笔记第一步:找到哪个端口产生的异常流量需要提前安装 iftop 这个工具,用来分析网络实时流量。Mac 系统下可能需要 iftop -i en0 指定网卡,然后进入界面后 p 键打开展示端口。更多精确参数和使用,参考 iftop 流量监控centos 下直接用命令就行iftop .../div>/a>p classpost-meta>author: he xiaodong date: 2021-09-10/p>/div>hr>div classpost-preview>a href/2021/07/06/PHP%E5%AE%9E%E7%8E%B0%E7%AE%80%E5%8D%95%E5%A4%9A%E8%B7%AF%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F%E5%A4%A7%E6%96%87%E4%BB%B6/>h2 classpost-title>PHP 实现简单多路归并排序大文件/h2>h3 classpost-subtitle>PHP 实现简单多路归并排序大文件/h3>div classpost-content-preview>算是一道常见的面试题引来的,有些大厂也喜欢把这个题当做面试题。题目:例如有一个 1g 的文件,里面存放这乱序不唯一的数字,如果利用 100m 完成整体排序?实现过程就是:先将大文件逐行读取,每 10000 行为一组,然后排序后写入文件中,文件名称类似 t1.txt, t2.txt … 这样的名称,直至读取和拆分完毕整个文件,然后遍历所有文件,每个文件先读取第一行,放入临.../div>/a>p classpost-meta>author: he xiaodong date: 2021-07-06/p>/div>hr>div classpost-preview>a href/2021/07/01/%E5%85%A5%E9%97%A8%E7%BA%A7%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84/>h2 classpost-title>入门级微服务架构/h2>h3 classpost-subtitle>入门级微服务架构/h3>div classpost-content-preview>这是一种极为简单的微服务架构,只是为了从业务上拆分,避免项目演进过程中,难以拆分。每个微服务都是一个单独的项目,不对外暴露接口,仅可被入口项目调用,每个微服务对应自己的数据库,redis db,相关配置文件,redis key 必须使用前缀,未来有大key产生容易分析问题,两个微服务之间可以互相调用接口,不可操作对方数据库,redis等,业务互相独立。队列,日志和监控服务统一到第三方基础.../div>/a>p classpost-meta>author: he xiaodong date: 2021-07-01/p>/div>hr>div classpost-preview>a href/2021/05/08/2021%E5%B9%B4php%E5%B8%B8%E8%A7%81%E9%9D%A2%E8%AF%95%E9%A2%98%E5%92%8C%E7%AD%94%E6%A1%88/>h2 classpost-title>2021年php常见面试题和答案/h2>h3 classpost-subtitle>2021年php常见面试题和答案/h3>div classpost-content-preview>https://github.com/alpha2016/2021php-interview-notes主要是2021年4-5月本人面试准备和面试中不断完善的知识点,更多是八股文,能应对基础知识类的考察,深入的研究需要日常的积累了,算法类的没有体现在文档中,基本算法类的能在LeetCode上看到,我遇到的除了一线大厂,其他不是很在乎算法的考核,能有思路或者学习过,就可以带过这个问题了。.../div>/a>p classpost-meta>author: he xiaodong date: 2021-05-08/p>/div>hr>div classpost-preview>a href/2021/04/01/%E6%8E%A8%E8%8D%90%E5%87%A0%E4%B8%AA%E4%B8%8D%E9%94%99%E7%9A%84%E6%95%99%E7%A8%8B-%E6%9E%81%E5%AE%A2%E6%97%B6%E9%97%B4%E4%B8%93%E6%A0%8F/>h2 classpost-title>推荐几个不错的教程,极客时间专栏/h2>h3 classpost-subtitle>推荐几个不错的教程,极客时间专栏/h3>div classpost-content-preview>教程小册都看过,价格不是很贵,质量超级高,大佬们觉得不错,可以访问以下链接,通过我的链接购买是8折优惠,我也能得到点返现,重点是学习。(滑稽.gif),这些课程是一个程序员向上进阶的必经之路,我也是在这样的学习。最后恰饭 阿里云全系列产品/短信包特惠购买 中小企业上云最佳选择 阿里云内部优惠券极客时间的数据结构与算法是极客上最火的课程,非常推荐,扫码可以8折购买,这个课绝对物.../div>/a>p classpost-meta>author: he xiaodong date: 2021-04-01/p>/div>hr>div classpost-preview>a href/2021/02/21/%E4%B8%80%E4%BA%9B%E4%B8%8D%E5%B8%B8%E7%94%A8%E7%9A%84PHP%E5%AD%97%E7%AC%A6%E7%B1%BB%E5%9E%8B%E6%A3%80%E6%B5%8B%E5%87%BD%E6%95%B0/>h2 classpost-title>一些不常用的PHP字符类型检测函数/h2>h3 classpost-subtitle>一些不常用的PHP字符类型检测函数/h3>div classpost-content-preview>主要是 Ctype 扩展所提供的函数,用来检测在当前的区域设定下,一个字符或者字符串,是否仅包含指定类型的字符。此类函数用来替代简单的正则验证,效率高于正则验证。参数为字符串,如果给出一个 -128 到 255 之间(含)的 int, 将会被解释为该值对应的 ASCII 字符 (负值将加上 256 以支持扩展 ASCII 字符). 其它整数将会被解释为该值对应的十进制字符串。Ctype .../div>/a>p classpost-meta>author: he xiaodong date: 2021-02-21/p>/div>hr>div classpost-preview>a href/2020/12/23/LeetCode-%E4%BB%8E%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3%E5%88%B0%E5%88%9D%E7%BA%A7%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E8%A7%A3%E5%86%B3%E4%B8%80%E7%B1%BB%E9%A2%98/>h2 classpost-title>LeetCode 从滑动窗口到初级动态规划解决一类题/h2>h3 classpost-subtitle>LeetCode 从滑动窗口到初级动态规划解决一类题/h3>div classpost-content-preview>剑指 Offer 57 - II. 和为s的连续正数序列输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target 9输出:2,3,4,4,5示例 2:输入:target 15输出:1,2,3,4,5,4,5,6,.../div>/a>p classpost-meta>author: he xiaodong date: 2020-12-23/p>/div>hr>div classpost-preview>a href/2020/12/16/%E9%98%BF%E9%87%8C%E4%BA%91%E7%89%B9%E6%83%A0%E8%B4%AD%E4%B9%B0-%E9%A2%86%E5%8F%96%E4%BC%98%E6%83%A0%E5%88%B8/>h2 classpost-title>阿里云特惠购买,领取优惠券/h2>h3 classpost-subtitle>阿里云特惠购买,领取优惠券/h3>div classpost-content-preview>是一次比较好的购买和续费时机了。欢迎大佬们点击这个 阿里云内部特惠券 双十二特惠活动,优惠购买https://www.aliyun.com/activity/daily/bestoffer?userCode0amqgcs91核2G1M 84.97元1年1核2G1M 254.92元/3年1核2G5M 114元/1年2核4G3M 295.20元/年2核4G3M .../div>/a>p classpost-meta>author: he xiaodong date: 2020-12-16/p>/div>hr>ul classpager>li classnext>a href/page2>Older Posts →/a>/li>/ul>/div>div class col-lg-3 col-lg-offset-0 col-md-3 col-md-offset-0 col-sm-12 col-xs-12 sidebar-container >section>hr classhidden-sm hidden-xs>h5>a href/tags/>FEATURED TAGS/a>/h5>div classtags>a href/tags/#Git titleGit rel2>Git/a>a href/tags/#PHP titlePHP rel105>PHP/a>a href/tags/#Redis titleRedis rel6>Redis/a>a href/tags/#Swoole titleSwoole rel6>Swoole/a>a href/tags/#消息推送 title消息推送 rel4>消息推送/a>a href/tags/#Redis List titleRedis List rel3>Redis List/a>a href/tags/#线程 title线程 rel2>线程/a>a href/tags/#Swoole task titleSwoole task rel2>Swoole task/a>a href/tags/#Nginx titleNginx rel16>Nginx/a>a href/tags/#MySQL titleMySQL rel8>MySQL/a>a href/tags/#Python titlePython rel5>Python/a>a href/tags/#分布式系统 title分布式系统 rel2>分布式系统/a>a href/tags/#array titlearray rel4>array/a>a href/tags/#负载均衡 title负载均衡 rel2>负载均衡/a>a href/tags/#Python3.7 titlePython3.7 rel3>Python3.7/a>a href/tags/#分流 title分流 rel2>分流/a>a href/tags/#压缩静态文件 title压缩静态文件 rel2>压缩静态文件/a>a href/tags/#Centos7 titleCentos7 rel3>Centos7/a>a href/tags/#Nginx 1.15 titleNginx 1.15 rel2>Nginx 1.15/a>a href/tags/#redis titleredis rel9>redis/a>a href/tags/#HyperLogLog titleHyperLogLog rel2>HyperLogLog/a>a href/tags/#统计 UV title统计 UV rel2>统计 UV/a>a href/tags/#Laravel titleLaravel rel3>Laravel/a>a href/tags/#go titlego rel4>go/a>a href/tags/#func titlefunc rel2>func/a>a href/tags/#团队目标 title团队目标 rel2>团队目标/a>a href/tags/#共同挑战 title共同挑战 rel2>共同挑战/a>a href/tags/#Go titleGo rel84>Go/a>a href/tags/#LeetCode titleLeetCode rel57>LeetCode/a>a href/tags/#动态规划 title动态规划 rel2>动态规划/a>a href/tags/#计算至少是其他数字两倍的最大数 title计算至少是其他数字两倍的最大数 rel2>计算至少是其他数字两倍的最大数/a>a href/tags/#二分查找 title二分查找 rel2>二分查找/a>a href/tags/#最小覆盖子串 title最小覆盖子串 rel2>最小覆盖子串/a>a href/tags/#滑动窗口算法 title滑动窗口算法 rel3>滑动窗口算法/a>a href/tags/#递归 title递归 rel4>递归/a>a href/tags/#二叉树 title二叉树 rel2>二叉树/a>a href/tags/#回溯算法 title回溯算法 rel3>回溯算法/a>a href/tags/#双指针 title双指针 rel3>双指针/a>a href/tags/#环形链表 title环形链表 rel2>环形链表/a>a href/tags/#LeetCode 01.05 titleLeetCode 01.05 rel2>LeetCode 01.05/a>a href/tags/#字符串比较 title字符串比较 rel2>字符串比较/a>a href/tags/#阿里云续费 title阿里云续费 rel2>阿里云续费/a>/div>/section>section classvisible-md visible-lg>hr>h5>a href/about/>ABOUT ME/a>/h5>div classshort-about>a href/about>img src/img/about-gentle.jpg />/a>p>滑稽点! 旧博客地址:http://river0314.lofter.com//p>ul classlist-inline>li>a target_blank hrefhttps://github.com/alpha2016>span classfa-stack fa-lg>i classfa fa-circle fa-stack-2x>/i>i classfa fa-github fa-stack-1x fa-inverse>/i>/span>/a>/li>/ul>p>✉️ a href/cdn-cgi/l/email-protection class__cf_email__ data-cfemail68000d100109070c07060f5951515a28071d1c04070703460b0705>email protected/a>/p>/div>/section>hr>h5>友情链接/h5>ul classlist-inline>li>a hrefhttp://river0314.lofter.com>strong>Lofter/strong>/a>/li>li>a hrefhttps://learnku.com/laravel>strong>Laravel China/strong>/a>/li>li>a hrefhttps://mengkang.net/>strong>周梦康博客/strong>/a>/li>li>a hrefhttps://segmentfault.com/blog/elarity>strong>elarity sf专栏/strong>/a>/li>li>a hrefhttps://yian.me/blog/>strong>Y!ans Blog/strong>/a>/li>/ul>/div>/div>/div>footer>div classcontainer>div classrow>div classcol-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1>ul classlist-inline text-center>li>a target_blank hrefhttps://github.com/alpha2016>span classfa-stack fa-lg>i classfa fa-circle fa-stack-2x>/i>i classfa fa-github fa-stack-1x fa-inverse>/i>/span>/a>/li>/ul>p classcopyright text-muted>© alpha 的博客 2023/p>/div>/div>/div>/footer>script data-cfasyncfalse src/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js>/script>script src/js/jquery.min.js >/script>script src/js/bootstrap.min.js >/script>script src/js/hux-blog.min.js >/script>script typetext/javascript> if(navigator.serviceWorker){ // For security reasons, a service worker can only control the pages that are in the same directory level or below it. Thats why we put sw.js at ROOT level. navigator.serviceWorker .register(/sw.js) .then((registration) > {console.log(Service Worker Registered. , registration)}) .catch((error) > {console.log(ServiceWorker registration failed: , error)}) }/script>script> function async(u, c) { var d document, t script, o d.createElement(t), s d.getElementsByTagName(t)0; o.src u; if (c) { o.addEventListener(load, function (e) { c(null, e); }, false); } s.parentNode.insertBefore(o, s); }/script>script> // only load tagcloud.js in tag.html if($(#tag_cloud).length ! 0){ async(/js/jquery.tagcloud.js,function(){ $.fn.tagcloud.defaults { //size: {start: 1, end: 1, unit: em}, color: {start: #bbbbee, end: #0085a1}, }; $(#tag_cloud a).tagcloud(); }) }/script>script> async(//cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.min.js, function(){ var $nav document.querySelector(nav); if($nav) FastClick.attach($nav); })/script>script> // dynamic User by Hux var _gaId 0000000; var _gaDomain auto; // Originial (function(i,s,o,g,r,a,m){iGoogleAnalyticsObjectr;irir||function(){ (ir.qir.q||).push(arguments)},ir.l1*new Date();as.createElement(o), ms.getElementsByTagName(o)0;a.async1;a.srcg;m.parentNode.insertBefore(a,m) })(window,document,script,//www.google-analytics.com/analytics.js,ga); ga(create, _gaId, _gaDomain); ga(send, pageview);/script>script> // dynamic User by Hux var _baId 2078c58d3130c27acca4f4c9fc4d92e3; // Originial var _hmt _hmt || ; (function() { var hm document.createElement(script); hm.src //hm.baidu.com/hm.js? + _baId; var s document.getElementsByTagName(script)0; s.parentNode.insertBefore(hm, s); })();/script>img src/img/apple-touch-icon.png width0 height0 />/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]