程序员

没计算机基础,只学python可以找到工作吗?

匿名 (未验证) 提交于 2019-12-02 22:11:45
计科专业从事软件开发十几年,在从事软件开发周围也遇见很多不是科班出身的程序员做的也非常出色,能不能做好软件开发和是不是计算机专业也没有多少直接的关系,现在就针对python编程语言进行分析,先看python编程语言的市场趋势,由于整个软件发展趋势向着更加集成式的发展,python正好迎合了这种趋势,很多人叫这门编程语言为胶水语言,主要是可以兼容调用多种编程语言,未来的python占据的市场场景可以会更大。 现实中的python就业场景不像在网络上宣传的那么夸张,毕竟现在占据市场绝大部分份额的还是java,任何一种编程语言的生态链的建立都需要时间,现在讲python未来前景非常不错,但不一定有java编程语言好找工作。但市场前景看还是非常不错,从未来角度去看还是非常值得去学习。 非科班的计算机专业能不能学好,好不好找工作? 首先学编程和是不是科班出身没有太直接的关系,科班出身代表有一定的理论基础,距离真正的编程距离还远着,大部分科班出身的人对于有些概念是知道,真正要讲出里面内部的实现不能说的特别透彻,所以讲还需要真正的实践平台来磨炼,可能现在能写代码的人觉得当个程序员不是特别难的事情。但随着技术产业的成熟,程序员的入门门槛相比之前已经提升了许多,所以难点不在于是不是真的科班出身,关键在于是不是真的想做一个程序员。没有人生下来就是一个程序员,需要付出毅力,学习编程目前主要有两个通道

月薪25K的萌新程序员基于python爬取新浪微博的内容和评论!牛逼

匿名 (未验证) 提交于 2019-12-02 22:11:45
前言 爬取内容和策略 这里先从简单开始,先爬取某个大V的微博。举例:爬取微博名为"思想聚焦"(微博ID: 1742566624),微博内容都是心灵鸡汤,还是挺受用的~ 基于模拟登陆来保存cookie,抓取指定web内容。 未登录新浪微博的情况下,是可以通过网址查看一个用户的首页,但是不能进一步查看该用户的关注和粉丝等信息,如果点击关注和粉丝,就会重定向回到登录页面。因此通过selenium模拟登陆保存cookie,在请求抓取其他页面时在headers中加入cookie信息,就可以抓取了。 这里需要通过selenium webdriver启动浏览器Firefox,因此系统需要安装Firefox,另外需要下载驱动geckodrive,下载地址为: https://github.com/mozilla/geckodriver/releases/ import osimport timeimport picklefrom tqdm import *from selenium import webdriverfrom web_crawl.weibo_crawl.settings import config# 方便完全加载登录页面def count_time(): for i in tqdm(range(40)): time.sleep(0.5)driver = webdriver

C# 单元测试学习笔记

匿名 (未验证) 提交于 2019-12-02 22:06:11
1、什么是单元测试 2、单元测试的好处 (1)协助程序员尽快找到代码中bug的具体位置 (2)能够让程序员对自己的程序更有自信 (3)能够让程序员在提交项目之前就将代码变的更加的强壮 (4)能够协助程序员更好的进行开发 (5)能够向其他的程序员展示你写的程序该如何调用 (6)能够让项目主管更了解系统当前的情况 3、单元测试工具 4、如何编写单元测试 4.1 Assert类 Assert中文意思是断言。 4.2 TestClass特性 4.3 TestMethod特性 4.4 怎么评判一个单元测试是否合理或者达到测试目的? 答案是 代码覆盖率。 代码覆盖率是单元测试写的是否合理或是否达到要求的唯一标准。 代码覆盖率是测试代码所运行的实际程序路径的覆盖率。 怎么知道代码覆盖率是多少呢? VS中提供了查看代码覆盖率的工具。 在单元测试项目中,打开测试资源管理器。 双击下面的方法, 深棕色的表示为 没有被测试到的代码。 浅蓝色的表示为 被测试到的代码。 浅橘色的表示为 部分被测试到的代码。 5、单元测试的标准 5.1 对已经存在的项目添加单元测试 步骤一:对所有程序集中的公共类以及公共类里面的公开方法添加单元测试 步骤二:对于构造函数和公共属性进行单元测试 步骤三:添加全面单元测试 5.2 对新项目添加单元测试 刚刚开始的项目,已开始就应该对所有公共的方法和属性都添加单元测试。 5.3

Java程序员自我修养――Linux中断,内核同步与系统调用

