程序员

第二节 Mapper代理开发模式

不打扰是莪最后的温柔 提交于 2019-11-28 09:00:23
一:原始的开发dao   实际开发中,我们程序员需要写dao接口和dao的实现类。    1.1 dao接口  1.2 dao实现类    1.3 测试类    总结:      在dao接口实现类方法存在很大大量重复的方法,这样会增加程序员的代码量     调用 sqlsession 方法时将 statement 的 id 硬编码 了 比如我根据用户的id查找用户    调用SqlSession调用增删改查的方法时, 由于该方法的变量类型使用的泛型 ,这就在编译阶段,即使类似错误,也不会报错,不利于开发维护 二:mapper代理开发---->相当于一个dao接口(其实本来就是一个接口。。。)      2.1.1 思路(要遵循mapper代理开发规范) 程序员还需要编写 mapper.xml 映射文件 程序员编写 mapper 接口需要遵循一些开发规范, mybatis 可以自动生成 mapper 接口实现类代理对象。 开发规范:      2.1.1.1 映射文件 namespace --->对应UserMapper的接口地址   2.1.1.2 UserMapper的接口   2.1.1.2 测试类    来源: https://www.cnblogs.com/Yzengxin/p/11403283.html

那些入行的Python工程师们还好吗?

两盒软妹~` 提交于 2019-11-28 08:35:08
人生苦短,我用Python。 与人工智能捆绑在一起的Python,似乎一直不缺的就是热度。 2019年1月TIOBE排行榜显示,由于全球流行度在过去一年中涨幅最高(3.62%),Python一举获得了2018年度编程语言的称号。 事实上,过去几年间Python一直都被寄予厚望,有人认为它最有望超越Java的地位,成为主流编程语言霸主。 (截至2019年3月份,TIOBE的Python编程社区指数走势图) 国际社区上Python可以说是形势大好,前途一片光明。但是在我国国内,仍然还是还是处于两个极端,一方是看好,一方是不看好。那么python到底怎么样呢? 1 市场乐观 从数据表现来看,近年Python工程师在人才市场上整体趋势是乐观的。 2016年到2018年期间,每年平均面邀薪资都是稳步上升,人均面邀数从2016年的6份,逐步小幅缩减到了2017年的5.6份和2018年的4.2份。 横向与其他技术岗位相比,Python这样的薪资涨幅也算得上是表现突出。下图显示,Python在2018年的平均面邀薪资首度突破了40万大关,同比涨幅在所有技术岗位中排名第三。 如果你依然在编程的世界里迷茫,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的!交流经验!自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django

好程序员Java学习路线分享JS中的面向对象

一个人想着一个人 提交于 2019-11-28 08:02:56
  好程序员Java学习路线分享JS中的面向对象,在JS中,一般情况下我们都是直接写函数,直接调用,但是发现JS中也有new关键字,那么new关键字作为创建对象的关键字,给我们的感觉就是在JS中可以定义一个类,然后用new创建对象,那么在JS中如何做呢?我们先看如下案例,下面的案例是写一个简单的喷泉效果的。 window.onload = function(){ // 创建一个画布对象 var canvas = document.createElement("canvas"); // 设置大小和颜色 canvas.width = window.innerWidth; canvas.height = window.innerHeight; canvas.style.backgroundColor = "#333333"; // 将画布放置到body里 document.body.appendChild(canvas); // 得到画笔 var context = canvas.getContext("2d"); // 定义一个存放所有粒子的数组 var particles = [ ]; // 调用显示粒子 showParticle(); // 创建并显示粒子的方法 function showParticle(){ // 循环操作 setInterval(function(){ //

程序员工作之余如何赚取第二笔钱?

a 夏天 提交于 2019-11-28 07:43:23
如今程序员门槛实在是越来越高。我今年准大四,目前还在储备技能、准备面试阶段。 由于程序员需要储备知识的时间太过长,希望在我正式成为程序员这段时间通过我的副业来维持自己的生活水平。 有哪些适合程序员的副业? 1、帮朋友修电脑、网络故障 掌握技能:操作系统、计算机网络、网络安全、计算机组成 相信身边很多不是计算机专业的朋友,经常遇到电脑坏了解决不了,动不动就想重装电脑,他们也可能选择把电脑带去电脑城让人维修。还有就是遇到网络故障、网络连接失败,对于没有网络知识的人更是不知所措、一脸懵。所以,对于你朋友来说,这些计算机出问题简直就是终身难题。这时作为计算机专业的我们,优势可以发挥出来了,以后你身边朋友电脑出问题了,就再也不用拿去电脑城维修。 2、出售VIP视频、其他VIP资源 掌握技能:Python爬虫 通过Python爬虫技术爬取网站VIP资源,出售给别人。但是不要太过分了,不要把VIP资源出售给太多的人,以免被人举报。VIP资源有版权,未经他人同意不允许出售。还是以身边的朋友为例,售卖给你身边的朋友就好了,说实话,买你的VIP视频还不如我自己开通会员呢,哈哈,所以说朋友的钱也不是那么好赚的。 3、写博客赚流量 博客平台:微信公众号、简书、知乎、CSDN、博客园、V2EX、思否 如果博客内容关于IT互联网的,建议还是推荐CSDN、博客园。说实话,在互联网行业里,靠刷流量赚广告费

第一百篇:计算机语言的终极奥义

半城伤御伤魂 提交于 2019-11-28 07:17:11
其实很多时候,我们在做计算机编程的时候,都会感觉无赖,为啥,每个项目从调研到调试都做了很多重复的工作。 这个时候,有小伙伴就说,那是因为你没有用掌握面相对象的编程方法,那个时候是因为你还不了解python语言 等等。 其实我说的不是这个问题,我们做的工作真的有很大部分都是重复性的工作,不止我重复做了我自己的工作,我还重复做了别人的工作。 程序员不应该这么多,程序应该越来越简单,甚至不需要程序员,我们应该将程序员解放出来做其他的事情,比如说养花或者钓鱼。 说句时候,我们回到程序员的本质上来说,我们就是为了让计算机重复的快速的完成我们的枯燥的工作,然而程序员自己却变得越来越枯燥。 我想做一个可以让程序飞的程序,让程序懂程序,只有程序才能快速知道程序为什么会达不到想要的效果。 其实不是想,我早就在做了,我相信这是以后有很多程序员会为这个努力,不停的实验,不停的尝试。 只有程序员解放出来,才能让程序解放,才能让程序飞起来。 想想看,以后你说一句我要喝新鲜的橙汁: 一个无人机带着小篮子就会飞到果园, 给园林大棚的机器人下达一个要新鲜橙子的命令, 然后新摘的成熟的橙子装满在小篮子里, 无人机带着小篮子回到家中, 有专门的机器人清洗,压汁,装杯 等等。 总之,没要到10分钟,就将所有的任务都完成了,你喝上了新鲜的橙汁。 我想,这不是人能够完成的程序了,因为实际情况的处理的过程太复杂了。

Java地位无可动摇的12个原因

爷,独闯天下 提交于 2019-11-28 07:16:01
如今,面对曾经在程序员中被各种新技术掩盖直至堙灭的技术值得怀念。犹如COBOL这当年被老程序员们尊为神器的语言如今也基本没有价值。而Java作为现代程序员的中坚力量在这点上会不会成为下一个COBOL? 有关JAVA的技术卖出多少本书已经是一个很久远的记忆了。现处中年时期的Java语言的用途已经不再出现在各种杂志的封面上了。JAVA从出生到现在已经26年了,应用开发圈已经开始绕着那些更有吸引力的新技术。Java或许是Web 1.0时代的一个传说。 从招聘信息你就可以知道,跟iOS相关的开发有2500左右的招聘,Java则有17000多个。数据不一定能完美的衡量技术的价值,但是在不断推陈出新的技术推广压力下,Java职位是iOS的7倍之多可以说明问题。 在忘记Java在计算机行业里所扮演的角色和做出的那些卓越贡献前,有12个绝对的理由来告诉你Java不但不会和COBOL一样被堙灭,并且在其后时代中更加壮大。换句话说:Java一直就在并且其地位无法撼动。 Java地位无可动摇的12个原因 Java地位无可动摇的12个原因 Java在市场斗争中不屈不挠 技术界从来没认为Java会成功,尽管它的对手太多但依然繁荣发展起来。那些诧异Java仍然存在的人们并没有真正去理解为什么Java会成功。微软是Java第一个面对的强大对手,因为那时MS-DOS提供了通用性

Mac上的软件付费

三世轮回 提交于 2019-11-28 06:40:16
关于这个问题,有很多位读者曾经问过,为什么在Windows上软件都是免费的,到了Mac都要付费才能用呢?所以昨天就决定写写这个话题,结果刚才在微博上被一个ID叫做批判性思维启蒙的恶心到了,此货发了一条微博,内容如下: 在我儿子帮助下把iPad越狱装了个PP助手,看着那么多不要钱的软件想着以前竟然花钱买软件简直是痛不欲生啊,不越狱的苹果简直就是一颗生苹果啊! 我的感受: 1、批判性/思维/启蒙,都是多好的词,全被这货侮辱了 2、这儿子也很可怜,从小就不知道偷盗为何物 好吧,今天就说几句软件付费的问题。 以前有朋友看我用Pixelmator处理图片,问我从哪下载的,我说从App Store上啊,付费软件。他说啊,你们Mac什么都要钱,你看Windows上的PhotoShop都是免费的。 当时我就崩溃了,PS软件无论是在Win上还是Mac上,都是相对较贵的个人软件,只是国内盗版严重,居然很多人不知道这是付费软件。嗟夫杯具。 Windwos操作系统和Office软件的盗版流行,我个人以为和微软的定价策略和垄断政策还是有一定关系的,十年前一套Windows和Office和现在的价格差不多,对于当时的工薪阶层还是有压力的,但是盗版为微软形成了全面的垄断市场,反正微软在中国市场钱也没少挣,人家对于这点损失承受得起,毕竟还有广阔的国际市场。 国内的个人软件开发厂商就惨透了

高内聚松耦合在程序设计中如何做到

不打扰是莪最后的温柔 提交于 2019-11-28 06:07:14
内聚:一个模块内各个元素彼此结合的紧密程度 耦合:一个软件结构内不同模块之间互连程度的度量 我们一直追求着,高内聚,低耦合。 对于低耦合的理解是: 一个完整的系统,模块与模块之间,尽可能的使其独立存在。 也就是说,让每个模块,尽可能的独立完成某个特定的子功能。 模块与模块之间的接口,尽量的少而简单。 如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。 这样有利于修改和组合。 对于低耦合的理解是: 在一个模块内,让每个元素之间都尽可能的紧密相连。 也就是充分利用每一个元素的功能,各施所能,以最终实现某个功能。 如果某个元素与该模块的关系比较疏松的话,可能该模块的结构还不够完善,或者是该元素是多余的。 内聚和耦合,包含了横向和纵向的关系。功能内聚和数据耦合,是我们需要达成的目标。横向的内聚和耦合,通常体现在系统的各个模块、类之间的关系,而纵向的耦合,体现在系统的各个层次之间的关系。 对于我在编码中的困惑,我是这样想的,用面向对象的思想去考虑一个类的封装。 一个方法,如何封装,拿到现实生活中来看,看这种能力(方法)是否是属于这类事物(类)的本能。 如果是,就封装在这个类里。 如果不是,则考虑封装在其它类里。 如果这种能力,很多事物都具有,则一定要封装在这类事物的总类里。 如果这种能力,很多事物都会经常用到,则可以封装成一个总类的静态方法。   人们不易实现松耦合,因为

一个月薪12K的北京程序员的真实生活

≯℡__Kan透↙ 提交于 2019-11-28 05:44:22
“ 每个人都有自己的亲身经历,每个人都有一条生活道路。千万人,千万条,各不相同,各有特点。但是并不是好人都有一条好路,坏人都有一坏路。有的时候却恰恰相反。这虽然不是历史的必然,但却是客观社会存在的。今天咱们说的这部书是发生在当代,一些不同的程序员所走的不同的生活道路的故事。一句话就回到了北京,这个人就是我的朋友——白公子。” ——此处借用修改田连元先生在水浒传评书中的开场白 在当今社会,有网络的地方就有江湖,有江湖的地方就有程序员。我给大家在这里讲一个生活在北京的程序员,也就是生活中时常被提起的爱受伤的傻小子——白公子。首先咱们说明一下,这个故事是真实的,或许您听完后能改变对一个程序员的认知,毕竟白公子能代表大多数在北京或者其他城市生存的程序员。恕我直言,我觉得程序员不屌丝,不猥琐,不智障,反而是个安静的美男子,而且还很热爱生活呢!各位,您别着急,下面看我慢慢道来。 话说,这个白公子于2015年7月在北京XX大学毕业,一个标准的二本狗,品貌不非凡,性格特直爽,喝酒更是不在话下,标准的山东大汉,既有武松一样威武霸气的外表,又有浪子燕青柔情。虽然毕业两年多了,可惜仍然夜夜独守空房含泪而眠。现如今,这白公子住在丰台大营西边的客栈,平时小黄车当宝马,早晚乘坐公交车323出征,工作多用Java、C/C++、Python跟计算机对话,整天一副不食人间烟火唯我独尊的假象。 以下内容严肃认真

001 前言

夙愿已清 提交于 2019-11-28 05:42:14
前言 一> 本书目的。 这是一本思想层面的书,主要是向读者展示,专业程序员是如何面向对象编程的?设计师是如何面向设计编 程的?逐步引导读者从控件编程到对象编程再到业务设计。 二>内容结构。 同事跟我说过一句话,所谓门坎,跨过了就是门,跨不过就是坎。在介绍本书内容之前,先带领大家了解一下从拖拉控件编程到面向设计编程的过程中,究竟有哪些坎,本书的目的是带你跨过那些坎,清楚了有哪些坎,大抵也就清楚了本书要讲些什么内容了。 大部分人将程序员分为码农和设计师,对此我是认同的,只是,什么是码农,什么是设计师,各有什么特点,从码农到设计师的瓶颈障碍是什么,要如何才能突破瓶颈才能从码农登堂入室设计师。如果回答不了这些问题,说明分类不具指导意义。如果码农指的是拖拉控件编程的程序员,那么,从码农到设计师,有两个障碍,第一个障碍是面向对象编程,这是技能问题,第二个障碍是用面向对象的思想化解业务逻辑,这是思想问题。细心的读者可能会发现,化解业务逻辑的工具是面向对象的思想,那么,想要掌握业务化解是不是得先学会面向对象编程?我欣喜地告诉您,是的!而且,掌握面向对象编程不是那么容易的一件事情。因此,根据瓶颈障碍,我将程序员分三类。 一类是业余程序员,他们写程序是,首先开个窗体,再拖拉控件做好界面,再编写代码实现功能。他们的特点是,先做界面后写功能。这类程序员,是业余程序员,他们写程序是面向过程编程。