首页 文章 精选 留言 我的

精选列表

搜索[学习方法],共911篇文章
优秀的个人博客,低调大师

python学习方法

#/usr/bin/envpython #-*-coding=utf-8-*- #@author:wklken@yeah.net #@version:0.1 #@date:2012-08-25 #@desc:python学习线路 step defread(book=<<AByteofPython>>)#网上先过一遍 if没兴趣: return else: if没编程基础: <<HeadFirstPython>> ifneedpy2.x: <<Python核心技术>> elifpy2.xandpy3k: <<LearningPython>> ifyouwant:#可选 <<PythonTutorial>> ifyouhavemoretimeandenergy: <<可爱的Python>> <<ProgrammingPython>> print"Info:基本入门了" ifyouwantgofarther: ifTrue:#强烈建议 <<DiveIntoPython>> <<Python源码剖析>> <<Python高级编程>>#这个,没读过,自己判定吧 if工作需要: <<Python网络编程>>#网络编程 <<Python在Unix和Linux系统管理中的应用>>#系统管理相关 <<TheDjangoBook>>#web,用到django框架的 <<Djangoweb开发指南>>#同上 <<集体智慧编程>>#算法工程师,or个人爱好 <<Python自然语言处理>> ifyouwanttosearchforsomethinguseful: <<PythonstandardLibrary>> <<Pythoncookbook>> or 向Python女神推荐这些年我追过的经典书籍 or Linux运维人员如何学习python编程 or Python|绝不乱入的靠谱书单 以看过的书例子为总结 本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1844823,如需转载请自行联系原作者

优秀的个人博客,低调大师

Cloudera正在重建机器学习方法

作者:Derrick Harris 翻译:岳辰 校对: 陈洁(转载请保留) 摘要:Cloudera目前正在进行一个名叫Oryx的开源项目,旨在将机器学习的方法代入Hadoop,而这个早些时候Apache Mahout做过类似的尝试都以失败告终。 当Hadoop软件的卖方Cloudera在去年收购一家总部在伦敦的公司Myrrix时,他们并没有大肆宣传。他们也没有将之后公司在机器学习技术方面的成就带入公众的视线里。而公司的技术以及她的创始人,Sean Owen,却很可能成为一笔非常可观的资产。 在公司里头衔为数据科学师的Owen,目前正致力于开发一个名叫Oryx的开源机器学习项目。(Oryx原意为一种非洲羚羊,而Cloudera另一款产品Impala原意也是一种非洲羚羊。)Oryx项目的目标是能帮助Hadoop用户建立机器

优秀的个人博客,低调大师

Linux 系统运维学习方法汇总

