程序员

土鳖程序员之路

依然范特西╮ 提交于 2019-12-23 01:26:47
本人只是土鳖一个,做ASP.NET开发4年,回忆下这4年,恍若一场梦。 我刚刚毕业的时候大概是09年,当时W城市程序员的工资是800起步,这还不是最惨的,最惨的是我当时几乎什么都不会,除了拖拖控件,绑定一个列表外 其他的基本都不是很会,一群人去了上海,然后我一个人又灰溜溜的回到了W城市,当时的心情尼玛就是,感觉自己就是一坨屎啊,为了吃饭,只有 不停的投简历, 当时在51上投简历,我搜索ASP.NET然后就是全选投递,那种心情,你们应该懂得 机会总是有的,可惜总是面试不上的,因为学历,因为能力 我面试遍了W城市的所有软件公司,大的小的,几乎没有一个能上,第一是学历不是本科,第二是确实什么都不会,想进一个搞软件的公司都只是梦想而已, 艰难的度过了好几个月,总算碰到了一家,有希望的公司,我称呼他T公司吧,当时去面试运气真是好到爆了,为什么??因为来了一个完全外行的人 在面试我 我的第一家公司,因为面试官是个外行,他只是问我会不会,我说会(其实根本不会),然后我就面试上了 那种喜悦的心情,总是让人振奋的,甚至都没要求公司跟我配电脑,我自己背着自己的笔记本,就过来上班了,这是我真心感谢的一个公司,虽然是一个完全和 我不相关的行业,虽然我在这个公司里面,遭受到了难于想象的困难(对于当时的我来说),但是就是这个公司,给予了我莫大的信心,让我在后面的路上一 路风顺,我在这个公司遇到的第一个问题就是

java反射机制

南笙酒味 提交于 2019-12-23 00:49:56
一、java反射机制 首先大家应该先了解两个概念,编译期和运行期,编译期就是编译器帮你把源代码翻译成机器能识别的代码,比如编译器把java代码编译成jvm识别的字节码文件,而运行期指的是将可执行文件交给操作系统去执行,JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制; 简单说,反射机制指得是程序在运行时能够获取自身的信息。在java中,只要给定类的名字(类的全路径),那么就可以通过反射机制来获得类的所有信息。 大家都知道,要让Java程序能够运行,那么就得让Java类要被Java虚拟机加载。Java类如果不被Java虚拟机加载,是不能正常运行的。不使用反射的话,我们运行的所有的程序都是在编译期的时候就已经知道了你所需要的那个类已经被加载了。 Java的反射机制是在编译并不确定是哪个类被加载了,而是在程序运行的时候才加载、探知、自审。使用在编译期并不知道的类,这样的特点就是反射。 二、反射作用 假如我们有两个程序员,一个程序员在写程序的时候,需要使用第二个程序员所写的类,但第二个程序员并没完成他所写的类。那么第一个程序员的代码能否通过编译呢?这是不能通过编译的。利用Java反射的机制

在net Core3.1上基于winform实现依赖注入实例

大兔子大兔子 提交于 2019-12-22 19:18:48
目录 在net Core3.1上基于winform实现依赖注入实例 1.背景 2.依赖注入 2.1依赖注入是什么? 2.1依赖注入的目的 2.2依赖注入带来的好处 2.2.1生命周期的控制 2.2.2 实现了展现层(调用者)与服务类之间的解耦 2.2.3 开发者不用再去考虑依赖之间的关系 2.3 依赖注入使用的设计模式 2.3.1 代理模式 2.3.2 工厂模式 3.在Net Core 3.1上基于winform实现依赖注入 3.1 Net Core 3.1中对winform的支持。 3.2 winform依赖注入与net core MVC的不同? 3.4代码实现 3.4.1 在Program.cs中建立服务注册静态方法 3.4.2 创建服务容器对象 3.4.3 添加服务注册 3.4.4 构建ServiceProvider对象 3.4.5 运行MainForm服务 3.4.6构造函数法调用DI实例 3.5演示效果 4.最后 在net Core3.1上基于winform实现依赖注入实例 1.背景 net core3.1是微软LTS长期3年支持版本,正式发布于2019-12-03,并且在windows平台上支持了Winfrom跟WPF桌面应用。本文介绍了使用Winform时的第一步,将应用层以及ORM涉及到的DBconfig,仓储层等依赖注入到容器中,并通过构造函数法从容器中调用实例

