精华内容
下载资源
问答
  • 百度路书做轨迹回放-vue

    千次阅读 热门讨论 2019-03-04 12:39:27
    }, 接下来 生成路书,在这里我们生成路书之前可能要重新写一下路书的move函数,因为我们各自的需求不一样,可能需要修改 BMapLib.LuShu.prototype._move = function(initPos, targetPos, effect) { var pointsArr =...

    其实不管是vue还是其他框架 还是jq  都是用原生js写 都一样的。

    首先第一步众所周知

    <script src="http://api.map.baidu.com/api?v=2.0&ak=你的K"></script>
    <script type="text/javascript" src="http://api.map.baidu.com/library/LuShu/1.2/src/LuShu_min.js"></script>

    这里注意ak后面不要加别的东西,否则会报错。

    我先说一下思路,就是首先要根据GPS点画一条轨迹,然后将这些GPS点喂给百度lushu,然后小车按着我们规定好的轨迹运动。

    话不多说上代码:

    data(){
        return{
            gpsArr:[],//后台拿到的gps点数组
            speed:4000
        }
    }
    initMap(){
        var map = new BMap.Map("mymap");
        map.enableScrollWheelZoom(new BMap.Point(116.404, 39.915), 13);
        map.centerAndZoom();
        var arrPois = [];
    
        for (let i = 0; i < this.gpsArr.length; i++) {
          var p0 = this.gpsArr[i].longtitude;
          var p1 = this.gpsArr[i].latitude;
          // var checksum = makerArry[i].checksum;
          var point = new BMap.Point(p0, p1); //118.230272,33.482474
          arrPois.push(point);
        }
        //画轨迹
          var polyLine = new BMap.Polyline(arrPois, {
            strokeColor: "blue", //设置颜色
            strokeWeight: 5, //宽度
            strokeOpacity: 0.5 //透明度
          });
          map.addOverlay(polyLine);
          //画轨迹结束
    }

    此时在地图中已经看到我们画的线了,接下来创建路书

    initLushu(map, arrPois, mycaiId) {
          this.lushu = new BMapLib.LuShu(map, arrPois, {
            defaultContent: mycaiId, //"从天安门到百度大厦"
            autoView: true, //是否开启自动视野调整,如果开启那么路书在运动过程中会根据视野自动调整
            icon: new BMap.Icon(
              "http://developer.baidu.com/map/jsdemo/img/car.png",
              new BMap.Size(52, 26),
              {
                anchor: new BMap.Size(27, 13)
              }
            ),
            speed: this.speed,
            enableRotation: true, //是否设置marker随着道路的走向进行旋转
            landmarkPois: [
              {
                lng: 116.306954,
                lat: 40.05718,
                html: "加油站",
                pauseTime: 2
              }
            ]
          });
        },

    接下来 生成路书,在这里我们生成路书之前可能要重新写一下路书的move函数,因为我们各自的需求不一样,可能需要修改

    BMapLib.LuShu.prototype._move = function(initPos, targetPos, effect) {
            var pointsArr = [initPos, targetPos]; //点数组
            var me = this,
              //当前的帧数
              currentCount = 0,
              //步长,米/秒
              timer = 10,
              step = this._opts.speed / (1000 / timer),
              //初始坐标
              init_pos = this._projection.lngLatToPoint(initPos),
              //获取结束点的(x,y)坐标
              target_pos = this._projection.lngLatToPoint(targetPos),
              //总的步长
              count = Math.round(me._getDistance(init_pos, target_pos) / step);
            //显示折线 syj201607191107
            //如果想显示小车走过的痕迹,放开这段代码就行
            // this._map.addOverlay(
            //   new BMap.Polyline(pointsArr, {
            //     strokeColor: "#111",
            //     strokeWeight: 5,
            //     strokeOpacity: 0.5
            //   })
            // ); // 画线
            //如果小于1直接移动到下一点
            if (count < 1) {
              me._moveNext(++me.i);
              return;
            }
            me._intervalFlag = setInterval(function() {
              //两点之间当前帧数大于总帧数的时候,则说明已经完成移动
              if (currentCount >= count) {
                clearInterval(me._intervalFlag);
                //移动的点已经超过总的长度
                if (me.i > me._path.length) {
                  return;
                }
                //运行下一个点
                me._moveNext(++me.i);
              } else {
                currentCount++;
                var x = effect(init_pos.x, target_pos.x, currentCount, count),
                  y = effect(init_pos.y, target_pos.y, currentCount, count),
                  pos = me._projection.pointToLngLat(new BMap.Pixel(x, y));
                //设置marker
                if (currentCount == 1) {
                  var proPos = null;
                  if (me.i - 1 >= 0) {
                    proPos = me._path[me.i - 1];
                  }
                  if (me._opts.enableRotation == true) {
                    me.setRotation(proPos, initPos, targetPos);
                  }
                  if (me._opts.autoView) {
                    if (!me._map.getBounds().containsPoint(pos)) {
                      me._map.setCenter(pos);
                    }
                  }
                }
                //正在移动
                me._marker.setPosition(pos);
                //设置自定义overlay的位置
                me._setInfoWin(pos);
              }
            }, timer);
          };

    重写完之后就可以调用路书的api来控制小车移动还是停止了

    lushu.start()   pause()  stop() 

    好最后整理一遍

    <template>
        <div>
            <div id='mymap'></div>
            <button @click='play(1)'>播放</button>
            <button @click='play(2)'>暂停</button>
            <button @click='play(3)'>停止</button>
        </div>
        
    </template>
    <script>
        data(){
            return{
                gosArr:[],//后台拿到的gps点数组
                speed:4000,//速度
                lushu:{},//路书
                mycaiId:'京123465',
                myMap: {} //地图
            }
        },
        methods:{
               initMap(){
                    var map = new BMap.Map("mymap");
                    map.enableScrollWheelZoom(new BMap.Point(116.404, 39.915), 13);
                    map.centerAndZoom();
                    var arrPois = [];
    
                    for (let i = 0; i < this.gpsArr.length; i++) {
                      var p0 = this.gpsArr[i].longtitude;
                      var p1 = this.gpsArr[i].latitude;
                      // var checksum = makerArry[i].checksum;
                      var point = new BMap.Point(p0, p1); //118.230272,33.482474
                      arrPois.push(point);
                    }
                    //画轨迹
                      var polyLine = new BMap.Polyline(arrPois, {
                        strokeColor: "blue", //设置颜色
                        strokeWeight: 5, //宽度
                        strokeOpacity: 0.5 //透明度
                      });
                      map.addOverlay(polyLine);
                      //画轨迹结束
                    BMapLib.LuShu.prototype._move = function(initPos, targetPos, effect) {
            var pointsArr = [initPos, targetPos]; //点数组
            var me = this,
              //当前的帧数
              currentCount = 0,
              //步长,米/秒
              timer = 10,
              step = this._opts.speed / (1000 / timer),
              //初始坐标
              init_pos = this._projection.lngLatToPoint(initPos),
              //获取结束点的(x,y)坐标
              target_pos = this._projection.lngLatToPoint(targetPos),
              //总的步长
              count = Math.round(me._getDistance(init_pos, target_pos) / step);
            //显示折线 syj201607191107
            //如果想显示小车走过的痕迹,放开这段代码就行
            // this._map.addOverlay(
            //   new BMap.Polyline(pointsArr, {
            //     strokeColor: "#111",
            //     strokeWeight: 5,
            //     strokeOpacity: 0.5
            //   })
            // ); // 画线
            //如果小于1直接移动到下一点
            if (count < 1) {
              me._moveNext(++me.i);
              return;
            }
            me._intervalFlag = setInterval(function() {
              //两点之间当前帧数大于总帧数的时候,则说明已经完成移动
              if (currentCount >= count) {
                clearInterval(me._intervalFlag);
                //移动的点已经超过总的长度
                if (me.i > me._path.length) {
                  return;
                }
                //运行下一个点
                me._moveNext(++me.i);
              } else {
                currentCount++;
                var x = effect(init_pos.x, target_pos.x, currentCount, count),
                  y = effect(init_pos.y, target_pos.y, currentCount, count),
                  pos = me._projection.pointToLngLat(new BMap.Pixel(x, y));
                //设置marker
                if (currentCount == 1) {
                  var proPos = null;
                  if (me.i - 1 >= 0) {
                    proPos = me._path[me.i - 1];
                  }
                  if (me._opts.enableRotation == true) {
                    me.setRotation(proPos, initPos, targetPos);
                  }
                  if (me._opts.autoView) {
                    if (!me._map.getBounds().containsPoint(pos)) {
                      me._map.setCenter(pos);
                    }
                  }
                }
                //正在移动
                me._marker.setPosition(pos);
                //设置自定义overlay的位置
                me._setInfoWin(pos);
              }
            }, timer);
          };    
                this.initLushu(map, arrPois, this.mycaiId);
                },
                initLushu(map, arrPois, mycaiId) {
                      this.lushu = new BMapLib.LuShu(map, arrPois, {
                        defaultContent: mycaiId, //"从天安门到百度大厦"
                        autoView: true, //是否开启自动视野调整,如果开启那么路书在运动过程中会根据视野自动调整
                        icon: new BMap.Icon(
                          "http://developer.baidu.com/map/jsdemo/img/car.png",
                          new BMap.Size(52, 26),
                          {
                            anchor: new BMap.Size(27, 13)
                          }
                        ),
                        speed: this.speed,
                        enableRotation: true, //是否设置marker随着道路的走向进行旋转
                        landmarkPois: [
                          {
                            lng: 116.306954,
                            lat: 40.05718,
                            html: "加油站",
                            pauseTime: 2
                          }
                        ]
                      });
                    },
                    play(val) {
          if (this.arrIndex >= this.gpsArr.length - 3) {
            this.arrIndex = 0;
          }
          switch (val) {
            case 1:
              this.lushu.start();
              break;
            case 2:
              this.lushu.pause();
              break;
            case 3:
              this.lushu.stop();
              this.arrIndex = 0;
              this.percentage = 0;
              break;
          }
        },
                    
        }
    
    </script>
    <style scoped>
    </style>

     

    展开全文
  • 强烈推荐10本程序员必读的

    万次阅读 多人点赞 2020-01-26 03:42:34
    很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经...我花了一天的时间,挑选了 10 本我最喜欢的,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...

    经常有读者私下问我,能否推荐几本书,以便空闲的时间读一读。于是我跑去自己的书架上筛选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。

    01、《代码整洁之道》

    我可以这么肯定地说:《代码整洁之道》值得所有的程序员读一读。软件的质量,不仅依赖于架构,更与代码质量息息相关。而代码的质量与其整洁度成正比关系,越整洁的代码,其质量毫无疑问的就会越高。

    如何写出整洁的代码呢?Keep It Simple Stupid:代码简单直接,不仅能够提高代码的效率,还能够让阅读代码的人赏心悦目。

    本书的第一章,对整洁代码下了一个定义,同学们都应该铭记在心。

    1、整洁的代码力求专注,每个方法、每个类都应该全神贯注于一件事;命名更要给人一种“顾名思义”的感觉。
    2、整洁的代码简单直接,从不隐藏设计者的意图。
    3、整洁的代码应当有单元测试。
    4、整洁的代码拒绝重复,其表达力直击人的心灵。

    02、《设计模式之禅》

    《设计模式之禅(第 2 版)》是设计模式领域公认的 3 本经典著作之一,也是我们国内程序员写的一本书,趣味化十足,读起来也非常容易理解。

    同学们都听说过,学习设计模式非常的重要,那么为什么这么重要呢,设计模式到底是什么?打个比喻学编程就像学武功一样。

    武功要练得很牛逼,有两样东西不能丢。第一,是内功;第二,是武功秘籍。内功对应到编程就是我们编程基础能力,那编程的设计模式就可以想象成武术中的武功秘籍。

    设计模式就是根据不同类型场景,设计优雅的(编码)解决方案。学好设计模式有很多好处,比如,容易看懂经典代码中的逻辑(很多优秀的开源框架大量使用了设计模式);应对面试时对答如流(设计模是面试重点);可以编写出优雅的解决方案(或者代码)。

    03、《重构——改善既有的代码设计》


    这本书在业界的名声也非常的响,只不过看起来就需要一些精力和耐力,上面这些书看完后,可以看这一本,对于重新审视现有代码有极大的帮助。

    重构代码对提高整体的架构能力非常有帮助,因为是站在宏观的角度去思考的。不然很容易把原有的功能给整出 bug 了。

    04、《人月神话》

    在软件领域,很少能有像《人月神话》一样具有深远影响力并且畅销不衰的著作。

    作者为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。

    这本书算得上是饱经沧桑了,毕竟年月已久,但书中包含的思想恐怕永远不会过时。我读完后的感觉是,编程的确和生孩子有一定的相似性,追加人手会在一定程度上缩短项目周期,但并不能改变十月孕期的普遍规律。

    05、《编程珠玑》


    记得作者在前言中说过一句话:“一次不要读太多,一章足矣。”

    本书的确在强调算法,但是除了常规的算法,作者更多的是在表达出一种算法以外的思想:高效的算法没错,但是正确的事情应该用正确的方法来做。 每个算法都有高效的经典例子,但是什么时候用什么样的算法,探究问题的本质,真正的优雅的解决问题,才是本书所要传达的精神。

    06、《程序是怎么跑起来的》


    本书和《计算机是怎么跑起来的》是一对。这本书的特点就是书的开本比较小,全彩印刷,内容相对简单,整本书很轻。两本书结合起来读会更有趣。

    07、《黑客与画家》

    第一次看到这本书的书名时,感觉有点爱上的感觉。对于我们程序员来说,当一名“黑客”简直不要太帅。

    这是一本能引发技术人思考的佳作,真正意义上的黑客精神、创业、编程语言,是这本技术散文集的三个主题。阮一峰的翻译很到位,很喜欢他的译文。

    08、《图解 HTTP》

    图解,顾名思义,里面有大量的图片,可以帮助我们快速的理解 HTTP。对于我们程序员来说,懂得 HTTP 的大致原理,可以无形装逼。

    把一本书写薄还好读并且覆盖主要的知识范围并不是一件容易的事情。但是这本书做到的,而且从对 HTTP 知识的覆盖程度到易读性都做得相当好。

    09、《软技能:代码之外的生存指南》

    这本书的作者是真的牛逼,挣了很多钱,完全超乎我的想象。第一次读的时候,感觉一个程序员原来还可以干这么多事,并且和编码是不冲突的,大开眼界吧。

    这本书中有一个观点,就是有意识地建立和维护个人品牌,把自己当做一件产品,既要负责生产,保证品质,也要负责销售,推向市场。这个观点对于我来说,还是蛮有影响力的。

    10、《算法》

    可能很多同学会存在这样一个误区:算法在工作当中很少会用到,需要的时候面向搜索引擎解决一下就行了。

    但我想说的是,跳槽的时候很有用,因为一些大厂就喜欢考算法。除此之外,算法对阅读源码也很有帮助;况且,谁不想做一名编程的艺术家呢?长期来看,大脑思考能力是一个人最重要的核心竞争力,而算法是为数不多的能够有效训练大脑思考能力的途径之一。

    好了,好了,就先推荐这 10 本书吧。别瞅了,点赞呗,你最美你最帅。如果你需要更多书单,微信搜索[沉默王二]关注我,回复关键字[健康]就可以了。

    展开全文
  • 每周荐:高可用架构、解忧程序员、财富自由之(评论送) 感谢大家对荐栏目的支持,先公布下上期活动中奖名单 湖前琴亭郭朝决战618:探秘京东技术取胜之道(全彩) 杨倩-Yvonnemrzhangdulin京东系统质量...

     

    每周荐书:高可用架构、解忧程序员、财富自由之路(评论送书)

     

    感谢大家对荐书栏目的支持,先公布下上期活动中奖名单

     

    湖前琴亭

    郭朝

    决战618:探秘京东技术取胜之道(全彩)

     

    杨倩-Yvonne

    mrzhangdulin

    京东系统质量保障技术实战

     

    丁国华

    骑着炮弹进城

    京东技术解密

     

    请以上六位用户私信给小编快递地址,我尽快给各位发送奖品。

     

    每周荐书活动规则:

    文末评论里回复你对本周推荐图书的看法,或想要获得某本书的书名及理由

    下期荐书更新时,会在本期评论中选出6名优秀评论可以免费获得此书

     

     

    高可用架构(第1卷)

    榨干持续服务潜能  标引一线架构风向


    高可用架构社区 著

    ISBN 978-7-121-31466-7

    2017年11月出版

    定价:108.00元

    652页

     

    编辑推荐

    《高可用架构(第1卷)》由数十位一线架构师的实践与经验凝结而成,选材兼顾技术性、前瞻性与专业深度。各技术焦点,均由极具代表性的领域专家或实践先行者撰文深度剖析,共同组成“高可用”的全局视野与领先高度,内容包括精华案例、分布式原理、电商架构等热门专题,及云计算、容器、运维、大数据、安全等重点方向。不仅架构师可以从中受益,其他IT、互联网技术从业者同样可以得到提升。

     

    解忧程序员——高薪编程、求职面试与成长转型宝典

    囊括程序员最为关心的话题,并给出经验指导,帮助读者积极面对并解决工作中各方面的问题


    安晓辉 著

    ISBN 978-7-121-32610-3

    2017年10月出版

    定价:59.80元

    332页


    编辑推荐

    《解忧程序员——高薪编程、求职面试与成长转型宝典》是专为程序员而编写的。本书浅显易懂,深入浅出,书中从各个角度,全面地解读了程序员这个特定人群,在日常程序设计工作中遇到的种种问题及解决办法。如果你不知道选择什么技术栈来学习,困惑于怎样在技术上持续精进,想转技术管理却没途径,想有章法地为跳槽加薪做准备,想转型不知道除了技术还能干什么,可以看看这本书,它提供的方法和工具可以帮助你找到答案。

     

    财富自由之路

    财富要自由,自己先成长!李笑来老师用亲身经历告诉您如何打造开挂人生!



    李笑来 著

    ISBN  978-7-121-32008-8

    2017年10月出版

    定价:69.00元

    336页


    编辑推荐

    授人以鱼不如授人以渔!方法论+思维方式+实践细节+亲证的事实

    本书既不是成功学也不是心灵鸡汤,而是教你一门“实践”的技术,要求你在阅读本书的过程中,以及未来的无数时光里,不断地运用它,实践它,并深入地思考和付诸修行——唯有如此,你才有可能在无数平凡的琐事里,不断纠正并升级自己的“操作系统”,让它为自己带来更多的可能和未来,成为更好的自己!

    还有什么,是比这个更珍贵的财富呢?

     

    展开全文
  • 虽然现在网上都有PDF之类的电子版本书籍,但我还是适应不过来,我还是比较喜欢把拿在手里一页一页去翻、边看边笔记的那种。 借用著名作家冰心的一句话“读书好,多读书,读好书”,今天我来分享一下我觉得比较...

    大家好,我是龙叔,18年的程序员生涯里,我读过不下200本技术书籍,现在家里的书房还有几十本觉得不错的书籍,经常会拿来翻阅。

    一、论看书的重要性

    现在不像十几年前那样,现在的学习资源很多,出了校园工作了之后,很多人都不怎么喜欢看书,通过看书来学习的人越来越少了,但我一直保持着这个习惯,现在也是,每天早上都会起来看一些书籍。

    书籍的优点之一就在于,它拥有完整的体系,从它的目录你就能看得出来,如果你好好地去读完一本书籍,那么你掌握的就是一个完整的知识体系,可以跟一些网课相比肩。

    书籍的另一个优点就是权威。能够被出版社出版的书籍,流传都会比较广,作者基本上都是一些技术很牛逼的人士,他们在写书的时候倾注了极大的心血,并持续地区修订改良,权威性很强。

    在这里插入图片描述

    现在资源这么丰富,如果你是零基础想了解一门技术的话,你随便看啥都行,看一些博客或者论坛网站之类的,甚至教科书都可以,但如果你想深入学习一门技术,那么权威书籍就得耐心去看了,这对你将会有莫大的帮助。

    虽然现在网上都有PDF之类的电子版本书籍,但我还是适应不过来,我还是比较喜欢把书拿在手里一页一页去翻、边看边做笔记的那种。

    借用著名作家冰心的一句话“读书好,多读书,读好书”,今天我来分享一下我觉得比较不错的编程书。


    一、C语言书籍

    首先来说一下C语言书籍,这也是很多人问到我的一个问题了,C语言看什么书比较好? 我推荐这本《C Prime Plus》。

    在这里插入图片描述

    这本书基本上C语言的方方面面基本全涉及到了,相信有很多人都看过谭浩强先生那本教科书《C语言程序设计》,谭先生的这本书我也看过很多次了,但以我经验来看,我推荐的这本它要全得多、深得多,多吃透几遍很有用的。
    在这里插入图片描述

    版本的话, 建议大家去看最新版本的书籍,技术书籍经常会因为技术的更新而出新的版本,虽然改动不会很大,但咱们尽可能跟上最新的技术趋势为好。

    对于C语言,进阶的话可以看看别的书,主要两方面的书籍,一个是指针,一个是内存,这两个是C语言里面最重要的东西了,《C和指针》、《C陷阱缺陷》、《C专家编程》都是不错的。


    二、C++书籍

    C+++书籍我给大家推荐两本,一本是非常经典的《C++ Primer》,另一本是《C++ Primer Plus》。

    图片

    这两本书的区别就在于,《C++ Primer Plus》更适合零基础的人去看,因为里面的内容更为简单一些,如果你具备或看过C++的东西,或者C语言基础比较好,《C++ Primer》这本书会更适合你。


    三、Java书籍

    Java书籍我力荐《Java编程思想》,在我看过的所有Java书籍里面,这是最全、最有深度的一本,如果错过了那就太可惜了。

    在这里插入图片描述

    当然,如果你Java基础不怎么好,可能看到后面会有点费劲,那么你可以从《Java核心技术》这本看起,它会比较合适,这本书有I卷和II卷,都非常不错。

    图片

    如果你想把Java作为一门职业语言的话,这3本书是一定要看的。


    四、Python书籍

    现在Python学习的人数是越来越多了,很多小伙伴在网上问我学Python应该看哪本书比较好,那么我给大家推荐两本。

    第一本是《Python核心编程》,里面包含了Python 2 的代码,也包含了Python 3 的代码,基本上把python语法的层面全部讲完了,还有Python常见的应用领域也讲了。
    在这里插入图片描述

    然后给大家推荐一本《Python从入门到实践》,这本书是基于Python 3 讲的,这本书作为入门书籍是没有任何问题的,Python的常见应用领域也有包含,学完基础之后如果你还想扩展到某一个具体的应用领域,然后你再去找那具体应用领域的书。《Python核心编程》和《Python从入门到实践》二选一即可。
    在这里插入图片描述


    五、Go语言书籍

    GO语言给大家推荐一本我最近也在看的书《GO语言实战》,也叫《Go In Action》,这本书是由国外书籍翻译过来的,比较薄,但非常通俗易懂,市面上经典的Go语言书籍并不多,这本书作为入门书籍我觉得是不错的。
    在这里插入图片描述


    进阶一:数据结构与算法书籍

    当我们掌握了C语言/C++/Java/Python/GO中的一两门语言,已经入门了之后,就满足了找工作的第一要素,那么我们就需要深入地了解IT行业里面比较重要的IT技术了,这不仅会是面试的时候会涉及的内容,面试官会探测你的技术深度,而且会在工作中实际经常用到。

    对于编程工作而言,除了语言的精通,最最重要的就是数据结构与算法了。

    这方面我给大家推荐《算法导论》这本书,这本书不适合初学者,因为这本书要求你有很强的数学功底以及比较深的数据结构与算法的基础底子。
    在这里插入图片描述

    相比较上一本书而言,《算法》这本书就比较好接受了,应该适合绝大多数学数据结构和算法的小伙伴们。这本书它基础的数据结构与算法都非常全面的涉及了,基本上就是可以成为你把数据结构和算法学得不错的一本书了。
    在这里插入图片描述


    进阶二:计算机网络书籍

    计算机网络也是找工作很重要的一个东西了,必须掌握,计算机网络在狭义一点理解其实就是TCP/IP协议栈。

    首先我一直觉得《TCP/IP详解》这本书是我看计算机网络或者说TCP/IP协议栈最好的一本书。虽然说这本书大家觉得很晦涩,太经典了,所以是必须要推荐。当然还有一本《计算机网络 自顶向下》,纵观所有计算机网络方面的书籍,我觉得目前是没有其他比它们俩更好的书籍了,那么可以从中二选一来看。

    图片


    进阶三:Linux系统书籍

    找工作必备的一个技能就是Linux操作系统,众所周知,C语言开发很少在windows上做,基本上都是基于Linux操作系统在做,作为一名优秀的程序员,对于Linux的了解是必不可少的。

    首先给大家推荐鸟哥的《linux私房菜》,这本书主要讲Linux操作系统的使用,因为就是主要还是命令,很适合当工具书,如果你对里面的内容基本都熟悉,那你一定能派上用场,不需要你记住细节,但你要大致能知道哪个命令是干啥的,建议大家诵读一遍。
    在这里插入图片描述

    《linux私房菜》讲的还只是Linux操作系统的使用层面,但如果你想学会在Linux操作系统上编程,建议去看这本叫《Unix环境高级编程》,C语言学得再好,不会在Linux操作系统上编程实战,那么也只是一个玩具而已。

    《Unix环境高级编程》会讲很多实战方面的内容,比如文件IO、多线程编程、网络、套接字等等,非常实用和经典。
    在这里插入图片描述


    进阶四:代码质量书籍

    最后给大家推荐一下代码质量方面的书,也是我对我影响最大的一本书,从中收获了很多的心得和技能,《重构 改善既有代码的设计》,这本书讲的就是最佳实战,当然你需要有一定的编程基础。
    在这里插入图片描述

    这些书都是非常经典,我觉得几乎都是必读技术书籍,如果你看完了,找工作应该不是问题,如果你再配上一些实操和开源项目联系的话,那找一份好工作也问题不大,很多书籍我觉得在读书的时候就应该看了的,所以分享给大家,一起共勉。


    粉丝专属福利

    在这里插入图片描述

    展开全文
  • 好书收藏:读书知多少

    千次阅读 2018-07-27 21:28:00
    **早晨**:早起一小时或者提前一个小时到公司,吃完早饭有半个小时的时间读书,早上读书会让自己非常清醒,读进去一些很有趣的事情或者说把一些的重点知识能够记住。 **路上**:走路,公交车,出去吃饭等位的时候...
  • 《一本学会数据分析:成功商务人士案头必备》内容全面、系统,具有很强的实用性。《一本学会数据分析:成功商务人士案头必备》适合企业的经营管理人员、财务人员、销售人员、数据分析人员及其他职场人士阅读...
  • 大家好,我是大圣,今天给大家带来期待已久的javascript书籍测评,工作者9年多看过的js大部分都在这了,会分成这几个部分来推荐首先是系统化学习js的,让你掌握前端工程师必备的j...
  • 每周荐:我的世界、架构师、OpenStack(评论送) 上周的荐活动大家如此踊跃热情,看得出来在座各位都是爱之人。 既然大家这么捧场,小编决定赠书数量翻倍,从这周开始每本书选出2位中奖用户。 先...
  • 《过目不忘的读书方法》读书摘要

    万次阅读 2020-06-27 10:48:43
    3 网络上的是“信息”,上的是“知识”。(指点有待商榷,但是大概率是这样;换句话说“经典的上知识居多”) 2 时间购买理论 每个人每天都有 24 个小时,只有时间是最公平的。所以,到底能不能获得幸福,完全看...
  • Java推荐书籍

    千次阅读 多人点赞 2018-08-12 01:16:56
    前言 分享知识和分享苹果是不一样的,苹果会越分越少,而自己的知识并不会因为给了别人就...《C++Primer》《C++ Primer Plus》,这是LZ最早看的,当初看完科班的教材就开始看这两本书了 Java语言 《...
  • 程序员必读书籍及导读指南

    万次阅读 多人点赞 2015-03-23 00:59:20
    最近在网上看了一个非常好的帖子《程序员一生必读的》, 这张图是由ThoughtWorks的资深人士提供的,它将程序员要读的分为四个类别,每个类别又分为初级、进阶和高级读物,并用黄色三角形点出了强烈推荐阅读的...
  • 可以,Python有很多第三方库,就是用来处理量化交易的。其实,Python被应用的最多的领域之一,就是金融。 推荐如下,我还整理了5套免费的Python量化交易的免费课程哟~ : ...
  • 小程序开发 H5应用嵌入飞

    千次阅读 2020-08-12 17:49:28
    因为公司的业务需求。需要把H5页面嵌入到飞里面。...不过多的赘述。https://open.feishu.cn/document/uQjL04CN/ukjL54SO 飞嵌入H5页面 1.前期准备:了解使用飞的web-view这个组件嵌入页面 web-..
  • 每周荐:渗透测试、K8s、架构(评论送

    万次阅读 多人点赞 2017-08-17 11:01:45
    渗透测试、K8s、架构(评论送)感谢大家对每周荐栏目的支持,先公布下上周中奖名单 vioao cc_weige分布式服务架构:原理、设计与实战 -Sure-知贵待缘深度学习算法实践Kun丶 bit_kaki 自己动手iOS App:从...
  • 如何坚持看书、跑步、写作?

    千次阅读 多人点赞 2017-10-07 18:41:43
    写作写博客,传播知识和思想,才是读书的最高境界! 看书是,看书不是,看书还是,写着自己的
  • 每周荐:分布式、深度学习算法、iOS(评论送)感谢大家对每周荐栏目的支持,先公布下上周中奖名单 steveygtiny_cellKotlin实战 daMao2 AresCarry架构探险:从零开始写分布式服务框架 FZU_rxd liuhmmjjKeras...
  • 为一个程序员应该看的书籍

    万次阅读 2012-05-16 18:13:53
    以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的。 其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。 下面就按照各本书的推荐数排列...
  • 每周荐:MyBatis、并行编程、Ansible(评论送

    万次阅读 热门讨论 2017-06-28 14:32:43
    每周荐:MyBatis、并行编程、Ansible(评论送) 感谢大家对每周荐栏目的支持,先公布下上周中奖名单 u013045437 海马-赖人 可伸缩架构:面向增长应用的高可用   llld5553 FengGongFu Scratch...
  • 杂记 - 老书店

    千次阅读 2016-05-15 21:04:57
    对大多数人来说,是精神食粮,但对我来说,更是衣食父母。90年代初,全国开始了下岗潮,老妈老爸双双光荣下岗,为了一家四口的生计,老妈在家附近支起了一个小书摊,卖收购来的旧书,家里柴米油盐所有的花销都...
  • 商人入门应该看什么

    千次阅读 2006-11-26 21:58:00
    从商就是做人,想做好的话最少...4、你所想从事行业的专业书籍 5、时间管理方面的书籍 6、营销方面的书籍:销售大师的经典著作,像哈维麦凯等人写的,学学大师的阔大人脉及销售办法会节省很多时间;如果你要从事的
  • 一本,让我走上编程之

    千次阅读 热门讨论 2013-08-31 12:46:48
    工作后的我读过无数本厚厚薄薄的,其中有的确实十分精彩。但唯一让我真正用心读过的,是大学期间一本普通的c++程序。也是它,让我开始编程。  曾经作为一名大学计算机专业的学生,在未分专业之前我们信电院就...
  • 详细设计说明

    万次阅读 热门讨论 2013-12-03 17:04:52
    本详细设计说明,是在概要设计说明的基础上进一步明确系统结构,详细的介绍系统的各个模块,为进行后面的编码和测试准备。  预期读者为:系统维护人员和开发人员   1.2背景  待开发的系统的名称:...
  • 手把手教你写专利申请/如何申请专利

    万次阅读 多人点赞 2008-12-10 10:46:00
    手把手教你写专利申请·如何申请专利   摘要 小前言 (一)申请前的准备工作  1、申请前查询  2、其他方面的考虑  3、申请文件准备 (二)填写专利申请系列文档  1、实际操作步骤  2、具体操作  3、经验...
  • 最近公司的一个app项目需要用到百度地图实时定位功能,app项目是用ionic的,所以用的也是百度地图web版。具体需要实现的功能类似于导航的时候有个小车在地图上随着实时位置移动,本功能不需要导航,只需要小车在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,243,072
精华内容 497,228
关键字:

如何做路书