Wesley13 Wesley13
4年前
java中的23种设计模式
java中一共23种设计模式!按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。创建型模式用来处理对象的创建过程;结构型模式用来处理类或者对象的组合;行为型模式用来对类或对象怎样交互和怎样分配职责进行描述。创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:工厂方法模
Souleigh ✨ Souleigh ✨
5年前
Swift 简介
Swift和ObjectiveC的主要区别1,编程范式Swift可以面向协议编程、函数式编程、面向对象编程。Swift语言引入了协议、协议的扩展、泛型等新特性,因此使用Swift语言可以很好地面向协议编程;Swift语言将函数和闭包提升为语言的一等公民,函数可以作为一个变量、可以作为其他函数的参数、作为其他函数的返回值等来传递,所以
可莉 可莉
4年前
13个Python web框架比较
Python程序员有很多很好的选择来创建Web应用程序和API;Django,Weppy,Bottle和Flask引领潮流。如果正在开发一个Web应用程序并且已经选择使用Python作为构建它的语言,那么这是一个明智的选择。Python的开发成熟度,强大的库以及广泛的实际应用使其成为Web开发的必需。现在是困难的部分:从众多可用的Pythonweb
Stella981 Stella981
4年前
Spring boot在Docker中以JPA方式连接Mysql
背景最近在了解Docker的使用,发现docker在集群部署方面和运维方面有比较大的优势,通过统一的依赖关系,以镜像的方式,将已经打好包的镜像文件,部署到各个节点。如果不用考虑集群的同学,就不用折腾这个,如果想要让应用,有较强的快速部署的能力可以考虑考虑。目标在本机创建两个docker容器,分别为mysql的容器和springbo
Stella981 Stella981
4年前
PouchContainer 容器技术演进助力阿里云原生升级
我们从2016年开始在集团推广全面的镜像化容器化,今年是集团全面镜像化容器化后的第4个双11,PouchContainer容器技术已经成为集团所有在线应用运行的运行时底座和运维载体,每年双11都有超过百万的PouchContainer容器同时在线,提供电商和所有相关的在线应用平稳运行的载体,保障大促购物体验的顺滑。我们通过Pouch
Stella981 Stella981
4年前
Android 服务器推送技术
在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对比较麻烦,最近利用几天的时间对Android的推送通知服务进行初步的研究。在Android手机平台上,Google提供了C2DM(CloudtoDevi
Stella981 Stella981
4年前
Linux基础命令
gpasswd   gpasswd指令用来管理组文件“/etc/group”和“/etc/gshadow”,每个组可以设置管理员、组员、密码。系统管理员可以使用A选项定义组管理员,使用M选项定义成员。他们拥有组管理员和成员的所有权利。由具有组名的组管理员调用的gpasswd只提示输入组的新密码。如果设置了密码,则成员仍然可以在没有密码的
Stella981 Stella981
4年前
Keras实践笔记11——使用简易深度神经网络识别EnglishFnt数据集
有了前面的积累,我们可以开始用一些实际的例子结合着Keras提供的Example进行学习了,后续的例子会使用EnglishFnt这个印刷体数据集进行训练和识别,这个数据集里面存放了从09的数字和AZ的英文字符。!(https://oscimg.oschina.net/oscnet/f09a086c7c7e9d7cb370e394d5d3dfdec
Wesley13 Wesley13
4年前
Java并发编程原理与实战十八:读写锁
ReadWriteLock也是一个接口,提供了readLock和writeLock两种锁的操作机制,一个资源可以被多个线程同时读,或者被一个线程写,但是不能同时存在读和写线程。基本规则:读读不互斥读写互斥写写互斥问题:既然读读不互斥,为何还要加读锁答:如果只是读,是不需要加锁的,加锁本身就有性能上的损耗如果读可以不是最新数据
Stella981 Stella981
4年前
Gradle 自定义插件
!思维导图(https://oscimg.oschina.net/oscnet/4fa78e79a8c56f6d2fd708c029b68262e15.png)使用版本5.6.2插件被用来封装构建逻辑和一些通用配置。将可重复使用的构建逻辑和默认约定封装到插件里,以便于其他项目使用。你可以使用你喜欢的语言开发插件,但是最终是要编译成字节码