大纲 一、前言 二、Linux 运维大环境说明 三、Linux 运维学习思路 四、Linux 运维大方向说明 五、Linux 运维学习必看书籍推荐 六、Linux 运维实践内容简介 注,本博文主要用于交流与学习。如有雷同,纯属意外。 一、前言 最近,有不少博友问我。刚进入运维行业怎么学习呢?思路是什么?一点思路也没有,然后与大家在群里交流了一下。现在总结一下,与大家分享一下。下面我们就废话不多说,直接上干货。^_^…… 二、Linux 运维大环境说明 首先我们来说一下,Linux 运维的大环境。现在运维的大环境是什么呢?这样说吧,现在做运维的95%的人都不是在做运维,简单的说其实是在做杂活。或说是“全能型人才”。就是什么事都做。比如,办公室内网维护(其实,修电脑与装系统为主业)、无线路由器安装与配置(其实,安装与配置家用的TP-Link)、维护OA系统与邮件系统(其实,就是人事行政不想做这种小事让你来给新来的人员增加与删除OA与邮件账户等)。还有就是有的领导什么软件打不开了,让你去帮忙处理一下(你到那边什么事都没有做,只是重启一下电脑而且,嘿嘿),等等吧。其实,这根本不是运维。说白了就是简单的技术支持(或说是网络管理员)。这是一种情况,而且很多人都是这种情况且工资不高。 上面我们说完了,第一种情况,下面我们来说说第二种情况。第二种是什么呢?一般他们属于监控运维,这些运维一般是公司最基层的员工,主要做一些监控方面的工作。让你每天看着显示器,一但网站或者线上业务出问题了,你得通知运维工程师让他们去处理问题,这样你的工作就基本完成了。这类监控工程师一般加班都很多,而且线上权限很低。你一般不能做任何操作,或者你只有查看的权限。这类监控工程一般还学习不到什么技术,可能你在公司一两年了都不知道这套监控系统是怎么搭建的。再则就是公司来几台服务器了,你去安装一下系统就完了。虽然工作不多,但还是那句话。工资不高且经常加班。(但没办法,一般刚入行的运维都得经历这个过程的) 下面我们来说一说,第三种情况。第三种类型是运维工程师,一般这些都是公司运维的主力,他们每天处理各种问题,包括搭建服务器、配置相关服务、配合开发上线业务、管理权限、开发一脚本等。其实从他们开始我们才能说他们是做运维的,运维工程师也分为好多种,有系统管理运维工程师、开发运维工程师、产品运维工程师等等,每个公司的分类不同,但又大同小异。系统管理运维工程师主要倾向于管理Linux服务器,开发运维工程师主要倾向于各种脚本与模块的开发工作,比如有的大公司一般他们的监控系统都是根据自己的需要进行开发的,或者根据某些监控进行二次开发。产品运维工程师主要倾向于业务相关,帮且业务上下线,解决开发提出的一些问题等。如果是现在做的就是这个说明你运维基本已经上路了,可以说哥们好好努力,“钱途”无限好啊! 下面一种是,高级运维工程师。一般这些人都是公司的中层干部,一般都是资历比较深的。工资一般都是10K左右的。一般做到这个职位的人,我想说是比较轻松的,每天事情比较少。一般什么事都是运维工程师做完了,除非遇到一些重大事情,他们才会出马的。比如,网站老是被攻击啊、网站架构调整啊、某些数据库有重大改变啊等。一般高级运维工程或叫运维主管,都是做这些事情的。哥们如果你现在做到这个职位同,说明你已经很不错了,嘿嘿。 最后一种,也是最牛的一种被称为“神一样存在的人”,运维架构师。一般这种重量能人物只有像大的互联公司才有,比如百度、QQ、阿里等大公司才有。他们负责网站的整体架构,包括网络、开发、系统、数据库、安全等各个方面。一般他们都是全能型人才,这才是真正的全能。一般他们都是公司的高层,他们的工资不是谈月薪哦,都是年薪。有的都是有股份或者期权的,嘿嘿。这也是我们大家努力的方向啊。好了,大环境基本就说到这里吧。下面我们来总结一下。 总结,首先是运维工程师的职位划分,一般分为网络管理员->初级运维工程师(也叫监控运维工程师)->运维工程师(可分为系统运维工程师、开发运维工程师、产品运维工程师等)->高级运维工程师(也可以分为高级数据库管理员(DBA)、高级网络运维工程师CCIE)、高级安全运维工程师等)->运维架构师(一般只有大公司有,是全能型人才)。然后我们再说一下,做运维的一般的工资情况,一般运维工程师在3k-6k之间,高级运维工程师在8k-12k之间,运维架构师一般都是20k以上。所以大家可以看到做运维还是很“钱途”的。最后,说一下公司情况。一般想要做运维基本都要选择大公司去做,一般这些公司的特点是开发与运维的人比较多能学习到东西,其次是服务器比较多平台比较大有发挥的空间,最后是有利于自己的提升。一般小公司我就不说了,大家自己都明白那根本就是运维,可以直接的说是打杂的。我说一下,我一朋友的亲身经历。我朋友以前的公司是教育培训的。过去是时候说是去做运维的,管理服务器。去了才知道,服务器没几台。最苦B的就是最后连搬货他们都得上的。嘿嘿^_^……还有就是,最近手机游戏比较火,去游戏公司做运维也是很给力。好了,到这里我们运维大环境我们就说到这下面我们来和大家说一下,运维的学习思路是什么?特别对刚入行的博友一些建议吧。 三、Linux 运维学习思路 首先,得说明一下。一般做运维的基本都在北上广这三个城市,其它地方想你都不用考虑的。至于什么原因我想我都不用说,大家都知道。下面我们来说一下,基本思路。 1.明确方向 其实,不管是从事什么行事,做什么事情。明确方向是很重要的。我觉得这是最重要的。既然选择了运维这个行业就要下定决心去做好这件事,嘿嘿。好了,大道理我就不说了,大家自己去体会。下面我们会详细说明运维行业中的几个大方向。 2.看书 我觉得你不管理做什么看书是必不可少的,运维行业也属性IT行业的范畴。IT行业就是个终身学习和行业,同样的运维行事也是这样,得终身学习。我这里说的看书是一个概念,其实并不一定要买一本纸质的书籍拿在手里看,现在是互联网时代了,大家都知道上网。我们也可以运用网络来学习不是嘛。现在人啊,我老说都是在浪费互联网只知道看网页,看电影、看电视、玩游戏,基本都用于娱乐。我觉得上网应该只做这三个重要的事,一是看看国际动态。二是关心国内政策。三是关注自己行业最前沿的技术。我们这里看书不仅仅是纸质的书籍,这是其中的一部。我们还可以看电子书籍、技术博客、官方文档等。得多学习知识,特别是刚入行。还有就是得学会使用搜索引擎,如百度与谷歌。可以这么说,你遇到的任何技术问题都可以在谷歌上找到答案。因为你遇到的问题,别人早就遇到过。 3.实践 看书之后最后要的是得实践。不实践哪来的工作经验呢?你以为工作经验怎么来的,都是不断的实践,不断的总结,才有了所谓的经验。有句话说的好,理论是用来指导实践的,实践是用来验证理论的。你不去做怎么知道,书籍中的内容是否正确。书上讲的内容一定可以在产生环境中运用的起来嘛。嘿嘿,还是去做一遍吧。下面我们会详细的说明,初学都应该做哪些操作实践。 4.再看书、再实践 有句话说的好,看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水。只有通过不断的看书,不断的做实验。你的收获才会越来越多。你的经验才会越来越多。 四、Linux 运维大方向说明 1.网站运维 电子商务网站 社交网站 视频网站 金融网站 搜索网站 …… 注,一般都是些大型网站运维。他们的服务器一般都比较多,访问量比较大。特别是电子商务网站有支付接口的,对网站安全的要求也比较高。 2.游戏运维 游戏网站 游戏APP 游戏应用 …… 注,特别是一些网页游戏网站与手机游戏APP。现在手机游戏比较火,现在做游戏运维也很不错。 3.大数据运维 虚拟化 云计算 …… 注,这个就比较高端了,是最近流行的一个运维方向。大数据与虚拟化方向,有兴趣的博友可以进行关注。 4.开发运维 监控系统 模块开发 …… 注,一般对你的开发能力要求相对较高,对系统维护能力相对较少一点。比如你得精通shell编程或精通一门开发语言如,PHP开发或Python开发。主要应用领域是Linux运维自动化,目前我也正在从这个方向发展。 5.数据库运维 DBA Mysql DBA Oracle DBA SQL Server DBA …… 注,数据库运维我们就不多说了,你得对各种数据库非常的精通如,Mysql数据库、Oracle数据库、SQL Server数据库等。 6.总结 有博友会问了,那么多知识我应该怎么学习呢。一句话千里之行,始于足下。我们先从最基本的操作系统学起。下面我们为大家介绍几本书。供大家学习参考! 五、Linux 运维学习必看书籍推荐 1.系统系统 现代操作系统(原书第3版) 深入理解计算机系统(原书第2版) 深度探索Linux操作系统:系统构建和原理解析 鸟哥的Linux私房菜:基础学习篇 鸟哥的Linux私房菜:服务器架设篇 循序渐进Linux基础知识、服务器搭建、系统管理、性能调优、集群应用 深入学习: 30天自制操作系统(附光盘1张) 2.网络方面 TCP/IP详解卷1:协议 TCP/IP详解卷2:实现 3.开发方面 O'Reilly:Shell脚本学习指南 Python基础教程(第2版) 细说PHP(第2版)(含DVD光盘1张) 4.数据库方面 高性能MySQL(第3版) MySQL性能调优与架构设计 5.运维书籍 高性能Linux服务器构建实战:运维监控、性能调优与集群应用 构建高可用Linux服务器(第2版) 高性能网站构建实战 构建高性能Web站点(修订版) 6.虚拟化 KVM虚拟化技术:实战与原理解析 7.大数据 大数据时代生活.工作与思维的大变革 六、Linux 运维实践内容简介 1.Linux操作系统基础 Linux操作系统及常用命令 Linux文件管理命令 bash特性 Linux用户及权限 Linux用户管理命令 bash与IO重定向 grep及正则表达式 egrep及扩展正则表达式 bash脚本编程 vim编辑器详解 Linux文件查找详解 特殊权限SUID等详解 注,以上内容可以到鸟哥的Linux私房菜:基础学习篇这本书中查找学习。 2.Linux操作系统管理基础 facl及用户及Linux终端管理 磁盘及文件系统管理 Linux压缩及归档 Raid及mdadm命令 LVM 管理 Linux网络配置 Linux软件管理 Linux进程管理 Linux系统启动流程详解 Linux内核编译及系统裁减 Linux日志系统syslog sudo详解 注,以上内容可以到鸟哥的Linux私房菜:基础学习篇这本书中查找学习。 3.Linux常服务管理 ssl协议、openssl及创建私有CA OpenSSH服务及其相关应用 DNS服务相关概念与配置详解 Bind服务安装配置 DHCP服务 Web服务及http协议 httpd安装与配置 基于openssl的https服务配置 php相关概念及配置 数据库及MySQL MySQL初步,数据类型及SQL语句 建立LAMP平台 邮件服务系列之基础原理 邮件服务系列之编译安装Postfix 邮件服务系列之Postifx常用配置 ftp服务 iptables系列之基础原理 samba服务 tcp_wraper&xinetd 配置使用vnc服务 注,以上内容可以在鸟哥的Linux私房菜:服务器架设篇这本书中查找学习,书没有的内容我的博客中有所补充。 4.Mysql数据库专题 Mysql 数据的安装与配置 Mysql 配置文件的优化 Mysql 授权详解 Mysql 日志管理详解 Mysql 用户管理详解 Mysql 复制详解 Mysql 备份与还原详解 Mysql 集群详解 Mysql 读写分离详解 注,以上内容可以在我博客里查找学习。 Mysql 事务和隔离级别 Mysql 数据库的优化 Mysql 分区 注,以上内容在高性能MySQL(第3版)与MySQL性能调优与架构设计这两本书中查找学习。 5.Linux集群和存储专题 Linux 集群的基本概念与LB(负载均衡)集群详解 LVS 集群中持久连接详解(PPC+PCC+PNMPP) Linux 高可用(HA)集群基本概念详解 Linux 高可用(HA)集群之Heartbeat详解 Heartbeat+httpd+NFS 实现高可用的Web服务器 Linux 高可用(HA)集群之heartbeat基于crm进行资源管理详解 Heartbeat+MySQL+NFS 实现高可用(HA)的MySQL集群 Linux 高可用(HA)集群之Corosync详解 Linux 高可用(HA)集群之Pacemaker详解 Linux 高可用(HA)集群之DRBD详解 Corosync+Pacemaker+DRBD+MySQL 实现高可用(HA)的MySQL集群 CentOS6.4+cman+rgmanager+iscsi+gfs2+cLVM 实现廉价的可扩展的集群共享存储 Linux 高可用(HA)集群之keepalived详解 注,以上内容可以在我博客中查找学习。另外也可以参考这两本书: 高性能Linux服务器构建实战:运维监控、性能调优与集群应用 构建高可用Linux服务器(第2版) 6.HTTP代理加速及应用服务器专题 IO复用详解及高并发系统设计初步 配置Ngnix作为WebServer详解 Nginx反向代理、负载均衡、缓存、URL重写及读写分离 Memcached安装配置及保存phpsession于memcached中的方法 http反向代理及haproxy http缓存机制及varnish详解 Tomcat系列之java技术详解 Tomcat系列之组件详解及服务安装配置 Tomcat系列之服务安装配置及Nginx反向代理tomcat服务 Tomcat系列之apache使用mod_jk和mod_proxy反向代理 Tomcat系列之apache负载均衡请求至tomcat及DeltaManager的使用 注,以上内容可以参考我博客学习。 7.Linux系统原理基础及系统调优 计算机及操作系统原理 Linux操作系统原理 CPU负载观察及调优方法 Linux内存子系统原理及调优方法 IO和文件系统优化 Linux网络子系统调优 注,以上内容可以参考这几本书: 深入理解计算机系统(原书第2版) 深度探索Linux操作系统:系统构建和原理解析 高性能Linux服务器构建实战:运维监控、性能调优与集群应用 构建高可用Linux服务器(第2版) 8.云计算、虚拟化专题 虚拟化技术基础原理详解 kvm虚拟化 OpenStack Hadoop 注,以上内容可以参考这几本书: KVM虚拟化技术:实战与原理解析 O'Reilly:Hadoop权威指南(第2版) 云计算与OpenStack(虚拟机Nova篇)(这本书我没看过,听群里的人说还不错) 9.系统及服务监控专题 SNMP原理和实战 RRD-tools绘图原理和应用 Cacti原理和安装 Cacti配置和高级用法 Nagios基础和入门配置 Nagios高级应用及插孤城组件开发 Nagios高级应用及飞信报警功能 注,以上内容可以参考我的博客,还有官方文档。 http://www.cacti.net/ http://www.nagios.org/ 10.总结 以上内容是我自己学习与经历。大家学习的方法有两种:一种是自学,另一种是参加培训(这种方法时间周期比较短,学习效率高)。若是自学,必须得坚持对自己要求高一点,特别是自觉性,自控能力比较强的博友。若是参加培训推荐“马哥教育”。下面是51博客与官方网站: http://mageedu.blog.51cto.com/ http://www.magedu.com/ 好了,今天的博客就到这边了,大家有什么疑问欢迎交流讨论。有兴趣的博友可以加QQ群讨论:288983058。加群时说明一下是51cto博友即可。 本文转自陈明乾51CTO博客,原文链接:http://blog.51cto.com/freeloda/1315694,如需转载请自行联系原作者

