- 2021-10-08 用Python写的Linux下的 转换word的docx文件为pdf文件,并使用Docker容器自动化部署
Amoor123
值得收藏的Python小技巧dockerpythonlinux
文档层级完整项目资源代码先上源代码程序的基本思路是在数据库中存储文件名和他的MD5信息,校验这两个数据,如果数据库里面没有就转换,如果有就不转换,如果文件名有但MD5不同,就要删除原有的数据条目,避免word文档回到旧版本时转换不了importsubprocess#fromwin32com.clientimportgencache#fromwin32com.clientimportconstant
- influxdb
jwolf2
other
influxdb是目前比较流行的时间序列数据库,常用于存储监控数据,日志等数据,基本语法类似sql1.基本安装,其它参数参考https://hub.docker.com/_/influxdbdockerrun-d-p8086:8086-v/home/influxdb/data:/var/lib/influxdb--nameinfluxdbinfluxdb8086为HTTPAPI数据端口,8083管
- 【含文档+PPT+源码】基于小程序的智能停车管理系统设计与开发
小咕聊编程
小程序
项目介绍本课程演示的是一款基于小程序的智能停车管理系统设计与开发,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料2.带你从零开始部署运行本套系统3.该项目附带的源码资料可作为毕设使用智能停车管理系统的重要核心功能包括管理注册用户、管理停车场公告、车辆信息管理、车位信息管理、车辆入库、车辆出库、数据统计、查找附
- VIM介绍
雨天不打滑
linuxvim编辑器unix
概念vi和vimvi编辑器是所有Unix及Linux系统下标准的编辑器,它就相当于Windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器,是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统任何版本,vi编辑器是完全相同的,所以掌握它意义重大。提到vi就不能不提vim了,相关背景:BramMoolenaar在80年代末购入他的Amiga计算机时,Amiga上没有他
- Linux Vim最全面的教程
109702008
编程#linux系统vim人工智能
GPT-4o(OpenAI)学习和掌握Vim可能需要一些时间和耐心,但一旦精通,它将成为一个非常强大的文本编辑工具。以下是一个涵盖Vim各个方面的全面教程:1.基础概念-启动和退出:-启动Vim:vimfilename-普通模式下退出:`:q`(无修改)或:q!(放弃修改)-保存并退出:`:wq`或:x-只保存:`:w`-模式:-普通模式(Normalmode)-插入模式(Insertmode):
- PHP语言的数据库编程
Linux520小飞鱼
包罗万象golang开发语言后端
PHP语言的数据库编程引言随着互联网的发展,动态网站已成为主流,而动态网站的核心就是与数据库进行交互。PHP(超文本预处理器)是一种流行的开源服务器端脚本语言,被广泛用于Web开发。它以其简单易学和功能强大而受到开发者的青睐。而在PHP的生态系统中,数据库编程占据了重要的位置。本文将系统地探讨PHP语言的数据库编程,包括数据库的基本概念、PHP与MySQL的结合、PDO的使用,以及一些常见的数据库
- 【Docker系列】容器基础、Docker镜像管理_docker 博客镜像
2401_86963185
docker容器运维
2容器基础2.1Docker镜像查找命令查找dockersearchmysqldocker官网查找https://hub.docker.com2.2Docker镜像管理拉取MySQL镜像dockerpullmysql:latest查看本地镜像dockerimages镜像加速(阿里云)sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<<-'EO
- Influxdb 架构
王小工
数据库架构
InfluxDB是一款专门处理高写入和查询负载的时序数据库,用于存储大规模的时序数据并进行实时分析,其架构特点可以归纳为以下几点:一、核心组件数据摄取组件:负责接收用户写入的数据,并将其分片到不同的摄取器中。摄取器会对数据进行验证、分区、重复数据删除等处理,然后将数据保存为Parquet文件。摄取器还会更新目录,以通知其他组件新数据的到达。数据查询组件:负责处理用户的查询请求,从目录中获取所需的元
- Linux扩容根分区
一位不愿透露昵称的网民
linux运维
Linux扩容根分区(LVM逻辑分区模式),其他分区类似操作前提:保证系统分区是逻辑卷分区(LVM),非标准模式分区查看系统分区情况fdisk-l,磁盘/dev/sdb是新增加且未使用的分区[root@vm1~]#fdisk-l磁盘/dev/sdb:21.5GB,21474836480字节,41943040个扇区Units=扇区of1*512=512bytes扇区大小(逻辑/物理):512字节/5
- linux扩容 dev sdb1,Linux-磁盘动态扩容-使用
米妮呀
linux扩容devsdb1
一、前期准备工作1、备份工作就算是动态无损的扩容,也难免会出什么意外,备份是必不可少的,一般云平台都有备份功能,可直接对磁盘做一次全量备份,也可以直接备份到其它服务器或者本地2、查看挂载点➜df-hFilesystemSizeUsedAvailCapacityiusedifree%iusedMountedon#表示当前服务器磁盘挂载点的名称是vda1容量40G/dev/mapper/ubuntu-
- Linux lsblk 命令详解
linux
简介Linux中的lsblk命令,全称叫做:listblockdevices用于列出块设备的信息,如硬盘、ssd盘及其分区。它提供了系统上所有块设备的树形结构,显示了它们的安装方式、大小和类型。lsblk命令读取sysfs文件系统和udevdb收集信息。如果udevdb不可用或在没有udev支持的情况下编译lsblk,然后它尝试读取来自块设备的标签、uuid和文件系统类型基础语法lsblk[opt
- MyBatis-Plus 学习笔记-条件构造器(不想写sql)
咕德猫宁丶
Mybatis-plus学习mybatis学习springboot
MyBatis-Plus提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的SQL语句,从而提高开发效率并减少SQL注入的风险。在MyBatis-Plus中,Wrapper类是构建查询和更新条件的核心工具。以下是主要的Wrapper类及其功能:AbstractWrapper:这是一个抽象基类,提供了所有W
- Jdbc--实现对数据库的查询,更改,删除,添加等方法
Winston-Tao
1.先新建一个数据库,代码如下:CREATETABLEuser_t(idINT(11)UNSIGNEDNOTNULLAUTO_INCREMENT,nameVARCHAR(50)NOTNULLDEFAULT'',passwordVARCHAR(50)NOTNULLDEFAULT'',emailVARCHAR(50)NOTNULLDEFAULT'',PRIMARYKEY(id))ENGINE=INNO
- Python代码用于在Abaqus中提取指定节点集的反作用力数据
Renz_314
python材料工程
这段代码用于在Abaqus中提取指定节点集的反作用力数据,并显示仿真结果。它通过打开仿真结果数据库(ODB文件),在特定视口中显示仿真结果,并从指定的节点集中提取反作用力数据,供后续分析使用。fromabaqusimport*fromabaqusConstantsimport*importvisualizationimportxyPlot#打开指定路径下的ODB文件odb=visualizatio
- 分布式微服务系统架构第87集:kafka
掘金-我是哪吒
分布式微服务系统架构kafka架构
Kafka就是为了解决上述问题而设计的一款基于发布与订阅的消息系统。它一般被称为“分布式提交日志”或者“分布式流平台”。文件系统或数据库提交日志用来提供所有事务的持久记录,通过重放这些日志可以重建系统的状态。同样地,Kafka的数据是按照一定顺序持久化保存的,可以按需读取。此外,Kafka的数据分布在整个系统里,具备数据故障保护和性能伸缩能力。消息和批次消息和批次Kafka的数据单元被称为消息。如
- linux 扩容
未来之窗软件服务
linux运维centos
tmpfstmpfs82M082M0%/run/user/1002tmpfstmpfs82M082M0%/run/user/0[输入命令]#fdisk-luDisk/dev/vda:40GiB,42949672960bytes,83886080sectorsUnits:sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512b
- python连接MYSQL数据库(连接MYSQL数据库报错解决方法)
Oblinto
数据库学习数据库mysql
一、连接前的准备(如果报错可以从以下几个方面检查一下)1.检查mysql服务查看mysql服务是否开启sudosystemctlstatusmysql若没开启,开启mysql服务sudosystemctlstartmysql2.检查mysql的3306端口查看3306端口是否打开netstat-an|grep3306若没打开,打开3306端口sudoufwallow3306/tcp3.修改配置文件
- PyCharm报 mysql连接异常退出,报错 Process finished with exit code -1073741819 (0xC0000005)
maelstorm
mysql数据库
mysql-connector-python9.1.0,PyCharm报Processfinishedwithexitcode-1073741819(0xC0000005)_mysql1073741819-CSDN博客降级mysql-connector-python9.1.0到9.0.0搞得一晚上md
- java jdbc实验_实验七Java之Jdbc
weixin_39969976
javajdbc实验
实验七Jdbc编程1.实验目的(1)掌握通过JDBC方式操作数据库的基本步骤。(2)掌握增、删、改、查记录等的方法。(3)掌握查询记录以及遍历查询结果的方法。2.实验内容实验题1学生信息管理。创建student表,包含学生的学号、姓名、年龄信息。①根据学号,可以查询到学生的姓名和年龄;②给定学生的学号、姓名、年龄,在表中追加一行信息;③给定学生的学号,可以从表中删除该学生的信息;[基本要求]对上面
- 【面试】【详解】计算机网络(TCP 三次握手,四次挥手)
患得患失949
面试考题专栏(前后端)面试计算机网络tcp/ip
一、计算机网络详解(一)计算机网络概述定义:计算机网络是通过传输介质将多台计算机连接起来,以实现数据通信和资源共享的系统。功能:(1)数据通信:实现不同设备之间的数据传输。(2)资源共享:硬件资源(如打印机)和软件资源(如数据库)共享。(3)分布式处理:多台计算机协作完成任务。(二)TCP三次握手1.定义TCP(三次握手)是建立可靠连接的重要步骤,确保双方准备好通信并初始化必要的参数。2.过程详解
- mysql-connector-c++-1.1.7 多线程connect崩溃( 0xC0000005)
卐兜兜飞卍
c++mysqlmysqlc语言多线程
问题:使用mysqlconnector(C++)连接mysql数据库,多线程同时connect的时候会直接崩溃解决办法:两种第一种:先在主线程中connect一次,之后再并发就没问题了第二种:对connect过程加锁,毕竟connect并不差加锁的那点时间…
- Python中的23种设计模式:详细分类与总结
拾工
Python设计模式软件设计设计模式
设计模式是解决特定问题的通用方法,分为创建型模式、结构型模式和行为型模式三大类。以下是对每种模式的详细介绍,包括其核心思想、应用场景和优缺点。一、创建型模式(CreationalPatterns)创建型模式关注对象的创建,旨在解耦对象的创建过程,提高灵活性和可扩展性。1.单例模式(Singleton)核心思想:确保一个类只有一个实例,并提供全局访问点。应用场景:数据库连接、配置管理器、日志记录器。
- MySQL实现Oracle merge into函数
咸鱼的倔强
MySQLmysqloracle数据库
MySQL实现Oraclemergeinto函数之前有撰文Oracle、MySQL兼容–mergeinto,其中介绍了MySQL用INSERT…ONDUPLICATEKEYUPDATE和存储过程实现mergeinto,本文介绍其它的两种方法实现mergeinto。1、replaceinto语法同insertinto,使用简单,但有限制,replaceinto是根据主键去匹配,故replaceint
- 用MySQL实现Oracle的merge into函数
追寻自己的光
oraclemysql数据库
目录第一部分使用Oracle的mergeinto函数第一步建表第二步插入数据第三步使用mergeinto函数从B表中向A表中更新数据第二部分使用MySQL实现Oracle的mergeinto函数第一步建表第二步插入数据第三步使用onduplicatekey实现Oracle的mergeinto函数最后:最近正好遇到将Oracle的mergeinto函数用MySQL的方式表示出来,但是在MySQL中是
- 一文了解AOSP是什么?
秋月霜风
其他知识标记1024程序员节androidruntime安卓
一文了解AOSP是什么?AOSP基本信息基本定义AOSP是AndroidOpenSourceProject的缩写,这是一个由Google维护的完全免费和开放的操作系统开发项目。它是Android系统的核心基础,提供了构建移动操作系统所需的基本组件。主要特点完全开源:源代码可以自由获取和修改基于Linux内核:使用修改版的Linux内核和其他开源软件主要面向触屏设备:设计优化适配触摸屏设备AOSP与
- oracle12c merge into,Oracle MERGE INTO的使用方法
俊銘
oracle12cmergeinto
非常多时候我们会出现例如以下情境,假设一条数据在表中已经存在,对其做update,假设不存在,将新的数据插入.假设不使用Oracle提供的merge语法的话,可能先要上数据库select查询一下看是否存在,然后决定怎么操作,这种话须要写很多其它的代码,同一时候性能也不好,要来回数据库两次.使用merge的话则能够一条SQL语句完毕.1)主要功能提供有条件地更新和插入数据到数据库表中假设该行存在,运
- 频繁刷新网页会对服务器造成哪些影响?
wanhengidc
服务器运维
当用户在进行浏览网页的过程中频繁刷新页面时,浏览器会向服务器发送请求,服务器会对该请求进行处理并返回到相应的页面内容中,所以频繁刷新网页会对服务器造成影响,有可能会出现以下问题:用户每次刷新网页都会向服务器发送请求,从而增加服务器的处理负担,导致服务器需要处理每一个请求,其中包括读取文件和查询数据库等内容,这些操作过程都会过度消耗服务器中的资源。由于服务器的负载增加,这样或导致正常用户的请求响应时
- Linux 如何使用dd命令来复制和转换数据?
我是唐青枫
Linuxlinux服务器运维
简介Linux中的dd命令是一个功能强大的数据复制和转换实用程序。它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务。dd全称可以为:dataduplicator、diskdestroyer和DataDefinition功能和能力磁盘映像:创建整个磁盘或分区的精确、逐位副本数据擦除:使用零或随机数据安全地覆盖驱动器文件转换:ASCII和EBCDIC之间的转换、字节顺序
- 【oracle】-函数:merge into...
知逆
oracle
0、前言我们在业务中可能碰到这种情况:如果用户在数据库中不存在,那么就进行插入;否则就进行修改。按我们平时的做法可能是在业务层先查询用户存不存在,如果存在,那么就更新。那我们下面讲一种在oracle数据库层面的条件判断–mergeinto。1、语法MERGEINTO表AUSING与表A产生关联字段值ON进行和表A的关联WHENMATCHEDTHEN--如果匹配,做更新操作updateset....
- Kotlin | Android Provider 的实现案例
Dic-
#AndroidAPPKotlin自学笔记AndroidKotlin数据库Provider
目标使用AndroidRoom实现持久化库。代码Kotlin代码编写DemoDatabase,在build生成DemoDatabase_Impl疑问Provider的数据会存在设备吗?内部存储:当使用Room创建数据库(如DemoDatabase),数据库文件通常会存储在data/data//databases/目录下。例如,如果包名是com.example.yourapp,则数据库文件将存储在d
- tomcat基础与部署发布
暗黑小菠萝
Tomcat java web
从51cto搬家了,以后会更新在这里方便自己查看。
做项目一直用tomcat,都是配置到eclipse中使用,这几天有时间整理一下使用心得,有一些自己配置遇到的细节问题。
Tomcat:一个Servlets和JSP页面的容器,以提供网站服务。
一、Tomcat安装
安装方式:①运行.exe安装包
&n
- 网站架构发展的过程
ayaoxinchao
数据库应用服务器网站架构
1.初始阶段网站架构:应用程序、数据库、文件等资源在同一个服务器上
2.应用服务和数据服务分离:应用服务器、数据库服务器、文件服务器
3.使用缓存改善网站性能:为应用服务器提供本地缓存,但受限于应用服务器的内存容量,可以使用专门的缓存服务器,提供分布式缓存服务器架构
4.使用应用服务器集群改善网站的并发处理能力:使用负载均衡调度服务器,将来自客户端浏览器的访问请求分发到应用服务器集群中的任何
- [信息与安全]数据库的备份问题
comsci
数据库
如果你们建设的信息系统是采用中心-分支的模式,那么这里有一个问题
如果你的数据来自中心数据库,那么中心数据库如果出现故障,你的分支机构的数据如何保证安全呢?
是否应该在这种信息系统结构的基础上进行改造,容许分支机构的信息系统也备份一个中心数据库的文件呢?
&n
- 使用maven tomcat plugin插件debug关联源代码
商人shang
mavendebug查看源码tomcat-plugin
*首先需要配置好'''maven-tomcat7-plugin''',参见[[Maven开发Web项目]]的'''Tomcat'''部分。
*配置好后,在[[Eclipse]]中打开'''Debug Configurations'''界面,在'''Maven Build'''项下新建当前工程的调试。在'''Main'''选项卡中点击'''Browse Workspace...'''选择需要开发的
- 大访问量高并发
oloz
大访问量高并发
大访问量高并发的网站主要压力还是在于数据库的操作上,尽量避免频繁的请求数据库。下面简
要列出几点解决方案:
01、优化你的代码和查询语句,合理使用索引
02、使用缓存技术例如memcache、ecache将不经常变化的数据放入缓存之中
03、采用服务器集群、负载均衡分担大访问量高并发压力
04、数据读写分离
05、合理选用框架,合理架构(推荐分布式架构)。
- cache 服务器
小猪猪08
cache
Cache 即高速缓存.那么cache是怎么样提高系统性能与运行速度呢?是不是在任何情况下用cache都能提高性能?是不是cache用的越多就越好呢?我在近期开发的项目中有所体会,写下来当作总结也希望能跟大家一起探讨探讨,有错误的地方希望大家批评指正。
1.Cache 是怎么样工作的?
Cache 是分配在服务器上
- mysql存储过程
香水浓
mysql
Description:插入大量测试数据
use xmpl;
drop procedure if exists mockup_test_data_sp;
create procedure mockup_test_data_sp(
in number_of_records int
)
begin
declare cnt int;
declare name varch
- CSS的class、id、css文件名的常用命名规则
agevs
JavaScriptUI框架Ajaxcss
CSS的class、id、css文件名的常用命名规则
(一)常用的CSS命名规则
头:header
内容:content/container
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体布局宽度:wrapper
左右中:left right
- 全局数据源
AILIKES
javatomcatmysqljdbcJNDI
实验目的:为了研究两个项目同时访问一个全局数据源的时候是创建了一个数据源对象,还是创建了两个数据源对象。
1:将diuid和mysql驱动包(druid-1.0.2.jar和mysql-connector-java-5.1.15.jar)copy至%TOMCAT_HOME%/lib下;2:配置数据源,将JNDI在%TOMCAT_HOME%/conf/context.xml中配置好,格式如下:&l
- MYSQL的随机查询的实现方法
baalwolf
mysql
MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,
- JAVA的getBytes()方法
bijian1013
javaeclipseunixOS
在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同OS下,返回的东西不一样!
String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如:
byte[] b_gbk = "
- AngularJS中操作Cookies
bijian1013
JavaScriptAngularJSCookies
如果你的应用足够大、足够复杂,那么你很快就会遇到这样一咱种情况:你需要在客户端存储一些状态信息,这些状态信息是跨session(会话)的。你可能还记得利用document.cookie接口直接操作纯文本cookie的痛苦经历。
幸运的是,这种方式已经一去不复返了,在所有现代浏览器中几乎
- [Maven学习笔记五]Maven聚合和继承特性
bit1129
maven
Maven聚合
在实际的项目中,一个项目通常会划分为多个模块,为了说明问题,以用户登陆这个小web应用为例。通常一个web应用分为三个模块:
1. 模型和数据持久化层user-core,
2. 业务逻辑层user-service以
3. web展现层user-web,
user-service依赖于user-core
user-web依赖于user-core和use
- 【JVM七】JVM知识点总结
bit1129
jvm
1. JVM运行模式
1.1 JVM运行时分为-server和-client两种模式,在32位机器上只有client模式的JVM。通常,64位的JVM默认都是使用server模式,因为server模式的JVM虽然启动慢点,但是,在运行过程,JVM会尽可能的进行优化
1.2 JVM分为三种字节码解释执行方式:mixed mode, interpret mode以及compiler
- linux下查看nginx、apache、mysql、php的编译参数
ronin47
在linux平台下的应用,最流行的莫过于nginx、apache、mysql、php几个。而这几个常用的应用,在手工编译完以后,在其他一些情况下(如:新增模块),往往想要查看当初都使用了那些参数进行的编译。这时候就可以利用以下方法查看。
1、nginx
[root@361way ~]# /App/nginx/sbin/nginx -V
nginx: nginx version: nginx/
- unity中运用Resources.Load的方法?
brotherlamp
unity视频unity资料unity自学unityunity教程
问:unity中运用Resources.Load的方法?
答:Resources.Load是unity本地动态加载资本所用的方法,也即是你想动态加载的时分才用到它,比方枪弹,特效,某些实时替换的图像什么的,主张此文件夹不要放太多东西,在打包的时分,它会独自把里边的一切东西都会集打包到一同,不论里边有没有你用的东西,所以大多数资本应该是自个建文件放置
1、unity实时替换的物体即是依据环境条件
- 线段树-入门
bylijinnan
java算法线段树
/**
* 线段树入门
* 问题:已知线段[2,5] [4,6] [0,7];求点2,4,7分别出现了多少次
* 以下代码建立的线段树用链表来保存,且树的叶子结点类似[i,i]
*
* 参考链接:http://hi.baidu.com/semluhiigubbqvq/item/be736a33a8864789f4e4ad18
* @author lijinna
- 全选与反选
chicony
全选
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>全选与反选</title>
- vim一些简单记录
chenchao051
vim
mac在/usr/share/vim/vimrc linux在/etc/vimrc
1、问:后退键不能删除数据,不能往后退怎么办?
答:在vimrc中加入set backspace=2
2、问:如何控制tab键的缩进?
答:在vimrc中加入set tabstop=4 (任何
- Sublime Text 快捷键
daizj
快捷键sublime
[size=large][/size]Sublime Text快捷键:Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所有打开文件Ctrl+Shift+V:粘贴并格式化Ctrl+D:选择单词,重复可增加选择下一个相同的单词Ctrl+L:选择行,重复可依次增加选择下一行Ctrl+Shift+L:
- php 引用(&)详解
dcj3sjt126com
PHP
在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 复制代码代码如下:
<?
$a="ABC";
$b =&$a;
echo
- SVN中trunk,branches,tags用法详解
dcj3sjt126com
SVN
Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是svn://proj/|+-trunk+-branches+-tags这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
- 对软件设计的思考
e200702084
设计模式数据结构算法ssh活动
软件设计的宏观与微观
软件开发是一种高智商的开发活动。一个优秀的软件设计人员不仅要从宏观上把握软件之间的开发,也要从微观上把握软件之间的开发。宏观上,可以应用面向对象设计,采用流行的SSH架构,采用web层,业务逻辑层,持久层分层架构。采用设计模式提供系统的健壮性和可维护性。微观上,对于一个类,甚至方法的调用,从计算机的角度模拟程序的运行情况。了解内存分配,参数传
- 同步、异步、阻塞、非阻塞
geeksun
非阻塞
同步、异步、阻塞、非阻塞这几个概念有时有点混淆,在此文试图解释一下。
同步:发出方法调用后,当没有返回结果,当前线程会一直在等待(阻塞)状态。
场景:打电话,营业厅窗口办业务、B/S架构的http请求-响应模式。
异步:方法调用后不立即返回结果,调用结果通过状态、通知或回调通知方法调用者或接收者。异步方法调用后,当前线程不会阻塞,会继续执行其他任务。
实现:
- Reverse SSH Tunnel 反向打洞實錄
hongtoushizi
ssh
實際的操作步驟:
# 首先,在客戶那理的機器下指令連回我們自己的 Server,並設定自己 Server 上的 12345 port 會對應到幾器上的 SSH port
ssh -NfR 12345:localhost:22
[email protected]
# 然後在 myhost 的機器上連自己的 12345 port,就可以連回在客戶那的機器
ssh localhost -p 1
- Hibernate中的缓存
Josh_Persistence
一级缓存Hiberante缓存查询缓存二级缓存
Hibernate中的缓存
一、Hiberante中常见的三大缓存:一级缓存,二级缓存和查询缓存。
Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存是由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存
- 对象关系行为模式之延迟加载
home198979
PHP架构延迟加载
形象化设计模式实战 HELLO!架构
一、概念
Lazy Load:一个对象,它虽然不包含所需要的所有数据,但是知道怎么获取这些数据。
延迟加载貌似很简单,就是在数据需要时再从数据库获取,减少数据库的消耗。但这其中还是有不少技巧的。
二、实现延迟加载
实现Lazy Load主要有四种方法:延迟初始化、虚
- xml 验证
pengfeicao521
xmlxml解析
有些字符,xml不能识别,用jdom或者dom4j解析的时候就报错
public static void testPattern() {
// 含有非法字符的串
String str = "Jamey친ÑԂ
- div设置半透明效果
spjich
css半透明
为div设置如下样式:
div{filter:alpha(Opacity=80);-moz-opacity:0.5;opacity: 0.5;}
说明:
1、filter:对win IE设置半透明滤镜效果,filter:alpha(Opacity=80)代表该对象80%半透明,火狐浏览器不认2、-moz-opaci
- 你真的了解单例模式么?
w574240966
java单例设计模式jvm
单例模式,很多初学者认为单例模式很简单,并且认为自己已经掌握了这种设计模式。但事实上,你真的了解单例模式了么。
一,单例模式的5中写法。(回字的四种写法,哈哈。)
1,懒汉式
(1)线程不安全的懒汉式
public cla