程序员

了解一下还是有益的

我只是一个虾纸丫 提交于 2020-02-10 23:15:24
今天主要围绕这么几个话题? 1.开发常用工具; 2.程序员的副业(包含一个开源框架,主要提高开发效率); 3.学习方法; 一、开发常用工具 开发常用工具分前端和后端: 前端开发工具 后端开发工具 1.前端开发工具 (1)Hbuilder HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。 HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写。它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。 官网地址为: http://www.dcloud.io/ (2)VsCode 号称微软良心之作,另外最近我也基于其做二次开发和插件开发。 官网地址为: https://code.visualstudio.com/ 如果你觉得VsCode很多方面你不满意,你想改造它,完全没问题,因为其源代码完全对外开放,想怎么改就怎么改,你觉得它某些功能没有,也没关系,你可以基于其编写对应的插件,它的插件两种写法,一种js,另外一种ts。 (3)Atorm 官网地址为:https://atom.io/ Atom 是github专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编程语言。它支持宏,自动完成分屏功能,集成了文件管理器

精心整理「服务器Linux C/C++」 成长路程(附思维导图)

喜你入骨 提交于 2020-02-10 20:39:50
前言 我不是名校毕业,更没有大厂的背景,我只是一个毕业不到 2 年的普普通通的程序员,在摸爬滚打的工作这段时间里,深知了有一个「完整的知识体系」是非常重要的。当事人非常后悔没有在大学期间知道这个道理…… 众多大厂招人的需求也是非常注重此方面,毕竟我们不能单单只是一个只会写代码的程序员,更应该成为一个全面的工程师,能够迅速解决工作上的需求及众多问题。 特此,我根据众多大佬的书籍推荐和豆瓣的高分书籍总结了一份较为全面的「服务器Linux C/C++」 成长路程,我自己也是在跟着这份思维导图进一步的学习,希望这份路程也能伴随大家的成长。 特此说明下: 所有书籍资料和高清思维导图的获取的方式见文章末尾(机智的你,应该发现图就有途径) 思维导图中的极客时间专栏,是我自己订阅的专栏,不是打广告,对此部分不感兴趣的小伙伴可以略过…… C 编程语言 入门: 《啊哈C语言》 《啊哈C语言!逻辑的挑战(修订版)》是一本非常有趣的编程启蒙书,书内容从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。你可以在茶余饭后阅读,甚至坐在马桶上也可以看得津津有味。 进阶: 《C和指针》 本书提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。 《C专家编程》 本书展示了最优秀的C程序员所使用的编码技巧

《程序员的自我修养——链接、装载与库》——链接

拟墨画扇 提交于 2020-02-10 18:21:43
导读   对于平常的应用程序开发,我们很少需要关注编译和链接过程,因为通常的开发环境都是流行的集成开发环境(IDE),比如Visual Studio、Myeclipse等。这样的IDE一般都将编译和链接的过程一步完成,通常将这种编译和链接合并在一起的过程称为构建,即使使用命令行来编译一个源代码文件,简单的一句”gcc hello.c”命令就包含了非常复杂的过程。然而,正是因为集成开发环境的强大,很多系统软件的运行机制与机理被掩盖,其程序的很多莫名其妙的错误让我们无所适从,面对程序运行时种种性能瓶颈我们束手无策。我们看到的是这些问题的现象,但是却很难看清本质,所有这些问题的本质就是软件运行背后的机理及支撑软件运行的各种平台和工具,如果能深入了解这些机制,那么解决这些问题就能够游刃有余,收放自如了。   现在我们通过一个C语言的经典例子,来具体了解一下这些机制: #include <stdio.h> int main(){ printf("Hello World"); return 0; } 在linux下只需要一个简单的命令(假设源代码文件名为hello.c): $ gcc hello.c $ ./a.out Hello World   事实上,上述gcc过程可分解为4个步骤:预处理、编译、汇编、链接,如图所示: 目录 预处理(Prepressing) 编译(Compliation)

工作二三事

孤街醉人 提交于 2020-02-10 05:00:20
性能 设计系统时是要考虑性能的,否则等性能出题出来的时候是非常棘手的。大多数的情况都是当前的生产环境正在运行,留给你的操作时间不多,不会给你太多时间调优。而当你发现问题时,你也不容易改动已经在生产环境的代码。 我常遇到的性能瓶颈最后都出在的数据存储这一层。比如说数据库,如果说数据是应用的核心,那么数据库无疑是核心的管理者。当数据库遇到了性能问题解决起来也颇为棘手。一来,还是生产环境,留给你操作的时间和改动范围不能太大。其次,如果在架构的时候和后期的维护的时候没有对数据库访问组件的管理那么数据库的操作会分布的到处都是,稍微改动就是牵一发而动全身。嗯,嗯,我知道这是架构问题,这是管理问题,但这更是现实问题。初始架构是都知道将数据的访问单独列为一层,但当你的生产环境运行了一年,二年呢。面对棘手的问题,紧张的开发时间,直接存取数据库通常都是最“有效”的,但是等性能问题出来时,你会被绑的死死的,不知道怎么办。 当下解决性能的方式都是将性能的焦点变的“可横向扩展”,比如负载均衡。对于创业团队来说可以做的一种方式就是将专业的事交给专业的人去做。比如,我们逐渐将数据层从数据库转到了S3,让S3自己解决性能问题去。我们只要规范的用就可以了。 时常我们会觉得买别人的服务很贵,不如自己来更省钱。其实不然,很多时候我们是可以计算的。比如说我们每天工资400块。那么平摊到每个小时大约就有50块