优秀的个人博客,低调大师

Elasticsearch学习方法分享(真实有效)

Elasticsearch Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据。它通常用作底层引擎/技术,为具有复杂搜索功能和要求的应用程序提供支持。 作为目前最火的搜素引擎,是一定要学习研究的。 一、什么是Elasticsearch 简单说,他就是一个搜索引擎,你利用它可以完成很多很牛逼的操作! 现在很火,一定要掌握。 研究一个技术,一定要首先看官方文档。 官网地址:请认准官网地址 官方文档地址:请认准官方文档地址 ES中文社区:请认准中文社区 ES中文权威指南:请认准中文权威指南 二、Elasticsearch有什么应用场景 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据。它通常用作底层引擎/技术,为具有复杂搜索功能和要求的应用程序提供支持。 以下是Elasticsearch可用于的一些示例用例: 您运行在线网上商店,允许您的客户搜索您销售的产品。在这种情况下,您可以使用Elasticsearch存储整个产品目录和库存,并为它们提供搜索和自动填充建议。 您希望收集日志或交易数据,并且希望分析和挖掘此数据以查找趋势,统计信息,摘要或异常。在这种情况下,您可以使用Logstash(Elasticsearch / Logstash / Kibana堆栈的一部分)来收集,聚合和解析数据,然后让Logstash将此数据提供给Elasticsearch。一旦数据在Elasticsearch中,您就可以运行搜索和聚合来挖掘您感兴趣的任何信息。 您运行价格警报平台,允许精通价格的客户指定一条规则,例如“我有兴趣购买特定的电子产品,如果小工具的价格在下个月内从任何供应商降至X美元以下,我希望收到通知” 。在这种情况下,您可以刮取供应商价格,将其推入Elasticsearch并使用其反向搜索(Percolator)功能来匹配价格变动与客户查询,并最终在发现匹配后将警报推送给客户。 您有分析/业务智能需求,并希望快速调查,分析,可视化并询问有关大量数据的特定问题(想想数百万或数十亿条记录)。在这种情况下,您可以使用Elasticsearch存储数据,然后使用Kibana(Elasticsearch / Logstash / Kibana堆栈的一部分)构建自定义仪表板,以便可视化对您来说重要的数据方面。此外,您可以使用Elasticsearch聚合功能针对您的数据执行复杂的商业智能查询。 三、概念等…… 关于Elasticsearch的一些准确的概念,请移步ES概念 有空就看看源码:请认准ES源码 结余:一定要学会自己看第一手的技术文档啊。 看不懂中文的话,有谷歌翻译哟!

