学生程序员学习掌握哪些知识和技能
程序员知识和技能7个抓紧学习
1、掌握网络、服务器和PC机的一般概念和技能。
不至干出了问题一筹莫展,这也是对IT人员的基本要求。
2、数据库知识必不可少
Oracle、Ms Sql Server、MySql这三个数据库必须要掌握,就是安装、日常维护、备份、存储过程、触发器、函数、SQL语言等,还有分布式、主题数据库的搭建、数据仓储与知识挖掘等。为了安全和性能,企业一般都有群集。
3、企事业单位做应用开发一般是按项目来的,程序员要懂一些项目管理的知识。
风水轮流转而且快,从事IT的基本上都有项目管理的机会,那就需要掌握一些项目管理的相关知识和技巧。UML很有用,程序员之间的相互沟通用得多,给用户看那是迷乱他们的眼睛。基本上,程序员参加了软件开发的全过程,需求分析不能马虎对待,也是一门技术活,规范文档必须写好写得漂亮,测试和总结也不能敷衍,学会沟通的一般技巧,因为有可能与领导交谈,也得学习关于一些企业信息化建设的相关内容,俗称信息化理论,尽量做到深入浅出,做一个好的汇报幻灯片不容易,得花费不少的心思。
4当前流行的设计与架构、开发模式以及一些新概念如云计算要掌握。
对于做开发的来讲是必须的。
5、现在基于移动智能设备的应用多了,3D
这是趋势,必须跟上,还有三维上的开发和应用,这个应该是未来的重点。
手机APP的开发和应用能力不能忽视。
6、掌握具体开发工具,精通一门了解其地
每个人都有喜好,但是也要熟练掌握,必须要至少熟练掌握一门,精通者很少,没有几年功夫谈精通不现实。
现在的开发都是基于网络的,以B/S居多,那么对干HTML、JavaScript、CSS、JQuery、JSon(P)、XML这几样是基本功。
C/S下的开发是做基本功,主要工具看开发项目而定,VC[C++]是通吃的,其次是C#和Java,还有其他的很多,就目前的难度来讲都差不多,不是那么经过简单思考和设计就可以进行的。
7、至于到具体的项目,也会有一些特殊的要求。
比如PhotoShop(处理),Premiere(多媒体影象制作)等,这是一般的情况,这不好列举,太多了,比如做地理信息方面的,你得熟悉目前流行的-些处理软件(为了调用),如AutoCad、ArcGis或者GeiMedia(视项目使用情况而定)等等,到三维的又有一些如Skyline系列软件、TerraExplorer[三维浏览器]、3DMAX等。
使用JavaAPI的5个技巧
不要自己去实现安全框架
几平每个人都知道避免去实现加密等算法。同样道理,你的应用的安全栈的其余部分也是一样,可能需要花费很大,得到的风险也很大。你很可能会犯一些错误。自1999年以来,已经有89373个CVE(公共漏洞和暴露)发布了。而其中公开的大部分的发现者都是那些非常聪明的人。
你可能认为处理一个简单的用例(例如验证用户的密码)是很简单的事情一你所做的一切只是比较一对字符串。这样想就错了。你需要验证密码的哈希值,审核尝试登录的次数,减少针对字典的攻击,这只是冰山一角。你最好的选择是使用现有的成熟的库或框架,例如Apache的Shiro或者SpringSecurity,让这些框架去处理各类复杂的安全问题。
2Use TLS,Always!永远使用TLS!
能让你的应用需要TLS(HTTPS/SSL)只需要简单的一行代码,所有人都应该这样做!如果使用Apache Shiro框架,只需要设置属性:[urls]/=ssl如果使用Spring Security,只需要在设置HttpSecurity时,简单调用一个方法即可。httprequiresChannel()anyRequest()requiresSecure(),在Spring Boot中,仅需设置一些属性,如下:serverport=8443 serversslkey-store=classpath:keystorejks serversslkey-store-password=secret serversslkey-password=another-secret。
3使用Spring Booti创建Web Service
Spring Boot:是Spring平台的一个简化,能让编写Spring应用变得很简单,例如能用很少的代码,编写《app应用中考虑的12个因素》一文中提到的观点。如果你还在使用建War包的方式编码,那么Spring Boot值得你去学习。使用Spring Booti可以复杂的、不同类型的应用,例如可以使用简单的注解。
(@EnableResourceServer))就搭建一个OAuth资源服务器,或者通过简单的属性改变其端口:serverport 8090如果不喜欢使用SpringBoot,那么可以使用Dropwizard去搭建JAX-RS技术栈。
4,监视应用和性能指标
如果无任何数据的情况下是很难发现程序的错误的。Spring Booti通过使用Actuator,能让收集指标数据变得容易,只需要在应用中增加一个依赖,如下:<dependency<groupld>orgspringframeworkboot</groupld>。
<artifactld>spring-boot-starter-actuator</artifactld>。
</dependency>。
然后就可以通过浏览器中,在访问应用地址后输入/health或者/metrics去检查应用的健康情况或者指标。Dropwizard框架通过healthcheck和/metrics实现同样的功能。
5保护敏感信息
人们都认为API密钥是不安全的,这是事实。密钥通过电子邮件发送或源代码管理系统控制。也许这是它们看起来比密码更不安全的原因,但它们也一样敏感。如果需要将AP川密钥存储在文件中,请确保授予文件有限的访问权限。
例如,我们建议在私人目录中存放Okta的YAML文件并且赋予文件所有者只读权限。chmod u=r,go-rwx ~/okta/oktayaml如果你正为使用你的APP的用户创建API,记得提醒他们,如果无设置好权限的话,SSH的忽文件是放在你的~/ssh目录下,如果无设置好权限的话。GitHub把它们放在“危险区域”,以提醒用户,这是十分有用的。
试了一下,确实如楼主所说
研究一下
以下代码通过测试,不知道你收到没有,我给自己发收到了,因为163邮件需要安全认证,如果是outlook配置时,要把安全认证的选项选上,在代码中就是
propsput("mailsmtpauth", "true");
然后是163许可的用户
将代码中的user,pass换成你在163注册的用户就可以了
package orginfomail;
import javautilDate;
import javautilProperties;
import javaxmailSession;
import javaxmailTransport;
import javaxmailinternetInternetAddress;
import javaxmailinternetMimeMessage;
public class SendMail {
/
@param args
/
public static void main(String[] args) {
try {
execute();
} catch (Exception e) {
Systemoutprintln(egetMessage());
}
}
public static void execute() throws Exception {
Properties props = SystemgetProperties();
propsput("mailsmtphost", "smtp163com");
propsput("mailsmtpauth", "true");
Session session = SessiongetDefaultInstance(props, null);
MimeMessage msg = new MimeMessage(session);
InternetAddress toList[] = InternetAddressparse("liufangmeng@163com",
false);
msgaddRecipients(MimeMessageRecipientTypeTO, toList);
InternetAddress fromAddress = new InternetAddress("dingjunfen@163com");
msgsetFrom(fromAddress);
msgsetSentDate(new Date());
msgsetSubject("mail", "ISO-2022-JP");
String txt = "hello test mail OK";
msgsetText(txt, "ISO-2022-JP");
Transport transport = sessiongetTransport("smtp");
transportconnect("smtp163com", "user", "pass");
transportsendMessage(msg, toList);
}
}
0条评论