测试面试整理

依然范特西╮ 提交于 2019-12-22 17:23:40
一.对于偶现的Bug该如何处理? 1、尽力去查找出错原因,比如有什么特别的操作或特定的环境 2、在测试报告中详细描述测试操作步骤,bug发生的症状,bug发生的具体环境描述,这样对于再次重现有一定的参考作用 3、无法重现的bug尝试多次,再次出现后可以直接叫程序员过来看 4、无法重现的严重bug,因为几率原因,重现不了或难以重现的不代表没有发生,可以尝试多次,写下发生的概率。程序员对程序比测试熟悉的多,及时无法重现,程序员也需会了解问题所在 来源: https://www.cnblogs.com/wz123/p/9687130.html

程序员必知8大排序3大查找

心不动则不痛 提交于 2019-12-22 17:01:57
每天都在叫嚣自己会什么技术,什么框架,可否意识到你每天都在被这些新名词、新技术所迷惑,.NET、XML等等技术固然诱人,可是如果自己的基础不扎实,就像是在云里雾里行走一样,只能看到眼前,不能看到更远的地方。这些新鲜的技术掩盖了许多底层的原理,要想真正的学习技术还是走下云端,扎扎实实的把基础知识学好,有了这些基础,要掌握那些新技术也就很容易了。 要编写出优秀的代码同样要扎实的基础,如果排序和查找算法学的不好,怎么对程序的性能进行优化?废话不多说,本文要介绍的这些排序算法就是基础中的基础,程序员必知! 1、直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数 也是排好顺序的。如此反复循环,直到全部排好顺序。 (2)实例 2、希尔排序(也称最小增量排序) (1)基本思想:算法先将要排序的一组数按某个增量d(n/2,n为要排序数的个数)分成若干组,每组中记录的下标相差d.对每组中全部元素进行直接插入排序,然后再用一个较小的增量(d/2)对它进行分组,在每组中再进行直接插入排序。当增量减到1时,进行直接插入排序后,排序完成。 (2)实例: 转自csdn博客点击查看详情 来源: https://www.cnblogs.com/yudanmomo/archive/2012/05/07

《程序是给自己看的还是给别人看的》

雨燕双飞 提交于 2019-12-22 12:59:54
不知道各位程序员有没有用自己的姓名的拼音字母作为文件目录名或程序名的经历。从我对此观察来看,很多人都是这样做的。他们为什么这样做?我发现除了这样做可以醒目地找到目录和文件之外,更重要的是反应了程序员的私有性,他强调了程序的私有。我们常常会发现有一个有趣的现象:程序员从不主动地把自己程序给其他程序员去阅读(除非上级要求、工作移交),程序员也不想看别人的程序,抱怨看不懂别人的程序!程序员读不到别人的程序,程序员不想将程序给别人看 - 〉程序员就得不到别人对程序意见 - 〉程序员就不会改进程序的可阅读性 - 〉程序可读性低 - 〉其它程序员就看不懂 - 〉看不懂就不愿意看 - 〉看的程序就少 - 〉阅读水平降低。这样导致程序员只能读懂自己的程序,其阅读他人程序的水平普遍很低。 程序员一旦将程序变成了日记,一旦只给计算机阅读,这样一来我们这些外人就无法从程序本身中看到程序员的水平了。我们只能根据他们开发的项目、承担的职能等外在的表现来判断他们的水平了。而这些往往不如程序来得直接。我认为存在这个现象有以下原因: 第一、面子 程序员是很有自信的人群,上面文章我也分析过了自信的来源。这种自信反映在编程上是就会认为自己编写程序是最好的,即使知道自己编写的水平很差,也不会告知别人。这是程序员面子在作怪。他们不想进行比较和竞争,各自抱着自己的程序在那里自娱自乐。而且,业界也容忍这个现象

