- Nginx面试宝典【刷题系列】
Microi风闲
【面试宝典】ASP.NETCorenginx面试
文章目录1、nginx是如何实现高并发的?2、Nginx如何处理HTTP请求?3、使用“反向代理服务器”的优点是什么?4、列举Nginx服务器的最佳用途。5、Nginx服务器上的Master和Worker进程分别是什么?6、什么是C10K问题?7、请陈述stub_status和sub_filter指令的作用是什么?8、为什么不使用多线程?9、为什么要做动、静分离?10、ngx_http_upstr
- 2025年前端开发者必学的技术
倔强青铜3
JavaScript成神之路前端vuereactjavascript
2025年前端开发者必学的技术原文链接:ImportantTopicsforFrontendDeveloperstoMasterin2025作者:moibra译者:倔强青铜三前言大家好,我是倔强青铜三。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!1.现代JavaScript(
- SPI通信中MISO和MOSI的区别
✧˖‹gσσ∂ иιghт›✧
stm32
在SPI(SerialPeripheralInterface)通信协议中,MOSI和MISO是两个非常重要的信号线,它们分别代表“主设备数据输入(MasterOutSlaveIn)”和“主设备数据输出(MasterInSlaveOut)”。以下是它们的主要区别和作用:MOSI(MasterOutSlaveIn):方向:MOSI是从主设备(Master)到从设备(Slave)的数据传输线。作用:主设
- ThinkJSON:通过强化学习让大型语言模型(LLM)严格遵守JSON模式
AI仙人掌
人工智能深度学习
标题:ThinkInsidetheJSON:ReinforcementStrategyforStrictLLMSchemaAdherence作者:BhavikAgarwal,IshanJoshi,ViktoriaRojkova机构:MasterControlAIResearch链接:arXiv:2502.14905v1本文提出了一种轻量级强化学习框架,通过合成数据、多奖励函数和GRPO优化,显著提
- Java连接TIDB数据库出现通讯失败的原因分析
奕辰杰
javatidb数据库
在实际项目使用中,java项目连接的是TIDB数据库,TIDB是使用了3个服务节点,生产环境时不时的出现如下错误:Thelastpacketsentsuccessfullytotheserverwas3600000millisecondsago.Thedriverhasnotreceivedanypacketsfromtheserver.com.mysql.jdbc.exceptions.jdbc
- github tops
妄想出头的工业炼药师
程序人生
https://github.com/search?q=stars%3A%3E1&type=repositories&s=stars&o=deschttps://github.com/EvanLi/Github-Ranking/blob/master/Top100/Top-100-stars.mdStarHistoryBestof2024
- 基于Mybatis-Plus和dynamic-datasource-spring-boot-starter-多租户多商户多数据源动态切换
更容易记住我
数据库javamybatis
基础知识1、引入dynamic-datasource-spring-boot-starter。com.baomidoudynamic-datasource-spring-boot-starter${version}2、配置默认数据源spring:datasource:dynamic:primary:master#设置默认的数据源或者数据源组,默认值即为masterstrict:false#设置严格
- PostgreSQL 源码解读(153)- 后台进程#5(walsender#1)
cuichao1900
数据库
本节简单介绍了PostgreSQL的后台进程walsender,该进程实质上是streamingreplication环境中master节点上普通的backend进程,在standby节点启动时,standby节点向master发送连接请求,master节点的postmaster进程接收到请求后,启动该进程与standby节点的walreceiver进程建立通讯连接,用于传输WALRecord.w
- Spark提交任务
docsz
sparkspark大数据
1、Spark提交任务到Yarn1.1、DwKuduAppspark-submit--classcom.io.etl.dwkudu.DwKuduApp\--files/etl/etl-dwkudu/conf/doris.property,/etl/etl-dwkudu/conf/redis.property,/etl/etl-dwkudu/conf/log4j.property\--mastery
- ElasticSearch-head 谷歌浏览器安装插件
夜古诚
ELKelasticsearch
1.windows解压安装包elasticsearch-head-master.zip2.移动解压后的文件夹到你需要的目录3.crx目录下的文件es-head.crx改为es-head.zip然后解压到当前目录4.谷歌浏览器中添加插件5.选择解压的elasticsearch-headcrx文件夹成功...
- 如何从0开始写一个操作系统
c后端
本贴用来记录作者用c语言写一个操作系统,主要参考《操作系统真相还原》一书写的,同时也会对书里的代码和linux进行对比,尽量看一下现代操作系统中是如何实现的。原书的代码https://github.com/yifengyou/os-elephant/tree/master我会挑一些说说传统的操作系统课一般从内存,虚拟化等等方面讲起,因为是自己实现操作系统,肯定不能一上来就写开始写内存管理这种大活,
- Spark Standalone集群架构
htfenght
sparkspark
北风网spark学习笔记SparkStandalone集群架构SparkStandalone集群集群管理器,clustermanager:Master进程,工作节点:Worker进程搭建了一套Hadoop集群(HDFS+YARN)HDFS:NameNode、DataNode、SecondaryNameNodeYARN:ResourceManager、NodeManagerSpark集群(Spark
- MySQL 主从集群同步延迟问题分析与解决方案
豪宇刘
mysqlsql
MySQL主从复制(Replication)是构建高可用架构的核心技术,但在实际应用中,主从同步延迟(ReplicationLag)是常见且棘手的问题。延迟会导致从库数据不一致、读请求返回旧数据,甚至引发业务逻辑错误。本文将深入分析延迟原因并提供系统性解决方案,助你彻底优化主从同步性能。一、主从同步延迟的本质主从同步延迟是指从库(Slave)的数据落后于主库(Master)的时间差,通常由以下环节
- 【Mastering Vim 2_07】第六章:正则表达式和 Vim 宏在代码重构中的实战应用
安冬的码畜日常
MasteringVim(2ndEd.)vim正则表达式重构宏vimmacromacros代码重构
【最新版《MasteringVim》封面,涵盖Vim9.0版特性】文章目录第六章正则表达式和Vim宏在代码重构中的应用1substitute替换命令2关于substitute的精确匹配3参数列表arglist在跨文件操作中的应用4Vim正则表达式基础5关于magic模式5.1magic模式5.2nomagic模式5.3verymagic模式5.4verynomagic6批量重命名变量名、方法名或类
- Redis 的主从复制是如何工作的
吃en橙
gitgithub
一、主从同步的基本原理主节点(Master):负责处理写请求和一部分读请求,保存数据的最新状态。从节点(Slave):复制主节点的数据,处理只读请求,分担主节点的读取压力。同步过程包括:初次同步:当从节点第一次连接到主节点时,会发送一个SYNC命令。主节点接收到SYNC命令后,会执行BGSAVE命令生成一个快照(RDB文件),并将快照发送给从节点。同时,主节点会将从生成快照以来的写操作记录到积压缓
- 解决 kubeasz 安装k8s集群跨节点pod 无法使用cluster ip通讯问题
CHEN_RUI_2200
k8s运维kubernetesdocker容器
问题描述使用kubeasz搭建k8s集群后使用的配置文件#'etcd'clustershouldhaveoddmember(s)(1,3,5,...)[etcd]192.168.xx.22#masternode(s)[kube_master]192.168.xx.22#worknode(s)[kube_node]192.168.xx.9192.168.xx.22#[optional]harbors
- 从入门到放弃之生产环境基于Kubernetes V1.21.10搭建高可用集群
收破烂的小白
dockerlinuxkubernetes
1.资源规划名称系统配置IP组件k8s-master01CentOS7.94核8G500G存储172.16.97.27kube-apiserverkube-controller-managerkube-scheduleretcdk8s-master02CentOS7.94核8G500G存储172.16.97.28kube-apiserverkube-controller-managerkube-s
- your HTTP request connection start duration too long
hshpy
http网络协议网络
IfyourHTTPrequestconnectionstartdurationistakingmorethan7seconds,herearesomepossiblecausesandtroubleshootingsteps:PossibleCauses:NetworkLatency–Slowinternetornetworkcongestion.DNSResolutionDelay–SlowD
- 一文讲解Redis中的主从复制
Journey_CR
Redisredis数据库缓存
主从复制是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点master,后者称为从节点slave。且数据的复制是单向的,只能由主节点到从节点。三分恶面渣逆袭:Redis主从复制简图在Redis主从架构中,主节点负责处理所有的写操作,并将这些操作异步复制到从节点。从节点主要用于读取操作,以分担主节点的压力和提高读性能。主从复制主要的作用是什么?①、数据冗余:主从复制实现了
- MySQL主从同步延迟的原因、排查和解决方案
pbxs
mysql数据库
主从同步延迟的现象:对主库做增删改操作后,查询主库生效了,但查询从库没及时生效,而是过一会儿才生效。目录1、原因分析2、主从延时排查方法3、解决方案3.1半同步复制3.2一主多从,读写分离3.3业务侧加缓存3.4根据业务分库3.5提升从库机器配置3.6避免大事务3.7优化网络带宽3.8选择高版本MySQL3.9硬件方面3.10优化服务器文件系统1、原因分析常见原因:Master负载过高、Slave
- Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)
coding996
Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)https://segmentfault.com/a/1190000020849841Redis的集群方案大致有三种:1)rediscluster集群方案;2)master/slave主从方案;3)哨兵模式来进行主从替换以及故障恢复。一、sentinel哨兵模式介绍Sentinel(哨兵)是用于监控redis集
- ansible 命令集合
橙子❦
ansible
替换selinux文件ansiblemaster-mlineinfile-a'path=/etc/sysconfig/selinuxregexp="^SELINUX="line=SELINUX=disabled'
- AI实干家:GROK 3——香港10家主要银行信用卡对比
SZ0771
人工智能创业创新
后面会具体实践两个系列,AI实干家——AI办工、创业的实践探索;AI空想家——AI开放式创作。以下是根据你更新的数据重新整理的香港10家银行(中银、汇丰、永隆、恒生、东亚、渣打、星展、工银、建银、交银)的信用卡信息对比表,并对每家银行的信用卡基本参数进行点评和推荐,列举适合的客户类型。(仅展示Visa/Mastercard常规卡种数据,忽略银联卡和SMART卡)招商永隆信用卡推荐理由永隆信用卡在消
- Redis系列之-Redis-Sentinel哨兵
just_do_it_98
redis高级数据库数据库redis
一主从复制高可用主从复制存在的问题:主从复制,主节点发生故障,需要做故障转移,可以手动转移:让其中一个slave变成master主从复制,只能主写数据,所以写能力和存储能力有限二架构说明可以做故障判断,故障转移,通知客户端(其实是一个进程,sentinel也是一个服务端),客户端直接连接sentinel的地址多个sentinel发现并确认master有问题选出一个sentinel作为领导选取一个s
- 清除无用的二进制日志(Binlog)
枯河垂钓
MySQL日志文件服务器linux数据库
一、Binlog的清除方法1、自动清除binlog_expire_logs_secondsexpire_logs_days已经在MySQL8.0中被标记为废弃(deprecated),并计划在未来版本中被移除SETGLOBALexpire_logs_days=0;--弃用expire_logs_days参数SETGLOBALbinlog_expire_logs_seconds=259200;--保
- MySQL的Binlog解析
枯河垂钓
MySQL日志文件mysql服务器
查看当前主服务器(Master)的二进制日志(BinaryLog)状态SHOWMASTERSTATUS基于位点解析mysqlbinlog--start-position=4--stop-position=1248mysql-bin.000001>/data/01.sql基于时间解析mysqlbinlog--start-datetime="2025-02-2321:00:00"/data/mysql
- linux下mysql主从配置详细教程
科技梦想家
linuxmysql运维
主库配置:确保server-id唯一,设置binlog-do-db和binlog-ignore-db适当。考虑开启gtid_mode。创建账号:创建具有复制权限的用户,并确保更新权限。从库配置:设置server-id和log-bin,并确保从库的replicate-do-db正确。同步命令:使用CHANGEMASTERTO命令,确保IP、用户和日志位置正确。检查状态:用SHOWSLAVESTATU
- Bright Master 多屏幕亮度调节工具
Ylsh3702
githubsqlwindows
BrightMaster亲爱的朋友们,今天要为大家介绍的也是一款多屏幕亮度调节工具。与前面提到的MonitorBrightnessAdjuster相比,这款工具有一个非常贴心的设计——它可以在系统任务栏实时显示当前屏幕的亮度状态。这样一来,您无需打开软件界面,就能随时掌握屏幕亮度的变化。不过,它的默认图标颜色是白色,可能会不太显眼。比如阿枫,就将图标颜色改成了红色,这样看起来就更加醒目了。您看,这
- HDFS分布式文件系统的架构及特点
互联网上的猪
Hadoophdfs架构hadoop
一、HDFS架构HDFS采用的是主从(Master/Slave)架构,即一个HDFS通常是由一个Master和多个Slave组成。Master为NameNode主要用于管理HDFSSlave为DataNode主要用于存储文件SecondaryNode用于辅助NameNodeHDFS架构1.1BlockBlock是HDFS文件系统中最小的存储单位,通常称为数据块。在HDFS文件系统中存储的文件会被拆
- ExcelJS 前端导出excel,echart图表
DO_IT_JACK
前端总结前端vue总结前端excel
说明文档说明https://github.com/exceljs/exceljshttps://github.com/exceljs/exceljs/blob/master/README_zh.md#%E5%AF%BC%E5%85%A5中文说明文档安装最新版的4.4貌似有问题,用不了用4.3的如果安装后不行,可能是安装的不对,还是装了4.4的
[email protected]<
- java短路运算符和逻辑运算符的区别
3213213333332132
java基础
/*
* 逻辑运算符——不论是什么条件都要执行左右两边代码
* 短路运算符——我认为在底层就是利用物理电路的“并联”和“串联”实现的
* 原理很简单,并联电路代表短路或(||),串联电路代表短路与(&&)。
*
* 并联电路两个开关只要有一个开关闭合,电路就会通。
* 类似于短路或(||),只要有其中一个为true(开关闭合)是
- Java异常那些不得不说的事
白糖_
javaexception
一、在finally块中做数据回收操作
比如数据库连接都是很宝贵的,所以最好在finally中关闭连接。
JDBCAgent jdbc = new JDBCAgent();
try{
jdbc.excute("select * from ctp_log");
}catch(SQLException e){
...
}finally{
jdbc.close();
- utf-8与utf-8(无BOM)的区别
dcj3sjt126com
PHP
BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符"ZERO WIDTH NO-BREAK SPACE"。这样如
- JAVA Annotation之定义篇
周凡杨
java注解annotation入门注释
Annotation: 译为注释或注解
An annotation, in the Java computer programming language, is a form of syntactic metadata that can be added to Java source code. Classes, methods, variables, pa
- tomcat的多域名、虚拟主机配置
g21121
tomcat
众所周知apache可以配置多域名和虚拟主机,而且配置起来比较简单,但是项目用到的是tomcat,配来配去总是不成功。查了些资料才总算可以,下面就跟大家分享下经验。
很多朋友搜索的内容基本是告诉我们这么配置:
在Engine标签下增面积Host标签,如下:
<Host name="www.site1.com" appBase="webapps"
- Linux SSH 错误解析(Capistrano 的cap 访问错误 Permission )
510888780
linuxcapistrano
1.ssh -v
[email protected] 出现
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
错误
运行状况如下:
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuratio
- log4j的用法
Harry642
javalog4j
一、前言: log4j 是一个开放源码项目,是广泛使用的以Java编写的日志记录包。由于log4j出色的表现, 当时在log4j完成时,log4j开发组织曾建议sun在jdk1.4中用log4j取代jdk1.4 的日志工具类,但当时jdk1.4已接近完成,所以sun拒绝使用log4j,当在java开发中
- mysql、sqlserver、oracle分页,java分页统一接口实现
aijuans
oraclejave
定义:pageStart 起始页,pageEnd 终止页,pageSize页面容量
oracle分页:
select * from ( select mytable.*,rownum num from (实际传的SQL) where rownum<=pageEnd) where num>=pageStart
sqlServer分页:
 
- Hessian 简单例子
antlove
javaWebservicehessian
hello.hessian.MyCar.java
package hessian.pojo;
import java.io.Serializable;
public class MyCar implements Serializable {
private static final long serialVersionUID = 473690540190845543
- 数据库对象的同义词和序列
百合不是茶
sql序列同义词ORACLE权限
回顾简单的数据库权限等命令;
解锁用户和锁定用户
alter user scott account lock/unlock;
//system下查看系统中的用户
select * dba_users;
//创建用户名和密码
create user wj identified by wj;
identified by
//授予连接权和建表权
grant connect to
- 使用Powermock和mockito测试静态方法
bijian1013
持续集成单元测试mockitoPowermock
实例:
package com.bijian.study;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import org.junit.Before;
import org.junit.Test;
import or
- 精通Oracle10编程SQL(6)访问ORACLE
bijian1013
oracle数据库plsql
/*
*访问ORACLE
*/
--检索单行数据
--使用标量变量接收数据
DECLARE
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
select ename,sal into v_ename,v_sal
from emp where empno=&no;
dbms_output.pu
- 【Nginx四】Nginx作为HTTP负载均衡服务器
bit1129
nginx
Nginx的另一个常用的功能是作为负载均衡服务器。一个典型的web应用系统,通过负载均衡服务器,可以使得应用有多台后端服务器来响应客户端的请求。一个应用配置多台后端服务器,可以带来很多好处:
负载均衡的好处
增加可用资源
增加吞吐量
加快响应速度,降低延时
出错的重试验机制
Nginx主要支持三种均衡算法:
round-robin
l
- jquery-validation备忘
白糖_
jquerycssF#Firebug
留点学习jquery validation总结的代码:
function checkForm(){
validator = $("#commentForm").validate({// #formId为需要进行验证的表单ID
errorElement :"span",// 使用"div"标签标记错误, 默认:&
- solr限制admin界面访问(端口限制和http授权限制)
ronin47
限定Ip访问
solr的管理界面可以帮助我们做很多事情,但是把solr程序放到公网之后就要限制对admin的访问了。
可以通过tomcat的http基本授权来做限制,也可以通过iptables防火墙来限制。
我们先看如何通过tomcat配置http授权限制。
第一步: 在tomcat的conf/tomcat-users.xml文件中添加管理用户,比如:
<userusername="ad
- 多线程-用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
bylijinnan
java多线程
public class IncDecThread {
private int j=10;
/*
* 题目:用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
* 两个问题:
* 1、线程同步--synchronized
* 2、线程之间如何共享同一个j变量--内部类
*/
public static
- 买房历程
cfyme
2015-06-21: 万科未来城,看房子
2015-06-26: 办理贷款手续,贷款73万,贷款利率5.65=5.3675
2015-06-27: 房子首付,签完合同
2015-06-28,央行宣布降息 0.25,就2天的时间差啊,没赶上。
首付,老婆找他的小姐妹接了5万,另外几个朋友借了1-
- [军事与科技]制造大型太空战舰的前奏
comsci
制造
天气热了........空调和电扇要准备好..........
最近,世界形势日趋复杂化,战争的阴影开始覆盖全世界..........
所以,我们不得不关
- dateformat
dai_lm
DateFormat
"Symbol Meaning Presentation Ex."
"------ ------- ------------ ----"
"G era designator (Text) AD"
"y year
- Hadoop如何实现关联计算
datamachine
mapreducehadoop关联计算
选择Hadoop,低成本和高扩展性是主要原因,但但它的开发效率实在无法让人满意。
以关联计算为例。
假设:HDFS上有2个文件,分别是客户信息和订单信息,customerID是它们之间的关联字段。如何进行关联计算,以便将客户名称添加到订单列表中?
&nbs
- 用户模型中修改用户信息时,密码是如何处理的
dcj3sjt126com
yii
当我添加或修改用户记录的时候对于处理确认密码我遇到了一些麻烦,所有我想分享一下我是怎么处理的。
场景是使用的基本的那些(系统自带),你需要有一个数据表(user)并且表中有一个密码字段(password),它使用 sha1、md5或其他加密方式加密用户密码。
面是它的工作流程: 当创建用户的时候密码需要加密并且保存,但当修改用户记录时如果使用同样的场景我们最终就会把用户加密过的密码再次加密,这
- 中文 iOS/Mac 开发博客列表
dcj3sjt126com
Blog
本博客列表会不断更新维护,如果有推荐的博客,请到此处提交博客信息。
本博客列表涉及的文章内容支持 定制化Google搜索,特别感谢 JeOam 提供并帮助更新。
本博客列表也提供同步更新的OPML文件(下载OPML文件),可供导入到例如feedly等第三方定阅工具中,特别感谢 lcepy 提供自动转换脚本。这里有导入教程。
- js去除空格,去除左右两端的空格
蕃薯耀
去除左右两端的空格js去掉所有空格js去除空格
js去除空格,去除左右两端的空格
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g
- SpringMVC4零配置--web.xml
hanqunfeng
springmvc4
servlet3.0+规范后,允许servlet,filter,listener不必声明在web.xml中,而是以硬编码的方式存在,实现容器的零配置。
ServletContainerInitializer:启动容器时负责加载相关配置
package javax.servlet;
import java.util.Set;
public interface ServletContainer
- 《开源框架那些事儿21》:巧借力与借巧力
j2eetop
框架UI
同样做前端UI,为什么有人花了一点力气,就可以做好?而有的人费尽全力,仍然错误百出?我们可以先看看几个故事。
故事1:巧借力,乌鸦也可以吃核桃
有一个盛产核桃的村子,每年秋末冬初,成群的乌鸦总会来到这里,到果园里捡拾那些被果农们遗落的核桃。
核桃仁虽然美味,但是外壳那么坚硬,乌鸦怎么才能吃到呢?原来乌鸦先把核桃叼起,然后飞到高高的树枝上,再将核桃摔下去,核桃落到坚硬的地面上,被撞破了,于是,
- JQuery EasyUI 验证扩展
可怜的猫
jqueryeasyui验证
最近项目中用到了前端框架-- EasyUI,在做校验的时候会涉及到很多需要自定义的内容,现把常用的验证方式总结出来,留待后用。
以下内容只需要在公用js中添加即可。
使用类似于如下:
<input class="easyui-textbox" name="mobile" id="mobile&
- 架构师之httpurlconnection----------读取和发送(流读取效率通用类)
nannan408
1.前言.
如题.
2.代码.
/*
* Copyright (c) 2015, S.F. Express Inc. All rights reserved.
*/
package com.test.test.test.send;
import java.io.IOException;
import java.io.InputStream
- Jquery性能优化
r361251
JavaScriptjquery
一、注意定义jQuery变量的时候添加var关键字
这个不仅仅是jQuery,所有javascript开发过程中,都需要注意,请一定不要定义成如下:
$loading = $('#loading'); //这个是全局定义,不知道哪里位置倒霉引用了相同的变量名,就会郁闷至死的
二、请使用一个var来定义变量
如果你使用多个变量的话,请如下方式定义:
. 代码如下:
var page
- 在eclipse项目中使用maven管理依赖
tjj006
eclipsemaven
概览:
如何导入maven项目至eclipse中
建立自有Maven Java类库服务器
建立符合maven代码库标准的自定义类库
Maven在管理Java类库方面有巨大的优势,像白衣所说就是非常“环保”。
我们平时用IDE开发都是把所需要的类库一股脑的全丢到项目目录下,然后全部添加到ide的构建路径中,如果用了SVN/CVS,这样会很容易就 把
- 中国天气网省市级联页面
x125858805
级联
1、页面及级联js
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&l