- Kotlin简记
李小白杂货铺
计算机技术杂谈kotlin开发语言android编程语言语法
文章目录Kotlin概述概述主要特点使用场景官网安装和使用基本语法Helloworld包定义和导入程序切入点打印到标准输出从标准输入读取注释变量字符串模板基本类型类型检查和自动转换集合List和MutableListSet和MutableSetMap和MutableMap控制流ifwhen范围操作符forwhile函数函数Lambda表达式类单例类数据类内联值类null安全惯用法和最佳实践高级语法
- 测试day01理论
skk_ks
软件测试基础一.什么是软件测试顾名思义,就是在顾名思义,就是在规定的条件下对一个产品或程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程二.发展现状目前国内软件产业规模越来越大,国内软件行业突破了传统的作坊式生产,从单打独斗的开发模式升级为工业化、流水线式的生产模式,导致专业的软件测试人才需求缺口巨大。据悉,目前国内软件测试和开发人员比例大约在1:4—1:5,而国外
- Golang Kratos 系列:业务分层的若干思考(二)
TransPlus
golang开发语言后端
上一篇文章简单讨论了领域层在Kratos中的使用,主要涉及引入领域层,将数据层和业务层之间的解耦,接下来讨论一个稍微全面一点的例子,在此基础上引入外部Api(主要是易变部分)的领域层下的情况。我们同样可以通过依赖倒置和适配器模式实现统一治理:一、升级后的领域层架构internal/├──domain(biz)#核心领域层│├──user.go#用户聚合根│├──payment.go#支付领域服务接
- 【Go语言成长之路】 模糊测试
风华同学
Go语言成长之路golang开发语言后端单元测试
文章目录模糊测试一、前提二、创建项目三、添加待测试代码四、添加单元测试五、添加模糊测试模糊测试本教程介绍了Go中模糊测试的基础知识。通过模糊测试,随机数据会针对您的测试运行,以尝试找到漏洞或导致崩溃的输入。可以通过模糊测试发现的漏洞示例包括SQL注入、缓冲区溢出、拒绝服务和跨站点脚本攻击。注:Go语言中模糊测试已经内置,具体可以参考:GoFuzzingdocs,将来还会添加更多功能。一、前提Go1
- Day32 Web自动化进阶
lookout99
软件测试python自动化测试工具
系列文章目录Day01软件测试基础总结Day02测试用例知识点总结(上)Day03测试用例知识点总结(下)Day04禅道-从安装到卸载Day05MySql的基础使用Day06MySql知识点总结Day07MySql知识点再总结与多表查询Day08redis的基础知识Day08VMware的安装、Linux系统安装和Linux基础命令Day09Linux常用命令总结Day10Linux环境部署和项目
- Day33 PO模型
lookout99
软件测试python自动化测试工具
系列文章目录Day01软件测试基础总结Day02测试用例知识点总结(上)Day03测试用例知识点总结(下)Day04禅道-从安装到卸载Day05MySql的基础使用Day06MySql知识点总结Day07MySql知识点再总结与多表查询Day08redis的基础知识Day08VMware的安装、Linux系统安装和Linux基础命令Day09Linux常用命令总结Day10Linux环境部署和项目
- Nginx安装指南
houzhihui
WebServiceLinux学习nginx
Nginx安装指南1.版本选择2.RHEL/CentOS基于官方yum源安装3.Ubuntu基于官方apt安装4.编译安装4.1集成三方模块编译安装nginx4.2nginxopenssl模块升级4.3隐藏Nginx版本号5.官方参考文献1.版本选择Nginx的安装版本分为Mainlineversion(主要开发版本,其实就是还处于开发版)、Stableversion(当前最新稳定版)和Legac
- 探索Octillery:Go语言中的数据库分片利器
余纳娓
探索Octillery:Go语言中的数据库分片利器octilleryGopackageforshardingdatabases(SupportseveryORMorrawSQL)项目地址:https://gitcode.com/gh_mirrors/oc/octillery在现代应用开发中,随着数据量的增长,数据库分片成为了提升性能和扩展性的关键技术。今天,我们将深入介绍一个强大的Go语言库——O
- 什么是IOC(控制反转)?—— 用生活实例解读Spring核心概念
坷否
生活spring网络
什么是IOC(控制反转)?——用生活实例解读Spring核心概念在Spring框架中,IOC(InversionofControl,控制反转)是最核心、最基础的概念。然而,对于初学者来说,这个概念往往显得有些抽象和难以理解。今天,我们将通过一系列生活中的例子,来深入浅出地解释什么是IOC,以及为什么它如此重要。IOC是什么?IOC,即"控制反转",是一种设计思想,也是Spring框架的核心原则。简
- 主线程,协程和互斥锁
aliven1
gogolang
packagemain//路径上加上包的唯一标识demo14,线程和协程,是go的核心import("fmt""time""sync")//需求:计算1-200之间所有数的阶乘,并且把各个数的阶乘放入map中。最后显示出来。使用协程完成。var(map1=make(map[int]int,10)//声明一个全局maplocksync.Mutex//互斥锁)funcmain(){fori:=1;i<
- js代码开发
当然可以!为你说明在VSCode中进行JavaScript开发的环境配置,这是一个非常普遍且高效的组合。别担心,配置过程非常直接。JS开发环境的核心主要包括两大部分:运行时(Runtime):即能够执行JavaScript代码的环境。开发工具(Tooling):即让编码过程更高效、更不容易出错的工具,这部分主要通过VSCode扩展来实现。下面我为你分解成清晰的步骤,跟着做就行。第一步:安装Node
- 《凤凰架构》C7-分布式服务
Epi_HHH
阅读笔记java
目录一、服务发现二、网关路由三、负载均衡一、服务发现服务发现就是动态定位服务实例地址,解决分布式环境下服务实例IP和端口可能变化的问题1)基础概念远程服务调用精确坐标:全限定名+端口号+服务标识,如:order-service.default.svc.cluster.local:50051/com.example.order.OrderService/getOrderById服务标识:与具体的应用
- 《凤凰架构》C12-容器间网络
Epi_HHH
阅读笔记网络容器
一、Linux网络虚拟化1)干预网络通信——以NetFliter与iptable为例钩子是iptables在内核网络协议栈处理数据包时的“插入点”,也就是规则生效的具体时刻和位置。数据包经过网络栈,会在不同阶段被iptables规则检查。INPUT:处理进入本机的数据包OUTPUT:处理由本机发出的数据包FORWARD:处理经过本机转发的数据包PREROUTING:数据包进入路由决策前(常用来做D
- Go语言的单元测试与基准测试详解
旧游无处不堪寻
golang单元测试测试工具测试用例jenkins集成测试功能测试
单元测试以一个加法函数为例,对其进行单元测试。首先编写add.go文件://add.gopackagemainfuncadd(a,bint)int{returna+b}其次编写add_test.go文件,在go语言中,测试文件均已_test结尾,这里只需要在被测试的文件后加上_test即可。并且测试文件与要被测试的文件需要放在同一个包中,并不像Java那样需要将所有的测试文件放在一个专门的测试文件
- Go语言中map[string]interface{} 和 map[string]string的区别
Code季风
学习golang后端
在Go语言中,map[string]interface{}和map[string]string是两种不同类型的map,它们的主要区别在于值的类型以及这种差异带来的使用场景和灵活性的不同。1.值的类型map[string]interface{}:这里的interface{}表示Go中的空接口类型,它可以持有任何类型的值。这意味着你可以在同一个map中存储不同类型的数据。例如,一个键可以关联到一个字符
- HTML前端的自动化构建工具使用
前端视界
前端艺匠馆前端html自动化ai
HTML前端的自动化构建工具使用:从手工作坊到智能工厂的蜕变关键词:前端构建工具、自动化流程、Gulp、Webpack、前端工程化摘要:本文将带你从前端开发的“手工作坊时代”出发,一步步理解为什么需要自动化构建工具,揭秘核心概念和工作原理,并通过实战案例教你用Gulp和Webpack搭建高效的前端工作流。无论你是刚入门的前端新手,还是想优化现有项目的开发者,都能在这里找到从“手动劳动”到“智能生产
- 通过本地LLM搭建本地RAG
TBM矩阵
#AI体系学习人工智能
整体思路通过ollama下载并搭建本地大预言模型LLM。通过ollama搭建embedding模型。通过langchain文件加载器加载本地内容文件(PDF文件)。通过langchain调用embedding模型进行向量存储和RAG检索。通过langchainprompts实现提示词工程。通过langchain调用LLM模型实现RAG生成,完成对本地文件的分析。准备环境服务器:CentOSLinu
- 用Pytorch训练手写签名模型并进行签名识别
TBM矩阵
#AI体系学习pytorch人工智能python
整体思路收集至少两个人的手写签名图片,每个人至少20张使用Pytorch进行模型训练使用Flask搭建Web服务使用Html/JavaScript实现前端调用进行签名识别项目结构signature-systemdatatrainuser001001.png...user002001.png...templatesindex.htmlapp.pymodel.pytrain.py建模:model.py
- mysql锁机制
weixin_45990219
教程mysql数据库
深入解析MySQL锁机制:从原理到实战场景前言在数据库高并发场景中,锁机制是保障数据一致性和事务隔离性的核心。然而,MySQL中锁的类型繁多,概念抽象,容易让人望而生畏。本文将通过通俗的语言和实际场景,带你彻底理解MySQL中的各种锁机制及其应用。一、锁的由来与分类1.1为什么需要锁?多个事务并发执行时,可能出现脏写、脏读、不可重复读、幻读等问题。例如:场景:A事务修改了某条数据但未提交,B事务读
- dsdrthg
oygh
python
"这段时间去上厕所本来想小便的可是每次都会拉大便""这可能是因为你的饮食习惯或者消化系统的问题导致的。建议你试着调整一下饮食,增加膳食纤维的摄入量,多喝水,避免过度依赖泻药。同时,如果问题持续存在,建议去医院检查一下,排除肠道疾病等可能性。""医生呀!我刚被查出得了白癜风,不知道初期治疗需要多少钱?""白癜风的治疗费用因个体差异和治疗方案的不同而有所差异。初期治疗主要以口服药物和外用药物为主,费用
- Java 多线程并发编程面试笔录一览
weixin_34318272
面试pythonjava
2019独角兽企业重金招聘Python工程师标准>>>知识体系图:1、线程是什么?线程是进程中独立运行的子任务。2、创建线程的方式方式一:将类声明为Thread的子类。该子类应重写Thread类的run方法方式二:声明实现Runnable接口的类。该类然后实现run方法推荐方式二,因为接口方式比继承方式更灵活,也减少程序间的耦合。3、获取当前线程信息?Thread.currentThread()4
- Java打造同城道路救援利器:车辆救援,全程无忧保障
省钱兄科技
java开发语言
Java打造同城道路救援利器:车辆救援,全程无忧保障在城市化进程加速、车辆保有量激增的背景下,传统道路救援模式因响应慢、资源分散、信息孤岛等问题,已难以满足用户对“秒级响应”的期待。基于Java技术栈构建的同城道路救援系统,通过精准定位、智能调度、全流程数字化管理三大核心能力,重新定义了救援行业的技术标准,成为车辆救援领域的标杆解决方案。一、精准定位:误差<3米,救援“零偏差”1.多源数据融合定位
- AlpineLinux安装部署MariaDB
山岚的运维笔记
Linux运维及使用mariadb数据库
简单来说,MariaDB被视为MySQL的一个社区驱动的分支,它保留了MySQL的许多特性和功能,同时引入了一些新的特性和改进。许多用户和组织选择使用MariaDB,因为它提供了更多的自由度和对未来许可证变更的保护。而对于一些需要特定Oracle支持或特定MySQL功能的用例,依然使用MySQL是首选。这里不对两者间的差异做任何介绍,仅介绍如何在AlpineLinux下安装MariaDB。在Alp
- `docker-compose` 安装 Neo4j 的详细步骤
MonkeyKing.sun
dockerneo4j容器
docker-compose安装Neo4j的详细步骤,适用于本地开发或测试环境(适配Neo4j5.x或4.x版本):一、准备环境1.安装Docker和DockerCompose如果尚未安装,请根据系统安装:Linux/macOS推荐安装DockerDesktop(已集成DockerCompose)Windows安装DockerDesktop验证安装:docker-vdocker-compose-v
- Ubuntu下安装Moodle平台
swy520
ubuntuMoodleubuntuMoodle
一前言Moodle是一个开源课程管理系统(CMS),也被称为学习管理系统(LMS)或虚拟学习环境(VLE),它通常用来播放符合SCORM标准的课件,但功能远不止课程管理,作业模块等功能。这里主要介绍moodle的安装方法。二安装准备Moodle通常在Linux操作系统上,基于Apache,PostgreSQL/MySQL/MariaDB和PHP进行开发。为了平台的稳定性,我们选择Linux操作系统
- FlatBuffers(概念、原理及优势、在TS中的使用)
前端杂货铺
TodoList100个小知识FlatBuffersJSON序列化反序列化
个人简介个人主页:前端杂货铺♂️学习方向:主攻前端方向,正逐渐往全干发展个人状态:研发工程师,现效力于中国工业软件事业人生格言:积跬步至千里,积小流成江海推荐学习:前端面试宝典100个小功能Vue2Vue3Vue2/3项目实战Node.js实战Three.js个人推广:每篇文章最下方都有加入方式,旨在交流学习&资源分享,快加入进来吧文章目录介绍在Vue中使用FlatBuffersFlatBuff
- 计算机导论期末快速复习指南
Pu_Nine_9
杂记计算机导论
操作系统核心概念进程与线程进程是程序在内存中的一次执行过程,具有动态性和并发性一个进程可以有多个线程,但至少要有一个线程资源分配给进程,同一进程的所有线程共享该进程的所有资源处理机分配给线程,真正在处理机上运行的是线程进程状态转换:被唤醒→就绪状态;时间片用完→执行状态变为就绪状态进程同步与死锁互斥:系统存在临界资源循环等待:多个进程形成等待链不可剥夺:已分配资源在宿主释放前不能被剥夺操作系统类型
- 语法糖:编程中的甜蜜简化 (附 Vue 3 & Javascript 实战示例)
Pu_Nine_9
前端学习javascriptvue.js前端语法糖
什么是语法糖?语法糖(SyntacticSugar)是编程语言中一种特殊的语法结构,它不引入新的功能,而是提供一种更简洁、更易读的方式来表达已有功能。就像给咖啡加糖一样,它让代码"更甜"——更易于理解和编写。语法糖的四大核心价值可读性提升:让代码更接近自然语言表达开发效率:减少样板代码,专注业务逻辑错误预防:通过标准化模式减少人为失误维护便捷:简洁的代码结构更易于后期维护经典语法糖示例深度解析示例
- (较详细)Kafka 安装配置
耐思nice~
数据分析kafka分布式
一,kafka介绍Kafka是一个分布式的消息队列系统,用于高效处理和传递大规模数据流。本文将指导您如何在您的系统上安装和配置Kafka。二,步骤概述1,下载Kafka前往,kafka官网下载Kafka(ApacheKafka)。2,安装Java确保您的系统上已安装Java。Kafka是用Java开发的,因此需要Java环境来运行。3,解压Kafka将下载的Kafka压缩文件解压到您选择的目录中。
- Visual Studio高版本到低版本的转换
RevsInterstellar
QT笔记visualstudioandroidide
由于VS版本比较多,低版本无法直接打开高版本的工程文件,通过对工程文件进行一些修改可以解决这些问题。通过修改Solution文件和Project文件,可以使低版本转换为高版本。修改解决方案文件使用记事本打开.lsn文件:FormatVersion(解决方案文件版本)和VS版本的对应关系:VisualStudio2005-FormatVersion9.00VisualStudio2008-Forma
- 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