精华内容
下载资源
问答
  • 近些天一直在看网页的源代码,无意中在一个网站看到这样的一段代码,在头部有一段,script type="application/ld+json" ,刚开始没弄明白这段代码使用来干什么的,后来听别人说,是百度提供的一段代码,这段代码到底...

    近些天一直在看网页的源代码,无意中在一个网站看到这样的一段代码,在头部有一段,script type="application/ld+json" ,刚开始没弄明白这段代码使用来干什么的,后来听别人说,是百度提供的一段代码,这段代码到底有什么作用?后来看了在百度熊掌号里找到了,这段代码的信息,原来是做信息推送的,这个网页的头部代码如下所示:
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>圆柱模板-建筑模板支模网</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel=”shortcut icon” href=”favicon.ico”>
    <meta name="keywords" content="圆柱模板,建筑模板支模网,圆柱木模板,异形模板,建筑模板"/>
    <meta name="description" content="圆柱模板-建筑模板支模网持续发布关于建筑施工方面圆柱模板、圆柱木模板、异形模板、方柱紧固件、剪力墙模板等施工建筑材料相关信息">
    <link href="http://jc.sdfymb.com/templets/newpifu/style/main.css" type="text/css" rel="stylesheet" />
    <script src="http://jc.sdfymb.com/templets/newpifu/js/jquery-1.7.2.min.js" type="text/javascript" language="javascript"></script>
    <script type="text/javascript">
    function AutoScroll(){
    var _scroll = $("#slide>ul");
    //ul往左边移动300px
    _scroll.animate({marginLeft:"-200px"},1000,function(){
    //把第一个li丢最后面去
    _scroll.css({marginLeft:0}).find("li:first").appendTo(_scroll);
    });
    }
    $(function(){
    //两秒后调用
    var _scrolling=setInterval(AutoScroll,2000);
    $("#slide>ul").hover(function(){
    //鼠标移动DIV上停止
    clearInterval(_scrolling);
    },function(){
    //离开继续调用
    _scrolling=setInterval(AutoScroll,2000);
    });
    });
    </script>
    <script type="application/ld+json">
    {
    "@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld",
    "@id": "http://jc.sdfymb.com",
    "appid": "1614812644190870",
    "title": "圆柱模板-建筑模板支模网",
    "images": [
    "http://jc.sdfymb.com/indexlogo.jpg",
    "http://jc.sdfymb.com/templets/newpifu/img/logo.jpg"
    ], //请在此处添加希望在搜索结果中展示图片的url,可以添加1个或3个url
    "pubDate": "2019-02-28T20:18:39"
    // 需按照yyyy-mm-ddThh:mm:ss格式编写时间,字母T不能省去
    }
    </script>
    </head>
    <body>

    转载于:https://blog.51cto.com/14219872/2356415

    展开全文
  • 语言中的编译和链接,编译就是把源代码生成二进制代码,但是链接是干什么的,请高手指教。
  • 第一章 如何看懂别人的代码(上)对于IT相关从业人员来说,看别人代码是必不可少的磨难。在学习阶段,我们经常需要从书上看别人的代码以吸取宝贵经验,这是相当枯燥无趣的过程,也时常无法领会作者的意图。在实际工作...

    第一章 如何看懂别人的代码(上)

    对于IT相关从业人员来说,看别人代码是必不可少的磨难。在学习阶段,我们经常需要从书上看别人的代码以吸取宝贵经验,这是相当枯燥无趣的过程,也时常无法领会作者的意图。在实际工作中,不可避免的出现需要接手做到一半的项目或是团队合作的项目,这时候就必须看以前的工程师的代码。如果说看书上的代码用痛苦来形容的话,那么这种情况时遇到代码不够规范或者设计不合理,简直就是苦不堪言。还有一些神一般的选手,设计者在编写代码时的“灵机一动”,其结果只有他自己和上帝才看得懂。这些代码能看得你觉得生不如死,甚至开始怀疑人生:到底是代码写得混乱or我水平不行?!你以为这是最痛苦的吗?NO!还有一种情况足以令你看得生不如死,甚至开始怀疑人生。那就是遇到运行不正常的代码,对问题排查错误花的时间和精力还不如重新写一遍,这时你的内心完全是崩溃的!

    有一件事非常无奈,我们不可能要求别人的代码都非常规范。所以,正确的学习方法和思维方式尤为重要。怎样看他人代码才是正确的方式?看代码之前应该做些什么准备工作?看代码用正向思维还是逆向思维?如何判断代码中哪些地方是否值得借鉴?由此,掌握到一种通用的去看懂别人代码的技巧显得非常重要。下面我们就来谈谈这方面。

    我们知道,而实现功能可能有很多种方法,所以不同的人写出的代码不相同。通过看代码去知道它要实现的是什么功能是一件很困难的事情。有些初学者会想到采取仿真一下、看电路图、流程图、时序图、注释等等方法,都是不可取的,通过这些你还是无法知道它的功能,以及有没有错误。

    那么正确的方法是什么呢?我们采取一种可称之为“反推法”或是“逆向法”的方式,这个问题就迎刃而解了。要知道,代码的目的是实现功能。无论你用那种代码,有一点完全相同的就是“实现功能”这个最终结果。了解到这一点,我们就可以通过结果(功能)去反推过程(代码),代码的思路、流程、用途就抽丝剥茧清晰的显露出来。好的,下面我们举个实例来说明怎么通过反推法有步骤的去看懂别人的代码。

    代码1。

    如果我们按照自上而下的顺序去看这个代码,通过代码的过程去看实现的功能会是很困难的事,甚至看不明白它要实现的是什么功能。Ok,我们现在从功能看起,这个代码要实现的是“帧率采样计算”这个功能,可以理解为图片每秒显示多少帧数。

    1.从代码中我们可以看出,CMOS_FPS_DATA 这个信号是我们所要求的信号(一秒内的帧数率);

    2.CMOS_FPS_DATA <= fps_data >>1在一段时间内保持不变,才是我们所要的结果;

    3.从CMOS_FPS_DATA <= fps_data >>1中可以看出,CMOS_FPS_DATA是通过fps_data 这个信号来实现;

    4.fps_data这个信号是怎么来的?反推到fps_data <= 0和fps_data <= fps_data + 1'b1这两个信号。fps_data复位为零,在else if(Frame_valid)条件下加1;因此fps_data为帧数率标志信号;

    5.从CMOS_FPS_DATA <= fps_data >>1中可以看出是通过<= fps_data >>1右移一位,也就是说除以2得到这个值的;

    6.为什么要fps_data除以2来得到这个值?于是反推到if(delay_2s == 0)这个条件。

    现在作者的意图就非常清晰了。满足帧数率的情况下不断+1,到2秒时间时根据统计结果除以2,由此得到1秒时间的帧数。到此为止,我们已经可以非常容易的看懂这个代码了。

    通过反推法我们也能比较容易的去看代码是否有错误。首先我们去知道代码需要实现的功能,通过反推法得知是通过什么方法实现的,进而仿真时定位其目标,去看该代码是否完成了功能。如果没有完成功能,那么代码就有误。

    对于学习者来说,反推法的意义还不仅在此。在本例中,这个设计思路完全满足功能要求。这时,我们应该扩展思考,本例是通过2秒来实现功能,为什么要用2秒?是否可以直接通过1秒,或是3秒,或是其他方案来实现呢?各种方法的优缺点在哪里?通过反推法得知作者实现项目的方法并思考,这种方法正确还是错误?如果是错误或者这种方法不太好,那么我们如何避免?如果是优秀的代码,我们如何借鉴并能举一反三地运用到其他项目中去?本例只是选取项目中的一个小的节点,对于看整个项目的代码来说可以运用反推法吗?敬请关注下一节:《如何看懂别人的代码(下)》。

    人打赏

    11人 点赞

    主帖获得的天涯分:0

    举报 |

    楼主

    |

    楼主发言:2次 发图:0张 | 添加到话题 |

    展开全文
  • 一行python代码

    万次阅读 多人点赞 2016-10-02 17:40:43
    Life is short, just use Python....那一行代码可以干什么呢?有趣我孩子的英文名叫andy,也许当初教他写程序的时候,如果先秀一下这行代码,可能就更能激起他对代码的兴趣了。>>> print'\n'.join(['

    Life is short, just use Python.

    自从08年接触Python,就有爱不释手的感觉,逐渐地,有些不忍地疏远了Perl 和Shell编程,因为python 的优雅么? 不全是,主要是可以高效开发吧。

    那一行代码可以干什么呢?

    有趣

    我孩子的英文名叫andy,也许当初教他写程序的时候,如果先秀一下这行代码,可能就更能激起他对代码的兴趣了。

    >>> print'\n'.join([''.join([('AndyLove'[(x-y)%8]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)])

    再python 里执行它,会输出一个字符拼出的心形。

    LoveAndy

    字符图形还是很有趣的,有一个著名的图像叫mandelbrot。Mandelbrot图像中的每个位置都对应于公式N=x+y*i 中的一个复数,高中学过复数的都还应该有印象。每个位置用参数N来表示,它是x*x+y*y的平方根。如果这个值大于或等于2,则这个数字对应的位置值是0。如果参数N的值小于2,就把N的值改为N*N-
    N(N=(x*x-y*y-x)+(2*x*y-y)*i)),并再次测试这个新N值。wiki百科给出的图像是这样的:
    Mandelbrot

    让我们用一行代码画一个Mandelbrot:

    >>> print'\n'.join([''.join(['*'if abs((lambda a:lambda z,c,n:a(a,z,c,n))(lambda s,z,c,n:z if n==0else s(s,z*z+c,c,n-1))(0,0.02*x+0.05j*y,40))<2 else' 'for x in range(-80,20)])for y in range(-20,20)])

    这里写图片描述

    高效

    对于随手小工具而言,更是Python的拿手好戏。

    一行代码打印九九乘法表:

    print '\n'.join([' '.join(['%s*%s=%-2s' % (y,x,x*y) for y in range(1,x+1)]) for x in range(1,10)])

    输出:
    乘法表

    一行代码计算出1-1000之间的素数

    print(*(i for i in range(2, 1000) if all(tuple(i%j for j in range(2, int(i**.5))))))  

    一行代码可以输出前100项斐波那契数列的值:

    print [x[0] for x in [  (a[i][0], a.append((a[i][1], a[i][0]+a[i][1]))) for a in ([[1,1]], ) for i in xrange(100) ]]

    一行代码实现阶乘,而且还带交互:

    >>> reduce ( lambda x,y:x*y,  range(1,input()+1))
    10
    3628800

    一行代码实现摄氏度与华氏度之间的转换器:

    >>> print((lambda i:i not in [1,2] and "Invalid input!" or i==1 and (lambda f:f<-459.67 and "Invalid input!" or f)(float(input("Please input a Celsius temperature:"))*1.8+32) or i==2 and (lambda c:c<-273.15 and "Invalid input!" or c)((float(input("Please input a Fahrenheit temperature:"))-32)/1.8))(int(input("1,Celsius to Fahrenheit\n2,Fahrenheit to Celsius\nPlease input 1 or 2\n"))))
    1,Celsius to Fahrenheit
    2,Fahrenheit to Celsius
    Please input 1 or 2
    1
    Please input a Celsius temperature:28
    82.4
    >>> 

    至于字符串排序和快速排序更是手到擒来。

    "".join((lambda x:(x.sort(),x)[1])(list(‘string’)))
    
    qsort = lambda arr: len(arr) > 1 and  qsort(filter(lambda x: x<=arr[0], arr[1:] )) + arr[0:1] + qsort(filter(lambda x: x>arr[0], arr[1:] )) or arr

    内涵

    看一看下面一行python代码,可能就要晕了:

    猜数游戏

    这是原来为了激发孩子编程兴趣,让孩子练习的代码,它的真实面貌是大致这样的:

    def guess_my_number(n):
        while True:
            user_input = raw_input("Enter a positive integer to guess: ")
            if len(user_input)==0 or not user_input.isdigit():
                print "Not a positive integer!"
            else:
                user_input = int(user_input)
                if user_input > n:
                    print "Too big ! Try again!"
                elif user_input < n:
                    print "Too small ! Try again!"
                else:
                    print "You win!"
                    return True
    guess_my_number(42)

    实际上,只要理解了函数式编程,使用神奇的Lambda,配合列表推导以及复杂一点的判断语句,任何的python 代码都可以转换成一行代码的。

    例如,取一个列表里的随机数

    import random as rnd
    print rnd.choice([2,3, 5,7, 11,13,17])

    转换成Lambda 可以是:

    print (lambda rnd: rnd.choice([1, 2, 3, 10]))(__import__('random'))

    这些代码出了觉得好玩,主要是可以帮助我们了解某些Python的雕虫小记,尤其是神奇的Lambda 用法

    延展

    当然,还有其他好玩的地方,输入下面这一行

    import antigravity

    它打开了浏览器,展示网站上的漫画和相关内容:
    python 打开浏览器

    我们可以把python的文件打包,做成库的形式,然后import进来,是一种偷换概念和前提的一行代码。例如,为了与windows 传输文件,再Mac上临时搭个ftp:

    $ python -m pyftpdlib

    这当然要依赖pyftpdlib 这个库了,机器上没有,pip install pyftpdlib 就可以了。

    如果一行代码中允许分号存在,那就只是牺牲可读性而已了,那就基本上无所不能。

    在连网的前提下,获取公网IP地址

    python -c "import socket; sock=socket.create_connection(('ns1.dnspod.net',6666)); print sock.recv(16); sock.close()"

    一行代码就可以轻易写个小游戏了,来模拟一下golf击球。

    python -c "import math as m;a,v=eval(input());[print('%03d'%x+' '*m.floor(0.5+x*m.tan(a)-x*x/(v*m.cos(a)))+'o') for x in range(102)]"
    

    输入角度和力量大小如(0.8,80),就能得到一条字符描画的抛物线了。
    增加上while 等语句,画一个没完没了的python -c "while 1:import random;print(random.choice('╱╲'), end='')"
    maze wall

    最后,一行代码以python 的哲学结束吧。

    $ python -c "import this" 
    The Zen of Python, by Tim Peters
    
    Beautiful is better than ugly.
    Explicit is better than implicit.
    Simple is better than complex.
    Complex is better than complicated.
    Flat is better than nested.
    Sparse is better than dense.
    Readability counts.
    Special cases aren't special enough to break the rules.
    Although practicality beats purity.
    Errors should never pass silently.
    Unless explicitly silenced.
    In the face of ambiguity, refuse the temptation to guess.
    There should be one-- and preferably only one --obvious way to do it.
    Although that way may not be obvious at first unless you're Dutch.
    Now is better than never.
    Although never is often better than *right* now.
    If the implementation is hard to explain, it's a bad idea.
    If the implementation is easy to explain, it may be a good idea.
    Namespaces are one honking great idea -- let's do more of those!

    参考资料:
    http://www.zhihu.com/question/37046157
    https://onelinepy.herokuapp.com/
    https://github.com/csvoss/onelinerizer

    展开全文
  • 现在暑假时间很充足,但是一天到晚敲代码也会觉得很累很无聊,暑假又没有NBA,我又不打游戏,电影好看的基本都看过了,要不就是逛论坛,不敲代码的时候很无聊,不知道大家上网都是干什么
  • Python可以用来干什么

    千次阅读 2018-05-31 15:15:59
    在我看来,基本上可以不负...Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(Batteries included)”。用Python开发,许多功能不必从零编写,直接...

    在我看来,基本上可以不负责任地认为,Python 可以做任何事情。无论是从入门级选手到专业级选手都在做的爬虫,还是Web 程序开发、桌面程序开发还是科学计算、图像处理,Python都可以胜任。

    Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(Batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。

    除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。

    许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。

    龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

    总的来说,Python的哲学就是简单优雅,尽量写容易看明白的代码,尽量写少的代码。如果一个资深程序员向你炫耀他写的晦涩难懂、动不动就几万行的代码,你可以尽情地嘲笑他。
    展开全文
  • 这段代码是用 org.apache.axis.client.Call _call = createCall();这个是apache下的一个jar包里的东西[img=https://img-bbs.csdn.net/upload/202009/08/1599556358_686392.jpg][/img] 这个就是代码的图片,这个是...
  • java中什么代码重构,什么时候需要代码重构 代码重构一般发生在地方,代码重构需要注意什么问题
  • 代码审查审什么

    万次阅读 2014-07-25 13:18:37
    代码审查审什么看着很多人做代码审查重点审格式和命名,制定的代码规范也主要偏重代码格式和命名,我真想骂一句操蛋,这真是浪费时间又解决不了问题。此篇文章就是骂完操蛋后奋笔快速敲下来的,有不妥之处请大家谅解...
  • 程序员是干什么

    万次阅读 2018-02-13 17:05:51
      很多人问程序员是是...  IT范围太大,我们就说说程序员吧,程序员都在干什么,程序员有何区分,程序员我们就会谈到开发软件,软件的开发对很多使用者来说都是感受不到的,人们能接触到的就是客户端或者网页显...
  • 表白代码(纯干货),送给你爱的人

    万次阅读 多人点赞 2020-04-07 13:09:06
    表白代码,送给你爱的人 代码1 这个代码(纯C的哦)是打印一个爱心,嘿嘿,赶紧给你女朋友一个惊喜吧 纯干货,必须收藏!!! #include <stdio.h> #include <math.h> float f(float x, float y, float z...
  • 构造函数到底是干什么的?

    万次阅读 多人点赞 2016-11-29 16:31:40
    构造函数到底是干什么的?
  • 代码里你可以看到什么

    千次阅读 2012-11-26 07:19:08
    经常有小同事和我说,这程序的代码写的太垃圾了,什么水平。确实如此,大部分持续存在一段时间的程序代码质量都不怎么样。从圈复杂度的角度看,超过15的代码就很看了会头疼了,但可怕的是圈复杂度到70,、80的也不是...
  • IvParameterSpec 干什么用的

    万次阅读 2019-04-11 10:03:39
    IvParameterSpec 干什么用的
  • 干货|如何做有效的代码走查

    千次阅读 2017-12-14 00:00:00
    代码走查,英文词语叫:Code Review,也叫“代码审查”,它是我们公司的一项传统保留项目。记得一位工作超过20年的老员工说过:“我加入中兴的时候就有代码走查了。”,可见这项实践的悠久历史。1.代码走查的形式...
  • 关于代码家(干货集中营)共享的所有知识点Android部分的汇总,后续每周会对其进行更新 之前的分类总结点此,其中所有的知识点都包含在这个里面更多内容请选择以下入口 关于代码家(干货集中营)共享知识点汇总系列...
  • docker是啥?是干什么的?

    万次阅读 多人点赞 2019-01-31 20:40:18
    Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中。 思想: 集装箱 标准化 隔离 核心 docker有3大核心:镜像、容器、...
  • 或许这种微妙的心理定位可以解释:为什么程序员进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补。他们认为旧代码简直一团糟。 但是,事实上真是这样吗?你之所以认为旧代码一团糟,其实是由编程的一个基本...
  • 运维一般干什么

    万次阅读 多人点赞 2019-04-18 08:43:59
    “运维一般干什么?”这个问题居然是百度上搜索“运维”的最热门问题:对应这个问题的最佳答案如下,不知道各位运维同学是否认同?一、运维工程师的工作:保障业务长期稳定运行(如...
  • 关于代码家(干货集中营)共享的所有知识点IOS部分的汇总,后续每周会对其进行更新 iOS [2016年10月12日发布] Cell 弹性效果 [2016年10月12日发布] Xcode 8 快速注释和取消注释插件。 [2016年10月11日发布] 支持下滑...
  • npm 是干什么

    万次阅读 多人点赞 2018-05-30 11:03:40
    网上的 npm 教程主要都在讲怎么安装、配置和使用 npm,却不告诉新人「为什么要使用 npm」。今天我就来讲讲这个话题。 本文目标读者是「不太了解 npm 的新人」,大神您别看了,不然又说我啰嗦了 �� 社区 程序员...
  • [【干货】三步搞定Python代码批量缩进]...一般来说,缩进几个空格或者tab都是可以的,只要你保持一致就可以。不过为了别人阅读方便,还是用tab或者4个空格比较好。可是,程序员们用py
  • MTD是干什么

    千次阅读 2014-01-17 22:42:51
    MTD(memory technology device 存储 ... FLASH是嵌入式设备最常用的介质,FLASH有一个特性,它不能像PC机使用的磁盘一样可以重复写一个单元的数据。FLASH必须事先擦除然后再写入。这个特性使得PC机上的文件系统如FAT/
  • 什么是核心代码模式,什么又是ACM模式?

    千次阅读 多人点赞 2021-03-23 09:48:39
    } 可以看出ACM模式要比核心代码模式多写不少代码,相对来说ACM模式更锻炼代码能力,而核心代码模式是把侧重点完全放在算法逻辑上。 国内企业现在很多都用牛客来进行面试,所以这种ACM模式大家还有必要熟悉一下,...
  • Apache是干什么的?

    千次阅读 2020-10-25 10:33:34
    Apache是干什么的? 本文转载地址 1:Apache音译为阿帕奇,是北美印弟安人的一个部落,叫阿帕奇族,在>美国的西南部。相传阿帕奇是一个武士,他英勇善战,且战无不胜,被印弟安人奉为勇敢和胜利的代表,因此后人...
  • 爬虫工程师是干什么

    万次阅读 多人点赞 2018-01-08 09:06:51
    程序员有时候很难和外行人讲明白自己的工作是什么,甚至有些时候,跟同行的人讲清楚“你是干什么的”也很困难。比如我自己,就对Daivd在搞的语义网一头雾水。所以我打算写一篇博客,讲一下“爬虫工程师”的工作内容...
  • 干货:分享几款代码转流程图软件

    千次阅读 2020-07-02 14:28:55
    它生成的流程图支持展开/合拢,缩放和移动也很方便, 并且可以预设流程图的长宽和纵向横向间距。你可以将流程图导出到WORD文档或Bmp图像文件。它支持C,C++,VC++(Visual C++ .NET),Delphi(Object Pascal)。 是否免费...
  • uboot是用来干什么的,有什么作用?

    万次阅读 多人点赞 2017-05-18 09:44:14
    uboot是用来干什么的,有什么作用? uboot 属于bootloader的一种,是用来引导启动内核的,它的最终目的就是,从flash中读出内核,放到内存中,启动内核 所以,由上面描述的,就知道,UBOOT需要具有读写flash...
  • 计算机(软件)行业公司中取得计算机硕士及以上学历的同学一般干什么工作?不会只做底层代码吧?废料了。 计算机硕士及以上应该给自己什么定位? 我有时看到一个软件工程师能拿十几万年薪,那么那些考研的同学比起...
  • 历久而新,我的新书《第二行代码》已出版!

    万次阅读 多人点赞 2016-11-23 09:49:08
    《第二行代码》中的内容我相信很多人都会非常感兴趣,因为里面确实加入了很多很新的知识。略粗概括一下的话,新增内容就包括有Android Studio、Gradle、Material Design、运行时权限、多窗口模式、RecyclerView、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 639,772
精华内容 255,908
关键字:

代码可以干什么