精华内容
下载资源
问答
  • 有的时候执行安装或操作第三方软件时,需要输入Yes 或者回车 才能进行下一步 例如操作sqlite [root@lee sh]# sqlite3 anhui.db SQLite version 3.6.20 Enter ".help" for instructions Enter SQL ...

    1.应用场景

    有的时候执行安装或操作第三方软件时,需要输入Yes 或者回车 才能进行下一步

    例如操作sqlite

    [root@lee sh]# sqlite3 anhui.db 
    SQLite version 3.6.20
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    sqlite> 

    需要使用命令进入sqlite命令行后,才可以输入命令执行sql语句

     

    2.解决办法

    echo .read anhui.sql |sqlite3 anhui.db 

    在脚本里这么写,直接就会执行。

     

    若有更好的办法,欢迎指教~

    展开全文
  • 期待已久的安装下一步终于出现了!!!!(ps:此处应该有雷鸣般的   和   !!!!)  呼,终于解决了!  ( ps:写的有点细了,就是怕有初学的看不懂,大神只要看1、2、3就可以啦~~~~~~ )  ...
    近期有个项目需要用Weblogic部署Web项目,用的是win server 2012系统,在部署Weblogic环境的时候出现闪退问题:

    出现如下界面然后就木声音木图像了。。。。T~T.....
    先总结造成的原因:
            1、jdk安装的路径在C:\Program Files下面,文件夹名称中间有空格,导致路径无法识别。
            2、安装文件存放路径中包涵中文字符,导致路径无法识别。
            3、jdk版本问题(ps:jdk版本问题偶木有继续验证,听前辈说会有影响,希望有遇到问题的可以给我留言撒!

    以下是逗比的排错过程, 对于安装不熟悉的可以当逗比故事看。技术大大们如果也遇到只要看1、2、3就可以了,

    多番查找后。
    得到第一个造成这种问题的原因是:
            默认安装的jdk路径都是在
    C:\Program Files路径下面,问题就出现在Program Files这里,在Program和Files之间有个空格,这个空格就是导致Weblogic闪退的原因。
    卸载JDK,重新安装JDK,对了,Weblogic的部署好像还和jdk的版本有关,在部署的时候,第一次我装的jdk版本是1.7的,无法运行,请教高手后说需要用1.6版本的。然后装了1.6版本的jdk,路径修改为C:\Java\jdk1.6.0_27,重新配置环境变量,再次运行!(PS:关于jdk是1.7的是否会影响安装,我木有继续测,原谅我的懒惰。。。吧。。。Q_Q
    你猜成功了吗?
    T~T.................当然木有啦,依然是闪退,特么曰了狗了。
    没办法,只能使用绝招了。
    用jdk自带的java命令去打开Weblogic的安装文件。
    我的安装文件是存放在这里:

    具体是先到windows开始——>运行(ps:或则windows窗口键+R键,输入cmd,进入命令框


    进入到存放Weblogic安装文件的目录,进行如下操作:
    进入安装目录后输入java -jar 项目安装文件名称.jar(ps:注意这里运行的前提是jdk安装完成,然后环境变量配置完成!


    看到了嘛,报错了,果然还是命令来的简单直接。
    百度报错内容,拖拖的度娘就是给力,立马给出了路径问题,什么问题?
    特么的路径不能带有中文啊!有木有,坑爹的,搞半天特么就是汉字的问题!!!。。。。{>_<}~~~~~~
    我的安装包存放路径为:D:\部署环境\WebLogic,修改为D:\bshj\WebLogic。(ps:改路径的时候有可能出现文件正在使用无法修改的情况,最简单的方法是重启。。。。
    修改路径为英文。然后双击运行!
    piu~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    期待已久的安装下一步终于出现了!!!!(ps:此处应该有雷鸣般的
     和  !!!!) 
    呼,终于解决了! 
    ps:写的有点细了,就是怕有初学的看不懂,大神只要看1、2、3就可以啦~~~~~~) 


    展开全文
  • 找到立刻开始的下一步行动 |进击

    万次阅读 2017-02-22 06:58:48
    所谓“下一步行动”,就是某一件事情的一个可以直接去的步骤。但是,怎么找到这个步骤呢?

    这是自我规划系列的第五篇文章,前面的在这里:
    1. 超实用的自我规划模型
    2. 怎么发现愿景和目标
    3. 目标分解:每年10万被动收入
    4. 你离心想事成只差一个计划

    在“你离心想事成只差一个计划”一文中我们得出了下面的计划:

    计划中的每一个任务,往往还可以拆分为一系列的行动,这些行动都完成,任务就完成了。而拆分出来的行动序列,第一个要做的行动,就是我们这里所说的下一步行动。

    当你完成了任务到行动的拆分,每个任务就都对应了一个唯一的、明确无误的下一步行动,这样我们就能“看到就知道怎么去做”。

    而我们上面的计划表中,有一些任务,其实还没有到“看到就知道怎么去做”这种程度,还没有与之对应的下一步行动。

    这次文章,我们就来找任务的下一步行动。在此之前,我们先来定义一下“什么是可执行的下一步行动”。

    可执行的下一步行动

    所谓“下一步行动”,就是某一件事情的下一个可以直接去做的步骤。

    参看《搞定:无压工作的艺术》和《别让猴子跳回背上》。

    如果你的脑袋里只装着一件事情——即下一步行动,就可以立刻开始工作,也能够专注、高效的完成这一步行动。问题是,很多人都知道要聚焦在下一步行动上,可往往不知道怎么找到可以执行的下一步行动。这也是我们的很多计划失败的重要原因。

    小强升职记》中介绍了撰写下一步行动的四个秘诀:

    • 动词开头。一个好的行动应该是以动词开头的,比如“打电话给某某”、“准备会议资料”、“回复E-mail”等,以动词开头才能保证它具备可执行性。
    • 内容清晰。比如“准备会议资料”,虽然是动词开头,但是描述得不是很清晰,“需要准备哪些资料”、“几点开会”、“会议上要提出什么问题”,这些都需要进一步落实。所以说这样的下一步行动是失败的。
    • 描述结果。在任务开始之前对想要的结果进行描述,描述得越清晰,产生的能量就越大。比如你这样:“早晨9点带着做好的计划书在1号会议室讨论营销计划,说服与会者认同我的营销方案。”
    • 设定开始时间、周期、最后期限。在设定了这三个和时间有关的属性之后,就可以更合理地安排自己的时间,把握行动的进度,照顾别人的时间。

    如果你能够按照上述四个秘诀来拟定“下一步行动”,就有90%的可能找到“可执行的下一步”。所谓“可执行的下一步”,往往是简单到你只需要迈出右脚就行了。假如你还要考虑到底是迈右脚还是迈左脚,就说明你的下一步存在未决因素,不能立刻开始。

    下面是几个下一步行动:

    1. 晚上7点前打电话给妈妈
    2. 早上9:30之前给经理发周报
    3. 3月1日前确认男主年龄

    寻找下一步行动

    以我们出版一部小说的计划为例,确定角色这个里程碑中,“(确定)主角”这个任务就没有对应的行动序列,当然也就没有下一步行动。

    我们先来拆分,看看主角可能包含什么。也许有这些维度:

    • 性别
    • 长相
    • 年龄
    • 职业
    • 性格
    • 家庭背景
    • 主角个数

    再来想,我们应该最先确认哪一个信息?性别?长相?还是性格?

    我觉得是主角个数。如果是爱情小说,最起码有两个主角,一男一女。如果是武侠小说,则可能有多个主角,类似天龙八部那种。

    确定了主角个数后,就可以来填写每一个主角的信息。

    所以,这里,我们找到的下一步行动是:确定主角个数,某某日之前。然后再来排序其它信息,最终有可能得出下面的行动序列(先假定我们要出版的是都市爱情小说):

    1. 确认主角个数
    2. 确认女主长相
    3. 确认女主年龄
    4. 确认女主职业
    5. 确认女主性格
    6. 确认女主家庭
    7. 确认男主职业
    8. 确认男主年龄
    9. 确认男主性格
    10. 确认男主家庭
    11. 确认男主长相

    当前的下一步行动完成后,立刻从上面的行动序列出挑出下一个下一步行动,往复循环,下一步,下一步,下一步……

    当我们完成这11个行动序列,确定主角这个任务就完成了。

    现在,确定主角这个任务,是不是看到就能开始做了?

    再看一个例子,情节主线这个任务中的“结尾”,来找找它的下一步行动。

    按我的理解,撰写结尾又可以拆分为下面的序列:

    • 确认结局是悲剧还是喜剧
    • 撰写最后一个场景

    这两个哪个是下一步?我觉得应该是“确认结局是悲剧还是喜剧”。假如我们确定结局为悲剧(爱情小说的结尾通常屈服于悲剧模式),那接下来撰写最后一个场景,可以立即开始吗?恐怕还是不能……它应该可以拆分为下面的行动序列:

    • 确认悲剧形式(女主挂、男主挂、男女主一起挂、男女主都活着但被父母或其它压力拆散)
    • 撰写最后一个故事

    这里面的下一步就很清晰了,肯定是“确认悲剧形式”。

    小结

    当我们拿到一个任务,多问问自己下面这两个问题,往往就能找到下一步行动:

    1. 要完成这个任务,需要经过哪些步骤
    2. 哪个步骤需要第一个做

    多问问,多想想,多琢磨琢磨,就会找到下一步行动,就能开始行动。

    好啦,我们的自我规划系列,到这里就结束了,希望这个系列文章对你有用。关注我的微信订阅号“程序视界”,阅读更多实用文章。


    推荐阅读:

    展开全文
  • 快速幂算法——带你从零开始一步一步优化 目录 快速幂算法——带你从零开始一步一步优化 什么是快速幂算法 再次思考 快速幂算法初步入门 压榨性能再优化 终极优化 参考资料 博客文章版权声明 什么是...

                    快速幂算法——带你从零开始一步一步优化


    目录

                    快速幂算法——带你从零开始一步一步优化

    什么是快速幂算法

    再次思考

     

    快速幂算法初步入门

    压榨性能再优化

    终极优化

    参考资料

    博客文章版权声明


    什么是快速幂算法


    首先,我们先来看一道ACM程序设计题,这道题是杭电OJ中序号为2035的题目,没做过这道题目的同学可以跟着一起做一下(点击此处传送),题目如下:

    问题描述:

    这道题目乍一看会觉得并不难啊,题目短短一行而已,而且思路也很容易,求幂这种算法一般在初学程序设计语言的时候应该都有联系过,只要写一个简单的循环就能够搞定。

    /**
     * 普通的求幂函数
     * @param base 底数
     * @param power  指数
     * @return  求幂结果的最后3位数表示的整数
     */
    long long normalPower(long long base,long long power){
        long long result=1;
        for(int i=1;i<=power;i++){
            result=result*base;
        }
        return result%1000;
    }
    
    

    这道题不是分分钟解决吗?接下来,让我们来写一个主函数测试一下:

    int main(){
        long long base,power;
        cin>>base>>power;
    
        cout<<"base="<<base<<" power="<<power<<" "<<normalPower(base,power)<<endl;
    
        return 0;
    
    }

    然后,让我们愉快的来求一下2^100的结果的后三位数表示的整数是什么吧!输出结果如下:

    为什么答案会是0呢?明明没有错误的啊!~ 

    先不急,我们再来考虑一下,这道题其实出的很有意思,题目要求你输出结果的后三位,为什么不让你直接输出结果呢?难道仅仅只是为了增大题目的难度吗?当然不是,我们在初中就学过“指数爆炸”,下面我们在来回顾一下“指数”的概念:

    指数:在乘方a中,其中的a叫做底数,n叫做指数,结果叫幂。

    f(x)=a^x , 随着x单位长度的递增,f(x)会呈“爆炸性”增长。

    一张纸对折一次,厚度变成原来的2倍。再对折第二次,变为原来的2的2次方倍即4倍。以此类推,假设纸的厚度为0.1mm,则对折24次以后,长度超过1千米;对折39次达55000千米,超过地球赤道长度;对折42次达44万千米,超过地球至月球的距离;对折51次达22亿千米,超过地球至太阳的距离;对折82次为51113光年,超过银河系半径的长度。

    因此,如果题目让你求2的100次方,貌似我们程序设计语言中最大的long lnog类型也无法承载这么大的数值,所以题目才不会要求你输出结果,因为结果可能会非常的大,大到没有任何类型可以承载。所以我们会发现上面的结果为什么是0,因为已经发生溢出了。

    那为什么题目要求输出结果的最后三位数表示的整数呢?有的同学可能会问:求一个数的最后三位数表示的整数好办,只要用这个结果进行“取模”运算,让其对1000取模,得到的数就是这个数最后三位数表示的整数。(例如:12345的最后三位数表示的整数是:12345%1000=345)。但是,你这结果都无法求出来,让我怎么进行“取模”运算呢?你这不是瞎闹吗?

    别急,我们首先来了解一下“取模”运算的运算法则:(具体的证明感兴趣的同学可以问度娘)

    1. (a + b) % p = (a % p + b % p) % p (1)

    2. (a - b) % p = (a % p - b % p ) % p (2)

    3. (a * b) % p = (a % p * b % p) % p (3)

    其中我们只要关注第“3”条法则即可:(a * b) % p = (a % p * b % p) % p ,我们仔细研究一下这个运算法则,会发现多个因子连续的乘积取模的结果等于每个因子取模后的乘积再取模的结果。也就是说,我们如果要求:

    (a*b*c)%d=(a%d*b%d*c%d)%d;

    因此,我们可以借助这个法则,只需要在循环乘积的每一步都提前进行“取模”运算,而不是等到最后直接对结果“取模”,也能达到同样的效果。

    所以,我们的代码可以变成这个样子:

    /**
     * 普通的求幂函数
     * @param base 底数
     * @param power  指数
     * @return  求幂结果的最后3位数表示的整数
     */
    long long normalPower(long long base,long long power){
        long long result=1;
        for(int i=1;i<=power;i++){
            result=result*base;
            result=result%1000;
        }
        return result%1000;
    }

    我们再来测试一下,这样又能不能输出结果呢?我们仍然来求一下2^100的后三位是什么:

    这一次完美的得到了我们想要的结果。2^100的幂结果的后三位整数位376。

    为了打消一些同学对这个运算法则的怀疑,我们再用一个结果比较小的式子来验证一下:我们知道2^10为1024,按理来说,最后输出的结果的后三位数表示的整数应该是24,那么是不是这样呢?我们来试一试:

    最后的结果果然是24,所以这个法则是没有问题的。我们把下面的代码提交给OJ看一下是否能通过:

    #include <iostream>
    #include <cmath>
    
    using namespace std;
    
    /**
     * 普通的求幂函数
     * @param base 底数
     * @param power  指数
     * @return  求幂结果的最后3位数表示的整数
     */
    long long normalPower(long long base, long long power) {
        long long result = 1;
        for (int i = 1; i <= power; i++) {
            result = result * base;
            result = result % 1000;
        }
        return result % 1000;
    }
    
    int main() {
        long long base, power;
        while (true) {
            cin >> base >> power;
            if (base == 0 && power == 0) break;
            cout << normalPower(base, power) << endl;
        }
        return 0;
    
    }

    最后的结果是成功Accept了。

    再次思考


    虽然这个求幂的方法很有用,并且提交给OJ也直接Accept了,但是我们来考虑一下这个算法的时间复杂度,假设我们求2的100次方,那么将会执行100次循环。如果我们分析一下这个算法,就会发现这个算法的时间复杂度为O(N),其中N为指数。求一下小的结果还好,那如果我们要求2的1000000000次方呢?这个程序可能会运行很久很久,具体会多久呢,让我们来测试一下,测试代码如下:

    #include <iostream>
    #include <cmath>
    #include <time.h>
    
    using namespace std;
    
    /**
     * 普通的求幂函数
     * @param base 底数
     * @param power  指数
     * @return  求幂结果的最后3位数表示的整数
     */
    long long normalPower(long long base, long long power) {
        long long result = 1;
        for (int i = 1; i <= power; i++) {
            result = result * base;
            result = result % 1000;
        }
        return result % 1000;
    }
    
    int main() {
        clock_t start, finish;
        //clock_t为CPU时钟计时单元数
        long long base, power;
        cin >> base >> power;
        start = clock();
        //clock()函数返回此时CPU时钟计时单元数
        cout << normalPower(base, power) << endl;
        finish = clock();
        //clock()函数返回此时CPU时钟计时单元数
        cout << "the time cost is" << double(finish - start) / CLOCKS_PER_SEC;
        //finish与start的差值即为程序运行花费的CPU时钟单元数量,再除每秒CPU有多少个时钟单元,即为程序耗时
        return 0;
    
    }

    结果如图所示:

    我们发现,虽然结果是成功求出来了,但是用了将近18秒的时间才求出最后的答案。这效率当然是非常的低下的,更谈不上实际的生产应用了。那么有没有什么好的办法能够对其进行优化呢?接下来就是我们本次的主题了:快速幂算法。

     

    快速幂算法初步入门


    快速幂算法能帮我们算出指数非常大的幂,传统的求幂算法之所以时间复杂度非常高(为O(指数n)),就是因为当指数n非常大的时候,需要执行的循环操作次数也非常大。所以我们快速幂算法的核心思想就是每一步都把指数分成两半,而相应的底数做平方运算。这样不仅能把非常大的指数给不断变小,所需要执行的循环次数也变小,而最后表示的结果却一直不会变。让我们先来看一个简单的例子:

    3^10=3*3*3*3*3*3*3*3*3*3

    //尽量想办法把指数变小来,这里的指数为10

    3^10=(3*3)*(3*3)*(3*3)*(3*3)*(3*3)

    3^10=(3*3)^5

    3^10=9^5

    //此时指数由10缩减一半变成了5,而底数变成了原来的平方,求3^10原本需要执行10次循环操作,求9^5却只需要执行5次循环操作,但是3^10却等于9^5,我们用一次(底数做平方操作)的操作减少了原本一半的循环量,特别是在幂特别大的时候效果非常好,例如2^10000=4^5000,底数只是做了一个小小的平方操作,而指数就从10000变成了5000,减少了5000次的循环操作。

    //现在我们的问题是如何把指数5变成原来的一半,5是一个奇数,5的一半是2.5,但是我们知道,指数不能为小数,因此我们不能这么简单粗暴的直接执行5/2,然而,这里还有另一种方法能表示9^5

    9^5=(9^4)*(9^1)

    //此时我们抽出了一个底数的一次方,这里即为9^1,这个9^1我们先单独移出来,剩下的9^4又能够在执行“缩指数”操作了,把指数缩小一半,底数执行平方操作

    9^5=(81^2)*(9^1)

    //把指数缩小一半,底数执行平方操作

    9^5=(6561^1)*(9^1)

    //此时,我们发现指数又变成了一个奇数1,按照上面对指数为奇数的操作方法,应该抽出了一个底数的一次方,这里即为6561^1,这个6561^1我们先单独移出来,但是此时指数却变成了0,也就意味着我们无法再进行“缩指数”操作了。

    9^5=(6561^0)*(9^1)*(6561^1)=1*(9^1)*(6561^1)=(9^1)*(6561^1)=9*6561=59049

    我们能够发现,最后的结果是9*6561,而9是怎么产生的?是不是当指数为奇数5时,此时底数为9。那6561又是怎么产生的呢?是不是当指数为奇数1时,此时的底数为6561。所以我们能发现一个规律:最后求出的幂结果实际上就是在变化过程中所有当指数为奇数时底数的乘积。

    让我们来看一段简单的动画演示(点击放大):

    接下来,再让我们用代码来演示一下上面的算法:

    long long fastPower(long long base, long long power) {
        long long result = 1;
        while (power > 0) {
            if (power % 2 == 0) {
                //如果指数为偶数
                power = power / 2;//把指数缩小为一半
                base = base * base % 1000;//底数变大成原来的平方
            } else {
                //如果指数为奇数
                power = power - 1;//把指数减去1,使其变成一个偶数
                result = result * base % 1000;//此时记得要把指数为奇数时分离出来的底数的一次方收集好
                power = power / 2;//此时指数为偶数,可以继续执行操作
                base = base * base % 1000;
            }
        }
        return result;
    }

    我们再来测试一下此时的快速幂算法和普通的求幂算法的效率,我们仍然来求2的1000000000次方,看一看用时又会是多少:

    真让人简直不可思议,竟然只花了0.002秒就求出了结果,而且结果也是376,然而普通的算法却用了将近18秒的时间才求出最后的结果。

    压榨性能再优化


    虽然上面的快速幂算法效率已经很高了,但是我们仍然能够再一次的对其进行“压榨级别”的优化。我们上面的代码看起来仍然有些地方可以再进一步地进行简化,例如在if和else代码块中仍然有重复性的代码:

                power = power / 2;
                base = base * base % 1000;

                power = power - 1;//把指数减去1,使其变成一个偶数
                power = power / 2;
    可以压缩成一句:
                power = power / 2;

    因为power是一个整数,例如当power是奇数5时,power-1=4,power/2=2;而如果我们直接用power/2=5/2=2。在整型运算中得到的结果是一样的,因此,我们的代码可以压缩成下面这样:

    long long fastPower(long long base, long long power) {
        long long result = 1;
        while (power > 0) {
            if (power % 2 == 1) {
                result = result * base % 1000;
            }
            power = power / 2;
            base = (base * base) % 1000;
        }
        return result;
    }

    接下来,我们来测试一下优化后的性能如何,仍然是求2的1000000000次方:

    结果仍然是正确的376,但时间上的花费从0.002减少成了0.001。

     

    终极优化


    在C语言中,power%2==1可以用更快的“位运算”来代替,例如:power&1。因为如果power为偶数,则其二进制表示的最后一位一定是0;如果power是奇数,则其二进制表示的最后一位一定是1。将他们分别与1的二进制做“与”运算,得到的就是power二进制最后一位的数字了,是0则为偶数,是1则为奇数。例如5是奇数,则5&1=1;而6是偶数,则6&1=0;因此奇偶数的判断就可以用“位运算”来替换了。

    同样,对于power=power/2来说,也可以用更快的“位运算”进行替代,我们只要把power的二进制表示向右移动1位就能变成原来的一半了。

    最后,我们的代码就能优化成下面这样:
    long long fastPower(long long base, long long power) {
        long long result = 1;
        while (power > 0) {
            if (power & 1) {//此处等价于if(power%2==1)
                result = result * base % 1000;
            }
            power >>= 1;//此处等价于power=power/2
            base = (base * base) % 1000;
        }
        return result;
    }

    我们仍然测试一下求2的1000000000次方,看看终极优化后的代码的性能是怎样的:

    简直可怕,时间花费竟然接近于0秒,我们从最开始的18秒最后压缩到接近0秒,真的是感慨算法的威力!如果同样两家公司,采用不同的算法,给用户带来的体验区别是非常大的,这无不让我们感受到算法的威力。

     

    基础不牢?新手不友好?无人带路?关注《扬俊的小屋》公众号吧!


     

    参考资料


    【1】https://www.rookieslab.com/posts/fast-power-algorithm-exponentiation-by-squaring-cpp-python-implementation#brute-force-python-implementation  作者:Ravi Ojha 翻译:刘扬俊

    【2】百度百科——指数爆炸

    https://baike.baidu.com/item/%E6%8C%87%E6%95%B0%E7%88%86%E7%82%B8/8440078?fr=aladdin 

     

    博客文章版权声明


     

     

     

     

     

     

     

     

    展开全文
  • 一步一步教你ios推送 分类: ios2013-03-03 21:48 3385人阅读 评论(8) 收藏 举报 ios推送客户端服务器  最近在研究ios的推送问题,遇到了一些问题,最终整理了一下。放在这里和大家分享 ...
  • 一步一步教你ios推送

    万次阅读 多人点赞 2013-03-03 21:48:45
    必须不是通配的,通配的不可以推送 )。点击Configure 进入后默认推送功能是关闭的,我们需要把推送功能打开 选中打开后,点击右边灰色的Configure按钮 这里的...
  • 如何一步一步成为一个领域专家

    万次阅读 多人点赞 2021-01-30 12:58:59
    另外如果实在无法联系到专家,你可以搜集专家的资料,发表的文章、演讲,观察专家什么,你就什么,复制专家的行为是你快速成长的方法,当然成为顶级那需要有自身的独到见解或者开创新的领域,本文我们只是讨论...
  • 最近正要一个人脸识别的门禁系统,所以打算抽出一些时间来一个系列专题,讲解我在系统中用到的一些技术来满足一下祖传的好为人师的愿望。 既然要识别人脸,那第一步当然要检测出人脸的位置。 刚好opencv提供...
  • IDEA中如何使用debug调试项目 一步一步详细教程

    万次阅读 多人点赞 2018-07-09 16:45:46
     一般情况我们调试的时候是在一个线程中的,一步一步走。但有时候你会发现在Debug的时候,想发起另外一个请求都无法进行了?  那是因为IDEA在Debug时默认阻塞级别是ALL,会阻塞其它线程,只有在当前调试...
  • 可以按亏车按钮,如果回车按钮可以下一步那就最好了,如果回车不好使,那么就要想想办法了,起初我是用鼠标在右角随机点,有的时候可以点到有的时候点不到。 在最后一步的时候我在右角点击的时候谈了一个弹窗,...
  • 之前做出的步骤条是利用easyui +jquery实现的,但是他在隐藏板块的时候用到的是display:none,...把元素脱离文档流移出视觉区域,添加该属性后既不会影响布局,又让元素保持可以操作。应用该属性后,主要就是通过控...
  • 四年测试工程师经历,下一步转开发还是继续测试? 测试四年,没有积累编程脚本能力和自动化经验,找工作时都要求语言能力,自动化框架。 感觉开发同事积累的经历容易找工作。 下一步,想办法转开发岗还是继续测试...
  • 如何从RNN起步,一步一步通俗理解LSTM

    万次阅读 多人点赞 2019-05-06 23:47:54
    如何从RNN起步,一步一步通俗理解LSTM 前言 提到LSTM,之前学过的同学可能最先想到的是ChristopherOlah的博文《理解LSTM网络》,这篇文章确实厉害,网上流传也相当之广,而且当你看过了网上很多关于LSTM的文章...
  • 我之前的的产品分析评测,有的准确预测了产品的改进演化方向,有的也没有把握住产品的趋势,展望出现了偏差。无论怎么说,之前的分析评测对于我个人来说都是有帮助的,现在打算把原来的文章复盘一下
  • 程序员是如何一步一步被诈骗的?

    万次阅读 多人点赞 2020-05-01 09:50:59
    说已经进行了一半,现在不弄,待会又从头开始等等,想着疫情期间大家出来工作都不容易,我就心软了,然后傻傻的被他牵引着继续往下进行。 诈骗者的另一个圈套 于是他又换了一个方式,让我微信登陆,他说:你的微信...
  • 既然苹果打算建立自己的调试器王国,也投入了钱力精力,那我们干脆也上手lldb玩玩,看看lldb是不是比gdb要更用(以下操作在iPhone 5,iOS 7.0.4上测试,应该也适用于arm64,如果不行,请参照iphonedevwiki) 一、...
  • 操作系统准备后,接下来就应该进行各组件的安装了,在这一篇里我将介绍怎么在一台机器上安装keystone、glance、nova、horizon、swift。大致安装步骤如下,下载源代码,下载并安装各组件的依赖库,安装各组件。 1....
  • 前段时间在阅读《一步一步写嵌入式操作系统》,按照书本的内容一步一步写操作系统。不过在写的过程中比较纠结,因为《一步一步写嵌入式操作系统》一书提供了完整的样例代码,完全按照书中的内容一句一句敲代码视乎...
  • 一步一步写算法(开篇)

    万次阅读 多人点赞 2011-09-29 22:41:11
    【 声明:版权所有,欢迎转载,请勿用于商业用途。...没有算法,就没有软件,计算机也...但是我们也知道,软件是一种复合的技术,如果一个人只知道算法,但是不用编程语言很地实现,那么再优秀的算法也不发挥作用。
  • 我的下一步的计算机学习计划

    千次阅读 2006-04-25 12:48:00
    至今为止,软件我过了不少。可是真正用到软件设计模式,在开发过程中使用软件工程的时候真的很少。总归是我的基础知识比较薄弱。因此我将做出一些改变,...对一些Java软件进行改造,为个人可以拿出手的展示软件:
  • 女朋友苹果电脑遇到问题,女...我尼玛,就坑我小女朋友,还小女朋友没给他,本来就是盗版系统,要什么正版钱,就坑不懂的人,无奈本人不在那边,要不然我这小暴脾气。。。。。可怜的小女生。回来后呜呜哭,感觉被欺
  • 生成这个APK包的时候,使用的android studio版本为3.2.1,感觉应该是版本太高,安全机制做得比较,然后使用android studio2.2.3、 SDK API 16,完美解决这个问题。你也可以尝试替换成其它版本打包尝试一下。 ...
  • 2.dex2jar:该工具作用是将classes.dex文件,反编译出源码(如果apk未加固),反编译出文件,使用jd-gui工具进行查看; 3.Auto-Sign:自动签名工具,将重新打包的apk进行签名,如果不签名,无法安装使用...
  • 一步一步写算法(之查找)

    万次阅读 多人点赞 2011-10-05 09:08:29
    数据查找并不复杂,但是如何实现数据又快又地查找呢?前人在实践中积累的一些方法,值得我们好好学些一下。我们假定查找的数据唯一存在,数组中没有重复的数据存在。 (1) 普通的数据查找 设想有一个1M的数据,...
  • 一步一步实现C++操作SQLite数据库

    千次阅读 2011-08-05 14:59:35
    一步一步实现C++操作SQLite数据库  SQLite,是一款轻型的数据库,是遵守ACID的关联式关系数据库,目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够...
  • 一步一步教你如何在AndroidStudio查看Android源码(AOSP源码)
  • 总结 学好使用原生apktool、dex2jar很重要,这样理解Android反编译,并且遇到问题自己也解决,不会像上面那样 工具报错了,自己没有排错的能力,只能查搜索引擎。 后面会写文章介绍apktool、dex2jar的原理...
  • JDK详细的一步一步的安装教程

    千次阅读 2020-05-09 21:59:12
    a、安装时默认点击下一步,但选择安装路径时,默认安装路径为 C:\Program Files\Java\jdk1.8.0_131\,建议在windows选择一个单独的盘 用于安装开发软件,以后会很方便 路径修改为G:\Java\jdk1.8.0_131\ b、 ...
  • 打开QuartusII软件,程序主界面如下: ...而且实际中,这样的设计(当然还有一些其他的工作要),是能够送到工厂中去生产真正的ASIC专用电路,也就是真正的,我们摸到使用的CPU,会有这样的一天。
  • 一步一步升级Android电视机系统

    千次阅读 2018-11-29 14:20:51
    使用工具软件ISP_Tool_new.exe将mboot.bin烧录进PCB板,具体操作如下:将PCB线路连接,在电脑上运行ISP_Tool_new.exe,点击Read ,选mboot.bin文件路径,不使用中文路径如否则会烧录失败。开启PCB电源后立即...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 735,832
精华内容 294,332
关键字:

做得好才能进行下一步