优秀的个人博客,低调大师

NLP领域中更有效的迁移学习方法

在深度学习领域,迁移学习(transfer learning)是应用比较广的方法之一。该方法允许我们构建模型时候不光能够借鉴一些其它科研人员的设计的模型,还可以借用类似结构的模型参数,有些类似于站在巨人的肩膀上进行深入开发。本文将讲述如何在NLP领域中更高效地应用迁移学习。 今年春天,我在ODSC East会议上发表了题为 “NLP中的有效迁移学习”的演讲。该演讲展示了预训练的单词和文档嵌入层在训练数据集较小时取得的优异结果,并为将这些技术应用于工程任务中提出了一系列实用建议。此外,感谢[Alec Radford和OpenAI团队的一些出色研究](),使得之前提出的一些建议发生了一些变化。 为了解释发生变化的原因,首先回顾一下之前在Indico会议中使用的评估方法,以评估一种新颖的机器学习

优秀的个人博客,低调大师

Python机器学习方法智能识别亚马逊验证码

概述 亚马逊网站验证码全部由英文字母组成,每个字母的形式也是多样的,通过Tesseract-OCR技术识别效率还是比较低,非常不理想。这里采用向量空间技术进行训练识别,经测试,识别率可达到95%,这个识别率通过训练库的不断增加还可继续提高。下面废话不多说,直接上干货。 技术详解 亚马逊验证码如下图: 我这里收集了大量的亚马逊网站验证码,下面将随机抽一张验证码为mnyaph作详细讲解,如下图: 总体思路 1.将原图片作二值化等特殊处理转换得到低像素图片 2.分割出每个字母的图片,并加入到训练库中 3.每个字母图片在训练库中训练 4.将每个字母图片训练后的结果依次组合起来,就是最终验证码 使用技术库 PIL :图片处理库 scipy : 科学计算库 ● 原图片处理 这里将jpg格式转换为更小容量的gif格式,方便后面处理,并将原图片中的黑色像素(0)拷贝到新