精心整理「服务器Linux C/C++」 成长路程(附思维导图)

允我心安 提交于 2020-02-09 22:42:00
前言 我不是名校毕业,更没有大厂的背景,我只是一个毕业不到 2 年的普普通通的程序员,在摸爬滚打的工作这段时间里,深知了有一个「完整的知识体系」是非常重要的。当事人非常后悔没有在大学期间知道这个道理…… 众多大厂招人的需求也是非常注重此方面,毕竟我们不能单单只是一个只会写代码的程序员,更应该成为一个全面的工程师,能够迅速解决工作上的需求及众多问题。 特此,我根据众多大佬的书籍推荐和豆瓣的高分书籍总结了一份较为全面的「服务器Linux C/C++」 成长路程,我自己也是在跟着这份思维导图进一步的学习,希望这份路程也能伴随大家的成长。 特此说明下: 所有书籍资料和高清思维导图的获取的方式见文章末尾(机智的你,应该发现图就有途径) 思维导图中的极客时间专栏,是我自己订阅的专栏,不是打广告,对此部分不感兴趣的小伙伴可以略过…… C 编程语言 入门: 《啊哈C语言》 《啊哈C语言!逻辑的挑战(修订版)》是一本非常有趣的编程启蒙书,书内容从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。你可以在茶余饭后阅读,甚至坐在马桶上也可以看得津津有味。 进阶: 《C和指针》 本书提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。 《C专家编程》 本书展示了最优秀的C程序员所使用的编码技巧

编程技能的层次

 ̄綄美尐妖づ 提交于 2020-02-09 10:42:25
程序员的编程技能随着经验的积累,会逐步提高。编程技能可以分为一些层次,这些层次指的程序员设计和编写程序的能力层级。 第0层——非程序员 初学编程者,遇到问题,完全是懵懵懂懂,不知道该怎么编程去解决问题。也就是说,还是门外汉,还不能被称之为程序员。计算机在他面前还是一个神秘的黑匣子。 第1层——基础程序员 学习过一段时间的编程后,接到任务,可以编写程序完成任务。这一层次编写出来的代码,正常情况下是能够工作的,但在实际运行中,碰到一些特殊条件就会出现各类BUG。也就是说,具备了开发Demo软件的能力,但开发的软件真正交付给客户使用,恐怕会被客户骂死。 虽然程序是写好了,但到底为什么它有时能正常工作,有时又不行,程序员自己也不知道。运行中遇到了bug,或者需求改变,需要修改代码或者添加代码,很快程序就变得结构混乱,代码膨胀,bug丛生。很快,就连最初的开发者自己也不愿意接手维护这个程序了。 第2层——数据结构 经过一段时间的编程实践后,程序员会认识到【程序=数据结构+算法】这一古训的含义。他们会使用算法来解决问题。进而他们会认识到,算法本质上是依附于数据结构的,好的数据结构一旦设计出来,那么好的算法也会应运而生。 设计错误的数据结构,不可能生长出好的算法。 第3层——面向对象 再之后,程序员就会领略面向对象程序设计的强大威力。大多数现代编程语言都是支持面向对象的。但并不是说

程序员表白程序

十年热恋 提交于 2020-02-09 04:06:12
1.https://blog.csdn.net/nodeman/article/details/45887037 2. msgbox "做我女朋友好吗",vbQuestion,"在吗" msgbox ("房产写你名字") msgbox ("保大") msgbox ("我妈会游泳") dim j do while j<1 Select Case msgbox("做我女朋友好吗",68,"请郑重的回答我") Case 6 j=1 Case 7 msgbox("再给你一次机会") end Select loop msgbox("我就知道你会同意的,哈哈哈哈") 使用方法:新建一个txt文档,将上面的代码复制到txt,然后将文档的后缀名改成vbs。鼠标双击即可执行。 3. https://blog.csdn.net/qq_41050129/article/details/82904449 4.vbs Dim Msg1,Msg2,Msg3 '定义消息文本 Dim Response '定义返回对象 Dim Msg() redim Msg(5) Msg(0) = "做我女朋友好吗?" Msg(1) = "房产证上写你名!" Msg(2) = "听话" Msg(3) = "我妈会游泳" Msg(4) = "工资全上交" Style = vbYesNo + vbInformation Title =