程序员的真情告白

匆匆过客 提交于 2019-12-22 08:23:04
                           我能抽象出整个世界   但是我不能抽象出你   因为你在我心中是那么的具体   所以我的世界并不完整   我可以重载甚至覆盖这个世界里的任何一种方法   但是我却不能重载对你的思念   也许命中注定了 你在我的世界里永远的烙上了静态的属性   而我不慎调用了爱你这个方法   当我义无返顾的把自己作为参数传进这个方法时   我才发现爱上你是一个死循环   它不停的返回对你的思念压入我心里的堆栈   在这无尽的黑夜中   我的内存里已经再也装不下别人   我不停的向系统申请空间   但却捕获一个异常---我爱的人不爱我   为了解决这个异常   我愿意虚拟出最后一点内存   把所有我能实现的方法地址压入堆栈   并且在栈尾压入最后一个方法---将字符串"我爱你,你爱我吗?"传递给你   如果返回值为真--我将用尽一生去爱你   否则--我将释放掉所有系统资源 来源: https://www.cnblogs.com/azai/archive/2010/04/05/1704690.html

操作系统

你。 提交于 2019-12-22 05:39:30
为何要有操作系统 程序员无法把所有的硬件操作细节都了解到,因为管理这些硬件并加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱出来,只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供的功能来间接使用硬件 操作系统的位置 操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成 操作系统的功能 隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源更好,更简单,更清晰的模型(系统调用接口)应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可 将应用程序对硬件资源的竞态请求变的有序化(多路复用) 操作系统的发展 第一代(1940~1955)真空管和穿孔卡片 特点:没有操作系统的概念,所有的程序设计都由纯粹的机器语言编写 工作过程:程序员在墙上的机时表预约一段时间,然后程序员拿着他的插件板到机房里,将自己的插件版接到计算机里,这几个小时内他独享整个计算机的资源,后面的一批人都得等着(2万多个真空管经常有被烧坏的情况出现),后来出现了穿孔卡片,可以将程序写在卡片上,然后读入机而不用插件板 优点:程序员在申请的时间段里独享整个资源,即时调整自己的程序

带你深入剖析,那些程序员的情愿与不甘:到底该不该加班

笑着哭i 提交于 2019-12-22 01:50:36
最近网上关于程序员的谬论越来越多,有的人竟然提出“ 不加班程序员不是优秀的程序员? ”这样的问题,你有没有想过“ 他们是否愿意加班? ” 凌晨时分还有大把的程序员遍布在张江,虹桥,漕河泾,和五角场,一座座大楼早与黑夜融为一体,但只要一抬头就能看到日光灯把办公室照得格外清晰。在漕河泾某知名互联网公司大楼下,出租车一辆接着一辆,即使是在凌晨,他们也不愁拉不到生意。甚至在9.30左右打开滴滴叫车,都要排队几十个人。下雨的时候我很怕加班,因为打车很难,甚至一个小时都在等车,有的人会问“大城市这么可怕吗” 事实上就是如此。 现在自愿加班的现象很多,几乎每天9.30以后才下班已经是常事,之前我也很反感加班,现在我却被同化了,就好比不加班我会有愧疚感,我自己根本不知道这愧疚感来自哪里? 但在圈子内有很多案列,不加班被开除辞退的现象,虽然我并没有遇到过这种垃圾公司,但是这也反映了敲代码是中体力活,也是一种持久活。不加班肯定是不行的,这这辈子都不行,只有加班才能勉强拿点绩效,维持生活。 房子不是摧毁年轻人的梦想,而是加班 去年换了新的公司,发现身边很多毕业三四年的,他们的能力不低,待遇也不差,但是就是单身,而且精神面貌不是太好,因为加班,最近几乎996的情况,早已经让很多人失去了思考的空间。 “ 醒着在敲代码,睡了好像还是在敲代码 ”,同事如此形容自己刚入行那会的状态。几乎睡不饱,早上起来洗脸刷牙