优秀的个人博客,低调大师

让初学者不迷茫的Java学习方法

有很多的Java程序员,在初期学习时,通常会对如何学习而感到迷茫。本文就为大家分析如何学好Java编程,相信能帮助那些正在处于迷茫状态的初学者。 1、培养兴趣 兴趣是能够让你坚持下去的动力,如果只是把写程序作为谋生的手段的话,你会活的很累,多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你觉得有味道吗? 可能像许多农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万甚至更多的进帐,凭空多出个"食利阶层"。你认为,这样有味道吗?有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。 如果你想学习Java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面可以学习和交流 ,也有资料可以下载。 2、要脚踏实地,快餐式的学习不可取 欲速则不达,浮躁是现代人最普遍的心态,能怪谁?也许是贫穷落后了这么多年的缘故,就像当年的大跃进一样,都想大步跨入共产主义社会。 现在的软件公司、客户、政府、学校、培训机构等等到处弥漫着浮躁之气。社会环境如是,我们不能改变,只能改变自己,闹市中的安宁,弥足珍贵。 许多初学者C++/Java没开始学,立马使用VC/JBuilder,会使用VC/JBuilder开发一个HelloWorld程序,就忙不迭的向世界宣告,"我会软件开发了",简历上也大言不惭地写上"精通VC/Java"。 结果到软件公司面试时要么被三两下打发走了,要么被驳的体无完肤,无地自容。到处碰壁之后才知道捧起《Java编程思想》仔细钻研,早知如此何必当初呀。"你现在讲究简单方便,你以后的路就长了",好象也是佛经中的劝戒。 3、多实践,快实践 任何事情,一旦考虑好了,就要马上上路,不要等到准备周全之后,再去干事情。假如事情准备考虑周全了再上路的话,别人恐怕捷足先登了。 Java软件开发是一门工程学科,注重的就是实践,"君子动口不动手"对软件开发人员来讲根本就是错误的,他们提倡"动手至上",但别害怕,他们大多温文尔雅,没有暴力倾向,虽然有时候蓬头垢面的一副"比尔盖茨"样。 有前辈高人认为,学习编程的秘诀是:编程、编程、再编程,笔者深表赞同。不仅要多实践,而且要快实践。我们在看书的时候,不要等到你完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的各种情况可以让你更快更牢固的掌握知识点。 4、加强英文学习 加强英文阅读能力对学习Java编程来说,不要求英语,但不能一点不会,最起码像JAVAAPI文档这些东西还是要能看懂的,连猜带懵都可以;旁边再开启一个"金山词霸"。看多了就会越来越熟练。 在学Java的同时学习英文,一箭双雕多好。另外好多软件需要到英文网站下载,你要能够找到它们,这些是最基本的要求,英语好对你学习有很大的帮助。 5、使用合适的工具 工欲善其事必先利其器。软件开发包含各种各样的活动,需求收集分析、建立用例模型、建立分析设计模型、编程实现、调试程序、自动化测试、持续集成等等,没有工具帮忙可以说是寸步难行。 工具可以提高开发效率,使软件的质量更高BUG更少。组合称手的武器。到飞花摘叶皆可伤人的境界就很高了,无招胜有招,手中无剑心中有剑这样的境界几乎不可企及。 从软件开发人员的生涯规划来讲,我们可以大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅的士兵不是好士兵,不想当架构设计师或项目管理师的程序员也不是好的程序员。我们应该努力往上走。 Java是现在大型软件项目中的主角,市场用人需求量大,大家都知道21世纪进入信息时代,信息科技给人类的生产和生活方式带来了深刻的变革,信息产业已成为推动国家经济发展的主导产业之一,为此,从就业前景,发展方向等多方面来看,学Java编程无疑是最佳选择。

优秀的个人博客,低调大师

我的学习方法是每天看 10 个 NPM 模块?