产品经理聊产品--mac book pro 2018 初体验

孤人 提交于 2020-02-09 00:17:47
  工作前几年,使用电脑,基本上都是微软的操作系统,自从从大厂出来之后,才逐渐熟悉使用linux,到现在基本上都是基本上一个月windows平台基本不需要开机就可以,可以说基本上被ubuntu的简洁和实用性吸引住了,但是,用了久之后,逐渐发现了ubuntu的一些缺点,也不算是ubuntu的缺点吧,主要是没有大的笔记本厂商把ubuntu作为默认系统,我自己安装的,无论何如都会发现硬件环境和软件配合不好的地方。举个例子,就拿电源管理来说,ubuntu很多时候,是无法完美的控制电脑的,像我这样拿着笔记本,一个月不想关机的同学来说,简直是一种折磨。前段时间,受一位好友的蛊惑,说是苹果笔记本是怎么怎么的适合软件开发,怎么是对程序员友好。我安奈不住好奇,就经常不自主的关注一些苹果笔记本方面的信息。也许苹果产品的确有它让人着魔的的特质吧。越看越是想买,终于在2018年的双十一,剁手了一把,把心仪已久的苹果笔记本抢到手了。抢到了那款15寸深灰色的六核笔记本,内心是着实激动了好久,同时,也为自己第一次花那么多的钱买一个笔记本做自我安慰,能大大提升我的工作效率,可以N年不用换电脑了。   双十一的快递是比较平时慢的,我再等待的煎熬中,几天后才拿到真机。打开盒子,包装十分的简洁,一个笔记本,除此之外就是一个type-c电源。两个type-c接口都可以充电,和我刚买不到一年的thinkpad相比

《梦断代码》读书笔记(二)

馋奶兔 提交于 2020-02-08 23:43:43
这次阅读中体会最深的莫过于奇客和狗,作者通过Chandler狗、Cosmo狗以及各种狗来类比OSAF开发的项目,前面两种都是拉布拉多狮子狗,文章这样描写这两种狗,“它们是好宠物:‘和其他狗类融洽相处’”、“非常聪明,快活而友善。能快速学会不常见或特殊的技能。活跃,有时显得滑稽。如果管束不严就会戏弄主任”,这样一种“狗”似乎更像是Chandler的真实写照,如果管束不严就会戏弄主人,是啊,没有严谨的要求和恰当的决策,Chandler的开发过程才会如此的坎坷吧。 卡普尔和开发者们总是抱着改变世界的想法前进的,他希望Chandler成为一种全功能的个人信息管理器,也希望它能成为一个“可扩展开发者平台”,使得程序员可以任意扩充Chandler的功能,“能二者兼得吗?”,这也是值得我们反思的问题。 虽然理想很丰满,但是更多时候我们是没办法做到二者兼得的,既然不能二者兼得,又免不了做出选择,而这些选择总会让产品的某一发展前景被扼杀。在无法做出选择的时候,Chandler选择了替换新的产品经理,似乎这样一种改变就可以拯救Chandler的命运,但是没有考虑到,我们的主人公之一——卡普尔,仍旧秉持着“完美”的理念去做Chandler,去畅想Chandler。 文章中提到一项调查,调查显示超过四分之三的IT专业人士偏爱考虑后做决策,而只有23%的人偏爱凭感觉决策,多数程序员的共事者都了解到

10本 Linux PDF 书籍免费分享

时光毁灭记忆、已成空白 提交于 2020-02-08 05:25:38
极力推荐文章:欢迎收藏 Android 干货分享 本篇文章主要分享以下 Linux 开发 PDF 书籍 一、Linux程序设计 二、Unix环境高级编程 三、Unix_Linux编程实践教程 四、鸟哥的私房菜 五、深入理解Linux内核 六、Linux命令行与shell脚本编程大全 七、Linux内核设计与实现 八、ARM_Linux内核源码剖析 九、深入Linux内核架构 十、Linux系统编程 一、Linux程序设计 PDF书籍获取方法 关注微信公众号: 程序员Android ,回复 Linux程序设计 ,即可免费获取。 PDF仅供参考,支持购买正版书籍,请点击下方京东链接,谢谢! 点击查看图书详细信息 二、Unix环境高级编程 PDF书籍获取方法 关注微信公众号: 程序员Android ,回复 Unix环境高级编程 ,即可免费获取。 PDF仅供参考,支持购买正版书籍,请点击下方京东链接,谢谢! 点击查看图书详细信息 三、Unix_Linux编程实践教程 PDF书籍获取方法 关注微信公众号: 程序员Android ,回复 Unix_Linux编程实践教程 ,即可免费获取。 PDF仅供参考,支持购买正版书籍,请点击下方京东链接,谢谢! 点击查看图书详细信息 四、鸟哥的私房菜 PDF书籍获取方法 关注微信公众号: 程序员Android ,回复 鸟哥的私房菜 ,即可免费获取。