チ5ᄇ8为654-2是什么药我的手机看都到这个符号但是打不出来

吃药打胎后14天又来月经了,一直到了5ǐ6ƚ5天了还有点不多了正常吗_百度宝宝知道扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
五颗星星围着一个太阳,一个月亮两边有两朵ƺ8ƚ5打一成语
作业帮用户
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
五颗星星围着一个太阳,一个月亮两边有两朵ƺ8ƚ5打一成语答案是【寥若星辰】【解释】寥:稀疏.稀少得好像早晨的星星.指为数极少.【出处】南朝·齐谢眺《京路夜发》:“晓星正寥落,晨光复映漭.”唐·韩愈《华山女》诗:“黄衣道士亦讲说,座下寥落如明星.”
为您推荐:
其他类似问题
扫描下载二维码&figure&&img src=&https://pic2.zhimg.com/v2-913997fed16a7cd9ec4bc2968bfec86c_b.jpg& data-rawwidth=&2182& data-rawheight=&1178& class=&origin_image zh-lightbox-thumb& width=&2182& data-original=&https://pic2.zhimg.com/v2-913997fed16a7cd9ec4bc2968bfec86c_r.jpg&&&/figure&&blockquote&不知从什么时候开始,“有图有真相”成了大家的口头禅。&br&照片确实可以作为事实的佐证,增加可信度。&br&然而,照片真的不会欺骗你吗?有图真的就一定有真相吗?&/blockquote&&h2&&b&李明阳有话说&/b&&/h2&&p&&b&我相信这篇文章一定触及到了很多骗子和黑产的利益,因为我在撰写这篇文章的时候,又见到和听到了好几个类似手法的骗局。&/b&&/p&&p&&b&希望大家看完这篇文章后,可以识破这种骗术,并及时提醒身边的人。&/b&&/p&&p&&b&我预感这篇文章不会存在很久就会被骗子们“公关”掉,尽我绵薄之力吧。&/b&&/p&&h2&&b&神秘的庄家&/b&&/h2&&p&4月以来,币市慢慢回暖,各种炒币的群又热闹起来了。&/p&&p&每天我都会被拉进各种各样的群,真是“&b&人在家中坐,群从天上来&/b&”。&/p&&p&群里吹牛的、撕逼的、抱怨的、祈祷的、问什么币能不能买的,令人不胜烦恼。&/p&&p&对这种群,我向来是直接退出了事儿,眼不见为净。&/p&&p&然而,有一个群,却让我颇为好奇,群主自称资产雄厚,可以帮大家炒币。&/p&&p&为了证明自己的实力,他在群里上传了很多视频。&/p&&p&比如这段:&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/152704& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic1.zhimg.com/80/v2-acb1af36cfc9cb2d3c20_b.jpg& data-lens-id=&152704&&
&img class=&thumbnail& src=&https://pic1.zhimg.com/80/v2-acb1af36cfc9cb2d3c20_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/152704&/span&
&p&这段视频里,他使用百度搜索“时间”,可以看到国家授时中心的页面显示时间为日13点左右。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-83a4cb0cbd40fac9805e2_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1930& data-rawheight=&962& class=&origin_image zh-lightbox-thumb& width=&1930& data-original=&https://pic1.zhimg.com/v2-83a4cb0cbd40fac9805e2_r.jpg&&&/figure&&p&紧接着,他拍摄了他的交易行页面,乖乖,真是土豪,他的账户里足足有&b&23937个比特币&/b&,价值&b&14.6亿人民币&/b&。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-591caa348d800d6feb78a7d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1942& data-rawheight=&954& class=&origin_image zh-lightbox-thumb& width=&1942& data-original=&https://pic1.zhimg.com/v2-591caa348d800d6feb78a7d_r.jpg&&&/figure&&p&群里的小白看过视频,纷纷“山呼万岁”、“大哥求带飞”、“土豪我们做朋友吧”。&/p&&p&这位土豪也是“平易近人”,寒暄几句后,自称是职业投资人,“一年之内翻20倍没问题”。表示如果大家信得过,可以把币打到他的地址上,他会按月把炒币投资的收益支付给大家。&/p&&p&理智告诉我,事出反常必有妖。&/p&&p&一个坐拥十几亿资产的人,为什么要帮助素昧谋面的陌生人?有这种实力的人,时间一定是非常宝贵的,会在群里有求必应,时时在线吗?后面发生的事儿也验证了我的判断,这个人确实是骗子。&/p&&p&但是,这个视频又是如此的真实,该怎么解释呢?&/p&&p&他拍摄的是屏幕,手机拍摄屏幕时,多少会出现像素颗粒感、偏色、水纹等等现象,这些很难后期伪造,视频又是一气呵成,毫无剪接痕迹。&/p&&p&我下载了他的这段视频,认真地逐帧检查,确实没有发现处理和拼接的痕迹。&/p&&p&&br&&/p&&p&在继续讲这个骗局之前,我们先来介绍几个常见的骗术,你就会意识到,这个骗子还是有些技术的。越是了解常见骗术的人,反倒会被他骗得死死的,因为他完全没有使用这些常见的骗术。&/p&&h2&&b&骗术1:开发者工具&/b&&/h2&&p&浏览器有一个功能,叫“开发者工具”,以Chrome浏览器为例,你可以在如下图的位置找到它。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-d2ef3fb48_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2704& data-rawheight=&1550& class=&origin_image zh-lightbox-thumb& width=&2704& data-original=&https://pic4.zhimg.com/v2-d2ef3fb48_r.jpg&&&/figure&&p&点击“开发者工具”选项之后,浏览器的下部就会弹出一个新的界面,在这里,我们可以非常自由的修改页面上显示的内容。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-ec9c93f12bc59db3ffda4377_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1349& data-rawheight=&903& class=&origin_image zh-lightbox-thumb& width=&1349& data-original=&https://pic3.zhimg.com/v2-ec9c93f12bc59db3ffda4377_r.jpg&&&/figure&&p&比如Google一下“知乎李明阳”,显示的正确结果是这样的,基本上都是我的文章。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-cda5536ac59abee2ba226e56960cbfaa_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1349& data-rawheight=&903& class=&origin_image zh-lightbox-thumb& width=&1349& data-original=&https://pic2.zhimg.com/v2-cda5536ac59abee2ba226e56960cbfaa_r.jpg&&&/figure&&p&下面我们打开“开发者工具”,修改一下网页中的内容。&/p&&p&我随意改了些搞笑的内容,很有趣是不是?&/p&&figure&&img src=&https://pic3.zhimg.com/v2-e207c551da5d544361deedd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1349& data-rawheight=&903& class=&origin_image zh-lightbox-thumb& width=&1349& data-original=&https://pic3.zhimg.com/v2-e207c551da5d544361deedd_r.jpg&&&/figure&&p&最后关掉“开发者工具”界面,大功告成,Google无辜背锅。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-2d451bc8d9cc912e36394c8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1106& data-rawheight=&567& class=&origin_image zh-lightbox-thumb& width=&1106& data-original=&https://pic2.zhimg.com/v2-2d451bc8d9cc912e36394c8_r.jpg&&&/figure&&p&&br&&/p&&p&做过前端开发的朋友一定用过这个“开发者工具”,Chrome提供这个工具的目的是为了方便前端开发人员,使他们可以实时看到修改的效果。&/p&&p&然而,大约在2013年左右,电信诈骗分子发现了这个功能,制作出很多以假乱真的资产证明、身份证明、新闻截图等等,很多不明真相的人上当受骗。&/p&&p&一个本来很好很方便的功能,却沦为了犯罪分子的“帮凶”。&/p&&p&&br&&/p&&p&该如何破解这种骗术呢?&/p&&p&光靠静态的图片肯定不行,不过只要有视频,这种骗术就无所盾形了。&/p&&p&开发者工具修改过的页面是暂时的,只要点一下刷新,页面就会恢复本来的面目,就像下面这段视频中的这样。&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/758528& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic4.zhimg.com/80/v2-5cef5ab04db8dcbb3d0eac33bba0b167_b.jpg& data-lens-id=&758528&&
&img class=&thumbnail& src=&https://pic4.zhimg.com/80/v2-5cef5ab04db8dcbb3d0eac33bba0b167_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/758528&/span&
&p&&br&&/p&&p&然而,正如骗子提供的视频中演示的那样,他对每个页面都进行了多次刷新,明显不是使用了开发者工具对页面进行过修改。&/p&&h2&&b&骗术2:中间人攻击&/b&&/h2&&p&我们先来看一下我们访问网站的正常流程:&/p&&p&服务器把信息传输给浏览器,浏览器收到后,显示给用户。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-4fa26f1cef43ce35c489ef_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1298& data-rawheight=&380& class=&origin_image zh-lightbox-thumb& width=&1298& data-original=&https://pic1.zhimg.com/v2-4fa26f1cef43ce35c489ef_r.jpg&&&/figure&&p&所谓的“中间人攻击”就是说浏览器和服务器之间,插入了一个第三人,对服务器的数据进行篡改,使浏览器收到错误的数据。这个第三人就是“中间人”,“中间人攻击”因此而得名,就像下图所示:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-cae90acbe4509_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1242& data-rawheight=&340& class=&origin_image zh-lightbox-thumb& width=&1242& data-original=&https://pic4.zhimg.com/v2-cae90acbe4509_r.jpg&&&/figure&&p&中间人把“账户余额:0”篡改成了“账户余额:1000”,浏览器收到了错误的数据,自然会做出错误的显示。&/p&&p&既然录制视频的骗子可以控制自己的电脑,完全可以在服务器和浏览器之间搭建一个“中间人”,对数据进行篡改。&/p&&p&稍微有些安全常识的朋友,应该会发现,这个骗子的视频中,浏览器左上角有“HTTPS”和“安全”字样,这代表服务器到浏览器之间是使用HTTPS协议加密传输的。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-dd8f85b073ad8b577ec7fea1ecd4075b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1960& data-rawheight=&1102& class=&origin_image zh-lightbox-thumb& width=&1960& data-original=&https://pic3.zhimg.com/v2-dd8f85b073ad8b577ec7fea1ecd4075b_r.jpg&&&/figure&&p&如果“中间人”尝试对HTTPS加密的链路进行攻击,浏览器便会发出警告:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-4cb57baab3987755baf132da026bc4ce_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1089& data-rawheight=&584& class=&origin_image zh-lightbox-thumb& width=&1089& data-original=&https://pic1.zhimg.com/v2-4cb57baab3987755baf132da026bc4ce_r.jpg&&&/figure&&p&并且,左上角会显示出醒目的“不安全”字样,就像下面这样:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-deae42b2d32d941ae44ac588efbb9251_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1093& data-rawheight=&596& class=&origin_image zh-lightbox-thumb& width=&1093& data-original=&https://pic3.zhimg.com/v2-deae42b2d32d941ae44ac588efbb9251_r.jpg&&&/figure&&p&显然,这个骗子用的也不是中间人的方法。&/p&&p&&br&&/p&&h2&&b&骗术3:“同形异义字”欺骗&/b&&/h2&&p&前两种骗术被否决之后,我静静地思考,突然想起之前看过的一则Twitter。&/p&&p&一名推友向比特大陆官方询问,是否开始了新一批次的矿机销售。&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//twitter.com/BITMAINtech/status/319493& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&twitter.com/BITMAINtech&/span&&span class=&invisible&&/status/319493&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&比特大陆在回复中,提醒这位推友,有人注册了一个和比特大陆的域名(&a href=&https://link.zhihu.com/?target=http%3A//bitmain.com& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&bitmain.com&/span&&span class=&invisible&&&/span&&/a&)看起来一样的域名。&/p&&p&只是&a href=&https://link.zhihu.com/?target=http%3A//bitmain.com& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&bitmain.com&/span&&span class=&invisible&&&/span&&/a&中的那个“n”,官方网站使用的是英语字母“n”,而这个假的域名使用的是“?”,下面多了个点,这是拉丁语中的一个字母。&/p&&p&在浏览器看来,“bitmain.com”和“bitmai?.com”是完全不同的两个网站。&/p&&p&这是钓鱼网站常用的伎俩,注册一个十分相像的域名,然后为这个假域名申请证书。&/p&&p&这并不是证书和HTTPS的错,证书验证的是你访问的网站就是你输入的域名对应的网站,并且网站的内容没有被中间人篡改。&/p&&p&这种欺骗,是使受骗者访问虚假的域名,证书和HTTPS忠实的保证了你访问的确实是这个假域名对应的网站,并且内容就是假域名的所有者希望你看到的,没有被中间人篡改,毕竟受骗者自己点击的就是假的域名。&/p&&p&想到这里,我又一遍遍的看这段视频,“okex”四个字符,虽然我没有看出一丝一毫的区别,但是我依然相信,一定是骗子找到了哪个字母的同形异义字,申请了假的域名,搭建了假的网站。&/p&&p&于是,我在群聊中提出了我的疑问,并警示了大家,意料之中,我被踢出了群聊。&/p&&p&&br&&/p&&p&&b&如果故事就这么结束了,那你就太低估这个骗子了,精彩的部分在后面。&/b&&/p&&p&&br&&/p&&h2&&b&图穷匕见&/b&&/h2&&p&我被踢出群聊后,自然无法知道群里发生了什么,直到有一天,一位也被拉到群里的朋友找到我。从他口中,我得知了后面发生的事情。&/p&&p&我在群中提醒大家之后,骗子将我踢出群聊,称我为“同行”,是在“恶意诋毁”他。&/p&&p&一番花言巧语后,不少韭菜们选择了让他代为投资,至少聚敛了几十个BTC。&/p&&p&与大多数骗局的收场一样,骗子选择在5月15日凌晨3点,将所有群成员踢出群聊,带着骗来的那些数目可观的比特币,消失得无影无踪。上当受骗的韭菜们欲哭无泪,甚至都不知道该如何报警。&/p&&p&这位朋友,也是受骗者之一,他损失了20个BTC。&/p&&p&这些都勾不起我的兴趣,在我的意识中,这是我早就预料到的,我也提醒过的。&/p&&h2&&b&震惊!&/b&&/h2&&p&这位朋友转发给我一段视频,他有一定的防骗知识,知道HTTPS和证书的意义。正是看完这段视频,他选择相信骗子,成为这个骗局中最后一位受害者,应该也是损失最大的一位。&/p&&p&这是骗子在失联前,上传的最后一段视频:&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/195392& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic2.zhimg.com/80/v2-23345f6aff4cbcc1d87e68d_b.jpg& data-lens-id=&195392&&
&img class=&thumbnail& src=&https://pic2.zhimg.com/80/v2-23345f6aff4cbcc1d87e68d_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/195392&/span&
&p&和之前一样,这段视频还是在展示骗子多么的实力雄厚,多么的靠谱,金额也更加夸张,38760BTC,价值近22亿人民币。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-9a559cbcd9_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1948& data-rawheight=&962& class=&origin_image zh-lightbox-thumb& width=&1948& data-original=&https://pic1.zhimg.com/v2-9a559cbcd9_r.jpg&&&/figure&&p&不过,看完这段视频,我十分震惊,不是因为那夸张的金额,而是因为我一时竟想不到骗子是怎么拍出这段视频的。&/p&&p&根据视频中百度时间的显示,这段视频拍摄于日18点。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-32d26e6ce27cf523bb02246a14ecdf16_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1946& data-rawheight=&962& class=&origin_image zh-lightbox-thumb& width=&1946& data-original=&https://pic3.zhimg.com/v2-32d26e6ce27cf523bb02246a14ecdf16_r.jpg&&&/figure&&p&这次,他在视频中展示了网站证书的详细信息。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-57b5ccb6857aacf0be8f74b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1952& data-rawheight=&964& class=&origin_image zh-lightbox-thumb& width=&1952& data-original=&https://pic3.zhimg.com/v2-57b5ccb6857aacf0be8f74b_r.jpg&&&/figure&&p&让我们在自己的浏览器里打开百度,查看下证书。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-1c9afe762f9f95fe11f2ae_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2692& data-rawheight=&1048& class=&origin_image zh-lightbox-thumb& width=&2692& data-original=&https://pic2.zhimg.com/v2-1c9afe762f9f95fe11f2ae_r.jpg&&&/figure&&p&对比一下证书的SHA-256指纹,你就会发现,这真的是百度持有的证书,也就是说,这是真的百度网站。&/p&&p&同样的,骗子也展示了OKEX网站的证书。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-3b21ac6dc0cf32e4c6d703_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1948& data-rawheight=&964& class=&origin_image zh-lightbox-thumb& width=&1948& data-original=&https://pic3.zhimg.com/v2-3b21ac6dc0cf32e4c6d703_r.jpg&&&/figure&&p&毫无疑问,这个证书也是真的,因为视频中的SHA-256指纹和我们自行访问OKEX网站看到的证书指纹一致。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-590e3c79c76e9f138a3554_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2688& data-rawheight=&974& class=&origin_image zh-lightbox-thumb& width=&2688& data-original=&https://pic2.zhimg.com/v2-590e3c79c76e9f138a3554_r.jpg&&&/figure&&p&也就是说,这个骗子打开的真的是如假包换的百度和OKEX网站,证书已经说明了一切,之前的结论完全被推翻,这不是假的网站,没有使用“同形异义字”的域名进行欺骗。&/p&&p&认真核对完每个细节后,我的表情是这样的。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-d51dda22279ecb66e7a9a040aaac699f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1298& data-rawheight=&1068& class=&origin_image zh-lightbox-thumb& width=&1298& data-original=&https://pic1.zhimg.com/v2-d51dda22279ecb66e7a9a040aaac699f_r.jpg&&&/figure&&p&&br&&/p&&h2&&b&骗子的秘密&/b&&/h2&&p&仔细分析之后,我发现了一个被遗漏的细节,真实的数据从正确的网站安全的传输到浏览器之后,还有一个非常重要的步骤:浏览器要把这些数据显示在屏幕上。&/p&&p&这一步是可以动手脚的。&/p&&p&下面是一个正常的流程,数据被正确的生成、传输、显示。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-9c337a2d5b84dc6bcadbe4d773b64879_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1142& data-rawheight=&370& class=&origin_image zh-lightbox-thumb& width=&1142& data-original=&https://pic2.zhimg.com/v2-9c337a2d5b84dc6bcadbe4d773b64879_r.jpg&&&/figure&&p&如果数据在浏览器的显示被动了手脚,就会是下面这个样子:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-ce741bdf3925cdc97aa02c7643221abe_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1202& data-rawheight=&350& class=&origin_image zh-lightbox-thumb& width=&1202& data-original=&https://pic1.zhimg.com/v2-ce741bdf3925cdc97aa02c7643221abe_r.jpg&&&/figure&&p&浏览器并没有忠实地显示它收到的数据,而是显示了虚假的数据。&/p&&p&&br&&/p&&p&思路有了,怎么实现呢?&/p&&p&强大的Chrome又有一项功能被坏人利用了,这就是“拓展程序”(Chrome Extension)。&/p&&p&拓展程序设计的目的,是为了方便开发者为Chrome增加新的功能,拓展程序运行在用户本地的浏览器上,可以对页面实时进行修改和增强。这种修改只对安装了拓展程序的用户自己的浏览器有效,不受服务器的控制。&/p&&ul&&li&比如程序员常用的一个拓展程序Octotree,便会对Github的页面进行修改,增加一个侧边栏,方便展现代码的层次。&/li&&/ul&&figure&&img src=&https://pic3.zhimg.com/v2-2a0dcc6ae961d8c0c2d10_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2692& data-rawheight=&1464& class=&origin_image zh-lightbox-thumb& width=&2692& data-original=&https://pic3.zhimg.com/v2-2a0dcc6ae961d8c0c2d10_r.jpg&&&/figure&&ul&&li&流行的以太坊轻钱包MetaMask,也是使用Chrome的拓展程序实现的,只要安装了它,Chrome就可以成为非常方便的以太坊轻钱包。&/li&&/ul&&figure&&img src=&https://pic4.zhimg.com/v2-f703fbbef34_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&798& data-rawheight=&1266& class=&origin_image zh-lightbox-thumb& width=&798& data-original=&https://pic4.zhimg.com/v2-f703fbbef34_r.jpg&&&/figure&&ul&&li&很多广告屏蔽插件,也是拓展程序,它们可以实时对页面中的广告进行删除,比如AdBlock。&/li&&/ul&&p&Chrome拓展程序的功能是如此丰富和强大,可以操作浏览器的网络、页面、存储等等。&/p&&p&骗子开发了一个拓展程序,在录制视频时,篡改了网页的显示,由于这一步是在本地完成的,数据在服务器端到浏览器的传输完全没有受到影响,能显示正确的证书也就不足为奇。&/p&&p&拓展程序会一直运行在浏览器后台,因此可以实时修改页面内容,反复刷新页面也依然有效,这也就解释了,为什么骗子视频中,完全不怕刷新页面。&/p&&h2&&b&验证&/b&&/h2&&p&为了证明我的想法确实是可行的,我也做了个同样的视频,避免被坏人利用,视频里的数据都是故意夸张和明显能看出来是假的。只是为了证明,伪造技术的可行性。&/p&&p&睁大你的眼睛!&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/016384& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic1.zhimg.com/80/v2-f44dc68e3595cfcd82a3d44b_b.jpg& data-lens-id=&016384&&
&img class=&thumbnail& src=&https://pic1.zhimg.com/80/v2-f44dc68e3595cfcd82a3d44b_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/016384&/span&
&p&日6点,我拥有45678个比特币!&/p&&h2&&b&谁来背锅?&/b&&/h2&&p&在这个骗局中,除了骗子,没有人做错了。&/p&&ul&&li&对百度和OKEX来说,他们已经确保了自己网站上的数据是真实正确的,并使用了安全的HTTPS协议,把数据完整地传输到了浏览器&/li&&li&对浏览器来说,无论是开发者工具还是拓展程序,都是正常的功能,只是被坏人滥用&/li&&li&对上当受骗的小白来说,这个骗子的视频实在太有说服力,只从视频本身,确实难以看出破绽。&/li&&/ul&&p&&br&&/p&&p&既然我们已经证明了图和视频都是可以伪造的,而且可以伪造到以假乱真的地步,那么我们该如何验证他人的数字资产和向别人证明自己持有数字资产呢?&/p&&p&这篇文章已经太长了,这个问题就让我们先挖个坑,留待后续文章再填吧。&/p&&p&&br&&/p&&p&&i&如果你是相关骗局的受害者,了解更多骗局的内幕,或者有其他相关信息,欢迎在评论区留言,让我们共同分享各种骗术,避免更多的小白上当。&/i&&/p&&p&&br&&/p&&p&&i&如果你喜欢这篇文章,就请收藏或点赞吧。&/i&&/p&&p&&i&欢迎关注我的知乎,听&b&李明阳&/b&讲&b&区块链&/b&。&/i&&/p&&p&&i&未来还有更多实用有趣的知识带给大家。&/i&&/p&
不知从什么时候开始,“有图有真相”成了大家的口头禅。 照片确实可以作为事实的佐证,增加可信度。 然而,照片真的不会欺骗你吗?有图真的就一定有真相吗?李明阳有话说我相信这篇文章一定触及到了很多骗子和黑产的利益,因为我在撰写这篇文章的时候,又见…
夜半来答,先放镇楼图~&figure&&img src=&https://pic1.zhimg.com/50/101cf532b7d_b.jpg& data-rawwidth=&468& data-rawheight=&312& class=&origin_image zh-lightbox-thumb& width=&468& data-original=&https://pic1.zhimg.com/50/101cf532b7d_r.jpg&&&/figure&&br&我18岁开始拉丁,跳4年,真的爱上了。从一开始的无感到现在有事没事看巨星表演,连微博关注都是一群跳拉丁的,就能看出来我是一个多喜欢拉丁的业余舞者!唔好像暴露了什么(?o?&br&改变很多,说俩主要的。&br&1.体态,跳拉丁好的体态一定不会太差,就算胖,也肯定能顶出胸膛。高中那会我有点驼背,跳拉丁后开始在意这些并坚持学习健身知识,在坚持中纠正了以前养成的许多不良姿势,现在有不少人都说我走路昂首挺胸,我也爱上体态端正的自己。&br&2.气质,外在的气质是姿态,内化的气质是情感。跳拉丁后就喜欢一直活力充沛,也爱上了总是深情饱满,唔~我以前的感情比较平,坚持跳拉丁之后,伦巴让我知道了得爱情的状态还可以这样;恰恰让我觉得快乐很简单;跳牛仔时觉得我在好蓝的天空下,阳光热烈,人人皮肤微黑露出白亮的齿;桑巴是烤肉酒会后;斗牛是真正的王式情操啊!天啦噜我以前可是个日常无事蝴蝶飞的人呐,而拉丁触动了我潜意识的情感,它用音乐和肢体让我学会用心去感知,所以我觉得坚持跳拉丁会让人变得力与美,不管是身体,还是内心。&br&&br&不知道爵士怎么样,因为自从开始跳拉丁就再也不想跳别的&br&&br&&br&&br&这里是分享的分割线————————————————————————&br&有朋友说初学觉得不好坚持,我的方法是不断看行业顶端来激励自己,分享一些表演赛的视频,经常看到他们的精彩表演也为自己找动力吧,那么美~&br&1.这是国际巨星拉丁舞表演,因为我喜欢Carmen所以你也可以直接从116分钟开始看:&br&&a href=&//link.zhihu.com/?target=http%3A//m.yinyuetai.com/video/Furl_type%3D1%26object_type%3D%26pos%3D1& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http:m.yinyuetai.com/video/438103?url_type=1&object_type=&pos=1&/a&&br&音悦台里还有03到09年的,有兴趣的可以点别的(08年斯拉维克和安娜的每一支舞也好美,斯拉维克的编舞和音乐真是融为一体…)&br&2.微信的/一般的我就不留了,这一些是我蛮喜欢的,时间都很短,没时间的可以看看这个&br&*马蒂诺恰恰,这个音乐我喜欢可是找不到,知道的告诉我下&a href=&//link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s/90Df7xMR3tCnayPYpeTIBg& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&mp.weixin.qq.com/s/90Df&/span&&span class=&invisible&&7xMR3tCnayPYpeTIBg&/span&&span class=&ellipsis&&&/span&&/a&&br&*一段伦巴套路,是一个蛮有名的舞蹈教室出的系列视频&br&&a href=&//link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s/aBWrj0QbOJz1Uz3KCQqLQw& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&mp.weixin.qq.com/s/aBWr&/span&&span class=&invisible&&j0QbOJz1Uz3KCQqLQw&/span&&span class=&ellipsis&&&/span&&/a&&br&*十年后斯拉维克和卡琳娜的再现伦巴,卡琳娜美的好像维纳斯&br&&a href=&//link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s/0O8HBwdXDRXzvSebhXT9_g& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&mp.weixin.qq.com/s/0O8H&/span&&span class=&invisible&&BwdXDRXzvSebhXT9_g&/span&&span class=&ellipsis&&&/span&&/a&&br&*Armen的一段斗牛,荡气回肠啊&br&&a href=&//link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s/ROZKD6gu9F2ICxCskDPldg& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&mp.weixin.qq.com/s/ROZK&/span&&span class=&invisible&&D6gu9F2ICxCskDPldg&/span&&span class=&ellipsis&&&/span&&/a&&br&*克莱门一段不俗的伦巴,淡淡的美&br&&a href=&//link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s/X7YeCYRK5H1J93qR9YM7xQ& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&mp.weixin.qq.com/s/X7Ye&/span&&span class=&invisible&&CYRK5H1J93qR9YM7xQ&/span&&span class=&ellipsis&&&/span&&/a&&br&*美国舞动人生比赛?这个挺清春活泼的&br&&a href=&//link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s/SipdEbXbE5DVQKak7164Cw& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&mp.weixin.qq.com/s/Sipd&/span&&span class=&invisible&&EbXbE5DVQKak7164Cw&/span&&span class=&ellipsis&&&/span&&/a&&br&*俄罗斯职业决赛solo&br&&a href=&//link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s/YAEIZDjdmnFUXboqStS2FA& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&mp.weixin.qq.com/s/YAEI&/span&&span class=&invisible&&ZDjdmnFUXboqStS2FA&/span&&span class=&ellipsis&&&/span&&/a&&br&*尤里娅桑巴&br&&a href=&//link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s/HCLlSk60EpA8ypp-NCumvg& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&mp.weixin.qq.com/s/HCLl&/span&&span class=&invisible&&Sk60EpA8ypp-NCumvg&/span&&span class=&ellipsis&&&/span&&/a&&br&*阿尔钦的套路&br&&a href=&//link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s/iIBQhh1Xdn1jQGVvvhA6UA& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&mp.weixin.qq.com/s/iIBQ&/span&&span class=&invisible&&hh1Xdn1jQGVvvhA6UA&/span&&span class=&ellipsis&&&/span&&/a&&br&*2016一段冠军表演赛,化妆成卓别林的,有趣~&br&&a href=&//link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s/DmrwSOGcd-ip2VZZj066QA& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&mp.weixin.qq.com/s/Dmrw&/span&&span class=&invisible&&SOGcd-ip2VZZj066QA&/span&&span class=&ellipsis&&&/span&&/a&&br&&br&先这么多吧,不知道怎么放可以直接点进去的,大家锻炼下手指吧~
夜半来答,先放镇楼图~ 我18岁开始拉丁,跳4年,真的爱上了。从一开始的无感到现在有事没事看巨星表演,连微博关注都是一群跳拉丁的,就能看出来我是一个多喜欢拉丁的业余舞者!唔好像暴露了什么(?o? 改变很多,说俩主要的。 1.体态,跳拉丁好的体态…
&h2&1.交互类型&/h2&&h2&1.安装引入模块&/h2&&ul&&li&安装mysql模块,在windows和ubuntu中&/li&&/ul&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-acd736cb951e1e54fbccb9_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&554& data-rawheight=&96& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&https://pic3.zhimg.com/v2-acd736cb951e1e54fbccb9_r.jpg&&&/figure&&p&&br&&/p&&p&windows里安装mysql模块&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-e55c7b6cda545_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&518& data-rawheight=&240& class=&origin_image zh-lightbox-thumb& width=&518& data-original=&https://pic4.zhimg.com/v2-e55c7b6cda545_r.jpg&&&/figure&&p&&br&&/p&&p&Linux里安装mysql模块&/p&&ul&&li&在文件中引入模块&br&import pymysql&/li&&/ul&&h2&1.Connection对象&/h2&&ul&&li&用于建立与数据库的连接&/li&&li&创建对象:调用connect()方法&br&conn=connect(参数列表)&/li&&li&参数host:连接的mysql主机,如果本机是'localhost'&/li&&li&参数port:连接的mysql主机的端口,默认是3306&/li&&li&参数db:数据库的名称&/li&&li&参数user:连接的用户名&/li&&li&参数password:连接的密码&/li&&li&参数charset:通信采用的编码方式,默认是'gb2312',要求与数据库创建时指定的编码一致,否则中文会乱码&/li&&/ul&&h2&2.对象的方法&/h2&&ul&&li&close()关闭连接&/li&&li&commit()事务,所以需要提交才会生效&/li&&li&rollback()事务,放弃之前的操作&/li&&li&cursor()返回Cursor对象,用于执行sql语句并获得结果&/li&&/ul&&p&&b&Cursor对象&/b&&/p&&ul&&li&执行sql语句&/li&&li&创建对象:调用Connection对象的cursor()方法&br&cursor1=conn.cursor()&/li&&/ul&&p&&b&对象的方法&/b&&/p&&ul&&li&close()关闭&/li&&li&execute(operation [, parameters ])执行语句,返回受影响的行数&/li&&li&fetchone()执行查询语句时,获取查询结果集的第一个行数据,返回一个元组&/li&&li&next()执行查询语句时,获取当前行的下一行&/li&&li&fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回&/li&&li&scroll(value[,mode])将行指针移动到某个位置&/li&&li&mode表示移动的方式&/li&&li&mode的默认值为relative,表示基于当前行移动到value,value为正则向下移动,value为负则向上移动。相对的&/li&&li&mode的值为absolute,表示基于第一条数据的位置,第一条数据的位置为0,绝对的。&/li&&/ul&&p&&b&举个例子便于理解&/b&&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&# 导入python操作mysql的模块
import pymysql
# 获取连接对象
conn = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='python01', port=3306, charset='utf8')
# 获取执行工具
cur = conn.cursor()
# sql语句,增删改
#sql = 'select birthday from t_user'
sql = 'select id,name,pwd,birthday from t_user'
# 执行,返回值。如果是增删改,返回受影响的行数,如果是查询,返回查询的行数
count = cur.execute(sql)
print('查询的结果有%s条数据'%count)
#获取第一行
dateOne = cur.fetchone()
print(dateOne)
#向上移动一行
cur.scroll(-1)
#向下移动一行
cur.scroll(1)
cur.scroll(1,mode='absolute')
绝对的,这里指的是第一行
cur.scroll(1,mode='relative')
#获取所有行的数据
dataAll = cur.fetchall()
print(dataAll)
for temp in dataAll:
print(temp)
print(dataAll[-1][2])
#dataAll[-1]得到的是一个用户所有的信息,dataAll[-1][2]获取最后一个人的密码
for temp in cur:
print(temp)
s = 'id:%s,name:%s,pwd:%s,birthday:%s'
for temp in dataAll:
print(s%(temp[0],temp[1],temp[2],temp[3]))
cur.close()
conn.close()
&/code&&/pre&&/div&&h2&3.对象的属性&/h2&&ul&&li&rowcount只读属性,表示最近一次execute()执行后受影响的行数&/li&&li&connection获得当前连接对象&/li&&/ul&&h2&2.增删改查(CRUD)&/h2&&h2&1.增&/h2&&ul&&li&创建testInsert.py文件,向学生表中插入一条数据&/li&&/ul&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&#encoding=utf-8
import pymysql
conn=pymysql.connect(host='localhost',port=3306,db='test1',user='root',passwd='mysql',charset='utf8')
cs1=conn.cursor()
count=cs1.execute(&insert into students(sname) values('张良')&)
print(count)
conn.commit()
cs1.close()
conn.close()
except Exception,e:
&/code&&/pre&&/div&&h2&2.修改&/h2&&ul&&li&创建testUpdate.py文件,修改学生表的一条数据&/li&&/ul&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&#encoding=utf-8
import pymysql
conn=pymysql.connect(host='localhost',port=3306,db='test1',user='root',passwd='mysql',charset='utf8')
cs1=conn.cursor()
count=cs1.execute(&update students set sname='刘邦' where id=6&)
print(count)
conn.commit()
cs1.close()
conn.close()
except Exception,e:
&/code&&/pre&&/div&&h2&3.删除&/h2&&ul&&li&创建testDelete.py文件,删除学生表的一条数据&/li&&/ul&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&#encoding=utf-8 import pymysql
conn=pymysql.connect(host='localhost',port=3306,db='test1',user='root',passwd='mysql',charset='utf8')
cs1=conn.cursor()
count=cs1.execute(&delete from students where id=6&)
print(count)
conn.commit()
cs1.close()
conn.close()
except Exception as e:
&/code&&/pre&&/div&&h2&4.查&/h2&&ul&&li&创建testSelectOne.py文件,查询一条学生信息import Pymysql try:&br&
conn=Pymysql.connect(host='localhost',port=3306,db='test1',user='root',passwd='mysql',charset='utf8')&br&
cur=conn.cursor()&br&
cur.execute('select * from students where id=7')&br&
result=cur.fetchone()&br&
print result&br&
cur.close()&br&
conn.close()&br&except Exception as e:&br&
print(e)&/li&&li&创建testSelectMany.py文件,查询全部学生信息&i&#encoding=utf8&/i& import Pymysql&br&try:&br&
conn=Pymysql.connect(host='localhost',port=3306,db='test1',user='root',passwd='mysql',charset='utf8')&br&
cur=conn.cursor()&br&
cur.execute('select * from students')&br&
result=cur.fetchall()&br&
print result&br&
cur.close()&br&
conn.close()&br&except Exception as e:&br&
print(e)&/li&&/ul&&p&&b&实例一:参数&/b&&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&# 导入python操作mysql的模块
import pymysql
import time
# 获取连接对象
conn = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='python01', port=3306, charset='utf8')
# 获取执行工具
cur = conn.cursor()
# sql语句,增删改,sql注入
sql = 'insert into t_user(name,pwd,birthday) values(%s,%s,%s)'
# 参数列表
name = input('输入姓名:')
pwd = input('输入密码:')
birthday = input('输入生日:')
# 日--&日期struct_time(---&)
birthday = time.strptime(birthday,'%Y年%m月%d日')
#这里我们就用到了时间与字符串的相互转换(详情见MySQL高级)
params = [name,pwd,birthday]
# 执行,返回值。如果是增删改,返回受影响的行数,如果是查询,返回查询的行数
count = cur.execute(sql,params)
conn.commit()
print('受影响的行数:%s'%count)
cur.close()
conn.close()
&/code&&/pre&&/div&&p&&b&实例二:抛出异常&/b&&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&# 导入python操作mysql的模块
import pymysql
conn = None
cur = None
# 获取连接对象
conn = pymysql.connect(host='127.0.0.1',
user='root',
password='123456',
database='python01',
port=3306,
charset='utf8')
# 模拟异常
# a = 1 / 0
# 获取执行工具
cur = conn.cursor()
# sql语句,增删改
sql = 'insert into t_user(name,pwd,birthday) values(&小伊&,&123456&,str_to_date(&日&,&%Y年%m月%d日&))'
# 执行,返回值。如果是增删改,返回受影响的行数,如果是查询,返回查询的行数
count = cur.execute(sql)
conn.commit()
print('受影响的行数:%s' % count)
except Exception as ex:
# 打印异常信息,测试时候使用,项目上线,去掉
print(str(ex))
# 将异常继续抛出
if cur != None:
cur.close()
if conn != None:
conn.close()
&/code&&/pre&&/div&&p&&b&实例三:&/b&&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&# 导入python操作mysql的模块
import pymysql
# 获取连接对象
conn = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='python01', port=3306, charset='utf8')
# 获取执行工具
cur = conn.cursor()
# sql语句,增删改
#sql = 'select birthday from t_user'
sql = 'select id,name,pwd,birthday from t_user'
# 执行,返回值。如果是增删改,返回受影响的行数,如果是查询,返回查询的行数
count = cur.execute(sql)
print('查询的结果有%s条数据'%count)
#获取第一行
# dateOne = cur.fetchone()
# print(dateOne)
# for temp in cur:
print(temp)
s = 'id:%s,name:%s,pwd:%s,birthday:%s'
for temp in dataAll:
print(s%(temp[0],temp[1],temp[2],temp[3]))
cur.close()
conn.close()
&/code&&/pre&&/div&&h2&3.封装&/h2&&p&这个库的名字:mySqlHelper&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span& python操作mysql进行增删改查的封装
1、增删改,代码类似
1、获取连接对象
2、sql语句不同,参数不同
3、获取执行对象
1、fetchone
2、fetchall
4、处理结果
建立类,封装属性和函数 '''
import pymysql
class MysqlHelper:
'''python操作mysql的增删改查的封装'''
def __init__(self, host, user, password, database, port=3306, charset='utf8'):
初始化参数
:param host:
:param user:
:param password:
:param database:
:param port:
端口号,默认是3306
:param charset:
编码,默认是utf8
self.host = host
self.port = port
self.database = database
self.user = user
self.password = password
self.charset = charset
def connect(self):
获取连接对象和执行对象
self.conn = pymysql.connect(host=self.host,
user=self.user,
password=self.password,
database=self.database,
port=self.port,
charset=self.charset)
self.cur = self.conn.cursor()
def fetchone(self, sql, params=None):
根据sql和参数获取一行数据
:param sql:
:param params:
sql语句对象的参数元组,默认值为None
查询的一行数据
dataOne = None
count = self.cur.execute(sql, params)
if count != 0:
dataOne = self.cur.fetchone()
except Exception as ex:
self.close()
return dataOne
def fetchall(self, sql, params=None):
根据sql和参数获取一行数据
:param sql:
:param params:
sql语句对象的参数列表,默认值为None
查询的一行数据
dataall = None
count = self.cur.execute(sql, params)
if count != 0:
dataall = self.cur.fetchall()
except Exception as ex:
self.close()
return dataall
def __item(self, sql, params=None):
执行增删改
:param sql:
:param params:
sql语句对象的参数列表,默认值为None
受影响的行数
count = self.cur.execute(sql, params)
self.conn.commit()
except Exception as ex:
self.close()
return count
def update(self, sql, params=None):
:param sql:
:param params:
sql语句对象的参数列表,默认值为None
受影响的行数
return self.__item(sql, params)
def insert(self, sql, params=None):
:param sql:
:param params:
sql语句对象的参数列表,默认值为None
受影响的行数
return self.__item(sql, params)
def delete(self, sql, params=None):
:param sql:
:param params:
sql语句对象的参数列表,默认值为None
受影响的行数
return self.__item(sql, params)
def close(self):
关闭执行工具和连接对象
if self.cur != None:
self.cur.close()
if self.conn != None:
self.conn.close()
&/code&&/pre&&/div&&h2&1.测试查询多条数据&/h2&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&import mysqlHelper
# 初始化对象
helper = mysqlHelper.MysqlHelper('127.0.0.1', 'root', '123456', 'python01')
helper.connect()
sql = 'select * from t_user where name = %s and id & %s'
params = ['小茗',1]
data = helper.fetchall(sql, params)
for temp in data:
print(temp)
# None,False,0
print('没有数据.')
helper.close()
&/code&&/pre&&/div&&h2&2.测试查询一条数据&/h2&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&import mysqlHelper
# 初始化对象
helper = mysqlHelper.MysqlHelper('127.0.0.1', 'root', '123456', 'python01')
helper.connect()
sql = 'select * from t_user where id = %s'
#sql = 'select * from t_user where id = 1'
params = [2]
data = helper.fetchone(sql, params)
#data = helper.fetchone(sql)
print(data)
# None,False,0
print('没有数据.')
&/code&&/pre&&/div&&h2&3.测试增删改&/h2&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&import mysqlHelper
import time
# 初始化对象
helper = mysqlHelper.MysqlHelper('127.0.0.1', 'root', '123456', 'python01')
helper.connect()
sql = 'update t_user set name =%s,pwd=%s,birthday=%s where id=%s'
id = input('输入编号:')
name = input('输入姓名:')
pwd = input('输入密码:')
birthday = time.strptime(input('输入生日:'), '%Y年%m月%d日')
params = [name, pwd, birthday,id]
count = helper.update(sql, params)
print('操作成功.')
# None,False,0
print('操作失败.')
&/code&&/pre&&/div&&h2&4.登录和注册&/h2&&p&登录和注册的时候需要对密码进行加密&/p&&p&注意:&/p&&ul&&li&需要对密码进行加密&/li&&li&如果使用md5加密,则密码包含32个字符&/li&&li&如果使用sha1加密,则密码包含40个字符,这里使用这种方式&/li&&/ul&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&create table userinfos(
id int primary key auto_increment,
uname varchar(20),
upwd char(40),
isdelete bit default 0
ret = doPwd('123')
print(ret)
结果:40bdfcff5c5ecbdbbeef
-- 插入如下数据,用户名为123,密码为123,这是sha1加密后的值
insert into userinfos
values(1,'123','40bdfcff5c5ecbdbbeef',0);
&/code&&/pre&&/div&&p&&b&登录与注册&/b&&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&from mysqlHelper import MysqlHelper
import hashlib
def login():
'''登录'''
name = input('输入用户名:')
pwd = input('输入密码:')
pwd = doPwd(pwd)
helper = MysqlHelper('127.0.0.1', 'root', '123456', 'python01')
helper.connect()
sql = 'select * from t_user where name=%s and pwd=%s'
params = [name, pwd]
data = helper.fetchone(sql, params)
print('登录成功.')
# None,False,0
print('登录失败.')
def doPwd(pwd):
'''sha1编码'''
mysha1 = hashlib.sha1()
mysha1.update(pwd.encode('utf-8'))
pwd = mysha1.hexdigest()
return pwd
def register():
'''注册'''
name = input('输入用户名:')
pwd = input('输入密码:')
pwd = doPwd(pwd)
helper = MysqlHelper('127.0.0.1', 'root', '123456', 'python01')
helper.connect()
sql = 'insert into t_user(name,pwd) values(%s,%s)'
params = [name, pwd]
count = helper.insert(sql, params)
print('操作成功.')
# None,False,0
print('操作失败.')
if __name__ == '__main__':
#register()
&/code&&/pre&&/div&&p&&br&&/p&&blockquote&作者:_知几 Python爱好者社区专栏作者,请勿转载,谢谢。 &br&简书主页:&a href=&https://link.zhihu.com/?target=http%3A//www.jianshu.com/u/9dad& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&jianshu.com/u/9dad6621d&/span&&span class=&invisible&&2a0&/span&&span class=&ellipsis&&&/span&&/a&&br&博客专栏:&a href=&https://link.zhihu.com/?target=https%3A//ask.hellobi.com/blog/zhiji& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&_知几的博客专栏&/a&&br&&br&配套视频教程:Python3爬虫三大案例实战分享:猫眼电影、今日头条街拍美图、淘宝美食 &a href=&https://link.zhihu.com/?target=https%3A//edu.hellobi.com/course/156& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python3爬虫三大案例实战分享&/a& &br&公众号:Python爱好者社区(微信ID:python_shequ),关注,查看更多连载内容。&/blockquote&
1.交互类型1.安装引入模块安装mysql模块,在windows和ubuntu中 windows里安装mysql模块 Linux里安装mysql模块在文件中引入模块 import pymysql1.Connection对象用于建立与数据库的连接创建对象:调用connect()方法 conn=connect(参数列表)参数host:连接的m…
这里我提供4种方案。&br&1、Excel的Power Map功能&br&2、报表软件FineReport的GIS地图&br&3、BI工具FineBI的数据地图&br&4、GIS地图软件&br&&br&&p&&b&一类方案:直接在excel&/b&&b&里制作&/b&&/p&&p&&b&优势:&/b&个人小数据量应用较为方便简单&/p&&p&&b&缺点&/b&:需要熟悉VBA,且更强大的功能对VBA水平要求较高&/p&&p&&b&1&/b&&b&、绘制地图图形 + VBA&/b&&b&宏语言&/b&&/p&&p&&b&思路:&/b&用插入图形&任意多边形&绘制地图;每一个&任意多边形&赋予正确名称;对&任意多边形&赋值;利用VBA对&任意多边形&的值进行操作, 例如上色。&/p&&p&先准备一张所需要的地图图片,网上都有,可以下载&/p&&p&然后利用插入绘制多边形图片将地图中的区域描边&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-7834cbac2f7ad84140b3aa_b.jpg& data-rawwidth=&1436& data-rawheight=&945& class=&origin_image zh-lightbox-thumb& width=&1436& data-original=&https://pic2.zhimg.com/50/v2-7834cbac2f7ad84140b3aa_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/50/v2-e85774b6cfaa_b.jpg& data-rawwidth=&1326& data-rawheight=&875& class=&origin_image zh-lightbox-thumb& width=&1326& data-original=&https://pic2.zhimg.com/50/v2-e85774b6cfaa_r.jpg&&&/figure&&br&&br&&p&将数据表中的数据和地图中的地区做关联,这里就要用到VBA了。&/p&&p&&b&代码:&/b&&/p&&p&Sub ProvRefill()&/p&&p&
ActiveSheet.Shapes.Range(Array(&shandong&)).Select&/p&&p&
With Selection.ShapeRange.Fill&/p&&p&
.Visible = msoTrue&/p&&p&
.ForeColor.ObjectThemeColor = msoThemeColorAccent1&/p&&p&
.ForeColor.TintAndShade = 0&/p&&p&
.ForeColor.Brightness = -0.5&/p&&p&
.Transparency = 0&/p&&p&
.Solid&/p&&p&
End With&/p&&p&End Sub&/p&&p&这段代码是修改地图所选区域的颜色的,其他功能类似,懂VBA的会觉得简单,不懂的可以自行百度。&/p&&p&&b&2&/b&&b&、EXCEL&/b&&b&插件集成&/b&&/p&&p&这类插件有很多,推荐Power Map for Excel 2013,安装好之后,选择数据区域,启动就行&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-5415b0bfa04cc33acd425cd99b468bc5_b.jpg& data-rawwidth=&2552& data-rawheight=&1235& class=&origin_image zh-lightbox-thumb& width=&2552& data-original=&https://pic2.zhimg.com/50/v2-5415b0bfa04cc33acd425cd99b468bc5_r.jpg&&&/figure&&br&&p&&b&二类方案:其他软件&/b&&/p&&p&&b&优势:&/b&地图已集成在内,可连接数据库,已有功能强大大数据量处理具有优势&/p&&p&&b&缺点:&/b&复杂需求需要自定义开发&/p&&p&如果需要开发报表和做数据分析,适宜用报表软件FineReport和BI工具FineBI&/p&&br&&p&&b&报表软件FineReport&/b&&br&&/p&&p&这里介绍FineReport(功能强大最实际的报表工具)&/p&&p&展示数据地图不在话下,关键有&b&地图钻取&/b&功能。&/p&&p&所谓钻取就是:比如你点击山东省,进入山东省省地图,显示山东省各市的数据,数据的展示方式可以使用其他图表,比如条形图、气泡图等等。&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-8354bbeb873f60bccb0ef_b.jpg& data-rawwidth=&1094& data-rawheight=&511& class=&origin_image zh-lightbox-thumb& width=&1094& data-original=&https://pic4.zhimg.com/50/v2-8354bbeb873f60bccb0ef_r.jpg&&&/figure&&br&&figure&&img src=&https://pic1.zhimg.com/50/v2-8d7a33adef9d97a70aa28a_b.jpg& data-rawwidth=&1083& data-rawheight=&499& class=&origin_image zh-lightbox-thumb& width=&1083& data-original=&https://pic1.zhimg.com/50/v2-8d7a33adef9d97a70aa28a_r.jpg&&&/figure&&br&&p&&b&详细步骤:&/b&&/p&&p&1、
准备数据源&/p&&p&将excel的数据导入到这个报表设计器里,如果你的excel数据是取自于数据库的话,可以直接从设计器里读取数据库的数据。&/p&&p&2、
合并一片单元格,点击菜单栏中的插入&单元格元素&插入图表,选择地图,然后点击确定,如下图:(这里申明一下,这个软件类似于EXCEL,所以一些操作术语何以类比于EXCEL)&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-6cd9ffa8fb3faafa533e62_b.jpg& data-rawwidth=&660& data-rawheight=&600& class=&origin_image zh-lightbox-thumb& width=&660& data-original=&https://pic4.zhimg.com/50/v2-6cd9ffa8fb3faafa533e62_r.jpg&&&/figure&&p&3、
选择地图类型,国家地图、省级地图还是其他云云,或者你有自定义的SVG地图也行。这里注意,地图的区域名要和区域数据字段的名字对应。&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-88c27c4af6427f7efd3e6ad2c32f488d_b.jpg& data-rawwidth=&853& data-rawheight=&405& class=&origin_image zh-lightbox-thumb& width=&853& data-original=&https://pic4.zhimg.com/50/v2-88c27c4af6427f7efd3e6ad2c32f488d_r.jpg&&&/figure&&p&个人觉得钻取才是其亮点,所以这里一定要介绍一下。&/p&&p&&b&钻取:&/b&&/p&&p&定义好地图的类型之后,就可以为地图定义数据来源了,选中地图,点击图表属性表-数据,进入数据设置面板,地图展现方式选择多层钻取,如下图:&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-a787105caaa25d52b718_b.jpg& data-rawwidth=&253& data-rawheight=&388& class=&content_image& width=&253&&&/figure&&br&&p&从上图可以看到,钻取层级下有个中国的文件夹,双击即可打开查看中国下面的省份,选中中国文件夹,右击,则会跳出层级设置对话框,如下图:&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-ade3a0860ece42b3e45ea0bcce1d27a9_b.jpg& data-rawwidth=&309& data-rawheight=&309& class=&content_image& width=&309&&&/figure&&br&&p&要实现点击山东省能出现一张柱状图,这个其实是两张图表关联的,所谓“联动”。&/p&&p&&b&联动:&/b&&/p&&p&合并一片单元格,点击插入&单元格元素&插入图表,选择柱形图,点击确定即可添加一张柱形图。&/p&&p&柱形图的数据来源:(这里我都是直接用数据库的数据源)&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-cb291d8bca52da16e22f2293fbc27ad5_b.jpg& data-rawwidth=&249& data-rawheight=&454& class=&content_image& width=&249&&&/figure&&br&&p&在此,地图和柱形图都已经设置好了,如果要实现联动,需要在设置交互属性。&/p&&p&选中地图,在图表属性表中选择特效,点击交互属性,添加一个超级链接,即点击,添加一个图表超链-联动单元格,设置如下图:&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-ab6d4bf20c_b.jpg& data-rawwidth=&507& data-rawheight=&608& class=&origin_image zh-lightbox-thumb& width=&507& data-original=&https://pic3.zhimg.com/50/v2-ab6d4bf20c_r.jpg&&&/figure&&br&&p&到这里基本就完成了。&/p&&br&&p&&b&BI工具FineBI&/b&&/p&&br&&p&FineBI的地图在展示效果上与所有用地图来做数据分析的样式基本一致,可以按照省,市,国家甚至一些定制的地图展示。但是,地图在添加分析数据时比较特殊,必须要有能与地区匹配的维度字段,才可以进行数据分析。而柱状图,饼图等组件,无论时间,其他状态字段等都可以作为分析的维度。&/p&&br&&b&1、新建图表&/b&&br&&p&选择地图组件,并拖拽至dashbroad需要显示的位置,然后会自动跳转至组件配置界面,如图所示:&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-21b9dd8479e3cbd4c55b7b9dc55fd93b_b.jpg& data-rawwidth=&1286& data-rawheight=&765& class=&origin_image zh-lightbox-thumb& width=&1286& data-original=&https://pic1.zhimg.com/50/v2-21b9dd8479e3cbd4c55b7b9dc55fd93b_r.jpg&&&/figure&&br&&br&&b&2、添加分析数据&/b&&br&&p&先选择需要使用的地图类型,比如中国地图。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-aef8a05e3b1834_b.jpg& data-rawwidth=&1010& data-rawheight=&274& class=&origin_image zh-lightbox-thumb& width=&1010& data-original=&https://pic2.zhimg.com/50/v2-aef8a05e3b1834_r.jpg&&&/figure&&br&&br&&p&当进入到组件详细配置界面时,从数据选择区域中,选择签约事实表,选择合同总价添加至指标区域,选择城市地区维度表,点击选择省字段添加至地区名区域,此时可以看到如图所示的展示结果,区域颜色深浅随指标值的不同而不同:。&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-3d27f89e776c1d5d5abf0c8_b.jpg& data-rawwidth=&1423& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1423& data-original=&https://pic3.zhimg.com/50/v2-3d27f89e776c1d5d5abf0c8_r.jpg&&&/figure&&br&&p&此时添加的省或者一些地区名称必须与BI中设置的省市等名称完成匹配,如省份里需要写全称,如江苏省而不是江苏,如内蒙古自治区,而不是内蒙古。如果数据展示不出来,请先确认添加的维度字段内容是否完整。&/p&&br&&b&3、地图钻取&/b&&br&&p&如果在地区名区域中添加了省,市2个字段,那么就可以使用钻取功能,点击任意省份,可以看每个省份对应的城市的销售数据。如图我们点击江苏省,查看南京,苏州,无锡等数据。&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-15dddae_b.jpg& data-rawwidth=&1274& data-rawheight=&761& class=&origin_image zh-lightbox-thumb& width=&1274& data-original=&https://pic3.zhimg.com/50/v2-15dddae_r.jpg&&&/figure&&figure&&img src=&https://pic4.zhimg.com/50/v2-c7d738f70bf6d241110dcfa09547b07b_b.jpg& data-rawwidth=&912& data-rawheight=&568& class=&origin_image zh-lightbox-thumb& width=&912& data-original=&https://pic4.zhimg.com/50/v2-c7d738f70bf6d241110dcfa09547b07b_r.jpg&&&/figure&
这里我提供4种方案。 1、Excel的Power Map功能 2、报表软件FineReport的GIS地图 3、BI工具FineBI的数据地图 4、GIS地图软件 一类方案:直接在excel里制作优势:个人小数据量应用较为方便简单缺点:需要熟悉VBA,且更强大的功能对VBA水平要求较高1、绘制地图…
很多人第一反应是各种切分;我给的顺序是:&br&第一优化你的sql和索引;&br&&br&第二加缓存,memcached,redis;&br&&br&第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第三方工具推荐360的atlas,其它的要么效率不高,要么没人维护;&br&&br&第四如果以上都做了还是慢,不要想着去做切分,mysql自带分区表,先试试这个,对你的应用是透明的,无需更改代码,但是sql语句是需要针对分区表做优化的,sql条件中要带上分区条件的列,从而使查询定位到少量的分区上,否则就会扫描全部分区,另外分区表还有一些坑,在这里就不多说了;&br&&br&第五如果以上都做了,那就先做垂直拆分,其实就是根据你模块的耦合度,将一个大的系统分为多个小的系统,也就是分布式系统;&br&&br&第六才是水平切分,针对数据量大的表,这一步最麻烦,最能考验技术水平,要选择一个合理的sharding key,为了有好的查询效率,表结构也要改动,做一定的冗余,应用也要改,sql中尽量带sharding key,将数据定位到限定的表上去查,而不是扫描全部的表;&br&&br&mysql数据库一般都是按照这个步骤去演化的,成本也是由低到高;&br&&br&有人也许要说第一步优化sql和索引这还用说吗?的确,大家都知道,但是很多情况下,这一步做的并不到位,甚至有的只做了根据sql去建索引,根本没对sql优化(中枪了没?),除了最简单的增删改查外,想实现一个查询,可以写出很多种查询语句,不同的语句,根据你选择的引擎、表中数据的分布情况、索引情况、数据库优化策略、查询中的锁策略等因素,最终查询的效率相差很大;优化要从整体去考虑,有时你优化一条语句后,其它查询反而效率被降低了,所以要取一个平衡点;即使精通mysql的话,除了纯技术面优化,还要根据业务面去优化sql语句,这样才能达到最优效果;你敢说你的sql和索引已经是最优了吗?&br&&br&再说一下不同引擎的优化,myisam读的效果好,写的效率差,这和它数据存储格式,索引的指针和锁的策略有关的,它的数据是顺序存储的(innodb数据存储方式是聚簇索引),他的索引btree上的节点是一个指向数据物理位置的指针,所以查找起来很快,(innodb索引节点存的则是数据的主键,所以需要根据主键二次查找);myisam锁是表锁,只有读读之间是并发的,写写之间和读写之间(读和插入之间是可以并发的,去设置concurrent_insert参数,定期执行表优化操作,更新操作就没有办法了)是串行的,所以写起来慢,并且默认的写优先级比读优先级高,高到写操作来了后,可以马上插入到读操作前面去,如果批量写,会导致读请求饿死,所以要设置读写优先级或设置多少写操作后执行读操作的策略;myisam不要使用查询时间太长的sql,如果策略使用不当,也会导致写饿死,所以尽量去拆分查询效率低的sql,&br&&br&innodb一般都是行锁,这个一般指的是sql用到索引的时候,行锁是加在索引上的,不是加在数据记录上的,如果sql没有用到索引,仍然会锁定表,mysql的读写之间是可以并发的,普通的select是不需要锁的,当查询的记录遇到锁时,用的是一致性的非锁定快照读,也就是根据数据库隔离级别策略,会去读被锁定行的快照,其它更新或加锁读语句用的是当前读,读取原始行;因为普通读与写不冲突,所以innodb不会出现读写饿死的情况,又因为在使用索引的时候用的是行锁,锁的粒度小,竞争相同锁的情况就少,就增加了并发处理,所以并发读写的效率还是很优秀的,问题在于索引查询后的根据主键的二次查找导致效率低;&br&&br&ps:很奇怪,为什innodb的索引叶子节点存的是主键而不是像mysism一样存数据的物理地址指针吗?如果存的是物理地址指针不就不需要二次查找了吗,这也是我开始的疑惑,根据mysism和innodb数据存储方式的差异去想,你就会明白了,我就不费口舌了!&br&&br&所以innodb为了避免二次查找可以使用索引覆盖技术,无法使用索引覆盖的,再延伸一下就是基于索引覆盖实现延迟关联;不知道什么是索引覆盖的,建议你无论如何都要弄清楚它是怎么回事!&br&&br&尽你所能去优化你的sql吧!说它成本低,却又是一项费时费力的活,需要在技术与业务都熟悉的情况下,用心去优化才能做到最优,优化后的效果也是立竿见影的!
很多人第一反应是各种切分;我给的顺序是: 第一优化你的sql和索引; 第二加缓存,memcached,redis; 第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第三方工具推荐360的atlas,其它的要么效率不…
&p&要把这个问题大概给你讲清楚,我必须要发挥我给女朋友讲睡前故事的能力了!大概只有从整体上来看了,你才能大概明白这几者之间的区别吧。&br&人物:&br&我——一个做饼干的饼干师傅~&br&螃蟹姐姐——帮我打下手的小盆友&br&你——爱好吃饼干的小朋友&br&螃蟹妹妹——我隔壁卖小麦粉、巧克力、香料、鸡蛋、黄油等等的杂货店老板&/p&&p&故事:&br&1.早上,你起床了,在家里一看,啊,饼干吃完了,得买点饼干来吃,于是打电话给我,说:“我要买一盒巧克力饼干,两盒黄油饼干和三盒苏打饼干。”&br&2.我接到了电话,想了想,问:“你多久要这些饼干呢?” 你说:“&b&[1]&i&越早越好,最晚早上十点之前吧~&/i&&/b&” “请稍等~” 我这么说道。&br&3.我回头&b&[2]&u&问&/u&&/b&螃蟹姐姐:“我们做的饼干还剩多少?” “黄油饼干和苏打饼干都还剩一盒,巧克力的没了。”螃蟹姐姐回答我。我想了一下,&b&&u&又问&/u&&/b&:“那各种原料呢?” 螃蟹姐姐说:“巧克力豆还剩一包,面粉还有半袋,黄油还有一块,苏打没了,糖管够(其实是懒不想写了)。”我在脑海中盘算了一下,做一盒&b&[3]巧克力饼干需要面粉四分之一袋、黄油半块、巧克力一袋,&/b&做一盒黄油饼干需要黄油一块、面粉四分之一袋,做一盒苏打饼干需要苏打四分之一袋、黄油半块、面粉四分之一袋。现在我需要做一盒巧克力饼干、一盒黄油饼干、两盒苏打饼干,那么共计需要巧克力一袋,面粉一袋,黄油两块半,苏打半袋。&b&[4]除去我已经有的材料,我还需要半袋面粉,黄油一块半,半袋苏打,&/b&因此我需要&b&[5]向螃蟹妹妹买一袋面粉、两块黄油和一袋苏打。[6]&/b&从&b&我家到螃蟹妹妹家要30分钟,我每做一盒饼干需要30分钟,从我的店铺到你家需要30分钟,总计需要三个小时,&/b&现在是六点(假设你是个早起的好孩子),我做完把饼干送到你家最多也才需要3小时,还可以留下一个小说作为缓冲,因此我可以答应你。于是我说:“好的,保证帮您送货上门。”目前我的材料可以做一包黄油饼干或者一包巧克力饼干,&b&[7]如果我做了巧克力饼干,可以将巧克力用光,这样就不用担心它放坏或者化掉,&/b&因此我决定开始做巧克力饼干,并且,同时让螃蟹姐姐打电话给螃蟹妹妹买材料。这样,我还可以额外节省半个小时的时间。&br&4.&b&[8]螃蟹姐姐打点话给螃蟹妹妹订了货,并支付了相应的货款&/b&,&b&[9]螃蟹妹妹将货物运送到了我的店铺。&/b&&br&5.我做好了饼干,一看表,才八点半,赶紧包好包装给你送过去吧。&b&[9]于是我让螃蟹姐姐骑上自行车,出门给你送饼干。[10]并且让螃蟹姐姐在路上看见牛奶店顺带给你带一瓶牛奶。&/b&&br&6.螃蟹姐姐成功的把饼干送给你了,你支付了货款,看到牛奶感激涕零,想了想,六盒饼干,下周三差不多就吃完了,于是对螃蟹姐姐说:&b&[11]下次我还从你这买,下周四还照这个样子给我送饼干!&/b&&/p&&p&&br&是不是一个美好的故事呢?那么现在我们来简单分析一下这个故事中的各个成分。&b&&u&注意!这个例子只是对复杂的供应链系统的简单话,为了增强其直观程度和便于理解性,减少了很多严谨性和科学性,如果想要深入了解,请有体系的了解供应链、物流等相关知识。&/u&&/b&&br&一、剧中人物里,“我”代表了制造商,“螃蟹妹妹”代表了我的原材料供应商,你代表的则是“分销商”、“零售商”或者“最终消费者”。螃蟹姐姐在这个故事里更多的是扮演了一个类似于供应链部门的作用,当然她也履行了仓库管理、物流配送等相关的职责。&/p&&p&二、具体分析每一项发生的事项:&br&1.你有了购买欲望(或者说市场有了需求)。&br&2.你打电话给我下达PO,也就是订单,并提出相应的约束条件[1],此处的约束条件为时间窗{下达订单起—10:00}。&br&3.在[2]这个点,螃蟹姐姐,也就是供应链部门,分别帮我检查了我的成品库存和原材料库存(实际情况中可能还有在制品库存)。在[3]这一段,我脑海中浮现的制作各种饼干所需要的材料,其实就是我们通常说的BOM(Bill Of Material),物料清单。有了物料清单,我可以倒退出制作订单上的产品我分别需要各种原材料的数量,事实上,在第[4]步中我就是这样做的。然后,在[5]中,我形成的实施上是一个采购计划。在[6]中,实际上我计算的最终能做好的时间是一个主生产计划(MPS),那么根据这个主生产计划,我可以知道我是否能够完成这个订单。在这里,这个MPS是面向客户订单的。因此,我确认了订单,开始组织生产。在组织生产的过程中,在[7]处我选择优先把巧克力豆用完,从而避免可能出现的风险,而降低成本的行为又被称为JIT(Just-in-time,准时制生产方式)思想,通过尽量降低库存来降低成本,是一种精细化的管理思想。(参见精益生产,&a href=&//link.zhihu.com/?target=https%3A//en.wikipedia.org/wiki/Lean_manufacturing& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Lean manufacturing&/a&)&br&4.[8]处螃蟹姐姐向螃蟹妹妹下达了采购订单,并支付了货款,[9]处由螃蟹妹妹运来货物,完成了配送。&br&5.同样的道理,这里的[9]则是由我的螃蟹姐姐向你配送,而[10]则是我为你提供的某种增值服务,它的目的是在价格竞争在不被允许或者不具有影响力的情况下,增加客户体验从而吸引客户。&br&6.在这里面的[11]中,你和我就形成了一种长期的关系,因此以后我们就可以商讨一下结婚生子啊什么的....额,更正,可以商讨一下更进一步的合作,比如以后什么你每周想吃多少饼干啊,我有多少存货啊,有多少原材料啊,我们拉上螃蟹妹妹建个群聊大家在群里说说看,一起来看看我们该怎么买东西怎么存东西等等等等,这就是JMI,联合管理库存了。&/p&&p&三、那么,你来看,这整个过程,包括了螃蟹妹妹(原材料供应商)、我(制造商)、你(分销商、零售商或者最终消费者),还有两两环节之间的信息流、资金流、物流的交流,就组成了这个供应链。而供应链管理,则是达成让这个供应链最高效的运作、最节约成本、共同利益最大化的手段。这个过程中,有采购,销售:我向螃蟹妹妹采购原材料,她向我销售原材料;我向你销售产品,你向我采购产品。有物流:原材料的运输、产品的运输。有信息的交换:你下订单,我确认定单,我下订单,螃蟹妹妹确认订单。有资金的交换:你给我付钱,我给螃蟹妹妹付钱。&/p&&p&四、供应链管理关注整个供应链的运作;物流管理关注怎么样才能把东西存放好,减少仓储成本,怎么样才能把东西运的又快又好,减少运输成本;而采购(这个例子里的采购仅仅是指采购这一活动),就是找谁买东西,怎么样买东西比较经济,怎么和上家讨价还价等等。&/p&&p&最后不知道这么和你解释你能不能对这些概念有一个较为直观浅显的理解。另外由于追求简化可能会出现一些顺序上、逻辑上的纰漏,希望大家指出,并且忠告题主想要仔细的了解是需要系统的学习的。希望能对你有所帮助!谢谢!&/p&
要把这个问题大概给你讲清楚,我必须要发挥我给女朋友讲睡前故事的能力了!大概只有从整体上来看了,你才能大概明白这几者之间的区别吧。 人物: 我——一个做饼干的饼干师傅~ 螃蟹姐姐——帮我打下手的小盆友 你——爱好吃饼干的小朋友 螃蟹妹妹——我隔壁…
&p&网络上关于写产品竞品分析的文章很多,做运营类竞品分析的文章比较少,所以今天抛砖引玉和大家分享一下,我在分析竞品运营中的思考和心得。&/p&&p&&br&&/p&&blockquote&每天发生在我们APP里各种变化都是值得运营学习的最好材料,尤其是竞品的变化,更是有许多与自己直接相关的经验可以学习。&/blockquote&&p&&br&&/p&&p&通过观察和分析竞品,能够帮助我们了解动态变化,市场格局,找到细分机会;获取灵感,吸收经验,策划优质活动。当竞品出现杀手级功能或病毒型活动的时候,也能够迅速跟进,被对手验证不成功的活动,我们也可以少走弯路。&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/50/25b0f62fea_b.jpg& data-rawwidth=&726& data-rawheight=&302& class=&origin_image zh-lightbox-thumb& width=&726& data-original=&https://pic4.zhimg.com/50/25b0f62fea_r.jpg&&&/figure&&p&&br&&/p&&blockquote&要想写好一份竞品运营分析报告,
就需要先知道好的标准是什么。&/blockquote&&p&&br&&/p&&p&在我看来,好的标准主要是和写报告的具体目的有关,&b&能不能实现写报告的目的才是衡量是不是好报告的唯一标准。&/b&&/p&&p&&br&&/p&&p&比如领导让你去研究一下竞品的用户运营情况写份报告:&/p&&blockquote&有可能是为了寻找可借鉴学习之处,
有可能是为了摸查竞争对手情况做好应对策略,
也有可能是作为融资计划的参考数据,
还有可能是看你最近工作量不饱和给你找点事做(囧)。
......&/blockquote&&p&&br&&/p&&p&以上几种不同的目的,需要的分析报告非常不同,有可能满足其中一种目的的优秀报告,换到另外一种目的下,就会变得参考价值很低。&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/50/7c9deafc82ee_b.jpg& data-rawwidth=&726& data-rawheight=&302& class=&origin_image zh-lightbox-thumb& width=&726& data-original=&https://pic3.zhimg.com/50/7c9deafc82ee_r.jpg&&&/figure&&p&&br&&/p&&blockquote&常见的竞品运营分析主要目的和侧重点有哪些呢?&/blockquote&&p&&br&&/p&&p&&b&1.学习优点&/b&&/p&&p&需要独立思考,通过表象看到内在的本质原因,多问自己几次为什么。&/p&&p&&br&&/p&&p&&b&2.开拓市场&/b&&/p&&p&在没进入这个领域之前,想看看有哪些竞争者,重点通过多维度的横向对比判断全局。也要把竞品及用户群重合的潜在竞争对手考虑进去。&/p&&p&&br&&/p&&p&&b&3.竞争策略&/b&&/p&&p&重点分析优缺点,细分人群的需求满足情况,竞争策略一般会从对方的弱点及未满足的细分需求主要着手点。&/p&&p&&br&&/p&&p&&b&4.预防性策略&/b&&/p&&p&重点通过分析过往运营活动节奏和类型,推测竞品的可能动向,同时这个需要定期观察更新。&/p&&p&&br&&/p&&p&&b&5.用于求职加分&/b&&/p&&p&至少在一个维度上分析透彻,可以包含一些对产品层面的分析研究,适当地表示出对产品和行业的乐观和喜爱。&/p&&p&&br&&/p&&p&明确了做这个报告的目的,接下来就可以更具体的操作了。&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/50/2c34e8b9f781cee7f4e0c_b.jpg& data-rawwidth=&726& data-rawheight=&302& class=&origin_image zh-lightbox-thumb& width=&726& data-original=&https://pic1.zhimg.com/50/2c34e8b9f781cee7f4e0c_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&确定竞品分析对象的方法,是先全面后精选:&/p&&blockquote&“先全面”就是尽可能找到竞品和潜在竞品,是为了对行业全面了解
“后精选”是为了聚焦关键竞品&/blockquote&&p&&br&&/p&&p&如果是比较主流,常见的直接搜索关键词就会出来比较多的产品了。因为主流产品都会认真地优化ASO,尽量让自己的产品在热门核心关键词能够被搜到,所以这个方面找起来还是比较容易的。&/p&&p&&br&&/p&&p&如果是新的领域和行业,可以到这几个新产品发现平台去搜索看看。Producthunt是新产品曝光平台的鼻祖,可以看到每天新产生的各种新产品。36氪旗下的Next是国内类似平台的追随者,更多国内的产品会在这平台发布。mind和today分别是爱范儿和IT桔子旗下的平台,也还不错,可以作为一个补充。&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/50/8ba7ea614f6ee6842bfb9d16ddcb3857_b.jpg& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic2.zhimg.com/50/8ba7ea614f6ee6842bfb9d16ddcb3857_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&另外,也要看看用户群有重合的产品,即使不是直接竞品也可以考虑进来分析,就像牙膏和牙刷,彼此之间不是竞品,但用户群是一样的,在很多市场策略、运营方法上也是类似的。&/p&&p&&br&&/p&&p&怎么样可以把需要的产品找全面呢?&/p&&p&&br&&/p&&p&【关键词搜索延展法】&/p&&p&通俗来讲,就是通过一个关键词搜索出来的结果,找到其他相关的关键词。&/p&&p&举个例子:&/p&&p&&br&&/p&&p&比如,我尝试一下我不太熟悉的一个婴幼儿领域,搜索“婴幼儿”后就会发现很多相关的关键词,比如“早教”、“胎教”、“启蒙”、“宝贝”、“宝宝”、“萌宝“;&/p&&p&&br&&/p&&p&通过搜索“早教&又收获了一些关键词,比如:“识字”、“认水果”、“学数字”、“拼音”、“讲故事”等;&/p&&p&&br&&/p&&p&通过搜索“胎教”又发现了“母婴”、“妈咪”、“儿歌”、“起名字”、“亲子教育”、“辅食”、“育儿”等关键词。&/p&&p&&br&&/p&&p&通过一个关键词,搜出来的信息提取更多相关的关键词,在通过关键词继续搜索信息,再提取关键词,直到这些关键词能够形成一个看起来相对完整的信息图谱,就对这个领域大概有哪些东西有一个相对完整的了解。&/p&&p&&br&&/p&&p&另外,通过搜狗微信搜索,朋友圈搜索都是个很好的信息补充,有的时候可以惊喜地发现到一些一般搜索引擎搜不到的东西。&/p&&p&&br&&/p&&p&竞品分析找全面了之后,还是要回归最初开始做竞品运营分析的对象去选择,如果是为了学习优点,一般选择竞品里比较领先的几款产品,如果是为了开拓市场,就要多选几款进行横向比较。&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/50/73d6f46e047a7cbf1b097f7_b.jpg& data-rawwidth=&726& data-rawheight=&302& class=&origin_image zh-lightbox-thumb& width=&726& data-original=&https://pic1.zhimg.com/50/73d6f46e047a7cbf1b097f7_r.jpg&&&/figure&&p&&br&&/p&&p&查看一些这个领域的分析文章,了解一些这个领域的专家是怎么看行业发展,获取一些优质的观点和认知,以及拓展下看问题的角度,还能收获一些行业的数据和发展预测。&/p&&p&&br&&/p&&p&这种资料一般在科技媒体上比较多,以下是常用网站推荐:&/p&&figure&&img src=&https://pic4.zhimg.com/50/bc817adbc05_b.jpg& data-rawwidth=&1280& data-rawheight=&1706& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic4.zhimg.com/50/bc817adbc05_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/50/dfad69f7c0fde452a757c2_b.jpg& data-rawwidth=&1280& data-rawheight=&2184& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic2.zhimg.com/50/dfad69f7c0fde452a757c2_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/50/a5e26aeeaeaae_b.jpg& data-rawwidth=&1280& data-rawheight=&2184& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic2.zhimg.com/50/a5e26aeeaeaae_r.jpg&&&/figure&&figure&&img src=&https://pic1.zhimg.com/50/7b8a5baceedfaa1465e4_b.jpg& data-rawwidth=&1280& data-rawheight=&2184& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic1.zhimg.com/50/7b8a5baceedfaa1465e4_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/50/f7967fbd0b88ffb239ff83_b.jpg& data-rawwidth=&726& data-rawheight=&302& class=&origin_image zh-lightbox-thumb& width=&726& data-original=&https://pic1.zhimg.com/50/f7967fbd0b88ffb239ff83_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&数据一般是一家公司的核心机密,任何时候不会全盘地分享出来。所以对于很多人来说,获取竞品的数据觉得是件非常困难的事情。&/p&&p&&br&&/p&&blockquote&尽管一些核心数据我们无法直接获得,但我们也是可以间接获取到一些相关数据。&/blockquote&&p&&br&&/p&&p&&b&1. 自己测量统计、抓取数据&/b&&/p&&p&可以通过实际体验产品,记录产品的数据变化,从而推断出整个平台的部分产品数据。&/p&&p&&br&&/p&&p&举个例子,如果是个社区产品,最核心的数据应该是发帖量、浏览量、回复数、在线时长等,前

我要回帖

更多关于 654石材 的文章

 

随机推荐