大学使用JavaAPI的5个技巧
JavaAPl5个技巧娱乐一下
1,不要自己去实现安全框架
几平每个人都知道避免去实现加密等算法。同样道理你的应用的安全栈的其余部分也是一样,可能需要花费很大,得到的风险也很大。你很可能会犯一些错误。自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=8443serversslkey-store=classpath:keystorejksserversslkey-store-password=secretserversslkey-password=another-secret
3使用Spring Boot创建Web Service
Spring Boot是Spring平台的一个简化,能让编写Spring应用变得很简单,例如能用很少的代码,编写《app应用中考虑的12个因素》一文中提到的观点。如果你还在使用建War包的方式编码,那么Spring Boot值得你去学习。使用Spring Boot可以复杂的、不同类型的应用,例如可以使用简单的注解(@EnableResourceServer;就搭建一个OAuth资源服务器,或者通过简单的属性改变其端口:
serverport = 8090
如果不喜欢使用SpringBoot,那么可以使用Dropwizard去搭建JAX-RS技术栈。
4监视应用和性能指标
如果无任何数据的情况下是很难发现程序的错误的。Spring Boot通过使用Actuator,能让收集指标数据变得容易,只需要在应用中增加一个依赖,如下:
<dependency><groupld>orgspringframeworkboot</groupld><artifactld>spring-boot-tarter-actuator</artifactld></dependency>
然后就可以通过浏览器中,在访问应用地址后输入/health 或者/metrics去检查应用的健康情况或者指标。Dropwizard框架通过/healthcheck和/metrics实现同样的功能。
5保护敏感信息
人们都认为API密钥是不安全的,这是事实。密钥通过电子邮件发送或源代码管理系统控制。也许这是它们看起来比密码更不安全的原因,但它们也一样敏感。如果需要将API密钥存储在文件中,请确保授予文件有限的访问权限。例如,我们建议在私人目录中存放Okta的YAML文件并且赋予文件所有者只读权限。
$ chmod u=r,go-rwx ~/okta/oktayaml
如果你正为使用你的APP的用户创建API,记得提醒他们,如果无设置好权限的话,SSH的忽文件是放在你的~/ssh目录下,如果无设置好权限的话。GitHub 把它们放在“危险区域”,以提醒用户,这是十分有用的。
10个最佳的Python 编译器和解释器
最好的Python编译器和解释器
1Bry thon
Javascript代码。它提供对所有Web浏览器(包括一种手机
它还支持最新的Html 5/CSS 3规范, 可以使用流行的CSS框
Bry thon是一种流行的Python编译器, 可将Python转换为
Web浏览器) 的支持。
架, 如BootStrap 3和LESS。
网址:https://brythoninfo
2Py js28
Py js是一个丰富的In tem net应用程序框架, 也是一种轻量级
的Python编译器, 可以从Web浏览器直接执行Python脚
本,可以从浏览器的JS控制台执行程序。
它是从Python到Javascript的编译器, 可以使代码在Web
浏览器上运行。它带有Ajax框架和Widget Set API。
网站:http://pyjsorg
3Win Python
它是为Windows操作系统设计的。它有一些CPython的特性
。它预装了一些针对数据科学和机器学习的流行库,例如
Numpy、Pandas和Scipy。
它带有C/C++编译器,大多数时候不会用到。除此之外,它只
有Python编译器, 没有其它包。
网址:https://winpythongithubio
4Sku lpt
Sku lpt是Python的浏览器版实现, 可以被添加到HTML代码
中。
此Python编译器使用Javascript编写, 在客户端运行代码,
无需其它插件、加工或服务器支持。
Sku lpt解释器通过导入方式, 来执行保存在网站上的py文件
中的代码。
网站:https://skulptorg
5Shed Skin
该编译器将Python标准库模块编译为C++, 它将静态类型的
Python程序转换为很受限的优化的C++代码。
通过将其内置的Python数据类型再次实现为自己的类集(可
以用C++高效实现),可以提高性能。
网站:https://enwikipediaorg/wiki/Shed_Skin
6ActivePython
这是用于Windows、Linux和MacOs的Python发行版, 有
免费的社区版。
它支持在许多平台安装, 某些不被Python-like的AIX支持的
平台, 它也支持。它提供了比Python更多的兼容性。
网站:
https://wwwactivestatecom/products/activepython
7Trans crypt
它是一种流行的将Python代码编译为简单易读的Java代码
的编译器。它是一个轻量级的Python编译器, 支持对矩阵和
向量运算进行切片。
Trans crypt也可以在Nodejs上运行。分层模块、多重继承和
本地类给其添加了很多功能。
网站:
https://wwwactvestatecom/products/activepython
8Nut ika
这是一种源码到源码的Python编译器, 可以将Python源代
码转换为C/C++可执行代码。它会使用到许多Python库和扩
展模块。
它自带Anaconda, 可用于创建数据科学和机器学习项目。
网站:
https://wwwactivestatecom/products/actvepython
9Jython
它用Java编写, 可以在运行JVM的任何平台上执行。
Jython将Python代码编译为Java字节码, 从而做到跨平台
它可用于创建Serve lets、Swing、SWT和AWT软件包的解决
方案。Jython使用CPython之类的全局解释器锁(GIL)
另外, 你可以将Java类扩展到Python代码。
网址:https://wwwythonorg
10CPython
CPython是默认的且使用最广泛的Python编译器。它是用C
语言编写的, 并使用GIL(全局解释器锁) , 这使得并发
CPython进程之间的通信很困难。
CPython中的编译步骤包括:解码、令牌化、解析、抽象语法
树和编译。
网站:https://compilerspydataorg
java中使用jdbc连接sql server数据库步骤:
1JDBC连接SQL Server的驱动安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证)
<1> 将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbcjar文件,得到其路径开始配置环境变量
在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_12\enu\sqljdbcjar
<2> 设置SQLEXPRESS服务器:
a打开SQL Server Configuration Manager -> SQLEXPRESS的协议 -> TCP/IP
b右键单击启动TCP/IP
c双击进入属性,把IP地址中的IP all中的TCP端口设置为1433
d重新启动SQL Server 2005服务中的SQLEXPRESS服务器
e关闭SQL Server Configuration Manager
<3> 打开 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample
<4> 打开Eclipse
a新建工程-> Java -> Java project,起名为Test
b选择eclipse->窗口->首选项->Java->installed JRE 编辑已经安装好的jdk,查找目录添加sqljdbcjar
c右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path, 添加扩展jar文件,即把sqljdbcjar添加到其中
<5> 编写Java代码来测试JDBC连接SQL Server数据库
import javasql;
public class Test {
public static void main(String[] srg) {
//加载JDBC驱动
String driverName = "commicrosoftsqlserverjdbcSQLServerDriver";
//连接服务器和数据库sample
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
String userName = "sa"; //默认用户名
String userPwd = "123456"; //密码
Connection dbConn;
try {
ClassforName(driverName);
dbConn = DriverManagergetConnection(dbURL, userName, userPwd);
Systemoutprintln("Connection Successful!"); //如果连接成功 控制台输出
} catch (Exception e) {
eprintStackTrace();
}
}
}
执行以后就可以连接到sample数据库了。
通过上面方法就连接上了,连接上以后就可以进行相关操作了
0条评论