本人10年开发培训经验,期间经历了Java Web,Android,H5,大数据,PHP等多个不同的方向的开发,也做过软件培训公司的金牌讲师,很有兴趣回答你这个问题 。
IT行业是可以说是一个需要不停学习,不断充电的行业,如果不能够及时的更新自己的技能和知识储备,那么离淘汰也就为期不远了 。
我说一下自己的学习充电的地方吧 。
Android技能提升:Android开发者论坛,安卓巴士;
Java技能提升:csdn论坛,开源中国,github,还有各种框架自己的官方网站,比如Spring Boot与Spring cloud官网 。
我从事互联网开发10年,主要的研究方向集中在Java web微服务架构领域,Android移动端研发,HTML5前端方向,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信你一定会有所收获 。
如果有Java,Android,H5等开发方面的问题,或者是开发求职方面的问题,都可以在评论区留言,或者私信我 。
最好的的提升方式就是实战!
一直以来都想学Java,看了不少书,视频教程,但是真的要动手,就举步维艰!
今年年初刚好有个需求,ANDROID 的PDA 扫描二维码后,随即通过蓝牙的方式打印标签;当时不知哪来的勇气居然敢报价(2w+),竟然中单了[捂脸].
高兴半秒后,接着就是紧张,之前没有任何实战经验,这个软件要求忙高,用在医疗行业. 接单之后一点也不敢怠慢.
第一步:把项目的技术难点找出来;
第二步:难度分类,先易后难 。对于基本的增删改查都要网上找例子的新手,只能投入时间,不断找实例练手;
第三步:解决高难度问题:app 蓝牙连接sewoo 便携式蓝牙打印机(类似斑马便携式打印机),并且打印标签.
第四步:软件完善:经过前面几步的历炼,对java已经有了一定的功底,线程,消息这些都已经熟练了,但是软件的仅仅停留在能用的水平,真正交付给用户还需要打磨升华;
1.设备开机自动连接蓝牙打印机;
2: 获取蓝牙打印机的电量;获取打印机状态(就绪、缺纸、机盖是否合上);
3:扫描引擎参数设置(Mobydata,zebra 两款PDA测试;
4. 最高难度还是处理打印中文字体 。PDA扫描二维码,此QR code特殊至极,把中文字体以二进制的形式存存储,PDA需要解码,参照24点阵的显示,之后把解码内容再转换为 打印机指令 CPCL,这一步真是呕心沥血,翻阅了无数前人资料,研究汉字点阵字体,24x24,12x12.... 历经无数次失败,当第一次终于打印出汉字时,那种喜悦是就像[爱慕].
要提升自己就要历炼.
首先有提升自己的观点是非常棒的,根据我的实际情况简单说一下:
1. JDK源码
在会用的前提下,去学习原理 。其中线程池、Future、并发包里的线程安全类、以及锁的根基AQS、volatile,synchronized的原理等等都要去看 。源码部分能用到的就要去看下实现原理 。
2. JVM层面
写程序一定要知道程序在内存中是如何存放已经管理的,各种回收机制,利弊,使用场景,如果优化,好好的去研究
3. 设计模式
业界有一句笑话“搞JAVA的人天天加班在想怎么设计”,足以看出设计模式在Java中的主要性 。针对设计模式我也要多说几句,不要只看,要讲学到的东西应用到自己的实践中 。
4. Java优秀的框架源码学习
spring,springmvc,mybatis,tomcat,netty,dubbo 任何一个就够自己研究几个月的 。
5. 数据存储层Mysql相关的知识
一般对于Java程序员来说,DB的相关知识特别的薄弱 。对于DB的索引、隔离级别、优化以及底层原理都需要搞懂
6. 中间件相关
分布式内存数据库-Redis,MQ-Kafka,RPC-dubbo,服务治理-Zookeeper 。像redis是C++写的,可以去了解实现原理,Kafka很庞大也可以只学习原理 。dubbo啃代码吧,写的很好 。
7. IO方面的知识
Java最擅长的领域就是Web开发,与网络打交道IO只是是缺不了的 。比如可以从《Netty权威指南入手》学习,Tomcat中除了容器也是与IO相关的知识 。
可以看书,当然书一定不要只看一遍 。我一般是一本书至少看两遍 。第一遍粗略的读,知道有这个回事就可以 。第二遍精读,钻牛角尖的读,碰到不了解的知识点就要去研究 。(为什么要读两遍,我一直有一个观点就是,作者在写的时候整本书的知识点就已经都掌握了,先粗略看一遍对全局知识点有了大概的了解后再来看书肯定有不一样的见解)一段时间过后,再返回来读一遍,绝对会有不一样的收获(自己掌握知识水平不同,看书的理解也会不同) 。
差不多先这些吧,够研究几年的了
我觉得首先作为一名程序员不要局限于一门语言,至少我个人认为提升自己有两个方向,一个是技术流,技术流又有两种,一种是某领域深度技术研究,比如你对流媒体技术有所了解并且想对这一领域进行深入那你可以制定你的学习路线专攻这一块,另外一种技术流是掌握技术面多,比如说会多门语言,服务器知识,容器虚拟化等等,另外一种不想走技术流的那就走业务流,对业务分析需求提炼的把控分析,对项目的理解和运用到的技术进行妥协,说完方向,那就说下如何提升自己:
1.上自学网站学习(极客学院,慕课,51cto,github)
2.领会和揣摩现实工作中你上级童鞋的做事办法和思路
3.要相信自己可以改变自己
以上就是道和术的一个小范围解释,希望你以后会遇到真正口述这个哲理的人
对程序员来说,github确实是一个非常好的选择,很多优质项目都在github上托管,通过github确实可以阅读到大量的优秀代码,但是个人认为只依靠github还是远远不够的 。推荐网站主要有两类,一类是各种交流平台,如:CSDN,Stack Overflow等;另一类是各优秀项目的官方文档 。另外还可以结合GitHub和自己熟悉的IDE工具阅读项目的源码 。
除网站之外,阅读和实践也是必不可少的,我自己阅读的书籍有:《深入理解Java虚拟机 JVM高级特性与最佳实践》、《Java并发编程的艺术》 。
我觉得程序员写到最后拼的还是思想 。
因为代码写来写去还是那样,倒是一个编程思想一个架构这就是个人想法问题 。
为什么同样写代码你只能写业务逻辑,别人却能写出框架 。这就是思想的不同 。
所以我觉得程序员提升还是多看看别人先进的设计思维,github这个网站有很多优秀的开源项目足够提升了
这个问题要看目前处于什么“段位” 。
如果目前的段位属于初级,最缺的是知识的丰富程度和实战经验,那就通过多练习,多磨练来不断提升自己的水平 。这个阶段可以通过CSDN等网站来多学习一些经验 。同时还得多看一些框架性的书籍 。
如果目前属于中级段位,说明基础知识都没问题了 。这时需要对Spring全家桶、Hibernate等进行系统性学习 。还得熟练掌握Redis、MQ等中间件软件的,不断提升自己架构级能力 。
如果目前已经出于较高段位,那就可以通过GitHub等网站多多了解Java语言的底层原理、Java各类衍生产品的底层原理和实现方式 。还可以自行设计或者参与到很多产品的设计和实现工作中 。这样就会越来越牛了 。
秒懂知识为您整理更多相关内容。
我是胡子哥,结合我的经验我从以下三个方面回答你
- 确定自己的职业规划和未来发展方向如何提升自己网站推荐
- 熟读和深度学习源码的相关知识
- 掌握架构设计思维与应用

文章插图

文章插图

文章插图

文章插图
- 掌握项目管理和开发工具
- 建议坚持写技术Blog
三、网站推荐
Github有很多开源的好项目,作为拿来主义肯定省时省力,但对于你练好内功完全不适用 。所以说只靠Github完全不够用 。可以学习的网站还有CDSN,stackoverflow,iteye(javaeye),infoq,ifeve(并发编程)等向你推荐下 。
就回答到这里吧,希望能帮到你,觉得不错的话请给个赞或评论,您的助力都是激励我前行的动力,感谢!
有了这10个GitHub仓库,开发者如同buff加持
除了作为互联网上一些最有趣的开源项目的主页,GitHub也是一个分享各种资源的好地方,从免费书籍到公共的api,从技术路线图到项目想法和项目 。但是由于数量庞大,很难找到你认为不存在的最有用的仓库 。
因此,我列出了10个极好的仓库,它们为所有web和软件开发人员提供了巨大的价值 。所有这些都将为你增加价值,帮助你成为一个更好的web或软件开发人员 。
1. Free Programming Books
GitHub : 183K+
地址:https://github.com/EbookFoundation/free-programming-books
在各种不同的语言中提供的免费编程书籍无疑是GitHub上最受欢迎和最受欢迎的资料库之一 。尽管它的名字里有“书”,但它提供的远不止这些 。它包含了免费在线课程、互动编程资源、问题集和竞赛性编程、播客和几乎每种编程语言的学习列表 。
2. Developer Roadmap
GitHub : 155K+
地址:https://github.com/kamranahmedse/developer-roadmap
卡住了吗?或者需要一些建议来开始你的开发之旅?这个仓库将指导你完成整个过程 。如果你想成为一个前端、后端或DevOps工程师,它有你需要知道的所有技术 。
3. OSSU Computer Science
GitHub :81K+
地址:https://github.com/ossu/computer-science
如果你没有计算机科学背景或学位,并希望同等的知识相同的计算机科学学位,那么这个仓库是为你 。它适用于那些希望对所有计算学科的基本概念有适当的、全面的基础知识的人 。它提供了所有的资源,以帮助你成为一个自学的计算机科学研究生等效,并有一个世界范围的学习者社区 。
它是根据本科计算机科学专业的学位要求设计的,减去了通识教育(非计算机科学)的要求,因为它假设大多数学习这门课程的人已经在计算机科学领域之外接受过教育 。这些课程本身是世界上最好的课程之一,通常来自哈佛、普林斯顿、麻省理工等,但都是专门为满足基本标准而选择的 。
4. Awesome
GitHub : 158K+
地址:https://github.com/sindresorhus/awesome
正如它的名字所描述的那样,它有一个非常棒的列表,包括各种有趣的话题,从计算机科学到媒体,从游戏到商业,这个列表还在持续更新 。
5. Build your own X
GitHub : 103K+
地址:https://github.com/danistefanovic/build-your-own-x
【Java程序员如何提升自己,有什么网站推荐,GitHub够用吗】如果你是一个相信**“边做边学”原则的人**,那么这个仓库有可能成为你在GitHub上的每日浏览的地方 。它有链接到资源,帮助你建立自己的加密货币,数据库,机器人,BitTorrent客户端等方面的知识 。
6. Coding Interview University
Github : 165K+
地址:https://github.com/jwasham/coding-interview-university
编程面试大学有一个为期数月的学习计划,目标是成为谷歌、亚马逊、Facebook、苹果或其他软件公司等大型科技公司的软件工程师 。它提供了如何学习成为一名可靠性工程师或操作工程师的建议 。
7. Public Apis
GitHub : 118K+
地址:https://github.com/public-apis/public-apis
公共api有一个internet上所有可用的免费api的集合列表,供您在个人或专业项目中使用 。它提供了广泛的应用程序编程接口(api),如商业、动漫、动物、新闻、金融、游戏等 。
8. Tech Interview Handbook
GitHub :51K+
地址:https://github.com/yangshun/tech-interview-handbook
《技术面试手册》中有所有你需要的技术面试的资料 。它有各种各样的资料,关于如何准备编程面试,问你的面试官的好问题,对简历有帮助的建议,等等 。
9. System Design Primer
GitHub :127K+
地址:https://github.com/donnemartin/system-design-primer
《系统设计入门》对于软件工程师来说是一个很好的知识库,它将帮助你学习如何设计大规模的系统 。这将帮助你成为一个更好的工程师 。回购为这个广泛的主题提供了有组织的资源集合 。
因为系统设计在许多公司通常是一个必需的技术面试过程,这个库还可以帮助你准备那些采访学习指南,建议如何处理面试,面试问题与解决方案 。
10. Design Resources for Developers
GitHub :25K+
地址:https://github.com/bradtraversy/design-resources-for-developers
这个仓库有一个精心策划的设计和UI资源列表,包括图片、web模板、CSS框架、UI库、工具等等,可以免费在你的项目和应用程序中使用 。
本文分享自华为云社区《所有开发者都应该知道的10个GitHub仓库》,作者: Ocean2022。
- 2019我想买辆4.2米货车跑货运,行情怎么样
- 平时拉货3-5吨,云内德威D30和康机2.8哪个比较好江淮还是福田比较好
- 和异性的尬聊该结束吗
- 为什么网上都叫林生斌洗剪吹呢
- 三个月大的小羊肛门出油状物,而且很臭是什么问题
- 在Javaweb中如何体现三层架构思想
- It行业适合女性工作吗程序员的工作,有什么工作选择
- 有人给女朋友发1什么意思
- 程序员618选什么笔记本好