本文首发「前端从进阶到入院」,欢迎关注! 最近看到阿里前端技术专家狼叔在 17 年的这篇《迷茫时学习 Node.js 最好的方法》提到: 今天小弟过来找我,说迷茫,我告诉他一个密法:一天看 10 个 npm 模块,坚持一年就是 3000+,按正常工作需要,超过 200 个都很厉害了。 第一次看到的时候感觉有点鸡汤,但静下心来仔细想想却不无道理,以 Vite 来举例子,我在看它代码的时候,印象很深的一个点就是各种开源模块信手拈来,恰到好处的解决了需求,这种能力是一定需要大量的开源模块阅读量的。 Vite magic-string 比如 Vite 中大量运用 magic-string 这个库做一些字符串的魔术替换,这个库的目的就是在一些轻量级替换源代码的场景中替代 AST 这种过于庞大的解决方案。 var MagicString = require('magic-string') var s = new MagicString('problems = 99') // 替换 problems -> answer s.overwrite(0, 8, 'answer') s.toString() // 'answer = 99' // 生成 sourcemap var map = s.generateMap({ source: 'source.js', file: 'converted.js.map', includeContent: true }) Vite fast-glob 再比如用 fast-glob 去实现 Vite 中好用的 Glob Import 批量导入语法 好,现在我们知道有 fast-glob 这么好用的库了,顺带读一读文档看看它的用法,那么之后我们在自己的工作中,写诸如脚手架的工具时,就可以用这个库对外提供一些好用的批量导入 API,这就成为了我们自己知识体系中的一部分。 Vite SSG 我最近一直比较关注的小哥 Anthony Fu,最近刚参加完 2021 年的 VueConf 大会,带来了对日常开发非常实用的一场演讲。 他最近在开源方面非常活跃,很大一部分精力投入在 Vite 相关的生态建设中,他开发的 vite-ssg 插件支持把 Vite 项目构建为静态网站。 SSG,全称是 Static-Site-Generators,静态站点生成器。在构建时就把你的 Web 应用构建为 HTML 格式,对 SEO 和性能都有非常显著的帮助。 他当然不是从零完成这么庞大的工作量,@vue/server-renderer 这个包本身是为 Vue 构建 SSR 应用 而生的,他巧妙利用这个库把 Vue 组件渲染为 HTML 字符串的能力,节省了非常多的工作量。 在他的博客中也有提到: The idea here is fairly simple: bundle the app entry, then for each route, dump the app using APIs from the @vue/server-renderer package. Simplified code here: import { renderToString } from '@vue/server-renderer' const createApp = required('dist-ssr/app.js') await Promise.all( routes.map(async (route) => { const { app, router, head } = createApp(false) router.push(route) await router.isReady() const appHTML = await renderToString(app) const renderedHTML = renderHTML(indexHTML, appHTML) await fs.writeFile(`${route}.html`, renderedHTML, 'utf-8') }) ) 简化后的思路就是,在 SSR 的环境下启动应用后,对每个路由用 @vue/server-renderer 生成静态的 HTML 字符串,写入为 HTML 文件。 虽然代码看似简短,但这背后体现的是对 Vue3 生态的熟悉,更具体的说就是对 Vue3 发布的每个 npm 包所具有的能力的熟悉。 只是 npm 库吗? 当然不是,比如最近我们工作中的项目接入了微软开源的 Rush,Rush 是为 Monorepo 工程设计的一体化解决方案。 在我阅读文档的过程中,我就学习到了很多包管理方面的知识: NPM vs PNPM vs Yarn 幽灵依赖(Phantom Dependencies) NPM 分身(NPM doppelgangers) 在阅读 Vue.js 文档的时候,风格指南 部分也给我留下了很深的印象,开源作者大佬在多年代码生涯总结而成的实践指南,一定是有非常多的精华。比如: 组件名称应该以高阶的 (通常是一般化描述的) 单词开头,以描述性的修饰词结尾。 当你在现实中的维护场景下,假设你在想:“我要给搜索按钮(SearchButton)的清除(Clear)功能换个图标”。 那么你在视线扫过这个文件夹的时候,关注点自然先集中到 SearchButton 这个部分,再去寻找后缀的 Clear、Run 描述性修饰词,点进 Clear 组件进行维护。这样组件关系就非常一目了然。 这些开源作者的心血经常在文档中不起眼的部分静静等候你去发现。 工作太忙? 其实很多人第一反应可能是:“一天看 10 个,我工作都那么忙了,哪有空啊?” 关于这点,狼叔也在原文中提到了: 这里的 10 个其实只是个虚数,看个人能力和决心,量力而行即可。 但请一定要能做到每日精进。 Node.js 模块在 npm 上的统计数据表明,截止到今天 2017 年 9 月 24 日,共有 55.9 万个模块。单日下载在 1.5 亿次。这么大规模的模块,每天学几个,水平一定会增长的非常快的。 最难的不是下决心,而是坚持!这是最值得自豪的称赞,没有之一! 比如 VueConf 大会里提到了某些新的技术,比如你的同事在聊天的时候提到了一些让你感兴趣的库,你都可以去搜索看看,或许在将来工作中的某天就会不经意的帮助到你。 总结 不积硅步,无以至千里。保持好奇心、热情和耐心,不要对任何东西都不求甚解,当然也不要对某些地方太钻牛角尖。 “每天 10 个 NPM 模块” 更像是一种激励,可能中间我们会断掉两三天,甚至几周都提不起精神,但只要在心里保持这个新年,期待一年、三年、五年以后不一样的我们。 感谢大家 欢迎关注 ssh,前端潮流趋势、原创面试热点文章应有尽有。 记得关注后加我好友,我会不定期分享前端知识,行业信息。2021 陪你一起度过。

优秀的个人博客,低调大师

C#极限学习方法——挑战C#学习的最快速度