匿名 (未验证) 提交于 2019-12-02 21:56:30
Ŀ¼ 二、内核同步 三、系统调用 中断 可以分为可屏蔽中断和非屏蔽中断,IO设备发出的所有中断请求都是可屏蔽中断,只有硬件故障等特殊情形才会产生非屏蔽中断,由CPU识别;可屏蔽中断有两种状态,屏蔽的和非屏蔽的,控制单元会忽略一个处理屏蔽状态的可屏蔽中断。 异常 由CPU触发的中断,异常分为处理器探测异常和编程异常,内核必须为每种异常提供一个专门的异常处理程序。由int指令触发的用于执行系统调用的异常或者由int3指令触发的用于调试程序的异常称为编程异常,又称为软中断,由CPU执行指令时探测到反常条件而引起的异常称为处理器探测异常,可以进一步分成三种:故障,陷阱和异常中止。故障是可以纠正的异常,纠正完成CPU会重新执行保存在eip寄存中引起故障的指令;CPU执行陷阱指令触发陷阱异常,通知调试程序被调试程序的某个断点已执行,并将控制权交给调试程序;异常中止是发生一个严重错误后由CPU控制单元产生的,对应的中断处理程序会让对应的进程强制终止。 向量 ,非屏蔽中断和异常的向量是固定的,可屏蔽中断的向量可以通过中断控制器来改变。 中断描述符表 (Interrupt Descriptor Table,IDT)是一个系统表,每个中断或者异常通过向量在表中查找对应的处理程序入口地址,IDT的内存地址由idtr寄存器指定。IDT包含三种类型的描述符,任务门,中断门和陷阱门

Java程序员必会的Linux命令

匿名 (未验证) 提交于 2019-12-02 21:53:52
作为一个Java开发人员,有些常用的Linux命令必须掌握。即使平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握 一些常用的Linux命令。因为很多服务器都是基于Linux系统的。所以,要和服务器机器交互,就要通过shell命令。 本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用 --help 查看帮助或者直接通过Google搜索学习。 1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件。 find . -name "*.xml" 递归查找所有的xml文件 find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件 grep -H 'spring' *.xml 查找所以有的包含spring的xml文件 find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件 ls -l | grep '.jar' 查找当前目录中的所有jar文件 grep 'test' d* 显示所有以d开头的文件中包含test的行。 grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行。 grep '[a-z]\{5\}' aa

好程序员分享java8新特性之Lambda表达式

匿名 (未验证) 提交于 2019-12-02 21:52:03
好程序员分享java8新特性之Lambda表达式 什么是Lambda? interface Comparator<T> { int compare(T o1, T o2); } class Program { public static void main(String[] args) { class Impl implements Comparator<Integer> { @Override public int compare(Integer o1, Integer o2) { return o1 - o2; } } Comparator<Integer> c1 = new Impl(); Comparator<Integer> c2 = new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o1 - o2; } }; Comparator<Integer> c3 = (o1, o2) -> o1 - o2; } } @FunctionalInterface** @FunctionalInterface 参数: 以()包围起来,多个参数以逗号分隔 (int a, int b) { System.out.println("hello world"); }

Java异常体系结构学习笔记

匿名 (未验证) 提交于 2019-12-02 21:52:03
异常类的继承层次 1、Throwable是所有异常类的父类,他也继承自Object。所以Throwable是一个类,而不是接口。 2、Error这个分支的异常是由于Java虚拟机内部错误导致的,如果出现了这种异常,程序员是无能为力的,因为他是java虚拟机内内部错误导致的。我们在程序中不需要关注他。 3、我们主要关心的是 Exception分支的异常。Exception分支又被分为两个重要的分支,一个叫做运行时异常(RuntimeException),一个叫做已检查异常(Checked Exception)。 RuntimeException是一个具体的异常类型,也就是说java中有这个类型。CheckedException是一个名词,并没有这个类型,他是很多种类型的总称。 Runtimeexception和他的子类异常我们遇到的时候,程序员可以处理也可以不处理,这是Runtimeexception的一个特点,Java虚拟机认为这类异常程序员有可能不知道怎么处理,或者不要求程序员处理。 CheckedException必须要在程序中捕获和处理。 转载请标明出处: Java异常体系结构学习笔记 文章来源: Java异常体系结构学习笔记

java程序员常见面试题

匿名 (未验证) 提交于 2019-12-02 21:45:52
1、JS中”==”与“===”的区别 2、final 在 java 中有什么作用? 3、java 中操作字符串都有哪些类?它们之间有什么区别? 4、对作用域上下文和this的理解。 5、Js中的prototype是什么?具体怎么用? 6、使用jquery如何找到所有的HTML select标签中的选中项。 7、Jquery.ajax()的异步请求与同步请求使用时有什么区别? 8、Ajax请求的时候get和post方式的区别? 9、CSS中margin、padding的作用、以及单参、双参、四参数在方向上的顺序。 10、mybatis 中 #{}和 ${}的区别是什么? 11、mybatis 有几种分页方式? 12、说一下 mybatis 的一级缓存和二级缓存? 13、mybatis 动态sql标签中循环标签中有哪些属性,各自的作用。 14、mybatis 动态sql中使用<where>标签与直接写where关键字有什么区别? 15、请说明filter和inteceptor的区别。 16、Spring MVC中@requestMapping六个属性value\method\consumes\produces\params\headers的作用。 17、Spring mvc @ResponseBody什么时候使用、@PathVariable怎么用? 18、Spring @