幻象客 - 博客

    微信小程序或使互联网天翻地覆


    in 闲谈 2016-12-23

    腾讯在今年年末发布了 2016第三季度业绩报告,其中有一项数据非常恐怖:微信和WeChat的合并月活跃账户数达到8.46亿。这是什么概念呢?

    微信小程序 介绍

    在今年年初的时候,全中国网民人数是七亿,也就是说,在中国基本上所有能上网的人都在用微信。

    微信小程序 介绍

    在日常生活中,我们用微信的频率是极高的,比如我使用手机的50%的时间都花在微信上(没想到网易也挺高):

    微信小程序 介绍

    不仅如此,我也常常使用微信进行日常购物的支付。网购方面除了淘宝和天猫,基本上都使用了微信支付(或许这是心理作用,因为使用微信的频率高,所以更喜欢用微信进行支付)也就是说,微信几乎渗透到我们生活的方方面面。但现在微信的野心不止于此。腾讯或许希望人们在微信上能找到一切在手机上需要的东西。

    微信小程序是什么?这里引用张小龙的话。

    微信小程序 介绍

    比如我们要查快递物流这种简单的操作,我们不可能单独去下载一个APP(使用频率太低,浪费资源)上网也查询也觉得麻烦,这时候微信小程序的好处就出现了,到了未来,微信完全取代大型APP也是有可能的(虽然苹果可能不会认同我这句话),再加上用户对微信的依赖性,微信小程序的未来或许十分光明。今年11月3日,微信小程序开始公测,不久的未来我们就能看见微信小程序的应用情况。

    目前看来,微信小程序会以应用号的形式出现。形式类似H5,但它又和H5有蛮大的区别。首先是运行环境,小程序的运行环境并非是完整的浏览器,它只是浏览器的一部分。其次是权限方

    阅读更多...

    <小技巧>查看某个EXE文件是什么语言写的


    in 干货 2016-12-22

    工具:PEiD(关注微信号输入PEiD获取(忽略我可爱的机器人的回复吧)

    查看某个EXE文件是什么语言写的

    前提:未加壳,或简单壳你是不是经常好奇一些软件的编写语言?是不是想要对某个EXE文件干点坏事?那么PEID这个软件肯定适合你。比如我们想知道Shadowsocks的编写语言。

    NEIE:

    查看某个EXE文件是什么语言写的

    瞧,一目了然。那有些软件特别不给面子怎么办、比如这个?

    查看某个EXE文件是什么语言写的

    tElock 0.98b1 -> tE! 这是一种壳,我们需要脱壳。正常来讲我们可以通过插件->PEiD通用脱壳器简单脱壳。

    如果这个方法还是不行,那恐怕就需要使用一些脱壳软件,甚至是手动脱壳了。

    欢迎关注微信公众号:幻象客

    幻象客 二维码

    阅读更多...

    笔记—算法的时间复杂度


    in 算法 2016-12-20

    对于一个算法,首先我们要进行两项分析。第一,自然是算法的正确性,第二,则是算法时间复杂度。一个算法花费的时间与算法中语句的执行次数成正比例。一个算法中的语句执行次数称为语句频度或时间频度,记为T(n)。

    由于n是问题的规模大小,当n不断地变化时,时间频度T(n)也会不断的变化,我们希望研究T(n)变化的规律。于是引入时间复杂度。

    时间复杂度:反映程序执行时间随输入规模增长而增长的量级。若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。

    T(n)=O(f(n)) 简单来说,就是T(n)在n趋于正无穷时最大也就跟f(n)差不多大。由于指数的影响很大,所以当函数里同时有多次方项时,取高次。常数什么的都可以忽略,只取影响最大的部分。就如一条河流有许多分支,我们只取主干流。如:O(2n2+n +1) = O (3n2+n+3) = O (7n2 + n) = O ( n2 )

    若语句执行次数为一个常数,则时间复杂度为O(1),另外时间频度不相同时,时间复杂度可能相同,如T(n)=n2+3n+4与T(n)=4n2+2n+1它们的频度不同,但时间复杂度相同,都为O(n2)。常见的时间复杂度有:常数阶O(1),对数阶O(log2n...

    阅读更多...

    用C++写一个简单的九宫格手机输入法


    in C/C++ , 程序语言 2016-12-17

    九宫格输入法是一个很经典的输入法,当你输入每个字母的时候,它会提前显示你想输入什么单词,大大加快了人们的打字速度,尤其是在手机屏幕还比较小的时代。 我们现在就来尝试自制一个。

    阅读更多...

    微博推荐信息的算法


    in 干货 , 闲谈 2016-12-14

    在现在的网络平台上,无论你上哪个网站,百度、京东、淘宝等,他们都会进行信息推荐,然后这其中直接关系到用户体验的就是微博的信息推荐,它对于微博来说至关重要,FaceBook有非常优秀的EdgeRank,那么微博呢?

    这里介绍一个算法,标签传播算法,他们为每个用户打上标签,每个标签代表用户的一个兴趣,每个用户可以有许多个标签。他们还认为,用户的兴趣和他所关注的人的兴趣相关,所以还统计了用户关注的人的标签,然后取出现最多次数的标签进行推荐。

    看起来并不靠谱,因为如果他只是想关注他所喜欢的明星或者亲人呢?

    所以接下来还要衡量用户所发布的微博,从微博中提取用户所喜欢的东西。那么怎么提取呢?还记得我们高中怎么做英语阅读题吗,先找到关键词,然后再找关键词前后的句子。这个优化也是这样,先找主题,再从主题中抽出一个词语,这样就能知道用户所关注的主题,然后再和其他用户比较是否有较高的相似度,若有则可进行用户推荐或者信息推荐了。

    微博还有许多推荐算法,其实都是类似这样的规则,大家可以自己去了解一下。

    欢迎关注微信公众号:幻象客

    幻象客 二维码

    阅读更多...

    线性代数与斑点猫头鹰


    in 干货 , 闲谈 2016-12-13

    源于《线性代数及其应用》:

    1990年,在利用或滥用太平洋西北部大面积森林问题上,北方的斑点猫头鹰成为一个争议的焦点,环境保护学家试图说服联邦政府,如果采伐原始森林(长有200年以上的树木)的行为得不到制止的话,猫头鹰将濒临灭绝的危险,因为猫头鹰喜好在那里居住,而木材行业却争辩说猫头鹰不应被划为“濒临灭绝动物”,并引用一些已发表的科学报告来支持其论点,对木材行业来说,如果政府出台新的伐木限制的话,预计将失去30000至100000个工作岗位。

    数学生态学家们处于争论双方的中间,由于争论的双方都想游说数学家们,数学生态学家们加快了他们对斑点猫头鹰种群的动力学研究,将猫头鹰的生命周期自然分为三个阶段:幼年期(1岁以前)、半成年期(1~2岁)、成年期(2岁以后)。猫头鹰交配在半成年和成年期,开始生育繁殖,可活到20岁左右。每一对猫头鹰需要约1000公顷的土地作为自己的栖息地。生命周期的关键期是当幼年猫头鹰离开巢的时候,为生存和进入半成年期,一只幼年猫头鹰必须成功地找到一个新的栖息地安家(通常还带有一个配偶)。

    研究种群动力学的第一步是建立以每年的种群量为区间的种群模型,时间为k=0,1,2...,通常可以假设在每一个生命阶段雄性和雌性的比例为1:1,而且只计算雌性猫头鹰,第K年的种群向量可以用Xk = (jk,sk,ak)表示,其中jk,sk,ak分别代表雌性猫头鹰在幼年期、半成年期、

    阅读更多...

    为什么我要做公众号?


    in 闲谈 2016-12-11

    高中时期的我就像鱼缸里的金鱼,只能在那一小块地方游,我看得见外面,可就是出不去。这种情况到了大学才有所改善。

    这几天变得怠惰。幸好人是有罪恶感的,一想起我空了这么多天的推文就忍不住要登上来写些东西,不然怎么对得住我的关注者。写什么?就写写我运营这个公众号的初衷吧,以提醒自己不要忘记初心。

    这个公众号是高考完后申请的,当时也是闲着想写点东西,写了历史纪录中最开始的那两篇后发现自己的学识真的很浅,已经找不到任何更有趣的东西,索性放弃了。放弃之后,暑假每天也就是看看书,玩玩游戏。尽管每天只花一两个小时看书,我却发现这几个月我的收获却可能比高中学习一年还要多,似乎有许多东西可以写了,这是为什么?我想可能是因为考试,这种最无意义的事情占据了高中生活的大部分时间,使得我读书的时间少之又少,使我可以用来获取信息的时间越来越少。高中时期的我就像鱼缸里的金鱼,只能在那一小块地方游,我看得见外面,可就是出不去。这种情况到了大学才有所改善。通过公众号,我能每天不断地给自己施压进行学习以免未来写不出东西、我能通过写文章复习自己以往的知识、我能通过大量地阅读新闻咨询拓展自己的眼界、我能维持自己写文章的能力。

    对于我们中的大部分人来说,课余爱好只是到了大学才敢有的奢求。我也一样。我很庆幸自己能考上一所211大学,在这里,我发现了一个更广阔的平台、我看到了这个平台下自身的渺小,开始变得有些许自卑,不过也庆幸自己

    阅读更多...

    <C语言>算法- 售货员问题


    in C/C++ , 程序语言 , 算法 2016-12-07

    解决著名的算法问题——售货员问题

    阅读更多...

    <简单分析>汉诺塔问题


    in C/C++ , 程序语言 , 算法 2016-12-06

    汉诺塔是一个非常著名的游戏,游戏中将会有三根棍子,第一根棍子上有N个从大到小叠起来的盘子,游戏的目标是将这N个从大到小叠起来的盘子放到第三根棍子上。每一次只允许移动一个,而且大的盘子永远在小的盘子的下面。这也是非常著名的递归入门题。

    阅读更多...

    <还记得雪花吗>用画图理解递归


    in Python , 程序语言 , 算法 2016-12-04

    画图理解递归

    效果图,理解本程序递归的时候请盯死它。这篇文章可以说是雪花第三弹了。

    当然,这次重点不在于画画,而是在于理解好递归。即便你不会python,在我的注释的帮助下你也可以看懂这个代码(是看懂不是理解)。另外有python的同学可以打进去试试,观察完整绘画过程更有利于理解。

    import turtle
    
    def tree(branchLen,t):
    
    #定义一个画画的函数,下面是重点,需要大家自行理解。
    
        if branchLen > 6:
    
            t.forward(branchLen)
    
            #前进branchLen长度
    
            t.right(20)
    
            #右转20°
    
            tree(branchLen-15,t)
    
            #递归
    
            t.left(40)
    
            tree(branchLen-15,t)
    
            t.right(20)
    
            t.backward(branchLen)
    
            #后退branchLen长度
    
    t = turtle.Turtle()
    
    #创造画笔
    
    mytree = turtle.Screen()
    
    #显示可视化窗口
    
    t.left(90)
    
    #转到垂直向上
    
    t.up()
    
    #提起画笔,为了后面调整位置
    
    t.bac...

    阅读更多...