小序: 最近,应邀为朋友公司新招聘来的新员工进行C#培训,由于项目要人相当紧,可以用于培训的时间不是很多——大概只有2到3周——而且要求员工能够跟着老员工上手写Code。新员工完全是大学计算机相关专业本科毕业,经初步测试,得知水平比较平均。这样的培训对自己也是一种考验。本文的目的是与大家探讨在这样一种情况下学习C#的最快速方法。 正文: 一.培训的时间长度和课时安排 1.时间长度:3周 2.课时安排:每周二、五晚上7:00 – 9:00 二.学生情况 1.学历:大学本科毕业 2.专业:全部为计算机相关专业 3.成绩:学习成绩中等 4.英语水平:较低 5.编程能力:有C语言基础,个别会Java 6.性别:男-女 = 2-1 三.培训目标 1.经过培训后能上手跟老员工一起coding 2.淘汰率小于30% 四.培训资料 1.Visual Studio 2005 自带MSDN离线版(英文版) 2.Visual Studio 2005 自带C# Language Specification(英文版) 3.《Beginning C# Objects》中文版(自选) 五.培训方法 1.培训中贯彻的原则—— i.抛弃以往从语言本身入手的方法,一切以Class为核心 ii.“三不原则”,不为了学语言而学语言;不为了学控件而在窗体上堆控件;不为了做网页而学习ASP.NET iii.业务驱动,从一开始就分析一个即定的业务,学习数据抽象的能力。 iv.服从架构设计,了解和使用UML和Design Pattern,学会简单的分析架构,更重要的是在给出Class的要求后能够使用C#进行实现,在实现功能时能找到合适的控件;实现完后能正确把程序编译为合适的组件。让学生们养成习惯,拿到一个任务后是先抽象Class和分析架构,然后再动手写程序。 2.课时技术分配——共6次课 i.IDE的使用;C# Lang Spec的使用;MSDN的使用;Class的核心意义(各种成员的意义) ii.给出一个小任务,先分析架构,然后再用C#实现,最后编译(有类库)。任务中,类、成员数据、成员方法、属性(先不讲特性)、委托+事件、继承、多态,都要有体现。 iii.C#与多种项目的接口,如什么时候使用P/Invoke、什么时候使用GDI+、什么时候使用XML和Regex等。同节课讲解Web程序从静态HTML à客户端脚本 àCGI àWeb Server àASP.NET的进化。 iv.学习使用C#连接SQL Server。再给出一个任务,先进行架构分析。 v.使用三层结构和MVC理论,让学生先实现数据层和业务层(学习Web Service),然后再使用WinForm和WebForm来实现表示层。 vi.分析公司现有项目的从需求到实现,总结三周来学习的内容。如果时间足够,进行验收考试。 六.学生务必具备的四个能力 1. 文档内导航能力:因为C#语言部分需要快速学习,而最快的方法莫过于读grammar productions(第一节课内容),读grammar productions需要很强的、在文档中跳跃的能力,还需要有最基本的“调用展开”和“递归”思想。 2. MSDN内导航能力:从搜索或者Index开始,找到一个类,然后阅读相关类,然后返回主类——要能在MSDN中进退自如。 3. 代码导航能力:在多文件代码中能够快速定位到一个类/成员的声明/定义处,在各种程序元素和作用域中跳跃而不迷失方向并能进退自如。 4. 在网络中快速搜索需要的内容(我会介绍一些优秀的网点给学生) 大家如果有什么好的建议和讨论,也请回复在后面。本文的构成内容就不止是我一个人想出来的,还有阿虎的指导。希望本文这块砖能引出大家更多的“玉”来。 本文转自 水之真谛 51CTO博客,原文链接:http://blog.51cto.com/liutiemeng/18896,如需转载请自行联系原作者

优秀的个人博客,低调大师

CVPR 2018:阿里提出新零样本学习方法,有效解决偏置问题

大多数现有的零样本学习(Zero-Shot Learning,ZSL)方法都存在强偏问题:训练阶段看不见(目标)类的实例在测试时往往被归类为所看到的(源)类之一。因此,在广义ZSL设置中部署后,它们的性能很差。在本文,我们提出了一个简单而有效的方法,称为准完全监督学习(QFSL),来缓解此问题。我们的方法遵循直推式学习的方式,假定标记的源图像和未标记的目标图像都可用于训练。在语义嵌入空间中,被标记的源图像被映射到由源类别指定的若干个嵌入点,并且未标记的目标图像被强制映射到由目标类别指定的其他点。在AwA2,CUB和SUN数据集上进行的实验表明,我们的方法在遵循广义ZSL设置的情况下比现有技术的方法优越9.3%至24.5%,在遵循传统ZSL设置下有0.2%至16.2%的提升。 归纳式和直推式零样本学习 在大规模的训练数据集的支撑下,计算

优秀的个人博客,低调大师

web前端开发入门全套学习方法路径,兼职在家做网站也能月入上万!

前端学习路径 1.WEB前端快速入门 在本阶段,我们需要掌握 HTML 与 CSS 基础,当然,也包含 H5 和 C3 的新特性。这个部分内容非常简单,而且非常容易掌握。相信你也更愿意学习这个部分,毕竟他可以让你最直观的感受到前端的魅力。为了锻炼大家写代码,可以根据你喜欢的站点去实现效果。这一阶段是非常重要的基础阶段,所谓基础就是可能这个阶段我们的学习的内容,可以让我们开发出来绚丽网站站点,但是功能丰富却暂时做不到。 为了完成更绚丽的站点,我们需要掌握常见特效的实现,利用 css3 和 h5 的新特性实现动画,布局,雪碧图,滑动门,tab 切换等特效。并且掌握基础的站点优化内容。例如 sprite 等。虽然我们还不能完成更多交互内容,但是我们会学习到很多的知识模型和理论,而这些知识模型和理论是我们后期工作和学习的基石。扎实的基础有了,我们才能走的更稳更快。 注:本阶段不涉及到编程,主要是熟悉 HTML5 各种标签用法、CSS3 各种属性的用法。 2.JavaScript 基础与深入解析 JavaScript 语言非常重要,可以说学习前端本质就是学习“JavaScript”编程。后面学全部都是基于JavaScript 的。JavaScript 语言可以让网页元素具备动态效果,让体验度更加流畅。这在目前流行的 B/S 架构体系下,是极端重要的事情。这也是为什么前端工程师大行其道,被广泛需求根本原因。在本阶段中,我们主要学习基础 JavaScript 语法与深入解析 JavaScript,包含 DOM 操作同时也涵盖了面向对象和设计模式,课程也涵盖了兼容性处理和数据解析。希望大家在本阶段可以熟练掌握这些知识点。 3.jQuery 应用与项目开发 jQuery 是一个快速、简洁的 JavaScript 框架,jQuery 设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装 JavaScript常用的功能代码,提供一种简便的 JavaScript 设式,优化 HTML 文档操作、事件处理、动画设计和 Ajax交互。在本阶段,我们注重讲解如何更好的应用 jQuery 以及他的设计方式,同时也包含jQuery 扩展内容。 4.PHP、数据库编程与设计 后端服务器工程师需要了解前端的基本知识,同样,前端工程师也必须了解服务器端编程的基本内容。我们可以不精通,但必须知道整体的流程。作为一名前端开发工程师,会一门后端语言是必然的。在我们的课程中,为您选择的是PHP,因为 PHP 环境搭建简单,语言与 JavaScript 相似性比较大,并且容易上手,连接数据库也非常方便。希望本阶段的内容能帮助你快速掌握前后端交互数据。通过学习 PHP,前端工程师也能称为“全栈工程师”。既能做前端开发,也能做后端服务器开发。 5. Http 服务于 Ajax 编程 Ajax 真的是一个非常古老的技术了,但是到现在为止,这门技术仍然被大量使用,可以看出来,他是多么的优秀。在本阶段,我们将带你了解 Ajax,并且掌握它的应用。也包含了解 Http 相关的知识。对于站点来说,除了页面效果能看到的就是数据了。所以,数据的获取合理适配尤为重要。与 Ajax 相关的也包含跨域处理,希望大家可以掌握这些核心知识点。 6. 做一个阶段项目 本阶段为纯项目实战,可以将前面学到的知识融会贯通,不实战就相当于没有学习;主要练习网络请求、站点布局、网站优化等内容,同时我们需要对项目有一定的而了解。 所以,在老师的带领下,可以更快的了解项目如何搭建,如何更优雅的实现代码。老师会将整个项目的开发流程完整的罗列出来。本阶段也锻炼 BootStrap 的应用,也包含一些常用的第三方插件。在实战中展示具体应用。 7. H5 新特性与移动端开发 H5 新特性在现在来说已经不再是新内容了,项目中随处可见,毕竟移动端不会存在兼容性问题,而且这些新特性在移动端的体现也是非常好的。例如定位,语义化等。利用 Canvas实现更多的效果等。 8. 高级框架 随着项目的需求越来越多。传统的开发方式已经不能满足我们的需求了,所以我们需要更多的支持。在本阶段中,我们讲解模块化,将程序分解为模块化开发。我们需要 Nodejs 做支撑, 无论是作为构建工具中的服务器存在,还是为我们提供数据模拟测试,都是必不可少的。随着 ES5 发者体会在开发中的难言之隐,ES6 的到来解决了各种头痛的问题。也是我们必须要掌握的一个重点还有更多,例如多人协同开发(git 或者 svn),利用 Less 和Sass 完成更好的 CSS 的编写。接下来我们介绍一下目前前端三大框架:Angular:Angular 是一个开发平台,他能帮我们轻松的构建 Web 应用,我们将在这部分课程中讲解Angular 的声明式模板,依赖注入,端到端的工具和一些最佳实践于一身。我们通过完整项目配合实例讲解课程,以便于大家更容易去理解 Angular 的应用。 React:作为前端三大框架之一,React 拥有声明式和组件化两大特点,React 可以轻松创建交互式用户界面。为应用程序中的每个状态设计简单的视图,当数据更改时,React将高效地更新和正确的渲染组件。声明式视图使您的代码更具可预测性,更易于调试。创建好拥有各自 State(状态) 的组件,再将其组合构成更加复杂的 UI 界面。由于组件逻辑是用 JavaScript 而不是模板编写的,因此可以通过应用程序轻松传递丰富的数据,并将 State(状态) 保留在 DOM 之外。 VUE:在借鉴了 Angular 和 React 两个优秀框架的基础上,Vue 无疑是非常受欢迎的,它使用简单强大的生态系统,高效的运行速度也是我们在开发中的选择之一。Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue的核心库只关注视图层,不仅易于上手,还便于目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。在学习真个 Vue 的过程中,我们会通过两个企业级项目来讲解他的使用,以便于大家更好的掌握使用 Vue 熟练开发。 9. 微信小程序 作为微信推出的一种新的项目展示形式,微信小程序必然是非常受到人们重视的,而且, 目前为止,大部分推广为主的公司都存在了微信小程序,也催生了一个岗位,微信小程序开 发工程师。可想而知,微信小程序是非常火的。 更多文章推荐阅读 【 学习企鹅圈:731771211 】 : 2020年Web前端开发工程师市场怎么样?学会什么技术才能拿到高薪 一线城市,前端工程师最低工资2K-3K,最高20K-30K 你怎么看? 分享七年职业生涯心得,认清自己是否真的适合转行前端开发工程师 前端的工作越来越难找,到底是不是前端领域已经饱和了? 全国程序员平均工资18153:凭啥前端工程师年薪能拿到30W?

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册